:root{
  --bg:#070a0d;
  --bg-2:#0a0f13;
  --panel:#10161b;
  --panel-2:#141c22;
  --panel-3:#0c1115;
  --line:#24313a;
  --line-strong:#334653;
  --text:#eef5f8;
  --muted:#8d9aa3;
  --muted-2:#66747d;
  --cold:#9fd7ff;
  --cold-2:#6dbde9;
  --cold-soft:rgba(159,215,255,.11);
  --cold-line:rgba(159,215,255,.28);
  --ok:#76d49c;
  --warn:#e8c978;
  --bad:#f17c7c;
  --danger:#b74545;
  --shadow:0 18px 50px rgba(0,0,0,.26);
  --radius:14px;
  --radius-sm:10px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:radial-gradient(circle at 20% -10%,rgba(77,133,165,.12),transparent 28%),linear-gradient(180deg,#080b0f 0%,#070a0d 100%);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;min-height:100vh;letter-spacing:.01em}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.45),transparent 78%)}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.55}
a{color:inherit}
.hide{display:none!important}

.app-shell{width:min(1440px,100%);margin:0 auto;padding:0 28px 60px;position:relative;z-index:1}
.top{height:68px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(159,215,255,.11);position:sticky;top:0;z-index:80;background:rgba(7,10,13,.88);backdrop-filter:blur(18px)}
.brand-group,.top-actions{display:flex;align-items:center;gap:10px}
.logo{font-size:19px;font-weight:900;letter-spacing:.16em;color:var(--text)}
.logo span{font-weight:500;color:#9facb5}
.logo-button{appearance:none;background:transparent;border:0;padding:7px 9px;margin-left:-9px;border-radius:9px;transition:color .16s ease,text-shadow .16s ease,background .16s ease,transform .08s ease}
.logo-button:hover{color:#fff;background:rgba(159,215,255,.035);text-shadow:0 0 11px rgba(159,215,255,.27)}
.version-badge,.security-chip,.step-chip{display:inline-flex;align-items:center;height:25px;border:1px solid var(--cold-line);border-radius:999px;padding:0 9px;color:#abc9da;background:rgba(159,215,255,.04);font-size:9px;font-weight:800;letter-spacing:.09em}
.system-status{display:inline-flex;align-items:center;gap:7px;color:#a8b5bc;font-size:10px;font-weight:800;letter-spacing:.08em}
.system-status i{width:7px;height:7px;border-radius:50%;background:var(--warn);box-shadow:0 0 10px rgba(232,201,120,.35)}
.online,.system-status.online{color:#b8d7c4}.online i,.system-status.online i{background:var(--ok);box-shadow:0 0 10px rgba(118,212,156,.35)}
.top-link{height:34px;padding:0 11px;background:transparent;border:1px solid #27343c;border-radius:8px;color:#aebbc3;font-size:9px;font-weight:800;letter-spacing:.08em}

.workspace{padding-top:22px}
.hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);gap:36px;align-items:end;padding:34px 0 24px}
.k,.sect{color:#8dbbd4;font-size:10px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
h1{font-size:clamp(40px,5vw,68px);line-height:.97;margin:10px 0 14px;letter-spacing:-.055em;max-width:820px}
.hero-lead{margin:0;max-width:760px;color:#95a4ad;line-height:1.6;font-size:15px}
.hero-search{align-self:end}
.search{display:flex;min-height:58px;border:1px solid #31414b;background:rgba(15,21,26,.9);border-radius:12px;overflow:hidden;box-shadow:inset 0 1px rgba(255,255,255,.015)}
.search:focus-within{border-color:var(--cold-line);box-shadow:0 0 0 3px rgba(159,215,255,.045)}
.search input{flex:1;min-width:0;background:transparent;border:0;outline:0;color:#fff;padding:0 17px;font-size:15px}
.search input::placeholder{color:#65747e}
.search button{min-width:128px;border-radius:0!important}
.compact{min-height:48px;margin-bottom:14px}

.nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:0 0 24px;padding:8px;background:rgba(10,15,19,.82);border:1px solid rgba(159,215,255,.09);border-radius:14px;position:sticky;top:78px;z-index:60;backdrop-filter:blur(16px)}
.nav button{min-height:54px;background:transparent;border:1px solid transparent;border-radius:10px;color:#8e9aa2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:9px 12px;transition:all .16s ease}
.nav button span{font-size:10px;font-weight:900;letter-spacing:.07em}
.nav button small{font-size:9px;margin-top:4px;color:#64717a}
.nav button:hover{color:#dcebf3;background:rgba(159,215,255,.035);border-color:rgba(159,215,255,.12)}
.nav button.active{color:#fff;background:linear-gradient(180deg,rgba(159,215,255,.10),rgba(159,215,255,.04));border-color:var(--cold-line);box-shadow:inset 0 -2px rgba(159,215,255,.42)}
.nav button.active small{color:#91b8cd}

.content-shell{min-height:560px}
.panel{display:none;animation:panelIn .18s ease}
.panel.show{display:block}
@keyframes panelIn{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
.panel-head,.panel-subhead,.card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.panel-head{margin:6px 0 16px}
.panel-head p{margin:7px 0 0;color:#82919a;font-size:13px;line-height:1.45}
.panel-subhead{align-items:center;margin:30px 0 10px}.panel-subhead h2{font-size:20px;margin:5px 0 0}
.section-gap{margin-top:14px}

.card,.row,.progress-card,.diag{background:linear-gradient(180deg,rgba(18,25,30,.96),rgba(13,19,23,.96));border:1px solid rgba(159,215,255,.10);border-radius:var(--radius);box-shadow:0 1px 0 rgba(255,255,255,.014)}
.card{padding:20px;margin-top:12px;transition:border-color .16s ease,background .16s ease,transform .16s ease}
.card:hover{border-color:rgba(159,215,255,.17)}
.row{padding:16px}.list{display:grid;gap:9px}
.row b{font-size:15px}.row p{margin:7px 0 0;color:#aeb9bf;line-height:1.45}
.label{color:#71818a;font-size:9px;font-weight:900;letter-spacing:.17em;text-transform:uppercase}
.big{font-size:21px;font-weight:760;line-height:1.3;margin-top:7px;letter-spacing:-.02em}
.next{margin-top:12px;color:#a9b4ba;line-height:1.55;font-size:13px}
.empty-state{display:flex;gap:18px;align-items:center;padding:26px}.empty-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--cold-soft);border:1px solid var(--cold-line);color:var(--cold);font-size:24px}

.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.quick-grid{grid-template-columns:repeat(4,1fr)}
.item{background:linear-gradient(180deg,#11181d,#0e1418);border:1px solid #233039;border-radius:12px;color:#eaf1f4;text-align:left;padding:18px;min-height:126px;cursor:pointer;display:flex;flex-direction:column;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background .14s ease}
.item:hover{transform:translateY(-2px);border-color:rgba(159,215,255,.22);box-shadow:0 12px 30px rgba(0,0,0,.18),0 0 18px rgba(159,215,255,.025)}
.item b{display:block;font-size:14px;letter-spacing:.01em}.item small{display:block;color:#81909a;margin-top:8px;line-height:1.4}.item em{font-style:normal;font-size:10px;color:#8fbed7;margin-top:auto;padding-top:20px;font-weight:800}.item.static{cursor:default}.item.static:hover{transform:none}

button{position:relative;isolation:isolate;border-radius:9px;transition:transform .08s ease,box-shadow .14s ease,border-color .14s ease,background .14s ease,color .14s ease,filter .14s ease;overflow:hidden}
button.primary,.actions button:not(.ghost),.choices button:not(.ghost),.search button{border:1px solid #cbd6dc;background:linear-gradient(180deg,#eef4f7,#d7e1e6);color:#0b1114;font-weight:900;letter-spacing:.025em;padding:11px 15px}
button.primary:hover,.actions button:not(.ghost):hover,.choices button:not(.ghost):hover,.search button:hover{background:#fff;border-color:#fff;box-shadow:0 0 18px rgba(159,215,255,.13)}
button.ghost,.ghost{background:#141c21!important;color:#d5dfe4!important;border:1px solid #2b3942!important;font-weight:800;padding:11px 14px}
button.ghost:hover,.ghost:hover{background:#18232a!important;border-color:var(--cold-line)!important;color:#fff!important}
button:active,button.is-pressed{transform:translateY(1px) scale(.985);filter:brightness(.9)}
button:focus-visible,.logo-button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:1px solid var(--cold);outline-offset:2px;box-shadow:0 0 0 3px rgba(159,215,255,.07)}
button.click-pulse::after{content:"";position:absolute;inset:-1px;border-radius:inherit;border:1px solid rgba(159,215,255,.55);animation:tornadoClick .28s ease-out;pointer-events:none}
@keyframes tornadoClick{0%{opacity:.9;transform:scale(.985)}100%{opacity:0;transform:scale(1.04)}}
button.is-loading{pointer-events:none;color:transparent!important}
button.is-loading::before{content:"";position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-8px;border:2px solid currentColor;border-color:#48616f #48616f #48616f transparent;border-radius:50%;animation:spin .65s linear infinite;z-index:4}
button.is-success{box-shadow:0 0 0 1px rgba(118,212,156,.32),0 0 16px rgba(118,212,156,.08)!important}
button.is-error{box-shadow:0 0 0 1px rgba(241,124,124,.36),0 0 16px rgba(241,124,124,.08)!important}
@keyframes spin{to{transform:rotate(360deg)}}
.actions,.choices{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.actions button,.choices button{min-height:40px}
.mini{min-height:32px;padding:7px 9px!important;font-size:9px!important}
.wide{width:100%;min-height:48px}

.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.tag{font-size:10px;border:1px solid #2d3a42;border-radius:999px;padding:6px 9px;color:#9eabb3;background:#10171b}
.err{color:#ff9696;margin-top:10px;line-height:1.45}.global-error:empty{display:none}.global-error:not(:empty){position:fixed;right:22px;bottom:22px;z-index:1000;max-width:460px;background:#2a1417;border:1px solid rgba(241,124,124,.35);padding:13px 15px;border-radius:10px;box-shadow:var(--shadow)}
.language-hint{margin-top:10px;padding:9px 11px;border-left:2px solid var(--cold-line);background:rgba(159,215,255,.035);color:#aebcc5;font-size:11px}

/* Forms */
.passport-form{margin-top:14px}.passport-form summary{cursor:pointer;font-size:10px;font-weight:900;letter-spacing:.1em;color:#cbd6dc;padding:8px 0}.passport-form label,.auth-field{display:grid;gap:7px;color:#86949d;font-size:10px;font-weight:800;margin-top:10px}
.passport-form input,.passport-form textarea,.passport-form select,.form-grid input,.form-grid select,.form-grid textarea,.auth-card input{width:100%;background:#090e12;border:1px solid #293841;border-radius:8px;color:#edf4f7;padding:11px 12px;min-height:42px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.passport-form input:hover,.passport-form textarea:hover,.passport-form select:hover,.form-grid input:hover,.form-grid select:hover,.auth-card input:hover{border-color:#374c58}
.passport-form textarea{min-height:90px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px 12px;margin-top:10px}.check-label{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px!important}.check-label input{width:auto!important;min-height:0!important}

/* Diagnostics */
.progress-card,.diag{padding:20px;margin-top:12px}.progress-head{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:900;letter-spacing:.12em;color:#94a2ab}.progress-head b{color:#fff}.progress-track{height:7px;background:#1b262d;border-radius:999px;margin:11px 0 19px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#69b6df,#9fd7ff);border-radius:inherit;transition:width .24s ease;box-shadow:0 0 12px rgba(159,215,255,.14)}
.diag-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.checklist{list-style:none;padding:0;margin:9px 0 0;display:grid;gap:8px}.checklist li{font-size:12px;color:#b8c2c7;line-height:1.4}.muted{color:#718089!important}.state-ok,.state-bad,.state-warn{display:inline-flex;align-items:center;font-size:8px;font-weight:900;letter-spacing:.08em;padding:4px 6px;margin-right:5px;border:1px solid;border-radius:999px}.state-ok{color:#91dfad;border-color:#315d40;background:rgba(118,212,156,.05)}.state-bad{color:#ff9d9d;border-color:#703838;background:rgba(241,124,124,.05)}.state-warn{color:#efd58d;border-color:#6b5a31;background:rgba(232,201,120,.05)}
.question{font-size:20px;font-weight:760;line-height:1.35;margin:9px 0 14px}.why{margin:14px 0;background:#0b1216;border-left:2px solid var(--cold-line);padding:12px 14px;border-radius:0 8px 8px 0}.why b{font-size:9px;letter-spacing:.12em;color:#86a8ba}.why p{margin:6px 0 0;color:#c9d3d8;line-height:1.5}.diag-message{color:#9daab2;font-size:12px;line-height:1.5;margin:12px 0}.notice{border:1px dashed #40515b;border-radius:8px;padding:12px;color:#9eabb2;line-height:1.45}.hypotheses{display:grid;gap:8px;margin-top:12px}.hypothesis{display:grid;grid-template-columns:120px 1fr;gap:10px;align-items:center;border-top:1px solid #202c33;padding-top:10px}.hypothesis:first-child{border-top:0;padding-top:0}.hypothesis b{display:block}.hypothesis small{display:block;color:#7f8d96;margin-top:4px}.level{font-size:8px;font-weight:900;letter-spacing:.07em;border:1px solid;padding:5px 7px;text-align:center;border-radius:999px}.level-supported{color:#8ee0aa;border-color:#315d40}.level-possible{color:#d8e2e7;border-color:#455861}.level-unlikely{color:#e5c47b;border-color:#6b5a31}.level-excluded{color:#ff9898;border-color:#703838}.report-summary{margin-top:14px;background:#0b1115;border:1px solid #24333b;border-radius:10px;padding:14px;color:#d9e1e5;line-height:1.5}.history-item{border-top:1px solid #202c33;padding:10px 0}.history-item:first-of-type{margin-top:10px}.history-item p{margin:5px 0 0;color:#8e9ca4;line-height:1.4;font-size:12px}
.confidence-card{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:center;background:#0c1317;border:1px solid #2b3d47;border-radius:var(--radius);padding:16px;margin-top:12px}.confidence-card b{display:block;font-size:30px;margin-top:5px}.confidence-card span{color:#93a5af;font-size:10px}.confidence-card p{margin:0;color:#b8c4ca;line-height:1.5}.context-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.context-grid div{background:#0c1216;border:1px solid #202d35;border-radius:8px;padding:11px}.context-grid small{display:block;color:#76858e;margin-top:4px}.history-note{font-size:10px;color:#6f7e87;margin-top:10px}

/* Passport, graph, knowledge, analytics */
.passport-row{width:100%;display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;text-align:left;color:var(--text);cursor:pointer;background:linear-gradient(180deg,#11181d,#0d1317);border:1px solid #23313a;border-radius:11px}.passport-row:hover{border-color:rgba(159,215,255,.23);background:#121b21}.passport-row small{color:#7d8b93}.passport-status,.evidence-badge{font-size:8px;font-weight:900;letter-spacing:.08em;border:1px solid #41515a;border-radius:999px;padding:5px 7px;color:#b8c3c9}.passport-head{display:grid;grid-template-columns:minmax(180px,1fr) 2fr;gap:20px;align-items:start}.passport-stats,.analytics-grid,.home-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.passport-stats div,.home-metrics div,.metric{background:#0b1115;border:1px solid #202d35;border-radius:9px;padding:12px;text-align:center}.passport-stats b,.home-metrics b,.metric b{display:block;font-size:20px}.passport-stats span,.home-metrics span,.metric span{display:block;color:#718089;font-size:8px;font-weight:900;letter-spacing:.08em;margin-top:5px}.passport-kvs{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#24313a;margin-top:12px;border:1px solid #24313a;border-radius:9px;overflow:hidden}.passport-kv{background:#0d1418;padding:11px 12px;display:flex;justify-content:space-between;gap:12px}.passport-kv span{color:#75848d;font-size:11px}.passport-kv b{text-align:right;font-size:12px}.component-list{display:grid;gap:8px;margin-top:12px}.component-card{display:flex;justify-content:space-between;gap:14px;border-top:1px solid #202c33;padding:11px 0}.component-card:first-child{border-top:0}.component-card small{display:block;color:#718089;margin-top:4px}.component-card p{margin:5px 0 0;color:#a8b4ba;font-size:11px}.link-row,.case-row{border-top:1px solid #202c33;padding:10px 0;color:#afbac0;font-size:12px;line-height:1.4}.case-row{display:grid;grid-template-columns:90px 1fr auto;gap:10px;align-items:center}.case-row b{font-size:9px;text-transform:uppercase}.case-row small{color:#718089}
.knowledge-tools,.analytics-columns,.access-layout{display:grid;grid-template-columns:1fr 1fr;gap:12px}.support-list{display:grid;gap:10px;margin-top:12px}.support-item,.knowledge-row{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;border-top:1px solid #202c33;padding-top:10px}.support-item:first-child{border-top:0;padding-top:0}.support-item small,.knowledge-row small{display:block;color:#718089;margin-top:5px}.evidence-high{color:#8ee0aa;border-color:#315d40}.evidence-medium{color:#e5c47b;border-color:#6b5a31}.evidence-low{color:#ffb0a0;border-color:#704438}.evidence-none{color:#9ba29e;border-color:#454b48}
.component-graph{overflow:auto;margin-top:12px;background:#081014;border:1px solid #22313a;border-radius:10px}.component-graph svg{min-width:720px;width:100%;display:block}.graph-edge{stroke:#617680;stroke-width:2}.graph-root-edge{stroke:#2a3940;stroke-width:1;stroke-dasharray:5 5}.graph-label{fill:#91a0a8;font-size:10px;text-anchor:middle}.graph-node{fill:#111b20;stroke:#4d6570;stroke-width:1.5}.graph-node-bad{stroke:#b85b5b;fill:#211616}.graph-node-title{fill:#f1f3f1;font-size:11px;font-weight:700;text-anchor:middle}.graph-node-sub{fill:#75858d;font-size:9px;text-anchor:middle}.graph-aircraft{fill:#18252b;stroke:#69828e;stroke-width:1.5}.graph-aircraft-title{fill:#fff;font-size:12px;font-weight:800;text-anchor:middle}.graph-node-attention{stroke:#d06b5f;fill:#291916}.graph-node-verified{stroke:#55a36d;fill:#142018}.graph-node-current{stroke:#d6b85d;stroke-width:3}.graph-legend{display:flex;gap:13px;align-items:center;color:#7e8d95;font-size:10px;margin-top:10px}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:-8px}.dot.verified{background:#55a36d}.dot.attention{background:#d06b5f}.dot.current{background:#d6b85d}
.maintenance-row{display:grid;grid-template-columns:1fr auto;gap:15px;border-top:1px solid #202c33;padding:11px 0}.maintenance-row p{margin:5px 0;color:#a8b4ba;line-height:1.4}.maintenance-row small,.maintenance-row time{color:#718089;font-size:10px}.analytics-columns{grid-template-columns:1fr 1fr}.analytics-row{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #202c33;padding:10px 0;color:#acb8be}.analytics-row b{color:#fff}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.photo-grid a{display:grid;gap:5px;color:#acb8be;text-decoration:none;font-size:10px}.photo-grid img{width:100%;height:130px;object-fit:cover;border:1px solid #2b3a43;border-radius:8px;background:#070b0e}.upload-row{display:flex;gap:8px;align-items:center;margin-top:12px;flex-wrap:wrap}.snapshot-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid #202c33;padding:10px 0}.snapshot-row small{display:block;color:#718089;margin-top:4px}.diff-box,.conflict-list div{margin-top:10px;border:1px solid #31414a;background:#0c1317;border-radius:8px;padding:12px}.diff-box p{margin:5px 0;color:#a6b2b8}

/* Visual Intelligence */
.status-card{margin-bottom:14px;background:linear-gradient(135deg,#0d161c,#0d1317)}
.visual-workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);gap:14px;align-items:stretch}
.visual-upload-card,.roi-card{margin-top:0}.visual-dropzone{display:grid;place-items:center;text-align:center;min-height:190px;margin:18px 0 4px;border:1px dashed #3c5563;border-radius:12px;background:linear-gradient(180deg,rgba(159,215,255,.035),rgba(159,215,255,.012));cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.visual-dropzone:hover{border-color:var(--cold-line);background:rgba(159,215,255,.05);transform:translateY(-1px)}.visual-dropzone input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.visual-dropzone b{font-size:14px}.visual-dropzone small{display:block;margin-top:6px;color:#71818a}.drop-icon{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--cold-line);border-radius:50%;color:var(--cold);font-size:22px;margin-bottom:10px;background:var(--cold-soft)}
.visual-form-grid{margin-top:14px}.roi-card{display:flex;flex-direction:column}.roi-visual{height:160px;border:1px solid #293a44;border-radius:10px;background:repeating-linear-gradient(0deg,transparent,transparent 24px,rgba(159,215,255,.025) 25px),repeating-linear-gradient(90deg,transparent,transparent 24px,rgba(159,215,255,.025) 25px),#091015;position:relative;margin:18px 0}.roi-visual span{position:absolute;width:18px;height:18px;border-color:#89c9ec}.roi-visual span:nth-child(1){left:24%;top:24%;border-left:2px solid;border-top:2px solid}.roi-visual span:nth-child(2){right:24%;top:24%;border-right:2px solid;border-top:2px solid}.roi-visual span:nth-child(3){left:24%;bottom:24%;border-left:2px solid;border-bottom:2px solid}.roi-visual span:nth-child(4){right:24%;bottom:24%;border-right:2px solid;border-bottom:2px solid}.roi-visual b{position:absolute;inset:0;display:grid;place-items:center;color:#62869a;font-size:11px;letter-spacing:.16em}.roi-state{margin-top:auto;padding:10px;border:1px solid #22313a;border-radius:8px;background:#090e12}
.visual-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px;margin:12px 0 18px}.visual-media-card{background:#0e151a;border:1px solid #24343d;border-radius:12px;overflow:hidden;transition:transform .15s ease,border-color .15s ease}.visual-media-card:hover{transform:translateY(-2px);border-color:rgba(159,215,255,.2)}.visual-preview{position:relative;min-height:180px;background:#06090c;user-select:none;cursor:crosshair}.visual-preview img{display:block;width:100%;height:240px;object-fit:contain;background:#06090c}.visual-media-info{display:flex;flex-direction:column;gap:6px;padding:13px}.visual-media-info small{color:#728089}.visual-status{display:flex;align-items:center;gap:12px;margin:8px 0}.visual-status b{font-size:18px}.visual-status span{color:#81919a}.roi-box{position:absolute;border:2px solid #e9c86f;background:rgba(233,200,111,.10);pointer-events:none}.visual-analysis-layout{display:grid;grid-template-columns:minmax(320px,1.15fr) minmax(280px,.85fr);gap:18px;align-items:start}.visual-analysis-image{position:relative;background:#06090c;border-radius:10px;overflow:hidden;min-height:280px;border:1px solid #202e35}.visual-analysis-image img{display:block;width:100%;max-height:560px;object-fit:contain}.finding-box{position:absolute;border:2px solid #ffbe3b;background:rgba(255,190,59,.08);pointer-events:none}.finding-box>span{position:absolute;left:-2px;top:-24px;background:#ffbe3b;color:#111;padding:2px 6px;font-weight:900;font-size:10px}.finding-box.decision-confirmed{border-color:#5fd18a}.finding-box.decision-confirmed>span{background:#5fd18a}.finding-box.decision-rejected{border-color:#ef6262}.finding-box.decision-rejected>span{background:#ef6262}.visual-finding{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:14px 0;border-top:1px solid #202c33}.visual-finding:first-of-type{border-top:0}.visual-finding b{display:block;margin:6px 0}.visual-finding p{margin:4px 0;color:#aab6bc}.visual-finding small{color:#718089}.guided-card{margin-top:12px;padding:12px;border-left:2px solid var(--warn);background:rgba(232,201,120,.05);border-radius:0 8px 8px 0}.compare-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}.compare-grid>div{padding:13px;background:#0b1216;border:1px solid #202d35;border-radius:9px}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;font-size:11px;color:#80919b}.compare-card{margin-top:14px}

/* Access / auth */
.auth-gate{position:fixed;inset:0;display:none;z-index:9999;background:radial-gradient(circle at 50% 26%,rgba(37,79,103,.24),rgba(4,7,9,.985) 56%);align-items:center;justify-content:center;padding:18px}.auth-gate.show{display:flex}.auth-card{width:min(480px,100%);background:linear-gradient(180deg,#10171c,#0b1115);border:1px solid #2a3a44;border-radius:16px;box-shadow:0 28px 90px rgba(0,0,0,.58);padding:30px}.auth-brand-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.auth-logo{font-size:24px;font-weight:900;letter-spacing:.08em;text-shadow:0 0 12px rgba(159,215,255,.12)}.auth-logo span{color:#82909a;font-weight:500}.auth-card h2{font-size:28px;margin:7px 0 8px}.auth-card p{color:#8997a0;line-height:1.55;margin:0}.auth-card input{margin:0}.support-contact{margin-top:17px;color:#718089;font-size:10px;border-top:1px solid #202c33;padding-top:12px}.access-code-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center}.access-code-row small{display:block;color:#718089;margin-top:5px}.access-code-new{margin-top:14px;padding:15px;background:#0b1519;border:1px solid var(--cold-line);border-radius:9px}.access-code-new b{display:block;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:20px;letter-spacing:.08em;color:#dff3ff;margin:6px 0}.access-code-new small{color:#7d8f99}

/* Toasts */
.toast-stack{position:fixed;right:22px;top:82px;z-index:10000;display:grid;gap:8px;width:min(360px,calc(100vw - 32px));pointer-events:none}.toast{background:#10181d;border:1px solid #2b3c46;border-radius:10px;padding:12px 14px;box-shadow:var(--shadow);color:#dbe6eb;font-size:12px;animation:toastIn .18s ease;pointer-events:auto}.toast.ok{border-color:rgba(118,212,156,.3)}.toast.error{border-color:rgba(241,124,124,.35)}@keyframes toastIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

@media(max-width:1180px){.hero{grid-template-columns:1fr;gap:18px}.hero-search{max-width:760px}.quick-grid{grid-template-columns:1fr 1fr}.nav{grid-template-columns:repeat(3,1fr)}.visual-workspace{grid-template-columns:1fr}.roi-card{min-height:320px}}
@media(max-width:820px){.app-shell{padding:0 16px 45px}.top{height:62px}.version-badge{display:none}.workspace{padding-top:12px}.hero{padding:24px 0 18px}.hero-lead{font-size:13px}.nav{position:static;grid-template-columns:repeat(2,1fr);padding:6px}.nav button{min-height:48px}.grid,.quick-grid,.engineering-grid,.knowledge-tools,.analytics-columns,.access-layout,.form-grid,.passport-kvs,.diag-columns,.visual-analysis-layout,.compare-grid{grid-template-columns:1fr}.passport-head{grid-template-columns:1fr}.passport-stats,.home-metrics,.analytics-grid{grid-template-columns:repeat(2,1fr)}.photo-grid{grid-template-columns:1fr 1fr}.case-row{grid-template-columns:1fr}.visual-finding{grid-template-columns:1fr}.snapshot-row,.support-item,.knowledge-row{display:grid}.search{min-height:54px}.search button{min-width:104px}.global-error:not(:empty){left:16px;right:16px;bottom:16px}.toast-stack{top:70px;right:16px}.top-actions{gap:5px}.top-link{padding:0 8px}.system-status>span{display:none}}
@media(max-width:520px){.app-shell{padding:0 12px 36px}h1{font-size:38px}.hero-search{display:grid;grid-template-columns:1fr}.search{overflow:visible;background:transparent;border:0;box-shadow:none;gap:7px}.search input{min-height:50px;border:1px solid #31414b;border-radius:10px;background:#0f151a}.search button{min-height:46px;border-radius:9px!important}.quick-grid{grid-template-columns:1fr}.item{min-height:110px}.nav{grid-template-columns:1fr 1fr}.nav button small{display:none}.passport-stats,.home-metrics,.analytics-grid{grid-template-columns:1fr 1fr}.photo-grid{grid-template-columns:1fr}.visual-preview img{height:210px}.card{padding:16px}.auth-card{padding:22px}.auth-brand-row{align-items:flex-start;flex-direction:column}.access-code-row{grid-template-columns:1fr auto}.access-code-row button{grid-column:1/-1}.actions button,.choices button{width:100%}}

/* TORNADO 1.4 Knowledge Intelligence + AI Chat */
.chat-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.5fr);gap:14px;align-items:start}.chat-main{padding:0;overflow:hidden}.chat-toolbar{display:grid;grid-template-columns:180px 1fr 1fr auto;gap:10px;padding:14px;border-bottom:1px solid #22313a;background:#0b1217}.chat-toolbar label{margin:0}.chat-messages{height:min(58vh,620px);min-height:420px;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:12px;background:radial-gradient(circle at 20% 0,rgba(116,185,224,.035),transparent 30%),#080d11}.chat-empty{margin:auto;text-align:center;max-width:520px;color:#73838c;display:grid;gap:8px}.chat-empty b{color:#d9e5eb;font-size:18px}.chat-bubble{max-width:82%;padding:13px 14px;border-radius:12px;border:1px solid #25343d;background:#0f161b;box-shadow:0 6px 20px rgba(0,0,0,.12)}.chat-bubble.user{margin-left:auto;background:#111b21;border-color:#30444f}.chat-bubble.assistant{margin-right:auto}.chat-bubble-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px;font-size:10px;letter-spacing:.08em;color:#81919b}.chat-bubble-head b{color:#b9d7e7}.chat-confidence{padding:2px 7px;border-radius:20px;background:rgba(159,215,255,.07);border:1px solid rgba(159,215,255,.12);color:#8db8d0}.chat-text{line-height:1.58;color:#d6e0e5;white-space:normal}.chat-feedback{display:flex;gap:6px;margin-top:10px;padding-top:9px;border-top:1px solid #1d2a31}.chat-compose{padding:14px;border-top:1px solid #22313a;background:#0b1217}.chat-compose textarea{min-height:92px;resize:vertical}.chat-context{position:sticky;top:110px}.chat-context .next{line-height:1.6}.chat-photo-hint{margin-top:8px;padding:9px;border-left:2px solid var(--warn);background:rgba(232,201,120,.05)}.chat-source{padding:11px 0;border-top:1px solid #202c33}.chat-source:first-child{border-top:0}.chat-source b{display:block;color:#dbe7ec}.chat-source small{display:block;color:#70818a;margin:4px 0}.chat-source p{margin:6px 0 0;color:#93a2aa;line-height:1.45;font-size:11px}.knowledge-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:16px}.compact-list{display:grid;gap:7px;margin-top:10px}.admin-row,.candidate-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid #22323b;background:#0b1216;border-radius:8px;padding:10px 11px}.admin-row small,.candidate-row small{display:block;color:#70818a;margin-top:3px}.candidate-row p{margin:6px 0 0;color:#93a2aa;line-height:1.4}.document-admin-row{grid-template-columns:minmax(0,1fr) auto}.danger{border-color:rgba(230,98,98,.24)!important;color:#d98787!important}.state-warn{color:#d4bb74}.admin-only.hide{display:none!important}
@media(max-width:1180px){.chat-layout{grid-template-columns:1fr}.chat-context{position:static}.chat-toolbar{grid-template-columns:1fr 1fr}.knowledge-admin-grid{grid-template-columns:1fr}}
@media(max-width:720px){.chat-toolbar{grid-template-columns:1fr}.chat-messages{min-height:360px;height:52vh}.chat-bubble{max-width:96%}.document-admin-row,.admin-row,.candidate-row{grid-template-columns:1fr}.document-admin-row .choices{justify-content:flex-start}}

/* TORNADO 1.5 unified clients */
.nav{grid-template-columns:repeat(7,minmax(0,1fr))}
.quality-note{margin-top:7px;color:#70818a;font-size:10px}
.telegram-miniapp .app-shell,.android-shell .app-shell,.pwa-shell .app-shell{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));padding-bottom:max(38px,calc(env(safe-area-inset-bottom) + 24px))}
.telegram-miniapp .top,.android-shell .top,.pwa-shell .top{padding-top:env(safe-area-inset-top);height:calc(64px + env(safe-area-inset-top))}
.telegram-miniapp .workspace,.android-shell .workspace{padding-top:10px}
.telegram-miniapp .hero,.android-shell .hero{padding-top:18px}
.telegram-miniapp .nav,.android-shell .nav{overflow-x:auto;display:flex;scrollbar-width:none;position:sticky;top:calc(68px + env(safe-area-inset-top));padding:6px;gap:6px}
.telegram-miniapp .nav::-webkit-scrollbar,.android-shell .nav::-webkit-scrollbar{display:none}
.telegram-miniapp .nav button,.android-shell .nav button{min-width:132px;flex:0 0 auto}
.telegram-miniapp input,.telegram-miniapp textarea,.telegram-miniapp select,.android-shell input,.android-shell textarea,.android-shell select{font-size:16px}
.telegram-miniapp .chat-messages,.android-shell .chat-messages{height:52vh;min-height:320px}
@media(max-width:1180px){.nav{grid-template-columns:repeat(4,1fr)}}
@media(max-width:820px){.nav{grid-template-columns:repeat(2,1fr)}}
.chat-thinking{display:flex;align-items:center;gap:6px;min-width:120px}.chat-thinking b{font-size:10px;color:#b9d7e7;margin-right:6px}.chat-thinking span{width:6px;height:6px;border-radius:50%;background:#7fa9bf;animation:tornadoThink 1s infinite ease-in-out}.chat-thinking span:nth-child(2){animation-delay:.12s}.chat-thinking span:nth-child(3){animation-delay:.24s}@keyframes tornadoThink{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}

/* ============================================================
   TORNADO LABS 1.5.1 — Minimal Red Tactical UI
   Desktop + Mobile + Telegram Mini App
   ============================================================ */
:root{--red:#ff3038;--red-2:#c8141d;--red-soft:rgba(255,48,56,.12);--red-line:rgba(255,48,56,.42);--graphite:#0a0b0d;--graphite-2:#0f1114;--graphite-3:#15181c}
body{background:radial-gradient(circle at 72% 5%,rgba(130,8,15,.20),transparent 30%),linear-gradient(180deg,#070809 0%,#0a0b0d 54%,#070809 100%)}
body::before{background-image:linear-gradient(rgba(255,48,56,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,48,56,.012) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,#000,transparent 88%)}
.app-shell{width:min(1500px,100%)}
.top{border-bottom-color:rgba(255,48,56,.13);background:rgba(7,8,9,.90)}
.logo span{color:#ff4a50}.logo-button:hover{background:rgba(255,48,56,.04);text-shadow:0 0 13px rgba(255,48,56,.32)}
.version-badge,.security-chip,.step-chip{border-color:rgba(255,48,56,.25);color:#e59da0;background:rgba(255,48,56,.035)}
.system-status.online i,.online i{background:var(--red);box-shadow:0 0 12px rgba(255,48,56,.45)}
.mobile-menu-toggle{display:none;background:transparent;color:#fff;border:1px solid #292b30;width:36px;height:36px;font-size:16px}
.tactical-hero{position:relative;min-height:360px;grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);align-items:center;padding:46px 0 36px;border-bottom:1px solid rgba(255,48,56,.10);overflow:hidden}
.tactical-hero::after{content:"";position:absolute;right:-4%;top:4%;width:62%;height:92%;background:radial-gradient(ellipse at center,rgba(255,48,56,.10),transparent 58%);pointer-events:none}
.tactical-hero .hero-copy{position:relative;z-index:2}.tactical-hero .k,.sect{color:#cc5d62}.tactical-hero h1{font-size:clamp(48px,5.5vw,82px);max-width:700px}.tactical-hero .hero-search{max-width:740px;margin-top:26px}
.search{border-color:#292c31;background:rgba(16,18,21,.92)}.search:focus-within{border-color:var(--red-line);box-shadow:0 0 0 3px rgba(255,48,56,.06)}
button.primary,.actions button:not(.ghost),.choices button:not(.ghost),.search button,.home-primary-action{background:linear-gradient(135deg,#ff353d,#d51922);border-color:#ff5960;color:white;box-shadow:0 10px 30px rgba(180,8,16,.18)}
button.primary:hover,.actions button:not(.ghost):hover,.choices button:not(.ghost):hover,.search button:hover,.home-primary-action:hover{background:linear-gradient(135deg,#ff4b52,#e8242d);border-color:#ff777b;box-shadow:0 0 26px rgba(255,48,56,.22)}
.hero-projection{position:relative;height:300px;border-radius:26px;overflow:hidden;background:linear-gradient(180deg,rgba(16,18,21,.18),rgba(8,9,11,.65));border:1px solid rgba(255,48,56,.12)}
.hero-projection::before{content:"";position:absolute;inset:0;background:repeating-radial-gradient(ellipse at 62% 56%,transparent 0 22px,rgba(255,48,56,.11) 23px 24px,transparent 25px 44px);opacity:.50;transform:rotate(-8deg) scale(1.45)}
.hero-projection::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 44%,rgba(255,48,56,.04) 45% 46%,transparent 47%),linear-gradient(0deg,transparent 0 52%,rgba(255,48,56,.03) 53% 54%,transparent 55%)}
.projection-core{position:absolute;left:68%;top:50%;width:12px;height:12px;border-radius:50%;background:var(--red);box-shadow:0 0 20px 7px rgba(255,48,56,.32);z-index:3}
.projection-orbit{position:absolute;border:1px solid rgba(255,48,56,.22);border-radius:50%;left:68%;top:50%;transform:translate(-50%,-50%)}.o1{width:72px;height:72px}.o2{width:148px;height:148px}.o3{width:238px;height:238px}
.projection-ridge{position:absolute;left:8%;right:4%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,48,56,.12),rgba(255,48,56,.52),rgba(255,48,56,.10),transparent);transform-origin:left center}.r1{bottom:28%;transform:rotate(-8deg)}.r2{bottom:38%;transform:rotate(6deg)}.r3{bottom:17%;transform:rotate(1deg)}
.hero-projection>span{position:absolute;right:24px;bottom:20px;color:#8a696b;font-size:9px;letter-spacing:.24em;z-index:4}
.nav{border-color:rgba(255,48,56,.10);background:rgba(9,10,12,.9)}.nav button:hover{background:rgba(255,48,56,.035);border-color:rgba(255,48,56,.15)}.nav button.active{background:linear-gradient(180deg,rgba(255,48,56,.11),rgba(255,48,56,.035));border-color:rgba(255,48,56,.35);box-shadow:inset 0 -2px rgba(255,48,56,.70);color:#fff}.nav button.active small{color:#d8797d}
.home-command-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:4px 0 14px}.command-card{min-height:172px;text-align:left;padding:22px;background:linear-gradient(160deg,#111316,#0c0e10);border:1px solid #292c31;color:white;border-radius:18px;display:flex;flex-direction:column;transition:.18s ease}.command-card:hover{transform:translateY(-2px);border-color:rgba(255,48,56,.32);box-shadow:0 18px 44px rgba(0,0,0,.28),0 0 24px rgba(255,48,56,.04)}.command-card.red-focus{border-color:rgba(255,48,56,.46);box-shadow:inset 0 0 28px rgba(255,48,56,.04)}.command-icon{width:48px;height:48px;border-radius:14px;background:rgba(255,48,56,.10);border:1px solid rgba(255,48,56,.18);color:var(--red);display:grid;place-items:center;font-size:24px;margin-bottom:24px}.command-card b{font-size:18px}.command-card small{color:#858990;margin-top:7px;line-height:1.45}.command-card em{font-style:normal;color:#d75b60;font-size:10px;margin-top:auto;padding-top:18px;font-weight:800}
.home-primary-action{width:100%;min-height:78px;border-radius:18px;margin:2px 0 16px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;text-align:left;padding:0 26px;font-size:18px}.home-primary-action span{font-size:25px}.home-primary-action i{font-style:normal;font-size:26px}.home-primary-action b{font-size:18px}.activity-head{margin-top:22px}.home-secondary-grid .item{min-height:108px}
.home-metrics{border-color:rgba(255,48,56,.09)!important;background:#0d0f11!important}.home-metrics b{color:#fff!important}.home-metrics span{color:#777d84!important}.card,.row,.progress-card,.diag{border-color:#24282d;background:linear-gradient(180deg,rgba(17,19,22,.98),rgba(12,14,16,.98))}.card:hover{border-color:rgba(255,48,56,.16)}.item{border-color:#262a2f;background:linear-gradient(180deg,#111315,#0d0f11)}.item:hover{border-color:rgba(255,48,56,.25);box-shadow:0 12px 30px rgba(0,0,0,.25),0 0 18px rgba(255,48,56,.03)}.item em{color:#d85b60}.tag{border-color:#303238}.empty-icon{background:var(--red-soft);border-color:var(--red-line);color:var(--red)}button.click-pulse::after{border-color:rgba(255,48,56,.65)}
.mobile-bottom-nav{display:none}
@media(min-width:1181px){.workspace{display:grid;grid-template-columns:210px minmax(0,1fr);grid-template-areas:"hero hero" "nav content";gap:0 22px}.hero{grid-area:hero}.nav{grid-area:nav;display:flex;flex-direction:column;position:sticky;top:92px;height:max-content;padding:8px}.content-shell{grid-area:content;min-width:0}.nav button{width:100%;min-height:62px}.nav button span{font-size:11px}.nav button small{display:block}}
@media(max-width:1180px){.tactical-hero{grid-template-columns:1fr;min-height:0}.hero-projection{height:220px}.home-command-grid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){body{padding-bottom:88px}.app-shell{padding:0 14px 110px}.top{height:64px}.mobile-menu-toggle{display:grid;place-items:center}.top-actions .system-status,.top-actions .top-link{display:none}.workspace{padding-top:4px}.tactical-hero{padding:26px 0 20px;border-bottom:0;display:block}.tactical-hero h1{font-size:42px;line-height:1.03;margin-top:14px}.tactical-hero .hero-lead{font-size:13px;max-width:420px}.tactical-hero .hero-search{margin-top:20px}.hero-projection{height:160px;margin-top:18px;border-radius:18px}.hero-projection>span{font-size:8px;right:14px;bottom:13px}.nav{position:fixed!important;left:14px;right:14px;bottom:92px;top:auto!important;z-index:500;display:none!important;grid-template-columns:1fr 1fr!important;max-height:62vh;overflow:auto!important;padding:10px!important;background:rgba(11,12,14,.97)!important;border:1px solid rgba(255,48,56,.22)!important;box-shadow:0 24px 70px rgba(0,0,0,.65);border-radius:18px!important}.mobile-menu-open .nav{display:grid!important}.nav button{min-width:0!important;min-height:58px!important}.nav button small{display:block!important}.home-command-grid{grid-template-columns:1fr 1fr;gap:10px}.command-card{min-height:150px;padding:17px;border-radius:16px}.command-icon{width:42px;height:42px;margin-bottom:18px}.command-card b{font-size:16px}.command-card small{font-size:11px}.home-primary-action{min-height:66px;border-radius:15px;padding:0 18px}.home-primary-action b{font-size:16px}.home-secondary-grid{grid-template-columns:1fr 1fr!important}.home-secondary-grid .item{min-height:100px;padding:15px}.mobile-bottom-nav{display:grid;position:fixed;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));height:72px;grid-template-columns:1fr 1fr 72px 1fr 1fr;align-items:center;padding:6px 8px;background:rgba(12,13,15,.96);border:1px solid #2a2d32;border-radius:24px;z-index:700;box-shadow:0 20px 60px rgba(0,0,0,.62);backdrop-filter:blur(18px)}.mobile-bottom-nav button{height:58px;background:transparent;border:0;color:#777d84;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;overflow:visible}.mobile-bottom-nav button span{font-size:20px}.mobile-bottom-nav button small{font-size:8px;font-weight:800}.mobile-bottom-nav button.active{color:var(--red)}.mobile-bottom-nav .mobile-scan{width:62px;height:62px;border-radius:50%;justify-self:center;background:radial-gradient(circle,#ff3f46,#b80f17);color:#fff;border:1px solid #ff6268;box-shadow:0 0 22px rgba(255,48,56,.28);transform:translateY(-12px)}.mobile-bottom-nav .mobile-scan span{font-size:29px}.telegram-miniapp .nav,.android-shell .nav{position:fixed!important;top:auto!important;overflow:auto;display:none!important}.telegram-miniapp.mobile-menu-open .nav,.android-shell.mobile-menu-open .nav{display:grid!important}}
@media(max-width:520px){.app-shell{padding-left:12px;padding-right:12px}.logo{font-size:16px}.tactical-hero h1{font-size:37px}.hero-projection{height:145px}.home-command-grid{grid-template-columns:1fr 1fr}.command-card{min-height:138px;padding:15px}.command-card small{line-height:1.35}.home-secondary-grid{grid-template-columns:1fr 1fr!important}.home-metrics{grid-template-columns:1fr 1fr!important}.card{border-radius:14px}.panel-head{margin-top:14px}}


/* TORNADO LABS 1.5.2 — immersive AI chat */
.chat-panel{position:relative;min-width:0}
.chat-panel-head{margin-bottom:10px}.chat-status-card{padding:11px 14px;margin-bottom:10px}.chat-status-card .card-title-row{align-items:center}.chat-status-card .big{font-size:15px}.chat-status-card .next{margin-top:5px;font-size:10px;line-height:1.4;color:#7f858b}
.chat-shell{min-width:0}.chat-main{padding:0;overflow:hidden;min-height:calc(100vh - 205px);display:flex;flex-direction:column;border-color:rgba(255,48,56,.13)}
.chat-toolbar{display:grid;grid-template-columns:150px minmax(160px,1fr) minmax(180px,1fr) auto;gap:9px;padding:11px 12px;border-bottom:1px solid #24282d;background:rgba(11,12,14,.97);position:sticky;top:0;z-index:6}.chat-toolbar label{margin:0;font-size:9px;color:#777d84}.chat-toolbar select{margin-top:4px}.chat-toolbar-actions{display:flex;align-items:end;gap:7px;flex-wrap:wrap}.chat-toolbar-actions button{min-height:40px;white-space:nowrap}
.chat-messages{height:auto;min-height:520px;flex:1;overflow:auto;padding:24px clamp(18px,3vw,42px);display:flex;flex-direction:column;gap:12px;background:radial-gradient(circle at 45% 0,rgba(255,48,56,.028),transparent 34%),#08090b;scrollbar-gutter:stable}.chat-empty{margin:auto;text-align:center;max-width:620px;color:#737a81;display:grid;gap:10px;padding:40px 20px}.chat-empty b{color:#f1f2f3;font-size:20px}.chat-empty span{line-height:1.6}
.chat-bubble{max-width:min(82%,860px);padding:14px 16px;border-radius:14px;border:1px solid #292d32;background:#101214;box-shadow:0 8px 26px rgba(0,0,0,.14)}.chat-bubble.user{margin-left:auto;background:#151113;border-color:rgba(255,48,56,.22)}.chat-bubble.assistant{margin-right:auto}.chat-bubble-head b{color:#f0f1f2}.chat-confidence{background:rgba(255,48,56,.06);border-color:rgba(255,48,56,.16);color:#d6777b}
.chat-compose{position:sticky;bottom:0;z-index:7;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid #282c31;background:rgba(10,11,13,.97);backdrop-filter:blur(16px)}.chat-compose-tools{display:flex;gap:6px;align-items:center}.chat-tool{min-height:48px;padding:0 13px;white-space:nowrap}.chat-compose textarea{width:100%;min-height:48px;max-height:160px;resize:none;padding:13px 14px;border:1px solid #30343a;border-radius:13px;background:#111316;color:#f1f2f3;line-height:1.45;overflow-y:auto}.chat-compose textarea:focus{border-color:rgba(255,48,56,.48);box-shadow:0 0 0 3px rgba(255,48,56,.06)}.chat-send{min-height:48px;padding:0 18px;border-radius:12px!important;white-space:nowrap}
.chat-context-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.46);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:.18s ease;z-index:1180}.chat-context-backdrop.open{opacity:1;visibility:visible}.chat-context{position:fixed!important;top:76px!important;right:18px;bottom:18px;width:min(420px,calc(100vw - 36px));margin:0!important;z-index:1190;overflow:auto;transform:translateX(calc(100% + 36px));opacity:0;transition:transform .2s ease,opacity .2s ease;box-shadow:0 28px 80px rgba(0,0,0,.55);border-color:rgba(255,48,56,.20)}.chat-context.open{transform:none;opacity:1}.chat-context-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:12px;border-bottom:1px solid #262a2f}.chat-context-close{width:38px;height:38px;padding:0!important;font-size:22px}.chat-context-open{overflow:hidden}
@media(min-width:1181px){body[data-section="chat"] .content-shell{min-width:0}body[data-section="chat"] #chat{width:100%}body[data-section="chat"] .workspace{grid-template-columns:184px minmax(0,1fr);gap:0 16px}body[data-section="chat"] .nav{width:184px}}
@media(max-width:1180px){.chat-toolbar{grid-template-columns:150px 1fr 1fr}.chat-toolbar-actions{grid-column:1/-1}.chat-main{min-height:calc(100dvh - 190px)}}
@media(max-width:820px){body[data-section="chat"]{padding-bottom:0}body[data-section="chat"] .app-shell{padding-bottom:90px}body[data-section="chat"] .panel-head{margin-top:8px}body[data-section="chat"] .chat-status-card{display:none}.chat-main{min-height:calc(100dvh - 152px);border-radius:14px}.chat-toolbar{position:relative;grid-template-columns:1fr 1fr;padding:9px}.chat-toolbar label:first-child{grid-column:1/2}.chat-toolbar label:nth-child(2){grid-column:2/3}.chat-toolbar label:nth-child(3){grid-column:1/-1}.chat-toolbar-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr}.chat-toolbar-actions button{padding:0 8px;font-size:8px}.chat-messages{min-height:360px;padding:16px 12px 20px}.chat-bubble{max-width:92%}.chat-compose{grid-template-columns:auto minmax(0,1fr) auto;padding:8px}.chat-compose-tools{gap:4px}.chat-tool{width:46px;min-width:46px;padding:0;font-size:0}.chat-tool:first-child::after{content:"＋";font-size:20px}.chat-tool#teachButton::after{content:"AI";font-size:10px}.chat-send{width:48px;min-width:48px;padding:0;font-size:0}.chat-send::after{content:"➤";font-size:18px}.chat-context{top:68px!important;left:10px;right:10px;bottom:92px;width:auto;transform:translateY(calc(100% + 110px))}.chat-context.open{transform:none}.chat-panel-head p{display:none}}
@media(max-width:520px){.chat-panel-head .sect{font-size:10px}.chat-toolbar{grid-template-columns:1fr 1fr}.chat-toolbar-actions{gap:5px}.chat-toolbar-actions button{min-height:36px}.chat-messages{padding-left:10px;padding-right:10px}.chat-empty b{font-size:18px}.chat-compose textarea{font-size:14px}.chat-feedback{flex-wrap:wrap}}

/* TORNADO LABS 1.5.3 — chat visual polish */
body[data-section="chat"] .chat-panel-head{margin-bottom:8px}
body[data-section="chat"] .chat-panel-head .sect{color:#ff4a50}
body[data-section="chat"] .chat-panel-head p{color:#777d84;max-width:760px}
body[data-section="chat"] .chat-status-card{margin-top:0;padding:10px 14px;background:linear-gradient(180deg,#101114,#0c0d0f);border-color:rgba(255,48,56,.18);box-shadow:inset 3px 0 0 rgba(255,48,56,.72)}
body[data-section="chat"] .chat-status-card:hover{border-color:rgba(255,48,56,.22)}
body[data-section="chat"] .chat-status-card .label{color:#9a8b8c}
body[data-section="chat"] .chat-status-card .big{font-size:14px;letter-spacing:.02em;color:#f4f4f5}
body[data-section="chat"] .chat-status-card .next{color:#73777d;max-width:980px}
body[data-section="chat"] .chat-status-card .state-warn{color:#ffb6b8;border-color:rgba(255,48,56,.24);background:rgba(255,48,56,.055)}
body[data-section="chat"] .chat-status-card .state-ok{color:#b7e9c8}

body[data-section="chat"] .chat-main{background:#090a0c;border:1px solid #25282d;box-shadow:0 18px 42px rgba(0,0,0,.24)}
body[data-section="chat"] .chat-toolbar{grid-template-columns:140px minmax(180px,.9fr) minmax(220px,1.1fr) auto;gap:10px;padding:12px 13px;background:linear-gradient(180deg,#0f1012,#0b0c0e);border-bottom-color:#25272b}
body[data-section="chat"] .chat-toolbar label{display:grid;gap:5px;color:#777b81;font-size:8px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
body[data-section="chat"] .chat-toolbar select{
  appearance:none;-webkit-appearance:none;width:100%;min-height:40px;margin:0;
  color:#f4f4f5;background-color:#111316;border:1px solid #30343a;border-radius:10px;
  padding:0 38px 0 12px;font-size:11px;font-weight:750;letter-spacing:.01em;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,#8b8f95 50%),linear-gradient(135deg,#8b8f95 50%,transparent 50%);
  background-position:calc(100% - 16px) 17px,calc(100% - 11px) 17px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;
  transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;color-scheme:dark
}
body[data-section="chat"] .chat-toolbar select:hover{background-color:#15171a;border-color:#44484e}
body[data-section="chat"] .chat-toolbar select:focus{outline:0;border-color:rgba(255,48,56,.62);box-shadow:0 0 0 3px rgba(255,48,56,.07)}
body[data-section="chat"] .chat-toolbar select option{background:#111316;color:#f4f4f5}
body[data-section="chat"] .chat-toolbar-actions{display:flex;align-items:end;gap:7px;flex-wrap:nowrap}
body[data-section="chat"] .chat-toolbar-actions button{min-height:40px;padding:0 12px!important;border-radius:10px!important;background:#141619!important;border-color:#30343a!important;color:#d8dade!important;font-size:9px;letter-spacing:.045em}
body[data-section="chat"] .chat-toolbar-actions button:hover{background:#181a1e!important;border-color:rgba(255,48,56,.35)!important;color:#fff!important;box-shadow:0 0 0 2px rgba(255,48,56,.035)}
body[data-section="chat"] #chatSourcesButton{border-color:rgba(255,48,56,.26)!important;color:#f1d9da!important}

body[data-section="chat"] .chat-messages{background:radial-gradient(circle at 50% -10%,rgba(255,48,56,.035),transparent 36%),linear-gradient(180deg,#08090b,#090a0c);padding-top:30px}
body[data-section="chat"] .chat-empty{max-width:560px}
body[data-section="chat"] .chat-empty b{font-size:18px;letter-spacing:-.01em}
body[data-section="chat"] .chat-empty span{font-size:11px;color:#6f747a}
body[data-section="chat"] .chat-bubble{border-color:#292c31;background:#101214}
body[data-section="chat"] .chat-bubble.user{background:#181113;border-color:rgba(255,48,56,.28);box-shadow:0 8px 28px rgba(102,0,5,.08)}
body[data-section="chat"] .chat-bubble.assistant{background:#101214}

body[data-section="chat"] .chat-compose{background:linear-gradient(180deg,rgba(13,14,16,.97),rgba(10,11,13,.99));border-top-color:#292c31;padding:10px 12px 11px}
body[data-section="chat"] .chat-tool{background:#15171a!important;border-color:#30343a!important;color:#d7d9dc!important;border-radius:11px!important}
body[data-section="chat"] .chat-tool:hover{border-color:rgba(255,48,56,.38)!important;background:#191b1f!important}
body[data-section="chat"] .chat-compose textarea{background:#111316;border-color:#30343a;color:#f3f4f5;box-shadow:inset 0 1px rgba(255,255,255,.012)}
body[data-section="chat"] .chat-compose textarea::placeholder{color:#666b71}
body[data-section="chat"] .chat-send{background:linear-gradient(180deg,#ff3a41,#d91c24)!important;border-color:#ff5157!important;color:#fff!important;box-shadow:0 8px 24px rgba(189,17,25,.16)}
body[data-section="chat"] .chat-send:hover{background:linear-gradient(180deg,#ff4b51,#e2232b)!important;box-shadow:0 10px 28px rgba(214,22,31,.22)!important}

body[data-section="chat"] .chat-context{background:linear-gradient(180deg,#111316,#0d0f11);border-color:rgba(255,48,56,.22)}
body[data-section="chat"] .chat-context-head{border-bottom-color:#292c31}
body[data-section="chat"] .chat-source{border-top-color:#25282d}

@media(max-width:1180px){body[data-section="chat"] .chat-toolbar{grid-template-columns:140px 1fr 1fr}body[data-section="chat"] .chat-toolbar-actions{grid-column:1/-1;justify-content:flex-end}}
@media(max-width:820px){
  body[data-section="chat"] .chat-panel-head{display:none}
  body[data-section="chat"] .chat-toolbar{grid-template-columns:1fr 1fr;gap:8px;padding:9px;background:#0d0f11}
  body[data-section="chat"] .chat-toolbar label{font-size:7px}
  body[data-section="chat"] .chat-toolbar label:nth-child(3){grid-column:1/-1}
  body[data-section="chat"] .chat-toolbar-actions{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:6px;justify-content:stretch}
  body[data-section="chat"] .chat-toolbar-actions button{min-height:38px;padding:0 8px!important;font-size:7.5px}
  body[data-section="chat"] .chat-toolbar select{min-height:40px;font-size:10px}
  body[data-section="chat"] .chat-messages{padding-top:20px}
}
@media(max-width:520px){
  body[data-section="chat"] .chat-toolbar{grid-template-columns:1fr 1fr}
  body[data-section="chat"] .chat-toolbar-actions{grid-template-columns:1fr 1fr 1fr}
  body[data-section="chat"] .chat-toolbar-actions button{font-size:7px;padding:0 5px!important}
  body[data-section="chat"] .chat-empty span{font-size:10px}
}
