:root{--brand:#426b85;--brand-strong:#294f68;--brand-soft:#eaf3f8;--surface:#fff;--canvas:#f3f7f9;--text:#173144;--subtle:#6b8291;--border:#d7e3e9;--success:#23845b;--warning:#c78316;--danger:#c94444;--purple:#7654b5;--radius:14px;--shadow-soft:0 12px 32px rgba(34,72,94,.08);--green:var(--brand);--green2:var(--brand-strong);--gold:var(--warning);--ink:var(--text);--muted:var(--subtle);--paper:var(--canvas);--card:var(--surface);--line:var(--border);--red:var(--danger);--shadow:var(--shadow-soft)}
body{color:var(--text);background:var(--canvas)}.app{grid-template-columns:244px minmax(0,1fr)}aside{width:244px;padding:20px 14px;background:linear-gradient(180deg,#3f6780 0%,#31566e 100%)}aside nav{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 3px 18px;margin-top:14px;scrollbar-width:thin;scrollbar-color:#87a8bb transparent}aside nav button{border-radius:10px;color:#eef8fd;font-weight:700;transition:background .18s,color .18s,transform .18s}aside nav button:hover{background:#ffffff14;transform:translateX(2px)}aside nav button.active{background:#fff;color:#31566e;box-shadow:0 5px 18px rgba(20,48,65,.18)}.logo{padding-bottom:18px}.side-foot{flex:0 0 auto}main{padding:0 24px 30px;background:linear-gradient(135deg,#f8fbfc 0%,#eef4f7 100%)}.app>main>header{height:auto;min-height:90px;gap:18px}.header-actions{align-items:center;flex-wrap:wrap;justify-content:flex-end}button{background:var(--brand);border-radius:10px}button.ghost{background:#edf3f6;color:var(--text)}button.danger{background:#fdeaea;color:var(--danger)}button:disabled{filter:none;opacity:.52;cursor:not-allowed}
.ui-settings{position:relative;order:-2}.ui-settings>summary{list-style:none;cursor:pointer;padding:10px 16px;border-radius:10px;background:#e9f0f4;font-weight:800}.ui-settings>summary::-webkit-details-marker{display:none}.ui-settings[open]>summary{background:var(--brand);color:#fff}.ui-settings-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:80;display:grid;width:210px;padding:8px;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:0 18px 48px rgba(30,61,79,.2)}.ui-settings-menu button{display:block!important;width:100%;text-align:left;background:transparent;color:var(--text);padding:10px 12px}.ui-settings-menu button:hover{background:var(--brand-soft)}.ui-settings-menu button.hidden{display:none!important}
.ui-role-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border:1px solid #cfe0e9;border-radius:18px;background:linear-gradient(125deg,#fff 0%,#eef7fb 100%);box-shadow:var(--shadow-soft)}.ui-role-hero small{color:var(--brand);font-weight:800}.ui-role-hero h2{margin:5px 0;font-size:27px}.ui-role-hero p{margin:0;color:var(--subtle)}.ui-quick{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.ui-quick button{padding:9px 13px}.ui-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:14px}.ui-metric{min-height:132px;padding:18px;border:1px solid var(--border);border-top:4px solid var(--brand);border-radius:16px;background:#fff;color:var(--text);text-align:left;box-shadow:var(--shadow-soft)}.ui-metric:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(34,72,94,.13)}.ui-metric span,.ui-metric small,.ui-metric strong{display:block}.ui-metric span{font-size:13px;color:var(--subtle)}.ui-metric strong{margin:8px 0 5px;font:800 31px/1 Georgia,"Microsoft YaHei UI"}.ui-metric small{font-weight:400;color:var(--subtle)}.ui-metric.red{border-top-color:var(--danger)}.ui-metric.amber{border-top-color:var(--warning)}
.ui-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(340px,.8fr);gap:14px;margin-top:14px}.ui-panel{min-height:390px;padding:20px;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:var(--shadow-soft)}.ui-panel>header{display:flex;align-items:center;justify-content:space-between;min-height:auto;margin-bottom:18px}.ui-panel>header small{color:var(--subtle)}.ui-panel>header h3{margin:4px 0 0}.ui-panel>header>b{display:grid;place-items:center;min-width:34px;height:34px;border-radius:20px;background:var(--brand-soft);color:var(--brand)}.ui-progress{margin:14px 0}.ui-progress>div{display:flex;justify-content:space-between;margin-bottom:6px;font-size:13px}.ui-progress>i{display:block;height:8px;overflow:hidden;border-radius:10px;background:#e7eef2}.ui-progress em{display:block;height:100%;border-radius:10px;background:linear-gradient(90deg,#5a8eaa,#86afc3)}.ui-task-list{display:grid}.ui-task{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 2px;border-bottom:1px solid var(--border);border-radius:0;background:transparent;color:var(--text);text-align:left}.ui-task:hover{padding-left:8px;background:#f5f9fb}.ui-task span,.ui-task b,.ui-task small{display:block}.ui-task small{margin-top:4px;color:var(--subtle);font-weight:400}.ui-task i{color:var(--brand);font-style:normal;font-size:12px}.ui-empty{padding:48px 15px;color:var(--subtle);text-align:center}
.page:not(.hidden){animation:ui-page-in .22s ease-out}.toolbar,.table-wrap,.panel,.metric,.proc-panel,.finance-panel{border-color:var(--border);background:#fff;box-shadow:var(--shadow-soft)}.toolbar{align-items:center}.toolbar input,.toolbar select{border-color:var(--border);background:#fff}.table-wrap,.pv-table-wrap{border-radius:14px;border:1px solid var(--border);box-shadow:var(--shadow-soft)}th{background:#eaf1f5;color:#405e70}tbody tr{transition:background .15s}tbody tr:hover{background:#f0f7fa}.badge{font-weight:800}.badge.purple{background:#f0eafb;color:var(--purple)}dialog{border:1px solid var(--border);border-radius:18px;background:#fff}dialog::backdrop{background:rgba(18,43,58,.10);backdrop-filter:none;-webkit-backdrop-filter:none}.dialog-head{padding-bottom:14px;border-bottom:1px solid var(--border)}.dialog-foot{padding-top:14px;background:#fff}.field input:disabled,.field select:disabled,.field textarea:disabled{color:#617986;background:#edf2f4;cursor:not-allowed}.field input:focus,.field select:focus,.field textarea:focus,[contenteditable=true]:focus{outline:2px solid #7db4d1;outline-offset:1px;border-color:#7db4d1}#toast{z-index:200;background:#18384b;box-shadow:0 12px 36px rgba(15,40,55,.3)}
.system-nav-title,.rd-nav-title,.proc-nav-title,.finance-nav-title{margin:17px 10px 5px;color:#bed4e0;font-size:11px;font-weight:800;letter-spacing:.08em}.manager-nav-group{margin:4px 0;border-radius:12px;background:#244b641f}.manager-nav-heading{width:100%;color:#fff!important;background:#ffffff0d!important}.manager-nav-heading:hover{transform:none!important}.manager-nav-items{gap:5px}.manager-nav-items button{width:100%}.ui-metric.static{cursor:default}.ui-metric.static:hover{transform:none;box-shadow:var(--shadow-soft)}.rd-tabs,.proc-actions,.pv-settle-head,.finance-kpis{gap:10px}.rd-tabs{padding:6px;border:1px solid var(--border);border-radius:13px;background:#eaf1f5}.rd-tabs button{background:transparent;color:var(--text)}.rd-tabs button.active{background:#fff;color:var(--brand-strong);box-shadow:0 4px 14px rgba(34,72,94,.1)}
@keyframes ui-page-in{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:1180px){.ui-metrics{grid-template-columns:repeat(2,1fr)}.ui-dashboard-grid{grid-template-columns:1fr}}@media(max-width:900px){.app{display:block}.ui-role-hero{align-items:flex-start;flex-direction:column}.ui-quick{justify-content:flex-start}.ui-metrics{grid-template-columns:1fr 1fr}.ui-dashboard-grid{grid-template-columns:1fr}.ui-panel{min-height:0}.ui-settings-menu{position:fixed;right:10px;top:68px}.manager-nav-group{display:block!important}.manager-nav-heading{display:none!important}.manager-nav-items{display:flex!important;padding:0!important}aside nav{overflow-x:auto;overflow-y:hidden;padding-bottom:4px}.ui-metric{min-height:112px}.ui-role-hero h2{font-size:23px}}@media(max-width:560px){.ui-metrics{grid-template-columns:1fr}.ui-metric{min-height:100px}.ui-role-hero{padding:17px}.ui-quick{display:grid;width:100%;grid-template-columns:1fr 1fr}.ui-quick button{width:100%}}
