/* Aria application shell redesign — persistent header/nav/voice/footer */

:root {
    --shell-header-h: 68px;
    --shell-footer-h: 70px;
    --shell-nav-w: 246px;
    --shell-gap: 14px;
}

body { overflow: hidden; }
.dashboard-shell.aria-app-shell { height:100vh; height:100dvh; display:grid; grid-template-rows:var(--shell-header-h) minmax(0,1fr) var(--shell-footer-h); overflow:hidden; }
.aria-app-shell .dashboard-topbar { z-index:20; grid-template-columns:minmax(220px,1fr) auto minmax(260px,1fr); padding:0 18px; background:linear-gradient(90deg,rgba(0,255,76,.045),transparent 24%),rgba(0,5,2,.94); box-shadow:0 10px 30px rgba(0,0,0,.28); }
.aria-app-shell .brand-cluster h1 { font-size:1.85rem; }
.aria-app-shell .utility-cluster { gap:9px; }
.aria-body { min-height:0; display:grid; grid-template-columns:var(--shell-nav-w) minmax(0,1fr); overflow:hidden; }
.aria-sidebar { min-height:0; display:grid; grid-template-rows:minmax(0,1fr) auto; border-right:1px solid var(--line-soft); background:linear-gradient(180deg,rgba(0,255,76,.04),transparent 20%),rgba(0,8,3,.91); box-shadow:inset -14px 0 30px rgba(0,0,0,.22); overflow:hidden; }
.aria-nav { min-height:0; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; scrollbar-width:none; padding:14px 10px 10px; }
.aria-nav::-webkit-scrollbar { width:0; height:0; display:none; }
.aria-nav-section-label { padding:5px 11px 8px; color:var(--green-dim); font-size:.67rem!important; letter-spacing:.18em; text-transform:uppercase; }
.aria-nav-button { width:100%; min-height:42px; display:grid; grid-template-columns:28px minmax(0,1fr) auto; align-items:center; gap:8px; margin:3px 0; padding:0 12px; border:1px solid transparent; border-radius:7px; background:transparent; color:var(--muted); text-align:left; box-shadow:none; }
.aria-nav-button:hover { color:var(--text); border-color:var(--line-soft); background:rgba(98,255,101,.055); box-shadow:none; }
.aria-nav-button.is-active { color:var(--green); border-color:rgba(98,255,101,.48); background:linear-gradient(90deg,rgba(98,255,101,.13),rgba(98,255,101,.025)); box-shadow:inset 3px 0 0 rgba(98,255,101,.9),0 0 18px rgba(98,255,101,.055); }
.aria-nav-icon { display:grid; place-items:center; color:var(--green); font-size:.95rem; }
.aria-nav-label { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.83rem!important; }
.aria-nav-badge { min-width:21px; height:21px; display:grid; place-items:center; padding:0 5px; border:1px solid var(--line-soft); border-radius:999px; color:var(--green-soft); font-size:.64rem; }
.aria-voice-dock { position:relative; min-height:260px; margin:8px 10px 12px; padding:10px 10px 12px; display:flex; flex-direction:column; align-items:center; justify-content:center; overflow:hidden; border:1px solid var(--line); border-radius:10px; background:radial-gradient(circle at 50% 52%,rgba(98,255,101,.12),transparent 38%),rgba(0,13,5,.82); box-shadow:inset 0 0 24px rgba(98,255,101,.035); }
.aria-voice-heading { position:absolute; top:10px; left:12px; color:var(--green); font-size:.68rem; letter-spacing:.15em; text-transform:uppercase; }
.aria-voice-dock #ariaCore { width:178px; height:178px; flex:0 0 auto; margin-top:8px; filter:drop-shadow(0 0 18px rgba(98,255,101,.28)); }
.aria-voice-dock .core-title { margin-top:-12px; font-size:1.06rem; letter-spacing:.4em; }
.aria-voice-dock .status { max-width:196px; margin-top:9px; padding:6px 9px; font-size:.64rem; white-space:normal; text-align:center; }
.aria-voice-dock .bottom-controls { position:static; transform:none; margin-top:10px; gap:8px; }
.aria-voice-dock .control-button { width:42px; height:36px; border-radius:7px; font-size:.74rem; }
.aria-workspace { position:relative; min-width:0; min-height:0; overflow:hidden; background:linear-gradient(rgba(98,255,101,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(98,255,101,.022) 1px,transparent 1px),radial-gradient(circle at 50% 30%,rgba(28,255,65,.045),transparent 42%); background-size:28px 28px,28px 28px,auto; }
.aria-page { position:absolute; inset:0; display:none; min-width:0; min-height:0; overflow:auto; scrollbar-width:none; -ms-overflow-style:none; padding:18px; }
.aria-page::-webkit-scrollbar { width:0; height:0; display:none; }
.aria-page.is-active { display:block; }
.page-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:48px; margin-bottom:14px; padding:0 4px 12px; border-bottom:1px solid var(--line-soft); }
.page-heading h2 { margin:0; color:var(--green); font-size:1.02rem; letter-spacing:.12em; text-transform:uppercase; }
.page-heading p { margin:4px 0 0; color:var(--muted); font-size:.72rem; }
.command-center-grid { display:grid; grid-template-columns:repeat(3,minmax(220px,1fr)); gap:12px; }
.command-tile { min-height:138px; padding:15px; border:1px solid var(--line-soft); border-radius:9px; background:linear-gradient(180deg,rgba(98,255,101,.055),rgba(0,0,0,.08)),rgba(0,15,6,.72); color:var(--text); cursor:pointer; transition:border-color .14s ease,transform .14s ease,background .14s ease; }
.command-tile:hover { transform:translateY(-1px); border-color:rgba(98,255,101,.45); background:linear-gradient(180deg,rgba(98,255,101,.09),rgba(0,0,0,.06)),rgba(0,18,7,.82); }
.command-tile .tile-icon { color:var(--green); font-size:1.15rem; }
.command-tile h3 { margin:12px 0 5px; color:var(--green-soft); font-size:.9rem; }
.command-tile p { margin:0; color:var(--muted); font-size:.72rem; line-height:1.5; }
.workspace-panel { height:calc(100% - 66px); min-height:0; }
.workspace-panel > .info-panel,.workspace-panel > .chat-panel { height:100%; }
.workspace-panel .info-panel { max-width:none; }
#page-conversation .chat-panel { height:calc(100% - 66px); min-height:0; }
#page-conversation .conversation-box { font-size:.86rem; user-select:text!important; -webkit-user-select:text!important; cursor:text; }
#page-conversation .conversation-box *,#page-conversation .aria-conversation-stream,#page-conversation .aria-conversation-stream * { user-select:text!important; -webkit-user-select:text!important; }
#page-conversation button,#page-conversation input,#page-conversation img,#page-conversation audio { user-select:none!important; -webkit-user-select:none!important; }
#page-infrastructure .infra-table,#page-finance .revenue-table { font-size:.88rem; }
.module-stack { display:grid; gap:12px; }
.module-stack.two-column { grid-template-columns:repeat(2,minmax(0,1fr)); }
.placeholder-workspace { min-height:360px; display:grid; place-items:center; border:1px solid var(--line-soft); border-radius:10px; background:rgba(0,12,5,.55); }
.placeholder-workspace-inner { max-width:560px; padding:28px; text-align:center; }
.placeholder-workspace h3 { margin:0 0 10px; color:var(--green); letter-spacing:.12em; }
.placeholder-workspace p { margin:0; color:var(--muted); line-height:1.6; font-size:.82rem; }
.aria-footer { min-width:0; display:grid; grid-template-columns:minmax(280px,1fr) minmax(360px,1.35fr) minmax(360px,1fr); align-items:center; gap:14px; padding:0 16px; border-top:1px solid var(--line-soft); background:rgba(0,5,2,.96); box-shadow:0 -10px 32px rgba(0,0,0,.28); z-index:25; }
.footer-status,.footer-command { min-width:0; display:flex; align-items:center; gap:10px; }
.footer-status-item { min-width:0; padding:7px 10px; border:1px solid var(--line-soft); border-radius:7px; background:rgba(0,18,8,.55); color:var(--green-soft); font-size:.68rem; white-space:nowrap; }
.footer-command { justify-content:center; }
.footer-command-core { width:min(100%,520px); height:42px; display:flex; align-items:center; justify-content:center; gap:12px; border:1px solid rgba(98,255,101,.48); border-radius:999px; background:rgba(0,26,10,.78); color:var(--green); box-shadow:inset 0 0 18px rgba(98,255,101,.06),0 0 14px rgba(98,255,101,.08); cursor:pointer; }
.footer-wave { width:64px; height:1px; background:linear-gradient(90deg,transparent,var(--green),transparent); box-shadow:0 0 8px var(--green); }
.footer-command-copy { text-align:center; line-height:1.15; }
.footer-command-copy strong { display:block; color:var(--green); font-size:.74rem; letter-spacing:.12em; }
.footer-command-copy small { color:var(--muted); font-size:.62rem; }
.footer-spotify { min-width:360px; width:360px; max-width:360px; display:flex; justify-content:flex-end; }
.footer-spotify .spotify-player { width:360px; min-width:360px; max-width:360px; flex:0 0 360px; justify-content:flex-start; background:rgba(0,20,8,.72); }
.footer-spotify .spotify-controls { flex:0 0 auto; }
.footer-spotify .spotify-ticker { flex:1 1 auto; width:auto; max-width:none; min-width:0; }
.footer-spotify .spotify-ticker-inner:not(:empty) { --scroll-px:-72px; animation:spotifyTicker 9s ease-in-out infinite alternate; }
@media(max-width:1180px){:root{--shell-nav-w:210px}.command-center-grid{grid-template-columns:repeat(2,minmax(210px,1fr))}.aria-footer{grid-template-columns:1fr 1.1fr}.footer-status{display:none}}
@media(min-width:821px) and (max-height:920px){.aria-nav{padding:8px 8px 7px}.aria-nav-section-label{padding:3px 9px 4px;letter-spacing:.15em}.aria-nav-button{min-height:36px;margin:1px 0;padding:0 9px;grid-template-columns:24px minmax(0,1fr) auto;gap:6px}.aria-nav-icon{font-size:.88rem}.aria-voice-dock{min-height:184px;margin:6px 8px 8px;padding:8px}.aria-voice-dock #ariaCore{width:112px;height:112px;margin-top:12px}.aria-voice-dock .core-title{margin-top:-8px;font-size:.86rem}.aria-voice-dock .status{margin-top:5px;padding:4px 7px}.aria-voice-dock .bottom-controls{margin-top:5px}}
@media(min-width:821px) and (max-height:800px){.aria-nav{padding:5px 7px}.aria-nav-section-label{padding:2px 8px 3px}.aria-nav-button{min-height:32px;margin:0;padding:0 8px;grid-template-columns:22px minmax(0,1fr) auto;gap:5px;border-radius:6px}.aria-nav-icon{font-size:.82rem}.aria-nav-badge{min-width:18px;height:18px;font-size:.58rem}.aria-voice-dock{min-height:78px;margin:4px 7px 6px;padding:21px 7px 6px;justify-content:center}.aria-voice-dock #ariaCore,.aria-voice-dock .core-title,.aria-voice-dock .bottom-controls{display:none!important}.aria-voice-heading{top:6px;left:9px;font-size:.58rem}.aria-voice-dock .status{margin:0;padding:3px 6px;font-size:.58rem}}
@media(min-width:821px) and (max-height:680px){.aria-sidebar{grid-template-rows:minmax(0,1fr)}.aria-voice-dock{display:none!important}.aria-nav{padding:4px 6px}.aria-nav-section-label{padding:1px 7px 2px}.aria-nav-button{min-height:30px;padding:0 7px}}
@media(max-width:820px){body{overflow-y:auto}.dashboard-shell.aria-app-shell{min-height:100vh;height:auto;grid-template-rows:auto auto auto}.aria-app-shell .dashboard-topbar{grid-template-columns:1fr;padding:12px}.aria-body{grid-template-columns:1fr}.aria-sidebar{grid-template-rows:auto auto;border-right:0;border-bottom:1px solid var(--line-soft)}.aria-nav{display:flex;gap:5px;overflow-x:auto;padding:8px;scrollbar-width:none}.aria-nav::-webkit-scrollbar{display:none}.aria-nav-section-label{display:none}.aria-nav-button{min-width:150px;width:auto}.aria-voice-dock{min-height:200px}.aria-workspace{min-height:720px}.aria-page{position:relative;display:none}.aria-page.is-active{display:block}.command-center-grid,.module-stack.two-column{grid-template-columns:1fr}.aria-footer{grid-template-columns:1fr;min-height:118px;padding:10px}.footer-command{order:1}.footer-spotify{order:2;justify-content:center}}
