:root{
--bg:#08121f;--bg-soft:#0d1a2a;--panel:#101f31;--panel-2:#14283d;--line:rgba(160,190,220,.14);--text:#edf5fb;--muted:#8fa5ba;--cyan:#53d8e5;--blue:#75a7ff;--purple:#b18bff;--orange:#ffb461;--green:#50d7a2;--red:#ff7186;--shadow:0 18px 50px rgba(0,0,0,.18);--radius:18px}
[data-theme="light"]{--bg:#f2f6fb;--bg-soft:#fff;--panel:#fff;--panel-2:#f5f8fc;--line:#dbe5ee;--text:#14263a;--muted:#698096;--shadow:0 18px 50px rgba(26,64,100,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.55 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,strong,.brand-mark{font-family:'Space Grotesk',sans-serif}h1,h2,h3,p{margin-top:0}.muted{color:var(--muted)}.eyebrow,.topbar-kicker,.sidebar-caption,.nav-label{font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--muted)}.eyebrow{margin-bottom:8px;color:var(--cyan)}
.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:linear-gradient(180deg,#0a1726,#0b1a2b);border-right:1px solid var(--line);padding:25px 16px;display:flex;flex-direction:column;z-index:20}.sidebar-brand{display:flex;align-items:center;justify-content:space-between;padding:0 10px 34px}.brand-mark{display:flex;align-items:center;gap:9px;font-size:20px;letter-spacing:.08em}.brand-mark span{display:grid;place-items:center;width:28px;height:28px;color:#08121f;background:var(--cyan);border-radius:9px;font-size:14px}.brand-mark.light span{background:#fff}.sidebar-caption{padding:0 12px 14px;font-size:9px;color:#5f8199}.nav-stack{display:flex;flex-direction:column;gap:4px}.nav-label{padding:21px 13px 6px;font-size:9px}.nav-item{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:11px;color:#96adbf;transition:.2s}.nav-item span{width:18px;text-align:center;font-size:17px;color:#628399}.nav-item:hover{background:rgba(255,255,255,.06);color:#fff}.nav-item.active{background:linear-gradient(90deg,rgba(83,216,229,.19),rgba(83,216,229,.04));color:#f4fcff}.nav-item.active span{color:var(--cyan)}.sidebar-bottom{margin-top:auto}.safety-note{display:flex;gap:10px;align-items:center;padding:14px 12px;margin:20px 0;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.03)}.safety-note b,.safety-note small{display:block}.safety-note small{font-size:11px;color:var(--muted)}.status-dot,.pulse{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(80,215,162,.12);flex:0 0 auto}.logout{border-top:1px solid var(--line);border-radius:0;padding-top:17px}.app-main{margin-left:250px;min-height:100vh}.content-wrap{max-width:1640px;margin:auto;padding:0 34px 50px}.topbar{min-height:96px;padding:25px 0;display:flex;justify-content:space-between;align-items:center;gap:20px}.topbar h1{font-size:25px;margin:2px 0 0}.topbar-actions{display:flex;align-items:center;gap:14px}.icon-button,.notification-button{border:1px solid var(--line);background:var(--panel);color:var(--text);width:38px;height:38px;border-radius:11px;display:grid;place-items:center}.menu-toggle{display:none;margin-right:10px}.notification-button{position:relative;font-size:22px}.notification-button span{position:absolute;top:-5px;right:-5px;background:var(--red);color:#fff;border-radius:20px;min-width:17px;height:17px;font-size:10px;display:grid;place-items:center}.user-chip{display:flex;gap:10px;align-items:center}.user-chip small{display:block;color:var(--muted);font-size:11px}.avatar{width:34px;height:34px;background:linear-gradient(135deg,var(--cyan),var(--blue));display:grid;place-items:center;border-radius:11px;color:#071321;font-weight:800}.avatar.small{width:28px;height:28px;border-radius:8px;font-size:11px}.hero-strip{border:1px solid var(--line);border-radius:var(--radius);padding:33px 38px;margin-bottom:22px;background:radial-gradient(circle at 92% 24%,rgba(83,216,229,.22),transparent 30%),linear-gradient(120deg,#102b43,#0c1a2b 62%);display:flex;justify-content:space-between;align-items:center;overflow:hidden;position:relative}.hero-strip:after{content:'';position:absolute;width:230px;height:230px;border:1px solid rgba(83,216,229,.2);border-radius:50%;right:70px;top:-100px;box-shadow:0 0 0 35px rgba(83,216,229,.04),0 0 0 70px rgba(83,216,229,.025)}.hero-strip h2{font-size:32px;line-height:1.15;margin:0;position:relative;z-index:1}.hero-strip h2 span{color:var(--cyan)}.hero-signal{display:flex;align-items:center;gap:13px;position:relative;z-index:1}.hero-signal b,.hero-signal small{display:block}.hero-signal small{color:var(--muted);font-size:11px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.metric-grid.three{grid-template-columns:repeat(3,1fr)}.metric-grid.four{grid-template-columns:repeat(4,1fr)}.metric-card{display:flex;gap:14px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.metric-card small,.metric-card em{display:block;color:var(--muted);font-style:normal;font-size:11px}.metric-card strong{display:block;font-size:27px;line-height:1.2;margin:3px 0}.metric-card strong span{font:500 12px 'DM Sans';color:var(--muted)}.metric-card em{font-size:11px}.metric-card.compact{padding:16px}.metric-card.compact strong{font-size:22px}.text-value{font-size:16px!important;margin:8px 0!important}.metric-icon,.quick-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:18px;flex:0 0 auto}.cyan{color:var(--cyan);background:rgba(83,216,229,.12)}.blue{color:var(--blue);background:rgba(117,167,255,.12)}.purple{color:var(--purple);background:rgba(177,139,255,.12)}.orange{color:var(--orange);background:rgba(255,180,97,.12)}.dashboard-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:18px}.span-2{grid-column:span 2}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:19px}.panel-heading h3{margin:0;font-size:17px}.text-link,.table-action,.back-link{color:var(--cyan);font-size:12px;font-weight:700}.quick-actions{display:grid;gap:8px}.quick-actions a{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid var(--line);border-radius:12px;transition:.2s}.quick-actions a:hover{border-color:var(--cyan);transform:translateY(-1px)}.quick-actions a div{flex:1}.quick-actions b,.quick-actions small{display:block}.quick-actions small,.table-sub{color:var(--muted);font-size:11px}.forecast-list{display:grid}.forecast-row{display:grid;grid-template-columns:10px 1fr auto auto;align-items:center;gap:13px;padding:13px 0;border-top:1px solid var(--line)}.forecast-row:first-child{border-top:0}.forecast-row b,.forecast-row small{display:block}.forecast-row small{color:var(--muted);font-size:11px}.forecast-row strong{font-size:12px}.forecast-status{width:8px;height:8px;border-radius:50%}.forecast-status.success,.dot.success{background:var(--green)}.forecast-status.warning,.dot.warning{background:var(--orange)}.forecast-status.danger,.dot.danger{background:var(--red)}.quality-score{display:flex;gap:15px;align-items:center;padding:8px 0 18px}.score-ring{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(var(--panel) 58%,transparent 60%),conic-gradient(var(--cyan) 72%,rgba(83,216,229,.12) 0)}.score-ring strong{font-size:17px}.quality-score b,.quality-score small{display:block}.quality-score small{color:var(--muted);font-size:11px}.quality-lines{border-top:1px solid var(--line)}.quality-lines div,.detail-list div{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line)}.quality-lines span,.detail-list span{color:var(--muted)}.text-success{color:var(--green)}.text-warning{color:var(--orange)}.page-intro{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:4px 0 22px}.page-intro h2{font-size:28px;margin:0 0 3px}.search-box{border:1px solid var(--line);border-radius:11px;background:var(--panel);padding:9px 13px;display:flex;gap:8px;align-items:center;color:var(--muted);min-width:270px}.search-box.small{min-width:190px;padding:6px 10px}.search-box input{border:0;outline:0;background:transparent;color:var(--text);width:100%}.table-wrap{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:650px}th,td{text-align:left;padding:13px 12px;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700}td{font-size:13px}tbody tr:hover{background:rgba(83,216,229,.035)}.record-link{display:flex;align-items:center;gap:9px;color:var(--text)}.aircraft-symbol{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:rgba(83,216,229,.11);color:var(--cyan)}.table-sub{display:block}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:20px;font-size:10px;font-weight:700;background:rgba(143,165,186,.12);color:var(--muted)}.badge i{width:5px;height:5px;border-radius:50%;background:currentColor}.badge.success{background:rgba(80,215,162,.12);color:var(--green)}.badge.warning{background:rgba(255,180,97,.12);color:var(--orange)}.badge.danger{background:rgba(255,113,134,.12);color:var(--red)}.badge.neutral{background:rgba(143,165,186,.12);color:var(--muted)}.empty-state{text-align:center!important;color:var(--muted);padding:30px!important}.btn{border:0;border-radius:10px;padding:11px 16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:.2s}.btn:hover{transform:translateY(-1px);filter:brightness(1.08)}.btn.primary{color:#06131e;background:linear-gradient(135deg,var(--cyan),#8ae8ed)}.btn.secondary{color:var(--text);background:var(--panel-2);border:1px solid var(--line)}.full{width:100%}.form-panel{margin-top:22px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:600}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid var(--line);background:var(--panel-2);border-radius:10px;color:var(--text);padding:11px 12px;outline:none}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(83,216,229,.1)}.form-grid textarea{resize:vertical}.form-grid .span-2{grid-column:span 2}.form-actions{display:flex;justify-content:flex-end;padding-top:4px}.alert{padding:13px 16px;border-radius:11px;margin:0 0 18px;border:1px solid var(--line)}.alert.success{color:var(--green);background:rgba(80,215,162,.09)}.alert.danger{color:var(--red);background:rgba(255,113,134,.09)}.inline-form{display:inline}.aircraft-hero{display:flex;justify-content:space-between;align-items:center;padding:25px 30px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(120deg,var(--panel-2),var(--panel));margin-bottom:18px}.aircraft-id{display:flex;align-items:center;gap:17px}.aircraft-badge{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;font-size:28px;background:rgba(83,216,229,.12);color:var(--cyan)}.aircraft-hero h2{font-size:28px;margin:0}.aircraft-hero p{margin:3px 0 0;color:var(--muted)}.legend{display:flex;gap:13px;color:var(--muted);font-size:11px}.legend span{display:flex;align-items:center;gap:5px}.dot{width:7px;height:7px;border-radius:50%;display:inline-block}.note-card{display:flex;gap:12px;align-items:flex-start;padding:17px;margin-top:18px;border:1px solid rgba(83,216,229,.2);background:rgba(83,216,229,.06);border-radius:14px}.note-icon{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--cyan);color:#08121f;font-weight:800}.note-card b,.note-card p{display:block}.note-card p{color:var(--muted);font-size:12px;margin:3px 0 0}.mobile-only{display:none}
.login-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:var(--bg)}.login-visual{position:relative;overflow:hidden;display:flex;align-items:center;padding:9vw;background:radial-gradient(circle at 78% 28%,rgba(83,216,229,.25),transparent 27%),linear-gradient(145deg,#071321,#0d2740)}.login-visual:after{content:'';position:absolute;inset:18%;border:1px solid rgba(83,216,229,.14);border-radius:50%;box-shadow:0 0 0 60px rgba(83,216,229,.03),0 0 0 120px rgba(83,216,229,.025)}.login-visual-content{position:relative;z-index:1;max-width:550px}.login-visual h1{font-size:clamp(38px,4.4vw,68px);line-height:1.04;margin:45px 0 20px}.login-visual h1 em{color:var(--cyan);font-style:normal}.login-copy{font-size:16px;color:#9db5c8;max-width:440px}.login-metrics{display:flex;gap:42px;margin-top:54px}.login-metrics b,.login-metrics small{display:block}.login-metrics b{font-size:23px;color:var(--cyan)}.login-metrics small{font-size:11px;color:#8ba5b9}.login-panel{display:grid;place-items:center;padding:30px}.login-card{width:min(410px,100%)}.login-card h2{font-size:34px;margin:0 0 2px}.login-form{margin-top:30px}.login-form label{display:grid;gap:7px;color:var(--muted);font-size:12px;margin-bottom:17px}.login-form input{padding:13px 14px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--text);outline:0}.login-form input:focus{border-color:var(--cyan)}.login-foot{color:var(--muted);font-size:11px;text-align:center;margin-top:30px}.mobile-brand{display:none}.install-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 80% 10%,rgba(83,216,229,.18),transparent 30%),var(--bg)}.install-card{width:min(700px,100%);background:var(--panel);padding:36px;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.install-card h1{font-size:32px}.install-card .brand-mark{margin-bottom:15px}.form-section{grid-column:span 2;border-bottom:1px solid var(--line);padding-top:10px}.form-section h2{font-size:14px;margin:0 0 3px}.back-link{display:block;margin-bottom:5px;color:var(--muted)}
@media(max-width:1100px){.metric-grid,.metric-grid.four{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr 1fr}.dashboard-grid .span-2{grid-column:span 2}.login-shell{grid-template-columns:1fr}.login-visual{display:none}.mobile-brand{display:flex;margin-bottom:45px}.login-panel{min-height:100vh}.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:translateX(0)}.app-main{margin-left:0}.content-wrap{padding:0 20px 40px}.menu-toggle{display:grid}.mobile-only{display:grid}.mobile-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:19}.mobile-overlay.open{display:block}}
@media(max-width:680px){.topbar{align-items:flex-start}.topbar-actions .user-chip{display:none}.topbar h1{font-size:21px}.hero-strip{padding:24px;display:block}.hero-strip h2{font-size:27px}.hero-signal{margin-top:22px}.metric-grid,.metric-grid.three,.metric-grid.four,.dashboard-grid{grid-template-columns:1fr}.dashboard-grid .span-2{grid-column:span 1}.page-intro{display:block}.page-intro h2{font-size:24px}.search-box{margin-top:16px;min-width:0}.panel{padding:16px}.panel-heading{align-items:flex-start}.form-grid{grid-template-columns:1fr}.form-grid .span-2,.form-section{grid-column:span 1}.form-actions{justify-content:stretch}.form-actions .btn{width:100%}.aircraft-hero{display:block;padding:22px}.aircraft-hero>.badge{display:inline-flex;margin-top:18px}.forecast-row{grid-template-columns:8px 1fr auto}.forecast-row .badge{display:none}.legend{margin-top:15px;flex-wrap:wrap}.content-wrap{padding:0 14px 30px}.install-card{padding:24px}.install-card .form-grid{gap:12px}}
@media print{.sidebar,.topbar-actions,.btn,.search-box{display:none!important}.app-main{margin:0}.content-wrap{padding:0}.panel{box-shadow:none}}

