*{box-sizing:border-box;margin:0;padding:0}@keyframes spin{to{transform:rotate(360deg)}}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:13px;color:#1a1a1a;background:#f2f2ee}
.app{max-width:1060px;margin:0 auto;padding:1.25rem 1rem 5rem}
.hdr{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:1.1rem}
.hdr h1{font-size:18px;font-weight:600}
.hdr p{font-size:11px;color:#888;margin-top:2px}
.bdgs{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}
.bdg{font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px}
.bdg-b{background:#dbeafe;color:#1d4ed8}.bdg-g{background:#dcfce7;color:#15803d}
.bdg-a{background:#fef3c7;color:#92400e}.bdg-p{background:#ede9fe;color:#6d28d9}
.hdr-btns{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
/* Umlauf history bar */
.umlauf-bar{background:#fff;border:1px solid #e2e2dc;border-radius:8px;padding:.65rem 1rem;margin-bottom:.8rem;display:none}
.umlauf-bar.visible{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.umlauf-list{display:flex;gap:6px;flex-wrap:wrap;flex:1}
.umlauf-pill{display:inline-flex;align-items:center;gap:5px;background:#f8f8f5;border:1px solid #e2e2dc;border-radius:6px;padding:3px 9px;font-size:11px;cursor:pointer;transition:all .1s}
.umlauf-pill:hover{background:#f0f0ec;border-color:#bbb}
.umlauf-pill.active{background:#1a1a1a;color:#fff;border-color:#1a1a1a}
.umlauf-pill .up-fob{font-size:9px;opacity:.7;margin-left:3px}
.steps{display:flex;border:1px solid #e2e2dc;border-radius:8px;overflow:hidden;margin-bottom:.9rem}
.stp{flex:1;padding:.5rem .7rem;font-size:11px;font-weight:500;color:#bbb;background:#fafaf8;border-right:1px solid #e2e2dc;display:flex;align-items:center;gap:5px}
.stp:last-child{border-right:none}
.stp.on{background:#fff;color:#1a1a1a}
.stp.dn{background:#f0fdf4;color:#166534}
.sn{width:18px;height:18px;border-radius:50%;background:#e5e5e0;color:#777;font-size:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:700}
.stp.on .sn{background:#1a1a1a;color:#fff}
.stp.dn .sn{background:#16a34a;color:#fff}
.card{background:#fff;border:1px solid #e2e2dc;border-radius:10px;padding:1rem 1.1rem;margin-bottom:.8rem}
.card.dim{opacity:.4;pointer-events:none}
.ct{font-size:10px;font-weight:700;color:#999;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.8rem;display:flex;align-items:center;gap:8px}
.upz{border:1.5px dashed #ccc;border-radius:8px;padding:1.4rem;text-align:center;cursor:pointer;transition:all .12s}
.upz:hover,.upz.drag{background:#f0f0ec;border-color:#999}
.upz input{display:none}
.prog{height:3px;background:#eee;border-radius:2px;overflow:hidden;margin:8px 0;display:none}
.progb{height:100%;width:0;background:#2563eb;border-radius:2px;transition:width .3s}
.logtxt{font-size:10px;color:#888;margin-top:3px;min-height:14px}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.g5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
.fg{display:flex;flex-direction:column;gap:3px}
label{font-size:10px;color:#777;font-weight:500}
input,select{height:32px;border:1px solid #ddd;border-radius:6px;padding:0 8px;font-size:12px;background:#fafaf8;color:#1a1a1a;width:100%}
input[type=search]{-webkit-appearance:none;appearance:none}
input[type=search]::-webkit-search-cancel-button{display:none}
input[type=search]::-webkit-search-decoration{display:none}
input:focus,select:focus{outline:none;border-color:#2563eb;background:#fff}
input.ai{border-color:#86efac;background:#f0fdf4}
input.warn{border-color:#fbbf24;background:#fffbeb}
.btn{height:33px;padding:0 15px;border:1px solid #ddd;border-radius:6px;background:transparent;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:all .1s;white-space:nowrap}
.btn:hover{background:#f0f0ec}
.btn.pri{background:#1a1a1a;color:#fff;border-color:#1a1a1a}
.btn.pri:hover{background:#333}
.btn.grn{background:#16a34a;color:#fff;border-color:#16a34a}
.btn.grn:hover{background:#15803d}
.btn.blu{border-color:#93c5fd;color:#1d4ed8}
.btn.blu:hover{background:#eff6ff}
.btn.sm{height:26px;padding:0 10px;font-size:10px}
.btn.nofuel{border-color:#fca5a5;color:#dc2626;background:#fff}
.btn.nofuel:hover{background:#fef2f2}
.btn.nofuel.active{background:#dc2626;color:#fff;border-color:#dc2626}
.btn.nofuel.active:hover{background:#b91c1c}
.legc.no-fuel-leg .legb{pointer-events:none}
.legc.no-fuel-leg .legb input[type=number]{pointer-events:auto;opacity:1}
.legc.no-fuel-leg .legh{background:#fff5f5;border-bottom-color:#fca5a5}
.nofuel-banner{background:#fee2e2;border:1px solid #fca5a5;border-radius:6px;padding:.45rem .8rem;font-size:10px;font-weight:600;color:#dc2626;margin-bottom:6px;display:flex;align-items:center;gap:6px}
.btn.del:hover{background:#fef2f2}
/* Next umlauf banner */
.next-banner{background:#f0fdf4;border:1px solid #86efac;border-radius:8px;padding:.9rem 1.1rem;margin-bottom:.8rem;display:none}
.next-banner.visible{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.next-banner .nb-main{flex:1}
.next-banner h3{font-size:14px;font-weight:600;color:#15803d;margin-bottom:3px}
.next-banner p{font-size:12px;color:#166534}
.legc{background:#fff;border:1px solid #e2e2dc;border-radius:8px;margin-bottom:.5rem;overflow:hidden}
.legh{display:flex;align-items:center;gap:8px;padding:.55rem .9rem;background:#fafaf8;border-bottom:1px solid #eee;cursor:pointer}
.legh h3{font-size:12px;font-weight:600;flex:1}
.legb{padding:.85rem .9rem;display:none}
.legb.open{display:block}
.lnum{width:22px;height:22px;border-radius:50%;background:#1a1a1a;color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.stdd{border:1px solid #eee;border-radius:6px;max-height:180px;overflow-y:auto;margin-top:3px;display:none;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.08);position:relative;z-index:20}
.sti{padding:6px 9px;cursor:pointer;border-bottom:1px solid #f5f5f0;display:flex;justify-content:space-between;font-size:11px}
.sti:hover{background:#f8f8f5}
.sti:last-child{border-bottom:none}
.tabs{display:flex;gap:4px;margin-bottom:.8rem;flex-wrap:wrap}
.tab{padding:4px 13px;font-size:11px;border:1px solid #ddd;border-radius:5px;cursor:pointer;background:transparent;color:#666}
.tab.on{background:#1a1a1a;color:#fff;border-color:#1a1a1a}
.met{background:#f8f8f5;border-radius:6px;padding:.55rem .8rem}
.met .ml{font-size:10px;color:#777;margin-bottom:2px}
.met .mv{font-size:16px;font-weight:700}
.met .mu{font-size:10px;color:#999}
.rbox{border-radius:7px;padding:.8rem 1rem;margin-bottom:.7rem}
.rg{background:#f0fdf4;border:1px solid #86efac}
.rr{background:#fef2f2;border:1px solid #fca5a5}
.ra{background:#fffbeb;border:1px solid #fcd34d}
.rb{background:#eff6ff;border:1px solid #93c5fd}
.rt{font-size:13px;font-weight:600;margin-bottom:3px}
.rg .rt{color:#15803d}.rr .rt{color:#dc2626}.ra .rt{color:#92400e}.rb .rt{color:#1d4ed8}
.rs{font-size:11px;line-height:1.5}
.rg .rs{color:#166534}.rr .rs{color:#991b1b}.ra .rs{color:#78350f}.rb .rs{color:#1e3a8a}
.legr{border:1px solid #e2e2dc;border-radius:8px;overflow:hidden;margin-bottom:.6rem}
.lrh{display:flex;align-items:center;gap:8px;padding:.55rem .9rem;background:#fafaf8;border-bottom:1px solid #eee}
.lrb{padding:.8rem .9rem}
.decb{border-radius:6px;padding:.5rem .8rem;font-size:11px;font-weight:500;margin-bottom:.6rem}
.dc-g{background:#f0fdf4;color:#15803d;border:1px solid #86efac}
.dc-r{background:#fef2f2;color:#dc2626;border:1px solid #fca5a5}
.dc-a{background:#fffbeb;color:#92400e;border:1px solid #fcd34d}
.dc-x{background:#f8f8f5;color:#555;border:1px solid #e2e2dc}
.ft{width:100%;font-size:11px;border-collapse:collapse}
.ft td{padding:3px 0;border-bottom:1px solid #f5f5f0}
.ft tr:last-child td{border-bottom:none}
.fl{color:#777}.fv{text-align:right;font-weight:500}
.reu-d{background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;padding:.6rem .8rem;margin:.35rem 0;font-size:11px}
.reu-s{background:#f0fdf4;border:1px solid #86efac;border-radius:6px;padding:.6rem .8rem;margin:.35rem 0;font-size:11px}
.reu-o{background:#f8f8f5;border:1px solid #e2e2dc;border-radius:6px;padding:.5rem .8rem;margin:.35rem 0;font-size:11px}
.reu-tit{font-weight:700;font-size:10px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}
.reu-d .reu-tit{color:#dc2626}.reu-s .reu-tit{color:#16a34a}.reu-o .reu-tit{color:#777}
.reu-d .reu-body{color:#991b1b}.reu-s .reu-body{color:#166534}.reu-o .reu-body{color:#555}
.bw{display:flex;align-items:center;gap:6px;margin-top:4px}
.bt{flex:1;height:5px;background:#eee;border-radius:3px;overflow:hidden}
.bf{height:100%;border-radius:3px}
.bf-g{background:#16a34a}.bf-r{background:#dc2626}
.crow{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px solid #f5f5f0;font-size:11px}
.crow:last-child{border-bottom:none}
.dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:6px}
.dg{background:#16a34a}.dr{background:#dc2626}.da{background:#d97706}
.pill{font-size:10px;padding:2px 8px;border-radius:4px;font-weight:600}
.p-ok{background:#dcfce7;color:#166534}.p-fail{background:#fee2e2;color:#dc2626}.p-warn{background:#fef3c7;color:#92400e}
.ir{display:flex;justify-content:space-between;font-size:11px;padding:4px 0;border-bottom:1px solid #f8f8f5}
.ir:last-child{border-bottom:none}
.il{color:#777}.iv{font-weight:500}
.sbar{display:flex;align-items:center;gap:8px;margin:.3rem 0}
.slbl{font-size:11px;color:#777;width:120px;flex-shrink:0}
.strack{flex:1;height:6px;background:#eee;border-radius:3px;overflow:hidden}
.sfill{height:100%;border-radius:3px;background:#16a34a}
.fobrow{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid #f5f5f0;font-size:11px}
.fobrow:last-child{border-bottom:none}
.rtbl{width:100%;border-collapse:collapse;font-size:11px}
.rtbl th{font-size:10px;font-weight:600;color:#999;text-transform:uppercase;padding:4px 6px;border-bottom:1px solid #eee;text-align:left}
.rtbl td{padding:4px 6px;border-bottom:1px solid #f5f5f0}
.rtbl tr:hover td{background:#fafaf8}
.rdrow td{background:#fff8f8}
.rpill{display:inline-block;font-size:10px;font-weight:600;padding:2px 7px;border-radius:10px}
.rpill-d{background:#fee2e2;color:#dc2626}.rpill-s{background:#dcfce7;color:#166534}.rpill-o{background:#f3f4f6;color:#555}
hr.dv{border:none;border-top:1px solid #eee;margin:.5rem 0}
/* Timeline */
.tl-wrap{position:relative;padding:.5rem 0}
.tl-line{position:absolute;left:38px;top:0;bottom:0;width:2px;background:#e2e2dc;z-index:0}
.tl-item{display:flex;align-items:flex-start;gap:14px;margin-bottom:.9rem;position:relative;z-index:1}
.tl-dot{width:16px;height:16px;border-radius:50%;flex-shrink:0;margin-top:3px;border:2px solid #fff;box-shadow:0 0 0 2px currentColor}
.tl-dot-dep{background:#1a1a1a;color:#1a1a1a}
.tl-dot-arr{background:#e2e2dc;color:#e2e2dc}
.tl-dot-tank{background:#16a34a;color:#16a34a}
.tl-dot-def{background:#dc2626;color:#dc2626}
.tl-time{font-size:11px;font-weight:700;color:#777;min-width:42px;text-align:right;flex-shrink:0;margin-top:2px;font-family:monospace}
.tl-card{flex:1;background:#fff;border:1px solid #e2e2dc;border-radius:8px;padding:.7rem .9rem}
.tl-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}
.tl-card-title{font-size:13px;font-weight:600}
.tl-card-sub{font-size:10px;color:#888;margin-top:1px}
.tl-fob{font-size:20px;font-weight:700;color:#1a1a1a}
.tl-fob-lbl{font-size:10px;color:#777;margin-bottom:2px}
.tl-pills{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}
.tl-pill{font-size:10px;padding:2px 8px;border-radius:10px;font-weight:600}
.tl-pill-upl{background:#dbeafe;color:#1d4ed8}
.tl-pill-tank{background:#dcfce7;color:#166534}
.tl-pill-burn{background:#fef3c7;color:#92400e}
.tl-pill-reu-d{background:#fee2e2;color:#dc2626}
.tl-pill-reu-s{background:#dcfce7;color:#166534}
.tl-pill-pre{background:#fef3c7;color:#92400e}
.tl-carry{display:flex;align-items:center;gap:6px;margin-top:6px;padding-top:6px;border-top:1px dashed #eee;font-size:11px;color:#888}
.tl-carry strong{color:#1a1a1a}
.tl-bar-wrap{margin-top:7px}
.tl-bar-label{display:flex;justify-content:space-between;font-size:10px;color:#888;margin-bottom:3px}
.tl-bar-track{height:8px;background:#f0f0ec;border-radius:4px;overflow:hidden}
.tl-bar-seg{height:100%;float:left;transition:width .3s}
.tl-seg-min{background:#e2e2dc}
.tl-seg-tank{background:#86efac}
.tl-seg-max{background:#f0f0ec}
.tl-legend{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:.9rem;font-size:11px;color:#666}
.tl-legend span{display:flex;align-items:center;gap:5px}
.tl-legend .dot{width:10px;height:10px;border-radius:50%}
.pre-alert{background:#fffbeb;border:1px solid #fcd34d;border-radius:7px;padding:.6rem .9rem;margin-bottom:.7rem;font-size:11px;color:#92400e}
.pre-alert strong{font-weight:600}
.utc-toggle{display:flex;align-items:center;gap:7px;font-size:11px;color:#666;margin-bottom:.9rem}

/* Airport search dropdown v2 */
.stdd{border:1px solid #e2e2dc;border-radius:8px;max-height:260px;overflow-y:auto;
  margin-top:3px;display:none;background:#fff;box-shadow:0 6px 20px rgba(0,0,0,.1);
  position:relative;z-index:20}
.st-airport{border-bottom:1px solid #f0f0ec}
.st-airport:last-child{border-bottom:none}
.st-airport-header{display:flex;align-items:center;justify-content:space-between;
  padding:7px 10px 4px;background:#fafaf8}
.st-airport-name{font-size:12px;font-weight:600;color:#1a1a1a}
.st-airport-code{font-size:10px;color:#888;margin-top:1px}
.st-providers{padding:0 6px 5px}
.st-provider{display:flex;align-items:center;gap:8px;padding:5px 8px;
  border-radius:6px;cursor:pointer;transition:background .1s;margin-bottom:2px}
.st-provider:hover{background:#f0f0ec}
.st-provider.cheapest{background:#f0fdf4;border:1px solid #86efac}
.st-provider.cheapest:hover{background:#dcfce7}
.st-prov-name{flex:1;font-size:11px;color:#555;line-height:1.3}
.st-prov-price{font-size:12px;font-weight:700;color:#1a56db;white-space:nowrap}
.st-prov-fees{font-size:10px;color:#aaa;margin-top:1px}
.st-cheapest-badge{font-size:9px;font-weight:700;background:#dcfce7;color:#166534;
  padding:1px 5px;border-radius:3px;white-space:nowrap}
.st-single-airport{display:flex;align-items:center;gap:8px;padding:7px 10px;
  cursor:pointer;border-bottom:1px solid #f5f5f0;transition:background .1s}
.st-single-airport:hover{background:#f8f8f5}
.st-single-airport:last-child{border-bottom:none}

/* Actual vs Planned */
.tl-card.flown{border-color:#86efac;background:#f0fdf4}
.tl-card.active-leg{border-color:#2563eb;border-width:2px;box-shadow:0 0 0 3px #dbeafe}
.tl-card.future{opacity:.7}
.flown-badge{display:inline-flex;align-items:center;gap:4px;background:#dcfce7;color:#166534;font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px}
.actual-input-row{display:flex;align-items:center;gap:8px;margin-top:8px;padding:8px 10px;background:#fff;border:1px solid #e2e2dc;border-radius:7px}
.actual-input-row label{font-size:11px;color:#555;white-space:nowrap}
.actual-input-row input{height:30px;border:1px solid #ddd;border-radius:5px;padding:0 8px;font-size:13px;font-weight:600;width:110px}
.delta-positive{color:#16a34a;font-size:10px;font-weight:600}
.delta-negative{color:#dc2626;font-size:10px;font-weight:600}
.delta-zero{color:#888;font-size:10px}
.replan-banner{background:#eff6ff;border:1px solid #93c5fd;border-radius:7px;padding:.65rem .9rem;margin-bottom:.7rem;font-size:12px;color:#1d4ed8;display:none}
.replan-banner.visible{display:flex;align-items:center;gap:10px}
.leg-status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.ls-flown{background:#16a34a}
.ls-active{background:#2563eb;animation:pulse 1.5s infinite}
.ls-future{background:#e2e2dc}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}


.mode-btn{height:auto;padding:.5rem .85rem;flex-direction:column;align-items:center;gap:2px;font-size:11px;border-radius:7px}
.mode-btn.active{background:#16a34a;color:#fff;border-color:#16a34a}
.mode-btn:not(.active):hover{background:#f0f0ec}
.note{font-size:10px;color:#888;background:#f8f8f5;border-radius:4px;padding:4px 7px;margin-top:4px;line-height:1.4}
.ainote{font-size:11px;padding:6px 9px;border-radius:5px;margin-top:7px}
.ainote-b{background:#eff6ff;color:#1d4ed8}
.ainote-r{background:#fef2f2;color:#dc2626}
.tag-pre{display:inline-block;background:#fef3c7;color:#92400e;font-size:9px;padding:1px 5px;border-radius:3px;font-weight:600;margin-left:3px}
.tag-reu{display:inline-block;background:#dcfce7;color:#166534;font-size:9px;padding:1px 5px;border-radius:3px;font-weight:600;margin-left:3px}
.tag-easa{display:inline-block;background:#f1f5f9;color:#64748b;font-size:9px;padding:1px 5px;border-radius:3px;font-weight:600;margin-left:3px}

/* ── Documentation / Stock Module ─────────────────────────────────────────── */

/* Documentation modal tab bar */
.doc-tab{padding:6px 14px;font-size:11px;font-weight:500;border:none;border-right:1px solid #e2e2dc;background:#fafaf8;color:#888;cursor:pointer;white-space:nowrap;transition:background .1s,color .1s;display:inline-flex;align-items:center}
.doc-tab:hover{background:#f0f0ec;color:#1a1a1a}
.doc-tab.doc-tab-active{background:#fff;color:#1a1a1a;font-weight:700}
.doc-tab:last-child{border-right:none}

/* Traffic-light status dots */
.status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px;flex-shrink:0}
.status-green{background:#16a34a}.status-yellow{background:#d97706}.status-red{background:#dc2626}.status-manual{background:#9ca3af}

/* Status badge pill */
.status-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:3px 10px;border-radius:12px}
.status-badge.green{background:#dcfce7;color:#15803d;border:1px solid #86efac}
.status-badge.yellow{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}
.status-badge.red{background:#fee2e2;color:#dc2626;border:1px solid #fca5a5}
.status-badge.manual{background:#f3f4f6;color:#6b7280;border:1px solid #d1d5db}

/* Progress bar */
.doc-progress-wrap{background:#f0f0ec;border-radius:4px;height:8px;overflow:hidden;margin:6px 0}
.doc-progress-bar{height:100%;border-radius:4px;transition:width .4s}
.doc-progress-bar.green{background:#16a34a}
.doc-progress-bar.yellow{background:#d97706}
.doc-progress-bar.red{background:#dc2626;width:100%!important}

/* Stock status text */
.stock-ok{color:#15803d;font-weight:600}
.stock-warn{color:#92400e;font-weight:600}
.stock-empty{color:#dc2626;font-weight:600}

/* Maintenance service form card */
.doc-service-form{background:#f8f8f5;border:1px solid #e2e2dc;border-radius:8px;padding:.85rem 1rem}

/* Postflight checklist item row */
.pf-checklist-item{display:flex;align-items:center;gap:8px;padding:4px 0;border-bottom:1px solid #f0f0ec}
.pf-checklist-item input[type=checkbox]{width:15px;height:15px;flex-shrink:0;cursor:pointer}
.pf-checklist-item input[type=text]{flex:1}

/* Fuel Calculation Spinner */
@keyframes spin{to{transform:rotate(360deg)}}
.spin-icon{display:inline-block;animation:spin .8s linear infinite}
.calc-overlay{display:none;position:absolute;inset:0;background:rgba(255,255,255,.65);z-index:10;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:#7a5c1e;gap:8px;border-radius:8px}

/* Fuel Brief — Zusammenfassung-Tab */
.fb-print-btn{margin-bottom:.8rem;padding:.35rem .9rem;border:1px solid #1d4ed8;border-radius:5px;background:#eff6ff;color:#1d4ed8;font-size:11px;font-weight:600;cursor:pointer;display:inline-block}
.fb-print-header{display:none;margin-bottom:1rem;font-size:13px;font-weight:700;color:#333;border-bottom:2px solid #333;padding-bottom:.4rem}
.fb-table{margin-bottom:.9rem}
.fb-leg{padding:.6rem .8rem;border:1px solid #e2e2dc;border-radius:6px;margin-bottom:.45rem;background:#fafaf8}
.fb-nofuel{background:#fff9f9;border-color:#fecaca}
.fb-leg-head{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin-bottom:.3rem}
.fb-lnr{font-size:10px;font-weight:700;color:#555;min-width:40px}
.fb-route{font-size:12px;font-weight:600;flex:1;min-width:0}
.fb-blk{font-size:11px;color:#666;white-space:nowrap}
.fb-cost{font-size:12px;font-weight:700;color:#1d4ed8;white-space:nowrap;margin-left:auto}
.fb-leg-body{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;font-size:11px;color:#555;margin-bottom:.22rem}
.fb-carry{color:#7c3aed;font-weight:600}
.fb-badge{font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px;white-space:nowrap}
.fb-b-easa{background:#dbeafe;color:#1e40af}
.fb-b-tank{background:#dcfce7;color:#166534}
.fb-b-warn{background:#fef3c7;color:#92400e}
.fb-fees{font-size:10px;color:#c2410c;margin-bottom:.18rem}
.fb-tax{color:#6d28d9}
.fb-grund{font-size:10px;color:#999;font-style:italic;margin-top:.15rem}
.fb-g-tank{color:#166534;font-style:normal;font-weight:600}
.fb-totals{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:.55rem .8rem;background:#f0fdf4;border:1px solid #86efac;border-radius:6px;font-size:12px}
.fb-sav{color:#15803d;font-weight:700}
.site-footer{margin-top:2rem;padding:1rem 1.5rem;border-top:1px solid #e2e8f0;text-align:center;font-size:.72rem;color:#94a3b8;line-height:1.6}
.site-footer a{color:#94a3b8;text-decoration:underline}
.site-footer a:hover{color:#64748b}
.site-footer__legal{margin:0 0 .35rem}
.site-footer__copy{margin:0;font-weight:500}
@media(max-width:600px){
  .app{padding:.75rem .75rem 5rem}
  /* 4-col and 5-col grids collapse to 2-col on mobile */
  .g3{grid-template-columns:1fr 1fr}
  .g4{grid-template-columns:1fr 1fr}
  .g5{grid-template-columns:1fr 1fr}
  /* Tables: scroll rather than overflow */
  .rtbl,.ft{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%}
}
@media print{
  .topbar,.subnav,#stp1,#stp2,#stp3,.tab,#t-legs,#t-comp,#t-reu,#t-det,#t-time,.fb-print-btn,.no-print{display:none!important}
  #t-sum,#c4{display:block!important}
  .fb-print-header{display:block!important}
  .card{box-shadow:none!important;border:1px solid #ddd!important}
  .fb-leg{break-inside:avoid;border:1px solid #ccc}
  .site-footer{color:#555!important;border-top-color:#ccc!important}
}
