:root{color-scheme:light;--blue:#0078d4;--blue-dark:#005a9e;--bg:#f3f6fa;--card:#fff;--text:#201f1e;--muted:#64748b;--border:#d8e0ea;--soft:#e1f1ff;--row:#f7fafc;--shadow:0 4px 18px #0f172a0b;font-family:"Segoe UI","Microsoft YaHei",system-ui,sans-serif;font-size:14px}
:root.dark{color-scheme:dark;--bg:#0f172a;--card:#172235;--text:#edf2f7;--muted:#a8b5c8;--border:#354358;--soft:#1d3d5d;--row:#1d2b40;--shadow:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}h1,h2,h3,p{margin:0}h1{font-size:25px;letter-spacing:-.5px;font-weight:700}h2{font-size:16px;font-weight:650}p{line-height:1.6}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #62afe7;outline-offset:2px}input,select,textarea{padding:8px 10px;border:1px solid var(--border);border-radius:5px;background:var(--card);color:var(--text);min-width:0}input[type=checkbox]{accent-color:var(--blue);width:16px;height:16px;padding:0;cursor:pointer}input[type=month],input[type=date]{min-width:150px}label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}a,.link{color:var(--blue);text-decoration:none}.link{background:none;border:0;padding:3px;font-weight:600}.link:hover{text-decoration:underline}.muted{color:var(--muted)}.small-text{font-size:12px;margin:8px 0 12px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.6px;color:var(--muted);margin-bottom:7px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:6px;border:1px solid var(--border);background:var(--card);color:var(--text);padding:8px 14px;border-radius:5px;white-space:nowrap;font-weight:600;font-size:13px;min-height:35px}.btn:hover{background:var(--soft)}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.primary:hover{background:var(--blue-dark)}.btn.danger{color:#bc2626;border-color:#e6b5b5}.btn.danger:hover{background:#fee2e2}.btn.icon{padding:6px 10px;font-size:20px}.full{width:100%}.card{background:var(--card);border:1px solid var(--border);border-radius:9px;padding:20px;margin-bottom:20px;box-shadow:var(--shadow)}.card p{margin-top:5px}.toolbar,.filters,.header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.toolbar{padding:12px}.toolbar.no-padding{padding:0;margin-bottom:14px}.grow{flex:1}.inline-check{display:flex;flex-direction:row;align-items:center;gap:6px;white-space:nowrap}.section{display:none}.section.active{display:block}[hidden]{display:none!important}.table-card{padding:0;overflow:hidden}.table-wrap{max-width:100%;overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{padding:10px 12px;border:1px solid var(--border);text-align:left;vertical-align:middle}th{background:var(--blue);color:#fff;font-weight:600;white-space:nowrap}thead{position:sticky;top:0;z-index:1}tbody tr:nth-child(even){background:var(--row)}tbody tr:hover{background:var(--soft)}.admin-table th,.admin-table td{white-space:nowrap;text-align:center}.admin-table input[type=text],.admin-table input[type=password]{width:100%}.admin-table input.tenant-name{width:100%}.admin-table input:disabled{background:var(--row)}.admin-table .actions{display:flex;gap:6px;justify-content:center}.actions .btn{padding:5px 10px;min-height:29px;font-size:12px}.empty-cell{text-align:center!important;color:var(--muted);padding:36px!important}.amount{text-align:right;font-variant-numeric:tabular-nums;font-family:Consolas,monospace;font-weight:600;white-space:nowrap}.total-row td{background:var(--soft);font-weight:700}.numeric{text-align:right}.table-link{max-width:550px;display:inline-block;text-align:left;white-space:normal;overflow-wrap:anywhere}.badge{display:inline-flex;align-items:center;border-radius:12px;padding:3px 9px;font-size:11px;background:#e2e8f0;color:#475569}.badge.completed,.badge.enabled{background:#ddf3e6;color:#18713d}.badge.running{background:#fff2cf;color:#95660e}.badge.failed,.badge.partial,.badge.interrupted{background:#fde2e2;color:#a72b2b}.azure-mark{display:grid;grid-template-columns:1fr 1fr;width:38px;height:38px;gap:4px}.azure-mark i{background:var(--blue)}.azure-mark.small{width:27px;height:27px;gap:3px;flex-shrink:0}.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:18px}.brand small{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:4px}.admin-shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}.admin-sidebar{position:sticky;top:0;height:100vh;padding:25px 16px;display:flex;flex-direction:column;background:var(--card);border-right:1px solid var(--border)}.admin-sidebar .brand{margin:0 6px 35px}.admin-nav{display:block;width:100%;text-align:left;padding:12px 14px;border:0;border-radius:5px;color:var(--text);background:transparent;margin-bottom:5px;font-weight:600}.admin-nav:hover{background:var(--row)}.admin-nav.active{background:var(--soft);color:var(--blue);box-shadow:inset 3px 0 var(--blue)}.admin-nav.sub{padding-left:28px}.nav-group{font-size:12px;color:var(--muted);padding:21px 14px 10px}.sidebar-footer{margin-top:auto;border-top:1px solid var(--border);padding:20px 5px 0;display:flex;align-items:center;justify-content:space-between;font-size:12px}.admin-content{padding:28px;min-width:0}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.task-status{font-size:12px;color:var(--muted);margin-bottom:24px;min-height:20px}.task-status.running{color:#a26b00}.tabs{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap}.tab,.nav-btn{border:1px solid transparent;background:transparent;color:var(--text);font-weight:600;padding:9px 17px;border-radius:5px;white-space:nowrap}.tab:hover,.nav-btn:hover{background:var(--soft)}.tab.active,.nav-btn.active{color:var(--blue);background:var(--soft);border-color:#99c9ed}.settings-table{table-layout:fixed}.settings-table td{text-align:left;white-space:normal}.settings-table td input,.settings-table td select{width:100%}.settings-table .group-row td{padding:12px;background:var(--row);color:var(--blue);font-weight:700}.settings-table .setting-desc{color:var(--muted);line-height:1.5}.customer-content{max-width:1800px;margin:0 auto;padding:26px 32px 40px}.customer-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:24px}.customer-header h1{font-size:24px}.customer-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--card);border:1px solid var(--border);border-radius:8px;padding:8px 12px;margin-bottom:14px}.top-nav{display:flex;gap:8px}.metric-control{flex-direction:row;align-items:center}#data-status{font-size:12px;margin:8px 2px 18px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.kpi{padding:18px;background:var(--card);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);min-height:102px}.kpi-label{color:var(--muted);font-size:12px}.kpi strong{display:block;margin-top:12px;font-size:24px;font-weight:650;font-variant-numeric:tabular-nums}.kpi small{font-size:12px;color:var(--muted);font-weight:400}.overview-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:20px}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.card-heading>.muted{font-size:12px}.monthly-chart{height:230px;display:flex;align-items:flex-end;gap:18px;padding:28px 12px;overflow-x:auto;position:relative}.chart-bar-button{height:100%;min-width:60px;flex:1;background:transparent;border:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;color:var(--muted);font-size:11px;position:relative}.chart-bar{display:block;width:100%;max-width:48px;min-height:2px;background:var(--blue);border-radius:4px 4px 0 0;margin:6px 0 8px}.chart-bar.negative{background:#d15858}.chart-value{font-size:10px;white-space:nowrap}.chart-bar-button:hover .chart-bar{background:#4babea}.service-chart{display:flex;flex-direction:column;gap:13px;max-height:230px;overflow:auto;padding:6px 0}.service-row{display:grid;grid-template-columns:minmax(80px,1fr) 1.4fr auto;align-items:center;gap:10px;font-size:12px}.service-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.service-track{height:9px;border-radius:3px;background:var(--row)}.service-fill{height:100%;background:var(--blue);border-radius:3px}.chart-empty{align-self:center;text-align:center;color:var(--muted);width:100%;padding:65px 10px}.filters{align-items:flex-end}.filters label{flex:1;min-width:145px;max-width:250px}.filters input,.filters select{width:100%}.dimension-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:20px}.dimension-toolbar .tabs{margin:0}.preset-group{display:flex;gap:6px;flex-wrap:wrap}.preset-group .btn{padding:5px 10px;font-size:12px}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin-top:16px}.pagination input{width:70px}.pagination select{padding:5px}.detail-scroll{max-height:62vh}.detail-scroll table{width:100%;min-width:100%}.detail-scroll td{max-width:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-scroll th{max-width:none}.modal{padding:0;border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--text);width:min(1000px,94vw);max-height:88vh;box-shadow:0 16px 70px #0003}.modal::backdrop{background:#0f172a80}.modal-heading{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--card);z-index:2}#modal-content{padding:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid>.wide{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.notice{padding:12px 15px;background:var(--soft);border:1px solid var(--border);border-radius:5px;margin:14px 0;font-size:12px}.error-text{color:#c33434;font-size:12px;min-height:20px;margin-top:8px}.toast{position:fixed;bottom:24px;right:24px;max-width:min(600px,90vw);padding:14px 22px;background:#155a35;color:#fff;border-radius:6px;box-shadow:0 8px 25px #0003;z-index:100}.toast.error{background:#a52929}.log-output{white-space:pre-wrap;overflow-wrap:anywhere;font-family:Consolas,monospace;font-size:12px;max-height:35vh;overflow:auto;padding:14px;background:var(--row);border-radius:5px}.grant-toolbar{margin-bottom:15px}.grant-table input[type=date]{width:155px;min-width:140px}.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at top,#dbeefe 0,var(--bg) 55%);padding:24px}.login-card{background:var(--card);border:1px solid var(--border);border-radius:12px;width:420px;max-width:100%;padding:36px;box-shadow:0 10px 45px #0f172a14}.login-card .azure-mark{margin-bottom:25px}.login-card h1{font-size:23px;margin-bottom:12px}.login-card form{margin-top:26px}.login-card label{margin-bottom:16px}.login-card input{padding:11px}.login-foot{font-size:11px;color:var(--muted);text-align:center;margin-top:25px}.busy{opacity:.6}.row-dirty td{background:var(--soft)}.download-link{display:inline-block}.mono{font-family:Consolas,monospace}.detail-date{color:var(--muted)}
@media(min-width:1600px){.customer-content{padding-top:30px}.card{padding:24px}.table-card{padding:0}}
.mfa-qr{display:block;width:200px;height:200px;margin:15px auto;background:#fff}.modal #drill-content{margin-top:24px}.modal .card-heading{margin-top:18px}
.record-table td:last-child{white-space:pre-wrap;overflow-wrap:anywhere;max-width:none}.record-table td:first-child{width:30%;font-family:Consolas,monospace}
.settings-table td input[type=text]{width:100%;max-width:100%}
@media(max-width:1100px){.admin-shell{grid-template-columns:190px minmax(0,1fr)}.admin-content{padding:22px 18px}.overview-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-actions{font-size:12px}.dimension-toolbar{align-items:flex-start}}
@media(max-width:700px){.admin-shell{display:block}.admin-sidebar{position:static;height:auto;padding:15px}.admin-sidebar .brand{margin:0 0 15px}.admin-sidebar nav{display:flex;flex-wrap:wrap}.admin-nav{width:auto;padding:9px 12px}.nav-group{display:none}.sidebar-footer{margin-top:10px;padding:10px 0 0}.admin-content,.customer-content{padding:18px 12px}.customer-header,.page-header{flex-wrap:wrap}.customer-header h1{font-size:21px}.customer-controls{align-items:flex-start;flex-direction:column}.top-nav{width:100%}.nav-btn{flex:1;padding:9px 12px}.card{padding:16px}.table-card{padding:0}.kpi{padding:14px}.kpi strong{font-size:20px}.overview-grid{gap:0}.form-grid{grid-template-columns:1fr}.form-grid>.wide{grid-column:auto}.dimension-toolbar{flex-wrap:wrap}.filters label{min-width:130px;max-width:none}.settings-table{table-layout:fixed}.settings-table td{min-width:0}.settings-table td:last-child{min-width:0}.modal-heading,#modal-content{padding:16px}.chart-bar-button{min-width:52px}.preset-group{gap:4px}}
