/* Compact desktop-first operations console. Lobby styles remain isolated. */
.admin-app{--admin-ink:#172b42;--admin-muted:#66788c;--admin-line:#dce3ea;--admin-blue:#1769aa;--admin-blue-strong:#125b96;--admin-surface:#fff;min-height:100dvh;display:grid;grid-template-columns:208px minmax(0,1fr);background:#f3f5f7;color:var(--admin-ink);font:14px/1.45 "Segoe UI","Noto Sans TC",sans-serif}
.admin-sidebar{position:sticky;top:0;height:100dvh;z-index:12;display:flex;flex-direction:column;overflow:hidden;padding:14px 10px 12px;background:#13283d;color:#e7eef5;box-shadow:none}
.admin-brand{display:flex;align-items:center;gap:10px;min-height:49px;padding:0 8px 12px;border-bottom:1px solid #ffffff20;color:#fff;text-decoration:none}
.admin-brand img{width:34px;height:34px;object-fit:contain}
.admin-brand strong,.admin-brand small{display:block}.admin-brand strong{font-size:15px;letter-spacing:.01em}.admin-brand small{margin-top:1px;color:#b8c7d5;font-size:11px;letter-spacing:.08em}
.admin-nav{display:block;overflow:auto;min-height:0;padding:4px 0;scrollbar-width:none;-ms-overflow-style:none}.admin-nav::-webkit-scrollbar{display:none}
.admin-nav-group{margin:1px 0 4px}.admin-nav-caption{display:block;padding:4px 10px 2px;color:#96a9bb;font-size:10px;font-weight:700;letter-spacing:.08em}
.admin-nav-item{box-sizing:border-box;display:flex;align-items:center;gap:9px;width:100%;min-height:27px;margin:1px 0;padding:1px 9px;border:0;border-radius:4px;background:transparent;color:#d6e0e9;text-align:left;font-size:13px;line-height:18px;font-weight:500;cursor:pointer;transition:background-color .16s,color .16s,transform .16s,box-shadow .16s}
.admin-nav-icon{display:grid;place-items:center;width:19px;flex:0 0 19px;color:#aac1d5;font-size:15px;line-height:1}
.admin-nav-item.active{background:#234b70;color:#fff;font-weight:650;box-shadow:inset 3px 0 #51a3df}.admin-nav-item.active .admin-nav-icon{color:#8dc7f1}
.admin-sidebar-footer{margin-top:auto;padding:10px 8px 2px;border-top:1px solid #ffffff20}.admin-sidebar-footer a{color:#bfccd7;text-decoration:none;font-size:12px}
.admin-main{min-width:0;padding:0 24px 32px}.admin-topbar{position:sticky;top:0;z-index:8;min-height:60px;display:flex;align-items:center;gap:12px;margin:0 -24px;padding:0 24px;border-bottom:1px solid var(--admin-line);background:#fff}
.admin-topbar>div p{margin:0;color:#738397;font-size:10px;font-weight:650;letter-spacing:.09em}.admin-topbar h1{margin:1px 0 0;font-size:17px;font-weight:650;letter-spacing:0}
.admin-status{display:inline-flex;align-items:center;gap:6px;margin-left:auto;border:1px solid #c9e2d6;border-radius:3px;padding:4px 8px;color:#327253;background:#f3faf6;font-size:11px}.admin-status i,.admin-updated i,.admin-state i{width:6px;height:6px;border-radius:50%;background:#37a575}
.admin-menu-toggle{display:grid;gap:4px;width:30px;height:30px;place-content:center;padding:5px;border:1px solid var(--admin-line);border-radius:3px;background:#fff}.admin-menu-toggle span{display:block;width:15px;height:1.5px;background:#526579}
.admin-content{width:100%;max-width:1600px;margin:0 auto;padding:18px 0 22px}
.admin-content-toolbar{display:flex;justify-content:flex-end;gap:12px;margin:0 0 12px}.admin-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px}.admin-updated{display:flex;align-items:center;gap:7px;color:#586c80;font-size:11px}
.admin-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:12px}.admin-kpi-grid article{min-width:0;padding:12px 14px;border:1px solid var(--admin-line);border-radius:4px;background:var(--admin-surface)}.admin-kpi-grid article>span{display:block;overflow:hidden;color:#657689;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.admin-kpi-grid strong{display:block;margin:5px 0 2px;color:#213e5c;font-size:21px;font-weight:650;line-height:1.1}.admin-kpi-grid small{display:block;overflow:hidden;color:#8492a1;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.admin-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-panel{min-width:0;margin:0 0 12px;padding:14px 16px;border:1px solid var(--admin-line);border-radius:4px;background:var(--admin-surface);box-shadow:none}.admin-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-panel-heading h2{margin:0;color:#273d53;font-size:13px;font-weight:650}.admin-panel-heading p{margin:3px 0 0;color:#8190a0;font-size:11px}.admin-data-tag{flex-shrink:0;padding:2px 6px;border:1px solid #dce4ea;border-radius:3px;color:#728194;font-size:10px}
.admin-chart-empty{display:grid;min-height:144px;place-items:center;margin-top:10px;border:1px dashed #dfe5eb;background:repeating-linear-gradient(0deg,#fff,#fff 35px,#f6f8fa 36px);color:#8492a1;font-size:12px}.admin-empty-row{display:grid;min-height:65px;place-items:center;margin-top:10px;border-top:1px solid #edf0f3;color:#8290a0;font-size:12px}.admin-link-button{padding:3px 4px;border:0;background:transparent;color:var(--admin-blue);font-size:11px;cursor:pointer}.admin-link-button:hover{text-decoration:underline}
.admin-toolbar{display:flex;align-items:center;gap:8px}.admin-primary-button,.admin-secondary-button{min-height:34px;padding:6px 12px;border:1px solid transparent;border-radius:3px;font-family:inherit;font-size:12px;font-weight:600;line-height:1.2;cursor:pointer}.admin-primary-button{border-color:var(--admin-blue);background:var(--admin-blue);color:#fff}.admin-secondary-button{border-color:#cbd5df;background:#fff;color:#354c62}.admin-primary-button:disabled,.admin-secondary-button:disabled{opacity:.52;cursor:not-allowed}
.admin-filterbar{margin:0 0 12px;padding:10px 12px;border:1px solid var(--admin-line);border-radius:4px;background:#fff}.admin-filterbar form{display:flex;align-items:end;gap:10px}.admin-filterbar label{display:grid;gap:4px;min-width:150px;color:#586a7d;font-size:11px;font-weight:600}.admin-filterbar input,.admin-filterbar select{width:min(260px,28vw);height:34px;padding:6px 9px;border:1px solid #cbd5df;border-radius:3px;background:#fff;color:#24394e;font-family:inherit;font-size:12px}.admin-filterbar input:focus,.admin-filterbar select:focus{outline:2px solid #b9d9f0;outline-offset:1px}.admin-filterbar .admin-link-button{height:34px}
.admin-list-panel{padding:0;overflow:hidden}.admin-list-panel>.admin-panel-heading{padding:13px 15px;border-bottom:1px solid #e7ebef}.admin-result-count{color:#65778b;font-size:11px}.admin-table-wrap{width:100%;overflow:auto}.admin-table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap;font-size:12px}.admin-table th,.admin-table td{height:42px;padding:7px 12px;border-bottom:1px solid #e8edf1}.admin-table th{position:sticky;top:0;background:#f6f8fa;color:#596b7e;font-size:11px;font-weight:650}.admin-table td{color:#34495e}.admin-table tbody tr:hover{background:#f8fafc}.admin-table tbody tr:last-child td{border-bottom:0}.admin-cell-sub{display:block;color:#8b98a6;font-size:10px}.admin-role{display:inline-block;padding:2px 6px;border-radius:3px;background:#edf1f5;color:#536678;font-size:10px}.admin-role.agent{background:#e7f2fb;color:#236897}.admin-money{font-variant-numeric:tabular-nums;font-weight:600}.admin-state{display:inline-flex;align-items:center;gap:5px;color:#4c6b5d;font-size:11px}.admin-state i{width:5px;height:5px}.admin-loading,.admin-empty{text-align:center;color:#718193;padding:20px}.admin-error{margin:8px;color:#a32839;background:#fff2f2;padding:9px;font-size:12px}.admin-roadmap ul{display:grid;gap:8px;margin:14px 0 0;padding:0 0 0 18px;color:#5b6c7d;font-size:12px}.admin-roadmap li{padding-left:3px}.admin-app.agent-mode .admin-status{display:none}
.admin-app.sidebar-collapsed{grid-template-columns:68px minmax(0,1fr)}.admin-app.sidebar-collapsed .admin-sidebar{padding-inline:7px}.admin-app.sidebar-collapsed .admin-brand{justify-content:center;padding-inline:0}.admin-app.sidebar-collapsed .admin-brand span,.admin-app.sidebar-collapsed .admin-nav-caption,.admin-app.sidebar-collapsed .admin-nav-item>span:not(.admin-nav-icon),.admin-app.sidebar-collapsed .admin-sidebar-footer a{display:none}.admin-app.sidebar-collapsed .admin-nav-item{justify-content:center;padding-inline:0}.admin-app.sidebar-collapsed .admin-nav-icon{font-size:17px}.admin-app.sidebar-collapsed .admin-sidebar-footer{text-align:center}
.admin-backdrop{display:none}
.share-config-form{display:grid;gap:14px;padding-top:14px}.share-config-form>label{display:grid;gap:5px;max-width:460px;color:#586a7d;font-size:12px;font-weight:600}.share-config-form input:not([type=checkbox]),.share-config-form select,.admin-toolbar input[type=date]{min-height:34px;padding:6px 9px;border:1px solid #cbd5df;border-radius:3px;background:#fff;color:#24394e;font:inherit}.share-config-form h3{margin:4px 0 0;font-size:13px}.share-cost-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.share-cost-grid label{display:flex;align-items:center;gap:7px;color:#45596d;font-size:12px}.share-config-form p,.share-hint{color:#718193;font-size:12px}.share-config-form footer{margin-top:4px}.share-config-form .form-error{color:#a32839}
.share-positive{color:#25835c}.share-negative{color:#b54747}
@media(hover:hover){.admin-nav-item:not(.active):hover{background:#285982;color:#fff;box-shadow:inset 3px 0 #83c4f4;transform:translateX(2px)}.admin-nav-item.active:hover{background:#326e9b;color:#fff;box-shadow:inset 3px 0 #b3ddff}.admin-primary-button:hover{background:var(--admin-blue-strong)}}
.admin-nav-item:focus-visible{outline:2px solid #a8d9ff;outline-offset:1px}
@media(min-width:768px) and (max-width:1050px){.admin-app{grid-template-columns:200px minmax(0,1fr)}}
@media(max-width:1050px){.admin-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-main{padding-inline:18px}.admin-topbar{margin-inline:-18px;padding-inline:18px}}
@media(max-width:767px){.admin-app,.admin-app.sidebar-collapsed{display:block;overflow-x:hidden}.admin-sidebar{position:fixed;left:0;width:min(84vw,280px);transform:translateX(-105%);transition:transform .2s ease;box-shadow:8px 0 25px #0b1c2b35}.admin-main{padding:0 14px 28px}.admin-topbar{min-height:56px;margin-inline:-14px;padding-inline:14px}.admin-menu-toggle{display:grid}.admin-topbar h1{font-size:16px}.admin-status{display:none}.admin-content{padding-top:14px}.admin-content-toolbar{margin-bottom:10px}.admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.admin-kpi-grid article{padding:10px}.admin-kpi-grid strong{font-size:19px}.admin-dashboard-grid{grid-template-columns:1fr;gap:0}.admin-filterbar form{flex-wrap:wrap}.admin-filterbar label{flex:1 1 145px}.admin-filterbar input,.admin-filterbar select{width:100%}.admin-toolbar{flex-wrap:wrap}.admin-table{min-width:760px}.admin-panel{padding:12px}.admin-list-panel{padding:0}.admin-backdrop{position:fixed;z-index:10;inset:0;width:100%;height:100%;border:0;background:#0c1c2c88;opacity:0;pointer-events:none}.admin-app.menu-open .admin-sidebar{transform:translateX(0)}.admin-app.menu-open .admin-backdrop{display:block;opacity:1;pointer-events:auto}}
@media(prefers-reduced-motion:reduce){.admin-nav-item,.admin-sidebar,.admin-backdrop{transition:none!important}}
.console-form{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin-top:12px}.console-form>label{display:grid;gap:5px;min-width:150px;color:#52677c;font-size:11px}.console-form input,.console-form select,.console-input,.console-filter input,.console-filter select{box-sizing:border-box;min-height:32px;padding:6px 8px;border:1px solid #cbd5df;border-radius:3px;background:#fff;color:#263d53;font:12px inherit}.console-form>button{min-height:32px}.console-message{flex-basis:100%;margin:0;color:#4a765b;font-size:11px}.console-filter{display:flex;align-items:end;flex-wrap:wrap;gap:8px}.console-filter>label{display:grid;gap:4px;color:#566c80;font-size:10px}.admin-inline-actions{display:flex;align-items:center;gap:5px;min-width:390px}.admin-inline-actions .console-input{min-width:0}.admin-inline-actions [data-new-password]{width:180px}.admin-list-panel .admin-panel-heading form{display:flex;gap:6px}.admin-list-panel .admin-panel-heading form input{height:32px;padding:5px 8px;border:1px solid #cbd5df;border-radius:3px;font:12px inherit}.console-field{display:grid;grid-template-columns:100px minmax(150px,1fr);align-items:center;gap:9px;margin:8px 0;color:#596d81;font-size:11px}.console-field input{height:32px;padding:6px 8px;border:1px solid #cbd5df;border-radius:3px;font:12px inherit}.permission-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.permission-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0;padding:8px;border:1px solid #e5eaf0;border-radius:4px}.permission-group legend{padding:0 4px;color:#5d7185;font-size:10px;font-weight:700}.permission-group label{display:flex;align-items:center;gap:5px;color:#52677b;font-size:10px}.permission-group input{accent-color:#1769aa}.danger-link{color:#a33c46}.audit-snapshot pre{max-width:360px;max-height:220px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;color:#43576b;font-size:10px}.admin-table input:focus-visible,.admin-table select:focus-visible,.console-form :focus-visible,.console-filter :focus-visible{outline:2px solid #9ccbed;outline-offset:1px}
@media(max-width:767px){.console-form{align-items:stretch}.console-form>label{flex:1 1 100%}.admin-inline-actions{min-width:340px}.permission-groups{grid-template-columns:1fr}.console-filter>*{flex:1 1 130px}.console-field{grid-template-columns:1fr}}
.console-form input,.console-form select,.console-input,.console-filter input,.console-filter select,.admin-list-panel .admin-panel-heading form input,.console-field input{font:inherit;font-size:12px}

/* Demo operations pages */
.admin-status{white-space:nowrap}.demo-badge{margin-left:4px;padding:1px 4px;border-radius:2px;background:#e7edf2;color:#53667a;font-size:9px;font-weight:700;letter-spacing:.04em}
.demo-state-control{display:flex;align-items:center;gap:5px;color:#7c8996;font-size:10px}.demo-state-control select,.admin-page-size{height:27px;padding:3px 6px;border:1px solid #d6dee6;border-radius:3px;background:#fff;color:#65778a;font-size:10px}
.admin-kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.admin-kpi-grid article{min-height:80px;padding:11px 13px}.admin-kpi-grid strong{font-size:19px;font-variant-numeric:tabular-nums}.admin-kpi-grid small{min-height:14px}
.admin-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-dashboard-grid>.admin-panel{margin:0;padding:13px 15px}.admin-panel-heading{min-height:20px}.admin-panel-heading h2{display:flex;align-items:center;gap:8px}.admin-result-count{color:#8693a0;font-size:10px;font-weight:400}.dashboard-wide{grid-column:1/-1}.admin-table{font-size:11px}.admin-table th,.admin-table td{height:40px;padding:6px 9px}.admin-table th{font-size:10px}.admin-money{text-align:right!important;font-variant-numeric:tabular-nums}.table-link{padding:0;border:0;background:none;color:#1769aa;font-family:inherit;font-size:11px;font-weight:600;cursor:pointer}.table-link:hover{text-decoration:underline}.credit-positive{color:#18805c!important}.credit-negative{color:#bd4b55!important}.admin-state{white-space:nowrap}.admin-state i{flex:0 0 5px}.admin-state.off i{background:#a8b2bd}
.admin-filterbar{padding:9px 10px}.admin-filterbar form{gap:8px}.admin-filterbar label{font-size:10px}.admin-filterbar input,.admin-filterbar select{height:32px;font-size:11px}.admin-secondary-button,.admin-primary-button{min-height:32px;font-size:11px}.admin-filterbar .admin-link-button{height:32px}.admin-page-size{margin-left:auto}.table-pager{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-height:36px;padding:4px 10px;border-top:1px solid #e8edf1;color:#718194;font-size:10px}.table-pager button:disabled{opacity:.35}.demo-footnote{margin:6px 2px;color:#82909e;font-size:10px}
.chart-legend{display:flex;align-items:center;gap:5px;color:#718194;font-size:10px}.chart-legend i{width:8px;height:8px;border-radius:50%;background:#3188c8}.chart-legend i.payout{margin-left:7px;background:#e2a446}.demo-line-chart{display:block;width:100%;height:170px;margin-top:4px}.demo-line-chart text{fill:#8794a2;font-size:9px}.chart-grid{fill:none;stroke:#e9edf1;stroke-width:1}.chart-area{fill:url(#chart-fill)}.chart-line{fill:none;stroke:#3188c8;stroke-width:2.5}.chart-line.secondary{stroke:#e2a446;stroke-width:2}
.detail-tabs,.settings-tabs,.report-periods{display:flex;align-items:center;gap:0;overflow:auto;margin:0 0 12px;border-bottom:1px solid var(--admin-line);white-space:nowrap}.detail-tabs button,.settings-tabs button,.report-periods button{min-height:36px;padding:7px 13px;border:0;border-bottom:2px solid transparent;background:transparent;color:#68798a;font-size:11px;cursor:pointer}.detail-tabs button.selected,.settings-tabs button.selected,.report-periods button.selected{border-bottom-color:#287aae;color:#1769aa;font-weight:650}.detail-grid{display:grid;grid-template-columns:minmax(110px,.45fr) 1fr;gap:0 12px;margin:8px 0}.detail-grid dt,.detail-grid dd{margin:0;padding:8px 0;border-bottom:1px solid #edf0f3;font-size:11px}.detail-grid dt{color:#768596}.detail-grid dd{color:#283e54;font-weight:550}.detail-grid dd .admin-state{margin-top:-2px}
.hierarchy-layout{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(350px,1.15fr);gap:12px}.tree-panel{max-height:calc(100vh - 170px);overflow:auto}.agent-tree,.agent-tree ul{margin:0;padding:0 0 0 18px;list-style:none;border-left:1px solid #dce3ea}.agent-tree>li{padding-left:0;border:0}.agent-tree li{position:relative;padding:4px 0 4px 12px}.agent-tree li:before{position:absolute;left:-1px;top:17px;width:9px;border-top:1px solid #dce3ea;content:""}.agent-tree summary,.tree-agent{display:flex;align-items:center;gap:10px;padding:6px 8px;border:0;border-radius:3px;background:#f7f9fb;color:#344c63;font-size:11px;cursor:pointer}.agent-tree summary small,.tree-agent small{color:#8190a0}.tree-agent{width:100%;text-align:left;background:transparent}.agent-tree summary:hover,.tree-agent:hover{background:#edf5fb}.agent-tree details>ul{margin-top:3px}.permission-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:12px}.role-list{display:grid;align-content:start;gap:3px}.role-list button{display:flex;justify-content:space-between;align-items:center;padding:9px 10px;border:1px solid transparent;border-radius:3px;background:#fff;color:#40566c;text-align:left;font-size:11px;cursor:pointer}.role-list button.selected{border-color:#cbddea;background:#edf5fb;color:#1769aa;font-weight:650}.role-list small{color:#8794a1;font-size:9px}.permission-panel{padding:0 14px 10px}.permission-panel>.admin-panel-heading{position:sticky;top:60px;z-index:2;padding:12px 0;background:#fff}.permission-row{display:grid;grid-template-columns:130px minmax(0,1fr) 24px;align-items:center;gap:10px;min-height:34px;border-bottom:1px solid #edf0f3;color:#40566b;font-size:11px}.permission-row>span{color:#8492a0}.permission-row input{justify-self:center;accent-color:#1769aa}
.settings-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.setting-row{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(140px,1.2fr);align-items:center;gap:12px;padding:10px 2px;border-bottom:1px solid #edf0f3;color:#566a7e;font-size:11px}.setting-row input,.setting-row select,.demo-overlay input,.demo-overlay select,.demo-overlay textarea{width:100%;min-height:32px;padding:6px 8px;border:1px solid #cbd5df;border-radius:3px;background:#fff;color:#283e54;font-family:inherit;font-size:11px}.form-actions{grid-column:1/-1;display:flex;align-items:center;gap:12px;padding-top:14px}.form-actions span{color:#82909e;font-size:10px}.report-periods{gap:3px;margin-bottom:12px;padding-bottom:6px}.report-periods input{height:29px;margin-left:8px;padding:4px 7px;border:1px solid #d4dce4;border-radius:3px;font-size:10px}.report-periods .admin-secondary-button{margin-left:8px}.report-sparkline,.monitor-bars{display:flex;align-items:end;justify-content:space-around;gap:5px;height:110px;margin-top:12px;padding:8px 8px 0;border-bottom:1px solid #e5eaf0;background:repeating-linear-gradient(0deg,#fff,#fff 24px,#f2f5f8 25px)}.report-sparkline i,.monitor-bars i{width:5%;height:50%;border-radius:2px 2px 0 0;background:#67a6d1}.report-sparkline.wins i{background:#56a786}.monitor-bars{height:140px}.monitor-bars i{height:55%;background:#d7a95d}.monitor-bars.blue i{background:#5a98c1}.donut-wrap{display:flex;align-items:center;justify-content:center;gap:22px;min-height:140px}.demo-donut{width:104px;height:104px;border-radius:50%;background:conic-gradient(#247ab3 0 58%,#47a27e 58% 85%,#e4b45c 85% 95%,#a2b4c4 95%);position:relative}.demo-donut:after{position:absolute;inset:25px;border-radius:50%;background:white;content:""}.donut-wrap ul{margin:0;padding-left:17px;color:#607488;font-size:10px;line-height:1.9}
.demo-overlay{position:fixed;z-index:30;inset:0;display:flex;justify-content:flex-end}.overlay-scrim{position:absolute;inset:0;width:100%;height:100%;border:0;background:#0c1d2dcc}.demo-drawer,.demo-modal{position:relative;z-index:1;display:flex;flex-direction:column;width:min(560px,94vw);height:100%;background:#fff;box-shadow:-12px 0 32px #0a1b2c30;animation:drawer-in .18s ease-out}.demo-modal{align-self:center;width:min(520px,92vw);height:auto;max-height:88vh;margin:auto;border-radius:5px;box-shadow:0 16px 50px #081b2e45;animation:modal-in .16s ease-out}.demo-drawer>header,.demo-modal>header{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 18px;border-bottom:1px solid #e3e8ed}.demo-drawer>header h2,.demo-modal>header h2{margin:0;font-size:15px}.overlay-content{overflow:auto;padding:16px 18px 18px}.overlay-content form{display:grid;gap:11px}.overlay-content label{display:grid;gap:4px;color:#596d80;font-size:10px;font-weight:600}.overlay-content textarea{resize:vertical}.overlay-content footer{position:sticky;bottom:-18px;display:flex;justify-content:flex-end;gap:8px;margin:8px -18px -18px;padding:12px 18px;border-top:1px solid #e3e8ed;background:#fff}.credit-preview{display:grid;grid-template-columns:1fr auto;gap:6px 15px;padding:11px;border:1px solid #dfe6ec;border-radius:3px;background:#f7f9fb;color:#728193;font-size:10px}.credit-preview strong{color:#28445f;font-size:12px;font-variant-numeric:tabular-nums}.form-error{margin:0;color:#ae293b;font-size:11px}.demo-state-box{display:flex;align-items:center;justify-content:center;gap:10px;min-height:160px;border:1px dashed #d6dee6;color:#6d7e90;font-size:12px}.demo-state-box.error{color:#ad3541;background:#fff8f8}.demo-state-box.denied{color:#8a5a16;background:#fffaf1}.risk-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.overlay-content pre{max-height:190px;overflow:auto;padding:10px;border:1px solid #e5e9ed;background:#f7f9fb;color:#34495e;font:10px/1.5 Consolas,monospace}.overlay-content h3{margin:14px 0 6px;font-size:12px}.overlay-content ul{padding-left:18px;color:#627589;font-size:11px}.overlay-content li{margin:5px 0}
@keyframes drawer-in{from{transform:translateX(16px);opacity:.7}to{transform:translateX(0);opacity:1}}@keyframes modal-in{from{transform:translateY(5px);opacity:.7}to{transform:translateY(0);opacity:1}}
/* Stable CSS-only chart bars; CSP intentionally blocks generated inline styles. */
.report-sparkline i:nth-child(1){height:48%}.report-sparkline i:nth-child(2){height:43%}.report-sparkline i:nth-child(3){height:59%}.report-sparkline i:nth-child(4){height:55%}.report-sparkline i:nth-child(5){height:67%}.report-sparkline i:nth-child(6){height:74%}.report-sparkline i:nth-child(7){height:63%}.report-sparkline i:nth-child(8){height:85%}.report-sparkline i:nth-child(9){height:77%}.report-sparkline i:nth-child(10){height:92%}.report-sparkline i:nth-child(11){height:81%}.report-sparkline i:nth-child(12){height:98%}.report-sparkline.wins i:nth-child(1){height:38%}.report-sparkline.wins i:nth-child(2){height:52%}.report-sparkline.wins i:nth-child(3){height:44%}.report-sparkline.wins i:nth-child(4){height:67%}.report-sparkline.wins i:nth-child(5){height:59%}.report-sparkline.wins i:nth-child(6){height:82%}.report-sparkline.wins i:nth-child(7){height:76%}.report-sparkline.wins i:nth-child(8){height:61%}.report-sparkline.wins i:nth-child(9){height:93%}.report-sparkline.wins i:nth-child(10){height:72%}.report-sparkline.wins i:nth-child(11){height:86%}.report-sparkline.wins i:nth-child(12){height:64%}.monitor-bars i:nth-child(1){height:38%}.monitor-bars i:nth-child(2){height:52%}.monitor-bars i:nth-child(3){height:44%}.monitor-bars i:nth-child(4){height:67%}.monitor-bars i:nth-child(5){height:59%}.monitor-bars i:nth-child(6){height:82%}.monitor-bars i:nth-child(7){height:76%}.monitor-bars i:nth-child(8){height:61%}.monitor-bars i:nth-child(9){height:93%}.monitor-bars i:nth-child(10){height:72%}.monitor-bars i:nth-child(11){height:86%}.monitor-bars i:nth-child(12){height:64%}
@media(max-width:1050px){.admin-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-table{min-width:960px}}
@media(max-width:767px){.admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.demo-state-control{display:none}.admin-dashboard-grid,.hierarchy-layout,.permission-layout,.settings-form{grid-template-columns:1fr}.dashboard-wide{grid-column:auto}.role-list{grid-template-columns:repeat(2,minmax(0,1fr))}.role-list button{min-height:38px}.settings-form{gap:0}.setting-row{grid-template-columns:1fr minmax(130px,1fr)}.report-periods{max-width:100%}.report-periods input{min-width:130px}.demo-modal{max-height:90vh}.table-pager{position:sticky;left:0}.permission-row{grid-template-columns:95px minmax(0,1fr) 24px}.admin-status{margin-left:auto}.detail-tabs{margin-right:-14px}.demo-drawer{width:min(94vw,560px)}}
@media(prefers-reduced-motion:reduce){.demo-drawer,.demo-modal{animation:none}}

/* Branded administrator sign-in; deliberately separate from browser Basic Auth. */
.admin-login{--login-ink:#13243a;--login-muted:#79899a;--login-blue:#1682e8;min-height:100svh;padding:28px clamp(20px,5vw,76px);overflow:hidden;background:#f4f7fb;color:var(--login-ink);font:14px/1.5 "Segoe UI","Noto Sans TC",sans-serif}
.admin-login-topline{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;max-width:1450px;margin:0 auto}.admin-login-brand{display:flex;align-items:center;gap:11px;color:#19324f;text-decoration:none;font-size:16px;font-weight:800;letter-spacing:.1em}.admin-login-brand img{width:43px;height:43px;object-fit:contain}.admin-login-brand b{color:#0b74ce}.admin-login-brand small{display:block;margin-top:1px;color:#74859a;font-size:8px;letter-spacing:.19em}.admin-environment{display:flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid #d7e5f3;border-radius:999px;background:#fff;color:#557088;font-size:11px}.admin-environment i{width:7px;height:7px;border-radius:50%;background:#e5a63a;box-shadow:0 0 0 3px #fff4dd}
.admin-login-layout{position:relative;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(390px,.97fr);max-width:1450px;min-height:min(770px,calc(100svh - 112px));margin:17px auto 0;border:1px solid #e2e9f1;border-radius:20px;background:#fff;box-shadow:0 24px 70px #1b36520d;overflow:hidden}.admin-login-story{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:650px;padding:clamp(44px,7vw,104px);overflow:hidden;background:radial-gradient(ellipse at 18% 85%,#176ebf4d,transparent 43%),linear-gradient(145deg,#09213b 0%,#0b3159 54%,#0d4775 100%);color:#fff}.admin-login-story:after{position:absolute;inset:0;content:"";background:linear-gradient(115deg,transparent 42%,#8bd0ff0a 42.2%,transparent 72%);pointer-events:none}.admin-login-kicker{position:relative;z-index:1;color:#84c7ff;font-size:10px;font-weight:750;letter-spacing:.23em}.admin-login-story h1{position:relative;z-index:1;margin:18px 0 15px;font-size:clamp(34px,4.4vw,57px);font-weight:680;line-height:1.23;letter-spacing:.015em}.admin-login-story>p{position:relative;z-index:1;max-width:440px;margin:0;color:#c5d6e8;font-size:14px;line-height:2}.admin-login-highlights{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:23px;margin-top:38px;color:#d7e7f4;font-size:11px}.admin-login-highlights span{display:flex;align-items:center;gap:7px}.admin-login-highlights i{display:grid;width:17px;height:17px;place-items:center;border:1px solid #7ab9e978;border-radius:50%;color:#9cd5ff;font-size:10px;font-style:normal}.admin-login-orbit{position:absolute;right:-145px;bottom:-244px;width:530px;height:530px;border:1px solid #9dcdf426;border-radius:50%}.admin-login-orbit:before,.admin-login-orbit:after{position:absolute;inset:36px;border:1px solid #9dcdf41c;border-radius:50%;content:""}.admin-login-orbit:after{inset:92px}.admin-login-orbit-two{right:-55px;bottom:-316px;width:470px;height:470px;border-color:#e0b97224}.admin-login-glow{position:absolute;right:19%;bottom:18%;width:9px;height:9px;border-radius:50%;background:#ffd58a;box-shadow:0 0 30px 13px #c68c4166}
.admin-login-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px clamp(25px,5vw,76px) 26px}.admin-login-card{width:min(100%,408px)}.admin-login-mark{display:flex;align-items:flex-end;gap:4px;width:29px;height:27px;margin-bottom:28px;padding:3px 4px;border:1px solid #d5e6f5;border-radius:8px;background:#f2f8fd}.admin-login-mark span{width:5px;border-radius:3px;background:#1c80d6}.admin-login-mark span:nth-child(1){height:9px;opacity:.62}.admin-login-mark span:nth-child(2){height:16px}.admin-login-mark span:nth-child(3){height:12px;background:#e7b968}.admin-login-eyebrow{color:#5a7794;font-size:9px;font-weight:750;letter-spacing:.2em}.admin-login-card h2{margin:8px 0 4px;color:#142c46;font-size:27px;font-weight:700;letter-spacing:.015em}.admin-login-description{margin:0 0 29px;color:#7e8ea0;font-size:12px}.admin-login-card form{display:grid;gap:9px}.admin-login-card label{margin-top:7px;color:#344b63;font-size:11px;font-weight:650}.admin-login-input{display:flex;align-items:center;min-height:48px;border:1px solid #dce5ee;border-radius:8px;background:#fbfcfe;transition:border-color .18s,box-shadow .18s,background .18s}.admin-login-input:focus-within{border-color:#64a7df;background:#fff;box-shadow:0 0 0 3px #1682e814}.admin-login-input>span{width:42px;color:#93a6b8;text-align:center;font-size:16px}.admin-login-input input{flex:1;min-width:0;height:46px;padding:0 4px;border:0;outline:0;background:transparent;color:#17324e;font:13px inherit}.admin-login-input input::placeholder{color:#a4b0bd}.admin-password-toggle{height:30px;margin-right:8px;padding:0 8px;border:0;border-radius:5px;background:transparent;color:#66829c;font-size:10px}.admin-password-toggle:hover{background:#edf4fb;color:#1c70b4}.admin-login-error{margin:4px 0 0;padding:10px 12px;border:1px solid #f2caca;border-radius:7px;background:#fff5f4;color:#a53c3c;font-size:11px}.admin-login-submit{display:flex;align-items:center;justify-content:space-between;height:48px;margin-top:12px;padding:0 16px 0 18px;border:0;border-radius:8px;background:linear-gradient(105deg,#167cda,#1164bd);box-shadow:0 8px 18px #1168c42a;color:#fff;font-size:13px;font-weight:650;transition:transform .15s,box-shadow .15s}.admin-login-submit:hover{transform:translateY(-1px);box-shadow:0 11px 22px #1168c43a}.admin-login-submit:disabled{opacity:.65;transform:none}.admin-login-submit span+span{font-size:18px;font-weight:400}.admin-login-assurance{display:flex;align-items:center;gap:10px;margin-top:24px;padding-top:17px;border-top:1px solid #edf0f4;color:#60768c;font-size:10px}.admin-lock-icon{display:grid;width:30px;height:30px;place-items:center;border:1px solid #e2eaf2;border-radius:8px;color:#4e85b3}.admin-login-assurance small{color:#98a5b3;font-size:9px}.admin-login-footer{width:min(100%,408px);margin-top:auto;padding-top:27px;color:#9aa8b6;font-size:8px;font-weight:650;letter-spacing:.12em}.admin-login-footer>span:first-child{padding-inline:4px;color:#d1a958}.admin-login-footer-right{float:right;letter-spacing:.04em}.admin-status{gap:10px}.admin-status button{padding:5px 9px;border:1px solid #dbe5ef;border-radius:6px;background:#fff;color:#4e6984;font-size:10px}.admin-status button:hover{border-color:#94b9d9;color:#145f9f}
@media(max-width:900px){.admin-login{padding:18px}.admin-login-layout{grid-template-columns:minmax(0,.9fr) minmax(350px,1.1fr);min-height:calc(100svh - 98px)}.admin-login-story{min-height:590px;padding:38px}.admin-login-story h1{font-size:38px}.admin-login-panel{padding-inline:30px}}
@media(max-width:680px){.admin-login{padding:14px;background:#f6f8fb}.admin-login-brand img{width:37px;height:37px}.admin-login-layout{display:block;min-height:calc(100svh - 86px);margin-top:12px;border-radius:15px}.admin-login-story{display:none}.admin-login-panel{min-height:calc(100svh - 86px);padding:36px 24px 20px}.admin-login-card{max-width:420px}.admin-login-card h2{font-size:24px}.admin-login-footer{max-width:420px;padding-top:22px}}
.admin-login-session-check{margin:24px 0;padding:14px;border:1px solid #e4edf5;border-radius:8px;background:#f7fafd;color:#647b91;font-size:12px}.admin-login-input input{font:inherit;font-size:13px}.admin-user-label{color:#516d86;font-size:10px}
#admin-login[hidden],#admin-login-form[hidden],#admin-login-session-check[hidden]{display:none!important}
