/* One shared visual language for every authenticated portal area. */
:root{background:#191510;color-scheme:dark}
body{--surface:var(--panel);--border:var(--line);--cm-accent:var(--accent);--shadow:0 24px 70px #0c0a0845}
body:before{background:radial-gradient(ellipse at 80% 0,#9f616e29,transparent 50%),radial-gradient(ellipse at 0 70%,#7e572c19,transparent 50%)}
.cinema-toolbar{background:linear-gradient(#191510fc,#191510e8 70%,#19151000);height:96px}
.cinema-toolbar-actions{display:flex;gap:12px;align-items:center;pointer-events:auto}
.cinema-command-button{display:flex;align-items:center;gap:10px;color:var(--muted);background:transparent;border:0;padding:12px;font-size:11px;letter-spacing:.1em}
.cinema-command-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}
.cinema-command-button kbd{font:10px system-ui;border:1px solid var(--line);border-radius:5px;padding:4px;letter-spacing:0}
.cinema-command-button:hover{color:var(--text)}
.cinema-nav-close,.cinema-command-close{display:grid;place-items:center;width:38px;height:38px;color:var(--text);border:1px solid var(--line);border-radius:50%;background:var(--panel2);font-size:24px}
.cinema-nav-close{position:absolute;right:14px;top:20px}
body .layout>.sidebar{padding-top:80px;background:linear-gradient(160deg,#322920,#1c1712 70%)!important}
body .sidebar .brand-row{margin-bottom:25px}
body .sidebar .nav button[data-view]{font-family:'Graz Cinema',system-ui;font-size:15px;min-height:47px}
body .sidebar .nav-group-label,body .sidebar .nav-category>summary{color:var(--muted);font-family:'Graz Cinema',system-ui;font-size:11px}
body .sidebar .profile-mini small,body .sidebar .logout{color:var(--muted)}
body.nexus-nav-open{overflow:hidden}
body .main{padding-top:140px;max-width:1520px}
body:not(.cinema-character-selection) .topbar{position:relative;isolation:isolate;min-height:230px;padding:40px clamp(24px,3vw,46px);margin-bottom:36px;border:1px solid #ecdbc822;border-radius:24px;overflow:hidden;align-items:center;background:#29221b}
body:not(.cinema-character-selection) .topbar:before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#29221bfc 15%,#29221bdd 55%,#29221b66),url('/assets/graz-afterhours-hero.webp') center 46%/cover;opacity:.8}
body .topbar>div:first-child{flex:1;min-width:0}
body .page-title{font-size:clamp(40px,4.7vw,74px)!important;line-height:1.02;letter-spacing:-.045em;margin:12px 0}
.cinema-page-description{font:15px/1.65 system-ui,sans-serif;color:#e9d5bf;max-width:620px;margin:14px 0 0}
body .eyebrow{font-family:'Graz Cinema',system-ui;font-size:11px;letter-spacing:.16em;color:var(--accent)}
body .top-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;max-width:240px;gap:15px!important}
body .sync-indicator{color:var(--muted);font:11px system-ui}
body .sync-indicator i{background:var(--accent);box-shadow:0 0 10px #ecdbc833}
body .top-actions .avatar{border:2px solid #ecdbc855;width:42px;height:42px}
body .card,body .app-shell :is(.dossier-pane,.search-pane,.cm-layout,.cr-directory,.cr-editor,.cr-empty,.cr-groups,.cr-group-assignment,.dev-card,.reward-card,.garage-card,.rights-panel,.catalog-section,.catalog-editor,.inventory-item,.vertical-shop,.vehicle-detail-dialog){background:linear-gradient(135deg,#30271e,#231d17 75%)!important;border:1px solid var(--line)!important;border-radius:20px!important;box-shadow:0 12px 40px #0c0a0824;color:var(--text);min-width:0}
body .card{padding:28px}
body .content-grid{gap:22px}
body .app-shell :is(p,label,dt,.field>span){line-height:1.65}
body .app-shell :is(.card>p,.workspace-header p,.desk-welcome p,.record-empty,.list-secondary,.dev-muted,.dev-card small,.detail-facts span,.stat-item label,.stat-item>span,.metric-label,.metric-note,.garage-make,.garage-details dt,.garage-model,.cm-hint,.cm-person p,.person-header p,.search-pane>p,.record-toolbar p,.vcp-record small,.vcp-vehicle-copy>span,.vcp-vehicle-copy>small){color:var(--muted)!important}
body .app-shell :is(.section-head h2,.card h2,.workspace-header h2,.inventory-heading h2,.cm-heading h2,.catalog-heading h2){font-size:clamp(25px,2.5vw,36px);line-height:1.1;letter-spacing:-.025em}
body .app-shell :is(.card>p,.section-head p,.search-pane>p,.desk-welcome p){font-size:14px}
body .metric{position:relative;min-height:165px;overflow:hidden;padding:28px}
body .metric:after{content:'';position:absolute;right:-35px;bottom:-45px;width:170px;height:170px;border:1px solid #ecdbc818;border-radius:50%;box-shadow:0 0 0 25px #ecdbc805;pointer-events:none}
body .metric-label{font:11px 'Graz Cinema',system-ui!important;text-transform:uppercase;letter-spacing:.13em}
body .metric-value{font-family:'Graz Cinema',system-ui;font-size:clamp(32px,3.1vw,48px);color:#f7f0e9;line-height:1.15;overflow-wrap:anywhere}
body .app-shell :is(.primary-button,.ghost-button,.danger-button){min-height:42px;font-family:'Graz Cinema',system-ui;letter-spacing:.02em;font-size:14px}
body .app-shell .ghost-button{border-radius:100px;background:#3b3126!important;padding:11px 17px}
body .app-shell .ghost-button:hover{border-color:#ecdbc877!important;background:#4b3e30!important;transform:none}
body .app-shell .primary-button{padding:13px 23px;box-shadow:0 5px 24px #ecdbc814}
body .app-shell .primary-button:hover{box-shadow:0 8px 28px #ecdbc828}
body .app-shell .danger-button{background:#4a3e30;color:#f3e8dc;border:1px solid #da7d8755;border-radius:100px}
body .app-shell input:not([type=checkbox]):not([type=radio]),body .app-shell textarea,body .app-shell select{border:1px solid #ecdbc830!important;border-radius:10px;min-height:46px;padding:12px 14px}
body input[type=checkbox],body input[type=radio]{accent-color:var(--accent)}
body .app-shell :is(.field label,.form-grid label,.faction-duty-filter label,.catalog-field label){color:var(--muted);font-size:13px}
body .app-shell :is(.workspace-tabs,.dossier-tabs,.cm-tabs,.faction-tabs){gap:8px;flex-wrap:wrap;padding:8px;border-radius:14px;background:#1a1611!important;border:1px solid var(--line);margin-bottom:20px}
body .app-shell :is(.workspace-tabs,.dossier-tabs,.cm-tabs,.faction-tabs) button{padding:12px 16px;border:1px solid transparent;border-radius:9px;font-family:'Graz Cinema',system-ui;font-size:14px;color:var(--muted)}
body .app-shell :is(.workspace-tabs,.dossier-tabs,.cm-tabs,.faction-tabs) :is(button.active,button[aria-selected=true],button[aria-current=page],button[aria-pressed=true]){background:var(--accent)!important;border-color:var(--accent)!important;color:#251f18!important}
body .app-shell .dossier-tabs button[aria-selected=true]:after{display:none}
body .app-shell :is(.table-wrap,.faction-table,.catalog-table-wrap){border:1px solid var(--line);border-radius:14px;background:#1d1812;overflow:auto;max-width:100%;scrollbar-color:#986936 #1d1812}
body .app-shell :is(.data-table,.faction-table table,.catalog-table){min-width:650px;width:100%;border-collapse:collapse;font:13px/1.6 system-ui,sans-serif;color:#f3e7db}
body .app-shell :is(.data-table,.faction-table table,.catalog-table) th{background:#332a20;color:#e7d1ba;font:11px 'Graz Cinema',system-ui;text-transform:uppercase;letter-spacing:.08em;padding:17px 18px;white-space:nowrap}
body .app-shell :is(.data-table,.faction-table table,.catalog-table) td{border-color:var(--line);padding:17px 18px}
body .app-shell :is(.data-table,.faction-table table,.catalog-table) tbody tr:hover{background:#ecdbc808}
body .app-shell .table-wrap.card{padding:0}
body .app-shell :is(.list-row,.invoice-pay,.record-meta>div,.faction-operation,.rights-entry){border-color:var(--line)}
body .app-shell :is(.list-primary,.detail-facts strong,.stat-item strong,.record-meta strong,.vcp-record strong,.vcp-vehicle-copy>strong,.garage-details dd,.rights-entry-title strong){color:var(--text)!important}
body .app-shell :is(.tag,.admin-badge,.rights-count,.catalog-limit){border:1px solid #ecdbc833;background:#ecdbc80d;color:#ebd9c6;border-radius:100px;padding:6px 10px}
body .app-shell .amount:not(.out){color:#e7d1b9}body .app-shell .amount.out{color:#e6d0b8}
body .app-shell :is(.action-icon,.cm-avatar,.rights-heading-icon,.welcome-orbit,.inventory-item-top strong,.cm-slot){background:#ecdbc814;color:var(--accent);border-color:#ecdbc833}
body .app-shell :is(.detail-header,.person-header,.vertical-hero,.reward-hero){padding:30px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(120deg,#3f3429,#272019);margin-bottom:28px}
body .app-shell .detail-name{font-family:'Graz Melange',system-ui;font-weight:400;font-size:clamp(30px,3vw,46px)}
body .app-shell .detail-name small{font-family:'Graz Cinema',system-ui;color:var(--accent);font-size:13px}
body .app-shell .stat-strip{background:#29221a;border:1px solid var(--line);border-radius:18px;padding:28px}
body .app-shell .stat-item strong{font-family:'Graz Cinema',system-ui;font-size:32px}
body .app-shell .overview-activity{border-top:1px solid var(--line);margin-top:36px;padding-top:12px}
body .app-shell .garage-photo{background:radial-gradient(ellipse at center,#4f4132,#251e17 75%)}
body .app-shell .garage-card{overflow:hidden;transition:transform .25s,border-color .25s}
body .app-shell .garage-card:hover{transform:translateY(-4px);border-color:#ecdbc866!important}
body .app-shell .garage-card-body{padding:26px}
body .app-shell .garage-card h2{font-size:32px}
body .app-shell .vertical-dashboard{--accent:#ecdbc8;--accent-rgb:236,219,200}
body .app-shell :is(.vertical-package,.cm-results button.selected,.cm-results button:hover,.person-result,.cm-scan-row:has(input:checked)){background:#392f25;color:var(--text);border-color:#ecdbc844}
body .app-shell :is(.vertical-status,.record-content,.license-card,.access-grid>div,.police-summary>div){background:#2f271e;color:var(--text);border-color:var(--line)}
body .app-shell .cm-page{--cm-accent:#ecdbc8}
body .app-shell .cm-person{border-bottom:1px solid var(--line)}
body .app-shell .cm-search{background:#1c1712;border-color:var(--line)}
body .app-shell :is(.cm-balances article,.cr-rule,.inventory-item){background:#29221b}
body .app-shell .dev-intro code{color:#f3e8dc;background:#392f25}
body .app-shell .dev-page #developer-editor{background:#16120e!important;color:#efe0d0!important;font:13px/1.8 Consolas,monospace!important}
body .app-shell :is(.dev-grants article,.dev-run,.dev-catalogue code,.dev-table td,.dev-table th){border-color:var(--line)}
body .admin-hub-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:25px}
body .admin-hub-links .ghost-button{border-radius:12px;text-align:left;min-height:68px;justify-content:space-between}
body .admin-subsections>details{padding:26px;background:#29221b;border-radius:20px;margin-top:22px}
body .admin-subsections>details>summary{font-family:'Graz Cinema',system-ui;font-size:24px;color:#f7f0e9}
body .app-shell :is(.record-modal,.composer-overlay,.vehicle-detail-overlay){background:#0a0907ce;backdrop-filter:blur(7px)}
body .app-shell :is(.record-dialog,.composer-dialog,.vehicle-detail-dialog,.service-dialog){background:#2a231b!important;color:var(--text);border:1px solid #ecdbc833;border-radius:22px}
body .app-shell dialog.activity-history{width:min(1100px,calc(100vw - 32px));max-height:88svh;background:#2a231b;color:var(--text);border:1px solid #ecdbc844;border-radius:20px;padding:28px;overflow:auto}
body .app-shell dialog.activity-history h3{font-size:32px;overflow-wrap:anywhere}
body .app-shell dialog.activity-history>.ghost-button{margin-bottom:20px}
dialog::backdrop{background:#0a0907ce;backdrop-filter:blur(7px)}
.cinema-command{width:min(600px,calc(100vw - 32px));max-height:85svh;overflow:auto;background:linear-gradient(140deg,#3e3328,#231d17);color:var(--text);border:1px solid #ecdbc844;border-radius:22px;padding:36px}
.cinema-command form{position:absolute;right:18px;top:18px}.cinema-command h2{font-size:46px;margin:18px 0 12px;line-height:1}
.cinema-command p,.cinema-command small{color:var(--muted);font-size:14px;line-height:1.6}.cinema-command small{display:block;margin-top:20px;font-size:11px}
.cinema-command input{width:100%;background:#1a1611;color:var(--text);border:1px solid #ecdbc844;border-radius:12px;padding:16px;font-size:16px;margin:12px 0}
.cinema-command-results{display:grid;gap:8px;max-height:40svh;overflow:auto}
.cinema-command-results button{background:#ecdbc80b;border:1px solid var(--line);border-radius:10px;text-align:left;padding:14px 16px;color:#f7f0e9;font-size:17px}
.cinema-command-results button:hover{background:#ecdbc8;color:#251f18}
.dev-card form,.dev-card form>*{min-width:0;max-width:100%}
body .dev-heading label{display:grid;gap:6px;justify-items:start;min-width:0;max-width:100%;white-space:normal}
body .dev-heading input[type=file]{width:100%;max-width:100%;font-size:11px}
.wheel-stage{overflow:hidden}.wheel-pointer{top:0}
@media(max-width:380px){.wheel-stage{width:220px;height:240px}.wheel-disc{width:220px;height:220px;border-width:6px}.wheel-disc span{font-size:17px;transform:rotate(calc(var(--sector)*60deg + 30deg)) translateY(-68px) rotate(calc(var(--sector)*-60deg - 30deg))}.reward-fields{grid-template-columns:1fr}.reward-actions{flex-wrap:wrap}body .dev-card{padding:20px}}
@media(max-width:1100px){body .top-actions{max-width:none}body:not(.cinema-character-selection) .topbar{gap:25px}body .cards-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.cinema-command-button span,.cinema-command-button kbd{display:none}.cinema-command-button{padding:10px}.cinema-toolbar-actions{gap:4px}body .main{padding:115px 18px 70px}body:not(.cinema-character-selection) .topbar{padding:28px 22px;min-height:240px;border-radius:18px;gap:18px;flex-direction:column;align-items:flex-start}body .page-title{font-size:clamp(36px,10vw,54px)!important}.cinema-page-description{font-size:14px}body .top-actions{justify-content:flex-start}body .card{padding:20px}body .content-grid{gap:14px}body .cards-3{grid-template-columns:1fr}body .metric{min-height:140px;padding:22px}body .metric-value{font-size:32px}body .app-shell :is(.detail-header,.person-header,.vertical-hero,.reward-hero){padding:22px}body .app-shell .stat-strip{grid-template-columns:repeat(2,minmax(0,1fr));padding:20px;gap:25px 0}body .app-shell .stat-item{padding:0 14px}body .app-shell .stat-item:nth-child(odd){padding-left:0;border-right:1px solid var(--line)}body .app-shell .stat-item:nth-child(even){border-right:0}body .app-shell .stat-item strong{font-size:26px}body .settings-card>section{grid-column:auto!important}body .admin-subsections>details{padding:18px}.cinema-command{padding:32px 22px}.cinema-command h2{font-size:38px}body .app-shell dialog.activity-history{padding:20px}body .app-shell dialog.activity-history h3{font-size:26px}body .app-shell .faction-duty-filter{display:grid;grid-template-columns:1fr;width:100%}body .app-shell .faction-duty-filter label{min-width:0}body .app-shell .faction-duty-filter button{width:100%}}
@media(max-width:380px){body .cards-4{grid-template-columns:1fr}.cinema-toolbar-brand span{font-size:13px}.cinema-toolbar-brand small{font-size:8px}.cinema-toolbar-brand{gap:8px}.nexus-mobile-menu{padding:10px 12px;gap:8px}}
@media(prefers-reduced-motion:reduce){body .app-shell .garage-card{transition:none}body .app-shell .garage-card:hover{transform:none}}
