:root{--ink:#202024;--paper:#f7f5f2;--card:#fff;--line:#ded9d3;--brand:#803654;--brand-soft:#f0e1e7;--ok:#16734a;--warn:#a85d00;--danger:#b42318;--muted:#6d6870}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 Arial,'Apple SD Gothic Neo','Malgun Gothic',sans-serif}a{color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer}.portal-header{min-height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:24px;padding:14px max(24px,calc((100vw - 1180px)/2));position:sticky;top:0;z-index:5}.portal-header img{display:block;width:150px;height:auto}.portal-header nav{margin-left:auto;display:flex;gap:20px;align-items:center}.portal-header a{text-decoration:none}.portal-header .primary{background:var(--brand);color:#fff;padding:10px 16px;border-radius:6px}.portal-main{width:min(1180px,calc(100% - 32px));margin:34px auto 80px}.portal-title{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.portal-title h1{font-size:30px;letter-spacing:-1px;margin:0}.portal-title p{margin:5px 0 0;color:var(--muted)}.panel{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:22px;margin-bottom:22px;box-shadow:0 2px 12px #29182308}.panel h2{font-size:19px;margin:0 0 17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-weight:700}.field input,.field textarea,.filters select{width:100%;border:1px solid #bdb7b1;border-radius:6px;background:#fff;padding:11px 12px}.field textarea{min-height:145px;resize:vertical}.field input:focus,.field textarea:focus,.filters select:focus{outline:3px solid #c97b9f55;border-color:var(--brand)}.hint{font-size:12px;color:var(--muted)}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.submit-row{display:flex;align-items:center;gap:14px}.submit-row button,.dialog-actions button,.reply-button{border:0;border-radius:6px;background:var(--brand);color:#fff;padding:11px 18px;min-height:44px}.status{min-height:24px;color:var(--muted)}.status.error{color:var(--danger)}.status.success{color:var(--ok)}.qna-list{display:grid}.qna-row{display:grid;grid-template-columns:90px minmax(0,1fr) 190px 110px 100px;gap:12px;align-items:center;padding:14px 10px;border-top:1px solid #ece8e4}.qna-row.header{font-size:12px;color:var(--muted);background:#faf9f7}.qna-row button{border:0;background:transparent;text-align:left;padding:7px 0;font-weight:700}.qna-row .answered{color:var(--ok)}dialog{width:min(560px,calc(100% - 28px));border:0;border-radius:14px;padding:0;box-shadow:0 25px 70px #0004}dialog::backdrop{background:#15121699}.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid var(--line)}.dialog-head h2{font-size:19px;margin:0}.dialog-close{width:44px;height:44px;border:0;background:transparent;font-size:25px}.dialog-body{padding:20px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.dialog-actions .secondary{background:#eee;color:var(--ink)}.article-meta{font-size:12px;color:var(--muted)}.article-body,.article-reply{white-space:pre-wrap;padding:16px;background:#f8f7f5;border-radius:8px}.article-reply{border-left:4px solid var(--brand);margin-top:15px}.admin-body{background:#101522;color:#f5f7fb}.admin-body .portal-header{background:#151b2b;border-color:#30394c}.admin-body .portal-main{width:min(1440px,calc(100% - 32px))}.admin-body .panel{background:#181f31;border-color:#354057;box-shadow:none}.admin-body .portal-title p,.admin-body .hint,.admin-body .muted{color:#a7b0c1}.filters{display:flex;gap:10px;align-items:center}.filters select{width:auto;background:#202a40;color:#fff;border-color:#46526a}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.metric{background:#181f31;border:1px solid #354057;border-radius:12px;padding:20px}.metric span{display:block;color:#a7b0c1;font-size:12px}.metric strong{display:block;font-size:31px;margin-top:7px}.health-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.health-item{padding:15px;border-radius:8px;background:#202a40}.health-item b{display:block;margin-bottom:5px}.ok{color:#60d394}.bad{color:#ff8b80}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:13px}.data-table th,.data-table td{text-align:left;padding:10px;border-bottom:1px solid #30394c;vertical-align:top}.data-table th{color:#a7b0c1;font-size:11px}.data-table a{color:#91c9ff}.path-cell{white-space:normal;min-width:260px}.mini-bars{display:flex;align-items:end;height:160px;gap:8px;padding-top:15px}.mini-bars div{flex:1;min-width:22px;background:#c6729a;border-radius:4px 4px 0 0;position:relative}.mini-bars span{position:absolute;inset:auto 0 -25px;text-align:center;font-size:10px;color:#a7b0c1}.inquiry-cards{display:grid;gap:10px}.inquiry-card{display:grid;grid-template-columns:90px 1fr auto;gap:14px;align-items:center;padding:14px;border:1px solid #354057;border-radius:9px}.inquiry-card img{width:70px;height:70px;object-fit:contain;background:#fff}.inquiry-card h3{font-size:15px;margin:0}.inquiry-card p{margin:4px 0;color:#a7b0c1;font-size:12px}.cache-note{padding:15px;border-left:4px solid #91c9ff;background:#202a40}.admin-body dialog{color:var(--ink)}@media(max-width:820px){.portal-header{position:static;padding:14px 16px;flex-wrap:wrap}.portal-header nav{gap:12px}.portal-main{margin-top:24px}.form-grid,.admin-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr 1fr}.health-grid{grid-template-columns:1fr}.qna-row{grid-template-columns:62px minmax(0,1fr) 88px}.qna-row>*:nth-child(3),.qna-row>*:nth-child(5){display:none}.inquiry-card{grid-template-columns:60px 1fr}.inquiry-card img{width:55px;height:55px}.inquiry-card .reply-button{grid-column:1/-1}.portal-title{align-items:start;flex-direction:column}.filters{width:100%;justify-content:space-between}}@media(max-width:480px){.portal-header img{width:130px}.portal-header nav a:not(.primary){display:none}.metric-grid{grid-template-columns:1fr}.qna-row{grid-template-columns:55px minmax(0,1fr) 76px;font-size:13px}.panel{padding:16px}.portal-main{width:min(100% - 20px,1180px)}}
