:root{--navy:#123653;--navy2:#0c273d;--orange:#ef8f32;--bg:#eef2f5;--panel:#fff;--text:#1b2635;--muted:#667789;--border:#d9e0e6;--danger:#9d2727;--green:#18794e}*{box-sizing:border-box}body{margin:0;font:14px/1.45 Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:#14618d;text-decoration:none}a:hover{text-decoration:underline}.top{height:68px;background:var(--navy2);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:sticky;top:0;z-index:20;box-shadow:0 2px 12px #0003}.brand{display:flex;align-items:center;gap:12px;color:#fff}.brand:hover{text-decoration:none}.brand>b{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:var(--orange);color:#172233}.brand small,.who small,td small,aside footer small{display:block;color:#9db1c3}.who{display:flex;align-items:center;gap:14px;text-align:right}.who form{margin:0}.shell{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 68px)}.shell>aside{background:var(--navy);padding:18px 12px;color:#fff;display:flex;flex-direction:column;justify-content:space-between}.shell>aside nav{display:grid;gap:4px}.shell>aside nav a{color:#d9e7f1;padding:10px 12px;border-radius:8px;font-weight:600}.shell>aside nav a:hover,.shell>aside nav a.active{background:#ffffff18;color:#fff;text-decoration:none;border-left:3px solid var(--orange)}.shell>aside footer{padding:18px 12px 6px;border-top:1px solid #ffffff20}main{padding:24px;min-width:0}.heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.heading h1{margin:0;font-size:27px}.heading p{margin:5px 0 0;color:var(--muted)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:18px;margin-bottom:20px;box-shadow:0 2px 7px #1b2d3d0a}.panel.narrow{max-width:720px}.panel h2{margin:0 0 14px;font-size:19px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.panel-head h2{margin:0}.kpis{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:12px;margin-bottom:20px}.kpis article{background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px;border-top:4px solid var(--orange)}.kpis span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase}.kpis strong{display:block;font-size:20px;margin-top:5px}.split{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px}.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.table{overflow:auto}table{width:100%;border-collapse:collapse;min-width:720px}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--border);vertical-align:top}th{font-size:12px;text-transform:uppercase;color:#526477;background:#f7f9fa}td b{display:block}td small{color:var(--muted);margin-top:2px}.empty{text-align:center;color:var(--muted);padding:25px}.stack{display:grid;gap:12px}.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.wide{grid-column:1/-1}label{display:grid;gap:5px;color:#45596c;font-weight:600}input,select,textarea{width:100%;border:1px solid #bfcbd5;border-radius:7px;padding:9px 10px;background:#fff;color:var(--text);font:inherit}textarea{min-height:85px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #ef8f3240;border-color:var(--orange)}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #9fb0bd;background:#fff;color:#18364d;border-radius:7px;padding:8px 12px;font-weight:700;cursor:pointer;text-decoration:none}.btn:hover{text-decoration:none;filter:brightness(.97)}.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff}.btn.accent{background:var(--orange);border-color:var(--orange);color:#172233}.btn.danger{background:#fff1f1;border-color:#d77;color:var(--danger)}.btn.ghost{background:#ffffff12;color:#fff;border-color:#ffffff40}.btn.small{padding:5px 8px;font-size:12px}.btn[disabled]{opacity:.5}.actions,.inline{display:flex;align-items:center;gap:7px}.actions form,.bar form{margin:0}.bar{flex-wrap:wrap;margin-bottom:20px}.inline input,.inline select{min-width:120px}.badge{display:inline-block;padding:4px 7px;border-radius:999px;font-size:11px;font-weight:800}.badge.ok{background:#dff5e9;color:#11653f}.badge.info{background:#dceef8;color:#145574}.badge.warn{background:#fff0cf;color:#81550c}.badge.bad{background:#fbe0e0;color:#8f2222}.badge.muted{background:#e9edf0;color:#596672}.alert{padding:12px 14px;border-radius:8px;margin-bottom:15px;border:1px solid}.alert.ok{background:#e2f6ea;border-color:#95d6af;color:#175d39}.alert.bad{background:#fce8e8;border-color:#e6aaaa;color:#852424}.alert.warn{background:#fff4d7;border-color:#e7c56c;color:#705008}.login-shell{min-height:calc(100vh - 68px);display:grid;place-items:center;padding:30px}.login-card{width:min(390px,100%);background:#fff;border-radius:14px;border:1px solid var(--border);padding:28px;box-shadow:0 15px 40px #10283d20}.login-card h1{text-align:center;margin:10px 0 0}.login-card>p{text-align:center;color:var(--muted);margin-top:5px}.login-logo{margin:auto;width:65px;height:65px;border-radius:15px;background:var(--orange);display:grid;place-items:center;font-size:23px;font-weight:900}.picker{border:1px solid var(--border);padding:14px;border-radius:9px;max-height:430px;overflow:auto}.check{grid-template-columns:auto 1fr;align-items:start;padding:9px;border-bottom:1px solid var(--border);font-weight:400}.check input{width:auto;margin-top:4px}.check small{display:block;color:var(--muted)}dl{display:grid;grid-template-columns:150px 1fr;gap:8px}dt{font-weight:700;color:#536879}dd{margin:0}.plus{color:var(--green);font-weight:800}.minus{color:var(--danger);font-weight:800}.code{font-size:11px;white-space:pre-wrap;max-width:320px;display:block}code{background:#edf1f4;padding:2px 5px;border-radius:4px}@media(max-width:1150px){.kpis{grid-template-columns:repeat(3,1fr)}.two{grid-template-columns:1fr}}@media(max-width:800px){.shell{grid-template-columns:1fr}.shell>aside{padding:8px}.shell>aside nav{display:flex;overflow:auto}.shell>aside nav a{white-space:nowrap}.shell>aside footer{display:none}main{padding:14px}.split,.form{grid-template-columns:1fr}.wide{grid-column:auto}.kpis{grid-template-columns:repeat(2,1fr)}.top{padding:0 12px}.who span{display:none}}@media(max-width:480px){.kpis{grid-template-columns:1fr}.heading{flex-direction:column}.brand span{font-size:13px}}

.check{grid-template-columns:auto 1fr;align-items:center}.check input{width:auto}


/* Informazioni contestuali */
.field-title{display:flex;align-items:center;gap:5px;min-width:0}
.info-tip{display:inline-grid;place-items:center;width:17px;height:17px;flex:0 0 17px;border:1px solid #7f98aa;border-radius:50%;background:#f5f9fb;color:#174b69;font:700 11px/1 Georgia,serif;text-transform:none;cursor:help;vertical-align:middle;user-select:none}
.info-tip:hover,.info-tip:focus{background:var(--orange);border-color:#c66d18;color:#172233;outline:2px solid #ef8f3240;outline-offset:2px}
th .info-tip{margin-left:3px;transform:translateY(-1px)}
.kpis .info-tip{display:inline-grid;width:15px;height:15px;flex-basis:15px;font-size:10px}
.info-tooltip-box{position:fixed;z-index:1000;width:min(340px,calc(100vw - 20px));padding:11px 13px;border-radius:8px;background:#102b40;color:#fff;box-shadow:0 10px 30px #07182355;font-size:13px;line-height:1.42;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .12s ease}
.info-tooltip-box.visible{opacity:1}
.panel h2,.panel h3{display:flex;align-items:center;gap:5px}

/* Guida amministratore */
.guide-hero{border-top:4px solid var(--orange);background:linear-gradient(135deg,#fff 0%,#f6f9fb 100%)}
.guide-hero h2{font-size:24px;margin:5px 0 8px;display:block}.guide-hero p{max-width:960px;color:#43586b;font-size:15px}
.eyebrow{font-size:11px;letter-spacing:.12em;color:#9a571b;font-weight:800}
.flow-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:18px;padding:12px;border:1px solid var(--border);border-radius:10px;background:#fff}
.flow-strip span{padding:7px 10px;border-radius:7px;background:#e8f0f5;color:#173f5b;font-weight:700}.flow-strip b{color:var(--orange)}
.tutorial-steps{counter-reset:step;list-style:none;padding:0;margin:0;display:grid;gap:12px}
.tutorial-steps li{position:relative;padding:13px 14px 13px 54px;border:1px solid var(--border);border-radius:10px;background:#fafcfd}
.tutorial-steps li:before{counter-increment:step;content:counter(step);position:absolute;left:14px;top:13px;width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:var(--orange);color:#152638;font-weight:900}
.tutorial-steps strong{font-size:15px}.tutorial-steps p{margin:4px 0;color:#4c6173}.tutorial-steps a{font-weight:700}
.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.guide-dl{display:grid;grid-template-columns:125px 1fr;gap:10px 14px}.guide-dl dt{color:#173f5b}.guide-dl dd{color:#4c6173}
.status-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.status-guide article{padding:14px;border:1px solid var(--border);border-radius:10px;background:#fafcfd}.status-guide h3{margin:0 0 7px}.status-guide p{margin:0;color:#4c6173}
.faq-list{display:grid;gap:9px}.faq-list details{border:1px solid var(--border);border-radius:9px;background:#fafcfd}.faq-list summary{cursor:pointer;padding:12px 14px;font-weight:750;color:#173f5b}.faq-list details[open] summary{border-bottom:1px solid var(--border)}.faq-list p{margin:0;padding:12px 14px;color:#4c6173}
.checklist{margin:0;padding-left:22px}.checklist li{margin:7px 0;color:#43586b}
@media(max-width:900px){.guide-grid,.status-guide{grid-template-columns:1fr}.guide-dl{grid-template-columns:105px 1fr}}


/* ==========================================================
   V0.3 — Aviation Operations visual system
   ========================================================== */
:root{--navy:#071a2b;--navy2:#04101c;--orange:#ff9f43;--blue:#2f80ed;--sky:#55b8ff;--cyan:#51d7d0;--bg:#edf3f8;--panel:#fff;--text:#142235;--muted:#6a7e91;--border:#d9e4ec;--danger:#c0393d;--green:#18a06b;--shadow:0 14px 38px rgba(8,37,61,.08)}
body{background:radial-gradient(circle at 92% 4%,rgba(80,183,255,.14),transparent 28%),radial-gradient(circle at 10% 90%,rgba(81,215,208,.08),transparent 24%),var(--bg);letter-spacing:.005em}
.top{height:72px;background:linear-gradient(110deg,#03101c 0%,#092b45 65%,#0b3654 100%);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 12px 35px rgba(0,18,31,.25);overflow:hidden}
.top:after{content:"";position:absolute;left:46%;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,rgba(85,184,255,.75),transparent);transform:skewX(-35deg)}
.brand>b{border-radius:12px;background:linear-gradient(145deg,#ffb15e,#ff8d26);box-shadow:0 8px 22px rgba(255,151,56,.28)}
.brand span{font-size:15px;letter-spacing:.015em}.brand small{font-size:10px;letter-spacing:.13em;text-transform:uppercase;margin-top:2px}
.shell{grid-template-columns:232px 1fr;min-height:calc(100vh - 72px)}
.shell>aside{background:linear-gradient(180deg,#09263e 0%,#071a2b 72%,#061521 100%);border-right:1px solid rgba(255,255,255,.05);box-shadow:8px 0 30px rgba(4,22,36,.08)}
.shell>aside nav{gap:6px}.shell>aside nav a{display:flex;align-items:center;gap:11px;padding:11px 12px;border:1px solid transparent;border-radius:10px;font-size:13px;letter-spacing:.01em}
.shell>aside nav a:hover{background:rgba(85,184,255,.08);border-color:rgba(85,184,255,.12)}
.shell>aside nav a.active{background:linear-gradient(90deg,rgba(47,128,237,.28),rgba(81,215,208,.08));border:1px solid rgba(85,184,255,.24);border-left:3px solid var(--sky);box-shadow:inset 0 0 20px rgba(47,128,237,.06)}
.nav-icon{width:20px;height:20px;display:grid;place-items:center;color:#8fcfff}.nav-icon .ui-icon{width:18px;height:18px}.ui-icon{width:19px;height:19px;vertical-align:-4px}
main{padding:28px 30px 44px}.heading h1{font-size:29px;letter-spacing:-.025em}.heading p{font-size:14px}
.panel{border:1px solid rgba(180,201,217,.65);border-radius:16px;padding:20px;box-shadow:var(--shadow);background:linear-gradient(180deg,#fff,#fcfdfe)}
.panel h2{letter-spacing:-.015em}.panel-head a{font-weight:750;font-size:12px;text-transform:uppercase;letter-spacing:.055em}
input,select,textarea{border-radius:9px;border-color:#c7d6e1;background:#fbfdff;padding:10px 11px}input:focus,select:focus,textarea:focus{outline:3px solid rgba(47,128,237,.12);border-color:var(--blue);box-shadow:0 0 0 1px rgba(47,128,237,.07)}
.btn{border-radius:9px;padding:9px 13px;gap:7px}.btn.primary{background:linear-gradient(135deg,#1f6fbd,#174e83);border-color:#175b98;box-shadow:0 7px 18px rgba(31,111,189,.18)}.btn.accent{background:linear-gradient(135deg,#ffb25d,#ff922e);border-color:#ed8727}.btn.danger{background:#fff5f5}
table{border-collapse:separate;border-spacing:0}th{background:#f2f7fa;color:#536b7d;font-size:11px;letter-spacing:.065em;border-top:1px solid #e3ebf1}th:first-child{border-radius:9px 0 0 0}th:last-child{border-radius:0 9px 0 0}tbody tr{transition:background .15s ease}tbody tr:hover{background:#f7fbfe}td{border-bottom-color:#e5edf2}
.badge{letter-spacing:.035em;border:1px solid transparent}.badge.ok{border-color:#b7e9d2}.badge.info{border-color:#b9dcef}.badge.warn{border-color:#f2d797}.badge.bad{border-color:#efb8b8}
.kpis article{border-radius:15px;border-top:0;border-left:4px solid var(--sky);box-shadow:var(--shadow)}

/* Dashboard */
.dashboard-hero{position:relative;overflow:hidden;min-height:210px;padding:32px 34px;margin-bottom:20px;border-radius:20px;color:#fff;background:linear-gradient(115deg,#061522 0%,#0b3655 52%,#12618b 100%);box-shadow:0 22px 52px rgba(6,38,62,.22);display:flex;justify-content:space-between;align-items:center}
.dashboard-hero:before{content:"";position:absolute;width:480px;height:480px;right:-120px;top:-210px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.018)}
.dashboard-hero:after{content:"";position:absolute;left:0;right:0;bottom:22px;height:1px;background:linear-gradient(90deg,transparent,rgba(85,184,255,.5),transparent);transform:rotate(-2deg)}
.hero-copy{position:relative;z-index:2;max-width:680px}.dashboard-hero h1{margin:4px 0 8px;font-size:43px;line-height:1;letter-spacing:-.045em}.dashboard-hero p{margin:0;color:#c8ddeb;font-size:15px}.dashboard-hero .eyebrow{color:#78d4ff}.hero-meta{display:flex;gap:20px;flex-wrap:wrap;margin-top:23px;color:#bcd2e1;font-size:12px}.hero-meta span{display:flex;align-items:center;gap:7px}.hero-meta .ui-icon{width:16px;height:16px}.live-dot:before{content:"";width:8px;height:8px;border-radius:50%;background:#57e2a7;box-shadow:0 0 0 5px rgba(87,226,167,.12)}
.hero-visual{position:relative;z-index:2;display:flex;align-items:center;gap:20px;margin-right:25px}.hero-visual strong{display:block;font-size:38px}.hero-visual small{color:#bcd2e1;text-transform:uppercase;letter-spacing:.08em}.radar{width:112px;height:112px;border:1px solid rgba(119,212,255,.42);border-radius:50%;position:relative;overflow:hidden;background:radial-gradient(circle,rgba(72,181,232,.16) 0 2px,transparent 3px),linear-gradient(rgba(85,184,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(85,184,255,.08) 1px,transparent 1px);background-size:auto,28px 28px,28px 28px}.radar:before,.radar:after{content:"";position:absolute;inset:20%;border:1px solid rgba(119,212,255,.23);border-radius:50%}.radar:after{inset:40%}.radar span{position:absolute;width:7px;height:7px;border-radius:50%;background:#63e6d3;left:68%;top:32%;box-shadow:0 0 0 0 rgba(99,230,211,.7);animation:radarPulse 2s ease-out infinite}.radar i{position:absolute;left:50%;top:4%;height:46%;width:2px;background:linear-gradient(#74d8ff,transparent);transform-origin:bottom;animation:radarSweep 4.5s linear infinite}.radar i:after{content:"";position:absolute;left:0;top:0;width:52px;height:100%;transform-origin:left bottom;background:linear-gradient(90deg,rgba(116,216,255,.2),transparent);clip-path:polygon(0 100%,0 0,100% 100%)}@keyframes radarSweep{to{transform:rotate(360deg)}}@keyframes radarPulse{0%{box-shadow:0 0 0 0 rgba(99,230,211,.65)}70%{box-shadow:0 0 0 12px rgba(99,230,211,0)}100%{box-shadow:0 0 0 0 rgba(99,230,211,0)}}
.dashboard-metrics{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:13px;margin-bottom:20px}.metric-card{display:flex;align-items:center;gap:13px;padding:17px;background:rgba(255,255,255,.94);border:1px solid rgba(182,202,217,.7);border-radius:15px;box-shadow:0 10px 28px rgba(10,42,65,.06);min-width:0}.metric-icon{width:42px;height:42px;flex:0 0 42px;border-radius:12px;display:grid;place-items:center;color:#1f73b7;background:linear-gradient(145deg,#e8f5ff,#f4fbff);border:1px solid #d2eaf8}.metric-icon .ui-icon{width:21px;height:21px}.metric-card>div:last-child{min-width:0}.metric-card span{display:block;color:#6a7f91;font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:800}.metric-card strong{display:block;font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.metric-card small{display:block;color:#8394a2;font-size:11px;margin-top:2px}
.dashboard-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:20px}.dashboard-grid-wide{grid-template-columns:1.55fr 1fr}.panel-kicker{display:block;color:#2f80a8;font-size:10px;font-weight:850;letter-spacing:.11em;margin-bottom:3px}.trend-pill{padding:7px 10px;border-radius:999px;font-weight:800;font-size:12px}.trend-pill.positive{background:#def6eb;color:#14784d}.trend-pill.negative{background:#fbe5e5;color:#a52f36}
.performance-card{background:linear-gradient(145deg,#fff,#f7fbfe)}.performance-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.performance-numbers>div{padding:13px;border-radius:11px;background:#f5f9fc;border:1px solid #e1ebf2}.performance-numbers span{display:block;color:#71869a;font-size:11px;text-transform:uppercase}.performance-numbers strong{font-size:20px}.performance-bars{display:grid;gap:8px}.performance-bars>div{height:8px;border-radius:99px;background:#e9eff4;overflow:hidden}.performance-bars span{display:block;height:100%;background:linear-gradient(90deg,#2f80ed,#55b8ff);border-radius:99px}.performance-bars .cost-bar span{background:linear-gradient(90deg,#ffb35e,#f2765b)}
.pulse-layout{display:flex;align-items:center;gap:28px}.progress-ring{--value:0;width:126px;height:126px;flex:0 0 126px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--cyan) calc(var(--value)*1%),#e4edf3 0);position:relative}.progress-ring:after{content:"";position:absolute;inset:10px;border-radius:50%;background:#fff}.progress-ring>div{position:relative;z-index:1;text-align:center}.progress-ring strong{display:block;font-size:25px}.progress-ring small{color:#71869a;font-size:10px;letter-spacing:.08em}.pulse-stats{flex:1}.pulse-stats p{display:flex;justify-content:space-between;margin:0;padding:8px 0;border-bottom:1px dashed #dce6ed}.pulse-stats p:last-child{border:0}.pulse-stats span{color:#6c8091}.pulse-stats b{color:#173a52}
.trend-chart{height:255px;display:flex;gap:13px;align-items:flex-end;padding:18px 5px 0}.trend-column{height:100%;flex:1;min-width:38px;display:grid;grid-template-rows:22px 1fr 20px 17px;text-align:center;align-items:end}.trend-value{font-size:10px;color:#71869a}.trend-track{height:100%;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,#f2f7fa,#e9f0f4);display:flex;align-items:flex-end;overflow:hidden}.trend-track span{width:100%;display:block;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,#55b8ff,#256cac);box-shadow:inset 0 1px rgba(255,255,255,.35)}.trend-column b{font-size:12px}.trend-column small{font-size:9px;color:#8595a3}
.mix-list{display:grid;gap:14px}.mix-row>div:first-child{display:flex;justify-content:space-between;margin-bottom:5px}.mix-row span{color:#526a7c}.mix-row>div:last-child{height:8px;background:#e8eff4;border-radius:99px;overflow:hidden}.mix-row>div:last-child span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#2f80ed,#51d7d0)}
.modern-table .flight-link{font-weight:850;color:#145e91}.route-chip{display:inline-flex;gap:6px;align-items:center;font-weight:800;color:#23485f}.route-chip i{font-style:normal;color:#5aaedb}
.deadline-list{display:grid;gap:9px}.deadline-item{display:flex;justify-content:space-between;gap:12px;padding:11px 12px;border-radius:10px;background:#f6f9fb;border-left:4px solid #8bbbd7}.deadline-item.warning{border-left-color:#f2aa42;background:#fffaf1}.deadline-item.critical{border-left-color:#d65558;background:#fff6f6}.deadline-item strong,.deadline-item span,.deadline-item b,.deadline-item small{display:block}.deadline-item span,.deadline-item small{color:#728597;font-size:11px}.deadline-item>div:last-child{text-align:right}
.fleet-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.fleet-status-grid article{display:flex;align-items:center;gap:10px;padding:13px;border-radius:11px;background:#f5f9fc;border:1px solid #e1eaf0}.fleet-status-grid strong{font-size:22px;display:block}.fleet-status-grid small{font-size:9px;letter-spacing:.06em;color:#708496}.status-light{width:10px;height:10px;border-radius:50%;background:#95a5b2;box-shadow:0 0 0 5px rgba(149,165,178,.12)}.status-light.available{background:#22ad75;box-shadow:0 0 0 5px rgba(34,173,117,.12)}.status-light.reserved,.status-light.in_flight{background:#2f80ed;box-shadow:0 0 0 5px rgba(47,128,237,.12)}.status-light.maintenance{background:#f1a33c;box-shadow:0 0 0 5px rgba(241,163,60,.13)}.status-light.aog{background:#d54f54;box-shadow:0 0 0 5px rgba(213,79,84,.12)}
.route-ranking{display:grid;gap:8px}.route-ranking article{display:flex;align-items:center;gap:12px;padding:10px;border-bottom:1px solid #e7eef3}.route-ranking article>span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#e8f3fb;color:#1f70a8;font-weight:900}.route-ranking strong,.route-ranking small{display:block}.route-ranking i{font-style:normal;color:#55a9d5}.route-ranking small{color:#75899a}

/* Assignment simulation */
.assignment-heading h1 i{font-style:normal;color:#5aaedb}.assignment-state{display:flex;gap:7px}.simulation-panel{padding:0;overflow:hidden;border:1px solid #b9ddef;background:linear-gradient(145deg,#f8fcff,#eef8fd)}.simulation-panel summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:13px;padding:17px 20px;background:linear-gradient(90deg,#0b3958,#126087);color:#fff}.simulation-panel summary::-webkit-details-marker{display:none}.simulation-panel summary>span{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.12)}.simulation-panel summary strong,.simulation-panel summary small{display:block}.simulation-panel summary small{color:#c8dfed;margin-top:2px}.simulation-form{padding:20px}.simulation-note{padding:12px;border-radius:10px;background:#e8f4fb;color:#315a73;border:1px solid #c9e4f3;font-size:12px}.simulation-submit{background:linear-gradient(135deg,#0f6f9e,#174a76);border-color:#125d86;color:#fff;padding:12px}.completion-banner{display:flex;align-items:center;gap:15px;margin-bottom:20px;padding:16px 19px;border-radius:14px;border:1px solid}.completion-banner>div:first-child{width:46px;height:46px;border-radius:13px;display:grid;place-items:center}.completion-banner span,.completion-banner strong{display:block}.completion-banner span{font-size:10px;letter-spacing:.1em;font-weight:850}.completion-banner strong{font-size:19px}.completion-banner p{margin:2px 0 0;color:#547084}.completion-banner.simulated{background:#edf8ff;border-color:#badff1}.completion-banner.simulated>div:first-child{background:#d8effc;color:#1a6e9f}.completion-banner.verified{background:#eaf8f1;border-color:#b9e4cf}.completion-banner.verified>div:first-child{background:#d7f1e4;color:#16734a}.result-note{margin-top:14px;padding:11px;border-radius:9px;background:#f3f7fa}.result-note p{margin:4px 0 0}

@media(max-width:1450px){.dashboard-metrics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1050px){.dashboard-grid,.dashboard-grid-wide{grid-template-columns:1fr}.hero-visual{display:none}.dashboard-hero{min-height:190px}.fleet-status-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.shell{grid-template-columns:1fr}.shell>aside nav a{padding:9px}.dashboard-metrics{grid-template-columns:repeat(2,1fr)}.dashboard-hero{padding:25px}.dashboard-hero h1{font-size:36px}.performance-numbers{grid-template-columns:1fr}.pulse-layout{align-items:flex-start}.trend-chart{overflow-x:auto}.trend-column{min-width:55px}.fleet-status-grid{grid-template-columns:1fr}}
@media(max-width:500px){main{padding:14px}.dashboard-metrics{grid-template-columns:1fr}.dashboard-hero{border-radius:14px}.pulse-layout{flex-direction:column}.metric-card{padding:14px}}

/* ==========================================================
   V0.4 — Guided flight builder and cargo load planning
   ========================================================== */
.dashboard-quick-flight{margin-top:20px;position:relative;z-index:3;width:max-content}
.flight-board{padding:0;overflow:hidden}.flight-board-head{padding:20px 20px 14px;margin:0}.flight-filters{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:0 20px 15px;border-bottom:1px solid #e1eaf0}.flight-filters>button,.schedule-shortcuts button{border:1px solid #cddbe5;background:#f7fafc;color:#4d6577;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:700;cursor:pointer}.flight-filters>button b{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:4px;border-radius:50%;background:#e5eef4;color:#315369}.flight-filters>button.active{background:#0f4a73;color:#fff;border-color:#0f4a73}.flight-filters>button.active b{background:#ffffff26;color:#fff}.flight-search{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.flight-search input{min-width:220px;padding:8px 10px}.flight-board .table{padding:0 20px 20px}
.flight-builder{padding:0;overflow:hidden;border-color:#b9d7e8}.builder-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 28px;color:#fff;background:linear-gradient(120deg,#061522,#0b3b5e 60%,#116d96)}.builder-hero h2{display:block;margin:4px 0 7px;font-size:27px}.builder-hero p{margin:0;max-width:760px;color:#c9dfec}.builder-hero .eyebrow{color:#78d4ff}.builder-route-preview{min-width:240px;padding:18px 20px;border:1px solid #ffffff35;border-radius:15px;background:#ffffff10;text-align:center;box-shadow:inset 0 1px #ffffff16}.builder-route-preview span{font-size:27px;font-weight:900}.builder-route-preview i{margin:0 10px;color:#76d8ff;font-style:normal}.builder-route-preview small{display:block;margin-top:5px;color:#bfd7e5}
.flight-builder-form{padding:0 24px 25px}.builder-step{padding:24px 0;border-bottom:1px solid #e1eaf0}.builder-step:last-of-type{border-bottom:0}.step-title{display:flex;align-items:flex-start;gap:12px;margin-bottom:15px}.step-title>span{width:32px;height:32px;flex:0 0 32px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,#e3f3ff,#f3fbff);border:1px solid #c7e3f3;color:#17689a;font-size:15px;font-weight:900}.step-title h3{display:flex;margin:0 0 3px;font-size:18px}.step-title p{margin:0;color:#6a7f91}
.lane-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px}.lane-card,.aircraft-choice{appearance:none;text-align:left;font:inherit;color:inherit;cursor:pointer;border:1px solid #d3e0e8;background:linear-gradient(145deg,#fff,#f7fbfd);border-radius:14px;padding:15px;transition:.17s ease;box-shadow:0 7px 18px rgba(10,48,73,.04)}.lane-card:hover,.aircraft-choice:hover{transform:translateY(-2px);border-color:#8fc5e3;box-shadow:0 12px 26px rgba(15,76,113,.1)}.lane-card.active,.aircraft-choice.active{border-color:#2786bd;background:linear-gradient(145deg,#edf8ff,#fff);box-shadow:0 0 0 3px rgba(47,128,237,.11),0 12px 30px rgba(15,76,113,.11)}.lane-route{display:flex;align-items:center;gap:8px;color:#153d56}.lane-route b{font-size:19px}.lane-route i{font-style:normal;color:#4ea9d7}.lane-volume{display:block;margin-top:12px}.lane-volume strong,.lane-volume small,.lane-meta small,.lane-deadline{display:block}.lane-volume strong{font-size:22px}.lane-volume small,.lane-meta small,.lane-deadline{color:#718496;font-size:11px}.lane-meta{display:flex;align-items:flex-end;justify-content:space-between;margin-top:10px}.lane-meta em{font-style:normal;font-weight:850;color:#16724e}.lane-meta small{text-align:right}.lane-deadline{margin-top:9px;padding-top:8px;border-top:1px dashed #d6e2e9}
.aircraft-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px}.aircraft-choice{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center}.aircraft-choice[hidden]{display:none}.aircraft-choice-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#e6f3fb;color:#1e73a8}.aircraft-choice b,.aircraft-choice small{display:block}.aircraft-choice small{color:#73889a}.aircraft-capacity{text-align:right}.aircraft-capacity strong{font-size:17px}.aircraft-maintenance{grid-column:2/4;font-size:10px;color:#74899b;padding-top:7px;border-top:1px dashed #dce6ed}.aircraft-empty{grid-column:1/-1}
.cargo-builder-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.55fr);gap:18px;align-items:start}.cargo-tools{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}.cargo-card-list{display:grid;gap:8px;max-height:590px;overflow:auto;padding-right:4px}.cargo-card{display:grid;grid-template-columns:auto minmax(180px,1.35fr) minmax(130px,.7fr) minmax(120px,.65fr) minmax(150px,.8fr);align-items:center;gap:10px;padding:12px;border:1px solid #d9e4eb;border-radius:11px;background:#fff;cursor:pointer;transition:.14s ease}.cargo-card[hidden]{display:none}.cargo-card:hover{background:#f8fcff;border-color:#aad1e6}.cargo-card.selected{background:#eef9ff;border-color:#61afe0;box-shadow:inset 4px 0 #2f80ed}.cargo-card.incompatible{opacity:.62}.cargo-card input{width:17px;height:17px}.cargo-card b,.cargo-card small{display:block}.cargo-card-main small,.cargo-card-product small,.cargo-card-metrics small,.cargo-card-deadline{font-size:10px;color:#74899a}.cargo-card-product{color:#274e68;font-weight:750}.cargo-card-metrics{text-align:right}.cargo-card-deadline{text-align:right}
.load-planner{position:sticky;top:92px;padding:17px;border-radius:15px;color:#e8f3fa;background:linear-gradient(155deg,#061723,#0c3652);box-shadow:0 18px 38px rgba(5,30,48,.2)}.load-planner-head{display:flex;align-items:center;gap:11px}.load-planner-head>span{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#ffffff14;color:#6fd3ff}.load-planner-head strong,.load-planner-head small{display:block}.load-planner-head small{color:#a8c4d4}.aircraft-load-visual{height:74px;display:flex;align-items:center;margin:19px 0 14px}.aircraft-nose{width:34px;height:46px;border:2px solid #77c9ed;border-right:0;border-radius:80% 0 0 80%;background:#ffffff0a}.cargo-hold{height:46px;flex:1;border:2px solid #77c9ed;background:#071f30;padding:5px}.aircraft-tail{width:31px;height:46px;border:2px solid #77c9ed;border-left:0;clip-path:polygon(0 0,55% 0,100% 18%,62% 50%,100% 82%,55% 100%,0 100%);background:#ffffff0a}.cargo-segments{height:100%;display:flex;gap:3px;overflow:hidden}.cargo-segment{height:100%;min-width:8px;border-radius:4px;background:linear-gradient(180deg,#55b8ff,#2f80ed);display:grid;place-items:center;color:#fff;font-size:9px;font-weight:900}.cargo-segment.priority-urgent{background:linear-gradient(180deg,#ff8f7c,#d84b52)}.cargo-segment.priority-express{background:linear-gradient(180deg,#ffbe64,#ed862c)}.capacity-block{margin:12px 0}.capacity-label{display:flex;justify-content:space-between;font-size:11px}.capacity-label span{color:#bdd3df}.capacity-label b{font-weight:700}.capacity-label i{font-style:normal}.capacity-track{height:9px;margin:6px 0;border-radius:99px;background:#ffffff18;overflow:hidden}.capacity-track>span{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,#2f80ed,#60d7ff);transition:width .2s}.capacity-track.volume>span{background:linear-gradient(90deg,#18a06b,#51d7d0)}.capacity-track>span.over{background:linear-gradient(90deg,#d7434b,#ff7a69)}.capacity-block>small{color:#99b7c8}.load-totals{margin-top:15px;padding-top:10px;border-top:1px solid #ffffff1c}.load-totals p{display:flex;justify-content:space-between;margin:0;padding:6px 0}.load-totals span{color:#b5cedc}.load-totals b{color:#fff}.load-warning{margin-top:10px;padding:9px;border-radius:8px;background:#8b2730;color:#fff;font-size:11px;font-weight:750}
.schedule-shortcuts{display:flex;gap:7px;margin-bottom:12px}.schedule-shortcuts button:hover{border-color:#6fb3d6;background:#edf8fd}.flight-schedule-form{align-items:end}.flight-id-preview{padding:10px 12px;border-radius:10px;background:#edf7fc;border:1px solid #cce6f3}.flight-id-preview span,.flight-id-preview strong{display:block}.flight-id-preview span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#668195}.flight-id-preview strong{margin-top:3px;color:#174d6c}.flight-id-preview i{font-style:normal}.advanced-fields{margin-top:13px;border:1px solid #dbe6ed;border-radius:11px;background:#fafcfd}.advanced-fields summary{padding:11px 13px;cursor:pointer;color:#31566d;font-weight:750}.advanced-fields[open] summary{border-bottom:1px solid #dbe6ed}.advanced-fields .form{padding:13px}.builder-submit-bar{position:sticky;bottom:0;z-index:7;display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 -24px -25px;padding:15px 24px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-top:1px solid #cfdee7;box-shadow:0 -12px 30px rgba(7,35,55,.08)}.builder-submit-bar strong,.builder-submit-bar small{display:block}.builder-submit-bar small{color:#718597}.builder-submit{min-width:170px}.builder-submit:disabled{opacity:.5;filter:grayscale(.4);cursor:not-allowed}
@media(max-width:1200px){.lane-grid,.aircraft-choice-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.cargo-builder-layout{grid-template-columns:1fr}.load-planner{position:relative;top:auto}}
@media(max-width:760px){.flight-filters{align-items:stretch}.flight-search{margin-left:0;width:100%}.flight-search input{min-width:0}.builder-hero{align-items:flex-start;flex-direction:column;padding:22px}.builder-route-preview{min-width:0;width:100%}.flight-builder-form{padding:0 14px 20px}.lane-grid,.aircraft-choice-grid{grid-template-columns:1fr}.cargo-card{grid-template-columns:auto 1fr}.cargo-card-product,.cargo-card-metrics,.cargo-card-deadline{grid-column:2;text-align:left}.builder-submit-bar{margin:0 -14px -20px;padding:12px 14px;flex-direction:column;align-items:stretch}.builder-submit{width:100%}.schedule-shortcuts{overflow:auto}.dashboard-quick-flight{width:100%}}


/* Unified user/pilot entity */
.login-secondary{display:grid;gap:8px;margin:18px 0 8px;padding-top:16px;border-top:1px solid #dce6ed;text-align:center}.login-secondary span{color:#718496;font-size:12px}.login-back{display:block;margin-top:16px;text-align:center}.register-card{max-width:460px}
.unified-user-note{display:flex;align-items:flex-start;gap:14px;margin:0 0 18px;padding:16px 18px;border:1px solid #a9d6eb;border-radius:14px;background:linear-gradient(135deg,#eef9ff,#fff);box-shadow:0 9px 24px rgba(14,75,112,.07)}.unified-user-note>.ui-icon{width:30px;height:30px;flex:0 0 30px;color:#176f9e}.unified-user-note strong{display:block;color:#123f5d;font-size:15px}.unified-user-note p{margin:4px 0 0;color:#587286}.users-unified{grid-template-columns:minmax(0,1fr) 370px}.user-stats-box{display:grid;gap:3px;padding:12px;border-radius:10px;background:#edf7fc;border:1px solid #cce5f2}.user-stats-box span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#668195}.user-stats-box b{color:#174d6c}.user-stats-box small{color:#6d8494}
@media(max-width:900px){.users-unified{grid-template-columns:1fr}}

/* ==========================================================
   V0.6 — Carte geografiche e terminologia italiana
   ========================================================== */
.context-map-panel,.network-map-panel{overflow:hidden}.context-map-panel .panel-head,.network-map-panel .panel-head{align-items:flex-end}.context-map-panel .panel-head small,.network-map-panel .panel-head small{color:var(--muted)}
.geo-map{position:relative;width:100%;height:360px;border:1px solid #cddce6;border-radius:14px;overflow:hidden;background:linear-gradient(145deg,#dce9f1,#f7fbfd);z-index:0}.geo-map-large{height:460px}.geo-map-medium{height:350px}.geo-map-builder{height:300px}.geo-map .leaflet-control-container{font-family:Inter,Segoe UI,Arial,sans-serif}.geo-map .leaflet-control-attribution{font-size:10px;background:rgba(255,255,255,.88)}.geo-map .leaflet-popup-content-wrapper{border-radius:11px;box-shadow:0 12px 30px rgba(4,28,45,.2)}.geo-map .leaflet-popup-content{margin:11px 13px}.map-popup{display:grid;gap:3px}.map-popup strong{color:#123f5d}.map-popup span{color:#62798b;font-size:11px}.map-placeholder{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:4px;padding:20px;color:#31566d;background:radial-gradient(circle at 35% 35%,rgba(85,184,255,.18),transparent 30%),linear-gradient(145deg,#e8f3f9,#f7fbfd)}.map-placeholder small{color:#718597}.leaflet-container .map-placeholder{display:none}.map-unavailable .map-placeholder{display:grid}
.vca-map-pin{background:transparent;border:0}.vca-map-pin span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:white;background:linear-gradient(145deg,#1e77b3,#10476e);border:2px solid white;box-shadow:0 5px 16px rgba(6,35,54,.3);font-size:14px}.vca-map-pin.aircraft span{background:linear-gradient(145deg,#ffad4d,#e8751d);color:#132b3e}.vca-map-pin.cargo span{background:linear-gradient(145deg,#30b386,#147653)}
.map-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:10px;color:#60778a;font-size:11px}.map-legend span{display:flex;align-items:center;gap:7px}.map-legend i{display:inline-block}.legend-route{width:24px;height:0;border-top:3px dashed #e78325}.legend-aircraft{width:16px;height:16px;border-radius:50%;background:#ef8f32;border:2px solid #fff;box-shadow:0 0 0 1px #ef8f32}
.builder-geo-panel{margin:18px 24px 0;padding:15px;border:1px solid #d3e2eb;border-radius:14px;background:linear-gradient(145deg,#f3f9fc,#fff)}.builder-geo-panel>div:first-child{display:flex;justify-content:space-between;gap:15px;margin-bottom:10px}.builder-geo-panel strong,.builder-geo-panel small{display:block}.builder-geo-panel small{color:#6d8294}
.glossary-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px}.glossary-card{padding:14px;border:1px solid var(--border);border-radius:11px;background:#fafcfd}.glossary-card b{display:block;color:#174d6c}.glossary-card span{display:block;margin-top:4px;color:#5d7385}.guide-toc{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}.guide-toc a{padding:8px 10px;border:1px solid #cbdce7;border-radius:999px;background:#fff;font-weight:750;font-size:12px}.guide-note{padding:13px 15px;border-left:4px solid var(--sky);border-radius:8px;background:#edf8fd;color:#365a72}.guide-note strong{color:#174d6c}.faq-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:12px}.faq-toolbar input{max-width:420px}.faq-list details[hidden]{display:none}.term-code{display:inline-block;padding:2px 6px;border-radius:5px;background:#edf3f7;color:#476277;font:700 11px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace}
@media(max-width:1000px){.glossary-grid{grid-template-columns:repeat(2,1fr)}.geo-map-large{height:400px}}
@media(max-width:700px){.geo-map,.geo-map-medium,.geo-map-large,.geo-map-builder{height:310px}.builder-geo-panel{margin:14px 14px 0}.builder-geo-panel>div:first-child{display:block}.glossary-grid{grid-template-columns:1fr}.context-map-panel .panel-head,.network-map-panel .panel-head{align-items:flex-start;flex-direction:column}}


/* ==========================================================
   V0.7 — Tema scuro aeronautico
   ========================================================== */
html{color-scheme:light}
html[data-theme="dark"]{color-scheme:dark;--navy:#061420;--navy2:#020a12;--orange:#ffa64f;--blue:#4aa8ff;--sky:#68cbff;--cyan:#5de2d6;--bg:#06111c;--panel:#0b1d2b;--text:#e7f2fa;--muted:#8ea6b8;--border:#1e3d51;--danger:#ff7178;--green:#4bd39b;--shadow:0 18px 46px rgba(0,0,0,.34)}
html[data-theme="dark"] body{background:radial-gradient(circle at 92% 4%,rgba(57,157,225,.14),transparent 29%),radial-gradient(circle at 9% 92%,rgba(54,203,191,.08),transparent 25%),linear-gradient(145deg,#050e17,#081826 54%,#06111c);color:var(--text)}
html[data-theme="dark"] a{color:#70c9ff}
html[data-theme="dark"] .heading p,html[data-theme="dark"] td small,html[data-theme="dark"] .panel p,html[data-theme="dark"] .panel li{color:var(--muted)}
html[data-theme="dark"] .top{background:linear-gradient(110deg,#01060b 0%,#061827 58%,#0a2c43 100%);border-bottom-color:rgba(104,203,255,.14);box-shadow:0 14px 42px rgba(0,0,0,.46)}
.top-actions{display:flex;align-items:center;gap:12px;position:relative;z-index:2}
.theme-toggle{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:7px 10px;border:1px solid rgba(147,205,235,.25);border-radius:10px;background:rgba(255,255,255,.07);color:#dbeaf4;font:700 11px/1 Inter,Segoe UI,Arial,sans-serif;letter-spacing:.025em;cursor:pointer;transition:background .16s,border-color .16s,transform .16s}
.theme-toggle:hover{background:rgba(104,203,255,.14);border-color:rgba(104,203,255,.48);transform:translateY(-1px)}
.theme-toggle:focus-visible{outline:3px solid rgba(104,203,255,.25);outline-offset:2px}
.theme-toggle .theme-icon{display:grid;place-items:center}.theme-toggle .ui-icon{width:17px;height:17px}.theme-icon-sun{display:none!important}
html[data-theme="dark"] .theme-icon-moon{display:none!important}html[data-theme="dark"] .theme-icon-sun{display:grid!important;color:#ffd17c}
html[data-theme="dark"] .shell>aside{background:linear-gradient(180deg,#071d2e 0%,#04121e 72%,#020b12 100%);border-right-color:rgba(104,203,255,.08);box-shadow:10px 0 34px rgba(0,0,0,.23)}
html[data-theme="dark"] .shell>aside nav a{color:#b9cfdd}
html[data-theme="dark"] .shell>aside nav a:hover{background:rgba(77,174,233,.1);border-color:rgba(104,203,255,.15)}
html[data-theme="dark"] .shell>aside nav a.active{color:#f3f9fd;background:linear-gradient(90deg,rgba(47,128,237,.31),rgba(81,215,208,.09));border-color:rgba(104,203,255,.27)}
html[data-theme="dark"] .panel,html[data-theme="dark"] .login-card,html[data-theme="dark"] .kpis article{color:var(--text);background:linear-gradient(160deg,#0d2232,#091925);border-color:rgba(70,119,148,.48);box-shadow:var(--shadow)}
html[data-theme="dark"] .panel h1,html[data-theme="dark"] .panel h2,html[data-theme="dark"] .panel h3,html[data-theme="dark"] .login-card h1{color:#edf7fc}
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{color:#e8f3fa;background:#071824;border-color:#285069;box-shadow:inset 0 1px 0 rgba(255,255,255,.02)}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#668398}
html[data-theme="dark"] input:focus,html[data-theme="dark"] select:focus,html[data-theme="dark"] textarea:focus{border-color:#4aa8ff;outline-color:rgba(74,168,255,.18);box-shadow:0 0 0 1px rgba(74,168,255,.14),0 0 24px rgba(34,127,190,.08)}
html[data-theme="dark"] label{color:#a9bfd0}
html[data-theme="dark"] .btn{color:#dbeaf4;background:#102838;border-color:#31566d}
html[data-theme="dark"] .btn:hover{background:#153348}
html[data-theme="dark"] .btn.primary{color:#fff;background:linear-gradient(135deg,#237dc9,#164b78);border-color:#2c79ae}
html[data-theme="dark"] .btn.accent{color:#182432;background:linear-gradient(135deg,#ffbd70,#ff952e);border-color:#e98427}
html[data-theme="dark"] .btn.danger{color:#ff9ca1;background:#32171c;border-color:#71343b}
html[data-theme="dark"] .btn.ghost{background:rgba(255,255,255,.06);color:#e8f4fa;border-color:rgba(255,255,255,.2)}
html[data-theme="dark"] th{color:#9eb7c8;background:#0a2130;border-top-color:#23465c}
html[data-theme="dark"] td{border-bottom-color:#1b394b}html[data-theme="dark"] tbody tr:hover{background:#0d2738}
html[data-theme="dark"] code,html[data-theme="dark"] .term-code{background:#102838;color:#a9c9dd}
html[data-theme="dark"] .info-tip{background:#102838;color:#83cefa;border-color:#3c6a84}
html[data-theme="dark"] .info-tooltip-box{background:#dcecf6;color:#102233;box-shadow:0 14px 38px rgba(0,0,0,.48)}
html[data-theme="dark"] .badge.ok{background:#10382b;color:#72dfae;border-color:#235b46}
html[data-theme="dark"] .badge.info{background:#102f45;color:#82d0fb;border-color:#285a76}
html[data-theme="dark"] .badge.warn{background:#3a2d12;color:#ffd27f;border-color:#6c5426}
html[data-theme="dark"] .badge.bad{background:#3a191e;color:#ff9da3;border-color:#71323a}
html[data-theme="dark"] .badge.muted{background:#162732;color:#9bb0bd;border-color:#294351}
html[data-theme="dark"] .alert.ok{background:#103526;border-color:#286248;color:#7ee3b5}
html[data-theme="dark"] .alert.bad{background:#39191d;border-color:#78353b;color:#ffadb1}
html[data-theme="dark"] .alert.warn{background:#3b2d12;border-color:#765a28;color:#ffd48a}
html[data-theme="dark"] .metric-card{color:var(--text);background:linear-gradient(145deg,rgba(15,39,56,.97),rgba(8,25,37,.97));border-color:#24475c;box-shadow:0 14px 34px rgba(0,0,0,.24)}
html[data-theme="dark"] .metric-icon{color:#78ceff;background:linear-gradient(145deg,#10314a,#0b2233);border-color:#28546d}
html[data-theme="dark"] .metric-card span,html[data-theme="dark"] .metric-card small,html[data-theme="dark"] .performance-numbers span,html[data-theme="dark"] .progress-ring small,html[data-theme="dark"] .trend-value,html[data-theme="dark"] .trend-column small{color:#8ca6b8}
html[data-theme="dark"] .performance-card{background:linear-gradient(145deg,#0d2232,#081823)}
html[data-theme="dark"] .performance-numbers>div,html[data-theme="dark"] .fleet-status-grid article{background:#0b2232;border-color:#1f4257}
html[data-theme="dark"] .performance-bars>div,html[data-theme="dark"] .mix-row>div:last-child{background:#183142}
html[data-theme="dark"] .progress-ring{background:conic-gradient(var(--cyan) calc(var(--value)*1%),#183343 0)}
html[data-theme="dark"] .progress-ring:after{background:#0b1d2b}
html[data-theme="dark"] .pulse-stats p{border-bottom-color:#244151}
html[data-theme="dark"] .pulse-stats span{color:#91a8b9}
html[data-theme="dark"] .pulse-stats b,html[data-theme="dark"] .route-chip,html[data-theme="dark"] .lane-route{color:#d8ebf7}
html[data-theme="dark"] .trend-track{background:linear-gradient(180deg,#183546,#102534)}
html[data-theme="dark"] .mix-row span{color:#9ab1c1}
html[data-theme="dark"] .modern-table .flight-link{color:#72caff}
html[data-theme="dark"] .deadline-item{background:#0b2232;border-left-color:#4b8eb5}
html[data-theme="dark"] .deadline-item.warning{background:#302611;border-left-color:#f2aa42}
html[data-theme="dark"] .deadline-item.critical{background:#30171b;border-left-color:#e6676b}
html[data-theme="dark"] .deadline-item span,html[data-theme="dark"] .deadline-item small,html[data-theme="dark"] .fleet-status-grid small,html[data-theme="dark"] .route-ranking small{color:#8da5b6}
html[data-theme="dark"] .route-ranking article{border-bottom-color:#1d3a4b}
html[data-theme="dark"] .route-ranking article>span{background:#102d41;color:#76cfff}
html[data-theme="dark"] .simulation-panel{border-color:#24536d;background:linear-gradient(145deg,#0b2232,#081925)}
html[data-theme="dark"] .simulation-form,html[data-theme="dark"] .result-note{background:#0b1e2c}
html[data-theme="dark"] .simulation-note{background:#102d40;color:#a6c6d9;border-color:#24536d}
html[data-theme="dark"] .completion-banner p{color:#9bb4c5}
html[data-theme="dark"] .completion-banner.simulated{background:#0c2a3c;border-color:#285a74}
html[data-theme="dark"] .completion-banner.simulated>div:first-child{background:#123b53;color:#76cfff}
html[data-theme="dark"] .completion-banner.verified{background:#0e3025;border-color:#2c654d}
html[data-theme="dark"] .completion-banner.verified>div:first-child{background:#154332;color:#6ee0aa}
html[data-theme="dark"] .flight-filters{border-bottom-color:#1f3e50}
html[data-theme="dark"] .flight-filters>button,html[data-theme="dark"] .schedule-shortcuts button{color:#a9bdca;background:#0d2332;border-color:#294b60}
html[data-theme="dark"] .flight-filters>button b{background:#193447;color:#b9d0dd}
html[data-theme="dark"] .flight-filters>button.active{color:#fff;background:#17648f;border-color:#2681af}
html[data-theme="dark"] .builder-step{border-bottom-color:#1e3d50}
html[data-theme="dark"] .step-title>span{color:#80d2ff;background:linear-gradient(145deg,#10334c,#0b2435);border-color:#28546c}
html[data-theme="dark"] .step-title p,html[data-theme="dark"] .lane-volume small,html[data-theme="dark"] .lane-meta small,html[data-theme="dark"] .lane-deadline,html[data-theme="dark"] .aircraft-choice small,html[data-theme="dark"] .aircraft-maintenance,html[data-theme="dark"] .cargo-card-main small,html[data-theme="dark"] .cargo-card-product small,html[data-theme="dark"] .cargo-card-metrics small,html[data-theme="dark"] .cargo-card-deadline{color:#8da6b8}
html[data-theme="dark"] .lane-card,html[data-theme="dark"] .aircraft-choice{color:var(--text);border-color:#24475c;background:linear-gradient(145deg,#0d2536,#091b28);box-shadow:0 9px 24px rgba(0,0,0,.2)}
html[data-theme="dark"] .lane-card:hover,html[data-theme="dark"] .aircraft-choice:hover{border-color:#4b91b8;box-shadow:0 14px 30px rgba(0,0,0,.27)}
html[data-theme="dark"] .lane-card.active,html[data-theme="dark"] .aircraft-choice.active{border-color:#47aee4;background:linear-gradient(145deg,#103149,#0b2131);box-shadow:0 0 0 3px rgba(74,168,255,.13)}
html[data-theme="dark"] .lane-deadline,html[data-theme="dark"] .aircraft-maintenance{border-top-color:#244151}
html[data-theme="dark"] .lane-meta em{color:#5cdfa4}
html[data-theme="dark"] .aircraft-choice-icon{background:#103149;color:#7bd0ff}
html[data-theme="dark"] .cargo-card{color:var(--text);background:#0a1f2e;border-color:#214357}
html[data-theme="dark"] .cargo-card:hover{background:#0d283a;border-color:#3d799a}
html[data-theme="dark"] .cargo-card.selected{background:#103149;border-color:#4aa8df;box-shadow:inset 4px 0 #4aa8ff}
html[data-theme="dark"] .cargo-card-product{color:#b6d4e6}
html[data-theme="dark"] .flight-id-preview,html[data-theme="dark"] .advanced-fields,html[data-theme="dark"] .user-stats-box{background:#0d293b;border-color:#234b62}
html[data-theme="dark"] .flight-id-preview span,html[data-theme="dark"] .user-stats-box span{color:#87a4b7}
html[data-theme="dark"] .flight-id-preview strong,html[data-theme="dark"] .user-stats-box b,html[data-theme="dark"] .advanced-fields summary{color:#bfe5fa}
html[data-theme="dark"] .advanced-fields[open] summary{border-bottom-color:#234759}
html[data-theme="dark"] .builder-submit-bar{background:rgba(7,23,34,.94);border-top-color:#24485d;box-shadow:0 -14px 34px rgba(0,0,0,.3)}
html[data-theme="dark"] .builder-submit-bar small{color:#89a3b5}
html[data-theme="dark"] .login-secondary{border-top-color:#244253}
html[data-theme="dark"] .login-secondary span{color:#8ea6b7}
html[data-theme="dark"] .unified-user-note{color:var(--text);background:linear-gradient(135deg,#0d2b3e,#0a1b28);border-color:#2b5a73;box-shadow:0 12px 30px rgba(0,0,0,.22)}
html[data-theme="dark"] .unified-user-note strong{color:#c7eaff}
html[data-theme="dark"] .unified-user-note p,html[data-theme="dark"] .user-stats-box small{color:#8fa9ba}
html[data-theme="dark"] .guide-hero{background:linear-gradient(135deg,#0c2536,#081925)}
html[data-theme="dark"] .guide-hero p,html[data-theme="dark"] .tutorial-steps p,html[data-theme="dark"] .guide-dl dd,html[data-theme="dark"] .status-guide p,html[data-theme="dark"] .faq-list p,html[data-theme="dark"] .checklist li{color:#9eb3c2}
html[data-theme="dark"] .flow-strip{background:#081b28;border-color:#23475b}
html[data-theme="dark"] .flow-strip span{background:#102d40;color:#c4e6f8}
html[data-theme="dark"] .tutorial-steps li,html[data-theme="dark"] .status-guide article,html[data-theme="dark"] .faq-list details,html[data-theme="dark"] .glossary-card{background:#0a1f2e;border-color:#214357}
html[data-theme="dark"] .guide-dl dt,html[data-theme="dark"] .faq-list summary,html[data-theme="dark"] .glossary-card b{color:#bde7fc}
html[data-theme="dark"] .faq-list details[open] summary{border-bottom-color:#234759}
html[data-theme="dark"] .guide-toc a{background:#0c2333;border-color:#285068;color:#a8d9f5}
html[data-theme="dark"] .guide-note{background:#0d2a3d;color:#a9c7d9}
html[data-theme="dark"] .guide-note strong{color:#c7eaff}
.theme-guide-preview{display:flex;align-items:center;justify-content:center;gap:16px;max-width:420px;margin:18px 0 0;padding:18px;border-radius:14px;background:linear-gradient(90deg,#f7fbfe 0 48%,#0b1d2b 52% 100%);border:1px solid var(--border);box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.theme-guide-preview span:first-child{color:#1d4059}.theme-guide-preview span:last-child{color:#dcecf7}.theme-guide-preview span{font-size:11px;font-weight:900;letter-spacing:.12em}.theme-guide-preview i{font-style:normal;color:var(--orange)}
html[data-theme="dark"] .theme-guide-preview{background:linear-gradient(90deg,#dcebf4 0 48%,#071722 52% 100%)}
html[data-theme="dark"] .builder-geo-panel{background:linear-gradient(145deg,#0c2638,#081824);border-color:#244a60}
html[data-theme="dark"] .builder-geo-panel small,html[data-theme="dark"] .map-legend{color:#8fa8b9}
html[data-theme="dark"] .geo-map{background:linear-gradient(145deg,#0a1c28,#0d2738);border-color:#285168}
html[data-theme="dark"] .geo-map .leaflet-tile-pane{filter:brightness(.64) invert(1) contrast(1.22) hue-rotate(180deg) saturate(.7)}
html[data-theme="dark"] .geo-map .leaflet-control-zoom a{color:#d8ecf7;background:#0b2232;border-bottom-color:#244b61}
html[data-theme="dark"] .geo-map .leaflet-control-zoom a:hover{background:#12344a}
html[data-theme="dark"] .geo-map .leaflet-control-attribution{color:#8ca5b6;background:rgba(5,18,28,.88)}
html[data-theme="dark"] .geo-map .leaflet-control-attribution a{color:#76ccfb}
html[data-theme="dark"] .geo-map .leaflet-popup-content-wrapper,html[data-theme="dark"] .geo-map .leaflet-popup-tip{color:var(--text);background:#0c2536}
html[data-theme="dark"] .map-popup strong{color:#c9ebfc}
html[data-theme="dark"] .map-popup span{color:#91a9b9}
html[data-theme="dark"] .map-placeholder{color:#a9c4d5;background:radial-gradient(circle at 35% 35%,rgba(68,169,224,.14),transparent 30%),linear-gradient(145deg,#091d2b,#0c2839)}
html[data-theme="dark"] .map-placeholder small{color:#839cac}
@media(max-width:800px){.theme-toggle-label{display:none}.theme-toggle{padding:8px}.top-actions{gap:8px}}
@media(prefers-reduced-motion:reduce){.theme-toggle,.lane-card,.aircraft-choice{transition:none}}

html[data-theme="dark"]{scrollbar-color:#31566d #071824}
html[data-theme="dark"] ::selection{background:#2f80ed;color:#fff}
html[data-theme="dark"] .trend-pill.positive{background:#10382b;color:#72dfae}
html[data-theme="dark"] .trend-pill.negative{background:#3a191e;color:#ff9da3}
html[data-theme="dark"] .geo-map .leaflet-control-scale-line{color:#d4e7f2;background:rgba(5,18,28,.72);border-color:#7d9aaa}
html[data-theme="dark"] .geo-map .leaflet-popup-close-button{color:#9fc6db}
html[data-theme="dark"] .geo-map .leaflet-popup-close-button:hover{color:#fff}
body,.panel,.metric-card,input,select,textarea,.btn,th,td{transition:background-color .18s ease,border-color .18s ease,color .18s ease}
@media(prefers-reduced-motion:reduce){body,.panel,.metric-card,input,select,textarea,.btn,th,td{transition:none}}

/* v0.8 · missioni, sala operativa, rotazioni e manutenzione */
.operations-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px;margin-bottom:20px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(135deg,#0f3857,#16537b);color:#fff;box-shadow:var(--shadow)}
.operations-hero h2{margin:4px 0;font-size:28px}.operations-hero p{max-width:760px;margin:0;color:#d2e8f5}.operations-counters{display:flex;gap:10px}.operations-counters article{min-width:88px;padding:13px;border-radius:13px;text-align:center;background:#ffffff16;border:1px solid #ffffff24}.operations-counters strong{display:block;font-size:25px}.operations-counters span{font-size:11px;text-transform:uppercase;letter-spacing:.09em}.operations-counters .urgent{box-shadow:inset 0 -3px #ff6d73}.operations-counters .warning{box-shadow:inset 0 -3px #ffb84d}.operations-counters .info{box-shadow:inset 0 -3px #65c8ff}
.advice-list{display:grid;gap:10px}.advice-list.compact{gap:8px}.advice-card{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;border:1px solid var(--border);border-radius:13px;background:var(--panel-alt,#f8fbfd)}.advice-card .advice-signal{width:8px;height:42px;border-radius:999px;background:#58a9d6}.advice-card.urgent .advice-signal{background:#e45d64}.advice-card.warning .advice-signal{background:#eaa43e}.advice-card.info .advice-signal{background:#48aee0}.advice-copy strong{font-size:15px}.advice-copy p{margin:3px 0 0;color:var(--muted)}.advice-actions{display:flex;align-items:center;gap:7px}.advice-actions form{margin:0}.operations-clear{display:flex;flex-direction:column;align-items:center;text-align:center;padding:28px;color:var(--muted)}.operations-clear>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#daf5e8;color:#168055;font-size:24px}.operations-clear strong{margin-top:8px;color:var(--text)}.operations-clear p{margin:3px 0}.operations-explainer .three article{padding:15px;border:1px solid var(--border);border-radius:12px;background:var(--panel-alt,#f8fbfd)}.operations-explainer p{color:var(--muted)}

.operation-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.operation-type-card{display:flex;align-items:flex-start;gap:12px;text-align:left;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--panel);color:var(--text);cursor:pointer;transition:.18s ease}.operation-type-card:hover{transform:translateY(-2px);border-color:#55a8d4;box-shadow:0 12px 26px #143c5514}.operation-type-card.active{border-color:#258aca;background:linear-gradient(145deg,#edf8fe,#f8fcff);box-shadow:0 0 0 3px #3fa6dc20}.operation-type-card .ui-icon{flex:0 0 auto;width:25px;height:25px;color:#177ab1}.operation-type-card strong,.operation-type-card b{display:block}.operation-type-card small{display:block;margin-top:4px;color:var(--muted);line-height:1.4}.operation-pill{display:inline-flex;padding:4px 8px;border-radius:999px;background:#e7f4fb;color:#196a96;font-size:11px;font-weight:800}.commercial-fields,.manual-route-panel,.declared-load{padding:15px;border:1px solid var(--border);border-radius:13px;background:var(--panel-alt,#f8fbfd)}.cost-responsibility{display:grid;grid-template-columns:1fr;gap:8px}.cost-responsibility>strong,.cost-responsibility>p,.cost-responsibility>div{grid-column:1/-1}.cost-responsibility>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.cost-responsibility label{display:flex;gap:7px;align-items:center;padding:9px;border:1px solid var(--border);border-radius:9px;background:var(--panel)}.cost-responsibility input{width:auto}.mission-estimate{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-top:15px}.mission-estimate article{padding:12px;border:1px solid var(--border);border-radius:11px;background:var(--panel-alt,#f8fbfd)}.mission-estimate span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase}.mission-estimate strong{display:block;margin-top:4px;font-size:16px}.mission-estimate strong.negative{color:var(--danger)}.aircraft-choice.unavailable{opacity:.48;filter:grayscale(.3);cursor:not-allowed}.aircraft-availability{grid-column:1/-1;padding-top:8px;border-top:1px dashed var(--border);font-size:12px;font-weight:700;color:#2d6e94}.aircraft-choice.unavailable .aircraft-availability{color:var(--danger)}

.maintenance-form,.reschedule-panel{margin-top:15px;border:1px solid var(--border);border-radius:12px;padding:0 14px}.maintenance-form summary,.reschedule-panel summary{padding:13px 0;font-weight:800;cursor:pointer}.maintenance-form[open] summary,.reschedule-panel[open] summary{border-bottom:1px solid var(--border);margin-bottom:14px}.empty-mission{display:grid;place-items:center;text-align:center;min-height:210px;color:var(--muted)}.empty-mission .ui-icon{width:42px;height:42px;color:#4c9dc8}.empty-mission strong{color:var(--text);font-size:18px}.empty-mission p{max-width:440px}.flight-timeline{display:grid;gap:0}.flight-timeline article{display:grid;grid-template-columns:20px 1fr;gap:12px;position:relative;padding:0 0 20px}.flight-timeline article>span{width:11px;height:11px;margin-top:5px;border-radius:50%;background:#3d9fd1;box-shadow:0 0 0 4px #3d9fd122}.flight-timeline article:not(:last-child):before{content:"";position:absolute;left:5px;top:17px;bottom:2px;width:1px;background:var(--border)}.flight-timeline strong{display:block}.flight-timeline p{margin:2px 0;color:var(--muted)}.flight-timeline small{color:var(--muted)}.guide-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.guide-card-grid article{padding:15px;border:1px solid var(--border);border-radius:12px;background:var(--panel-alt,#f8fbfd)}.guide-card-grid article>span{display:inline-block;padding:3px 7px;border-radius:999px;background:#e5f3fa;color:#1c709c;font-size:10px;font-weight:900;text-transform:uppercase}.guide-card-grid strong{display:block;margin-top:8px}.guide-card-grid p,.guide-card-grid small{color:var(--muted)}

html[data-theme="dark"] .operations-hero{background:linear-gradient(135deg,#092234,#0c3854);border-color:#2a5872}html[data-theme="dark"] .advice-card,html[data-theme="dark"] .operations-explainer .three article,html[data-theme="dark"] .commercial-fields,html[data-theme="dark"] .manual-route-panel,html[data-theme="dark"] .declared-load,html[data-theme="dark"] .mission-estimate article,html[data-theme="dark"] .guide-card-grid article{background:#0a1f2e;border-color:#214357}html[data-theme="dark"] .operation-type-card{background:linear-gradient(145deg,#0d2536,#091b28);border-color:#24475c;color:var(--text)}html[data-theme="dark"] .operation-type-card.active{background:linear-gradient(145deg,#103149,#0b2131);border-color:#47aee4}html[data-theme="dark"] .operation-type-card small,html[data-theme="dark"] .advice-copy p,html[data-theme="dark"] .flight-timeline p,html[data-theme="dark"] .flight-timeline small,html[data-theme="dark"] .guide-card-grid p,html[data-theme="dark"] .guide-card-grid small{color:#8fa8b9}html[data-theme="dark"] .operation-pill,html[data-theme="dark"] .guide-card-grid article>span{background:#103149;color:#84d2fb}html[data-theme="dark"] .cost-responsibility label{background:#0d2536;border-color:#24475c}html[data-theme="dark"] .operations-clear>span{background:#10382b;color:#72dfae}html[data-theme="dark"] .aircraft-availability{border-color:#294b60;color:#7bcdf8}

@media(max-width:1100px){.operation-type-grid,.guide-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mission-estimate{grid-template-columns:repeat(3,minmax(0,1fr))}.cost-responsibility>div{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.operations-hero{align-items:flex-start;flex-direction:column}.operations-counters{width:100%}.operations-counters article{flex:1}.advice-card{grid-template-columns:7px 1fr}.advice-card>.btn,.advice-actions{grid-column:2}.operation-type-grid,.guide-card-grid,.mission-estimate{grid-template-columns:1fr}.cost-responsibility>div{grid-template-columns:1fr}}

/* =========================================================
   Versione 0.8.1 — schermate compatte e nuova creazione voli
   ========================================================= */
.page-actions-row{display:flex;align-items:stretch;justify-content:space-between;gap:18px;margin-bottom:18px}.mini-kpis{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;flex:1}.mini-kpis article{padding:13px 15px;border:1px solid var(--border);border-radius:12px;background:var(--panel);box-shadow:var(--panel-shadow,0 4px 14px rgba(13,42,61,.05))}.mini-kpis span{display:block;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.mini-kpis strong{display:block;margin-top:4px;font-size:20px}.flight-create-main{min-width:170px;align-self:stretch;font-size:14px}.panel-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.compact-select{display:flex;align-items:center;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.compact-select select{min-width:190px;padding:7px 9px}.flights-table{max-height:680px;overflow:auto}.flights-table thead th{position:sticky;top:0;z-index:2}.collapsible-map-panel{transition:padding .2s ease}.collapsible-map-panel.is-collapsed{padding-bottom:12px}.collapsible-map-panel.is-collapsed>:not(.panel-head){display:none!important}.collapsible-map-panel.is-collapsed .panel-head{margin-bottom:0}.map-toggle{white-space:nowrap}.compact-map-panel .geo-map-medium{height:300px}

.flight-create-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.create-help{display:flex;align-items:baseline;gap:9px;color:var(--muted)}.create-help strong{color:var(--text)}.flight-builder-v081{padding:0;overflow:visible}.compact-builder-hero{padding:21px 24px}.compact-builder-hero h2{font-size:24px}.flight-builder-v081 .flight-builder-form{padding:0}.wizard-progress{position:sticky;top:68px;z-index:12;display:grid;grid-template-columns:repeat(6,1fr);gap:0;padding:0 18px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--panel) 94%,transparent);backdrop-filter:blur(12px)}.wizard-progress button{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;min-height:58px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font:inherit;cursor:pointer}.wizard-progress button span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--soft,#eef5f8);font-size:11px;font-weight:900}.wizard-progress button b{font-size:12px}.wizard-progress button.active{color:var(--accent,#ef8f32);border-bottom-color:var(--accent,#ef8f32)}.wizard-progress button.active span{color:#142838;background:var(--accent,#ef8f32)}.wizard-progress button.complete{color:var(--success,#18865d)}.wizard-progress button.complete span{color:#fff;background:var(--success,#18865d)}.wizard-progress button[hidden]{display:none}.wizard-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;padding:22px}.wizard-main{min-width:0}.wizard-pane{display:none!important;padding:5px 0 18px;border:0}.wizard-pane.active{display:block!important;animation:wizardIn .18s ease}.wizard-pane.step-needs-attention{animation:stepShake .36s ease}.wizard-pane .step-title{margin-bottom:18px}.wizard-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0 0;border-top:1px solid var(--border)}.wizard-controls>div{color:var(--muted);font-size:12px}.wizard-controls .builder-submit{margin-left:auto}.wizard-summary{position:sticky;top:144px;align-self:start;overflow:hidden;border:1px solid var(--border);border-radius:16px;background:var(--panel);box-shadow:0 14px 38px rgba(4,30,48,.1)}.wizard-summary-head{display:grid;gap:4px;padding:17px 18px 12px}.wizard-summary-head strong{font-size:16px}.summary-route{display:flex;align-items:center;justify-content:center;gap:13px;padding:12px 18px;color:#fff;background:linear-gradient(120deg,#071a29,#0d567d)}.summary-route span{font-size:21px;font-weight:900}.summary-route i{color:#72d5ff;font-style:normal}.summary-map{padding:10px}.summary-map .geo-map-builder{height:190px;border-radius:11px}.summary-list{display:grid;margin:0;padding:0 17px 10px}.summary-list>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid var(--border)}.summary-list dt{color:var(--muted);font-size:11px}.summary-list dd{margin:0;font-weight:800;text-align:right}.summary-margin dd{color:var(--success,#18865d)}.summary-margin dd.negative{color:var(--danger,#b73535)}.summary-readiness{display:grid;gap:3px;padding:13px 17px;background:var(--soft,#eef5f8)}.summary-readiness small{color:var(--muted)}
.operation-group{margin-bottom:17px}.operation-group h4{margin:0 0 8px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.compact-operation-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.compact-operation-grid .operation-type-card{min-height:116px;padding:13px}.compact-operation-grid .operation-type-card small{font-size:11px;line-height:1.35}.compact-lane-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:480px;overflow:auto;padding-right:4px}.contract-route-notice{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px dashed #7bb8d8;border-radius:12px;background:#eaf7fd}.contract-route-notice>span{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#cceeff;color:#17658f}.contract-route-notice strong{display:block}.contract-route-notice p{margin:3px 0 0;color:#5f788a}.compact-commercial-form{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-autofill-card{display:grid;gap:13px;margin-top:15px;padding:16px;border:1px solid #b9dceb;border-radius:13px;background:linear-gradient(145deg,#edf9fe,#f9fdff)}.contract-autofill-card dl{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0}.contract-autofill-card dl div{padding:9px;border-radius:9px;background:#fff}.contract-autofill-card dt{color:var(--muted);font-size:10px;text-transform:uppercase}.contract-autofill-card dd{margin:2px 0 0;font-weight:800}.revenue-model-note{display:flex;align-items:center;gap:12px;margin-top:12px;padding:11px 13px;border-radius:10px;background:var(--soft,#eef5f8)}.revenue-model-note p{margin:0;color:var(--muted)}.compact-aircraft-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:540px;overflow:auto}.optional-existing-cargo{display:grid;gap:4px;margin-bottom:13px;padding:13px 15px;border:1px solid var(--border);border-radius:11px;background:var(--soft,#eef5f8)}.switch-line{display:flex;align-items:center;gap:9px}.switch-line input{width:auto}.cargo-filter-message{margin-bottom:10px;padding:11px;border-radius:9px;background:var(--soft,#eef5f8);color:var(--muted);font-size:12px}.declared-load p{margin:0 0 10px;color:var(--muted)}

/* Migliorie trasversali di leggibilità */
.heading{margin-bottom:17px}.heading h1{font-size:27px}.panel{scroll-margin-top:90px}.panel-head{gap:12px}.table{border-radius:10px}.table table{font-variant-numeric:tabular-nums}.table tbody tr:hover{background:color-mix(in srgb,var(--accent,#ef8f32) 5%,transparent)}.actions.bar{margin-bottom:14px}.form,.stack{gap:12px}.split{align-items:start}.empty{min-height:48px}.btn{min-height:34px}.btn.small{min-height:28px}.context-map-panel+.panel,.network-map-panel+.panel{margin-top:16px}

@keyframes wizardIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes stepShake{0%,100%{transform:none}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}

html[data-theme="dark"] .wizard-progress{background:rgba(6,24,36,.93)}html[data-theme="dark"] .wizard-summary{box-shadow:0 18px 45px rgba(0,0,0,.3)}html[data-theme="dark"] .contract-route-notice{border-color:#2f708f;background:#0c2c3e}html[data-theme="dark"] .contract-route-notice>span{background:#123f58;color:#8edbff}html[data-theme="dark"] .contract-autofill-card{border-color:#28546b;background:linear-gradient(145deg,#0b2637,#0d3043)}html[data-theme="dark"] .contract-autofill-card dl div{background:#091f2e}html[data-theme="dark"] .summary-route{background:linear-gradient(120deg,#04111b,#0a405f)}

@media(max-width:1180px){.wizard-layout{grid-template-columns:1fr}.wizard-summary{position:static;display:grid;grid-template-columns:1fr 1fr}.wizard-summary-head,.summary-route,.summary-readiness{grid-column:1/-1}.summary-map{grid-column:1}.summary-list{grid-column:2;align-self:center}.mini-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.page-actions-row{flex-direction:column}.flight-create-main{align-self:auto}.wizard-progress{top:68px;overflow:auto;grid-template-columns:repeat(6,minmax(105px,1fr));padding:0 8px}.wizard-layout{padding:14px}.wizard-summary{display:block}.compact-operation-grid,.compact-lane-grid,.compact-aircraft-grid,.contract-autofill-card dl{grid-template-columns:1fr}.compact-commercial-form{grid-template-columns:1fr}.wizard-controls{position:sticky;bottom:0;z-index:10;margin:0 -14px -14px;padding:12px 14px;background:var(--panel);box-shadow:0 -8px 24px rgba(4,30,48,.08)}.create-help{display:none}}
@media(max-width:600px){.mini-kpis{grid-template-columns:1fr 1fr}.mini-kpis article{padding:10px}.wizard-progress button b{font-size:11px}.wizard-progress button{min-height:50px}.compact-builder-hero{padding:18px}.compact-builder-hero h2{font-size:21px}.flight-builder-v081 .builder-route-preview{display:none}.wizard-controls>div{display:none}.wizard-controls .btn{flex:1}.wizard-summary{border-radius:12px}}
.wizard-summary-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.wizard-summary-head>div{display:grid;gap:4px}.summary-map.is-hidden{display:none}

/* v0.8.2 · Spedizioni operative e notiziario interno */
.shipment-top-actions{justify-content:flex-end;margin:-58px 0 20px}.shipment-kpis article small{display:block;margin-top:5px;color:var(--muted);font-size:11px}.shipment-priority-panel>.panel-head p,.shipment-archive-panel>.panel-head p,.context-map-panel>.panel-head p{margin:3px 0 0;color:var(--muted)}
.shipment-priority-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.shipment-priority-card{position:relative;overflow:hidden;padding:16px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(145deg,#fff,#f8fbfd);box-shadow:0 7px 18px rgba(16,50,73,.06)}.shipment-priority-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:#7b9aae}.shipment-priority-card.priority-express:before{background:#ee9a38}.shipment-priority-card.priority-urgent:before,.shipment-priority-card.deadline-critical:before{background:#d84b55}.shipment-priority-card header,.shipment-priority-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.shipment-priority-card header small{display:block;color:var(--muted)}.shipment-priority-card footer{justify-content:flex-end;margin-top:13px}.shipment-route{display:flex;align-items:center;justify-content:center;gap:13px;margin:15px 0;padding:9px;border-radius:10px;background:var(--soft,#edf4f7);font-size:18px}.shipment-route span{color:var(--orange)}.shipment-priority-card dl{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0}.shipment-priority-card dl div{padding:9px;border:1px solid var(--border);border-radius:9px}.shipment-priority-card dt{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.shipment-priority-card dd{margin:3px 0 0;font-weight:750}.aircraft-presence{display:flex;align-items:center;gap:10px;margin-top:10px;padding:10px;border-radius:10px}.aircraft-presence>span{display:grid;place-items:center;width:33px;height:33px;border-radius:50%;font-weight:900}.aircraft-presence b,.aircraft-presence small{display:block}.aircraft-presence small{color:var(--muted)}.aircraft-presence.yes{background:#e3f7ee;color:#126b47}.aircraft-presence.yes>span{background:#bcebd7}.aircraft-presence.no{background:#fff0e9;color:#943d2f}.aircraft-presence.no>span{background:#ffd4c8}
.deadline-pill{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:850;background:#edf1f4;color:#5c6c77}.deadline-pill.bad{background:#f9dddd;color:#912b31}.deadline-pill.warn{background:#fff0d1;color:#80540b}.deadline-pill.info{background:#dceff9;color:#145a7b}.deadline-pill.muted{background:#edf1f4;color:#5d6b75}
.shipment-network-layout{grid-template-columns:minmax(0,1.55fr) minmax(330px,.65fr)}.airport-cargo-list{display:grid;gap:8px;max-height:530px;overflow:auto;padding-right:3px}.airport-cargo-list article{position:relative;display:grid;grid-template-columns:minmax(110px,1fr) auto auto;align-items:center;gap:10px;padding:12px;border:1px solid var(--border);border-radius:11px;background:var(--panel-alt,#f9fbfc)}.airport-cargo-code b,.airport-cargo-code small,.airport-cargo-load strong,.airport-cargo-load small{display:block}.airport-cargo-code small,.airport-cargo-load small{color:var(--muted);font-size:10px}.airport-cargo-load{text-align:right}.aircraft-yesno{display:inline-flex;align-items:center;justify-content:center;min-width:65px;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900}.aircraft-yesno.yes{background:#dff5e9;color:#126744}.aircraft-yesno.no{background:#fbe2e2;color:#8b252b}.airport-cargo-actions{grid-column:1/-1;display:flex;gap:11px;font-size:11px}.mini-capacity{position:absolute;left:0;right:0;bottom:0;height:3px;background:#e4ebef;overflow:hidden}.mini-capacity span{display:block;height:100%;background:linear-gradient(90deg,#2f80ed,#51d7d0)}
.shipment-advice-panel .advice-list{grid-template-columns:repeat(2,minmax(0,1fr))}.shipment-filter-form{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;padding:14px;margin-bottom:15px;border:1px solid var(--border);border-radius:12px;background:var(--soft,#f1f6f8)}.shipment-filter-form label{font-size:11px}.shipment-filter-form .filter-search{grid-column:span 2}.filter-actions{display:flex;align-items:flex-end;gap:7px}.result-count{padding:5px 9px;border-radius:999px;background:var(--soft,#edf3f6);color:var(--muted);font-size:11px;font-weight:800}.shipment-table table{min-width:1050px}.shipment-row.priority-urgent td:first-child{box-shadow:inset 4px 0 #d84b55}.shipment-row.priority-express td:first-child{box-shadow:inset 4px 0 #ee9a38}.unassigned-label{display:inline-flex;padding:5px 8px;border-radius:7px;background:#fff0d4;color:#7e550c;font-size:11px;font-weight:800}.shipment-form-panel{padding:0;overflow:hidden}.shipment-form-panel>summary,.news-editor>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 19px;cursor:pointer;list-style:none}.shipment-form-panel>summary::-webkit-details-marker,.news-editor>summary::-webkit-details-marker{display:none}.shipment-form-panel>summary span span,.shipment-form-panel>summary strong,.news-editor>summary span span,.news-editor>summary strong{display:block}.shipment-form-panel>summary small,.news-editor>summary small{color:var(--muted)}.shipment-form-panel[open]>summary,.news-editor[open]>summary{border-bottom:1px solid var(--border)}.shipment-form-panel form,.news-editor form{padding:18px}.empty-state{grid-column:1/-1;padding:30px;text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:12px}.empty-state strong{display:block;color:var(--text);font-size:16px}.empty-state p{margin:4px 0 0}

.news-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.news-actions form{margin:0}.news-filter{display:flex;gap:8px;flex:1}.news-filter input{max-width:420px}.news-filter select{max-width:240px}.news-featured{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:30px;overflow:hidden;margin-bottom:20px;padding:28px;border:1px solid #1d587c;border-radius:19px;color:#fff;background:radial-gradient(circle at 85% 25%,rgba(85,196,255,.23),transparent 28%),linear-gradient(135deg,#0b2e48,#135d88);box-shadow:0 18px 38px rgba(10,43,65,.2)}.news-featured.importance-3{border-color:#e58c31;background:radial-gradient(circle at 85% 25%,rgba(255,174,75,.28),transparent 28%),linear-gradient(135deg,#0b2e48,#164f72)}.news-featured h2{max-width:850px;margin:8px 0;font-size:31px}.news-featured p{max-width:850px;color:#d2e8f5;font-size:16px}.news-body{max-width:900px;margin-top:14px;color:#c2d9e7}.news-featured footer{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:19px;color:#a8c9da;font-size:11px}.news-featured-mark{display:grid;place-items:center}.news-featured-mark .ui-icon{width:110px;height:110px;color:#ffffff36;stroke-width:1}.news-category{display:inline-flex;padding:5px 8px;border-radius:999px;background:#ffffff18;color:inherit;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}.news-card{display:flex;flex-direction:column;min-height:270px;padding:17px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(145deg,#fff,#f8fbfd);box-shadow:0 7px 19px rgba(13,46,67,.06)}.news-card.importance-3{border-top:4px solid var(--orange)}.news-card.importance-2{border-top:4px solid #3e96c3}.news-card header,.news-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.news-card header time{color:var(--muted);font-size:10px}.news-card .news-category{color:#28617f;background:#e2f0f7}.news-card h2{margin:13px 0 7px;font-size:18px}.news-card>p{margin:0;color:var(--muted)}.news-card details{margin-top:12px;color:var(--muted)}.news-card details summary{cursor:pointer;color:#1a638d;font-weight:750}.news-card details div{margin-top:8px}.news-card footer{margin-top:auto;padding-top:15px;color:var(--muted);font-size:10px}.news-card footer a{font-size:12px;font-weight:800}.news-editor{padding:0}

html[data-theme="dark"] .shipment-priority-card,html[data-theme="dark"] .news-card{background:linear-gradient(145deg,#0c2434,#091a27);border-color:#24485d;box-shadow:0 8px 24px rgba(0,0,0,.22)}html[data-theme="dark"] .shipment-route,html[data-theme="dark"] .shipment-filter-form{background:#0c2738;border-color:#24485d}html[data-theme="dark"] .shipment-priority-card dl div,html[data-theme="dark"] .airport-cargo-list article{background:#0a1f2e;border-color:#214357}html[data-theme="dark"] .aircraft-presence.yes{background:#0d3428;color:#73ddb0}html[data-theme="dark"] .aircraft-presence.yes>span{background:#15523d}html[data-theme="dark"] .aircraft-presence.no{background:#3b1d1d;color:#ff9d91}html[data-theme="dark"] .aircraft-presence.no>span{background:#592a28}html[data-theme="dark"] .aircraft-yesno.yes{background:#10372b;color:#72dfae}html[data-theme="dark"] .aircraft-yesno.no{background:#3a1d21;color:#ff9ca3}html[data-theme="dark"] .mini-capacity{background:#1b394a}html[data-theme="dark"] .unassigned-label{background:#3a2d13;color:#ffd47c}html[data-theme="dark"] .news-card .news-category{color:#9edcff;background:#10344a}html[data-theme="dark"] .news-card details summary{color:#79cef8}html[data-theme="dark"] .deadline-pill.muted{background:#1c3443;color:#9db1bd}html[data-theme="dark"] .deadline-pill.info{background:#10344a;color:#81d4fc}html[data-theme="dark"] .deadline-pill.warn{background:#3b2d13;color:#ffd07a}html[data-theme="dark"] .deadline-pill.bad{background:#3e1c22;color:#ff9ba2}html[data-theme="dark"] .result-count{background:#153142;color:#9eb4c2}

@media(max-width:1200px){.shipment-filter-form{grid-template-columns:repeat(3,1fr)}.news-grid{grid-template-columns:repeat(2,1fr)}.shipment-network-layout{grid-template-columns:1fr}.shipment-advice-panel .advice-list{grid-template-columns:1fr}}
@media(max-width:800px){.shipment-top-actions{margin:0 0 15px;justify-content:stretch}.shipment-top-actions .btn{flex:1}.shipment-priority-grid,.news-grid{grid-template-columns:1fr}.shipment-filter-form{grid-template-columns:1fr}.shipment-filter-form .filter-search{grid-column:span 1}.filter-actions{align-items:stretch}.shipment-priority-card dl{grid-template-columns:1fr}.news-actions,.news-filter{align-items:stretch;flex-direction:column}.news-filter input,.news-filter select{max-width:none}.news-featured{grid-template-columns:1fr;padding:22px}.news-featured-mark{display:none}.news-featured h2{font-size:25px}}

/* v0.8.3 · pianificazione autonoma del pilota e amministrazione */
.dashboard-flight-actions,.flight-create-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.dashboard-flight-actions{margin-top:20px}.dashboard-advanced-flight{color:#d8ebf8;border-color:#ffffff45;background:#ffffff0d}.read-only-note{font-size:10px;color:var(--muted);font-weight:750}
.pilot-flight-choice-panel{margin-bottom:18px}.pilot-flight-choice-grid,.quick-existing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.pilot-flight-choice-grid>article,.quick-existing-grid>article{display:flex;flex-direction:column;gap:9px;padding:14px;border:1px solid var(--border);border-radius:13px;background:var(--panel-alt,#f8fbfd)}.pilot-flight-choice-grid header{display:flex;justify-content:space-between;align-items:center;gap:8px}.pilot-flight-choice-grid strong,.pilot-flight-choice-grid small{display:block}.pilot-flight-choice-grid small,.quick-existing-grid small{color:var(--muted)}.pilot-flight-choice-grid footer{margin-top:auto}.pilot-flight-route{display:flex;align-items:center;gap:8px;font-size:17px}.pilot-flight-route i{font-style:normal;color:var(--orange)}.quick-existing-grid>article{display:grid;grid-template-columns:1.2fr .8fr auto;align-items:center}.quick-existing-grid strong,.quick-existing-grid small{display:block}
.quick-planner-shell{margin-top:18px}.quick-planner-form{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,.65fr);gap:18px;align-items:start}.quick-contract-panel,.quick-aircraft-panel{grid-column:1}.quick-summary-panel{grid-column:2;grid-row:1/span 2;position:sticky;top:91px}.quick-contract-filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:13px}.quick-contract-filters button{border:1px solid var(--border);border-radius:999px;background:var(--panel-alt,#f7fafc);color:var(--muted);padding:7px 11px;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.quick-contract-filters button.active{background:var(--navy,#123653);border-color:var(--navy,#123653);color:#fff}.quick-contract-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:690px;overflow:auto;padding:2px}.quick-contract-card{appearance:none;width:100%;text-align:left;display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(145deg,#fff,#f8fbfd);color:var(--text);cursor:pointer;transition:border .15s ease,transform .15s ease,box-shadow .15s ease}.quick-contract-card:hover{transform:translateY(-2px);border-color:#7ebde3;box-shadow:0 10px 24px rgba(19,70,102,.09)}.quick-contract-card.selected{border:2px solid var(--blue,#2f80ed);box-shadow:0 0 0 4px rgba(47,128,237,.10)}.quick-contract-card[aria-disabled="true"]{cursor:not-allowed;opacity:.72}.quick-contract-card[hidden]{display:none}.quick-contract-card header,.quick-contract-card footer{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.quick-contract-card header strong,.quick-contract-card header small{display:block}.quick-contract-card header small{color:var(--muted)}.contract-code{display:inline-flex;padding:4px 7px;border-radius:7px;background:#e2f0f7;color:#256283;font-size:10px;font-weight:900;letter-spacing:.06em}.contract-state{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900}.contract-state.ready{background:#dcf5e9;color:#126b47}.contract-state.no_aircraft{background:#fff0df;color:#8b5509}.contract-state.waiting_cargo{background:#e9eef2;color:#60717d}.quick-contract-route{display:flex;align-items:center;gap:8px;padding:9px 11px;border-radius:10px;background:var(--soft,#edf4f7);font-size:18px}.quick-contract-route i{font-style:normal;color:var(--orange)}.quick-contract-route span{margin-left:auto;color:var(--muted);font-size:10px;font-weight:800}.quick-contract-product{font-weight:800;color:#32617e}.quick-contract-card dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.quick-contract-card dl div{padding:9px;border:1px solid var(--border);border-radius:9px}.quick-contract-card dt{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.quick-contract-card dd{margin:3px 0 0;font-size:11px;font-weight:750}.quick-contract-card footer{margin-top:auto;align-items:flex-end}.quick-contract-card footer span{font-size:10px;color:var(--muted)}.quick-contract-card footer b{font-size:12px;text-align:right}
.quick-client-brief{padding:15px;margin-bottom:13px;border:1px solid #b9dcef;border-radius:13px;background:linear-gradient(135deg,#eef8fd,#f9fcfe)}.quick-client-title{display:flex;align-items:center;gap:11px}.quick-client-title strong,.quick-client-title small{display:block}.quick-client-title small{color:var(--muted)}.quick-client-brief>p{margin:12px 0;color:#3f586a}.quick-client-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.quick-client-metrics span{padding:9px;border:1px solid #d4e7f2;border-radius:9px;background:#ffffffaa}.quick-client-metrics small,.quick-client-metrics b{display:block}.quick-client-metrics small{font-size:9px;color:var(--muted);text-transform:uppercase}.quick-client-metrics b{margin-top:3px;font-size:12px}.quick-aircraft-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.quick-aircraft-card{appearance:none;position:relative;display:flex;flex-direction:column;gap:11px;text-align:left;padding:15px;border:1px solid var(--border);border-radius:14px;background:var(--panel,#fff);color:var(--text);cursor:pointer}.quick-aircraft-card:hover{border-color:#78bce5}.quick-aircraft-card.selected{border:2px solid var(--orange);box-shadow:0 0 0 4px rgba(239,143,50,.11)}.quick-aircraft-card.disabled{cursor:not-allowed;opacity:.63}.quick-aircraft-card header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.quick-plane-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#e5f3fc;color:#18679a;font-size:19px}.quick-aircraft-card header strong,.quick-aircraft-card header small{display:block}.quick-aircraft-card header small,.quick-aircraft-card footer{color:var(--muted)}.quick-aircraft-state{font-size:9px;font-weight:900;text-transform:uppercase;color:#19714b}.quick-aircraft-load{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-aircraft-load>div{padding:9px;border-radius:9px;background:var(--soft,#f0f5f7)}.quick-aircraft-load span,.quick-aircraft-load b,.quick-aircraft-load small{display:block}.quick-aircraft-load span{font-size:9px;color:var(--muted);text-transform:uppercase}.quick-aircraft-load small{font-size:9px;color:var(--muted)}.quick-capacity-bars{display:grid;gap:5px}.quick-capacity-bars>span{height:7px;border-radius:99px;background:#e5edf2;overflow:hidden}.quick-capacity-bars i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#2f80ed,#55b8ff)}.quick-capacity-bars .volume i{background:linear-gradient(90deg,#32aa8b,#51d7d0)}.quick-aircraft-card dl{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:0}.quick-aircraft-card dl div{padding:8px;border:1px solid var(--border);border-radius:8px}.quick-aircraft-card dt{font-size:9px;text-transform:uppercase;color:var(--muted)}.quick-aircraft-card dd{margin:2px 0 0;font-size:11px;font-weight:800}.quick-aircraft-card footer{display:flex;justify-content:space-between;gap:8px;font-size:9px}.quick-aircraft-blocked{position:absolute;inset:auto 12px 12px;padding:8px;border-radius:8px;background:#fae2e2;color:#8b242a;font-size:10px;font-weight:700}
.quick-summary-route{display:flex;align-items:center;justify-content:center;gap:15px;margin:4px 0 17px;padding:14px;border-radius:12px;background:linear-gradient(135deg,#0c3551,#175c84);color:#fff;font-size:22px}.quick-summary-route i{font-style:normal;color:#ffaf4f}.quick-summary-list{display:grid;gap:0;margin:0 0 15px}.quick-summary-list>div{display:grid;grid-template-columns:120px 1fr;gap:8px;padding:9px 0;border-bottom:1px dashed var(--border)}.quick-summary-list dt{color:var(--muted)}.quick-summary-list dd{margin:0;text-align:right;font-weight:800}.quick-summary-list .summary-margin{padding:12px 10px;margin-top:8px;border:1px solid var(--border);border-radius:10px;background:var(--soft,#f2f7fa)}.quick-departure{margin:13px 0}.quick-departure small{font-size:10px;color:var(--muted)}.quick-load-preview{display:grid;gap:4px;margin:13px 0;padding:11px;border:1px solid var(--border);border-radius:10px;background:var(--panel-alt,#f8fbfd)}.quick-load-preview span,.quick-load-preview small{color:var(--muted);font-size:10px}.quick-submit{width:100%;padding:12px}.quick-submit-note{text-align:center;color:var(--muted);font-size:10px}.quick-advanced-link{display:block;text-align:center;margin-top:12px;font-size:11px;font-weight:800}
.admin-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-system-card dl{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:15px 0 0}.admin-system-card dl div{padding:11px;border:1px solid var(--border);border-radius:10px;background:var(--panel-alt,#f8fbfd)}.admin-system-card dt{font-size:9px;text-transform:uppercase;color:var(--muted)}.admin-system-card dd{margin:3px 0 0;font-size:16px;font-weight:850}.admin-data-counts{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.admin-data-counts article{padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--panel-alt,#f8fbfd)}.admin-data-counts span,.admin-data-counts strong{display:block}.admin-data-counts span{font-size:10px;color:var(--muted)}.admin-data-counts strong{font-size:22px;margin-top:3px}.danger-zone{border:1px solid #d84f58;background:linear-gradient(145deg,#fff7f7,#fff)}.danger-zone-head{display:flex;gap:15px;align-items:flex-start}.danger-symbol{display:grid;place-items:center;flex:0 0 45px;width:45px;height:45px;border-radius:50%;background:#d84f58;color:#fff;font-size:24px;font-weight:900}.danger-zone-head h2{margin:2px 0 5px;color:#982a31}.danger-zone-head p{margin:0;color:#735457}.danger-note{margin:17px 0;padding:12px;border-radius:10px;background:#fae5e6;color:#7e292f}.danger-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:11px;align-items:end}.admin-reset-button{min-height:42px}.admin-restart-checklist{margin-bottom:30px}
html[data-theme="dark"] .quick-contract-card,html[data-theme="dark"] .quick-aircraft-card,html[data-theme="dark"] .pilot-flight-choice-grid>article,html[data-theme="dark"] .quick-existing-grid>article{background:linear-gradient(145deg,#0b2232,#081925);border-color:#24475a}html[data-theme="dark"] .quick-contract-route,html[data-theme="dark"] .quick-aircraft-load>div,html[data-theme="dark"] .quick-summary-list .summary-margin{background:#0d2a3b}html[data-theme="dark"] .contract-code{background:#103a52;color:#8ad4fb}html[data-theme="dark"] .quick-client-brief{background:linear-gradient(135deg,#0c2c3e,#0a1f2d);border-color:#27536a}html[data-theme="dark"] .quick-client-brief>p{color:#b6cad7}html[data-theme="dark"] .quick-client-metrics span{background:#0a2130;border-color:#25495d}html[data-theme="dark"] .quick-plane-icon{background:#103b53;color:#91d8ff}html[data-theme="dark"] .quick-capacity-bars>span{background:#193747}html[data-theme="dark"] .quick-load-preview,html[data-theme="dark"] .admin-system-card dl div,html[data-theme="dark"] .admin-data-counts article{background:#0a2030}html[data-theme="dark"] .danger-zone{background:linear-gradient(145deg,#32171b,#211015);border-color:#a94149}html[data-theme="dark"] .danger-zone-head h2{color:#ff9ca3}html[data-theme="dark"] .danger-zone-head p{color:#d7afb2}html[data-theme="dark"] .danger-note{background:#441f24;color:#ffc0c5}
@media(max-width:1250px){.quick-planner-form{grid-template-columns:1fr}.quick-contract-panel,.quick-aircraft-panel,.quick-summary-panel{grid-column:1;grid-row:auto}.quick-summary-panel{position:static}.pilot-flight-choice-grid,.quick-existing-grid{grid-template-columns:repeat(2,1fr)}.admin-data-counts{grid-template-columns:repeat(3,1fr)}.danger-form{grid-template-columns:1fr 1fr}.admin-reset-button{grid-column:span 2}}
@media(max-width:800px){.quick-contract-grid,.quick-aircraft-grid,.pilot-flight-choice-grid,.quick-existing-grid,.admin-overview-grid{grid-template-columns:1fr}.quick-client-metrics{grid-template-columns:repeat(2,1fr)}.quick-existing-grid>article{grid-template-columns:1fr}.admin-data-counts{grid-template-columns:repeat(2,1fr)}.danger-form{grid-template-columns:1fr}.admin-reset-button{grid-column:span 1}.quick-summary-list>div{grid-template-columns:1fr}.quick-summary-list dd{text-align:left}.flight-create-actions{width:100%}.flight-create-actions .btn{flex:1}}

/* ==========================================================
   V0.8.4 — FsHub tracking, PIREP e convalida
   ========================================================== */
.fshub-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;border-top:4px solid var(--blue,#2f80ed);background:linear-gradient(135deg,var(--panel,#fff),var(--panel-alt,#f6fafc))}.fshub-hero h2{margin:3px 0 7px}.fshub-hero p{max-width:820px;margin:0;color:var(--muted)}.fshub-sync-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px;color:var(--muted)}.fshub-sync-meta b{color:var(--text)}.status-dot{width:9px;height:9px;border-radius:50%;display:inline-block}.status-dot.online{background:#2ec884;box-shadow:0 0 0 5px rgba(46,200,132,.12)}.status-dot.offline{background:#e27777;box-shadow:0 0 0 5px rgba(226,119,119,.12)}
.fshub-kpis .attention,.mini-kpis .attention{border-top-color:#e6a53c;background:linear-gradient(145deg,var(--panel,#fff),rgba(255,173,63,.08))}.subnav.fshub-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 18px}.subnav.fshub-tabs a{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--border);border-radius:9px;background:var(--panel,#fff);color:var(--text);font-weight:750}.subnav.fshub-tabs a:hover,.subnav.fshub-tabs a.active{text-decoration:none;border-color:var(--blue,#2f80ed);box-shadow:0 0 0 3px rgba(47,128,237,.09)}.subnav.fshub-tabs a.active{background:var(--navy,#0b2436);color:#fff}.subnav.fshub-tabs b{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--soft,#edf4f7);color:var(--text);font-size:11px}.subnav.fshub-tabs a.active b{background:#ffffff24;color:#fff}
.pirep-review-list{display:grid;gap:16px}.pirep-review-card{padding:17px;border:1px solid var(--border);border-left:4px solid var(--orange);border-radius:13px;background:var(--panel-alt,#fafcfd)}.pirep-review-card>header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.pirep-review-card h3{margin:3px 0 4px;font-size:19px}.pirep-review-card header p{margin:0;color:var(--muted)}.pirep-score{display:grid;place-items:center;min-width:92px;padding:9px 13px;border:1px solid var(--border);border-radius:11px;background:var(--panel,#fff);text-align:center}.pirep-score strong{font-size:25px;color:var(--blue,#2f80ed)}.pirep-score small{color:var(--muted)}.pirep-facts{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:8px;margin:15px 0}.pirep-facts.compact{grid-template-columns:repeat(6,minmax(100px,1fr))}.pirep-facts span{padding:9px;border:1px solid var(--border);border-radius:9px;background:var(--panel,#fff);font-size:12px}.pirep-facts b{display:block;margin-bottom:3px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.06em}.pirep-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.pirep-check-grid article{display:grid;grid-template-columns:26px 1fr;gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:var(--panel,#fff)}.pirep-check-grid article>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-weight:900}.pirep-check-grid b,.pirep-check-grid small{display:block}.pirep-check-grid small{color:var(--muted);font-size:10px}.pirep-check-grid .pass>span{background:#daf5e8;color:#116844}.pirep-check-grid .fail>span{background:#fae0e1;color:#912b31}.pirep-check-grid .unknown>span{background:#e8eef2;color:#60727f}.pirep-warnings{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.pirep-warnings span{padding:6px 8px;border-radius:7px;background:#fff1d9;color:#7a4f10;font-size:11px;font-weight:700}.pirep-review-card>footer{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:15px;padding-top:13px;border-top:1px solid var(--border)}.validation-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.validation-actions .validation-form{flex-wrap:wrap}.validation-actions input{min-width:180px}.admin-required{color:var(--muted);font-size:12px}.muted-copy{color:var(--muted)}
.pirep-flight-panel{border-left:4px solid var(--blue,#2f80ed)}.pirep-flight-panel.pending{border-left-color:var(--orange)}.pirep-flight-panel.rejected{border-left-color:#d64c55}.pirep-flight-panel.awaiting_data{border-left-color:#dca03f}.pirep-flight-panel>p{margin:10px 0 0;color:var(--muted)}
.fshub-toast{position:fixed;right:20px;bottom:20px;z-index:1200;display:flex;align-items:center;gap:13px;max-width:min(460px,calc(100vw - 28px));padding:13px 14px;border:1px solid #4ba6d6;border-radius:12px;background:#092438;color:#eaf7ff;box-shadow:0 14px 40px rgba(0,0,0,.28);opacity:0;transform:translateY(18px);pointer-events:none;transition:.18s ease}.fshub-toast.visible{opacity:1;transform:none;pointer-events:auto}.fshub-toast span{font-weight:700}.fshub-toast button{margin-left:auto;border:1px solid #ffffff4d;border-radius:7px;background:#ffffff12;color:#fff;padding:7px 9px;cursor:pointer;font-weight:700}
html[data-theme="dark"] .fshub-hero,html[data-theme="dark"] .pirep-review-card{background:linear-gradient(145deg,#0b2232,#081925)}html[data-theme="dark"] .pirep-score,html[data-theme="dark"] .pirep-facts span,html[data-theme="dark"] .pirep-check-grid article{background:#0a2030}html[data-theme="dark"] .pirep-warnings span{background:#3b2b13;color:#ffd990}html[data-theme="dark"] .pirep-check-grid .pass>span{background:#153d31;color:#7de0b7}html[data-theme="dark"] .pirep-check-grid .fail>span{background:#462329;color:#ffadb3}html[data-theme="dark"] .pirep-check-grid .unknown>span{background:#1d3543;color:#aac0cd}
@media(max-width:1100px){.pirep-facts,.pirep-facts.compact{grid-template-columns:repeat(3,1fr)}.pirep-check-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.fshub-hero,.pirep-review-card>header{flex-direction:column}.pirep-facts,.pirep-facts.compact,.pirep-check-grid{grid-template-columns:1fr}.pirep-review-card>footer{align-items:stretch}.validation-actions,.validation-actions form{width:100%}.validation-actions input,.validation-actions button{width:100%}}


/* --------------------------------------------------------------------------
   Versione 0.9: sito pubblico, carriera piloti e giornale
   -------------------------------------------------------------------------- */
.public-top{position:sticky;top:0;z-index:80;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px clamp(18px,5vw,72px);background:rgba(7,22,35,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(113,205,255,.15);color:#fff}.public-brand{display:flex;align-items:center;gap:12px;color:#fff}.public-brand>b{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:linear-gradient(135deg,var(--orange),#ffc76e);color:#132b3f;letter-spacing:.08em}.public-brand span{display:flex;flex-direction:column;font-weight:800}.public-brand small{color:#91aabd;font-weight:500}.public-top nav{display:flex;gap:24px}.public-top nav a{color:#c8dbe8;font-weight:700}.public-login-actions{display:flex;align-items:center;gap:9px}.public-main{min-height:100vh;background:linear-gradient(180deg,#061826 0,#0a2336 34%,var(--bg) 34%)}
.public-hero{min-height:720px;padding:100px clamp(22px,7vw,110px) 90px;color:#fff;background:radial-gradient(circle at 78% 20%,rgba(48,171,232,.24),transparent 28%),linear-gradient(145deg,#071b2a,#0c334d 58%,#0b2538)}.public-hero-grid{max-width:1440px;margin:auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);align-items:center;gap:70px}.public-eyebrow,.public-section-heading>span,.public-cta span{display:block;color:#6fd4ff;font-size:12px;font-weight:900;letter-spacing:.18em}.public-hero h1{max-width:850px;margin:16px 0 20px;font-size:clamp(46px,6vw,84px);line-height:.98;letter-spacing:-.055em}.public-hero p{max-width:720px;font-size:20px;color:#c2d7e4}.public-hero-actions{display:flex;gap:12px;margin-top:30px}.btn.large{padding:13px 19px;font-size:15px}.public-metrics{display:flex;gap:38px;margin-top:55px}.public-metrics span{display:flex;flex-direction:column}.public-metrics b{font-size:30px}.public-metrics small{color:#94afc1;text-transform:uppercase;letter-spacing:.08em}.public-hero-visual{position:relative;min-height:420px;display:grid;place-items:center}.public-plane-line{position:absolute;inset:20% 0 auto;font-size:140px;font-weight:950;letter-spacing:.22em;color:rgba(255,255,255,.035);transform:rotate(-8deg)}.public-radar{width:310px;height:310px;border:1px solid rgba(112,214,255,.38);border-radius:50%;position:relative;background:repeating-radial-gradient(circle,transparent 0 48px,rgba(112,214,255,.12) 49px 50px),linear-gradient(rgba(112,214,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(112,214,255,.08) 1px,transparent 1px);background-size:auto,38px 38px,38px 38px}.public-radar i{position:absolute;left:50%;top:5%;height:45%;width:2px;background:linear-gradient(#7be0ff,transparent);transform-origin:bottom;animation:radarSweep 5s linear infinite}.public-radar span{position:absolute;left:66%;top:37%;width:10px;height:10px;border-radius:50%;background:#65ebd2;animation:radarPulse 2s infinite}
.public-section{max-width:1440px;margin:auto;padding:90px clamp(22px,6vw,90px)}.public-section-heading{max-width:850px;margin-bottom:38px}.public-section-heading h1,.public-section-heading h2{font-size:clamp(34px,4vw,58px);margin:10px 0 12px;letter-spacing:-.035em}.public-section-heading p{font-size:18px;color:var(--muted)}.public-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.public-feature-grid article,.public-org-grid article{padding:28px;border:1px solid var(--border);border-radius:18px;background:var(--panel);box-shadow:var(--shadow)}.public-feature-grid article>b{color:var(--orange);font-size:13px;letter-spacing:.15em}.public-feature-grid h3{font-size:22px;margin:22px 0 8px}.public-news-preview{max-width:none;background:var(--panel-2)}.public-news-preview>.public-section-heading,.public-news-preview>.public-news-grid{max-width:1260px;margin-left:auto;margin-right:auto}.public-news-grid{display:grid;grid-template-columns:1.35fr repeat(2,1fr);gap:1px;background:var(--border);border:1px solid var(--border)}.public-news-grid article{background:var(--panel);padding:28px;min-height:220px}.public-news-grid article.lead{grid-row:span 2;min-height:460px;padding:42px}.public-news-grid span{font-weight:900;color:var(--orange);font-size:11px;letter-spacing:.13em}.public-news-grid h3{font-family:Georgia,serif;font-size:25px;line-height:1.1}.public-news-grid .lead h3{font-size:44px}.public-news-grid time{display:block;margin-top:20px;color:var(--muted)}.public-org-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.public-org-grid span{color:var(--orange);font-size:12px;font-weight:900;text-transform:uppercase}.public-org-grid h3{font-size:25px}.public-text-link{display:inline-block;margin-top:24px;font-weight:900}.public-cta{max-width:1260px;margin:30px auto 90px;padding:44px 52px;border-radius:24px;background:linear-gradient(135deg,#0b334e,#123f5f);color:white;display:flex;justify-content:space-between;align-items:center;gap:30px}.public-cta h2{font-size:38px;margin:8px 0}.public-cta p{color:#bed5e3}
.pilot-rank-chip{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:white}.pilot-rank-chip>span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--orange);color:#123;font-size:10px;font-weight:950}.pilot-rank-chip b{font-size:12px}.profile-action-banner{display:flex;align-items:center;gap:15px;padding:15px 18px;border:1px solid rgba(238,143,50,.55);background:linear-gradient(90deg,rgba(238,143,50,.13),transparent);border-radius:14px;margin-bottom:18px}.profile-action-banner>.ui-icon{width:28px}.profile-action-banner div{flex:1}.profile-action-banner p{margin:2px 0;color:var(--muted)}
.pilot-profile-hero{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;padding:25px;border-radius:20px;background:linear-gradient(135deg,#0b314a,#0d4262);color:#fff;margin-bottom:20px}.pilot-avatar,.org-avatar{display:grid;place-items:center;width:72px;height:72px;border-radius:20px;background:linear-gradient(135deg,var(--orange),#ffd282);color:#193246;font-weight:950;font-size:23px}.pilot-profile-hero h2{margin:3px 0;font-size:31px}.pilot-profile-hero p{color:#bed4e2}.pilot-profile-stats{display:flex;gap:26px}.pilot-profile-stats span{display:flex;flex-direction:column;text-align:right}.pilot-profile-stats b{font-size:24px}.pilot-profile-stats small{color:#a8c4d5}.profile-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:20px}.setup-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.setup-steps article{display:flex;gap:10px;padding:14px;background:var(--panel-2);border-radius:12px}.setup-steps article>b{display:grid;place-items:center;min-width:27px;height:27px;border-radius:50%;background:var(--orange);color:#182f40}.setup-steps span{display:flex;flex-direction:column}.setup-steps small{color:var(--muted)}.fshub-profile-form{display:grid;grid-template-columns:1fr 1.4fr auto;gap:12px;align-items:end}.linked-pilot-id{padding:18px;background:var(--panel-2);border-radius:14px;margin:14px 0}.linked-pilot-id strong{font-size:32px;display:block}.rank-emblem{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,var(--orange),#ffd27c);color:#183143;font-weight:950}.rank-progress>div{display:flex;justify-content:space-between}.rank-progress-bar{display:block;height:12px;border-radius:999px;background:var(--panel-2);overflow:hidden;margin:10px 0}.rank-progress-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--orange),#65cfff);border-radius:inherit}.qualification-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.qualification-grid article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:15px;border:1px solid var(--border);border-radius:14px}.plane-type{display:grid;place-items:center;width:52px;height:52px;border-radius:13px;background:var(--panel-2);font-weight:950}.qualification-grid small{display:block;color:var(--muted)}
.pilot-admin-tabs{display:flex;gap:8px;margin-bottom:16px}.pilot-admin-tabs a{padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel)}.rank-editor-list{display:grid;gap:8px}.rank-editor-row{display:grid;grid-template-columns:70px 180px 100px minmax(240px,1fr) 80px 90px 70px;gap:8px;align-items:center}.rank-editor-row.new{padding-top:12px;border-top:1px solid var(--border)}.check.compact{display:flex;font-size:12px}.qualification-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.qualification-admin-card{display:grid;gap:9px;padding:16px;border:1px solid var(--border);border-radius:14px}.qualification-admin-card strong{font-size:23px}
.organization-page{max-width:1200px;margin:0 auto}.org-chart{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;position:relative}.org-card{position:relative;padding:30px;border:1px solid var(--border);border-radius:20px;background:var(--panel);box-shadow:var(--shadow)}.org-card.lead{grid-column:1/-1;max-width:520px;justify-self:center;text-align:center}.org-card.lead .org-avatar{margin:auto}.org-role-number{position:absolute;right:18px;top:14px;font-size:34px;font-weight:950;color:var(--border)}.org-card h2{margin:10px 0 3px}.org-card>small{color:var(--muted)}.org-editor{margin-top:28px}.org-editor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.org-editor-grid form{display:grid;gap:9px;padding:15px;background:var(--panel-2);border-radius:14px}
.journal-masthead{display:flex;align-items:end;justify-content:space-between;padding:18px 0;border-top:4px double var(--text);border-bottom:4px double var(--text);font-family:Georgia,serif}.journal-masthead span{font-family:system-ui;font-size:11px;letter-spacing:.22em;font-weight:900}.journal-masthead h1{font-size:48px;margin:0}.journal-masthead p{margin:0;color:var(--muted)}.journal-sections{display:flex;gap:4px;overflow:auto;border-bottom:1px solid var(--border);padding:8px 0}.journal-sections a{white-space:nowrap;padding:7px 11px;color:var(--text);font-weight:800}.journal-sections a.active{background:var(--text);color:var(--panel)}.journal-tools{display:flex;justify-content:space-between;margin:14px 0}.journal-tools form{display:flex;gap:8px}.journal-front{display:grid;grid-template-columns:1.65fr .85fr;gap:0;border-top:1px solid var(--text);border-bottom:1px solid var(--text)}.journal-lead{padding:30px 30px 30px 0;border-right:1px solid var(--border)}.journal-lead>span,.journal-side span,.journal-grid header span,.journal-article header>span{font-size:11px;font-weight:950;letter-spacing:.14em;color:var(--orange)}.journal-lead h2{font:700 clamp(38px,5vw,68px)/.98 Georgia,serif;margin:14px 0}.journal-lead h2 a,.journal-side h3 a,.journal-grid h2 a{color:var(--text)}.journal-lead p{font-size:19px}.journal-lead footer{display:flex;gap:20px;color:var(--muted)}.journal-side{display:grid}.journal-side article{padding:20px;border-bottom:1px solid var(--border)}.journal-side h3{font:700 24px/1.05 Georgia,serif;margin:9px 0}.journal-side p{color:var(--muted)}.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-bottom:1px solid var(--text)}.journal-grid article{padding:24px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.journal-grid article:nth-child(3n){border-right:0}.journal-grid header{display:flex;justify-content:space-between}.journal-grid h2{font:700 27px/1.08 Georgia,serif}.journal-grid p{color:var(--muted)}.journal-article{max-width:900px;margin:auto;padding:25px 0}.journal-back{display:inline-block;margin-bottom:25px;font-weight:850}.journal-article header{padding-bottom:28px;border-bottom:1px solid var(--text)}.journal-article h1{font:700 clamp(42px,6vw,76px)/.98 Georgia,serif;margin:13px 0}.journal-article header>p{font-size:21px;color:var(--muted)}.journal-article header>div{display:flex;gap:18px}.journal-article-body{font:18px/1.8 Georgia,serif;padding:35px 0;white-space:normal}
.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;inset:0;background:rgba(2,12,20,.72);backdrop-filter:blur(6px)}.modal-dialog{position:relative;width:min(560px,100%);padding:28px;border:1px solid var(--border);border-radius:20px;background:var(--panel);box-shadow:0 30px 80px rgba(0,0,0,.35)}.modal-close{position:absolute;right:15px;top:12px;border:0;background:transparent;font-size:28px;color:var(--muted);cursor:pointer}.modal-flight-summary{display:grid;gap:8px;padding:18px;margin:18px 0;background:var(--panel-2);border-radius:14px}.modal-flight-summary strong{font-size:25px}.modal-flight-summary b{color:var(--orange)}.modal-actions{display:flex;justify-content:flex-end;gap:9px}.modal-open{overflow:hidden}.quick-planner-shell,.quick-planner-form,.quick-contract-panel,.quick-aircraft-panel,.quick-summary-panel,.quick-contract-card,.quick-aircraft-card{min-width:0}.quick-contract-card,.quick-aircraft-card{overflow-wrap:anywhere}.quick-summary-panel{overflow:hidden}
@media(max-width:1000px){.public-hero-grid{grid-template-columns:1fr}.public-hero-visual{display:none}.public-feature-grid{grid-template-columns:repeat(2,1fr)}.public-news-grid{grid-template-columns:1fr 1fr}.public-news-grid article.lead{grid-row:auto;grid-column:1/-1;min-height:auto}.public-org-grid,.org-chart,.org-editor-grid{grid-template-columns:1fr}.profile-layout{grid-template-columns:1fr}.rank-editor-row{grid-template-columns:60px 1fr 100px}.rank-editor-row input:nth-of-type(4),.rank-editor-row .check{grid-column:span 3}.journal-front{grid-template-columns:1fr}.journal-lead{border-right:0}.journal-grid{grid-template-columns:repeat(2,1fr)}.journal-grid article:nth-child(3n){border-right:1px solid var(--border)}.public-top nav{display:none}}
@media(max-width:700px){.public-top{padding:10px 14px}.public-login-actions .theme-toggle{display:none}.public-brand small{display:none}.public-hero{padding:70px 20px}.public-hero h1{font-size:46px}.public-hero-actions,.public-metrics{flex-wrap:wrap}.public-feature-grid,.public-news-grid,.public-org-grid,.journal-grid{grid-template-columns:1fr}.public-news-grid article.lead{grid-column:auto}.public-cta{margin:20px;flex-direction:column;align-items:flex-start}.pilot-profile-hero{grid-template-columns:auto 1fr}.pilot-profile-stats{grid-column:1/-1;justify-content:space-between}.setup-steps,.fshub-profile-form{grid-template-columns:1fr}.journal-masthead h1{font-size:32px}.journal-tools{flex-direction:column;gap:8px}.journal-lead{padding-right:0}.org-card.lead{grid-column:auto}.rank-editor-row{grid-template-columns:1fr 1fr}.rank-editor-row>*{grid-column:auto!important}}


/* Stato informativo dell'abilitazione nel pianificatore rapido. */
.quick-qualification-line{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:.45rem;margin:.55rem 0;padding:.55rem .65rem;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--panel) 88%,var(--accent) 12%);font-size:.78rem}.quick-qualification-line span{color:var(--muted)}.quick-qualification-line b{justify-self:start;padding:.22rem .5rem;border-radius:999px;white-space:nowrap}.quick-qualification-line small{justify-self:end;color:var(--muted);text-align:right}.qualification-certified{background:rgba(35,180,122,.15);color:var(--green)}.qualification-in-training{background:rgba(240,167,35,.16);color:var(--orange)}.qualification-not-qualified{background:rgba(229,84,84,.15);color:var(--danger)}
@media(max-width:720px){.quick-qualification-line{grid-template-columns:1fr auto}.quick-qualification-line small{grid-column:1/-1;justify-self:start;text-align:left}}

/* v0.9.1 · interfaccia più compatta e pagina pubblica riorganizzata */
.heading h1{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dashboard-command{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;margin-bottom:18px;padding:26px 28px;border:1px solid rgba(100,197,244,.24);border-radius:20px;color:#fff;background:radial-gradient(circle at 82% 20%,rgba(75,188,240,.24),transparent 32%),linear-gradient(135deg,#08263a,#0c405e);box-shadow:var(--shadow)}
.dashboard-command h1{margin:4px 0 8px;font-size:clamp(32px,4vw,48px)}
.dashboard-command .hero-meta{margin:0}.dashboard-command .dashboard-flight-actions{margin-top:18px}.dashboard-radar-card{display:flex;align-items:center;gap:18px;min-width:210px;padding:14px 18px;border:1px solid #ffffff24;border-radius:16px;background:#ffffff0d}.dashboard-radar-card strong{display:block;font-size:32px}.dashboard-radar-card small{color:#bdd6e5;text-transform:uppercase;letter-spacing:.08em}
.dashboard-metrics.compact{grid-template-columns:repeat(6,minmax(120px,1fr));margin-bottom:18px}.dashboard-metrics.compact .metric-card{min-height:92px;padding:14px}.dashboard-metrics.compact .metric-card small{display:none}.dashboard-focus{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}
.dashboard-map-collapsible{padding:0;overflow:hidden}.dashboard-map-collapsible>summary{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;cursor:pointer;list-style:none}.dashboard-map-collapsible>summary::-webkit-details-marker{display:none}.dashboard-map-collapsible>summary span:first-child{display:flex;flex-direction:column}.dashboard-map-collapsible>summary small{color:var(--muted)}.dashboard-map-collapsible .geo-map{border-radius:0;border-left:0;border-right:0;border-bottom:0}

.public-main{scroll-behavior:smooth}.public-hero-v091{position:relative;min-height:calc(100vh - 68px);display:grid;align-items:center;overflow:hidden;padding-top:86px}.public-hero-v091:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 49.8%,rgba(124,218,255,.06) 50%,transparent 50.2%),linear-gradient(transparent 0 49.8%,rgba(124,218,255,.04) 50%,transparent 50.2%);background-size:150px 150px;pointer-events:none}.public-hero-v091 .public-hero-grid{position:relative;z-index:1}.public-hero-copy{max-width:920px}.public-hero-v091 h1{font-size:clamp(45px,6vw,82px)}.public-hero-v091 .public-metrics{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));max-width:680px;gap:10px;margin-top:42px}.public-hero-v091 .public-metrics span{padding:13px 15px;border:1px solid #ffffff1c;border-radius:13px;background:#ffffff08}.public-hero-v091 .public-metrics b{font-size:26px}
.public-flight-card{position:absolute;top:4%;right:1%;z-index:2;width:min(330px,90%);padding:18px 20px;border:1px solid #8fddff38;border-radius:17px;background:rgba(7,31,46,.74);backdrop-filter:blur(12px);box-shadow:0 24px 70px #0005}.public-flight-card>span,.public-flight-card>small{display:block;color:#8fc9e5;font-size:11px;letter-spacing:.12em}.public-flight-card b{display:inline-block;margin:12px 7px 8px 0;font-size:27px}.public-flight-card i{color:var(--orange)}.public-radar em{position:absolute;right:27%;bottom:25%;width:9px;height:9px;border-radius:50%;background:#ffb45b;box-shadow:0 0 0 0 rgba(255,180,91,.55);animation:radarPulse 2.3s ease-out infinite}.public-scroll-cue{position:absolute;z-index:3;left:50%;bottom:22px;display:flex;flex-direction:column;align-items:center;gap:8px;transform:translateX(-50%);color:#b8d2e1;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.public-scroll-cue span{width:22px;height:34px;border:1px solid #ffffff50;border-radius:14px;position:relative}.public-scroll-cue span:after{content:"";position:absolute;left:50%;top:7px;width:3px;height:7px;border-radius:3px;background:#fff;transform:translateX(-50%);animation:scrollCue 1.8s ease-in-out infinite}@keyframes scrollCue{50%{transform:translate(-50%,10px);opacity:.25}}
.public-section-intro{padding-top:110px}.public-feature-grid-v091 article{position:relative;min-height:230px;overflow:hidden}.public-feature-grid-v091 article>b{position:absolute;right:18px;top:8px;font-size:64px;color:color-mix(in srgb,var(--border) 74%,transparent)}
.public-network-band{max-width:1500px;margin:0 auto;padding:90px clamp(22px,7vw,110px);display:grid;grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr);gap:70px;align-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 94%,#48a9d9 6%),var(--panel));border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.public-network-copy>span{color:var(--orange);font-size:12px;font-weight:900;letter-spacing:.16em}.public-network-copy h2{font-size:clamp(34px,4vw,58px);line-height:1.02;margin:12px 0}.public-network-copy p{font-size:18px;color:var(--muted)}.public-network-board{position:relative;min-height:390px;border:1px solid var(--border);border-radius:26px;overflow:hidden;background:radial-gradient(circle at 50% 50%,rgba(49,166,222,.15),transparent 35%),linear-gradient(rgba(82,175,218,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(82,175,218,.08) 1px,transparent 1px);background-size:auto,42px 42px,42px 42px}.network-node{position:absolute;z-index:3;display:grid;place-items:center;min-width:62px;height:62px;padding:8px;border:1px solid #5dbbe6;border-radius:50%;background:var(--panel);font-weight:900;box-shadow:0 0 0 8px rgba(69,171,220,.08)}.network-node small{display:block;font-size:9px;color:var(--muted)}.network-node.main{left:45%;top:40%;width:82px;height:82px;background:#0e4d70;color:#fff}.network-node.node-a{left:10%;top:18%}.network-node.node-b{right:11%;top:16%}.network-node.node-c{right:15%;bottom:12%}.network-line{position:absolute;z-index:1;height:2px;background:linear-gradient(90deg,#57c8f7,#f4a24d);transform-origin:left center}.network-line.line-a{left:17%;top:29%;width:36%;transform:rotate(24deg)}.network-line.line-b{left:52%;top:49%;width:35%;transform:rotate(-43deg)}.network-line.line-c{left:52%;top:50%;width:35%;transform:rotate(35deg)}.network-scan{position:absolute;inset:20%;border:1px solid #55b8e433;border-radius:50%;animation:networkPulse 3s ease-out infinite}@keyframes networkPulse{0%{transform:scale(.65);opacity:.7}100%{transform:scale(1.5);opacity:0}}
.public-heading-row{display:flex;justify-content:space-between;align-items:end;gap:20px}.public-news-grid-v091 article{transition:transform .18s ease,border-color .18s ease}.public-news-grid-v091 article:hover{transform:translateY(-4px);border-color:#4aa9d4}.public-staff-section{padding-bottom:110px}.public-cta-v091{align-items:center}.public-cta-actions{display:flex;gap:10px;flex-wrap:wrap}

.flight-builder-v081 .operation-type-card small{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.simplified-operation-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.compact-operation-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.flight-builder-v081 .operation-type-card{min-height:145px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr;align-content:start}.flight-builder-v081 .operation-type-card>small{grid-column:1/-1}.flight-builder-v081 .wizard-summary{min-width:0}.flight-builder-v081 .summary-list dd{overflow-wrap:anywhere}.flight-builder-v081 .builder-route-preview span{white-space:nowrap}.flight-builder-v081 .create-help span{display:none}

@media(max-width:1250px){.dashboard-metrics.compact{grid-template-columns:repeat(3,1fr)}.simplified-operation-grid,.compact-operation-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1000px){.dashboard-command{grid-template-columns:1fr}.dashboard-radar-card{justify-self:start}.dashboard-focus{grid-template-columns:1fr}.public-network-band{grid-template-columns:1fr}.public-network-board{min-height:330px}}
@media(max-width:760px){.dashboard-metrics.compact{grid-template-columns:repeat(2,1fr)}.public-hero-v091 .public-metrics{grid-template-columns:repeat(2,1fr)}.public-network-band{padding:65px 20px}.public-network-board{min-height:280px}.public-heading-row{display:block}.simplified-operation-grid,.compact-operation-grid{grid-template-columns:1fr 1fr}.flight-builder-v081 .operation-type-card{min-height:125px}.public-scroll-cue{display:none}}
@media(max-width:500px){.dashboard-metrics.compact,.simplified-operation-grid,.compact-operation-grid{grid-template-columns:1fr}.dashboard-command{padding:20px}.public-hero-v091 .public-metrics{grid-template-columns:1fr 1fr}.public-network-board{display:none}}

/* v0.9.2 — rapporti FsHub estesi e diagnostica del pianificatore rapido */
.pirep-info-note{margin:12px 0;padding:11px 13px;border:1px solid color-mix(in srgb,var(--blue,#2f80ed) 35%,var(--border));border-radius:11px;background:color-mix(in srgb,var(--blue,#2f80ed) 8%,var(--panel));color:var(--text);font-size:12px}
.fshub-flight-identity{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.fshub-flight-identity>div{padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--panel-2)}.fshub-flight-identity span,.fshub-flight-identity small{display:block;color:var(--muted);font-size:10px}.fshub-flight-identity strong{display:block;margin:3px 0;font-size:15px;overflow-wrap:anywhere}.fshub-extended-facts{grid-template-columns:repeat(5,minmax(0,1fr))}.fshub-extended-facts span small{display:block;color:var(--muted);margin-top:3px}.fshub-tag-line{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.fshub-tag-line span{padding:4px 8px;border-radius:999px;background:var(--soft);font-size:10px;font-weight:800}.fshub-tag-line span.warn{background:#fff0df;color:#8b5509}.fshub-raw-details{margin-top:12px;border-top:1px solid var(--border);padding-top:10px}.fshub-raw-details summary{cursor:pointer;font-weight:800}.fshub-raw-details pre{max-height:420px;overflow:auto;padding:14px;border-radius:11px;background:#07141d;color:#c7e4f5;font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere}.fshub-match-form{display:grid;gap:7px;min-width:260px}.fshub-match-form>div{display:flex;gap:6px}.fshub-table-link{display:block;min-width:120px}.fshub-table-link b,.fshub-table-link small{display:block}.fshub-table-link small{color:var(--muted);font-size:10px}
.quick-contract-explanation{margin:12px 0;padding:12px;border-radius:11px;border:1px solid #e4ad5b;background:#fff6e9}.quick-contract-explanation strong{display:block;color:#7b4c05}.quick-contract-explanation p{margin:4px 0;color:#654d2b!important}.quick-contract-explanation small{display:block;color:#7d684c}.quick-contract-explanation ul{margin:8px 0 0;padding-left:18px;color:#6c5a42;font-size:11px}.contract-state.aircraft_unavailable,.contract-state.aircraft_busy,.contract-state.cargo_too_large,.contract-state.route_unavailable{background:#fff0df;color:#8b5509}.quick-contract-card.state-cargo_too_large{border-color:#e4ad5b}.quick-contract-card.state-aircraft_busy,.quick-contract-card.state-aircraft_unavailable{border-color:#d5b47a}.quick-contract-card.state-route_unavailable{border-color:#d87878}
html[data-theme="dark"] .quick-contract-explanation{background:#382819;border-color:#8b622b}html[data-theme="dark"] .quick-contract-explanation strong{color:#ffd08b}html[data-theme="dark"] .quick-contract-explanation p,html[data-theme="dark"] .quick-contract-explanation small,html[data-theme="dark"] .quick-contract-explanation ul{color:#d7c09d!important}html[data-theme="dark"] .fshub-tag-line span.warn{background:#4a3317;color:#ffd08b}
@media(max-width:1100px){.fshub-flight-identity{grid-template-columns:repeat(2,minmax(0,1fr))}.fshub-extended-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.fshub-flight-identity,.fshub-extended-facts{grid-template-columns:1fr}.fshub-match-form{min-width:220px}}

/* v0.9.3 — pianificatore rapido, carichi casuali e rimanenze cargo */
.quick-planner-flow{display:block!important;max-width:1480px;margin:0 auto}.quick-planner-flow>.panel{width:100%;margin-bottom:18px}.quick-contract-grid-featured{grid-template-columns:repeat(4,minmax(0,1fr));max-height:none;overflow:visible}.quick-contract-grid-featured .quick-contract-card{min-height:100%}.quick-priority-reasons{display:flex;flex-wrap:wrap;gap:5px}.quick-priority-reasons span{padding:4px 7px;border-radius:999px;background:color-mix(in srgb,var(--orange) 12%,var(--panel));border:1px solid color-mix(in srgb,var(--orange) 26%,var(--border));font-size:9px;font-weight:800;color:var(--muted)}
.quick-contract-catalog-dialog{width:min(1240px,96vw);max-height:min(880px,92vh);display:flex;flex-direction:column}.quick-contract-catalog-dialog .quick-contract-filters{flex:0 0 auto}.quick-contract-grid-catalog{grid-template-columns:repeat(3,minmax(0,1fr));max-height:65vh;overflow:auto;padding:4px 7px 8px 2px}.panel-head-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.quick-aircraft-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.quick-aircraft-card-v2{display:grid!important;grid-template-columns:minmax(190px,.72fr) minmax(0,1.6fr);padding:0!important;overflow:hidden;min-height:245px}.quick-aircraft-identity{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:7px;padding:24px 20px;background:radial-gradient(circle at 80% 10%,rgba(57,186,255,.19),transparent 46%),linear-gradient(145deg,#103d5a,#08273c);color:#fff}.quick-aircraft-identity:after{content:"";position:absolute;right:-30px;bottom:-36px;width:150px;height:150px;border:1px solid rgba(255,255,255,.12);border-radius:50%}.quick-plane-silhouette{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);font-size:29px;filter:drop-shadow(0 7px 10px rgba(0,0,0,.2))}.quick-aircraft-identity>div small,.quick-aircraft-identity>div strong,.quick-aircraft-identity>div span{display:block}.quick-aircraft-identity>div small{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#8fd3f7}.quick-aircraft-identity>div strong{font-size:24px;line-height:1.08;margin:3px 0}.quick-aircraft-identity>div span{font-size:11px;color:#c2dae7}.quick-aircraft-state{margin-top:6px;padding:5px 8px;border-radius:999px;background:rgba(72,224,164,.15);border:1px solid rgba(72,224,164,.3);color:#86edc3!important;font-size:9px}.quick-aircraft-card-v2.disabled .quick-aircraft-identity{filter:saturate(.55)}.quick-aircraft-card-v2.disabled .quick-aircraft-state{background:rgba(255,165,165,.13);border-color:rgba(255,165,165,.28);color:#ffc0c0!important}.quick-aircraft-performance{display:flex;flex-direction:column;gap:10px;padding:18px;min-width:0}.quick-aircraft-performance .quick-aircraft-load{grid-template-columns:1fr 1fr}.quick-aircraft-performance dl{grid-template-columns:repeat(4,1fr)}.quick-aircraft-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;font-size:10px;color:var(--muted)}.quick-aircraft-meta span:last-child{padding:4px 7px;border-radius:999px;background:var(--soft);font-weight:800}.quick-residual-note{display:block;padding:7px 9px;border-radius:8px;background:color-mix(in srgb,var(--orange) 10%,var(--panel));border:1px solid color-mix(in srgb,var(--orange) 25%,var(--border));font-size:10px;font-weight:750;color:#9a6019}.quick-awb-line{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}.quick-aircraft-card-v2 .quick-aircraft-blocked{position:static;grid-column:1/-1;margin:0 12px 12px}
.quick-summary-full{position:static!important;top:auto!important;overflow:visible!important}.quick-summary-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:22px;align-items:start}.quick-summary-main,.quick-summary-actions{min-width:0}.quick-summary-actions{position:relative;padding:18px;border:1px solid var(--border);border-radius:15px;background:linear-gradient(145deg,var(--panel-2),var(--panel))}.quick-summary-route{display:flex;align-items:center;justify-content:center;gap:18px;min-height:90px;margin-bottom:13px;border-radius:16px;background:radial-gradient(circle at 50% 110%,rgba(80,193,246,.20),transparent 60%),linear-gradient(135deg,#0d3751,#081f30);color:#fff}.quick-summary-route b{font-size:30px;letter-spacing:.06em}.quick-summary-route i{font-size:27px;font-style:normal;color:var(--orange)}.quick-summary-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0}.quick-summary-list>div{display:block!important;padding:11px 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel)}.quick-summary-list dt{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.quick-summary-list dd{margin:4px 0 0!important;text-align:left!important;font-weight:800;overflow-wrap:anywhere}.quick-summary-list .summary-margin{grid-column:span 2;background:color-mix(in srgb,var(--orange) 9%,var(--panel))}.quick-load-preview{max-height:165px;overflow:auto}.quick-submit{width:100%;margin-top:8px}.quick-submit-note{text-align:center}.quick-advanced-link{display:block;text-align:center;margin-top:10px;font-size:11px}.quick-existing-flights{max-width:1480px;margin-left:auto;margin-right:auto}
.random-cargo-dialog{width:min(820px,95vw)}.random-cargo-brief{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;padding:16px;margin:12px 0 18px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(145deg,var(--panel-2),var(--panel))}.random-cargo-brief b{grid-row:span 2;align-self:center;padding:7px 9px;border-radius:8px;background:var(--navy);color:#fff}.random-cargo-brief span{font-weight:800}.random-cargo-brief small{color:var(--muted)}.random-cargo-brief p{grid-column:1/-1;margin:8px 0 0}.random-cargo-estimate{padding:12px;border-radius:10px;background:color-mix(in srgb,var(--blue) 8%,var(--panel));border:1px solid color-mix(in srgb,var(--blue) 20%,var(--border));color:var(--muted)}.manifest-help{margin:12px 0 0;padding:10px 12px;border-radius:9px;background:var(--soft);color:var(--muted);font-size:11px}.shipment-lineage{display:inline-flex;margin-top:4px;padding:3px 6px;border-radius:6px;background:color-mix(in srgb,var(--orange) 11%,var(--panel));color:#9b611c;font-size:9px;font-weight:800}
html[data-theme="dark"] .quick-priority-reasons span,html[data-theme="dark"] .quick-residual-note,html[data-theme="dark"] .random-cargo-estimate{color:#efc98d}html[data-theme="dark"] .quick-summary-actions,html[data-theme="dark"] .random-cargo-brief{background:linear-gradient(145deg,#0b2434,#081c2a)}html[data-theme="dark"] .quick-summary-list>div{background:#091e2c}html[data-theme="dark"] .quick-aircraft-identity{background:radial-gradient(circle at 80% 10%,rgba(46,179,244,.2),transparent 46%),linear-gradient(145deg,#0b3652,#061d2d)}
@media(max-width:1350px){.quick-contract-grid-featured{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-aircraft-grid{grid-template-columns:1fr}.quick-contract-grid-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.quick-summary-layout{grid-template-columns:1fr}.quick-summary-list{grid-template-columns:1fr}.quick-summary-list .summary-margin{grid-column:auto}.quick-aircraft-card-v2{grid-template-columns:1fr}.quick-aircraft-identity{min-height:175px}.quick-aircraft-performance dl{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.quick-contract-grid-featured,.quick-contract-grid-catalog{grid-template-columns:1fr}.quick-aircraft-performance .quick-aircraft-load{grid-template-columns:1fr}.quick-aircraft-performance dl{grid-template-columns:1fr 1fr}.quick-summary-route b{font-size:23px}.panel-head-actions{justify-content:flex-start}.quick-contract-catalog-dialog{padding:20px 14px}.random-cargo-dialog{padding:22px 15px}}
:root{--panel-2:#f5f8fb;--soft:#edf4f7}
html[data-theme="dark"]{--panel-2:#0a2030;--soft:#102a3b}

/* v0.9.4 — selezione aeromobile e ricevuta della pianificazione rapida */
.quick-aircraft-card-v3{
  position:relative;
  display:block!important;
  min-height:0;
  padding:0!important;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:18px;
  background:var(--panel);
  box-shadow:0 8px 22px rgba(13,48,69,.06);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.quick-aircraft-card-v3:hover:not(.disabled){
  transform:translateY(-3px);
  border-color:#6eb8e5;
  box-shadow:0 16px 34px rgba(13,48,69,.13);
}
.quick-aircraft-card-v3.selected{
  border:2px solid var(--orange);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--orange) 15%,transparent),0 18px 38px rgba(13,48,69,.14);
}
.quick-aircraft-card-top{
  display:grid;
  grid-template-columns:78px minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  min-height:128px;
  padding:22px;
  background:
    radial-gradient(circle at 92% 0,rgba(83,194,255,.28),transparent 42%),
    linear-gradient(135deg,#103e5c 0%,#08283d 62%,#061d2d 100%);
  color:#fff;
}
.quick-aircraft-visual{
  display:grid;
  place-items:center;
  width:72px;
  height:72px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:20px;
  background:rgba(255,255,255,.1);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 12px 26px rgba(0,0,0,.18);
}
.quick-aircraft-visual svg{width:54px;height:54px;fill:#d9f2ff;transform:rotate(-6deg);filter:drop-shadow(0 5px 7px rgba(0,0,0,.25))}
.quick-aircraft-title{min-width:0}
.quick-aircraft-title small,.quick-aircraft-title strong,.quick-aircraft-title span{display:block}
.quick-aircraft-title small{font-size:10px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:#83cff7}
.quick-aircraft-title strong{margin:4px 0 3px;font-size:29px;line-height:1;letter-spacing:.025em;color:#fff}
.quick-aircraft-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#c7deea}
.quick-aircraft-availability{
  align-self:start;
  padding:6px 9px;
  border-radius:999px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.quick-aircraft-availability.available{border:1px solid rgba(84,232,171,.38);background:rgba(84,232,171,.14);color:#8cf1c7}
.quick-aircraft-availability.unavailable{border:1px solid rgba(255,160,160,.38);background:rgba(255,160,160,.13);color:#ffc1c1}
.quick-aircraft-capacity-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-bottom:1px solid var(--border);
  background:var(--panel-2);
}
.quick-aircraft-capacity-strip>span{min-width:0;padding:12px 15px;border-right:1px solid var(--border)}
.quick-aircraft-capacity-strip>span:last-child{border-right:0}
.quick-aircraft-capacity-strip small,.quick-aircraft-capacity-strip b{display:block}
.quick-aircraft-capacity-strip small{font-size:8px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.quick-aircraft-capacity-strip b{margin-top:3px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.quick-aircraft-mission{display:grid;gap:13px;padding:18px 20px 20px}
.quick-aircraft-load-v3{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.quick-aircraft-load-v3>div{padding:12px;border:1px solid var(--border);border-radius:11px;background:var(--panel-2)}
.quick-aircraft-load-v3 small,.quick-aircraft-load-v3 b,.quick-aircraft-load-v3 span{display:block}
.quick-aircraft-load-v3 small{font-size:8px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.quick-aircraft-load-v3 b{margin:4px 0 2px;font-size:18px}
.quick-aircraft-load-v3 span{font-size:10px;color:var(--muted)}
.quick-capacity-meter{display:grid;gap:7px}
.quick-capacity-meter>div{display:grid;grid-template-columns:50px minmax(0,1fr) 38px;align-items:center;gap:8px;font-size:9px;font-weight:800;color:var(--muted)}
.quick-capacity-meter i{display:block;height:8px;overflow:hidden;border-radius:999px;background:var(--soft)}
.quick-capacity-meter i b{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#2f80ed,#50bdf5)}
.quick-capacity-meter>div:nth-child(2) i b{background:linear-gradient(90deg,#2da67d,#51d2be)}
.quick-capacity-meter strong{text-align:right;color:var(--text)}
.quick-aircraft-metrics-v3{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.quick-aircraft-metrics-v3>span{min-width:0;padding:9px;border:1px solid var(--border);border-radius:9px}
.quick-aircraft-metrics-v3 small,.quick-aircraft-metrics-v3 b{display:block}
.quick-aircraft-metrics-v3 small{font-size:8px;text-transform:uppercase;color:var(--muted)}
.quick-aircraft-metrics-v3 b{margin-top:3px;font-size:11px;overflow-wrap:anywhere}
.quick-aircraft-residual{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--orange) 30%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--orange) 9%,var(--panel))}
.quick-aircraft-residual b{font-size:14px;color:#9b5d14}
.quick-aircraft-residual span{font-size:10px;color:var(--muted)}
.quick-aircraft-residual.clear{border-color:color-mix(in srgb,#2da67d 25%,var(--border));background:color-mix(in srgb,#2da67d 7%,var(--panel))}
.quick-aircraft-residual.clear b{color:#19704f}
.quick-aircraft-card-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:9px;color:var(--muted)}
.quick-aircraft-card-footer span:last-child{padding:4px 7px;border-radius:999px;background:var(--soft);font-weight:800}
.quick-aircraft-card-v3 .quick-aircraft-blocked{position:static;display:grid;gap:2px;margin:0 18px 18px;padding:10px 12px;border-radius:10px;background:#fae2e2;color:#8b242a}
.quick-aircraft-card-v3 .quick-aircraft-blocked strong{font-size:10px;text-transform:uppercase}.quick-aircraft-card-v3 .quick-aircraft-blocked span{font-size:10px}
.quick-aircraft-card-v3.disabled{opacity:.72;filter:saturate(.7)}
.quick-aircraft-selected-mark{position:absolute;right:14px;bottom:13px;display:none;padding:6px 9px;border-radius:999px;background:var(--orange);color:#fff;font-size:9px;font-weight:900;box-shadow:0 7px 15px rgba(0,0,0,.17)}
.quick-aircraft-card-v3.selected .quick-aircraft-selected-mark{display:inline-flex}

.quick-confirm-dialog{width:min(680px,96vw)}
.quick-confirm-summary{grid-template-columns:1fr}.quick-confirm-summary strong{font-size:27px}.quick-confirm-summary span{color:var(--muted)}
.quick-confirm-table{width:100%;margin:0 0 15px;border-collapse:separate;border-spacing:0;border:1px solid var(--border);border-radius:12px;overflow:hidden}
.quick-confirm-table th,.quick-confirm-table td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}
.quick-confirm-table th{width:180px;background:var(--panel-2);font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.quick-confirm-table td{font-weight:750}.quick-confirm-table tr:last-child th,.quick-confirm-table tr:last-child td{border-bottom:0}
.quick-confirm-table .quick-confirm-margin th,.quick-confirm-table .quick-confirm-margin td{background:color-mix(in srgb,var(--orange) 9%,var(--panel));font-size:13px}
.quick-confirm-note{padding:10px 12px;border-radius:9px;background:var(--soft);color:var(--muted);font-size:10px}

.quick-created-receipt{scroll-margin-top:90px;border-color:color-mix(in srgb,#2da67d 36%,var(--border));box-shadow:0 18px 45px rgba(16,91,66,.08)}
.quick-receipt-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--border)}
.quick-receipt-head h2{margin:2px 0 4px;font-size:25px}.quick-receipt-head p{margin:0;color:var(--muted)}
.quick-receipt-success{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:#daf4e8;color:#15704e}.quick-receipt-success .ui-icon{width:29px;height:29px}
.quick-receipt-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.quick-receipt-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:17px 0}
.quick-receipt-kpis article{padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--panel-2)}
.quick-receipt-kpis small,.quick-receipt-kpis strong,.quick-receipt-kpis span{display:block}
.quick-receipt-kpis small{font-size:8px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.quick-receipt-kpis strong{margin:5px 0 2px;font-size:21px}.quick-receipt-kpis span{font-size:9px;color:var(--muted)}
.quick-receipt-flight-table{overflow:auto;margin-bottom:22px;border:1px solid var(--border);border-radius:12px}
.quick-receipt-flight-table table{width:100%;border-collapse:collapse}.quick-receipt-flight-table th,.quick-receipt-flight-table td{padding:11px 13px;border-bottom:1px solid var(--border);text-align:left}.quick-receipt-flight-table tr:last-child th,.quick-receipt-flight-table tr:last-child td{border-bottom:0}.quick-receipt-flight-table th{width:145px;background:var(--panel-2);font-size:9px;text-transform:uppercase;color:var(--muted)}
.quick-receipt-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin:20px 0 9px}.quick-receipt-section-head h3{margin:2px 0 0}.quick-receipt-section-head>strong{font-size:13px}.quick-receipt-section-head.remaining{margin-top:28px}
.quick-receipt-table table{min-width:1050px}.quick-receipt-table td small{display:block;margin-top:3px;color:var(--muted);font-size:9px}
.receipt-load-status{display:inline-flex;padding:5px 7px;border-radius:999px;font-size:9px;font-weight:850}
.receipt-load-status.complete{background:#daf4e8;color:#146d4c}.receipt-load-status.partial,.receipt-load-status.offloaded{background:#fff0db;color:#8a5511}.receipt-load-status.waiting{background:var(--soft);color:var(--muted)}
.receipt-generated-residual{background:color-mix(in srgb,var(--orange) 5%,var(--panel))}

html[data-theme="dark"] .quick-aircraft-card-v3{background:#081c29;border-color:#26495c}
html[data-theme="dark"] .quick-aircraft-card-top{background:radial-gradient(circle at 92% 0,rgba(66,181,242,.24),transparent 42%),linear-gradient(135deg,#0d3853,#061d2e 68%,#051724)}
html[data-theme="dark"] .quick-aircraft-residual b{color:#efc58d}
html[data-theme="dark"] .quick-aircraft-residual.clear b{color:#7de0b6}
html[data-theme="dark"] .quick-receipt-success{background:#123c2d;color:#86e8bd}
html[data-theme="dark"] .quick-confirm-table th{background:#0a2231}

@media(max-width:1050px){
  .quick-receipt-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quick-receipt-head{grid-template-columns:auto 1fr}.quick-receipt-actions{grid-column:1/-1;justify-content:flex-start}
}
@media(max-width:780px){
  .quick-aircraft-card-top{grid-template-columns:62px minmax(0,1fr)}
  .quick-aircraft-visual{width:58px;height:58px;border-radius:15px}.quick-aircraft-visual svg{width:44px;height:44px}
  .quick-aircraft-availability{grid-column:1/-1;justify-self:start}
  .quick-aircraft-capacity-strip{grid-template-columns:1fr 1fr}.quick-aircraft-capacity-strip>span:last-child{grid-column:1/-1;border-top:1px solid var(--border)}
  .quick-aircraft-metrics-v3{grid-template-columns:1fr 1fr}
  .quick-receipt-kpis{grid-template-columns:1fr 1fr}
  .quick-receipt-section-head{align-items:flex-start;flex-direction:column}
}
@media(max-width:520px){
  .quick-aircraft-load-v3{grid-template-columns:1fr}
  .quick-aircraft-card-footer{align-items:flex-start;flex-direction:column}
  .quick-receipt-head{grid-template-columns:1fr}.quick-receipt-success{width:44px;height:44px}
  .quick-receipt-kpis{grid-template-columns:1fr}
  .quick-receipt-actions{display:grid;grid-template-columns:1fr;width:100%}
  .quick-confirm-table th{width:125px}
}


/* v0.9.5 diagnostics */
.diagnostic-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--panel);margin-bottom:18px}.diagnostic-summary>div{display:flex;align-items:center;gap:14px}.diagnostic-summary h2,.diagnostic-summary p{margin:0}.diagnostic-summary small{letter-spacing:.12em}.diagnostic-orb{width:18px;height:18px;border-radius:50%;background:#35b56f;box-shadow:0 0 0 0 rgba(53,181,111,.5);animation:diagnosticPulse 1.8s infinite}.diagnostic-summary.bad .diagnostic-orb{background:#d55c5c;box-shadow:0 0 0 0 rgba(213,92,92,.45)}@keyframes diagnosticPulse{70%{box-shadow:0 0 0 12px transparent}100%{box-shadow:0 0 0 0 transparent}}.diagnostic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.diagnostic-card{display:flex;gap:12px;padding:15px;border:1px solid var(--line);border-radius:15px;background:var(--panel-2)}.diagnostic-card>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;flex:0 0 auto;font-weight:800}.diagnostic-card.ok>span{background:rgba(53,181,111,.16);color:#35b56f}.diagnostic-card.warning>span{background:rgba(232,170,56,.17);color:#d49322}.diagnostic-card.error>span{background:rgba(213,92,92,.16);color:#d55c5c}.diagnostic-card strong,.diagnostic-card p,.diagnostic-card small{display:block;margin:0}.diagnostic-card p{margin-top:4px}.diagnostic-card small{margin-top:7px;opacity:.65}.code-block{overflow:auto;padding:14px;border-radius:12px;background:var(--panel-2);border:1px solid var(--line)}.quick-planner-runtime-error{padding:18px;border:1px solid #d55c5c;border-radius:14px;background:rgba(213,92,92,.1)}@media(max-width:720px){.diagnostic-summary{align-items:flex-start;flex-direction:column}}
