@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/inter/latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/inter/latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--primary:#6e56f2;--primary-soft:#efeafe;--primary-deep:#5840d0;--bg:#f7f8fb;--panel:#fff;--panel-soft:#fafafd;--fg:#0f1729;--fg-soft:#2d3548;--muted:#6b7387;--subtle:#9aa1ae;--border:#eceef4;--border-soft:#f2f3f8;--accent-lavender:#f1ecfe;--accent-lavender-fg:#6e56f2;--accent-mint:#e4f6ec;--accent-mint-fg:#23a66a;--accent-sky:#e5f2fe;--accent-sky-fg:#2c8dee;--accent-peach:#feeee0;--accent-peach-fg:#e78a3a;--accent-rose:#ffe8ec;--accent-rose-fg:#e45a6e;--accent-amber:#fff4d6;--accent-amber-fg:#c99528;--accent-coral:#ffe7dd;--accent-coral-fg:#e5663b;--accent-lime:#eef6d8;--accent-lime-fg:#8da126;--accent-gray:#eef0f4;--accent-gray-fg:#6b7387;--dumu-active:#6e56f2;--gis-neutral:#9aa1ae;--prospect-accent:#e78a3a;--shadow-sm:0 1px 2px #1217290a;--shadow-md:0 4px 14px #1217290d;--shadow-lg:0 12px 32px #12172914;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:24px;--radius-pill:999px;--sidebar-w:252px;--topbar-h:76px;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-size:14px;line-height:1.5}a{color:var(--primary);text-decoration:none}img{max-width:100%;display:block}svg{vertical-align:-.15em;width:1em;height:1em;display:inline-block}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit}h1,h2,h3,h4{color:var(--fg);margin:0;font-weight:700;line-height:1.25}h1{letter-spacing:-.01em;font-size:1.5rem}h2{font-size:1.15rem}h3{font-size:.95rem}p{margin:0}.muted{color:var(--muted)}.subtle{color:var(--subtle)}.small{font-size:.8125rem}.tiny{font-size:.75rem}[hidden]{display:none!important}.app{grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh;display:grid}.sidebar{background:var(--panel);border-right:1px solid var(--border);flex-direction:column;height:100vh;padding:22px 16px 18px;display:flex;position:sticky;top:0}.sidebar-brand{align-items:center;gap:8px;padding:4px 8px 22px;display:flex}.sidebar-brand img{width:auto;height:28px}.hq-pill{background:var(--primary-soft);color:var(--primary);letter-spacing:.04em;border-radius:var(--radius-pill);padding:2px 7px;font-size:.65rem;font-weight:800}.sidebar-nav{flex-direction:column;flex:1;gap:14px;margin:0 -6px;padding:0 6px 12px;display:flex;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.nav-group-label{letter-spacing:.06em;text-transform:uppercase;color:var(--subtle);padding:8px 12px 4px;font-size:.68rem;font-weight:700}.nav-group:first-child .nav-group-label{padding-top:0}.nav-item{color:var(--fg-soft);white-space:nowrap;border-radius:12px;align-items:center;gap:11px;padding:9px 12px;font-size:.86rem;font-weight:500;display:flex}.nav-item:hover{background:var(--bg);text-decoration:none}.nav-item .nav-icon{width:17px;height:17px;color:var(--muted);flex-shrink:0}.nav-item.active{background:var(--primary-soft);color:var(--primary)}.nav-item.active .nav-icon{color:var(--primary)}.hq-org-wrap{margin-top:14px;position:relative}.hq-org-card{background:var(--accent-lavender);border-radius:var(--radius-lg);text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;border:1px solid #0000;align-items:center;gap:10px;padding:14px;display:flex}.hq-org-card:hover,.hq-org-card[aria-expanded=true]{border-color:var(--primary-soft);background:var(--primary-soft)}.hq-org-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.hq-org-icon{font-size:1.3rem}.hq-org-meta{flex:1;min-width:0}.hq-org-name{font-size:.85rem;font-weight:700}.hq-org-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.hq-org-chevron svg{width:14px;height:14px;color:var(--muted)}.workspace-menu{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:120;padding:6px;position:absolute;bottom:calc(100% + 8px);left:0;right:0}.workspace-menu-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:8px 10px 6px;font-size:.7rem;font-weight:700}.workspace-item{text-align:left;width:100%;font:inherit;color:var(--fg-soft);cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:10px;padding:9px 10px;text-decoration:none;display:flex}.workspace-item:hover{background:var(--bg);text-decoration:none}.workspace-item.active{background:var(--primary-soft);color:var(--primary)}.workspace-item.is-disabled{opacity:.55;cursor:not-allowed}.workspace-flag{text-align:center;flex-shrink:0;width:22px;font-size:1.05rem}.workspace-flag svg{width:15px;height:15px;color:var(--muted)}.workspace-meta{flex-direction:column;flex:1;min-width:0;display:flex}.workspace-name{font-size:.85rem;font-weight:600}.workspace-sub{color:var(--muted);font-size:.72rem}.workspace-check svg{width:16px;height:16px;color:var(--primary)}.main{flex-direction:column;min-width:0;display:flex}.topbar{min-height:var(--topbar-h);background:var(--bg);z-index:5;justify-content:space-between;align-items:center;gap:24px;padding:18px 32px;display:flex;position:sticky;top:0}.global-search{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-pill);flex:1;align-items:center;gap:10px;max-width:460px;padding:10px 16px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.global-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.global-search-icon svg{width:16px;height:16px;color:var(--muted)}.global-search input{color:var(--fg);background:0 0;border:none;outline:none;flex:1;font-size:.875rem}.global-search-results{background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:40;max-height:70vh;padding:8px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto}.gs-section{padding:6px 10px 2px}.gs-section-label{letter-spacing:.05em;text-transform:uppercase;color:var(--subtle);font-size:.68rem;font-weight:700}.gs-row{color:var(--fg);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.gs-row:hover{background:var(--bg)}.gs-row .gs-icon{background:var(--accent-lavender);width:30px;height:30px;color:var(--primary);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.gs-row .gs-icon svg{width:15px;height:15px}.gs-title{font-size:.85rem;font-weight:600}.gs-sub{color:var(--muted);font-size:.75rem}.gs-empty{text-align:center;color:var(--muted);padding:18px;font-size:.85rem}.topbar-right{align-items:center;gap:10px;display:flex;position:relative}.icon-btn{border:1px solid var(--border);background:var(--panel);border-radius:var(--radius-pill);width:38px;height:38px;color:var(--fg-soft);justify-content:center;align-items:center;transition:background .15s;display:inline-flex;position:relative}.icon-btn:hover{background:var(--panel-soft)}.icon-btn svg{width:16px;height:16px}.icon-btn .dot{background:var(--accent-rose-fg);color:#fff;border-radius:var(--radius-pill);border:2px solid var(--bg);justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.65rem;font-weight:700;display:inline-flex;position:absolute;top:-2px;right:-2px}.avatar-btn{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-pill);align-items:center;gap:6px;margin-left:4px;padding:3px 8px 3px 3px;display:inline-flex}.avatar-btn:hover{background:var(--panel-soft)}.avatar{background:var(--primary-soft);width:32px;height:32px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:inline-flex}.avatar-chevron{color:var(--muted);font-size:.8rem}.avatar-menu{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:20;width:240px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.avatar-menu-header{border-bottom:1px solid var(--border-soft);padding:14px 16px}.avatar-menu-name{font-weight:600}.avatar-menu-email{color:var(--muted);margin-top:2px;font-size:.8rem}.avatar-menu-item{text-align:left;width:100%;color:var(--fg);background:0 0;border:none;padding:12px 16px;font-size:.875rem;display:block}.avatar-menu-item:hover{background:var(--bg)}.content{flex:1;padding:20px 32px 48px}.stack-16{flex-direction:column;gap:16px;display:flex}.stack-18{flex-direction:column;gap:18px;display:flex}.grid-2{grid-template-columns:1fr 1fr;gap:18px;display:grid}.grid-2-wide{grid-template-columns:1.4fr 1fr;gap:18px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}@media (max-width:1100px){.grid-2,.grid-2-wide,.grid-3{grid-template-columns:1fr}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.page-head h1{font-size:1.5rem}.page-sub{color:var(--muted);margin-top:4px;font-size:.85rem}.page-head-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.breadcrumb{color:var(--muted);align-items:center;gap:6px;margin-bottom:6px;font-size:.8rem;display:flex}.breadcrumb svg{width:13px;height:13px}.breadcrumb a{color:var(--muted)}.breadcrumb a:hover{color:var(--primary)}.btn{border-radius:var(--radius-pill);border:1px solid #0000;align-items:center;gap:8px;padding:10px 16px;font-size:.85rem;font-weight:600;transition:background .15s,color .15s,border-color .15s,opacity .15s;display:inline-flex}.btn svg{width:15px;height:15px}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-deep)}.btn-secondary{background:var(--panel);color:var(--fg-soft);border-color:var(--border)}.btn-secondary:hover{background:var(--bg)}.btn-danger{background:var(--accent-rose);color:var(--accent-rose-fg)}.btn-danger:hover{background:#ffd9df}.btn-ghost{color:var(--fg-soft);border-color:var(--border);background:0 0}.btn-ghost:hover{background:var(--bg)}.btn-sm{padding:7px 13px;font-size:.8rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-block{justify-content:center;width:100%}.card{background:var(--panel);border-radius:var(--radius-lg);border:1px solid var(--border-soft);box-shadow:var(--shadow-sm);padding:22px}.card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.card-title{color:var(--fg);align-items:center;gap:8px;font-size:.95rem;font-weight:700;display:flex}.card-title svg{width:17px;height:17px;color:var(--muted)}.card-sub{color:var(--muted);margin-top:2px;font-size:.78rem}.link-btn{border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--fg-soft);background:0 0;padding:6px 12px;font-size:.75rem;font-weight:500}.link-btn:hover{background:var(--bg);color:var(--primary);border-color:var(--primary-soft)}.tile-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:inline-flex}.tile-icon svg{width:21px;height:21px}.tile-lavender{background:var(--accent-lavender);color:var(--accent-lavender-fg)}.tile-mint{background:var(--accent-mint);color:var(--accent-mint-fg)}.tile-sky{background:var(--accent-sky);color:var(--accent-sky-fg)}.tile-peach{background:var(--accent-peach);color:var(--accent-peach-fg)}.tile-rose{background:var(--accent-rose);color:var(--accent-rose-fg)}.tile-amber{background:var(--accent-amber);color:var(--accent-amber-fg)}.tile-coral{background:var(--accent-coral);color:var(--accent-coral-fg)}.tile-lime{background:var(--accent-lime);color:var(--accent-lime-fg)}.tile-gray{background:var(--accent-gray);color:var(--accent-gray-fg)}.kpi-row{grid-template-columns:repeat(6,1fr);gap:16px;display:grid}.kpi-card{flex-direction:column;gap:10px;padding:18px 20px;display:flex}.kpi-top{justify-content:space-between;align-items:center;display:flex}.kpi-label{color:var(--muted);font-size:.78rem;font-weight:600}.kpi-value{letter-spacing:-.01em;font-size:1.6rem;font-weight:800}.kpi-delta{align-items:center;gap:4px;font-size:.75rem;font-weight:600;display:inline-flex}.kpi-delta svg{width:12px;height:12px}.kpi-delta.up{color:var(--accent-mint-fg)}.kpi-delta.down{color:var(--accent-rose-fg)}.kpi-delta.flat{color:var(--muted)}.badge{border-radius:var(--radius-pill);letter-spacing:.01em;white-space:nowrap;align-items:center;gap:5px;padding:3px 10px;font-size:.7rem;font-weight:700;display:inline-flex}.badge-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.badge-purple{background:var(--accent-lavender);color:var(--primary)}.badge-mint{background:var(--accent-mint);color:var(--accent-mint-fg)}.badge-sky{background:var(--accent-sky);color:var(--accent-sky-fg)}.badge-amber{background:var(--accent-amber);color:var(--accent-amber-fg)}.badge-rose{background:var(--accent-rose);color:var(--accent-rose-fg)}.badge-peach{background:var(--accent-peach);color:var(--accent-peach-fg)}.badge-coral{background:var(--accent-coral);color:var(--accent-coral-fg)}.badge-gray{background:var(--accent-gray);color:var(--accent-gray-fg)}.badge-lavender{background:var(--accent-lavender);color:var(--accent-lavender-fg)}.badge-outline{border:1px solid var(--border);color:var(--fg-soft);background:0 0}.filter-bar{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.filter-field{flex-direction:column;flex:150px;gap:6px;min-width:0;display:flex}.filter-field label{letter-spacing:.04em;text-transform:uppercase;color:var(--subtle);font-size:.7rem;font-weight:700}.filter-field select,.filter-field input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);color:var(--fg);padding:9px 11px;font-size:.85rem}.filter-field select:focus,.filter-field input:focus{border-color:var(--primary);outline:none}.search-box{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--panel);flex:260px;align-items:center;gap:8px;padding:10px 14px;display:flex}.search-box svg{width:15px;height:15px;color:var(--muted);flex-shrink:0}.search-box input{background:0 0;border:none;outline:none;flex:1;font-size:.85rem}.filter-clear{flex:none}.status-tabs{flex-wrap:wrap;gap:6px;display:flex}.status-tab{border-radius:var(--radius-pill);background:var(--panel);border:1px solid var(--border);color:var(--fg-soft);padding:7px 14px;font-size:.8rem;font-weight:600}.status-tab:hover{background:var(--bg)}.status-tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.85rem}.data-table th{text-align:left;color:var(--subtle);letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 14px;font-size:.68rem;font-weight:700}.data-table td{border-bottom:1px solid var(--border-soft);vertical-align:middle;padding:13px 14px}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--panel-soft)}.data-table .cell-primary{color:var(--fg);font-weight:600}.data-table .cell-sub{color:var(--muted);margin-top:2px;font-size:.78rem}.row-link{cursor:pointer}.table-empty{text-align:center;color:var(--muted);padding:40px 20px}.pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:16px;display:flex}.pager-info{color:var(--muted);font-size:.8rem}.pager-btns{gap:4px;display:flex}.pager-btn{border:1px solid var(--border);background:var(--panel);min-width:32px;height:32px;color:var(--fg-soft);border-radius:9px;padding:0 8px;font-size:.8rem;font-weight:600}.pager-btn:hover:not(:disabled){background:var(--bg)}.pager-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.pager-btn:disabled{opacity:.4;cursor:not-allowed}.pager-gap{color:var(--subtle);padding:0 4px}.actions-menu-wrap{display:inline-block;position:relative}.actions-menu{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:110;min-width:200px;padding:6px;position:absolute;top:calc(100% + 6px);right:0}.actions-menu-item{width:100%;color:var(--fg-soft);text-align:left;background:0 0;border:none;border-radius:9px;align-items:center;gap:10px;padding:9px 11px;font-size:.83rem;display:flex}.actions-menu-item:hover{background:var(--bg)}.actions-menu-item svg{width:15px;height:15px;color:var(--muted)}.actions-menu-item.danger,.actions-menu-item.danger svg{color:var(--accent-rose-fg)}.actions-menu-sep{background:var(--border-soft);height:1px;margin:6px 2px}.campus-card{position:relative;overflow:visible}.campus-card-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.campus-card-head .card-title{flex:auto;min-width:0;margin:0}.campus-card-head .actions-menu-wrap{flex:none;margin:-4px -6px 0 0}.tabs-bar{border-bottom:1px solid var(--border);gap:4px;margin-bottom:20px;display:flex;overflow-x:auto}.tab-btn{color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;padding:11px 16px;font-size:.85rem;font-weight:600}.tab-btn:hover{color:var(--fg)}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.tab-badge{background:var(--primary);color:#fff;vertical-align:middle;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-inline-start:6px;padding:0 5px;font-size:.68rem;font-weight:700;display:inline-flex}.modal-backdrop{z-index:100;background:#0f172973;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;width:100%;max-width:520px;max-height:88vh;display:flex;overflow:hidden}.modal-wide{max-width:860px}.modal-xwide{max-width:1100px}.modal-head{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:12px;padding:18px 22px;display:flex}.modal-head h3{font-size:1.05rem}.modal-close{background:var(--bg);width:32px;height:32px;color:var(--muted);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.modal-close:hover{background:var(--border-soft)}.modal-close svg{width:14px;height:14px}.modal-body{flex:1;padding:20px 22px;overflow-y:auto}.modal-foot{border-top:1px solid var(--border-soft);justify-content:flex-end;align-items:center;gap:10px;padding:16px 22px;display:flex}.modal-foot.foot-between{justify-content:space-between}.danger-warn{background:var(--accent-rose);color:var(--accent-rose-fg);border-radius:var(--radius-md);margin-bottom:12px;padding:12px 14px;font-size:.83rem}.form-row{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.form-row label{color:var(--fg-soft);font-size:.78rem;font-weight:600}.form-row .req-star{color:var(--accent-rose-fg)}.form-row input,.form-row select,.form-row textarea{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);color:var(--fg);width:100%;padding:10px 12px;font-size:.85rem}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--primary);outline:none}.form-row input[type=checkbox],.form-row input[type=radio]{width:16px;height:16px;accent-color:var(--primary);background:0 0;border:0;flex:none;padding:0}.form-grid-2{grid-template-columns:1fr 1fr;gap:0 14px;display:grid}.form-grid-3{grid-template-columns:repeat(3,1fr);gap:0 14px;display:grid}.form-section-title{border-top:1px solid var(--border-soft);margin:4px 0 12px;padding-top:12px;font-size:.9rem;font-weight:700}.form-section-title:first-child{border-top:none;padding-top:0}.form-checkbox-row{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--panel);justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;padding:10px 12px;display:flex;flex-direction:row!important}.form-checkbox-row label{color:var(--fg);margin:0;font-size:.85rem;font-weight:500}.form-checkbox-row:has(input:disabled){background:var(--bg)}.form-checkbox-row:has(input:disabled) label{color:var(--muted)}.form-checkbox-row input:disabled{cursor:not-allowed}.form-radio-row{align-items:center;gap:8px;margin-top:8px;font-weight:500;display:flex;flex-direction:row!important}.form-radio-row:first-child{margin-top:0}.form-radio-row.pr-mode{align-items:flex-start;font-size:.85rem;font-weight:400;line-height:1.45}.form-radio-row.pr-mode input{flex:none;margin-top:4px}.data-table tr.row-error td{background:var(--accent-rose)}.data-table tr.row-error input{outline:2px solid var(--accent-rose-fg)}.sub-total .kpi-value{line-height:1.2}.form-checkbox-row label .small{font-weight:400}.seg{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-pill);gap:2px;padding:3px;display:inline-flex}.seg-opt{cursor:pointer;align-items:center;display:inline-flex;position:relative;margin:0!important}.seg-opt input{opacity:0;pointer-events:none;width:0;height:0;margin:0;position:absolute}.seg-opt span{border-radius:var(--radius-pill);color:var(--muted);white-space:nowrap;padding:6px 12px;font-size:.8rem;font-weight:600;line-height:1;transition:background .12s,color .12s;display:inline-block}.seg-opt:hover span{color:var(--fg)}.seg-opt:has(input:checked) span{background:var(--primary);color:#fff}.seg-opt:has(input:disabled){cursor:not-allowed}.seg-opt:has(input:disabled) span{color:var(--subtle)}.seg-opt:has(input:focus-visible) span{outline:2px solid var(--primary);outline-offset:1px}.form-row .seg-hint{margin-top:6px}.wf-locked-note{background:var(--accent-lavender);color:var(--accent-lavender-fg);border-radius:10px;align-items:flex-start;gap:8px;margin:4px 0 12px;padding:10px 12px;font-size:.8rem;display:flex}.wf-map{border:1px solid var(--border);border-radius:10px;height:220px;margin-bottom:10px;overflow:hidden}.wf-doc-chip{background:var(--accent-sky);color:var(--accent-sky-fg);border-radius:999px;align-items:center;gap:6px;margin:4px 6px 0 0;padding:6px 10px;font-size:.78rem;display:inline-flex}.wf-admin-slot{border:1px solid var(--border-soft);border-radius:var(--radius-md);margin-bottom:10px;padding:12px;position:relative}.wizard-steps{border-bottom:1px solid var(--border-soft);align-items:center;gap:4px;padding:16px 22px;display:flex;overflow-x:auto}.wizard-step{flex-shrink:0;align-items:center;gap:8px;display:flex}.wizard-step-num{background:var(--border-soft);width:24px;height:24px;color:var(--muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:inline-flex}.wizard-step.done .wizard-step-num{background:var(--accent-mint);color:var(--accent-mint-fg)}.wizard-step.active .wizard-step-num{background:var(--primary);color:#fff}.wizard-step-label{color:var(--subtle);white-space:nowrap;font-size:.75rem;font-weight:600}.wizard-step.active .wizard-step-label{color:var(--fg)}.wizard-step-line{background:var(--border);flex-shrink:0;width:20px;height:1.5px}.wizard-review-row{border-bottom:1px solid var(--border-soft);justify-content:space-between;padding:9px 0;font-size:.85rem;display:flex}.wizard-review-row .k{color:var(--muted)}.wizard-review-row .v{font-weight:600}.empty-state{text-align:center;color:var(--muted);padding:48px 24px}.empty-state .tile-icon{margin:0 auto 14px}.empty-state h3{color:var(--fg);margin-bottom:6px}.empty-state p{max-width:360px;margin:0 auto;font-size:.85rem}.empty-state .btn{margin-top:16px}.error-state{text-align:center;color:var(--accent-rose-fg);padding:40px 24px}.skeleton{background:linear-gradient(90deg, var(--border-soft) 25%, var(--border) 37%, var(--border-soft) 63%);border-radius:var(--radius-sm);background-size:400% 100%;animation:1.4s infinite skeleton-loading}@keyframes skeleton-loading{0%{background-position:100%}to{background-position:0}}.route-skeleton{flex-direction:column;gap:18px;padding:8px 0;display:flex}.route-skeleton .rs-title{width:260px;height:28px}.route-skeleton .rs-kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.route-skeleton .rs-kpi{height:96px}.route-skeleton .rs-block{height:260px}.route-skeleton .rs-block-short{width:60%;height:160px}.form-hint{color:var(--muted);text-align:end;font-size:.75rem}.check-row{cursor:pointer;align-items:flex-start;gap:10px;font-size:.875rem;display:flex}.check-row input{margin-top:3px}.ntc-picker{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.ntc-picker-tools{border-bottom:1px solid var(--border-soft);background:var(--panel-soft);flex-wrap:wrap;align-items:center;gap:8px;padding:8px;display:flex}.ntc-picker-tools .search-box{flex:1;min-width:180px}.ntc-picker-list{max-height:260px;overflow-y:auto}.ntc-picker-empty{color:var(--muted);text-align:center;padding:18px;font-size:.85rem}.ntc-school{border-bottom:1px solid var(--border-soft);cursor:pointer;align-items:center;gap:10px;padding:9px 12px;font-size:.85rem;display:flex}.ntc-school:last-child{border-bottom:none}.ntc-school:hover{background:var(--panel-soft)}.ntc-school.is-selected{background:var(--accent-sky)}.ntc-school-main{flex-direction:column;min-width:0;display:flex}.ntc-school-name{color:var(--fg);font-weight:600}.ntc-school-sub{color:var(--muted);font-size:.75rem}.ntc-picker-foot{color:var(--muted);border-top:1px solid var(--border-soft);padding:8px 12px;font-size:.78rem}.ntc-detail-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:18px;margin-top:18px;display:grid}.ntc-body{white-space:pre-wrap;color:var(--fg);font-size:.925rem;line-height:1.6}@media (max-width:1100px){.ntc-detail-grid{grid-template-columns:1fr}}.alert-row{border-radius:var(--radius-md);color:var(--fg-soft);align-items:center;gap:12px;padding:12px 14px;font-size:.875rem;display:flex}.alert-row .alert-icon{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.alert-row .alert-icon svg{width:14px;height:14px}.alert-row .alert-text{flex:1;min-width:0}.alert-row .alert-title{font-weight:600}.alert-row .alert-meta{color:var(--muted);margin-top:1px;font-size:.76rem}.alert-row .alert-chev{color:var(--muted);flex-shrink:0;font-size:.85rem}.alert-row .alert-chev svg{width:14px;height:14px}.alert-critical{background:var(--accent-rose)}.alert-critical .alert-icon{color:var(--accent-rose-fg);background:#fff9}.alert-warning{background:var(--accent-amber)}.alert-warning .alert-icon{color:var(--accent-amber-fg);background:#fff9}.alert-info{background:var(--accent-sky)}.alert-info .alert-icon{color:var(--accent-sky-fg);background:#fff9}.alert-muted{background:var(--bg);color:var(--muted)}.alert-muted .alert-icon{color:var(--muted);background:#fff9}.alert-row:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.attention-total{border-radius:var(--radius-pill);background:var(--primary);color:#fff;margin-inline-start:8px;padding:1px 8px;font-size:.72rem;font-weight:700}.alerts-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:18px 0 8px;font-size:.78rem;font-weight:700}.alert-signal{opacity:.85}.chart-legend{flex-wrap:wrap;gap:16px;margin-top:12px;display:flex}.chart-legend-item{color:var(--muted);align-items:center;gap:6px;font-size:.78rem;display:flex}.chart-legend-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.line-chart{width:100%;height:auto;display:block}.line-chart .lc-grid{stroke:var(--border);stroke-width:1px}.line-chart .lc-area{fill:url(#lcGrad);opacity:.5}.line-chart .lc-line{fill:none;stroke:var(--primary);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.line-chart .lc-dot{fill:var(--primary)}.line-chart .lc-axis-label{fill:var(--subtle);font-size:10px;font-family:var(--font)}.bar-chart-row{align-items:center;gap:12px;display:flex}.bar-chart-row+.bar-chart-row{margin-top:10px}.bar-chart-label{width:110px;color:var(--fg-soft);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;font-size:.78rem;overflow:hidden}.bar-chart-track{background:var(--border-soft);border-radius:var(--radius-pill);flex:1;height:9px;overflow:hidden}.bar-chart-fill{border-radius:var(--radius-pill);background:var(--primary);height:100%}.bar-chart-value{text-align:right;flex-shrink:0;width:54px;font-size:.8rem;font-weight:700}.donut-wrap{align-items:center;gap:20px;display:flex}.donut{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:120px;height:120px;display:flex;position:relative}.donut:after{content:"";background:var(--panel);border-radius:50%;position:absolute;inset:16px}.donut-center{z-index:1;text-align:center;position:relative}.donut-center .n{font-size:1.3rem;font-weight:800;display:block}.donut-center .l{color:var(--muted);font-size:.68rem}.funnel{flex-direction:column;gap:6px;display:flex}.funnel-row{align-items:center;gap:12px;display:flex}.funnel-bar{background:var(--primary);color:#fff;white-space:nowrap;border-radius:8px;align-items:center;height:34px;padding:0 12px;font-size:.78rem;font-weight:700;transition:width .3s;display:flex}.funnel-label{width:110px;color:var(--fg-soft);flex-shrink:0;font-size:.78rem}.funnel-count{text-align:right;flex-shrink:0;width:60px;font-size:.82rem;font-weight:700}.progress-ring-wrap{justify-content:center;align-items:center;display:inline-flex;position:relative}.progress-ring-label{text-align:center;position:absolute}.progress-ring-label .n{font-size:1.1rem;font-weight:800;display:block}.progress-ring-label .l{color:var(--muted);font-size:.62rem}.heatmap-grid{gap:4px;display:grid}.heatmap-cell{color:var(--fg-soft);text-align:center;border-radius:6px;padding:8px;font-size:.72rem}.kanban-board{align-items:flex-start;gap:14px;padding-bottom:8px;display:flex;overflow-x:auto}.kanban-col{background:var(--panel-soft);border-radius:var(--radius-lg);flex:0 0 260px;min-height:120px;padding:12px}.kanban-col.drag-over{outline:2px dashed var(--primary);outline-offset:-2px}.kanban-col-head{justify-content:space-between;align-items:center;padding:4px 6px 10px;display:flex}.kanban-col-title{color:var(--fg-soft);font-size:.8rem;font-weight:700}.kanban-col-count{background:var(--panel);border-radius:var(--radius-pill);color:var(--muted);padding:2px 8px;font-size:.72rem;font-weight:700}.kanban-cards{flex-direction:column;gap:8px;min-height:40px;display:flex}.kanban-card{background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:grab;padding:12px}.kanban-card:active{cursor:grabbing}.kanban-card-title{margin-bottom:4px;font-size:.83rem;font-weight:700}.kanban-card-meta{color:var(--muted);align-items:center;gap:5px;margin-top:3px;font-size:.74rem;display:flex}.kanban-card-meta svg{flex-shrink:0;width:12px;height:12px}.kanban-card-foot{justify-content:space-between;align-items:center;margin-top:9px;display:flex}.kanban-card-value{color:var(--accent-mint-fg);font-size:.82rem;font-weight:700}.kanban-card-owner{background:var(--primary-soft);width:22px;height:22px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;font-size:.6rem;font-weight:800;display:inline-flex}.kanban-prob{background:var(--border-soft);border-radius:var(--radius-pill);height:4px;margin-top:8px;overflow:hidden}.kanban-prob-fill{background:var(--primary);height:100%}.map-shell{grid-template-columns:280px 1fr;gap:16px;height:calc(100vh - 320px);min-height:480px;display:grid}.map-shell.map-embedded{grid-template-columns:1fr;height:420px}.map-panel{overflow-y:auto}.map-canvas-wrap{border-radius:var(--radius-lg);border:1px solid var(--border-soft);position:relative;overflow:hidden}.map-canvas{background:var(--panel-soft);width:100%;height:100%}.map-embedded .map-canvas-wrap{height:100%}.map-legend{z-index:500;border-radius:var(--radius-md);box-shadow:var(--shadow-md);background:#fffffff2;flex-direction:column;gap:6px;padding:12px 14px;font-size:.78rem;display:flex;position:absolute;bottom:14px;left:14px}.map-legend-item{align-items:center;gap:8px;display:flex}.map-legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.map-toolbar{z-index:500;flex-wrap:wrap;align-items:center;gap:10px;display:flex;position:absolute;top:14px;left:14px;right:14px}.map-toolbar .search-box{max-width:320px;box-shadow:var(--shadow-md);background:#fffffff7;border:none}.map-mode-toggle{border-radius:var(--radius-pill);box-shadow:var(--shadow-md);background:#fffffff7;padding:3px;display:inline-flex}.map-mode-btn{border-radius:var(--radius-pill);color:var(--fg-soft);padding:7px 14px;font-size:.78rem;font-weight:700}.map-mode-btn.active{background:var(--primary);color:#fff}.map-popup-card{min-width:220px}.map-popup-card .mp-name{margin-bottom:2px;font-size:.9rem;font-weight:700}.map-popup-card .mp-meta{color:var(--muted);margin-bottom:8px;font-size:.78rem}.map-popup-card .mp-stats{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.map-popup-card .mp-actions{gap:8px;display:flex}.gov-stat-row{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.gov-stat-row:last-child{border-bottom:none}.gov-stat-name{font-size:.84rem;font-weight:600}.gov-stat-sub{color:var(--muted);font-size:.74rem}.gov-stat-coverage{font-size:.95rem;font-weight:800}.ec-head-actions{flex:none;align-items:center;gap:8px;display:flex}.ec-cell{flex:auto;justify-content:flex-end;align-items:center;min-width:0;max-width:60%;display:flex}.ec-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);width:100%;max-width:220px;color:var(--fg);font:inherit;text-align:right;min-width:0;padding:6px 9px;font-size:.84rem;display:none}.ec-card.editing .ec-row{border-bottom-color:var(--border-soft)}.ec-card.editing .ec-val{display:none}.ec-card.editing .ec-input{text-align:left;display:inline-block}.ec-card.editing .ec-cell{max-width:65%}.ec-checkbox-group{flex-wrap:wrap;gap:4px 12px;max-width:220px;display:none}.ec-card.editing .ec-checkbox-group{display:flex}.ec-checkbox-item{color:var(--fg);white-space:nowrap;align-items:center;gap:5px;font-size:.82rem;display:flex}.ec-checkbox-item input{accent-color:var(--primary)}.timeline-log{flex-direction:column;display:flex}.timeline-log-row{border-bottom:1px solid var(--border-soft);gap:14px;padding:12px 0;display:flex}.timeline-log-row:last-child{border-bottom:none}.timeline-log-dot{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.timeline-log-dot svg{width:15px;height:15px}.timeline-log-body{flex:1;min-width:0}.timeline-log-text{color:var(--fg-soft);font-size:.85rem}.timeline-log-text b{color:var(--fg);font-weight:700}.timeline-log-time{color:var(--subtle);margin-top:2px;font-size:.74rem}.timeline-log-diff{color:var(--muted);background:var(--panel-soft);border-radius:8px;gap:6px;margin-top:6px;padding:6px 10px;font-size:.76rem;display:inline-flex}.health-score-badge{align-items:center;gap:6px;font-size:1rem;font-weight:800;display:inline-flex}.health-band-healthy{color:var(--accent-mint-fg)}.health-band-stable{color:var(--accent-sky-fg)}.health-band-at_risk{color:var(--accent-amber-fg)}.health-band-critical{color:var(--accent-rose-fg)}.star-row{color:var(--accent-amber-fg);gap:2px;display:inline-flex}.star-row svg{width:14px;height:14px}.star-row svg.star-full{fill:currentColor}.rating-bar-row{align-items:center;gap:10px;font-size:.8rem;display:flex}.rating-bar-row .stars-n{width:44px;color:var(--muted);flex-shrink:0}.rating-bar-track{background:var(--border-soft);border-radius:var(--radius-pill);flex:1;height:7px;overflow:hidden}.rating-bar-fill{background:var(--accent-amber-fg);border-radius:var(--radius-pill);height:100%}.rating-bar-count{text-align:right;width:42px;color:var(--muted)}@media (max-width:1200px){.kpi-row{grid-template-columns:repeat(3,1fr)}.map-shell{grid-template-columns:240px 1fr}}@media (max-width:980px){.app{grid-template-columns:76px 1fr}.sidebar{align-items:center;padding:18px 10px}.sidebar-brand span:not(.hq-pill),.nav-item span,.nav-group-label,.hq-org-wrap{display:none}.sidebar-brand{justify-content:center}.nav-item{justify-content:center;padding:10px}.map-shell{grid-template-columns:1fr;height:auto}.map-panel{order:2}.map-canvas-wrap{height:460px}}@media (max-width:760px){.kpi-row{grid-template-columns:repeat(2,1fr)}.content{padding:16px}.topbar{padding:14px 16px}.form-grid-2,.form-grid-3{grid-template-columns:1fr}}.auth-body{background:var(--bg);min-height:100vh}.topbar-auth{background:var(--bg);border-bottom:none;align-items:center;padding:22px 32px;display:flex}.topbar-auth .sidebar-brand{padding:0}.topbar-auth .sidebar-brand img{height:24px}.auth-main{justify-content:center;align-items:center;padding:40px 24px 80px;display:flex}.auth-card{background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--radius-xl);width:100%;max-width:420px;box-shadow:var(--shadow-md);padding:40px}.auth-card h1{margin-bottom:8px;font-size:1.4rem}.auth-card form{flex-direction:column;gap:16px;margin-top:24px;display:flex}.auth-card label{color:var(--fg-soft);flex-direction:column;gap:6px;font-size:.85rem;font-weight:500;display:flex}.auth-card input{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);color:var(--fg);padding:12px 14px;font-family:inherit;font-size:.95rem}.auth-card input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #6e56f226}.auth-note{text-align:center;color:var(--muted);margin-top:24px;font-size:.8rem}.form-error{background:var(--accent-rose);color:var(--accent-rose-fg);border-radius:var(--radius-md);border:1px solid #f5b5af;padding:10px 12px;font-size:.875rem}.btn-block{width:100%}.full-loader{background:var(--bg);min-height:100vh;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:.9rem;display:flex}.full-loader img{opacity:.9;height:40px}.pw-reveal-row{align-items:center;gap:8px;display:flex}.pw-reveal-row input{border:1px solid var(--border);letter-spacing:.06em;background:var(--bg);color:var(--fg);border-radius:8px;flex:1;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95rem}.pw-reveal-row input[type=password]{letter-spacing:.3em}.wf-pw-toggle{flex-shrink:0;width:34px;height:34px}.wf-success{text-align:center;padding:8px 0 4px}.wf-success-icon{background:var(--accent-mint);width:52px;height:52px;color:var(--accent-mint-fg);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 14px;display:inline-flex}.wf-success-icon svg{width:24px;height:24px}.wf-success .wf-admin-slot{text-align:left}body.askdumu-page .main{height:100vh}.content.ask-page{flex-direction:column;flex:1;min-height:0;padding-bottom:20px;display:flex;overflow:hidden}.content.ask-page .page-head{flex-shrink:0;margin-bottom:6px}.content.ask-page .tabs-bar{flex-shrink:0;margin-bottom:14px}.content.ask-page #askdumu-body{flex:1;min-height:0;display:flex}.ask-chat{grid-template-columns:272px minmax(0,1fr);gap:16px;width:100%;min-height:0;display:grid}.ask-mode-dock{grid-template-columns:minmax(0,1fr);height:100%}.ask-sidebar{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:12px;min-height:0;padding:14px;display:flex}.ask-sidebar .ask-new{justify-content:center;width:100%;padding:11px 14px}.ask-conv-list{flex-direction:column;flex:1;gap:4px;min-height:0;display:flex;overflow-y:auto}.ask-conv{text-align:left;width:100%;color:var(--fg-soft);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;flex-direction:column;gap:3px;padding:10px 12px;transition:background .12s;display:flex}.ask-conv:hover{background:var(--bg)}.ask-conv.active{background:var(--primary-soft);color:var(--primary)}.ask-conv.is-archived{opacity:.6}.ask-conv-title{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.ask-conv-sub{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.78rem;line-height:1.35;display:-webkit-box;overflow:hidden}.ask-conv.active .ask-conv-sub{color:var(--primary);opacity:.75}.ask-conv-meta{color:var(--subtle);font-size:.7rem}.ask-thread{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.ask-thread-head{border-bottom:1px solid var(--border-soft);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 22px;display:flex}.ask-thread-title{font-size:1rem;font-weight:700}.ask-thread-actions{flex-wrap:wrap;gap:4px;display:flex}.ask-thread-actions .btn.danger{color:var(--accent-rose-fg)}.ask-messages{scroll-behavior:smooth;flex-direction:column;flex:1;gap:22px;min-height:0;padding:28px 24px 12px;display:flex;overflow-y:auto}.ask-messages>*{width:100%;max-width:820px;margin-left:auto;margin-right:auto}.ask-msg{gap:12px;display:flex}.ask-msg-user{justify-content:flex-end}.ask-msg-user .ask-bubble-wrap{flex-direction:column;flex:0 auto;align-items:flex-end;max-width:72%;display:flex}.ask-msg-user .ask-bubble{background:var(--primary);color:#fff;border-radius:20px 20px 6px;padding:12px 16px}.ask-msg-assistant{align-items:flex-start}.ask-avatar{background:var(--accent-lavender);width:32px;height:32px;color:var(--primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:3px;display:inline-flex}.ask-avatar svg{width:16px;height:16px}.ask-bubble-wrap{flex:1;min-width:0}.ask-bubble{color:var(--fg);word-break:break-word;overflow-wrap:anywhere;font-size:.95rem;line-height:1.65}.ask-msg-assistant .ask-bubble{padding-top:5px}.ask-bubble.is-error{background:var(--accent-rose);color:var(--accent-rose-fg);border-radius:14px;padding:12px 16px}.ask-bubble p{margin:0 0 10px}.ask-bubble p:last-child{margin-bottom:0}.ask-bubble ul,.ask-bubble ol{margin:6px 0 10px;padding-left:22px}.ask-bubble li{margin:3px 0}.ask-bubble code{background:#6e56f214;border-radius:6px;padding:1px 6px;font-size:.86em}.ask-msg-user .ask-bubble code{background:#ffffff2e}.ask-pre{background:var(--fg);color:#e8eaf2;border-radius:12px;margin:8px 0;padding:12px 14px;font-size:.82rem;overflow-x:auto}.ask-pre code{color:inherit;background:0 0;padding:0}.ask-h{margin-top:12px}.ask-hr{border:none;border-top:1px solid var(--border-soft);margin:14px 0}.ask-table{border-collapse:collapse;width:100%;margin:8px 0;font-size:.86rem}.ask-table th,.ask-table td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:7px 10px}.ask-table th{background:var(--panel-soft);font-weight:700}.ask-chips{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.ask-retry{margin-left:auto;padding:4px 10px;font-size:.78rem}.ask-retry svg{width:12px;height:12px}.ask-chip svg{width:11px;height:11px}.ask-meta{color:var(--subtle);margin-top:6px;font-size:.72rem}.ask-typing{align-items:center;gap:5px;padding:14px 4px;display:inline-flex}.ask-typing span{background:var(--muted);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite ask-bounce}.ask-typing span:nth-child(2){animation-delay:.15s}.ask-typing span:nth-child(3){animation-delay:.3s}@keyframes ask-bounce{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-5px)}}.ask-welcome{text-align:center;max-width:640px;margin:auto;padding:24px 12px 40px}.ask-welcome-icon{background:linear-gradient(135deg, var(--accent-lavender), var(--primary-soft));width:64px;height:64px;color:var(--primary);border-radius:20px;justify-content:center;align-items:center;margin:0 auto 16px;display:inline-flex}.ask-welcome-icon svg{width:28px;height:28px}.ask-welcome h3{letter-spacing:-.01em;margin:0 0 8px;font-size:1.5rem}.ask-welcome p{font-size:.92rem;line-height:1.55}.ask-suggestions{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:22px;display:grid}.ask-suggestion{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);font:inherit;color:var(--fg-soft);text-align:left;cursor:pointer;padding:14px;font-size:.86rem;line-height:1.4;transition:border-color .12s,box-shadow .12s,color .12s}.ask-suggestion:hover{border-color:var(--primary);box-shadow:var(--shadow-sm);color:var(--primary)}.ask-composer{background:var(--panel);flex-direction:column;flex-shrink:0;gap:8px;padding:10px 24px 14px;display:flex}.ask-composer>*{width:100%;max-width:820px;margin-left:auto;margin-right:auto}.ask-composer-row{border:1px solid var(--border);background:var(--bg);border-radius:24px;align-items:flex-end;gap:6px;padding:6px 6px 6px 8px;transition:border-color .12s,box-shadow .12s,background .12s;display:flex}.ask-composer-row:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);background:var(--panel)}.ask-input{resize:none;font:inherit;color:var(--fg);background:0 0;border:none;flex:1;min-height:24px;max-height:200px;padding:10px 6px;font-size:.95rem;line-height:1.5;overflow-y:hidden}.ask-input:focus{outline:none}.ask-input::placeholder{color:var(--subtle)}.ask-send{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:inline-flex}.ask-send svg{width:16px;height:16px}.ask-attach{cursor:pointer;border-radius:50%;flex-shrink:0;width:40px;height:40px}.ask-hint{color:var(--subtle);text-align:center;margin:0;font-size:.72rem}.ask-attachments{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.ask-attachments.ask-draft{margin-top:0}.ask-attachment{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--fg-soft);align-items:center;gap:6px;max-width:260px;padding:4px 10px;font-size:.76rem;display:inline-flex}.ask-msg-user .ask-attachment{color:#fff;background:#ffffff29;border-color:#0000}.ask-attachment span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ask-attachment svg{flex-shrink:0;width:12px;height:12px}.ask-attachment-x{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;display:inline-flex}.ask-error{margin:0}.ask-archived-note{border-top:1px solid var(--border-soft);flex-shrink:0;margin:0;padding:12px 22px}.ask-denied{width:100%;padding:20px 0}.askdumu-dock{background:var(--panel);border-left:1px solid var(--border);width:440px;max-width:100vw;box-shadow:var(--shadow-lg);z-index:60;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.askdumu-dock-bar{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.askdumu-dock-title{color:var(--primary);align-items:center;gap:8px;font-weight:700;display:inline-flex}.askdumu-dock-title svg{width:16px;height:16px}.askdumu-dock-actions{gap:6px;display:flex}.askdumu-dock-body{flex-direction:column;flex:1;min-height:0;display:flex}.askdumu-dock-body .ask-chat,.askdumu-dock-body .ask-thread{border:none;border-radius:0;height:100%}.ask-dock-head{border-bottom:1px solid var(--border-soft);align-items:center;gap:8px;padding:10px 12px;display:flex}.ask-conv-select{border:1px solid var(--border);border-radius:var(--radius-sm);min-width:0;font:inherit;background:var(--panel);color:var(--fg);flex:1;padding:8px 10px;font-size:.84rem}.ask-mode-dock .ask-messages{gap:18px;padding:18px 16px 10px}.ask-mode-dock .ask-composer{padding:8px 12px 12px}.ask-mode-dock .ask-msg-user .ask-bubble-wrap{max-width:86%}.ask-mode-dock .ask-welcome{padding:16px 4px 24px}.ask-mode-dock .ask-welcome h3{font-size:1.2rem}.ask-mode-dock .ask-suggestions{grid-template-columns:1fr}body.askdumu-dock-open .main{margin-right:440px}#topbar-askdumu-btn[aria-pressed=true]{background:var(--primary-soft);color:var(--primary);border-color:var(--primary-soft)}@media (max-width:1100px){body.askdumu-page .main{height:auto}.content.ask-page{overflow:visible}.ask-chat{grid-template-columns:1fr}.ask-sidebar{order:2;max-height:260px}.ask-thread{min-height:70vh}.askdumu-dock{width:100vw}body.askdumu-dock-open .main{margin-right:0}}.ask-review{grid-template-rows:auto 1fr;grid-template-columns:300px 1fr;gap:18px;display:grid}.ask-review-users{grid-row:1/3}.ask-review-messages{background:var(--panel-soft);border-radius:var(--radius-md);min-height:320px;max-height:70vh}.ask-rv-pick.active{background:var(--primary-soft);color:var(--primary);border-color:var(--primary-soft)}@media (max-width:1100px){.ask-review{grid-template-columns:1fr}.ask-review-users{grid-row:auto}}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--primary)}.kv{grid-template-columns:1fr;gap:0;margin:0;display:grid}.kv>div{border-bottom:1px solid var(--border);justify-content:space-between;gap:16px;padding:8px 0;display:flex}.kv>div:last-child{border-bottom:none}.kv dt{color:var(--muted);margin:0;font-size:.82rem}.kv dd{text-align:right;margin:0}.inv-pre{white-space:pre-wrap;margin:0;line-height:1.45}.timeline{margin:0;padding:0;list-style:none}.timeline li{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:9px 0;display:flex}.timeline li:last-child{border-bottom:none}.pick-list{flex-direction:column;gap:6px;max-height:50vh;margin-top:10px;display:flex;overflow:auto}.pick-row{text-align:left;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel,#fff);cursor:pointer;width:100%;font:inherit;color:inherit;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.pick-row:hover{border-color:var(--primary);background:var(--primary-soft)}.inv-sheet{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;max-width:820px;margin:0 auto;padding:36px 40px}.inv-doc{color:#1e2235;font-size:.92rem}.inv-head{border-bottom:2px solid #1e2235;justify-content:space-between;gap:24px;padding-bottom:18px;display:flex}.inv-brand{font-size:1.4rem;font-weight:800}.inv-issuer{color:var(--muted);margin-top:6px;line-height:1.4}.inv-meta{text-align:right}.inv-meta h1{letter-spacing:.04em;margin:0 0 6px;font-size:1.6rem}.inv-status{background:var(--accent-gray);border-radius:999px;margin-top:8px;padding:3px 10px;font-size:.72rem;font-weight:700;display:inline-block}.inv-status-paid{background:var(--accent-mint);color:var(--accent-mint-fg)}.inv-status-overdue{background:var(--accent-rose);color:var(--accent-rose-fg)}.inv-parties{grid-template-columns:1fr 1fr;gap:24px;padding:18px 0;display:grid}.inv-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:4px;font-size:.72rem}.inv-table{border-collapse:collapse;width:100%;margin:8px 0 18px}.inv-table th,.inv-table td{border-bottom:1px solid var(--border);text-align:left;padding:8px 10px}.inv-table th{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.75rem}.inv-table .num{text-align:right;white-space:nowrap}.inv-table tfoot td{border-bottom:none}.inv-doc h3{margin:18px 0 6px;font-size:.95rem}@media print{.sidebar,.topbar,.print-hide,.modal-backdrop,.actions-menu{display:none!important}.main,.content,#content{margin:0!important;padding:0!important}.inv-sheet{border:none;max-width:none;padding:0}body{background:#fff}}.di-brand-mark{background:var(--primary);color:#fff;border-radius:9px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.di-brand-mark .nav-icon{color:#fff;width:16px;height:16px}.di-brand-name{letter-spacing:-.01em;font-size:1.05rem;font-weight:800}.di-sidebar-foot{border-top:1px solid var(--border-soft);align-items:center;gap:8px;padding:12px 12px 0;display:flex}.di-dot-ok{background:var(--accent-mint-fg)}.di-dot-warn{background:var(--accent-amber-fg)}.di-global-filters select{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-pill);width:auto;min-width:150px;font:inherit;color:var(--fg-soft);padding:9px 14px}.di-global-filters select:disabled{color:var(--subtle)}.icon{width:1em;height:1em}.icon-lg{width:40px;height:40px;color:var(--primary)}.empty-state .empty-icon{justify-content:center;margin:0 auto 14px;display:flex}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--subtle);font-size:.68rem;font-weight:700}@media (max-width:980px){.di-brand-name,.hq-pill,.di-sidebar-foot span:last-child{display:none}}@media (max-width:760px){.di-global-filters select{flex:120px;min-width:0}}
