@charset "UTF-8";
:root{--ink:#1b2940;--muted:#788497;--line:#e6eaf0;--paper:#f5f7fb;--primary:#485ce0;--sidebar:246px;--bs-primary:#485ce0;--bs-body-color:#28354a;--bs-body-font-family:Inter,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}body{background:var(--paper);font-size:14px;color:var(--ink)}a{color:var(--primary);text-decoration:none}a:hover{color:#273ba7}button,input,select,textarea{font:inherit}.sidebar{width:var(--sidebar);position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:28px 18px 16px;overflow:auto}.brand{display:flex;gap:12px;align-items:center;font-size:25px;font-weight:750;color:var(--ink);letter-spacing:-1px;padding:0 12px}.brand-icon{flex-shrink:0;background:var(--primary);color:white;border-radius:12px;width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;font-size:23px;letter-spacing:-2px}.brand-sub{font-size:9px;display:block;letter-spacing:1.4px;font-weight:600;color:#8a94a6;margin-top:2px}.nav-label{font-size:10px;font-weight:700;letter-spacing:1.3px;color:#99a2b3;margin:32px 14px 12px}.nav-link{color:#69758a;display:flex;gap:13px;padding:11px 14px;border-radius:8px;font-weight:550;margin:3px 0;font-size:13px}.nav-link span{width:19px;text-align:center;font-size:18px;line-height:20px}.nav-link:hover{background:#f6f7fc;color:var(--ink)}.nav-link.active{background:#eef0ff;color:var(--primary)}.sidebar-foot{margin-top:auto;padding:24px 7px 0;display:flex;gap:10px;align-items:center;font-size:12px}.sidebar-foot small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.avatar{display:grid;place-items:center;width:34px;height:34px;background:#f0e9ff;color:#7764ad;border-radius:50%;font-weight:700}.logout{border:0;background:none;color:var(--muted);font-size:22px}.sidebar-foot form{margin-left:auto}main{margin-left:var(--sidebar);min-height:100vh}.topbar{height:73px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 36px;font-size:12px}.muted,.text-secondary{color:var(--muted)!important}.manual-tag{margin-left:18px;padding:6px 10px;background:#f3f5f8;border-radius:5px;color:#7d8797;font-size:10px}.workspace{max-width:1700px;margin:auto;padding:34px 36px 50px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px}.eyebrow{font-size:9px;font-weight:750;letter-spacing:1.7px;color:#8b96a8;margin-bottom:9px}h1{font-size:29px;letter-spacing:-.8px;font-weight:700;margin:0}h2{font-size:16px;font-weight:650;letter-spacing:-.2px;margin:0 0 10px}h3{font-size:15px;font-weight:650}.page-intro{color:var(--muted);font-size:13px;margin-bottom:29px}.btn{border-radius:7px;font-size:12px;padding:10px 15px;font-weight:600;box-shadow:none!important}.btn-primary{background:var(--primary);border-color:var(--primary)}.btn-primary:hover{background:#394bc6;border-color:#394bc6}.btn-outline-primary{--bs-btn-color:var(--primary);--bs-btn-border-color:#d6dcf5;--bs-btn-hover-bg:var(--primary);--bs-btn-hover-border-color:var(--primary)}.btn-light{background:#f5f7fa;border:1px solid #e8ecf1;color:#5e6b7e}.btn-sm{padding:6px 10px;font-size:11px}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.stats-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card{background:#fff;border:1px solid var(--line);padding:22px;border-radius:11px;min-width:0}.stat-card>span,.stat-label{color:#788497;font-size:12px}.stat-label{display:flex;align-items:center;justify-content:space-between;gap:6px}.stat-card strong{font-size:29px;font-weight:650;letter-spacing:-.8px;display:block;margin:15px 0 7px;white-space:nowrap}.stat-card small{font-size:10px;color:#8c96a8}.stat-icon{display:inline-grid;place-items:center;background:#f0f2ff;color:#7583e1;width:28px;height:28px;border-radius:7px;font-size:15px}.stat-icon.green,.empty-icon.green{background:#eaf7f2;color:#39957b}.stat-icon.amber{background:#fff4e7;color:#cd9448}.panel{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:23px 25px;border-bottom:1px solid #eff1f5}.panel-heading h2{margin:0}.panel-heading p{font-size:11px;color:var(--muted);margin:6px 0 0}.panel-heading>a,.panel-heading>span{font-size:11px}.empty-state{text-align:center;padding:47px 20px;color:var(--muted)}.empty-state h3{color:#526078;margin:15px 0 9px}.empty-state p{font-size:12px;margin-bottom:20px}.empty-state.compact{padding:35px 20px}.empty-icon{display:grid;place-items:center;border-radius:50%;width:45px;height:45px;background:#f0f2fb;color:#9ba6c4;margin:auto;font-size:20px}.form-panel{padding:27px}.form-panel>p{font-size:12px;line-height:1.7}.quick-panel{background:linear-gradient(135deg,#fff,#f9faff)}.quick-panel a{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px;color:#59677e}.quick-panel a:last-child{border:0;padding-bottom:0}.quick-panel a span{font-size:18px;color:var(--primary)}.mini-total{font-size:27px;font-weight:650;margin:15px 0}.renewal-item{display:block;padding:12px 0;border-bottom:1px solid var(--line)}.renewal-item strong{display:block;font-size:12px}.renewal-item small{color:var(--muted)}.notice{display:flex;gap:15px;align-items:center;background:#fff9ef;border:1px solid #f4e6cb;border-radius:9px;padding:18px 22px;margin:24px 0 18px;color:#88642f}.notice-symbol{display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;border-radius:50%;background:#f7e8cc;font-weight:700}.notice strong{font-size:12px}.notice p{font-size:11px;margin:4px 0 0;line-height:1.6}.notice>a{margin-left:auto;white-space:nowrap}.table{font-size:12px;margin-bottom:0;vertical-align:middle}.table>:not(caption)>*>*{padding:16px 22px;border-bottom-color:#eef1f5;color:inherit}.table thead th{background:#fbfcfe;color:#8a95a6;font-size:10px;font-weight:600;white-space:nowrap;letter-spacing:.2px}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover{background:#fafbff}.table strong{font-weight:600}.table small{font-size:10px;margin-top:3px}.row-link{font-weight:600;color:#34445f}.nowrap{white-space:nowrap}.badge-soft{display:inline-block;white-space:nowrap;font-size:10px;border-radius:5px;padding:5px 8px;font-weight:550}.badge-soft.green{background:#eaf7f1;color:#388b70}.badge-soft.blue{background:#eef1fd;color:#6475bf}.badge-soft.amber{background:#fff4e5;color:#b58338}.toolbar{display:flex;gap:12px;align-items:center;padding:20px 22px;border-bottom:1px solid var(--line);flex-wrap:wrap}.search-wrap{position:relative;flex:1;min-width:180px}.search-wrap>span{position:absolute;left:12px;top:7px;font-size:20px;color:#98a3b4}.search-wrap input{padding-left:35px}.toolbar .form-select{width:auto;max-width:190px}.form-control,.form-select{border-color:#dfe5ee;border-radius:7px;min-height:40px;font-size:12px;padding:9px 12px;color:#435169}.form-control:focus,.form-select:focus{border-color:#9aa6ee;box-shadow:0 0 0 3px #485ce011}.form-label{font-size:11px;color:#647086;font-weight:550;margin-bottom:7px}.required{color:#be7373}.list-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:15px 22px;color:#929bab;font-size:10px}.section-nav{display:flex;justify-content:space-between;font-size:12px;margin:20px 0}.section-nav>span{color:var(--muted)}.form-actions{border-top:1px solid var(--line);margin-top:25px;padding-top:20px;display:flex;justify-content:space-between;gap:10px}.save-status{color:#44957a;font-size:11px}.narrow{max-width:850px;margin:25px auto 0}.amount-preview{background:#f4f6fe;border:1px solid #e3e8fa;padding:20px;border-radius:9px;margin:20px 0}.amount-preview span,.amount-preview small{display:block;color:#7b87a1;font-size:12px}.amount-preview strong{display:block;font-size:29px;margin:8px 0;color:var(--primary)}.segmented{display:inline-flex;background:#f0f2f7;border-radius:8px;padding:4px;gap:4px}.segmented a{padding:9px 14px;color:#818ba0;font-size:12px;border-radius:5px}.segmented a.selected{background:#fff;color:var(--primary);box-shadow:0 1px 4px #1225480d}.allocation-row{display:flex;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:14px 0}.allocation-row label{flex:1}.allocation-row strong{font-size:12px}.allocation-row small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.allocation-row input{width:140px}.allocation-total{background:#f5f7fc;padding:14px;font-size:12px;border-radius:6px}.void-control{font-size:10px;min-width:100px}.void-control[open]{min-width:190px;max-width:250px}.void-control summary{color:#9a7480;cursor:pointer}.audit-detail{font-size:10px;white-space:pre-wrap;max-width:620px;max-height:300px;overflow:auto;background:#f6f7fb;padding:12px;margin-top:10px}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:18px 36px;color:#a2aabb;font-size:10px}.auth-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at top left,#e9edff,transparent 65%),#f6f8fc}.auth-card{width:440px;max-width:calc(100vw - 32px);padding:42px;background:#fff;border:1px solid #e1e6f0;border-radius:16px;box-shadow:0 20px 80px #29385b0a}.auth-card .brand{padding:0}.auth-card h1{margin:12px 0}.auth-card p{font-size:13px;line-height:1.8}.auth-note{font-size:10px!important;color:#a1a9b8;margin:25px 0 0;text-align:center}.alert{font-size:12px;border-radius:8px}
@media(min-width:1600px){.workspace{padding:42px 48px}.stat-card{padding:25px}}@media(max-width:1200px){.stats-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{padding:25px}.sidebar{width:215px}main{margin-left:215px}.brand{font-size:22px}.table>:not(caption)>*>*{padding:14px}}@media(max-width:800px){.sidebar{position:static;width:100%;padding:16px;display:block}.sidebar .brand{padding:0}.sidebar nav{display:flex;overflow:auto;gap:5px;margin-top:15px}.nav-link{white-space:nowrap;font-size:11px;padding:8px}.nav-label,.sidebar-foot,.sidebar nav .nav-label{display:none}main{margin-left:0}.topbar{height:50px;padding:0 20px}.manual-tag{display:none}.workspace{padding:24px 16px}.page-heading h1{font-size:24px}.page-heading>.btn{font-size:10px;padding:9px}.stats-grid{grid-template-columns:1fr}.stat-card{padding:17px}.stat-card strong{font-size:24px}.stat-card small{font-size:9px}.notice{align-items:flex-start}.notice>a{display:none}.form-panel{padding:20px}.list-footer>span:last-child{display:none}.toolbar{padding:15px}.toolbar .form-select{max-width:100%}.panel-heading{padding:20px}footer{padding:18px}.top-date{font-size:10px}.stat-label{font-size:10px}.allocation-row{gap:10px}.allocation-row input{width:100px}}
