/* ========================================================================
   AURA ERP INTELLIGENCE OS — THEME 04 · SANDSTONE EXECUTIVE
   Global visual system for v0.9.19. This stylesheet intentionally loads
   after app.css/admin.css so the complete authenticated UI, auth, modals,
   tables, forms, project command, connected modules and Admin inherit one
   premium enterprise language. Functional behavior is not changed here.
   ======================================================================== */

/* --- Global reset / enterprise surface language ------------------------ */
html,body{background:var(--bg)}
body{font-family:Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;letter-spacing:-.012em}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 4%,transparent),transparent 34%),radial-gradient(circle at 88% 8%,color-mix(in srgb,var(--accent-2) 5%,transparent),transparent 28%)}
.aura-icon-svg{display:block;width:100%;height:100%}.aura-inline-icon{display:inline-grid;place-items:center;width:1em;height:1em}.aura-inline-icon .aura-icon-svg{width:100%;height:100%}
::selection{background:color-mix(in srgb,var(--primary) 24%,transparent);color:var(--text)}
:focus-visible{outline:2px solid var(--primary);outline-offset:2px}

/* --- Layout ------------------------------------------------------------ */
.app-shell{grid-template-columns:254px minmax(0,1fr);background:var(--bg)}
.workspace{background:linear-gradient(180deg,color-mix(in srgb,var(--bg-elevated) 55%,transparent),var(--bg) 260px);min-height:100vh}
.content{max-width:1680px;padding:26px 28px 56px}

