:root{color-scheme:dark;--bg:#081018;--panel:#0f1b26;--panel2:#142432;--line:#233746;--text:#edf5f7;--muted:#8da1aa;--mint:#3ee0ad;--blue:#66a7ff;--danger:#ff6b72;--radius:18px;font-family:Inter,"Pretendard","Noto Sans KR",system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 75% -10%,#193d45 0,transparent 38%),var(--bg);color:var(--text);min-height:100vh}.hidden{display:none!important}button,input,textarea,select{font:inherit}button{cursor:pointer}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(440px,100%);padding:42px;background:linear-gradient(145deg,rgba(20,36,50,.97),rgba(10,19,28,.97));border:1px solid var(--line);border-radius:26px;box-shadow:0 32px 90px #0008}.brand-mark{width:58px;height:58px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(135deg,var(--mint),#2ba4db);color:#051016;font-weight:900;letter-spacing:-2px}.brand-mark.small{width:38px;height:38px;border-radius:11px;font-size:14px}.eyebrow{color:var(--mint);font-size:11px;font-weight:800;letter-spacing:.2em;margin:24px 0 8px}.login-card h1,header h1{margin:0;font-size:30px}.muted{color:var(--muted);line-height:1.6}.login-card label,.form-grid label{display:grid;gap:8px;color:#b9c7cc;font-size:13px;margin-top:18px}.login-card input,.form-grid input,.form-grid textarea,.form-grid select,.toolbar input{width:100%;border:1px solid var(--line);background:#08131c;color:var(--text);border-radius:11px;padding:12px 14px;outline:none}.login-card input:focus,.form-grid input:focus,.form-grid textarea:focus,.toolbar input:focus{border-color:var(--mint);box-shadow:0 0 0 3px #3ee0ad1c}.login-card button,.primary{width:100%;border:0;border-radius:11px;padding:13px;margin-top:24px;background:var(--mint);color:#07130f;font-weight:800}.error{color:var(--danger);min-height:20px}.app{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:28px 20px;background:#09141ddd;border-right:1px solid var(--line);display:flex;flex-direction:column}.brand-row{display:flex;align-items:center;gap:12px;font-size:18px}.sidebar>div>p{margin:8px 0 34px 50px;color:var(--muted);font-size:9px;letter-spacing:.18em}.sidebar nav{display:grid;gap:7px}.sidebar nav button,.ghost{border:0;background:transparent;color:var(--muted);text-align:left;padding:12px 14px;border-radius:10px}.sidebar nav button:hover,.sidebar nav button.active{background:#152735;color:var(--text)}.sidebar nav button.active{box-shadow:inset 3px 0 var(--mint)}.ghost{margin-top:auto;color:#c9d4d8}main{padding:34px clamp(22px,4vw,60px);min-width:0}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}header .eyebrow{margin:0 0 7px}.admin-pill{padding:9px 13px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:13px}.cards{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:16px}.card,.panel{background:linear-gradient(145deg,#122330e6,#0c1822e6);border:1px solid var(--line);border-radius:var(--radius);padding:22px}.card span{display:block;color:var(--muted);font-size:13px}.card strong{display:block;font-size:29px;margin-top:13px}.card strong.accent{color:var(--mint)}.panel{margin-top:18px}.panel h2{font-size:16px;margin:0 0 18px}.toolbar{display:flex;gap:10px;justify-content:space-between;margin-bottom:16px}.toolbar input{max-width:330px}.toolbar button,.small-button{border:1px solid var(--line);background:var(--panel2);color:var(--text);padding:10px 13px;border-radius:10px}.toolbar .add{background:var(--mint);color:#07130f;border-color:transparent;font-weight:800}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--muted);font-weight:600;padding:11px;border-bottom:1px solid var(--line)}td{padding:13px 11px;border-bottom:1px solid #1b2d39;vertical-align:middle}tbody tr:hover{background:#15253188}.badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:#234051;color:#bed1d8;font-size:11px}.badge.good{background:#123e35;color:#70ecc5}.badge.bad{background:#4a2228;color:#ff9da1}.actions{display:flex;gap:7px}.actions button{border:1px solid var(--line);background:#132431;color:var(--text);border-radius:8px;padding:7px 9px}.actions .danger{color:#ff9da1}.empty{padding:45px 10px;text-align:center;color:var(--muted)}.flash{position:fixed;right:28px;top:22px;z-index:5;background:#15372f;border:1px solid #286a59;padding:12px 17px;border-radius:11px;box-shadow:0 12px 40px #0008}.flash.error-flash{background:#3f2025;border-color:#7a343c}dialog{border:0;border-radius:20px;background:#101d27;color:var(--text);padding:0;box-shadow:0 35px 90px #000b;width:min(560px,calc(100% - 28px))}dialog::backdrop{background:#02070bb8;backdrop-filter:blur(5px)}.modal-card{padding:28px;position:relative}.dialog-close{position:absolute;right:18px;top:14px;border:0;background:none;color:var(--muted);font-size:26px}.modal-card h2{margin:0 0 22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{margin:0}.form-grid .wide{grid-column:1/-1}.form-grid textarea{min-height:120px;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.modal-actions button{width:auto;margin:0;padding:10px 16px}.secondary{border:1px solid var(--line);background:transparent;color:var(--text);border-radius:10px}.danger-text{color:var(--danger)}@media(max-width:900px){.app{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar nav{grid-template-columns:repeat(3,1fr)}.sidebar>div>p{margin-bottom:18px}.ghost{margin-top:18px}.cards{grid-template-columns:repeat(2,1fr)}main{padding:24px 16px}table{min-width:760px}.panel{overflow:auto}}@media(max-width:520px){.cards{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.sidebar nav{grid-template-columns:1fr 1fr}}

dialog.notice-dialog{width:min(940px,calc(100% - 28px));overflow:hidden}.notice-editor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-right:36px;margin-bottom:24px}.notice-editor-header h2{font-size:24px;margin:3px 0 7px}.notice-editor-header p{margin:0;color:var(--muted);font-size:13px}.status-control{display:flex;align-items:center;gap:10px;padding:10px 13px;border:1px solid var(--line);border-radius:12px;background:#0a151e;white-space:nowrap}.status-control input{position:absolute;opacity:0}.switch-track{width:38px;height:22px;border-radius:999px;background:#3b4b55;position:relative;transition:.2s}.switch-track::after{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;border-radius:50%;background:#d5e0e3;transition:.2s}.status-control input:checked+.switch-track{background:var(--mint)}.status-control input:checked+.switch-track::after{transform:translateX(16px);background:#06120e}.notice-editor-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:22px}.notice-fields{display:grid;gap:18px}.field-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;color:#c5d2d6;font-size:13px}.field-label small{color:var(--muted)}.notice-fields input[type="text"],.notice-fields input[type="datetime-local"],.notice-fields textarea{width:100%;border:1px solid var(--line);background:#08131c;color:var(--text);border-radius:12px;padding:13px 14px;outline:none}.notice-fields input:focus,.notice-fields textarea:focus{border-color:var(--mint);box-shadow:0 0 0 3px #3ee0ad1c}.notice-fields textarea{min-height:230px;resize:vertical;line-height:1.65}.type-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.type-option input{position:absolute;opacity:0}.type-card{display:block;border:1px solid var(--line);border-radius:12px;padding:13px;background:#0a151e;transition:.18s}.type-card strong{display:block;font-size:13px}.type-card small{display:block;color:var(--muted);margin-top:5px}.type-option input:checked+.type-card{border-color:var(--mint);background:#12352f;box-shadow:0 0 0 2px #3ee0ad16}.schedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.notice-preview-wrap>span{display:block;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.16em;margin-bottom:8px}.notice-preview{position:sticky;top:0;min-height:340px;border:1px solid #2b4250;border-radius:16px;background:radial-gradient(circle at 90% 0,#20434a 0,transparent 42%),#09151e;padding:24px;overflow:hidden}.notice-preview::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--mint),var(--blue))}.preview-badge{display:inline-flex;padding:6px 9px;border-radius:999px;background:#173b35;color:#78e8c4;font-size:10px;font-weight:800;letter-spacing:.08em}.notice-preview h3{font-size:21px;margin:21px 0 12px;word-break:break-word}.notice-preview p{margin:0;color:#aebec4;white-space:pre-wrap;word-break:break-word;line-height:1.7;font-size:14px}.preview-meta{display:flex;gap:8px;position:absolute;left:24px;bottom:20px;color:#718790;font-size:11px}.notice-editor-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px -28px -28px;padding:18px 28px;border-top:1px solid var(--line);background:#0b1720}.notice-editor-footer p{margin:0;color:var(--muted);font-size:12px}.notice-editor-footer .modal-actions{margin:0}.save-notice{min-width:120px}.secondary:hover{background:#172631}@media(max-width:900px){.notice-editor-layout{grid-template-columns:1fr}.notice-preview{min-height:260px}.notice-preview-wrap{order:2}}@media(max-width:520px){.notice-editor-header{display:block}.status-control{margin-top:16px;width:max-content}.schedule-grid,.type-options{grid-template-columns:1fr}.notice-editor-footer{align-items:flex-end}.notice-editor-footer p{display:none}}

