:root{color:var(--color-text);background:var(--color-canvas);font-family:var(--font-body);font-synthesis:none;--font-body:"Segoe UI Variable", "Segoe UI", Aptos, sans-serif;--font-technical:Consolas, "Courier New", monospace;--color-canvas:#f4f7fa;--color-surface:#fff;--color-surface-subtle:#f7f9fb;--color-text:#14243a;--color-heading:#17395c;--color-body:#263c55;--color-muted:#627184;--color-muted-strong:#465970;--color-muted-soft:#718196;--color-nav:#4a5d73;--color-nav-label:#748295;--color-brand:#094888;--color-brand-accent:#0d5da8;--color-brand-accent-hover:#073e75;--color-brand-deep:#06396d;--color-brand-control:#094888;--color-brand-line:#78abd5;--color-brand-muted:#e2effb;--color-brand-tint:#e5f0fa;--color-brand-subtle:#f0f6fb;--color-brand-icon:#e5f0fa;--color-info-surface:#edf7ff;--color-info-text:#245978;--color-border:#d8dee5;--color-border-soft:#e4e8ec;--color-border-strong:#aeb9c6;--color-brand-border:#9ac3e4;--color-success:#1e5d91;--color-success-muted:#3f6684;--color-success-border:#8ebbdc;--color-success-surface:#edf6fc;--color-success-accent:#4c91c2;--color-warning:#805d19;--color-warning-border:#d5a54a;--color-warning-border-soft:#eed7a8;--color-warning-surface:#fff8e8;--color-error:#9a2828;--color-error-surface:#fff0f0;--color-demo:#743719;--color-demo-label:#8b3f1f;--color-demo-border:#f2c7ae;--color-demo-accent:#d9682c;--color-demo-surface:#fff7f2;--color-on-brand:#fff;--color-on-brand-muted:#ffffff73;--color-on-brand-line:#ffffff59;--color-focus:#0078d440;--shadow-topbar:0 2px 8px #0948882e;--shadow-tile:0 2px 6px #0948880f;--shadow-tile-hover:0 7px 18px #0948881f;--font-size-xs:12px;--font-size-sm:13px;--font-size-body:14px;--font-size-label:14px;--font-size-heading:21px;--font-size-title:24px;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--border-default:1px solid var(--color-border);--control-height:36px;--radius-control:7px;--radius-panel:8px;--radius-status:999px;--navigation-width:168px;--content-width:980px}*{box-sizing:border-box}body{min-width:320px;font-size:var(--font-size-body);margin:0;line-height:1.5}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.app-shell{grid-template:56px minmax(0, 1fr) / var(--navigation-width) minmax(0, 1fr);min-height:100vh;display:grid}.topbar{z-index:2;background:var(--color-brand);border-bottom:3px solid var(--color-brand-line);min-width:0;color:var(--color-on-brand);box-shadow:var(--shadow-topbar);grid-column:1/-1;align-items:center;display:flex}.brand{height:100%;color:var(--color-on-brand);align-items:center;gap:8px;padding:0 18px;text-decoration:none;display:flex}.brand img{width:142px;height:auto;display:block}.product-name{border-left:1px solid var(--color-on-brand-line);min-width:0;color:var(--color-brand-muted);font-size:var(--font-size-label);font-weight:var(--font-weight-medium);align-items:center;gap:7px;margin:0;padding-left:16px;display:flex}.session-controls{align-items:center;gap:12px;margin-left:auto;padding-right:14px;display:flex}.environment{border:1px solid var(--color-on-brand-muted);border-radius:var(--radius-status);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:3px 8px}.user-summary{max-width:220px;color:var(--color-brand-muted);font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;display:flex;overflow:hidden}.topbar-action,.icon-button{border:1px solid var(--color-on-brand-muted);color:var(--color-on-brand);cursor:pointer;background:0 0}.topbar-action{padding:6px 10px}.icon-button{place-items:center;width:32px;height:32px;padding:0;display:grid}.topbar-action,.icon-button{border-radius:var(--radius-control)}.sidebar{background:var(--color-surface);border-right:var(--border-default);min-width:0;padding:var(--space-5) 10px var(--space-3);flex-direction:column;display:flex}.nav-label{color:var(--color-nav-label);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:0;text-transform:uppercase;margin:0 7px 10px}.sidebar nav{gap:3px;display:grid}.sidebar nav a{border-radius:0 var(--radius-control) var(--radius-control) 0;min-height:38px;color:var(--color-nav);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-left:3px solid #0000;align-items:center;gap:9px;padding:0 9px;text-decoration:none;display:flex}.sidebar nav a:hover{background:var(--color-brand-subtle);color:var(--color-brand)}.sidebar nav a.active{background:var(--color-brand-tint);border-left-color:var(--color-brand-accent);color:var(--color-brand-deep);font-weight:var(--font-weight-semibold)}.sidebar-demo{border-top:1px solid var(--color-border);color:var(--color-demo-label);font-size:var(--font-size-xs);gap:3px;margin-top:auto;padding:14px 8px 0;display:grid}.sidebar-demo span{font-weight:var(--font-weight-semibold)}.sidebar-demo small{color:var(--color-muted);text-overflow:ellipsis;overflow:hidden}.main-content{min-width:0;padding:var(--space-5) 22px 40px;background:var(--color-canvas)}.demo-notice{max-width:var(--content-width);border:1px solid var(--color-demo-border);border-left:4px solid var(--color-demo-accent);border-radius:var(--radius-control);background:var(--color-demo-surface);color:var(--color-demo);font-size:var(--font-size-sm);align-items:baseline;gap:12px;margin-bottom:16px;padding:10px 12px;display:flex}.demo-notice strong{white-space:nowrap}.dashboard-page,.workspace-page,.permissions-page{max-width:var(--content-width)}.page-heading{min-height:38px;color:var(--color-brand);align-items:center;gap:10px;margin-bottom:18px;display:flex}.page-heading>div{min-width:0}.page-heading h1{color:var(--color-brand);font-size:var(--font-size-title);font-weight:var(--font-weight-semibold);letter-spacing:0;margin:0;line-height:1.2}.page-heading h2{font-size:var(--font-size-heading);font-weight:var(--font-weight-semibold);margin:0;line-height:1.25}.page-heading p{color:var(--color-muted);font-size:var(--font-size-sm);margin:4px 0 0}.page-heading>.status-badge{margin-left:auto}.service-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;max-width:520px;display:grid}.service-tile{border:1px solid var(--color-border);border-top:3px solid var(--color-brand-accent);border-radius:var(--radius-panel);background:var(--color-surface);min-height:104px;color:var(--color-brand);box-shadow:var(--shadow-tile);grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px;text-decoration:none;display:grid}.service-tile:hover{border-color:var(--color-brand-border);box-shadow:var(--shadow-tile-hover);transform:translateY(-1px)}.service-tile h3{color:var(--color-heading);font-size:16px;font-weight:var(--font-weight-semibold);margin:0 0 3px}.service-tile p{color:var(--color-muted);font-size:var(--font-size-sm);margin:0}.workspace-page{background:0 0}.demo-context{border-left:3px solid var(--color-success-accent);background:var(--color-success-surface);color:var(--color-success-muted);font-size:var(--font-size-sm);margin:0 0 14px;padding:8px 11px}.workspace-toolbar{border:1px solid var(--color-border);border-radius:var(--radius-panel) var(--radius-panel) 0 0;background:var(--color-surface);flex-wrap:wrap;align-items:end;gap:8px;padding:14px;display:flex}.filter-control{flex:260px;position:relative}.filter-control>svg{color:var(--color-muted-soft);pointer-events:none;position:absolute;bottom:10px;left:10px}label{color:var(--color-muted-strong);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);margin-bottom:5px;display:block}input{width:100%;min-height:var(--control-height);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);color:var(--color-text);background:var(--color-surface);padding:7px 10px 7px 34px}input:focus{outline:2px solid var(--color-focus);border-color:var(--color-brand-accent)}button{min-height:var(--control-height);border:1px solid var(--color-brand-accent);border-radius:var(--radius-control);background:var(--color-brand-accent);color:var(--color-on-brand);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;justify-content:center;align-items:center;gap:7px;padding:7px 11px;display:inline-flex}button:hover{background:var(--color-brand-accent-hover)}.secondary-button{background:var(--color-surface);color:var(--color-brand-control)}.secondary-button:hover{background:var(--color-brand-subtle)}.workspace-results{border:1px solid var(--color-border);border-radius:0 0 var(--radius-panel) var(--radius-panel);background:var(--color-surface);border-top:0;min-height:180px}.inline-message{border-bottom:1px solid var(--color-border);background:var(--color-info-surface);color:var(--color-info-text);font-size:var(--font-size-sm);margin:0;padding:10px 14px}.inline-message.error,.global-alert{background:var(--color-error-surface);color:var(--color-error)}.global-alert{max-width:var(--content-width);padding:10px 12px}.empty-state{color:var(--color-muted);text-align:center;margin:0;padding:56px 20px}.customer-list{margin:0;padding:0;list-style:none}.customer-list li{border-bottom:1px solid var(--color-border-soft);grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;display:grid}.customer-icon{background:var(--color-brand-icon);width:34px;height:34px;color:var(--color-brand-accent);place-items:center;display:grid}.customer-list li>div{gap:3px;min-width:0;display:grid}.customer-list strong{color:var(--color-heading);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.customer-list span,.customer-list small{color:var(--color-muted);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.status-badge{border:1px solid var(--color-border-strong);border-radius:var(--radius-status);min-height:24px;color:var(--color-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap;align-items:center;padding:3px 9px;display:inline-flex}.status-badge.healthy{border-color:var(--color-success-border);background:var(--color-success-surface);color:var(--color-success)}.state-panel{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);max-width:620px;box-shadow:var(--shadow-tile);padding:24px}.state-panel h2{margin-top:0}.administration-label{margin-top:24px}.permission-meta{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-muted);flex-wrap:wrap;justify-content:space-between;gap:8px 18px;padding:10px 12px;font-size:11px;display:flex}.permission-groups{gap:14px;margin-top:14px;display:grid}.permission-group{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);overflow:hidden}.permission-group>header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.permission-group h2{color:var(--color-heading);margin:0;font-size:14px}.permission-group header p{color:var(--color-muted);margin:2px 0 0;font-size:11px}.permission-mapping{border-bottom:1px solid var(--color-border);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.permission-mapping>div{border-right:1px solid var(--color-border);min-width:0;padding:10px 14px}.permission-mapping>div:last-child{border-right:0}.permission-mapping dt{color:var(--color-muted);text-transform:uppercase;font-size:10px;font-weight:700}.permission-mapping dd{overflow-wrap:anywhere;color:var(--color-heading);margin:4px 0 0;font-size:12px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px}caption{color:var(--color-muted-strong);text-align:left;align-items:center;gap:7px;padding:10px 14px;font-weight:700;display:flex}th,td{border-top:1px solid var(--color-border-soft);text-align:left;vertical-align:top;padding:9px 14px}th{background:var(--color-surface-subtle);color:var(--color-muted-strong);text-transform:uppercase;font-size:10px}td{color:var(--color-body)}.technical-value{font-family:var(--font-technical);font-size:11px}.table-empty{color:var(--color-muted);text-align:center}.status-badge.warning{border-color:var(--color-warning-border);background:var(--color-warning-surface);color:var(--color-warning)}.inline-message.warning{border:1px solid var(--color-warning-border-soft);background:var(--color-warning-surface);color:var(--color-warning);align-items:center;gap:7px;display:flex}@media (width<=720px){.app-shell{grid-template:52px auto minmax(0,1fr)/1fr}.topbar{grid-column:1}.brand{padding:0 12px}.brand img{width:120px}.product-name{font-size:12px}.user-summary{display:none}.sidebar{border-right:0;border-bottom:1px solid var(--color-border);grid-row:2;padding:7px 10px}.sidebar .nav-label,.sidebar-demo{display:none}.sidebar nav{display:flex;overflow-x:auto}.sidebar nav a{border-bottom:3px solid #0000;border-left:0;flex:none;min-height:34px}.sidebar nav a.active{border-bottom-color:var(--color-brand-accent)}.main-content{grid-row:3;padding:14px 12px 28px}.demo-notice{flex-direction:column;align-items:flex-start;gap:3px}.workspace-toolbar{align-items:stretch}.workspace-toolbar button{flex:180px}.permission-mapping{grid-template-columns:1fr}.permission-mapping>div{border-right:0;border-bottom:1px solid var(--color-border)}.permission-mapping>div:last-child{border-bottom:0}}@media (width<=430px){.product-name svg,.environment{display:none}.service-grid{grid-template-columns:1fr}.customer-list li{grid-template-columns:34px minmax(0,1fr)}.customer-list li>.status-badge{grid-column:2;justify-self:start}}
