:root{--app-bg:#eef2f7;--app-panel:#fff;--app-panel-soft:#fbfdff;--app-text:#0f172a;--app-text-muted:#64748b;--app-border:#e2e8f0;--app-border-soft:#edf2f7;--app-table-head:#f8fafc;--app-table-hover:#f1f7ff;--app-header-bg:#fffffff0;--app-shadow:0 10px 28px #0f172a0f;--app-shadow-strong:0 24px 80px #0f172a24;--app-primary:#2563eb;--app-primary-hover:#1d4ed8;color:var(--app-text);background:var(--app-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{--app-bg:#0b1120;--app-panel:#111827;--app-panel-soft:#0f172a;--app-text:#e5eef9;--app-text-muted:#94a3b8;--app-border:#243244;--app-border-soft:#1e293b;--app-table-head:#0f172a;--app-table-hover:#172033;--app-header-bg:#111827f0;--app-shadow:0 12px 32px #0003;--app-shadow-strong:0 24px 90px #00000061}*{box-sizing:border-box}body{background:var(--app-bg);min-width:320px;min-height:100vh;margin:0}a{color:#2563eb;cursor:pointer;font-weight:500}a:hover{color:#1d4ed8}.app-shell{background:var(--app-bg);min-height:100vh}.app-sider.ant-layout-sider{z-index:3;box-shadow:10px 0 30px #0f172a24;background:#101828!important}.app-sider .ant-layout-sider-children{background:#101828}.app-brand{color:#f8fafc;align-items:center;gap:11px;height:64px;margin:14px 16px 12px;padding:0 4px;font-size:15px;font-weight:750;display:flex}.app-brand-mark{color:#fff;background:#0ea5e9;border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;font-size:15px;font-weight:850;display:inline-flex;box-shadow:0 10px 24px #0ea5e952}.app-menu.ant-menu{color:#cbd5e1;padding:4px 10px 18px;background:0 0!important;border-inline-end:0!important}.app-menu .ant-menu-item,.app-menu .ant-menu-submenu-title{border-radius:8px;width:100%;margin-inline:0;color:#cbd5e1!important}.app-menu .ant-menu-item .anticon,.app-menu .ant-menu-submenu-title .anticon{color:#94a3b8!important}.app-menu .ant-menu-item:hover,.app-menu .ant-menu-submenu-title:hover{color:#fff!important;background:#ffffff14!important}.app-menu .ant-menu-item-selected{box-shadow:0 10px 22px #2563eb47;color:#fff!important;background:#2563eb!important}.app-menu .ant-menu-item-selected .anticon,.app-menu .ant-menu-submenu-selected>.ant-menu-submenu-title .anticon{color:#fff!important}.app-menu .ant-menu-sub,.app-menu .ant-menu-sub.ant-menu-inline{background:0 0!important}.app-menu .ant-menu-submenu-arrow{color:#94a3b8!important}.app-header.ant-layout-header{background:var(--app-header-bg);border-bottom:1px solid var(--app-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:2;justify-content:space-between;align-items:center;height:64px;padding:0 24px;line-height:64px;display:flex;position:sticky;top:0}.app-page-title{color:var(--app-text);font-size:18px;font-weight:760;line-height:1}.app-header-actions{align-items:center;gap:12px;display:flex}.app-content.ant-layout-content{background:var(--app-bg);margin:0;padding:24px;overflow:auto}.app-content>div,.app-content>.ant-card,.app-content>.ant-tabs{max-width:1680px}.ant-card{border:1px solid var(--app-border);box-shadow:var(--app-shadow);border-radius:8px}.ant-card+.ant-card,.ant-card+div,div+.ant-card{margin-top:16px}.ant-card-head{border-bottom-color:var(--app-border-soft);min-height:54px}.ant-card-head-title{color:var(--app-text);font-weight:720}.ant-card-body{padding:18px}.ant-table-wrapper .ant-table{border-radius:8px;overflow:hidden}.ant-table-thead>tr>th{color:var(--app-text-muted);font-weight:700;background:var(--app-table-head)!important;border-bottom:1px solid var(--app-border)!important}.ant-table-tbody>tr>td{border-bottom-color:var(--app-bg)!important}.ant-table-tbody>tr:hover>td{background:var(--app-table-hover)!important}.ant-table-cell{vertical-align:middle}.ant-pagination{margin-bottom:0!important}.ant-btn{box-shadow:none;border-radius:7px;font-weight:560}.ant-btn-primary{background:var(--app-primary);border-color:var(--app-primary)}.ant-btn-primary:hover{background:var(--app-primary-hover)!important;border-color:var(--app-primary-hover)!important}.ant-input,.ant-input-affix-wrapper,.ant-select-selector,.ant-input-number,.ant-picker{border-radius:8px!important}.ant-input:hover,.ant-input-affix-wrapper:hover,.ant-select-selector:hover,.ant-input-number:hover{border-color:#93c5fd!important}.ant-tag{border:0;border-radius:999px;padding-inline:8px;font-weight:560}.ant-statistic-title{color:var(--app-text-muted);font-size:13px;margin-bottom:8px!important}.ant-statistic-content{color:var(--app-text);font-weight:760}.ant-modal-content{border-radius:8px;box-shadow:0 24px 80px #0f172a38}.ant-descriptions-view{border-radius:8px}.login-page{background:var(--app-bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-shell{background:var(--app-panel);border:1px solid var(--app-border);width:min(920px,100%);min-height:500px;box-shadow:var(--app-shadow-strong);border-radius:8px;grid-template-columns:1fr 420px;display:grid;overflow:hidden}.login-brand-panel{color:#f8fafc;background:#101828;flex-direction:column;justify-content:space-between;padding:42px;display:flex}.login-brand-panel h1{letter-spacing:0;margin:18px 0 10px;font-size:30px;line-height:1.18}.login-brand-panel p{color:#cbd5e1;margin:0;font-size:14px}.login-brand-large{color:#fff;background:#0ea5e9;border-radius:8px;justify-content:center;align-items:center;width:52px;height:52px;font-size:22px;font-weight:850;display:inline-flex}.login-meta{color:#94a3b8;font-size:13px}.login-card.ant-card{box-shadow:none;border:0;border-radius:0;align-items:center;display:flex}.login-card .ant-card-body{width:100%;padding:42px}.login-title{color:var(--app-text);margin:0 0 8px;font-size:24px;font-weight:760}.login-subtitle{color:var(--app-text-muted);margin:0 0 28px;font-size:13px}.dashboard-page{flex-direction:column;gap:18px;display:flex}.dashboard-hero{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0 0 6px}.dashboard-hero h1{color:var(--app-text);margin:0;font-size:24px;font-weight:780}.dashboard-scope-hint,.page-hero-hint{color:var(--app-text-muted,#94a3b8);margin:6px 0 0;font-size:13px}.metric-card.ant-card{border-radius:8px;height:100%;box-shadow:0 10px 26px #0f172a0f}.metric-card .ant-card-body{padding:18px}.metric-kicker{background:var(--app-table-hover);color:#2563eb;border-radius:999px;align-items:center;height:24px;margin-bottom:12px;padding:0 9px;font-size:12px;font-weight:700;display:inline-flex}.metric-card.is-green .metric-kicker{color:#16a34a;background:#ecfdf5}.metric-card.is-red .metric-kicker{color:#dc2626;background:#fef2f2}.metric-card.is-amber .metric-kicker{color:#d97706;background:#fffbeb}.metric-card.is-slate .metric-kicker{color:var(--app-text-muted);background:#f1f5f9}.stat-grid .ant-card{height:100%}@media (width<=900px){.login-shell{grid-template-columns:1fr}.login-brand-panel{display:none}}@media (width<=768px){.app-content.ant-layout-content{padding:14px}.app-header.ant-layout-header{padding:0 14px}.app-page-title{font-size:16px}}.page-hero{box-shadow:none;background:0 0;border:0;border-radius:0;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding:0 0 6px;display:flex}.page-hero h1{color:var(--app-text);margin:0;font-size:22px;font-weight:780}.filter-card.ant-card .ant-card-body{padding:14px 16px}.table-card.ant-card .ant-card-body,.table-card .ant-table-wrapper{padding:0}.table-card .ant-table-pagination{padding:0 16px 16px}@media (width<=768px){.page-hero{flex-direction:column;align-items:flex-start;padding:0 0 4px}}.app-brand-copy{flex-direction:column;line-height:1.05;display:flex}.app-brand-copy small{color:#94a3b8;margin-top:4px;font-size:11px;font-weight:700}.app-user-button.ant-btn{background:var(--app-table-head);border:1px solid var(--app-border);height:38px;color:var(--app-text-muted);padding:0 12px}.app-user-button.ant-btn:hover{background:var(--app-table-hover)!important;color:#1d4ed8!important}.app-content>div,.app-content>.ant-card,.app-content>.ant-tabs{width:100%;margin-inline:auto}.page-shell{width:100%;max-width:1680px;margin:0 auto}.clean-tabs.ant-tabs>.ant-tabs-nav{margin:0 0 14px}.clean-tabs .ant-tabs-tab{border-radius:8px;padding:9px 14px}.clean-tabs .ant-tabs-tab-active{background:var(--app-panel);box-shadow:0 8px 22px #0f172a0f}.form-card.ant-card .ant-card-head,.summary-card.ant-card .ant-card-head{background:var(--app-panel-soft)}.summary-card.ant-card{position:sticky;top:88px}.summary-card .ant-statistic{padding:10px 0}.detail-metrics .ant-card,.detail-metrics.ant-card{background:var(--app-panel)}.money-positive{color:#16a34a;font-weight:700}.money-negative{color:#dc2626;font-weight:700}.inline-note{background:var(--app-table-head);border:1px solid var(--app-border);color:var(--app-text-muted);border-radius:8px;padding:10px 12px;font-size:13px}.ant-form-item-label>label{color:var(--app-text-muted);font-weight:620}.ant-descriptions .ant-descriptions-item-label{color:var(--app-text-muted)}.ant-steps .ant-steps-item-title{font-weight:620;color:var(--app-text-muted)!important}@media (width<=1200px){.summary-card.ant-card{position:static}}.report-grid .ant-card,.detail-metrics .ant-card{height:100%}.report-grid .ant-card-body,.detail-metrics .ant-card-body{padding:16px}.section-card.ant-card .ant-card-head{background:var(--app-panel-soft)}.action-success.ant-btn{color:#fff;background:#16a34a;border-color:#16a34a}.action-success.ant-btn:hover{color:#fff!important;background:#15803d!important;border-color:#15803d!important}.login-theme-switch{z-index:2;position:fixed;top:24px;right:24px}:root[data-theme=dark] .ant-card,:root[data-theme=dark] .ant-modal-content,:root[data-theme=dark] .ant-table,:root[data-theme=dark] .ant-table-container,:root[data-theme=dark] .ant-select-dropdown,:root[data-theme=dark] .ant-dropdown-menu{background:var(--app-panel)}:root[data-theme=dark] .ant-table-tbody>tr>td{background:var(--app-panel)!important}:root[data-theme=dark] .ant-table-tbody>tr:hover>td{background:var(--app-table-hover)!important}.card-extra-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}@media (width<=768px){.card-extra-actions{justify-content:flex-start}}
