:root{--wine:#801b39;--dark:#192234;--sidebar:#172133;--muted:#7f8899;--line:#e5e9f0;--gray:#f5f7fa;--sans:'Pretendard','Noto Sans KR','Apple SD Gothic Neo','Malgun Gothic',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;color:#273244;background:#f4f6f9;font:calc(14px + 2pt)/1.6 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}input,textarea,select{outline:none}input:focus,textarea:focus,select:focus{border-color:#9e3f5b!important;box-shadow:0 0 0 3px #801b3910}.login-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-side{position:relative;background:linear-gradient(155deg,rgba(36,18,35,.88),rgba(102,9,37,.78)),url('../images/main-zebrafish.png') 50%/cover;display:flex;flex-direction:column;justify-content:space-between;padding:48px 10%;color:#fff}.login-side>a{font-size:calc(13px + 2pt);align-self:start;color:#e5ced4}.login-side>div>span{font-size:calc(12px + 2pt);font-weight:750;letter-spacing:2.1px;color:#eab9c7}.login-side h1{font-size:calc(clamp(47px,5vw,80px) + 2pt);font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.17;letter-spacing:-2px;margin:24px 0}.login-side h1 em{color:#ffcada}.login-side p{font-size:calc(16px + 2pt);line-height:2;color:#e4c7d0}.login-side small{font-size:calc(11px + 2pt);letter-spacing:2px;color:#ddb0bd}.login-panel{display:grid;place-items:center;padding:60px 30px}.login-card{width:min(425px,100%)}.login-mark{font:700 29px Georgia,serif;color:var(--wine);margin-bottom:46px}.login-mark span{font:800 12px var(--sans);letter-spacing:2px;color:#9da3ad;margin-left:9px}.login-card h2{font-size:calc(33px + 2pt);letter-spacing:-1.1px;margin:0 0 9px}.login-card>p{color:#8c95a1;margin-bottom:35px}.login-form{display:flex;flex-direction:column;gap:11px}.login-form>label:not(.checkbox-line){font-weight:800;margin-top:12px}.login-form>input{border:1px solid #d9dfe6;border-radius:4px;padding:15px;font-size:calc(15px + 2pt);background:white}.checkbox-line{display:flex;align-items:center;gap:9px;color:#5c6979;font-size:calc(13px + 2pt);cursor:pointer}.checkbox-line input{width:17px;height:17px;accent-color:var(--wine);margin:0}.login-form>.checkbox-line{margin:13px 0 8px}.primary-button{border:0;background:var(--wine);color:white;padding:16px 21px;display:inline-flex;align-items:center;justify-content:space-between;gap:22px;font-size:calc(14px + 2pt);font-weight:800;border-radius:4px}.primary-button:hover{background:#61142c}.primary-button.compact{padding:12px 19px;white-space:nowrap}.password-tip{border-top:1px solid #e4e9ef;margin-top:35px;padding-top:20px;color:#929baa!important;font-size:calc(12px + 2pt);line-height:1.8}.alert{border:1px solid #e4e9ee;background:white;padding:14px 17px;margin-bottom:23px;border-radius:4px}.alert.error{border-color:#f2b4ba;background:#fff4f5;color:#a01930}.alert.success{border-color:#add6b7;background:#f1faf3;color:#216c43}.admin-layout{min-height:100vh;display:grid;grid-template-columns:264px 1fr}.admin-sidebar{background:var(--sidebar);color:#bfc9d5;min-height:100vh;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}.admin-brand{display:flex;gap:13px;align-items:center;padding:28px 25px 30px;color:white;font-size:calc(23px + 2pt);font-weight:850}.admin-brand>span{display:grid;place-items:center;width:40px;height:40px;background:var(--wine);font-family:Georgia,serif;font-size:calc(20px + 2pt);border-radius:5px}.admin-brand div small{display:block;font-size:calc(8px + 2pt);letter-spacing:1.2px;color:#8ea0b3;font-weight:700;margin-top:-2px}.admin-menu{padding:0 13px;flex:1}.menu-caption{padding:25px 15px 10px;color:#72849a;font-size:calc(10px + 2pt);letter-spacing:1.6px;font-weight:800}.admin-menu a{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:5px;font-size:calc(13px + 2pt);font-weight:600}.admin-menu a:hover{background:#2b3445;color:white}.admin-menu a.current{background:var(--wine);color:white}.sidebar-logout{padding:15px 24px 25px;border-top:1px solid #354052}.sidebar-logout button{color:#d4dbe3;background:none;border:0;font-size:calc(13px + 2pt);padding:8px 0}.admin-main{min-width:0}.admin-topbar{height:76px;background:white;border-bottom:1px solid #e7eaf0;padding:0 37px;display:flex;align-items:center;justify-content:space-between;gap:15px;color:#465265;font-size:calc(13px + 2pt);font-weight:700}.admin-topbar>div{display:flex;align-items:center;gap:28px}.admin-topbar>div>a{font-size:calc(12px + 2pt);color:#5b6572}.admin-status{font-weight:600;font-size:calc(12px + 2pt);color:#7b8793}.admin-status i{display:inline-block;height:7px;width:7px;border-radius:50%;background:#2bbb8b;margin-right:7px}.sidebar-toggle{display:none;border:0;background:none;font-size:calc(22px + 2pt)}.admin-content{max-width:1470px;margin:0 auto;padding:38px 38px 90px}.content-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.tiny-label{font-size:calc(10px + 2pt);letter-spacing:2px;color:var(--wine);font-weight:850}.content-heading h1{font-size:calc(30px + 2pt);letter-spacing:-1.4px;margin:5px 0 5px}.content-heading p{margin:0;color:#8d98a6;font-size:calc(13px + 2pt)}.secondary-button{padding:11px 16px;border:1px solid #d9dfe6;background:white;color:#425063;font-size:calc(12px + 2pt);font-weight:750;border-radius:4px;white-space:nowrap}.secondary-button:hover{border-color:var(--wine);color:var(--wine)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:17px}.stat-card{background:#fff;border:1px solid #e7ebef;border-radius:6px;padding:23px 23px 19px;min-height:155px;display:flex;flex-direction:column}.stat-card>span{font-size:calc(13px + 2pt);color:#748092;font-weight:650}.stat-card strong{font-size:calc(36px + 2pt);letter-spacing:-1px;margin:9px 0 0;line-height:1.2}.stat-card small{color:#a1aab5;font-size:calc(10px + 2pt);font-weight:700;letter-spacing:.4px;margin-top:auto}.admin-panel{background:#fff;border:1px solid #e7ebf0;border-radius:6px;margin-bottom:18px;min-width:0;padding:26px 26px}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.panel-title h2{font-size:calc(17px + 2pt);letter-spacing:-.6px;margin:0}.panel-title>span,.panel-title>a{font-size:calc(12px + 2pt);color:#96a1ad}.panel-title>a{color:var(--wine);font-weight:750}.dashboard-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:17px}.chart-bars{height:256px;display:flex;align-items:end;gap:8px;padding:18px 0 4px;border-bottom:1px solid #e8ebef}.chart-item{flex:1;min-width:0;display:flex;align-items:center;flex-direction:column;height:100%;justify-content:end}.chart-item strong{color:#8c98a6;font-size:calc(10px + 2pt);font-weight:700;margin-bottom:6px}.bar-track{width:min(33px,80%);height:86%;display:flex;align-items:end;justify-content:center}.bar-fill{width:100%;background:linear-gradient(0deg,#79213e,#b56d82);min-height:3px;border-radius:3px 3px 0 0}.chart-item>span{font-size:calc(9px + 2pt);color:#8895a5;margin-top:10px;white-space:nowrap}.chart-caption{margin-top:24px;font-size:calc(11px + 2pt);color:#a2aab5}.page-rank>div{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #e7ebf0;font-size:calc(13px + 2pt)}.page-rank strong{color:var(--wine)}.page-rank .empty-state{padding:60px 0}.category-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0 24px}.category-stats a{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #edf0f3;padding:18px 0;font-size:calc(13px + 2pt)}.category-stats a:hover span{color:var(--wine)}.category-stats strong{font-size:calc(18px + 2pt)}.category-stats small{font-size:calc(11px + 2pt);color:#9ca6b1}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table th{font-size:calc(12px + 2pt);font-weight:800;background:#f6f7f9;color:#707d8c;padding:15px;text-align:left}.admin-table td{font-size:calc(13px + 2pt);padding:17px 15px;border-bottom:1px solid #edf0f2;color:#6b7684}.admin-table td.main-cell{font-size:calc(14px + 2pt);font-weight:700;color:#2c3949}.status-pill{display:inline-block;background:#edf8f4;color:#268f6b;padding:4px 11px;border-radius:20px;font-size:calc(11px + 2pt);font-weight:800;white-space:nowrap}.status-pill.draft{background:#f4f4f6;color:#8d94a0}.table-actions{display:flex;gap:11px;white-space:nowrap}.table-actions a{font-weight:750;color:#36485f}.table-actions form{margin:0}.danger-link{border:0;background:none;padding:0;font-size:calc(13px + 2pt);color:#be4356}.table-actions a:hover,.danger-link:hover{text-decoration:underline}.empty-state{text-align:center;padding:44px!important;color:#9aa4ae!important}.editor-form{max-width:1030px}.editor-panel{padding:30px 32px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-field{display:flex;flex-direction:column;gap:8px;min-width:0}.form-field.full{grid-column:1/-1}.form-field label{font-size:calc(13px + 2pt);font-weight:800;color:#3c4858}.form-field input,.form-field select,.form-field textarea{width:100%;padding:12px 13px;background:#fff;border:1px solid #dbe1e9;border-radius:4px;color:#2c394a;font-size:calc(14px + 2pt)}.form-field textarea{resize:vertical;line-height:1.9;min-height:90px}.form-field input[type=file]{background:#fafbfc;padding:10px;font-size:calc(12px + 2pt)}.form-field small{color:#8b97a4;font-size:calc(11px + 2pt)}.existing-file{margin-top:4px;display:flex;gap:15px;flex-wrap:wrap;align-items:center;font-size:calc(12px + 2pt);color:#8593a2}.existing-file a{color:var(--wine);text-decoration:underline}.existing-file label{font-weight:500;font-size:calc(12px + 2pt)}.publish-line{display:flex;justify-content:space-between;align-items:center;gap:20px}.form-submit-footer{display:flex;justify-content:flex-end;padding:0 0 30px}.password-form{max-width:560px;padding:40px}.password-form .form-field{margin-bottom:20px}.password-form .primary-button{margin-top:12px}
@media(max-width:1200px){.admin-layout{grid-template-columns:235px 1fr}.admin-content{padding:30px 25px}.stat-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.admin-menu a{font-size:calc(12px + 2pt)}.admin-topbar{padding:0 24px}}
@media(max-width:760px){.login-layout{grid-template-columns:1fr}.login-side{min-height:255px;padding:24px 26px}.login-side>div{padding:25px 0 5px}.login-side h1{font-size:calc(45px + 2pt);margin:10px 0}.login-side p{font-size:calc(12px + 2pt);margin:0}.login-side small{display:none}.login-panel{padding:42px 26px}.login-mark{margin-bottom:19px}.login-card h2{font-size:calc(28px + 2pt)}.admin-layout{display:block}.admin-sidebar{position:fixed;left:0;top:0;width:264px;z-index:100;transform:translateX(-100%);transition:transform .25s}.admin-sidebar.open{transform:translateX(0);box-shadow:20px 0 60px #0003}.sidebar-toggle{display:block}.admin-topbar{height:65px;padding:0 16px}.admin-topbar>span{font-size:calc(11px + 2pt);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-topbar>div{gap:10px}.admin-status{display:none}.admin-content{padding:26px 14px 66px}.content-heading{align-items:start;flex-direction:column;gap:18px}.content-heading h1{font-size:calc(25px + 2pt)}.stat-grid{gap:10px}.stat-card{padding:15px;min-height:125px}.stat-card>span{font-size:calc(11px + 2pt)}.stat-card strong{font-size:calc(30px + 2pt)}.dashboard-grid{gap:0}.admin-panel{padding:20px 16px}.chart-item>span{font-size:calc(8px + 2pt);writing-mode:vertical-rl;white-space:nowrap}.chart-bars{gap:3px}.category-stats{grid-template-columns:1fr 1fr;gap:0 15px}.editor-panel{padding:21px 16px}.form-grid{grid-template-columns:1fr;gap:16px}.form-field.full{grid-column:auto}.publish-line{align-items:start;flex-direction:column}.admin-table{min-width:650px}.password-form{padding:25px 17px}}
