@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@500&family=Noto+Sans+KR:wght@400;500;700&family=Noto+Serif+KR:wght@500;700&display=swap";:root{--color-navy:#1c2b45;--color-navy-deep:#16223a;--color-navy-active:#101a2d;--color-brass:#b68a35;--color-brass-light:#e4cb8f;--color-paper:#f6f3ec;--color-card:#fff;--color-ink:#22262e;--color-ink-soft:#6b7180;--color-line:#e1ddd2;--color-line-soft:#ece8de;--color-success:#2e6b52;--color-success-hover:#255b45;--color-error:#b5512a;--color-error-deep:#873b20;--color-surface-muted:#fcfbf8;--color-surface-header:#faf8f3;--color-surface-strong:#f3efe4;--color-success-bg:#eaf3ee;--color-success-border:#9ec9b0;--color-error-bg:#fff1ed;--color-error-soft-bg:#fff8f5;--color-error-border:#d58a72;--color-warning-bg:#fbf6ea;--color-warning-text:#6b5421;--color-neutral-active-bg:#eef1f5;--color-neutral-bg:#f3f1ec;--color-neutral-border:#d8d4ca;--color-sidebar-text:#b7c0cf;--color-placeholder:#a6a9b0;--color-emblem-ring:#f0ece2;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--radius-xl:12px;--control-height:40px;--shadow-dropdown:0 12px 35px #0c15252e;--shadow-elevated:0 8px 30px #16223a1f;--shadow-modal:0 24px 70px #050d1b47;--shadow-focus:0 0 0 3px #1c2b4512;--shadow-card:0 2px 6px #16223a0a;--shadow-login:0 22px 65px #16223a24, 0 2px 6px #16223a0d}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:var(--color-ink);background:var(--color-paper);font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;line-height:1.5}button,input,textarea,select{font:inherit}code,time,.ant-statistic-content-value{font-variant-numeric:tabular-nums}.ant-typography h1,.ant-typography h2,h1.ant-typography,h2.ant-typography,.page-header .ant-typography{color:var(--color-navy-deep);font-family:Noto Serif KR,Georgia,serif}.ant-card{border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.ant-card .ant-card-head{min-height:48px;color:var(--color-navy-deep);border-bottom-color:var(--color-line);padding:0 18px;font-size:14px;font-weight:600}.ant-card .ant-card-body{padding:20px}.ant-btn{border-radius:var(--radius-sm);font-weight:500;box-shadow:none!important}.ant-btn:not(.ant-btn-sm){min-height:40px}.ant-btn-default{background:var(--color-surface-muted)}.ant-btn-text,.ant-btn-link{color:var(--color-ink-soft)}.ant-btn-text:hover,.ant-btn-link:hover{color:var(--color-navy)!important;background:var(--color-surface-strong)!important}.ant-btn-primary.ant-btn-dangerous{background:var(--color-error)}.ant-input,.ant-input-affix-wrapper,.ant-select-selector,.ant-input-number{background:var(--color-surface-muted)!important;border-color:var(--color-line)!important;border-radius:var(--radius-sm)!important}.ant-input::placeholder,.ant-input-affix-wrapper input::placeholder{color:var(--color-placeholder)}.ant-input:hover,.ant-input-affix-wrapper:hover,.ant-select:hover .ant-select-selector{border-color:var(--color-navy)!important}.ant-input:focus,.ant-input-focused,.ant-input-affix-wrapper-focused{background:var(--color-card)!important;border-color:var(--color-navy)!important;box-shadow:var(--shadow-focus)!important}.ant-form-item{margin-bottom:16px}.ant-form-item .ant-form-item-label>label{color:var(--color-ink-soft);font-size:12px;font-weight:500}.ant-form-item-has-error .ant-input,.ant-form-item-has-error .ant-input-affix-wrapper,.ant-form-item-has-error .ant-input:focus,.ant-form-item-has-error .ant-input-affix-wrapper-focused{color:var(--color-ink);background:var(--color-error-soft-bg)!important;border-color:var(--color-error)!important;box-shadow:0 0 0 3px #b5512a12!important}.ant-form-item-explain-error{color:var(--color-error);font-size:11px}.ant-table-wrapper{border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden}.ant-table-wrapper .ant-table{border-radius:0}.ant-table-wrapper .ant-table-thead>tr>th{color:var(--color-ink-soft);border-bottom-color:var(--color-line);font-size:12px;font-weight:600}.ant-table-wrapper .ant-table-tbody>tr>td{color:var(--color-ink);border-bottom-color:var(--color-line)}.ant-table-wrapper .ant-table-tbody>tr.ant-table-row:hover>td{background:var(--color-surface-muted)}.ant-pagination .ant-pagination-item-active{background:var(--color-navy-deep);border-color:var(--color-navy-deep)}.ant-pagination .ant-pagination-item-active a{color:#fff}.ant-modal-root .ant-modal-mask{background:#09111f7a}.ant-modal .ant-modal-content{border-radius:var(--radius-xl);box-shadow:var(--shadow-modal);padding:0;overflow:hidden}.ant-modal .ant-modal-header{border-bottom:1px solid var(--color-line);margin:0;padding:18px 22px 14px}.ant-modal .ant-modal-body{padding:20px 22px 22px}.ant-modal .ant-modal-footer{margin-top:0;padding:0 22px 22px}.ant-modal .ant-modal-title{color:var(--color-navy-deep);font-family:Noto Serif KR,serif}.ant-modal-confirm .ant-modal-content{padding:20px 22px 22px}.ant-modal-confirm .ant-modal-body{padding:0}.review-modal-approve .ant-modal-header{border-top:3px solid var(--color-success)}.review-modal-reject .ant-modal-header{border-top:3px solid var(--color-error)}.success-action.ant-btn-primary{background:var(--color-success);border-color:var(--color-success)}.success-action.ant-btn-primary:hover{background:var(--color-success-hover)!important;border-color:var(--color-success-hover)!important}.ant-dropdown .ant-dropdown-menu{border:1px solid var(--color-line);border-radius:var(--radius-md);box-shadow:var(--shadow-dropdown);padding:6px}.ant-dropdown .ant-dropdown-menu-item{border-radius:var(--radius-sm);font-size:13px}.language-switcher.ant-btn{border-color:var(--color-line);background:var(--color-surface);height:38px;color:var(--color-navy-deep);border-radius:999px;align-items:center;gap:8px;padding:0 12px;display:inline-flex;box-shadow:0 2px 8px #09111f0f}.language-switcher.ant-btn:hover{border-color:var(--color-brass);color:var(--color-navy-deep);background:var(--color-surface-muted)}.language-globe{color:var(--color-brass);font-size:16px}.language-chevron{color:var(--color-ink-soft);font-size:10px}.language-flag{border-radius:3px;flex:none;width:24px;height:16px;display:block;overflow:hidden;box-shadow:0 0 0 1px #09111f24}.language-menu .ant-dropdown-menu{min-width:218px;padding:8px}.language-menu .ant-dropdown-menu-item{padding:9px 10px}.language-menu .ant-dropdown-menu-item-selected{background:var(--color-surface-muted)}.language-option{align-items:center;gap:11px;width:100%;display:flex}.language-option-copy{flex-direction:column;flex:1;line-height:1.25;display:flex}.language-option-copy b{color:var(--color-navy-deep);font-size:13px;font-weight:650}.language-option-copy small{color:var(--color-ink-soft);margin-top:2px;font-size:11px}.language-check{color:var(--color-success);font-size:13px}.ant-alert{border-radius:var(--radius-md)}.ant-alert-info,.ant-alert-warning{color:var(--color-warning-text);background:var(--color-warning-bg);border-color:var(--color-brass-light)}.ant-alert-success{color:var(--color-success);background:var(--color-success-bg);border-color:var(--color-success-border)}.ant-alert-error{color:var(--color-error-deep);background:var(--color-error-bg);border-color:var(--color-error-border)}.ant-skeleton .ant-skeleton-title,.ant-skeleton .ant-skeleton-paragraph>li{background:linear-gradient(90deg, var(--color-surface-strong) 25%, var(--color-surface-header) 37%, var(--color-surface-strong) 63%)}.semantic-tag{border-radius:var(--radius-xs);margin-inline-end:0;font-size:11px;font-weight:600;line-height:20px}.status-success{color:var(--color-success)!important;background:var(--color-success-bg)!important;border-color:var(--color-success-border)!important}.status-error{color:var(--color-error)!important;background:var(--color-error-bg)!important;border-color:var(--color-error-border)!important}.status-warning{color:var(--color-warning-text)!important;background:var(--color-warning-bg)!important;border-color:var(--color-brass-light)!important}.status-processing{color:var(--color-navy-deep)!important;background:var(--color-neutral-active-bg)!important;border-color:var(--color-sidebar-text)!important}.status-neutral{color:var(--color-ink-soft)!important;background:var(--color-neutral-bg)!important;border-color:var(--color-neutral-border)!important}.app-shell{min-height:100vh}.sidebar{z-index:20;height:100vh;top:0;background:var(--color-navy-deep)!important;position:sticky!important}.brand{color:#fff;white-space:nowrap;align-items:center;gap:10px;height:64px;padding:12px 16px;display:flex;overflow:hidden}.brand b{font-weight:600}.brand small{color:var(--color-sidebar-text);margin-top:1px;font-size:10.5px;display:block}.brand-mark{border-radius:var(--radius-sm);background:var(--color-navy);width:34px;min-width:34px;height:34px;color:var(--color-brass-light);border:1px solid #e4cb8f73;place-items:center;font-family:Noto Serif KR,serif;font-weight:700;display:grid}.brand-mark.large{border:5px solid var(--color-emblem-ring);outline:1px solid var(--color-line);border-radius:50%;width:58px;height:58px;font-size:23px}.sidebar .ant-menu-item-selected{box-shadow:inset 3px 0 0 var(--color-brass)}.topbar{z-index:15;border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:center;height:58px;padding:0 24px;display:flex;position:sticky;top:0;background:var(--color-card)!important}.topbar h4{color:var(--color-navy-deep);font-size:15px;margin:0!important}.header-icon{color:var(--color-ink-soft);padding:8px;font-size:17px}.content{background:var(--color-paper);padding:24px 28px;overflow:auto}.content-inner{width:min(1450px,100%);margin:0 auto}.page-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.page-header h2{font-size:23px;line-height:1.35;margin:0 0 3px!important}.page-header .ant-typography-secondary{font-family:Noto Sans KR,sans-serif;font-size:12.5px}.page-actions{flex-shrink:0}.stat-card{border-top:2px solid var(--color-brass);height:100%;box-shadow:none}.stat-card .ant-statistic-title{color:var(--color-ink-soft);font-size:12px}.stat-card .ant-statistic-content{color:var(--color-navy-deep);font-size:25px}.stat-card .ant-statistic-content-prefix{color:var(--color-brass);background:var(--color-warning-bg);border-radius:var(--radius-sm);margin-right:12px;padding:7px;font-size:19px}.section-row,.section-card{margin-top:20px}.chart-wrap{min-height:280px}.completion{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:280px;display:flex}.completion>div:first-child{border-radius:var(--radius-xs);background:var(--color-surface-strong);width:min(420px,90%);height:12px;overflow:hidden}.completion>div:first-child span{background:var(--color-brass);height:100%;display:block}.completion h3{color:var(--color-navy-deep);margin:18px 0 2px!important}.request-list,.full-width{width:100%}.request-item{border:0;border-bottom:1px solid var(--color-line);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;gap:12px;width:100%;padding:12px 0;display:flex}.request-item:hover,.request-item:focus-visible{color:var(--color-navy-deep);background:var(--color-surface-muted)}.request-item small{color:var(--color-ink-soft);white-space:nowrap;text-overflow:ellipsis;max-width:300px;display:block;overflow:hidden}.request-item time{color:var(--color-ink-soft);white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:10.5px}.clickable-row{cursor:pointer}.filters{align-items:center;gap:8px;margin-bottom:14px;display:flex}.school-search{width:min(420px,100%)}.filter-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.filter-popover{gap:10px;width:280px;display:grid}.link-button{color:var(--color-navy-deep);cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-weight:600}.link-button:hover{color:var(--color-brass);text-decoration:underline}.pending-dot{color:var(--color-warning-text);font-weight:600}.pending-dot:before{content:"";background:var(--color-brass);border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.muted{color:var(--color-ink-soft);margin-top:5px;font-weight:400}.modal-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.review-banner{margin-bottom:20px}.back-button{margin-bottom:8px;padding-left:0}.application-summary{margin-bottom:16px}.application-details .ant-collapse{background:0 0}.application-details .ant-collapse-item{background:var(--color-card);margin-bottom:12px;overflow:hidden;border:1px solid var(--color-line)!important;border-radius:var(--radius-lg)!important}.application-details .ant-collapse-header{background:var(--color-surface-header);font-weight:600;color:var(--color-navy-deep)!important}.equipment{flex-wrap:wrap;align-items:center;gap:16px;margin-top:16px;display:flex}.full-loader{background:var(--color-paper);place-items:center;min-height:100vh;display:grid}.login-page{background:var(--color-paper);place-items:center;min-height:100vh;padding:24px;display:grid}.login-visual{display:none}.login-panel{place-items:center;width:100%;display:grid}.login-card{border:1px solid var(--color-line);border-radius:var(--radius-xl);width:min(430px,100%);box-shadow:var(--shadow-login);position:relative;overflow:hidden}.login-card:before{content:"";background:var(--color-brass);height:3px;position:absolute;inset:0 0 auto}.login-card .ant-card-body{padding:34px 36px 36px}.login-emblem{margin:0 auto 20px}.login-card h2{color:var(--color-navy-deep);font-family:Noto Serif KR,serif;font-size:24px;margin:10px 0 5px!important}.eyebrow{color:var(--color-brass);letter-spacing:1.8px;font-size:10px;font-weight:700}.form-alert{margin:18px 0}.signature-preview{object-fit:contain;background:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius-md);max-width:min(100%,640px);max-height:320px;padding:12px;display:block}.application-not-found{text-align:center;padding:32px 12px}.request-reason-title{margin-top:20px!important}.request-reason{white-space:pre-wrap;background:var(--color-surface-muted);border:1px solid var(--color-line);border-radius:var(--radius-md);min-height:48px;padding:12px}.request-action-trigger{color:var(--color-warning-text);background:var(--color-warning-bg);border-color:var(--color-brass-light);box-shadow:0 0 0 2px #b68a351a!important}.request-action-trigger:hover,.request-action-trigger:focus-visible{color:var(--color-navy-deep)!important;background:var(--color-brass-light)!important;border-color:var(--color-brass)!important}@media (width<=992px){.filters{align-items:stretch}.school-search{flex:1;min-width:0}}@media (width<=767px){.content{padding:18px 14px}.topbar{padding:0 12px}.desktop-only{display:none}.page-header{flex-direction:column}.page-actions{width:100%}.filters{flex-wrap:wrap}.school-search{flex-basis:100%;width:100%}.filter-actions{justify-content:flex-end;width:100%}.login-page{padding:16px}.login-card .ant-card-body{padding:30px 22px 24px}.ant-modal{max-width:calc(100vw - 28px);margin:14px auto}}