/* --- Sidebar: deep slate, compact, module-dense ------------------------ */
.sidebar{padding:14px 11px 12px;background:linear-gradient(180deg,var(--sidebar) 0%,color-mix(in srgb,var(--sidebar) 94%,#0d1b24) 100%);border-right:1px solid color-mix(in srgb,#fff 8%,transparent);box-shadow:8px 0 30px rgba(20,31,39,.08)}
.brand-row{gap:10px;padding:5px 8px 13px;border-bottom:1px solid color-mix(in srgb,#fff 9%,transparent)}
.brand-mark{width:31px;height:31px;filter:none}.brand-copy strong{color:var(--sidebar-text);font-size:15px;letter-spacing:.18em}.brand-copy span{color:var(--sidebar-text-3);font-size:8px;letter-spacing:.145em}
.sidebar .icon-btn{color:var(--sidebar-text-2);border-color:color-mix(in srgb,#fff 10%,transparent);background:transparent}
.tenant-switcher{margin-top:11px;border-color:color-mix(in srgb,#fff 10%,transparent);background:color-mix(in srgb,#fff 5%,transparent);border-radius:8px;padding:9px}.tenant-switcher:hover{background:color-mix(in srgb,#fff 8%,transparent);border-color:color-mix(in srgb,var(--primary) 45%,transparent)}
.tenant-avatar{background:color-mix(in srgb,var(--primary) 20%,transparent);border-color:color-mix(in srgb,var(--primary) 45%,transparent);color:#f6dcc4;border-radius:7px}.tenant-copy strong{color:var(--sidebar-text);font-size:11px}.tenant-copy small,.sidebar .chevron{color:var(--sidebar-text-3)}
.nav-stack{padding:13px 0 6px;scrollbar-color:color-mix(in srgb,#fff 14%,transparent) transparent}.nav-group{margin-bottom:12px}.nav-label{margin:0 8px 4px;color:var(--sidebar-text-3);font-size:8px;letter-spacing:.16em}
.nav-item{grid-template-columns:23px minmax(0,1fr) auto;gap:7px;min-height:31px;padding:5px 7px;border-radius:6px;color:var(--sidebar-text-2);font-size:10.7px;font-weight:560;border-left:2px solid transparent}
.nav-item:hover{background:color-mix(in srgb,#fff 6%,transparent);color:var(--sidebar-text)}
.nav-item.active{background:var(--sidebar-active);border-color:transparent;border-left-color:#e3bf9b;color:var(--sidebar-text);box-shadow:none}
.nav-icon{width:19px;height:19px;color:var(--sidebar-text-3);font-size:0}.nav-icon .aura-icon-svg{width:17px;height:17px}.nav-item:hover .nav-icon{color:#e9d4c0}.nav-item.active .nav-icon{color:#f2d0ad}
.nav-badge{padding:2px 5px;border-radius:5px;border-color:color-mix(in srgb,#fff 13%,transparent);background:color-mix(in srgb,#fff 6%,transparent);color:#e7c29f;font-size:7px;letter-spacing:.07em}
.nav-utility-group{padding-top:7px;border-top:1px solid color-mix(in srgb,#fff 8%,transparent)}
.sidebar-footer{background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--sidebar) 96%,#000));padding-top:6px}.license-mini{border-color:color-mix(in srgb,#fff 10%,transparent)!important;background:color-mix(in srgb,#fff 4%,transparent)!important;border-radius:7px!important;color:var(--sidebar-text-2)!important}.license-mini span,.license-mini small{color:var(--sidebar-text-3)!important}.license-mini strong{color:#e7c29f!important}.env-pill{border-color:color-mix(in srgb,#fff 9%,transparent);color:var(--sidebar-text-3);padding:10px 7px 2px}.env-pill strong{color:var(--sidebar-text-2);font-size:8px}.status-dot{box-shadow:none}

/* --- Topbar ------------------------------------------------------------ */
.topbar{height:60px;padding:0 22px;background:var(--topbar);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);box-shadow:0 2px 10px rgba(40,45,48,.035)}
.breadcrumb{font-size:10px}.breadcrumb span{color:var(--text-3)}.breadcrumb strong{color:var(--text);font-weight:700}
.icon-btn{width:35px;height:35px;border-radius:8px;background:var(--surface-solid);border-color:var(--border);box-shadow:none}.icon-btn:hover{background:var(--surface-hover);border-color:var(--border-strong)}.icon-btn [data-aura-icon]{width:17px;height:17px}
.search-trigger{height:36px;min-width:360px;border-radius:8px;background:var(--surface-solid);box-shadow:var(--shadow-sm);color:var(--text-3)}.search-trigger .search-icon{display:grid;width:16px;height:16px}.search-trigger .search-icon svg{width:16px;height:16px}.search-trigger:hover{background:var(--surface-solid);box-shadow:0 3px 12px color-mix(in srgb,var(--primary) 10%,transparent)}
.profile-chip{height:38px;border-radius:8px;background:var(--surface-solid)}.profile-avatar{border-radius:7px;background:color-mix(in srgb,var(--accent-2) 12%,var(--surface-soft));border-color:color-mix(in srgb,var(--accent-2) 28%,var(--border));color:var(--accent-2)}

/* --- Typography & actions --------------------------------------------- */
.page-head{margin-bottom:18px}.page-head h1{font-size:clamp(26px,2.7vw,42px);font-weight:690;letter-spacing:-.04em}.page-subtitle{font-size:12px}.eyebrow,.panel-kicker{color:var(--primary);letter-spacing:.145em}.panel-kicker{font-size:7.5px}.panel-head h2{font-weight:680}
.btn{min-height:37px;border-radius:7px;font-weight:700;box-shadow:none}.btn.primary{background:var(--primary);border-color:var(--primary-strong);color:#fff;box-shadow:0 4px 10px color-mix(in srgb,var(--primary) 16%,transparent)}.btn.primary:hover{background:var(--primary-strong);transform:none}.btn.secondary{background:var(--surface-solid);border-color:var(--border);color:var(--text)}.btn.secondary:hover{background:var(--surface-hover);border-color:var(--border-strong)}
.text-btn{color:var(--primary-strong);font-weight:700}.pill,.metric-tag{border-radius:6px;background:var(--surface-soft);border-color:var(--border);color:var(--text-2);font-weight:800}
.signal-strip{border-color:var(--border);background:var(--surface-soft);border-radius:8px;box-shadow:none}

/* --- Cards, panels, KPIs ---------------------------------------------- */
.kpi-card,.panel{background:var(--surface-solid);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-soft);backdrop-filter:none}
.kpi-card{min-height:116px;padding:15px}.kpi-card>strong{font-size:28px;font-weight:650}.dashboard-grid{gap:14px}.panel{padding:18px;min-height:0}.panel-large{grid-column:span 2}
.empty-visual{border-color:var(--border);background:var(--surface-2);border-radius:9px}.portfolio-ring{background:conic-gradient(var(--accent-2) 0deg,var(--border) 0)}.portfolio-ring::after{background:var(--surface-solid)}
.ai-orb{border-radius:8px;box-shadow:none;background:color-mix(in srgb,var(--accent-2) 10%,var(--surface-soft));border-color:color-mix(in srgb,var(--accent-2) 20%,var(--border));color:var(--accent-2)}
.prompt-list button,.ai-input,.readiness-list>div,.flow-node{border-radius:7px;background:var(--surface-2)}
.flow-node.accent{background:color-mix(in srgb,var(--primary) 8%,var(--surface-solid));border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}
.route-placeholder,.route-empty{background:var(--surface-solid)!important;border-color:var(--border)!important;border-radius:12px!important;box-shadow:var(--shadow-soft)!important}.route-placeholder .big-icon{color:var(--primary);background:var(--primary-soft);border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border));box-shadow:none!important}.route-placeholder .big-icon .aura-inline-icon{width:42px;height:42px}.route-status{background:var(--surface-soft)!important;border-color:var(--border)!important;color:var(--text-2)!important;border-radius:7px!important}

/* --- Forms / controls -------------------------------------------------- */
input,select,textarea{accent-color:var(--primary)}
.project-form input,.project-form select,.project-form textarea,.crm-form input,.crm-form select,.crm-form textarea,.project-setup-form input,.project-setup-form select,.project-setup-form textarea,.admin-agent-form input,.admin-agent-form select{background:var(--bg-elevated)!important;border:1px solid var(--border)!important;color:var(--text)!important;border-radius:7px!important;box-shadow:none!important}
.project-form input:focus,.project-form select:focus,.project-form textarea:focus,.crm-form input:focus,.crm-form select:focus,.crm-form textarea:focus,.project-setup-form input:focus,.project-setup-form select:focus,.project-setup-form textarea:focus,.admin-agent-form input:focus,.admin-agent-form select:focus{border-color:var(--border-strong)!important;box-shadow:var(--focus)!important;outline:none}
.smart-optional,.project-context-strip,.project-nav-shell,.project-command-hero,.data-table-wrap,.aura-chart-card,.workflow-readiness,.workflow-next-action,.workflow-phase-card,.workflow-step,.wbs-entry-guide{border-radius:9px!important}

/* --- Tables ------------------------------------------------------------ */
.data-table-wrap,.admin-inline-table{border:1px solid var(--border);border-radius:8px;overflow:auto;background:var(--surface-solid)}
.data-table{border-collapse:collapse}.data-table thead th,.admin-inline-table th{background:var(--surface-soft);color:var(--text-2);font-weight:760;letter-spacing:.025em;border-bottom:1px solid var(--border)}.data-table tbody tr,.admin-inline-table tbody tr{background:var(--surface-solid)}.data-table tbody tr:nth-child(even){background:color-mix(in srgb,var(--surface-soft) 48%,var(--surface-solid))}.data-table tbody tr:hover{background:var(--surface-hover)}.data-table td{border-bottom:1px solid var(--border)}

/* --- Project / CRM / connected module UI ------------------------------ */
.project-command-hero,.project-context-strip,.project-nav-shell,.crm-hero,.connected-module-head{background:var(--surface-solid)!important;border-color:var(--border)!important;box-shadow:var(--shadow-soft)!important}
.project-nav-primary,.project-nav-secondary{background:var(--surface-soft)!important;border-radius:7px!important}.project-nav-primary button,.project-nav-secondary button{border-radius:6px!important}.project-nav-primary button.active,.project-nav-secondary button.active{background:var(--surface-solid)!important;color:var(--primary-strong)!important;box-shadow:var(--shadow-sm)!important}
.project-module-card,.intelligence-signal-grid button,.mis-report-card{background:var(--surface-solid)!important;border-color:var(--border)!important;border-radius:9px!important;box-shadow:none!important}.project-module-card:hover,.intelligence-signal-grid button:hover,.mis-report-card:hover{border-color:var(--border-strong)!important;transform:none!important}.project-module-card>span{background:var(--surface-soft)!important;color:var(--accent-2)!important;box-shadow:none!important}.project-module-card>span .aura-inline-icon{width:20px;height:20px}
.workflow-phase-card,.workflow-step{background:var(--surface-solid)!important;border-color:var(--border)!important;box-shadow:none!important}.workflow-phase-card:hover,.workflow-step:hover{transform:none!important;border-color:var(--border-strong)!important}.workflow-step.next,.workflow-next-action,.wbs-entry-guide{background:color-mix(in srgb,var(--primary) 6%,var(--surface-solid))!important;border-color:color-mix(in srgb,var(--primary) 30%,var(--border))!important}.workflow-step-no,.workflow-phase-title>span{border-radius:6px!important}

/* --- Modal & command palette ------------------------------------------ */
.modal-backdrop,.palette-backdrop{background:rgba(25,31,35,.48)!important;backdrop-filter:blur(3px)}.modal-card,.palette-card{background:var(--surface-solid)!important;border:1px solid var(--border)!important;border-radius:12px!important;box-shadow:var(--shadow)!important}.modal-head{border-color:var(--border)!important}.palette-search{background:var(--surface-soft)!important;border-color:var(--border)!important;border-radius:8px!important}.palette-result{border-radius:7px!important}.palette-result:hover,.palette-result.focused{background:var(--surface-hover)!important}.result-icon{color:var(--primary)!important}.result-icon .aura-inline-icon{width:19px;height:19px}

/* --- Auth: same Sandstone system, not a separate gaming screen -------- */
.auth-gate{background:var(--bg)!important}.auth-visual{background:linear-gradient(160deg,var(--sidebar),color-mix(in srgb,var(--sidebar) 82%,#5a4434))!important;color:var(--sidebar-text)!important}.auth-visual::before,.auth-visual::after{opacity:.14!important;filter:none!important}.auth-brand strong{color:var(--sidebar-text)!important}.auth-brand span,.auth-hero>p,.auth-foot{color:var(--sidebar-text-3)!important}.auth-hero h1{color:var(--sidebar-text)!important}.auth-flow span{border-color:color-mix(in srgb,#fff 12%,transparent)!important;background:color-mix(in srgb,#fff 5%,transparent)!important;color:var(--sidebar-text-2)!important}.auth-flow span.active{background:rgba(197,138,85,.19)!important;border-color:rgba(229,188,150,.45)!important;color:#f2d2b2!important}.auth-panel{background:var(--bg)!important}.auth-card{background:var(--surface-solid)!important;border:1px solid var(--border)!important;box-shadow:var(--shadow)!important;border-radius:14px!important}.auth-card input{background:var(--bg-elevated)!important;border-color:var(--border)!important;border-radius:7px!important}.auth-security-note{background:var(--surface-soft)!important;border-color:var(--border)!important;border-radius:8px!important}.auth-theme-toggle{background:var(--surface-solid)!important;border-color:var(--border)!important;border-radius:8px!important;box-shadow:var(--shadow-sm)!important}.session-boot{background:var(--surface-solid)!important;border-color:var(--border)!important;box-shadow:var(--shadow-soft)!important}

/* --- Admin: clean enterprise UI --------------------------------------- */
.admin-shortcuts{gap:6px}.admin-shortcuts button{border-radius:7px;background:var(--surface-solid);padding:8px 10px;box-shadow:none}.admin-shortcuts button:hover,.admin-shortcuts button.active{background:var(--surface-soft);border-color:var(--border-strong);box-shadow:inset 0 -2px var(--primary)}.admin-shortcuts span{color:var(--primary-strong)}
.admin-shell{grid-template-columns:286px minmax(0,1fr);gap:16px}.admin-explorer{border-radius:10px;background:var(--surface-solid);box-shadow:var(--shadow-soft);padding:8px}.admin-explorer-head{background:var(--surface-solid);border-radius:10px 10px 0 0}.admin-explorer-head input,.admin-list-toolbar input,.admin-list-toolbar select,.admin-field input,.admin-field select,.admin-field textarea,.admin-inline-table input{background:var(--bg-elevated);border-radius:7px;border-color:var(--border)}
.admin-group-title{border-radius:6px}.admin-group-title:hover,.admin-group-title.active{background:var(--surface-soft)}.admin-group-icon{width:25px!important;height:25px!important;border-radius:6px!important;background:var(--surface-soft)!important;color:var(--accent-2)!important}.admin-group-icon .aura-icon-svg{width:15px;height:15px}.admin-control-link{border-radius:5px;padding-top:7px;padding-bottom:7px}.admin-control-link.active{background:color-mix(in srgb,var(--primary) 9%,var(--surface-solid));box-shadow:inset 2px 0 var(--primary);color:var(--text)}
.admin-control-head h1{font-weight:690}.admin-control-insight{border-radius:8px;background:var(--surface-soft)}.admin-control-insight>span{background:var(--primary);color:#fff;border-radius:6px}.admin-page .panel{border-radius:10px}.admin-record-card,.admin-advanced-grid article,.admin-table-field,.admin-agent-answer{border-radius:8px;background:var(--surface-solid)}.admin-record-card{box-shadow:0 1px 0 var(--border)}.admin-agent-panel{background:var(--surface-solid);border-radius:10px!important}.admin-agent-live{border-radius:6px;background:color-mix(in srgb,var(--success) 7%,var(--surface-solid))}.admin-agent-suggestions button{border-radius:6px;background:var(--surface-soft)}

/* --- Sandstone Admin Operations Map ----------------------------------- */
.sandstone-admin-map{padding:20px!important;overflow:hidden;margin-bottom:16px;position:relative;background:linear-gradient(180deg,var(--surface-solid),color-mix(in srgb,var(--primary) 3%,var(--surface-solid)))!important}
.sandstone-admin-map::after{content:"";position:absolute;right:-70px;top:-90px;width:330px;height:230px;pointer-events:none;background:radial-gradient(ellipse,color-mix(in srgb,var(--primary) 10%,transparent),transparent 68%);opacity:.8}
.admin-map-title{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;position:relative;z-index:1}.admin-map-title h2{margin:2px 0 6px;font-size:24px;letter-spacing:-.03em}.admin-map-title p:not(.panel-kicker){margin:0;color:var(--text-2);font-size:11px;line-height:1.55;max-width:850px}.admin-count-chip{border-radius:6px;background:var(--surface-soft);border-color:var(--border);color:var(--primary-strong);white-space:nowrap}
.admin-map-flowline{display:grid;grid-template-columns:1fr 38px 1fr;align-items:center;gap:8px;max-width:1100px;margin:18px auto 5px}.admin-map-flowline i{height:1px;background:linear-gradient(90deg,transparent,var(--primary),transparent)}.admin-map-flowline>span{display:grid;place-items:center;width:38px;height:38px;padding:9px;border-radius:50%;background:var(--primary);color:#fff;box-shadow:0 5px 14px color-mix(in srgb,var(--primary) 18%,transparent)}
.admin-map-lanes{display:grid;grid-template-columns:1.25fr 1fr .9fr 1fr;gap:11px;align-items:stretch}.admin-map-lane{min-width:0;border:1px solid var(--border);border-radius:10px;padding:12px;background:var(--surface-solid)}.admin-map-lane-head{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:9px;align-items:center;padding-bottom:10px;border-bottom:1px solid var(--border)}.admin-map-icon{display:grid;place-items:center;width:36px;height:36px;padding:8px;border-radius:8px}.admin-map-lane-head strong{display:block;font-size:12px}.admin-map-lane-head small{display:block;margin-top:2px;color:var(--text-3);font-size:8.5px;line-height:1.35}.admin-map-lane-head>b{display:grid;place-items:center;min-width:28px;height:24px;padding:0 7px;border-radius:6px;font-size:9px}
.admin-map-groups{display:grid;gap:6px;margin-top:10px}.admin-map-groups button{display:grid;grid-template-columns:23px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:38px;padding:7px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg-elevated);color:var(--text);text-align:left;cursor:pointer;transition:var(--transition)}.admin-map-groups button:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.admin-map-groups button>span{display:grid;width:18px;height:18px}.admin-map-groups strong{font-size:9.5px}.admin-map-groups small{font-size:8px;color:var(--text-3);white-space:nowrap}.admin-map-highlights{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}.admin-map-highlights span{padding:4px 6px;border-radius:5px;background:var(--surface-soft);color:var(--text-3);font-size:7.5px}
.lane-sand{border-color:color-mix(in srgb,var(--primary) 34%,var(--border));background:color-mix(in srgb,var(--primary) 3.8%,var(--surface-solid))}.lane-sand .admin-map-icon,.lane-sand .admin-map-lane-head>b{background:color-mix(in srgb,var(--primary) 14%,var(--surface-soft));color:var(--primary-strong)}.lane-sand .admin-map-groups button:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--border))}
.lane-finance{border-color:color-mix(in srgb,var(--accent-2) 35%,var(--border));background:color-mix(in srgb,var(--accent-2) 3.8%,var(--surface-solid))}.lane-finance .admin-map-icon,.lane-finance .admin-map-lane-head>b{background:color-mix(in srgb,var(--accent-2) 13%,var(--surface-soft));color:var(--accent-2)}.lane-finance .admin-map-groups button:hover{border-color:color-mix(in srgb,var(--accent-2) 45%,var(--border))}
.lane-violet{--lane:#6f74a5;border-color:color-mix(in srgb,var(--lane) 35%,var(--border));background:color-mix(in srgb,var(--lane) 3.6%,var(--surface-solid))}.lane-violet .admin-map-icon,.lane-violet .admin-map-lane-head>b{background:color-mix(in srgb,var(--lane) 13%,var(--surface-soft));color:var(--lane)}.lane-violet .admin-map-groups button:hover{border-color:color-mix(in srgb,var(--lane) 45%,var(--border))}
.lane-navy{--lane:#47667d;border-color:color-mix(in srgb,var(--lane) 38%,var(--border));background:color-mix(in srgb,var(--lane) 4%,var(--surface-solid))}.lane-navy .admin-map-icon,.lane-navy .admin-map-lane-head>b{background:color-mix(in srgb,var(--lane) 14%,var(--surface-soft));color:var(--lane)}.lane-navy .admin-map-groups button:hover{border-color:color-mix(in srgb,var(--lane) 46%,var(--border))}
.admin-map-footer{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:11px;border:1px solid var(--border);border-radius:7px;overflow:hidden;background:var(--border)}.admin-map-footer span{background:var(--surface-soft);padding:8px 10px;color:var(--text-3);font-size:8px;text-align:center}.admin-map-footer b{color:var(--text);font-size:9px}

/* --- Dark mode: warm graphite rather than neon/game UI ---------------- */
html[data-theme="dark"] .sidebar{box-shadow:8px 0 28px rgba(0,0,0,.15)}
html[data-theme="dark"] .topbar{box-shadow:0 1px 0 rgba(255,255,255,.02)}
html[data-theme="dark"] .kpi-card,html[data-theme="dark"] .panel,html[data-theme="dark"] .modal-card,html[data-theme="dark"] .palette-card{box-shadow:0 8px 22px rgba(0,0,0,.14)}
html[data-theme="dark"] .btn.primary{color:#fff}
html[data-theme="dark"] .lane-violet{--lane:#9290bd}html[data-theme="dark"] .lane-navy{--lane:#7a98ad}

/* --- Responsive -------------------------------------------------------- */
@media(max-width:1320px){.app-shell{grid-template-columns:236px minmax(0,1fr)}.admin-map-lanes{grid-template-columns:repeat(2,minmax(0,1fr))}.search-trigger{min-width:290px}}
@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{width:min(294px,88vw)}.content{padding:22px 18px 44px}.admin-map-lanes{grid-template-columns:1fr}.admin-map-footer{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.topbar{padding:0 12px}.search-trigger{min-width:0;width:44px;grid-template-columns:1fr;place-items:center}.search-trigger>span:nth-child(2),.search-trigger kbd{display:none}.content{padding:18px 12px 36px}.admin-map-title{flex-direction:column}.admin-map-footer{grid-template-columns:1fr}.page-head{align-items:flex-start}.panel{padding:14px}}

/* --- Print ------------------------------------------------------------- */
@media print{body{background:#fff!important;color:#1f2d36!important}.sidebar,.topbar{display:none!important}.workspace,.content{background:#fff!important}.panel,.kpi-card{box-shadow:none!important;background:#fff!important;border-color:#d9d2c9!important}.sandstone-admin-map::after{display:none}}

/* ======================================================================
   R4 consistency + identity hardening
   ====================================================================== */
/* No legacy legacy cool-accent UI: secondary accents stay inside Sandstone family. */
.portfolio-ring{background:conic-gradient(var(--primary) 0deg,var(--border) 0)!important}
.ai-orb,.project-module-card>span,.admin-group-icon{color:var(--accent-2)!important;background:color-mix(in srgb,var(--accent-2) 9%,var(--surface-soft))!important;border-color:color-mix(in srgb,var(--accent-2) 22%,var(--border))!important}
.source-chip,.source-note,.design-section-head span,.design-auto-number input[readonly]{border-color:color-mix(in srgb,var(--primary) 25%,var(--border))!important;background:color-mix(in srgb,var(--primary) 6%,var(--surface-solid))!important;color:var(--text-2)!important}
.intelligence-signal-grid button{background:linear-gradient(180deg,var(--surface-2),var(--surface-solid))!important;color:var(--text)!important;border-color:var(--border)!important}.intelligence-signal-grid button:hover{border-color:var(--border-strong)!important}

/* Harmonised Sandstone map lanes — distinct by function, never neon. */
.lane-finance{border-color:color-mix(in srgb,var(--lane-finance) 38%,var(--border));background:color-mix(in srgb,var(--lane-finance) 4%,var(--surface-solid))}.lane-finance .admin-map-icon,.lane-finance .admin-map-lane-head>b{background:color-mix(in srgb,var(--lane-finance) 14%,var(--surface-soft));color:var(--lane-finance)}.lane-finance .admin-map-groups button:hover{border-color:color-mix(in srgb,var(--lane-finance) 45%,var(--border))}
.lane-violet{--lane:var(--lane-statutory)!important}.lane-navy{--lane:var(--lane-advanced)!important}

/* Universal foregrounds and form controls for reliable light/dark contrast. */
body,.workspace,.content,.panel,.modal-card,.palette-card,.admin-page,.module-page{color:var(--text)}
input,select,textarea,button{font-family:inherit}input,select,textarea{color:var(--text);caret-color:var(--primary)}
input::placeholder,textarea::placeholder{color:var(--text-3);opacity:.78}select option{background:var(--surface-solid);color:var(--text)}
label,.field-label,.form-grid label,.project-form label{color:var(--text-2)}
hr{border-color:var(--border)}a{color:inherit}

/* Session gate must visually belong to the selected theme from first paint. */
.aura-session-checking .auth-gate{display:grid!important;place-items:center!important;background:var(--bg)!important}
.session-boot{min-width:300px;padding:18px 20px!important;border-radius:10px!important;color:var(--text)!important;background:var(--surface-solid)!important;border:1px solid var(--border)!important}
.session-boot-copy strong{color:var(--text)!important;font-weight:750}.session-boot-copy span{color:var(--text-3)!important}.session-boot-progress{background:var(--surface-3)!important}.session-boot-progress i{background:linear-gradient(90deg,var(--primary),var(--primary-strong))!important}
.auth-theme-label{color:var(--text-2)!important}.auth-theme-icon,.icon-btn,#themeIcon{color:var(--text)!important}

/* Client workspace identity — AURA logo remains untouched. */
.tenant-avatar{position:relative;overflow:hidden}.tenant-avatar img,.profile-avatar img{width:100%;height:100%;object-fit:cover;display:block}.tenant-avatar img{object-fit:contain;padding:3px;box-sizing:border-box;background:color-mix(in srgb,#fff 92%,var(--surface-soft))}.tenant-avatar img[hidden],.profile-avatar img[hidden]{display:none!important}
.tenant-avatar #tenantInitials,.profile-avatar #profileInitials{display:grid;place-items:center;width:100%;height:100%}
.profile-avatar{overflow:hidden}

/* Profile menu */
.profile-menu-wrap{position:relative}.profile-chevron{color:var(--text-3);font-size:11px;transition:transform var(--transition)}.profile-chip[aria-expanded="true"] .profile-chevron{transform:rotate(180deg)}
.profile-menu{position:absolute;right:0;top:46px;z-index:1000;width:250px;padding:7px;border:1px solid var(--border);border-radius:10px;background:var(--surface-solid);box-shadow:var(--shadow);color:var(--text)}.profile-menu[hidden]{display:none}
.profile-menu button{width:100%;display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;align-items:center;padding:9px;border:0;border-radius:7px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.profile-menu button:hover{background:var(--surface-hover)}.profile-menu button>span:first-child{display:grid;place-items:center;width:28px;height:28px;padding:6px;border-radius:6px;background:var(--primary-soft);color:var(--primary)}.profile-menu button strong,.profile-menu button small{display:block}.profile-menu button strong{font-size:10px}.profile-menu button small{margin-top:2px;color:var(--text-3);font-size:8px}

/* Employee profile + client company identity editors */
.identity-modal-card{width:min(720px,calc(100vw - 32px))!important}.identity-modal-sub{margin:5px 0 0;color:var(--text-3);font-size:10px}.identity-profile-grid,.identity-brand-grid{display:grid;grid-template-columns:190px minmax(0,1fr);gap:22px;align-items:start}.identity-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.identity-detail-grid .full{grid-column:1/-1}
.identity-photo-editor{display:grid;justify-items:center;gap:10px;padding:16px;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft)}.identity-photo-preview{width:112px;height:112px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--primary-soft);border:1px solid var(--border-strong);color:var(--primary);font-size:30px;font-weight:800}.identity-photo-preview img{width:100%;height:100%;object-fit:cover}.identity-photo-preview img[hidden]{display:none}.identity-photo-editor small{color:var(--text-3);font-size:8px;line-height:1.45;text-align:center}.identity-upload-btn{cursor:pointer}
.identity-company-preview{min-height:185px;display:grid;place-items:center;align-content:center;gap:9px;padding:16px;border:1px solid var(--border);border-radius:10px;background:linear-gradient(180deg,var(--surface-soft),var(--surface-solid));text-align:center}.identity-company-logo{width:112px;height:72px;border-radius:10px;overflow:hidden;display:grid;place-items:center;background:#fffaf4;border:1px solid var(--border);color:var(--primary);font-weight:850}.identity-company-logo img{max-width:100%;max-height:100%;object-fit:contain;padding:7px;box-sizing:border-box}.identity-company-logo img[hidden]{display:none}.identity-company-preview strong{font-size:13px}.identity-company-preview small{color:var(--text-3);font-size:8px}

/* Responsive identity UI */
@media(max-width:760px){.identity-profile-grid,.identity-brand-grid{grid-template-columns:1fr}.identity-detail-grid{grid-template-columns:1fr}.identity-detail-grid .full{grid-column:auto}.profile-menu{right:-5px;width:min(260px,calc(100vw - 24px))}}


/* ======================================================================
   v0.9.19 — SANDSTONE UNIFIED: zero legacy cyan/blue UI + reliable identity
   This block is deliberately last so every route, generated module view,
   Admin screen, modal and auth state inherits the same visual language.
   ====================================================================== */
:root{--legacy-cool:none}
html[data-theme="light"] body::before{background:radial-gradient(circle at 88% 6%,rgba(181,111,55,.055),transparent 29%),linear-gradient(145deg,rgba(139,112,90,.035),transparent 44%)}
html[data-theme="dark"] body::before{background:radial-gradient(circle at 88% 6%,rgba(197,138,85,.045),transparent 30%),linear-gradient(145deg,rgba(152,120,94,.028),transparent 42%)}

/* Sidebar belongs to Sandstone in BOTH modes (no old blue/slate island). */
.sidebar{background:linear-gradient(180deg,var(--sidebar),var(--sidebar-2))!important;border-right-color:var(--border)!important;box-shadow:6px 0 24px rgba(42,36,31,.07)!important}
html[data-theme="light"] .sidebar{color:var(--sidebar-text);box-shadow:5px 0 20px rgba(70,58,47,.055)!important}
html[data-theme="light"] .brand-row{border-color:rgba(65,58,51,.10)}
html[data-theme="light"] .brand-copy strong{color:#29363d}.brand-copy span{color:var(--sidebar-text-3)}
html[data-theme="light"] .sidebar .icon-btn{color:var(--sidebar-text-2);border-color:rgba(65,58,51,.12)}
html[data-theme="light"] .tenant-switcher{background:rgba(255,252,247,.64);border-color:rgba(86,72,61,.13)}
html[data-theme="light"] .tenant-switcher:hover{background:#fffaf4;border-color:var(--border-strong)}
html[data-theme="light"] .tenant-copy strong{color:#29363d}
html[data-theme="light"] .nav-item{color:var(--sidebar-text-2)}
html[data-theme="light"] .nav-item:hover{background:rgba(181,111,55,.07);color:#29363d}
html[data-theme="light"] .nav-item.active{background:rgba(181,111,55,.13);border-left-color:var(--primary);color:#29363d}
html[data-theme="light"] .nav-icon{color:#7c817f}html[data-theme="light"] .nav-item.active .nav-icon{color:var(--primary-strong)}
html[data-theme="light"] .nav-label{color:#867d75}.nav-badge{color:var(--primary)!important}
html[data-theme="light"] .license-mini{background:rgba(255,252,247,.62)!important;border-color:rgba(86,72,61,.13)!important}.license-mini strong{color:var(--primary)!important}
html[data-theme="light"] .env-pill{border-color:rgba(86,72,61,.11);color:#77736f}.env-pill strong{color:var(--sidebar-text-2)}

/* Eliminate legacy cool accent remnants in generic components. */
.topbar,.panel,.kpi-card,.modal-card,.palette-card,.module-page,.admin-page,.project-command-shell,.project-module-shell{background-color:var(--surface-solid);color:var(--text)}
.page-head,.module-hero,.admin-control-head{color:var(--text)}
[data-route].active,.tab-button.active,.admin-category-tab.active,.segment-btn.active,.subtab.active{border-color:var(--border-strong)!important;color:var(--text)!important}
.admin-category-tab.active,.segment-btn.active,.subtab.active{background:var(--primary-soft)!important}
.badge-live,.live-badge,.agent-live,.status-live{background:color-mix(in srgb,var(--success) 11%,var(--surface-solid))!important;border-color:color-mix(in srgb,var(--success) 35%,var(--border))!important;color:var(--success)!important}

/* Sandstone form system on every screen. */
input,select,textarea,.crm-searchbox,.data-input,.form-control{background:var(--surface-solid)!important;border-color:var(--border)!important;color:var(--text)!important;box-shadow:none!important}
input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--primary) 30%,var(--border))!important}
input:focus,select:focus,textarea:focus{border-color:var(--primary)!important;box-shadow:var(--focus)!important}
input:disabled,select:disabled,textarea:disabled,input[readonly]{background:var(--surface-soft)!important;color:var(--text-3)!important;opacity:1!important}
::placeholder{color:var(--text-3)!important}

/* Buttons and interactive affordances: warm executive, no cyan/blue glow. */
.btn.primary,.auth-primary,.admin-save,.primary-action{background:linear-gradient(180deg,var(--primary),var(--primary-strong))!important;border-color:var(--primary-strong)!important;color:#fffaf4!important;box-shadow:0 4px 11px color-mix(in srgb,var(--primary) 15%,transparent)!important}
.btn.primary:hover,.auth-primary:hover,.admin-save:hover,.primary-action:hover{filter:brightness(.97);box-shadow:0 5px 14px color-mix(in srgb,var(--primary) 20%,transparent)!important}
.btn.secondary,.icon-btn,.search-trigger,.profile-chip{background:var(--surface-solid)!important;border-color:var(--border)!important;color:var(--text)!important}
.btn.secondary:hover,.icon-btn:hover,.search-trigger:hover,.profile-chip:hover{background:var(--surface-hover)!important;border-color:var(--border-strong)!important}

/* Keep semantic status colors only where they communicate state. */
.status-chip,.metric-tag,.nav-badge,.pill{box-shadow:none!important}
.notification-dot{background:var(--warning)!important;box-shadow:0 0 0 2px var(--topbar)!important}

/* Theme toggle always legible in both modes. */
#themeToggle,#authThemeToggle{color:var(--text)!important;background:var(--surface-solid)!important;border:1px solid var(--border)!important}
#themeToggle svg,#authThemeToggle svg{stroke:currentColor!important;color:inherit!important}
.auth-theme-label{color:var(--text-2)!important;font-weight:700!important}

/* Profile / tenant identity: visible, compact, enterprise-grade. */
.profile-avatar{background:var(--primary-soft)!important;color:var(--primary)!important;border-color:var(--border-strong)!important}
.tenant-avatar{background:color-mix(in srgb,var(--primary) 14%,var(--surface-soft))!important;color:var(--primary)!important;border-color:color-mix(in srgb,var(--primary) 32%,var(--border))!important}
.profile-menu,.identity-photo-editor,.identity-company-preview{background:var(--surface-solid)!important;border-color:var(--border)!important}
.identity-photo-preview{background:var(--primary-soft)!important;color:var(--primary)!important}
.identity-detail-grid input:not(:disabled){background:var(--surface-solid)!important}
.identity-detail-grid input:disabled{background:var(--surface-soft)!important}

/* Auth/session verification screen uses same tokens, never old charcoal/cyan. */
.auth-gate{background:var(--bg)!important;color:var(--text)!important}.session-boot{background:var(--surface-solid)!important;color:var(--text)!important;border-color:var(--border)!important;box-shadow:var(--shadow-soft)!important}

/* Admin operation map lanes are muted Sandstone families, not neon. */
.admin-map-lane{box-shadow:none!important}.lane-orange{--lane:var(--primary)!important}.lane-finance{--lane:var(--lane-finance)!important}.lane-violet{--lane:var(--lane-statutory)!important}.lane-navy{--lane:var(--lane-advanced)!important}
.admin-map-icon,.admin-map-lane-head>b{filter:saturate(.72)!important}

/* Tables / list rows / generated cards */
table{color:var(--text)}thead th{color:var(--text-3);background:var(--surface-soft)}tbody tr:hover{background:color-mix(in srgb,var(--primary) 4%,var(--surface-solid))}.data-table td,.data-table th{border-color:var(--border)}
.project-row,.role-row,.member-row,.mini-kpi-grid article,.route-empty,.seat-banner,.design-form-section,.smart-optional{background:var(--surface-solid)!important;border-color:var(--border)!important}

/* Sandstone scrollbar */
*{scrollbar-color:color-mix(in srgb,var(--primary) 34%,var(--surface-3)) transparent;scrollbar-width:thin}
*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--primary) 34%,var(--surface-3));border-radius:999px;border:2px solid transparent;background-clip:padding-box}

/* v0.9.58 official AURA ERP brand */
html[data-theme="light"] .aura-erp-brand-copy strong span{color:#29363d}
html[data-theme="light"] .aura-erp-brand-copy strong em{color:#a26b3d}
