/* FirstAI: shared control, type and surface language. Per-page layout stays local. */
html[data-cockpit-theme] body.site-ui {
 --bg-base:var(--cp-bg);--panel-bg:var(--cp-panel);--panel-border:var(--cp-line);
 --text-main:var(--cp-text);--text-muted:var(--cp-muted);--muted:var(--cp-muted);
 --line:var(--cp-line);--line2:var(--cp-line);--card:var(--cp-panel);--ink:var(--cp-text);
 --pri:var(--cp-accent);--pri-bg:var(--cp-hover);--pri-dk:var(--cp-highlight);
 --ok-bg:color-mix(in srgb,var(--cp-panel) 88%,#36b37e);
 --warn-bg:color-mix(in srgb,var(--cp-panel) 88%,#d99a24);
 --dng-bg:color-mix(in srgb,var(--cp-panel) 88%,#d95264);
 --blu-bg:color-mix(in srgb,var(--cp-panel) 88%,#458bdd);
 --site-space-1:4px;--site-space-2:8px;--site-space-3:12px;--site-space-4:16px;--site-space-6:24px;--site-space-8:32px;
 --site-radius-sm:6px;--site-radius:10px;--site-radius-lg:16px;
 accent-color:var(--cp-accent);text-rendering:optimizeLegibility;
}
html[data-cockpit-theme] body.site-ui :where(button,input,select,textarea){font-family:var(--cp-body);}
.site-ui :where(button,a,input,textarea,select,summary){-webkit-tap-highlight-color:transparent;}
.site-ui :where(input,textarea)::placeholder{color:var(--cp-muted);opacity:.9;}
.site-ui :where(h1,h2,h3){text-wrap:balance;}
.site-ui :where(button,summary){touch-action:manipulation;}
.site-ui :where(button:disabled,input:disabled,select:disabled){cursor:not-allowed;}
.site-ui [data-site-header]{gap:12px;border-color:var(--cp-line);}
.site-tools{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-left:auto;flex-shrink:0;}
.site-tool-button,.site-menu>summary {
 display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;
 border:1px solid var(--cp-line);border-radius:8px;padding:7px 12px;
 background:var(--cp-panel);color:var(--cp-text);font:500 12px/1.4 var(--cp-body);
 text-decoration:none;cursor:pointer;white-space:nowrap;
}
.site-menu>summary{list-style:none;}
.site-menu>summary::-webkit-details-marker{display:none;}
.site-menu>summary::after{content:'⌄';font-size:12px;color:var(--cp-muted);}
.site-menu[open]>summary,.site-menu>summary:hover,.site-tool-button:hover{background:var(--cp-hover);border-color:var(--cp-highlight);color:var(--cp-highlight);}
.site-menu{position:relative;}
.site-menu-panel{
 position:absolute;top:calc(100% + 8px);right:0;z-index:12000;display:grid;gap:4px;
 width:208px;max-width:calc(100vw - 24px);max-height:min(480px,65dvh);overflow:auto;
 padding:8px;border:1px solid var(--cp-line);border-radius:12px;background:var(--cp-panel);
 color:var(--cp-text);box-shadow:0 12px 40px var(--cp-shadow);
}
.site-menu-panel>a,.site-menu-panel>button{
 display:flex;align-items:center;gap:10px;padding:10px 12px;min-height:40px;margin:0;
 border:1px solid transparent;border-radius:7px;background:transparent;color:var(--cp-text);
 text-decoration:none;text-align:left;font:13px/1.4 var(--cp-body);cursor:pointer;
}
.site-menu-panel>a:hover,.site-menu-panel>button:hover,.site-menu-panel>[aria-pressed='true']{background:var(--cp-hover);color:var(--cp-highlight);}
.site-menu-panel>[aria-pressed='true']::after{content:'✓';margin-left:auto;}
.site-theme-swatch{display:inline-block;width:15px;height:15px;flex:0 0 15px;border:1px solid var(--cp-line);border-radius:50%;background:#101619;}
.site-theme-swatch[data-theme='dim']{background:#344859}.site-theme-swatch[data-theme='light']{background:#fff}.site-theme-swatch[data-theme='warm']{background:#795c39}.site-theme-swatch[data-theme='ocean']{background:#13617e}.site-theme-swatch[data-theme='mono']{background:linear-gradient(90deg,#222 50%,#fff 50%)}.site-theme-swatch[data-theme='futuristic']{background:#407ae6}
.site-skip-link{position:fixed;top:8px;left:12px;z-index:50000;transform:translateY(-200%);padding:10px 16px;background:var(--cp-key);color:var(--cp-onkey);border-radius:8px;text-decoration:none;font:600 14px var(--cp-body);}
.site-skip-link:focus{transform:none;}
.site-ui :where([data-site-scroll],.site-table-scroll){max-width:100%;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--cp-line) transparent;overscroll-behavior-inline:contain;}
.site-ui .site-table-scroll table{width:100%;border-collapse:collapse;}
.site-ui .site-table-scroll th{font-size:12px;font-weight:600;color:var(--cp-muted);text-align:left;background:var(--cp-raised);}
.site-ui .site-table-scroll :where(th,td){padding:12px 16px;border-bottom:1px solid var(--cp-line);font-variant-numeric:tabular-nums;}
.site-ui .site-table-scroll tbody tr:hover{background:var(--cp-hover);}
.site-ui :where([role='status'],.site-feedback){line-height:1.5;}
.site-ui .site-feedback{padding:12px 16px;border:1px solid var(--cp-line);border-radius:10px;background:var(--cp-raised);color:var(--cp-muted);}
/* Main chat keeps its native layout and one-click density control. */
.site-ui[data-page='chat'] .msg-body :where(table){display:block;max-width:100%;overflow-x:auto;font-variant-numeric:tabular-nums;}
.site-ui[data-page='chat'] .msg-body :where(th,td){min-width:88px;white-space:normal;overflow-wrap:normal;}
.site-ui[data-page='chat'] .cockpit-input-tools>summary{min-height:36px;display:flex;align-items:center;}
.site-ui[data-page='chat'] .cockpit-mode-options>summary{min-height:40px;}
.site-ui[data-page='chat'] .cockpit-heading{max-width:22ch;}
.site-ui[data-page='chat'] .cockpit-welcome{margin-inline:auto;}
/* Monitor uses its original metrics and approval handlers. */
.site-ui[data-page='email-monitor'] .page{max-width:1280px;padding:32px 24px;}
.site-ui[data-page='email-monitor'] .page-header{padding-bottom:20px;border-bottom:1px solid var(--cp-line);}
.site-ui[data-page='email-monitor'] .page-title{font-family:var(--cp-display);font-size:26px;letter-spacing:-.6px;}
.site-ui[data-page='email-monitor'] .stat-card{padding:20px;background:var(--cp-panel);border-color:var(--cp-line);border-radius:12px;}
.site-ui[data-page='email-monitor'] .stat-value{font-family:var(--cp-display);font-variant-numeric:tabular-nums;font-size:32px;}
.site-ui[data-page='email-monitor'] :where(.card,.approval-item){border-color:var(--cp-line);border-radius:12px;background:var(--cp-panel);}
.site-ui[data-page='email-monitor'] :where(.card-header,.mini-table th){background:var(--cp-raised);color:var(--cp-muted);}
.site-ui[data-page='email-monitor'] :where(.card-body,.tabs){overflow-x:auto;}
.site-ui[data-page='email-monitor'] .mini-table{min-width:440px;font-variant-numeric:tabular-nums;}
.site-ui[data-page='email-monitor'] .mini-table :where(th,td){padding:10px 12px;}
.site-ui[data-page='email-monitor'] .overdue td{background:var(--dng-bg)!important;}
.site-ui[data-page='email-monitor'] .tabs{gap:8px;padding-bottom:8px;}
.site-ui[data-page='email-monitor'] .tab{min-height:40px;white-space:nowrap;border:1px solid var(--cp-line);border-radius:8px;padding:8px 14px;background:transparent;}
.site-ui[data-page='email-monitor'] .tab.active{background:var(--cp-hover);color:var(--cp-highlight);border-color:var(--cp-highlight);}
@media(max-width:768px){
 .site-ui[data-page='chat'] .header>div:first-child{min-width:0;max-width:100%;flex-wrap:wrap;}
 .site-ui.is-mobile:not(.mobile-simple)[data-page='chat'] #mobileViewToggle{position:static;align-self:flex-end;flex-shrink:0;margin:6px 12px;box-shadow:none;}
 .site-tools{gap:6px}.site-tool-button,.site-menu>summary{min-height:40px;padding:8px 10px;}
 .site-ui:not([data-page='canvas']) [data-site-header]{flex-wrap:wrap;}
 .site-ui[data-page='email-monitor'] .page{padding:20px 16px;}
 .site-ui[data-page='email-monitor'] .page-title{font-size:22px;min-width:100%;}
 .site-ui[data-page='email-monitor'] .stats-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
 .site-ui[data-page='email-monitor'] .stat-card{padding:16px 12px;}
 .site-ui[data-page='email-monitor'] .stat-value{font-size:26px;}
 .site-ui[data-page='email-monitor'] .stat-label{font-size:11px;line-height:1.5;overflow-wrap:anywhere;}
}
@media(prefers-reduced-motion:reduce){.site-ui *{scroll-behavior:auto!important}.site-menu-panel{animation:none;transition:none;}}
@media print{.site-tools,.site-skip-link{display:none!important}.site-ui{color:#000!important;background:#fff!important;}}
