:root{--bg:#06111d;--panel:#0b1d2d;--panel2:#10273a;--line:rgba(112,217,255,.22);--cyan:#56ddff;--blue:#4b7dff;--green:#62e6a7;--amber:#ffc766;--red:#ff7d88;--text:#edf9ff;--muted:#91a9ba;--shadow:0 22px 70px rgba(0,0,0,.35)}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:radial-gradient(circle at 82% 6%,rgba(28,104,165,.24),transparent 30%),linear-gradient(140deg,#04101a,#081827 55%,#06111d);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}
a{color:inherit} button,input,select{font:inherit} button{cursor:pointer}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;background:rgba(5,16,27,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px} .logo{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;font-weight:900;background:linear-gradient(145deg,var(--cyan),var(--blue));box-shadow:0 0 30px rgba(86,221,255,.35)} .brand strong{display:block;letter-spacing:.14em} .brand small{color:var(--muted)}
.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap} .btn{border:1px solid var(--line);background:rgba(255,255,255,.045);color:var(--text);padding:10px 13px;border-radius:12px;transition:.2s} .btn:hover{transform:translateY(-1px);border-color:rgba(86,221,255,.55)} .btn.primary{background:linear-gradient(135deg,#167ba0,#3557dc);border-color:transparent} .btn.danger{border-color:rgba(255,125,136,.35);color:#ffd2d7}
.shell{display:grid;grid-template-columns:360px minmax(0,1fr);gap:18px;padding:18px;max-width:1600px;margin:0 auto}
.assistant{position:sticky;top:89px;height:calc(100vh - 108px);border:1px solid var(--line);background:linear-gradient(180deg,rgba(8,29,45,.94),rgba(5,18,29,.96));border-radius:26px;overflow:hidden;box-shadow:var(--shadow)}
.assistant-head{padding:18px 18px 10px;display:flex;justify-content:space-between;align-items:flex-start} .eyebrow{font-size:11px;letter-spacing:.16em;color:var(--cyan);font-weight:800;text-transform:uppercase} h1,h2,h3,p{margin-top:0} .assistant h2{margin:4px 0 0;font-size:22px} .status-dot{display:inline-flex;align-items:center;gap:7px;color:var(--green);font-size:12px} .status-dot:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 18px var(--green)}
.holo-stage{position:relative;margin:4px 14px 12px;height:53%;min-height:340px;border:1px solid rgba(86,221,255,.18);border-radius:22px;overflow:hidden;background:radial-gradient(circle at 50% 65%,rgba(35,155,210,.22),transparent 40%),linear-gradient(180deg,rgba(7,25,39,.6),rgba(4,12,20,.94))}
.holo-stage:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(86,221,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(86,221,255,.04) 1px,transparent 1px);background-size:24px 24px;mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent);animation:gridMove 12s linear infinite} @keyframes gridMove{to{background-position:0 120px,120px 0}}
.holo-image{position:absolute;inset:10px 12px 52px;width:calc(100% - 24px);height:calc(100% - 62px);object-fit:contain;filter:saturate(1.18) contrast(1.05) drop-shadow(0 0 18px rgba(50,190,255,.45));z-index:2} .scan-line{position:absolute;left:12%;right:12%;height:2px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);box-shadow:0 0 16px var(--cyan);animation:scan 3.4s ease-in-out infinite;z-index:3} @keyframes scan{0%,100%{top:12%;opacity:.3}50%{top:78%;opacity:1}}
.rings{position:absolute;left:50%;bottom:18px;width:210px;height:58px;transform:translateX(-50%);border:2px solid rgba(86,221,255,.55);border-radius:50%;box-shadow:0 0 26px rgba(86,221,255,.3);z-index:1} .rings:before,.rings:after{content:"";position:absolute;border:1px solid rgba(86,221,255,.42);border-radius:50%;inset:8px} .rings:after{inset:17px}
.holo-badge{position:absolute;z-index:4;padding:7px 9px;border:1px solid rgba(86,221,255,.45);background:rgba(5,26,41,.72);border-radius:10px;font-size:10px;color:#bff5ff;backdrop-filter:blur(8px)} .hb1{left:10px;top:18%} .hb2{right:10px;top:34%} .hb3{left:14px;bottom:70px}
.assistant-copy{padding:0 16px 16px} .speech{min-height:78px;padding:13px;border:1px solid var(--line);background:rgba(255,255,255,.035);border-radius:14px;color:#d9f5ff;line-height:1.45} .assistant-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.main{min-width:0} .hero{border:1px solid var(--line);background:linear-gradient(135deg,rgba(20,55,79,.84),rgba(8,24,38,.92));border-radius:26px;padding:24px;box-shadow:var(--shadow);display:flex;justify-content:space-between;gap:24px;align-items:center} .hero h1{font-size:clamp(28px,4vw,48px);margin:5px 0 10px} .hero p{max-width:850px;color:#b9ceda;line-height:1.6;margin-bottom:0} .mode{min-width:210px;border:1px solid var(--line);border-radius:18px;padding:14px;background:rgba(0,0,0,.18)} .mode strong{display:block;margin-bottom:5px} .mode span{color:var(--green);font-size:12px}
.grid{display:grid;gap:14px} .kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin:14px 0} .card{border:1px solid var(--line);background:linear-gradient(180deg,rgba(11,29,45,.94),rgba(7,21,34,.96));border-radius:20px;box-shadow:0 16px 44px rgba(0,0,0,.2)} .pad{padding:18px} .kpi{padding:16px} .kpi small{color:var(--muted)} .kpi strong{display:block;font-size:27px;margin:8px 0 4px} .kpi em{font-style:normal;font-size:12px;color:var(--cyan)}
.tabs{display:flex;gap:8px;overflow:auto;padding:8px;margin:14px 0;border:1px solid var(--line);border-radius:16px;background:rgba(6,18,29,.75)} .tab{white-space:nowrap;border:0;background:transparent;color:var(--muted);padding:11px 14px;border-radius:11px} .tab.active{background:linear-gradient(135deg,rgba(40,148,189,.35),rgba(54,87,215,.32));color:white}
.panel{display:none} .panel.active{display:block} .section-grid{grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr)} .card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px;border-bottom:1px solid var(--line)} .card-head h3{margin:0 0 5px} .card-head p{margin:0;color:var(--muted);font-size:13px} .card-body{padding:18px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px} label{display:grid;gap:6px;color:#b9cfdb;font-size:12px} input,select{width:100%;border:1px solid rgba(111,193,224,.24);background:#071724;color:var(--text);padding:11px 12px;border-radius:11px;outline:none} input:focus,select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(86,221,255,.1)} .full{grid-column:1/-1} .note{padding:12px 13px;border-left:3px solid var(--cyan);background:rgba(86,221,255,.06);border-radius:10px;color:#bcd5e1;font-size:13px;line-height:1.5} .warning{border-left-color:var(--amber);background:rgba(255,199,102,.065)} .critical{border-left-color:var(--red);background:rgba(255,125,136,.065)}
.metric-list{display:grid;gap:9px} .metric-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:11px 0;border-bottom:1px solid rgba(112,217,255,.1)} .metric-row:last-child{border:0} .metric-row span{color:var(--muted)} .pill{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid var(--line);border-radius:999px;font-size:11px;color:#d6f5ff} .pill.good{color:var(--green)} .pill.review{color:var(--amber)}
.table-wrap{overflow:auto} table{width:100%;border-collapse:collapse;min-width:720px} th,td{text-align:left;padding:11px 12px;border-bottom:1px solid rgba(112,217,255,.1);font-size:12px} th{color:#86cfe8;text-transform:uppercase;letter-spacing:.08em} td{color:#dcecf4} .row-actions{display:flex;gap:6px}
.bar{height:8px;background:rgba(255,255,255,.07);border-radius:999px;overflow:hidden} .bar span{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--blue));border-radius:inherit} .summary-list{display:grid;gap:10px} .summary-item{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid rgba(112,217,255,.12);border-radius:13px;background:rgba(255,255,255,.025)} .summary-icon{width:28px;height:28px;border-radius:9px;background:rgba(86,221,255,.12);display:grid;place-items:center;color:var(--cyan);flex:0 0 auto}
.chart{height:240px;border:1px solid rgba(112,217,255,.12);border-radius:14px;background:linear-gradient(rgba(86,221,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(86,221,255,.04) 1px,transparent 1px);background-size:32px 32px;overflow:hidden} .chart svg{width:100%;height:100%} .audit{max-height:310px;overflow:auto} .audit-item{padding:11px 0;border-bottom:1px solid rgba(112,217,255,.1)} .audit-item strong{display:block;font-size:12px} .audit-item small{color:var(--muted)}
.device-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px} .device{padding:14px;border:1px solid rgba(112,217,255,.15);border-radius:14px;background:rgba(255,255,255,.025)} .device strong{display:block;margin-bottom:6px} .device small{color:var(--muted);display:block;min-height:34px} .device .btn{width:100%;margin-top:10px}
.footer{padding:22px;text-align:center;color:var(--muted);font-size:12px}
.hidden{display:none!important} .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1100px){.shell{grid-template-columns:1fr}.assistant{position:relative;top:auto;height:auto}.holo-stage{height:520px}.kpis{grid-template-columns:repeat(2,1fr)}.section-grid{grid-template-columns:1fr}}
@media(max-width:680px){.topbar{padding:12px}.brand small,.actions .back-label{display:none}.shell{padding:10px}.hero{padding:18px;align-items:flex-start;flex-direction:column}.mode{width:100%}.kpis{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.device-grid{grid-template-columns:1fr}.holo-stage{height:440px}}
@media print{body{background:white;color:#111}.topbar,.assistant,.tabs,.actions,.btn{display:none!important}.shell{display:block;max-width:none;padding:0}.card,.hero{box-shadow:none;background:white;border-color:#ccc;color:#111}.panel{display:block!important;page-break-inside:avoid}}