/* Vexora Operations Desk: eine eigene, kantige Leitstellen-Ästhetik statt generischer Dashboard-Karten. */
:root{--bg:#0b0e12;--bg2:#10141a;--surface:#151b23;--surface2:#1b3047;--surface3:#202a35;--line:#2b3743;--line2:#536273;--text:#edf1f5;--muted:#8ca0b4;--gold:#d7a83c;--gold2:#f6c94f;--blue:#356da5;--blue2:#8ab4f8;--green:#36a96c;--red:#d85b5b;--orange:#e99a36}
body.app-body{background:var(--bg);color:var(--text);font-family:Arial,"Segoe UI",sans-serif}
body.app-body #app{grid-template-columns:226px minmax(0,1fr);background:var(--bg)}
body.app-body .sidebar{background:#10141a;border-right:1px solid var(--line);padding:14px 11px 12px;box-shadow:12px 0 35px rgba(0,0,0,.22)}
body.app-body .sidebar:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--gold) 0 23%,var(--blue) 23% 77%,var(--green) 77%)}
body.app-body .brand-block{position:relative;min-height:79px;display:flex;align-items:flex-start;justify-content:space-between;gap:9px;padding:13px 9px 12px;border:1px solid var(--line);border-radius:2px;background:#151b23;overflow:hidden}
body.app-body .brand-block:after{content:"GRID 04  /  INTERNAL";position:absolute;bottom:8px;left:10px;color:#647487;font:600 9px/1 Arial,sans-serif;letter-spacing:.16em}
body.app-body .brand-wordmark{display:grid!important;gap:3px;padding-top:1px}
body.app-body .brand-code{color:var(--gold);font:700 10px/1 Arial,sans-serif;letter-spacing:.18em}
body.app-body .brand-wordmark strong{color:#f4f7fa;font:800 20px/1 Arial,sans-serif;letter-spacing:.09em}
body.app-body .brand-wordmark span:last-child{color:#8ca0b4;font:600 9px/1.2 Arial,sans-serif;letter-spacing:.12em}
body.app-body .brand-status{align-self:flex-start;color:#61c88a;font:700 9px/1 Arial,sans-serif;letter-spacing:.14em;border:1px solid #2b6548;padding:5px 5px 4px;border-radius:2px}
body.app-body .nav-list{margin-top:15px;gap:3px}
body.app-body .nav-list:before{content:"SHEET NAVIGATION";display:block;color:#607388;font:700 9px/1 Arial,sans-serif;letter-spacing:.17em;padding:7px 10px 6px}
body.app-body .nav-item{position:relative;border:1px solid transparent;border-radius:2px;padding:10px 9px;color:#aebdca;font-size:12px;letter-spacing:.01em}
body.app-body .nav-item .nav-icon{width:17px;color:#6d8dab;font-size:12px}
body.app-body .nav-item:hover{background:#18222e;border-color:#2b465e}
body.app-body .nav-item.active{background:#1b3046;border-color:#3c6791;box-shadow:none;color:#fff}
body.app-body .nav-item.active:after{content:"";position:absolute;right:8px;top:50%;width:5px;height:5px;margin-top:-2px;background:var(--gold);box-shadow:0 0 0 3px rgba(215,168,60,.13)}
body.app-body .sidebar-user{margin-top:auto;border-top:1px solid var(--line);padding:13px 4px 0}
body.app-body .sidebar-user .avatar{width:32px;height:32px;border-radius:2px;background:#31485f;color:#fff;font-size:12px}
body.app-body .sidebar-user strong{font-size:11px}.sidebar-user span{font-size:9px}
body.app-body .workspace{position:relative;background-color:var(--bg);background-image:linear-gradient(rgba(135,157,180,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(135,157,180,.055) 1px,transparent 1px);background-size:32px 32px}
body.app-body .workspace:before{content:"VEXORA / LOS SANTOS POLICE DEPARTMENT / OPERATIONS";position:absolute;top:6px;right:42px;color:#394655;font:700 9px/1 Arial,sans-serif;letter-spacing:.18em;pointer-events:none}
body.app-body .topbar{min-height:74px;background:#10141a;border-bottom:1px solid var(--line);box-shadow:none}
body.app-body .topbar h1{font-size:18px;letter-spacing:.08em;text-transform:uppercase}.breadcrumbs{font-size:9px;letter-spacing:.18em;color:#6f8195}
body.app-body .content{padding-top:25px}
body.app-body .page-head{border-left:3px solid var(--gold);padding-left:13px;margin-bottom:19px}
body.app-body .page-head h2{font-size:21px;letter-spacing:.08em;text-transform:uppercase}.page-head p{font-size:11px;color:#8ca0b4}
body.app-body .metric-grid{gap:8px}.metric{position:relative;border-radius:2px;background:var(--surface);border:1px solid var(--line);border-top:2px solid #3e668f;box-shadow:none;padding:14px 15px;overflow:hidden}.metric:nth-child(1){border-top-color:var(--gold)}.metric:nth-child(3){border-top-color:var(--orange)}.metric:nth-child(4){border-top-color:var(--red)}.metric:after{content:"";position:absolute;right:7px;bottom:6px;width:26px;height:26px;border:1px solid #334554;border-radius:0;opacity:.55}.metric-label{font-size:9px;letter-spacing:.16em;color:#879aad}.metric-value{font-family:Arial,sans-serif;font-size:25px}.metric-meta{font-size:10px}
body.app-body .panel{border-radius:2px;background:var(--surface);border-color:var(--line);box-shadow:none}.panel + .panel{margin-top:12px}.panel-head{min-height:42px;padding:9px 12px;background:var(--surface2);border-bottom:1px solid #3b5873;border-radius:2px 2px 0 0}.panel-head h3{font-size:11px;letter-spacing:.12em}.panel-head h3:before{content:"▸";color:var(--gold);margin-right:7px}.panel-head span{font-size:9px;color:#9db0c4}.panel-body{padding:11px;background-image:linear-gradient(rgba(135,157,180,.032) 1px,transparent 1px),linear-gradient(90deg,rgba(135,157,180,.032) 1px,transparent 1px);background-size:24px 24px}
body.app-body .list-row{padding:8px 3px;border-bottom:1px solid #283541}.list-main strong{font-size:11px}.list-main small{font-size:9px;color:#8297aa}.badge-avatar{width:30px;height:30px;flex-basis:30px;border-radius:2px;font-size:10px;background:#263a51}.status-pill,.role-pill,.tag{border-radius:2px;background:#202a35;border-color:#536273;padding:4px 6px;font-size:9px;letter-spacing:.02em}
body.app-body .btn{border-radius:2px;text-transform:uppercase;font-size:10px;letter-spacing:.06em;box-shadow:none}.btn--primary{background:var(--blue);border-color:#628eb8}.btn--ghost{background:#202a35;border-color:#425366}.btn--danger{background:#522729;border-color:#9b4a4d}
body.app-body .data-table{border-color:#32424f}.data-table th{padding:8px 9px;background:var(--surface2);color:var(--gold2);border-color:#3d5870;font-size:9px;letter-spacing:.13em}.data-table td{padding:8px 9px;background:var(--surface);border-color:var(--line);font-size:10px}.data-table tr:nth-child(even) td{background:#13181e}.data-table tr:hover td{background:#1d2c3b}.training-table td:first-child{background:var(--surface)}
body.app-body .dispatch-grid{gap:9px}.patrol-card{border-radius:2px;background:var(--surface);border-color:var(--line)}.patrol-card__bar{height:3px}.patrol-card__head{padding:10px 11px 8px}.patrol-card__head h3{font-size:14px;letter-spacing:.1em}.patrol-card__meta{padding:0 11px 9px;font-size:9px}.patrol-card__meta b{font-size:10px}.patrol-members{padding:7px 11px;min-height:86px}.member-chip{padding:6px 0;font-size:10px;border-bottom-color:#283541}.patrol-card__actions{padding:8px 11px;border-top-color:var(--line)}
body.app-body .toolbar{margin-bottom:10px}.toolbar input,.toolbar select{border-radius:2px;background:var(--surface);border-color:#3d4d5c;padding:9px 10px;font-size:11px}.law-card,.role-card{border-radius:2px;background:var(--surface);border-color:var(--line)}.law-card__head{padding:10px 12px;background:var(--surface2);border-bottom-color:#3d5870}.law-card__head b{font-size:11px}.law-card__body{padding:11px 12px}.role-card{padding:12px}.role-card h3{font-size:12px}.role-card p{font-size:10px}.permission-list span{border-radius:2px;padding:3px 5px;font-size:9px;background:#202d3b}
body.app-body .modal{border-radius:2px;background:var(--surface);border-color:#536273}.modal__head{background:var(--surface2);border-bottom-color:#3d5870}.modal__head h2{font-size:15px}.modal__body{padding:16px}.field{font-size:11px}.field input,.field select,.field textarea{border-radius:2px;background:#0f141a;border-color:#3d4d5c;padding:10px;font-size:11px}
@media(max-width:820px){body.app-body #app{grid-template-columns:1fr}body.app-body .workspace:before{display:none}}

/* Ruhiger Sheets-Modus: klare Arbeitsflächen statt dekorativer KI-Karten. */
body.app-body .workspace{background-image:none}
body.app-body .workspace:before{display:none}
body.app-body .brand-block:after{display:none}
body.app-body .sidebar:before{height:2px;background:var(--gold)}
body.app-body .brand-block{background:#202124;border-color:#45464a}
body.app-body .brand-code{color:#f8c64d}
body.app-body .brand-status{color:#9aa0a6;border-color:#5f6368;background:#292a2d}
body.app-body .nav-list:before{content:"NAVIGATION";color:#9aa0a6}
body.app-body .nav-item.active{background:#344b68;border-color:#5b718c}
body.app-body .nav-item.active:after{width:4px;height:18px;right:0;margin-top:-9px;box-shadow:none;background:var(--gold)}
body.app-body .topbar{background:#202124;border-bottom-color:#45464a}
body.app-body .content{padding-top:22px}
body.app-body .page-head{border-left:2px solid var(--gold)}
body.app-body .metric,body.app-body .panel,body.app-body .patrol-card,body.app-body .law-card,body.app-body .role-card{background:#292a2d;box-shadow:none}
body.app-body .metric:after{display:none}
body.app-body .panel-body{background-image:none}
body.app-body .panel-head{background:#263b5a;border-bottom-color:#63728a}
body.app-body .data-table th{background:#263b5a;color:#f8c64d}
body.app-body .data-table td{background:#292a2d}
body.app-body .data-table tr:nth-child(even) td{background:#252629}
body.app-body .data-table tr:hover td{background:#303a48}
body.app-body .btn:hover{transform:none;filter:none}
body.app-body .modal-backdrop{background:rgba(0,0,0,.68);backdrop-filter:none}
body.app-body .modal{background:#292a2d;box-shadow:0 8px 24px rgba(0,0,0,.34)}
body.app-body .toast{border-radius:3px;box-shadow:0 4px 14px rgba(0,0,0,.3)}
