.admin-breadcrumb[data-v-df8989b2]{display:flex;gap:8px;align-items:center;min-height:38px;padding:0 34px;color:var(--muted);font-size:13px;font-weight:700;background:#fff;border-bottom:1px solid var(--line)}.admin-breadcrumb span+span[data-v-df8989b2]:before{content:"/";margin-right:8px;color:#9aa7ba}:root{--blue: #1f7a2e;--primary-dark: #176824;--blue-dark: var(--primary-dark);--ink: #121826;--muted: #657086;--line: #dce5f0;--soft: #f5f8fc;--green: #1f7a2e;--dongam-green: #1f7a2e;--dongam-green-dark: #14581f;--dongam-green-soft: #edf7ee;--kakao-yellow: #ffe100;--kakao-ink: #211812;--disabled-bg: #eef2f6;--disabled-border: #cbd5e1;--disabled-text: #7b8794;--status-received-bg: #e7f2ea;--status-received-text: #1f7a2e;--status-processing-bg: #fff3cd;--status-processing-text: #7a5600;--status-complete-bg: #d4edda;--status-complete-text: #1a6b37;--status-error-text: #c0392b;--fixed-footer-height: 110px;--mobile-bottom-tabs-height: calc(72px + env(safe-area-inset-bottom, 0px)) ;--mobile-bottom-tabs-gap: var(--spacing-lg);--mobile-content-safe-bottom: calc(var(--mobile-bottom-tabs-height) + var(--mobile-bottom-tabs-gap));font-family:Pretendard,Noto Sans KR,Arial,sans-serif;color:var(--ink);background:#f5f8fc}*{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;background:#f7f9fc}a{color:inherit;text-decoration:none}button{font:inherit}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23475569' d='M3.5 5.5 8 10l4.5-4.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px 16px;padding-right:32px;cursor:pointer}input:disabled,select:disabled,textarea:disabled,button:disabled,input[readonly],textarea[readonly],select[aria-disabled=true],button[aria-disabled=true]{border-color:var(--disabled-border)!important;background-color:var(--disabled-bg)!important;color:var(--disabled-text)!important;cursor:not-allowed!important}input:disabled::placeholder,textarea:disabled::placeholder,input[readonly]::placeholder,textarea[readonly]::placeholder{color:#9aa5b1}input[type=checkbox]:disabled,input[type=radio]:disabled{accent-color:#a8b3c2}.admin-shell{position:relative;display:flex;flex-direction:column;width:100%;min-height:100vh;margin:0 auto;background:#f7f9fc}.school-mark{display:flex;align-items:center;gap:12px;padding:22px 26px}.crest{display:grid;place-items:center;width:48px;height:56px;border:2px solid var(--primary-dark);border-radius:8px 8px 16px 16px;color:var(--primary-dark);font-size:26px;font-weight:900}.school-logo-image{width:48px;height:56px;object-fit:contain;flex:0 0 48px}.school-mark strong{display:block;color:var(--primary-dark);font-size:17px}.school-mark span{display:block;margin-top:4px;color:var(--primary-dark);font-weight:700}.admin-content{display:flex;flex:1;flex-direction:column;min-width:0;background:#f7f9fc}.topbar{position:sticky;top:0;z-index:60;display:grid;grid-template-columns:300px minmax(0,1fr) auto;gap:24px;align-items:center;height:78px;padding:0 34px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 8px 20px #102b4e0f}.header-brand{display:flex;align-items:center;min-width:0}.brand-home-link{display:inline-flex;align-items:center;padding:0;border:0;background:transparent;color:inherit;cursor:pointer}.topbar .school-mark{padding:0}.topbar .crest{width:42px;height:50px;font-size:23px}.top-menu{display:flex;justify-content:center;gap:4px;min-width:0}.top-menu button{height:42px;padding:0 14px;border:0;border-radius:6px;background:transparent;color:#263348;font-weight:900;white-space:nowrap;cursor:pointer}.top-menu button:hover,.top-menu button.active{color:#fff;background:var(--primary-dark)}.mega-menu-shell{position:absolute;top:78px;left:0;right:0;z-index:50;display:none;background:#fffffffa;opacity:0;transform:translateY(-12px);transition:opacity .18s ease,transform .24s ease}.mega-menu-shell.open{display:block;box-shadow:0 16px 32px #102b4e1f;opacity:1;transform:translateY(0)}.mega-menu{display:grid;grid-template-columns:230px minmax(0,1fr);gap:28px;max-width:1560px;margin:0 auto;padding:20px 34px}.mega-menu-heading{display:grid;align-content:center;gap:8px}.mega-menu-heading strong{color:var(--primary-dark);font-size:22px}.mega-menu-heading span{color:var(--muted);line-height:1.45}.mega-grid{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:10px}.mega-menu-card{display:flex;align-items:center;gap:10px;min-height:56px;padding:0 14px;border:1px solid var(--line);border-radius:6px;background:var(--dongam-green-soft);color:var(--dongam-green-dark);font-weight:900}.mega-menu-card:hover{border-color:var(--primary-dark);background:var(--dongam-green-soft)}.top-actions{display:flex;align-items:center;gap:16px;justify-content:flex-end;white-space:nowrap}.top-actions button{display:grid;place-items:center;padding:0;border:0;background:transparent;color:inherit;cursor:pointer}.notification-area{position:relative}.notification-button{position:relative;width:32px;height:32px}.notification-badge{position:absolute;top:-4px;right:-6px;display:grid!important;min-width:18px;height:18px;place-items:center;padding:0 5px;border-radius:999px;background:#df2d2d;color:#fff;font-size:11px;font-weight:900;line-height:1}.notification-popover{position:absolute;top:calc(100% + 12px);right:0;z-index:120;width:360px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 18px 42px #0f2e552e}.notification-popover header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line)}.notification-popover header button{width:auto;height:30px;padding:0 10px;border:1px solid #c8d5e6;border-radius:6px;background:#fff;color:var(--primary-dark);font-size:12px;font-weight:800}.notification-popover header button:disabled{opacity:.45;cursor:default}.notification-popover ul{max-height:360px;margin:0;padding:0;overflow-y:auto;list-style:none}.notification-popover li{border-bottom:1px solid #edf2f8}.notification-popover li:last-child{border-bottom:0}.notification-popover li>span,.notification-popover li button{display:block;width:100%;padding:13px 16px;text-align:left}.notification-popover li button{background:#fff}.notification-popover li.unread button{background:#f2f8ff}.notification-popover li.notification-loading-skeleton{display:grid;gap:8px;padding:13px 16px}.notification-popover li.notification-loading-skeleton span{display:block;margin:0;height:12px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.66),transparent),linear-gradient(120deg,#edf2f7,#e2e8f0 55%,#f8fafc);background-size:220% 100%,100% 100%;animation:notification-loading-shimmer 1.1s ease-in-out infinite}.notification-popover li.notification-loading-skeleton span:first-child{width:72%;height:15px}.notification-popover li.notification-loading-skeleton span:last-child{width:48%}.notification-popover b,.notification-popover span,.notification-popover time{display:block}.notification-popover b{color:#102b4e;font-size:14px}.notification-popover span{margin-top:4px;color:#475467;font-size:13px;line-height:1.45}.notification-popover time{margin-top:6px;color:#7a8698;font-size:12px}@keyframes notification-loading-shimmer{0%{background-position:220% 0,0 0}to{background-position:-220% 0,0 0}}.logout-button{min-width:88px;height:36px;padding:0 14px;border:1px solid #c8d5e6;border-radius:6px;background:#fff;color:var(--primary-dark);font-size:13px;font-weight:800;cursor:pointer}.logout-button:hover{border-color:var(--primary-dark);background:#f3f7fc}.avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#d7dee8,#f7f9fc)}button.profile{display:block;border:0;background:none;padding:0;font:inherit;text-align:left;cursor:pointer}.profile-role,.profile-name{display:block}.profile-role{color:#667085;font-size:12px;font-weight:700}.profile-name{margin-top:2px;color:#101828;font-size:15px;font-weight:900}main{max-width:1540px;margin:0 auto;padding:30px 32px 18px}.hero{display:grid;grid-template-columns:1fr 560px;align-items:center;min-height:150px;margin-bottom:24px}.compact-hero{min-height:96px;margin-bottom:14px}.hero h1{margin:0 0 12px;font-size:30px;letter-spacing:0}.hero p{margin:0 0 18px;color:#38465b}.hero time{display:inline-flex;align-items:center;height:32px;padding:0 16px;border:1px solid #c9d9ef;border-radius:18px;color:var(--blue);background:#fff;font-weight:800}.school-line-art{position:relative;height:130px;color:#aab8c8}.main-building,.wing{position:absolute;bottom:10px;border:2px solid currentColor;background:linear-gradient(90deg,transparent 17%,currentColor 17% 19%,transparent 19% 33%,currentColor 33% 35%,transparent 35% 49%,currentColor 49% 51%,transparent 51% 65%,currentColor 65% 67%,transparent 67% 81%,currentColor 81% 83%,transparent 83%),linear-gradient(0deg,transparent 30%,currentColor 30% 32%,transparent 32% 62%,currentColor 62% 64%,transparent 64%)}.main-building{left:190px;width:170px;height:110px}.main-building:before{content:"";position:absolute;left:50%;top:-38px;width:82px;height:38px;border:2px solid currentColor;border-bottom:0;transform:translate(-50%)}.wing{width:140px;height:70px}.wing.left{left:62px}.wing.right{right:40px}.tree{position:absolute;bottom:8px;width:42px;height:58px;border:2px solid currentColor;border-radius:50% 50% 38% 38%}.tree:after{content:"";position:absolute;left:18px;bottom:-22px;width:4px;height:28px;background:currentColor}.tree-left{left:20px}.tree-right{right:0}.stat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.stat-card,.panel{border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 10px 24px #1946780a}.stat-card{display:flex;gap:18px;min-height:132px;padding:26px 24px;color:var(--blue)}.stat-card strong{display:block;color:var(--blue);font-size:14px}.stat-card b{display:block;margin:12px 0 14px;color:#111827;font-size:28px}.stat-card b.ok{color:var(--green)}.stat-card span{color:#111827;font-size:13px}.stat-card i{display:block;width:145px;height:8px;margin:12px 0 8px;border-radius:8px;background:#e3e9f2}.stat-card i em{display:block;width:58%;height:100%;border-radius:inherit;background:var(--blue)}.dashboard-grid{display:grid;grid-template-columns:1.35fr .9fr 1.05fr;gap:12px;margin-top:14px}.monitor-panel{margin-top:14px}.monitor-panel-header{align-items:flex-start;gap:14px}.panel-eyebrow{margin:0 0 6px;color:var(--muted);font-size:13px;font-weight:800}.monitor-chip{flex:0 0 auto;border:1px solid #d7e3f5;border-radius:999px;background:#f4f8ff;color:#174678;font-size:12px;font-weight:800;line-height:1;padding:9px 12px}.monitor-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.monitor-summary-card{min-width:0;border:1px solid #e1e8f2;border-radius:8px;background:#f8fafc;padding:16px}.monitor-summary-card span{display:block;color:#5b6675;font-size:12px;font-weight:800}.monitor-summary-card strong{display:block;margin-top:8px;color:#111827;font-size:15px;line-height:1.45;word-break:keep-all}.monitor-summary-card.is-ok{border-color:#cdebd8;background:#f3fbf6}.monitor-summary-card.is-info{border-color:#d7e3f5;background:#f4f8ff}.monitor-detail-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:10px;margin-top:10px}.monitor-detail-card{min-width:0;border:1px solid #e1e8f2;border-radius:8px;background:#fff;padding:18px}.monitor-detail-card h3{margin:0 0 14px;color:#111827;font-size:15px}.monitor-boundary-list,.monitor-queue-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.monitor-boundary-list li{display:grid;grid-template-columns:82px 1fr;gap:4px 10px;align-items:start;border-bottom:1px solid #edf1f6;padding-bottom:10px}.monitor-boundary-list li:last-child{border-bottom:0;padding-bottom:0}.monitor-boundary-list b,.monitor-queue-list b{color:#174678;font-size:13px}.monitor-boundary-list span,.monitor-queue-list span{color:#111827;font-size:13px}.monitor-boundary-list em{grid-column:2;color:#6b7280;font-size:12px;font-style:normal}.monitor-queue-list li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #edf1f6;padding-bottom:10px}.monitor-queue-list li:last-child{border-bottom:0;padding-bottom:0}.monitor-queue-list div{display:grid;gap:4px}.monitor-queue-list em{flex:0 0 auto;align-self:start;border-radius:999px;background:#eef4fb;color:#174678;font-size:12px;font-style:normal;font-weight:800;padding:6px 9px}.monitor-report-placeholder{display:grid;gap:8px}.monitor-report-placeholder span{border:1px dashed #cbd5e1;border-radius:8px;background:#f8fafc;color:#334155;font-size:13px;font-weight:700;padding:10px 12px}.panel{min-width:0;padding:22px}.panel header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.panel h2{margin:0;font-size:18px;letter-spacing:0}.panel h2 span{color:var(--muted);font-size:14px;font-weight:500}.panel header a{color:var(--blue);font-size:12px;font-weight:800}.chart-panel{grid-column:span 1}.chart{position:relative;display:grid;grid-template-columns:repeat(7,1fr);align-items:end;gap:28px;height:190px;padding:20px 28px 0;border-bottom:1px solid var(--line);background:repeating-linear-gradient(0deg,transparent 0 37px,#eef2f7 38px)}.bar{width:26px;justify-self:center;background:linear-gradient(180deg,#7da6e7,#d5e2f7)}.summary-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:14px}.summary-cards article{min-width:0;border:1px solid #e1e8f2;border-radius:8px;background:#f8fafc;padding:16px}.summary-cards article span{display:block;color:#5b6675;font-size:12px;font-weight:800}.summary-cards article strong{display:block;margin-top:8px;color:#111827;font-size:22px}@media (max-width: 1280px){.summary-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 760px){.summary-cards{grid-template-columns:1fr}}.notice-list,.status-list,.activity-list{margin:0;padding:0;list-style:none}.notice-list li{display:grid;grid-template-columns:1fr auto;gap:14px;padding:11px 0;border-bottom:1px solid #edf1f6;font-size:14px}.status-list li{display:grid;grid-template-columns:1fr auto auto;gap:14px;padding:12px 0;border-bottom:1px solid #e9eef5}.activity-list li{display:grid;grid-template-columns:auto 1fr auto;gap:10px;padding:9px 0;border-bottom:1px solid #edf1f6;font-size:13px}.chart svg{position:absolute;top:14px;right:18px;bottom:8px;left:18px;width:calc(100% - 36px);height:calc(100% - 22px)}.chart polyline{fill:none;stroke:var(--blue);stroke-width:3}.chart-labels{display:grid;grid-template-columns:repeat(7,1fr);padding:10px 20px 0;color:#3b4658;font-size:12px;text-align:center}.status-panel ul,.activity-panel ul,.notice-panel ul{list-style:none;margin:0;padding:0}.status-panel li{display:grid;grid-template-columns:1fr auto auto;gap:14px;padding:12px 0;border-bottom:1px solid #e9eef5}.status-panel b{width:9px;height:9px;border-radius:50%;align-self:center;background:#2ca565}.status-panel em,.ok{color:var(--green);font-style:normal;font-weight:800}.backup-panel dl{margin:0}.backup-panel div{display:grid;grid-template-columns:1fr 1fr;padding:12px 0;border-bottom:1px solid #e9eef5}.backup-panel dt{color:#3f4c60}.backup-panel dd{margin:0;font-weight:700}.activity-panel,.notice-panel,.shortcut-panel{min-height:220px}.activity-panel li{display:grid;grid-template-columns:auto 1fr auto;gap:10px;padding:9px 0;border-bottom:1px solid #edf1f6;font-size:13px}.activity-panel b{padding:2px 8px;border:1px solid #b8d0ef;border-radius:4px;color:var(--blue);background:#f3f8ff}.activity-panel time,.notice-panel time{color:#566275}.notice-panel li{display:grid;grid-template-columns:1fr auto;gap:14px;padding:11px 0;border-bottom:1px solid #edf1f6;font-size:14px}.shortcut-panel div{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.shortcut-panel a{display:grid;place-items:center;gap:10px;min-height:82px;padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--blue);text-align:center;font-weight:800}.shortcut-panel a:nth-child(4n){border-right:0}.shortcut-panel a:nth-last-child(-n+4){border-bottom:0}.admin-footer{display:grid;grid-template-columns:300px 1fr;gap:20px;align-items:center;width:100%;min-height:110px;margin-top:auto;padding:20px 32px;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 22px #0f2e550d}.admin-footer .school-mark{padding:0}.admin-footer nav{display:flex;gap:22px;margin-bottom:10px;color:#39465a;font-weight:700}.admin-footer p{margin:4px 0;color:#5e6878;font-size:13px}@media (max-width: 1280px){.topbar{grid-template-columns:1fr;height:auto;min-height:78px;gap:12px;padding:14px 24px}.header-brand,.top-actions{justify-content:center}.top-menu{flex-wrap:wrap;order:3}.mega-menu-shell{top:148px}.mega-menu{grid-template-columns:1fr;gap:14px}.mega-grid{grid-template-columns:repeat(3,minmax(140px,1fr))}.hero{grid-template-columns:1fr}.school-line-art{display:none}.stat-grid{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr}}.back-button{min-height:40px;padding:0 18px;border:1px solid #bfd0e8;border-radius:6px;background:#fff;color:var(--primary-dark);font-weight:800;cursor:pointer}.back-button:hover{border-color:var(--primary-dark);background:#f3f7fc}@media (max-width: 760px){.topbar{padding:14px 18px}.top-actions{flex-wrap:wrap;gap:10px}.profile{display:none}.top-menu button{flex:1 1 120px}.mega-menu-shell{top:148px}.mega-menu{padding:16px 18px}.mega-grid{grid-template-columns:1fr}main{padding:22px 18px}.stat-grid{grid-template-columns:1fr}.shortcut-panel div{grid-template-columns:repeat(2,1fr)}.admin-footer{grid-template-columns:1fr}}.school-info-panel{grid-column:span 3}.footer-workspace{grid-template-columns:1fr}.common-code-workspace{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(480px,1.15fr);gap:12px}.management-workspace{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:12px}.single-workspace{grid-template-columns:1fr}.full-panel{grid-column:1 / -1}.board-tabs{display:flex;gap:8px;margin:-4px 0 14px}.board-tabs button{min-width:104px;height:38px;border:1px solid #c8d4e3;border-radius:6px;background:#fff;color:var(--primary-dark);font-weight:900;cursor:pointer}.board-tabs button.active{border-color:var(--primary-dark);background:var(--primary-dark);color:#fff}.management-panel{overflow-x:auto}.management-panel.full-panel{grid-column:1 / -1}.management-panel header{gap:14px;margin-bottom:10px}.management-panel header>button,.inline-search-form button{height:34px;padding:0 14px;border:1px solid #c8d4e3;border-radius:6px;background:#fff;color:var(--primary-dark);font-weight:900;cursor:pointer}.inline-search-form{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:0}.inline-search-form input,.inline-search-form select,.management-table select{height:34px;padding:0 10px;border:1px solid #c8d4e3;border-radius:6px;background:#fff;font:inherit}.search-panel{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:-2px 0 8px}.search-panel input,.search-panel select{width:min(100%,320px);height:34px;padding:0 10px;border:1px solid #c8d4e3;border-radius:6px;background:#fff;font:inherit}.search-panel button{width:72px;height:34px;border:1px solid #c8d4e3;border-radius:6px;background:#fff;color:var(--primary-dark);font-weight:900;cursor:pointer}.management-table{min-width:1040px}.management-table th:first-child,.management-table td:first-child{width:110px;text-align:left}.notice-admin-table th:nth-child(4),.notice-admin-table td:nth-child(4){width:34%}.notice-admin-table td:nth-child(4){font-weight:800;color:#1f2b3d}.common-group-panel,.common-code-panel,.common-form-panel{display:grid;gap:10px;overflow-x:auto}.common-group-panel header,.common-code-panel header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.page-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.common-group-panel header button,.common-code-panel header button,.page-toolbar button{width:90px;height:34px;border:1px solid #c8d4e3;border-radius:6px;background:#fff;color:var(--primary-dark);font-weight:900;cursor:pointer}.common-form-panel form{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:10px}.common-form-panel label{display:grid;gap:5px;color:#263348;font-size:13px;font-weight:800}.common-form-panel label:has(input[required]:not([type=radio]):not([type=checkbox]))>span:after,.common-form-panel label:has(select[required])>span:after,.common-form-panel label:has(textarea[required])>span:after,.common-form-panel fieldset:has(input[required])>legend:after,.common-form-panel fieldset:has(select[required])>legend:after,.common-form-panel fieldset:has(textarea[required])>legend:after,.common-form-panel .required-field>span:after,.common-form-panel .required-field>legend:after{content:" *";color:#d92d20;font-weight:900}.common-form-panel label.full{grid-column:1 / -1}.common-form-panel .form-help{margin:0;color:#566275;font-size:13px;font-weight:700}.common-form-panel .form-help.full{grid-column:1 / -1}.common-form-panel input,.common-form-panel select,.common-form-panel textarea{width:100%;min-height:36px;padding:8px 10px;border:1px solid #c8d4e3;border-radius:6px;font:inherit}.common-form-panel input[readonly]{background:#f2f5f9;color:#657086}.admin-table tr.selected td{background:#eef5ff}.base-table-empty{height:72px;color:#657086;text-align:center}.line-clamp-cell{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-link{border:0;background:transparent;color:var(--primary-dark);font-weight:900;cursor:pointer}.error-report-url{display:inline-block;max-width:min(32vw,360px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.error-report-detail{display:grid;grid-template-columns:88px minmax(0,1fr);gap:10px;margin:0;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.5;overflow-wrap:anywhere}.error-report-detail strong{color:var(--primary-dark)}.status-badge{display:inline-flex;align-items:center;justify-content:center;min-width:52px;padding:2px 8px;border-radius:var(--radius-pill);font-size:12px;font-weight:800;line-height:1.5}.status-recv{background:var(--status-received-bg);color:var(--status-received-text)}.status-cnfm{background:var(--status-processing-bg);color:var(--status-processing-text)}.status-done{background:var(--status-complete-bg);color:var(--status-complete-text)}.error-text{margin:8px 0;color:var(--status-error-text);font-size:14px}.management-table .error-report-url{max-width:100%}@media (max-width: 760px){.error-report-url{max-width:180px}.error-report-detail{grid-template-columns:1fr;gap:4px}.status-badge{min-width:48px}}.shortcut-workspace{grid-template-columns:minmax(0,1.5fr) minmax(360px,.8fr)}.shortcut-list-panel,.shortcut-form-panel{display:grid;gap:16px}.shortcut-list-panel header{display:flex;align-items:center;justify-content:space-between}.shortcut-list-panel header button,.table-actions button,.form-actions button{width:90px;height:34px;border:1px solid #c8d4e3;border-radius:6px;background:#fff;color:var(--primary-dark);font-weight:900;cursor:pointer}.form-actions button[type=submit]{background:var(--primary-dark);color:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:140;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a57}.base-modal{width:min(760px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 24px 60px #0f2e553d}.base-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;background:#fff;border-bottom:1px solid var(--line)}.base-modal-header h2{margin:0;color:var(--primary-dark);font-size:20px}.base-modal-header button{width:34px;height:34px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#1f2937;font-size:22px;cursor:pointer}.base-modal-body{max-height:calc(100vh - 124px);overflow-y:auto;padding:20px 22px 28px}.base-modal .common-form-panel,.base-modal .shortcut-form-panel,.base-modal .detail-panel{border:0;box-shadow:none}.file-upload-field{gap:8px}.file-upload-control{display:grid;gap:6px;min-width:0}.file-upload-control input[type=file]{width:100%;min-width:0}.file-upload-control small{overflow:hidden;color:#60708a;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.file-upload-field>.file-upload-control{display:grid;gap:6px}.file-upload-field input[type=file]{width:100%}.admin-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px}.common-code-workspace .admin-table{min-width:980px}.admin-table th,.admin-table td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.admin-table td a{display:block;overflow-wrap:anywhere;color:var(--primary-dark);font-weight:700}.admin-table th:first-child,.admin-table td:first-child{width:70px;text-align:center}.common-code-workspace .admin-table th:first-child,.common-code-workspace .admin-table td:first-child{width:130px;text-align:left}.common-code-panel .admin-table th:first-child,.common-code-panel .admin-table td:first-child{width:70px;text-align:center}.admin-table th:last-child,.admin-table td:last-child{width:160px}.admin-table td.table-actions{display:table-cell;white-space:nowrap}.table-actions{display:flex;gap:8px}.table-actions button{width:62px}.table-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:4px;color:#5f6d80;font-size:13px}.table-pager div{display:flex;align-items:center;gap:8px}.table-pager button{min-width:58px;height:30px;border:1px solid #c8d4e3;border-radius:6px;background:#fff;color:var(--primary-dark);font-weight:800;cursor:pointer}.table-pager button:disabled{color:#a5b0bf;background:#f4f6f9;cursor:default}.icon-path-cell{display:flex;align-items:center;gap:8px;overflow-wrap:anywhere}.icon-path-cell img{width:24px;height:24px;flex:0 0 auto;object-fit:contain}.shortcut-form-panel form{display:grid;gap:14px}.shortcut-form-panel label{display:grid;gap:7px;color:#263348;font-weight:800}.shortcut-form-panel input,.shortcut-form-panel select{height:42px;padding:0 12px;border:1px solid #c8d4e3;border-radius:6px}.form-actions{display:flex;justify-content:flex-end;gap:10px}.footer-workspace .panel{grid-column:auto}.school-info-panel form{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.school-info-panel label{display:grid;gap:7px;color:#263348;font-weight:800}.school-info-panel label.full{grid-column:span 3}.school-info-panel input{height:42px;padding:0 12px;border:1px solid #c8d4e3;border-radius:6px}.school-info-panel header,.footer-info-panel header{display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-save{width:120px;height:42px;flex:0 0 auto;border:0;border-radius:6px;background:var(--primary-dark);color:#fff;font-weight:900;cursor:pointer}.school-info-panel p{align-self:center;margin:0;color:var(--green);font-weight:800}.base-modal .modal-form-panel{display:grid;gap:14px;padding:0}.base-modal .modal-form-panel .page-toolbar{margin-bottom:0}.inline-form{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:12px 10px;align-items:start}.inline-form>.full,.inline-form>.form-actions{grid-column:1 / -1}@media (max-width: 760px){.inline-form{grid-template-columns:1fr}}button.ghost-button{height:34px;padding:0 12px;border:1px solid #e4a5a5;border-radius:6px;background:#fff;color:#c0392b;font-weight:800;cursor:pointer}button.ghost-button:hover:not(:disabled){border-color:#c0392b;background:#fbeaea}.footer-info-panel{display:grid;gap:16px}.footer-text-field{display:grid;gap:7px;color:#263348;font-weight:800}.footer-text-field input{height:42px;padding:0 12px;border:1px solid #c8d4e3;border-radius:6px}.logo-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.logo-preview-grid>div{min-height:154px;display:grid;gap:10px;align-content:start;padding:14px;border:1px solid #d9e3f0;border-radius:6px;background:#f7fbff;color:#1e3150;font-weight:900}.logo-preview-grid img{width:100%;max-height:96px;object-fit:contain}.panel-save:hover{background:#052e63}@media (max-width: 1280px){.school-info-panel{grid-column:auto}}@media (max-width: 760px){.school-info-panel form{grid-template-columns:1fr}.school-info-panel label.full{grid-column:auto}}.toast-host{position:fixed;top:22px;right:22px;z-index:9999;display:grid;gap:10px;width:min(360px,calc(100vw - 32px))}.toast{display:grid;gap:4px;width:100%;padding:14px 16px;border:1px solid #d8e2ef;border-left:5px solid #124f9f;border-radius:8px;background:#fffffff7;box-shadow:0 16px 38px #10264729;color:#172238;text-align:left;cursor:pointer}.toast strong{font-size:15px}.toast span{color:#566273;line-height:1.45}.toast.success{border-left-color:#1d9b58}.toast.warning{border-left-color:#f2a018}.toast.error{border-left-color:#d64545}.theme-toggle-button{display:inline-grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--primary-dark);box-shadow:0 8px 18px #08366f14;cursor:pointer}.theme-toggle-button:hover{border-color:var(--blue);background:var(--soft)}:root[data-theme=dark]{color-scheme:dark;--blue: #7db7ff;--primary-dark: #d9eaff;--ink: #edf4ff;--muted: #a9b7ca;--line: #2b3d56;--soft: #172235;--green: #79d59f;--disabled-bg: #1c283a;--disabled-border: #40506a;--disabled-text: #8ea0b8;background:#0b1220}:root[data-theme=dark] body,:root[data-theme=dark] .admin-shell,:root[data-theme=dark] .admin-content,:root[data-theme=dark] main{background:#0b1220;color:var(--ink)}.footer-brand-link{grid-column:1;grid-row:1;align-self:center;padding:0}:root[data-theme=dark] .topbar,:root[data-theme=dark] .admin-footer,:root[data-theme=dark] .mega-menu-shell,:root[data-theme=dark] .mega-menu,:root[data-theme=dark] .panel,:root[data-theme=dark] .dashboard-card,:root[data-theme=dark] .page-panel,:root[data-theme=dark] .base-modal,:root[data-theme=dark] .notification-popover,:root[data-theme=dark] .school-info-panel,:root[data-theme=dark] .footer-info-panel{border-color:var(--line);background:#101827;color:var(--ink);box-shadow:none}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{border-color:#3a4d68;background-color:#0c1524;color:var(--ink)}:root[data-theme=dark] select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%238fafc8' d='M3.5 5.5 8 10l4.5-4.5'/%3E%3C/svg%3E")}:root[data-theme=dark] input::placeholder,:root[data-theme=dark] textarea::placeholder{color:#7f90a7}:root[data-theme=dark] table,:root[data-theme=dark] th,:root[data-theme=dark] td,:root[data-theme=dark] .ag-root-wrapper,:root[data-theme=dark] .ag-header,:root[data-theme=dark] .ag-row,:root[data-theme=dark] .ag-cell{border-color:var(--line)}:root[data-theme=dark] th,:root[data-theme=dark] .ag-header,:root[data-theme=dark] .ag-row{background:#142033;color:var(--ink)}:root[data-theme=dark] td,:root[data-theme=dark] .ag-cell{background:#101827;color:var(--ink)}:root[data-theme=dark] .school-mark strong,:root[data-theme=dark] .school-mark span,:root[data-theme=dark] .crest,:root[data-theme=dark] .top-menu button,:root[data-theme=dark] .mega-menu-card,:root[data-theme=dark] .theme-toggle-button{color:var(--primary-dark)}:root[data-theme=dark] .logout-button,:root[data-theme=dark] .panel-save{background:#2f7de1;color:#fff}:root[data-theme=dark] .top-menu button:hover,:root[data-theme=dark] .top-menu button.active{background:var(--green);color:#fff}:root[data-theme=dark] .theme-toggle-button{border-color:#3a4d68;background:#142033;color:var(--primary-dark)}:root[data-theme=dark] .muted,:root[data-theme=dark] small,:root[data-theme=dark] .empty-text,:root[data-theme=dark] .toast span{color:var(--muted)}:root[data-theme=dark] .toast{border-color:var(--line);background:#101827;color:var(--ink);box-shadow:0 16px 38px #00000057}.form-error{margin:4px 0 0;color:#d64545;font-size:13px;font-weight:700}.form-actions button.primary-action{background:var(--primary-dark);border-color:var(--primary-dark);color:#fff}.join-approve-notice{padding:10px 14px;border-radius:6px;background:#eef4ff;border:1px solid #c3d9ff;font-size:13px;color:#1a4a8a}.join-approve-notice strong{font-weight:900}em.required{color:#d64545;font-style:normal;font-size:14px}html,body{height:100%}body{overflow:hidden}#app{height:100%}#app>.admin-shell{height:100dvh;min-height:0;overflow:hidden}#app>.admin-shell>.admin-content{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}:root[data-theme=dark] .summary-cards article{border-color:var(--line);background:#142033}:root[data-theme=dark] .summary-cards article span{color:var(--muted)}:root[data-theme=dark] .summary-cards article strong{color:var(--ink)}:root[data-theme=dark] .notice-list li,:root[data-theme=dark] .status-list li,:root[data-theme=dark] .activity-list li{border-color:var(--line)}:root[data-theme=dark] button.ghost-button{border-color:#7c4a4a;background:#142033;color:#ff9d9d}:root[data-theme=dark] button.ghost-button:hover:not(:disabled){border-color:#a05555;background:#2a1a24}
