:root{--ink:#0f1c2e;--ink-2:#3d4d61;--muted:#6b7b8f;--line:#dfe4ea;--line-soft:#eef1f4;--bg:#f4f6f8;--card:#fff;--navy:#12395c;--accent:#b4761f;--ok-bg:#e6f4ea;--ok-fg:#1b6b39;--warn-bg:#fdf1dc;--warn-fg:#8a5a09;--bad-bg:#fbe9e9;--bad-fg:#9b2222;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.5}.app{max-width:1160px;margin:0 auto;padding:0 24px 64px}.masthead{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;margin-bottom:24px;padding:28px 0 0;display:flex}.wordmark{letter-spacing:-.4px;color:var(--navy);font-size:23px;font-weight:680}.tagline{color:var(--muted);margin-top:2px;font-size:13px}.tabs{gap:2px;display:flex}.tab{color:var(--ink-2);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 16px;font-family:inherit;font-size:14px}.tab:hover{color:var(--ink)}.tab.on{color:var(--navy);border-bottom-color:var(--navy);font-weight:600}.panel{background:var(--card);border:1px solid var(--line);border-radius:8px;margin-bottom:20px;padding:22px 24px}.panel.narrow{max-width:560px}h2{letter-spacing:-.1px;margin:0 0 16px;font-size:16px;font-weight:620}h4{text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin:0 0 10px;font-size:11px;font-weight:600}.lede{color:var(--ink-2);max-width:62ch;margin:-8px 0 20px;font-size:14px}.muted{color:var(--muted);font-weight:400}.mono{font-family:var(--mono);font-size:12.5px}.fields{grid-template-columns:1fr 1fr 1.4fr .8fr .8fr auto;align-items:end;gap:12px;display:grid}.fields label{flex-direction:column;gap:6px;display:flex}.fields label span,.setting label span{text-transform:uppercase;letter-spacing:.7px;color:var(--muted);font-size:11px;font-weight:600}select,input{color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:6px;width:100%;padding:9px 11px;font-family:inherit;font-size:14.5px}select:focus,input:focus{outline:2px solid var(--navy);outline-offset:-1px;border-color:var(--navy)}.go{background:var(--navy);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;height:38px;padding:10px 22px;font-family:inherit;font-size:14.5px;font-weight:560}.go:hover{background:#0d2b45}.results-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin:28px 0 12px;display:flex}.results-head h2{margin:0}.stamp{color:var(--muted);font-size:12.5px}.stamp strong{color:var(--ink-2)}.option{background:var(--card);border:1px solid var(--line);border-radius:8px;margin-bottom:10px;overflow:hidden}.option.dead{opacity:.72;background:#fbfbfc}.option-main{cursor:pointer;grid-template-columns:minmax(180px,1.5fr) 90px 110px 100px 130px 170px;align-items:center;gap:14px;padding:16px 20px;display:grid}.option-main:hover{background:#fcfcfd}.col .k{text-transform:uppercase;letter-spacing:.7px;color:var(--muted);margin-bottom:3px;font-size:10.5px;font-weight:600}.col .v{font-size:14.5px}.col .v.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.col .v.big{letter-spacing:-.3px;font-size:19px;font-weight:620}.col.sell .v{color:var(--navy)}.carrier .name{flex-wrap:wrap;align-items:center;gap:7px;font-size:15.5px;font-weight:620;display:flex}.carrier .service{color:var(--muted);margin-top:2px;font-size:12.5px}.pill{text-transform:uppercase;letter-spacing:.6px;border-radius:3px;padding:2px 7px;font-size:10px;font-weight:700}.pill.best{background:var(--ok-bg);color:var(--ok-fg)}.pill.fast{color:#24488f;background:#e8eefb}.validity{justify-content:flex-end;align-items:center;gap:10px;display:flex}.badge{white-space:nowrap;border-radius:4px;padding:3px 9px;font-size:11.5px;font-weight:600}.badge.ok{background:var(--ok-bg);color:var(--ok-fg)}.badge.warn{background:var(--warn-bg);color:var(--warn-fg)}.badge.bad{background:var(--bad-bg);color:var(--bad-fg)}.disclose{border:1px solid var(--line);color:var(--ink-2);cursor:pointer;background:#fff;border-radius:5px;padding:5px 11px;font-family:inherit;font-size:12.5px}.disclose:hover{border-color:var(--ink-2)}.dead-note{background:var(--bad-bg);color:var(--bad-fg);border-top:1px solid #f2d5d5;padding:10px 20px;font-size:13px}.detail{border-top:1px solid var(--line-soft);background:#fbfcfd;padding:20px}.detail-grid{grid-template-columns:1.35fr 1fr;gap:36px;display:grid}table.lines{border-collapse:collapse;width:100%;font-size:13.5px}table.lines td{border-bottom:1px solid var(--line-soft);padding:5px 0}table.lines td.code{font-family:var(--mono);color:var(--muted);letter-spacing:.3px;width:60px;font-size:11px}table.lines td.asis{font-family:var(--mono);color:var(--muted);text-align:right;white-space:nowrap;padding-right:14px;font-size:11.5px}table.lines td.num{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right;width:92px}table.lines tr.sum td{border-bottom:none;padding-top:9px;font-weight:560}table.lines tr.sum:first-of-type td{border-top:1px solid var(--line)}table.lines tr.total td{color:var(--navy);font-size:15px;font-weight:660}dl.prov{margin:0;font-size:13.5px}dl.prov dt{text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-top:11px;font-size:10.5px;font-weight:600}dl.prov dt:first-child{margin-top:0}dl.prov dd{color:var(--ink-2);word-break:break-word;margin:2px 0 0}.warn-text{color:var(--warn-fg)}.check-note{color:var(--muted);border-left:2px solid var(--accent);margin:18px 0 0;padding-left:12px;font-size:12.5px;line-height:1.5}.empty,.idle{background:var(--card);border:1px solid var(--line);color:var(--ink-2);border-radius:8px;padding:24px;font-size:14px}.empty p,.idle p{max-width:62ch;margin:6px 0 0}.idle{background:0 0;border-style:dashed}.sheets{grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:14px;display:grid}.sheet{border:1px solid var(--line);background:#fff;border-radius:7px;padding:15px 16px}.sheet-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.sheet-top strong{font-size:15px}.filename{color:var(--ink-2);word-break:break-all;margin:9px 0 3px}.format{color:var(--navy);font-size:13px;font-weight:560}.sheet-meta{color:var(--muted);margin-top:6px;font-size:12px}.sheet-note{color:var(--ink-2);border-top:1px solid var(--line-soft);margin-top:9px;padding-top:9px;font-size:12.5px;line-height:1.45}.extracted{color:var(--muted);margin-top:10px;font-size:12.5px}.extracted strong{color:var(--ink);font-family:var(--mono)}.sheet.add{color:var(--muted);text-align:center;cursor:pointer;border-style:dashed;justify-content:center;align-items:center;min-height:150px;display:flex}.sheet.add:hover{border-color:var(--navy);color:var(--navy)}.add-inner{flex-direction:column;align-items:center;gap:3px;display:flex}.plus{margin-bottom:4px;font-size:26px;line-height:1}.add-inner span{font-size:12px}.setting{max-width:340px;margin-bottom:16px}.setting label{flex-direction:column;gap:6px;display:flex}.foot{border-top:1px solid var(--line);color:var(--muted);margin-top:36px;padding-top:16px;font-size:12px}.email-in{width:100%;font-family:var(--mono);border:1px solid var(--line);color:var(--ink);resize:vertical;background:#fff;border-radius:6px;padding:13px 15px;font-size:12.5px;line-height:1.55}.email-in:focus{outline:2px solid var(--navy);outline-offset:-1px;border-color:var(--navy)}.email-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-top:12px;display:flex}.go:disabled{cursor:default;background:#b9c3cd}.samples{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px;font-size:13px;display:flex}.linkish{color:var(--navy);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-family:inherit;font-size:13px;text-decoration:underline}.linkish:hover{color:var(--accent)}.extract{border-top:1px solid var(--line-soft);margin-top:18px;padding-top:16px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{color:var(--ink);background:#eef3f8;border:1px solid #dbe6f0;border-radius:5px;align-items:baseline;gap:7px;padding:5px 11px;font-size:13px;display:inline-flex}.chip b{text-transform:uppercase;letter-spacing:.7px;color:var(--muted);font-size:9.5px;font-weight:700}.chip.flag{background:var(--warn-bg);border-color:#f0dcb4}.chip.flag b{color:var(--warn-fg)}.chip.danger{background:var(--bad-bg);border-color:#f0c9c9}.chip.danger b{color:var(--bad-fg)}.basis{color:var(--ink-2);background:#eef3f8;border-radius:5px;margin:0 0 10px;padding:7px 10px;font-size:12px;line-height:1.45}.basis.min{background:var(--warn-bg);color:var(--warn-fg)}.hint-line{color:var(--muted);margin:12px 0 0;font-size:12.5px}.mode{font-family:var(--mono);letter-spacing:.6px;vertical-align:middle;border-radius:3px;margin-right:7px;padding:2px 5px;font-size:9.5px;font-weight:700}.mode.ocean,.mode.fcl{color:#1c4a75;background:#e4edf6}.mode.lcl{color:#175c4b;background:#e2f0ec}.mode.air{color:#5b3a85;background:#efe8f7}.quote-bar{flex-wrap:wrap;align-items:center;gap:16px;margin:18px 0 4px;display:flex}.quote-bar .hint-line{margin:0}.quote-out{margin-top:14px}.quote-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.quote-head h2{margin:0}.copy{border:1px solid var(--navy);color:var(--navy);cursor:pointer;background:#fff;border-radius:6px;padding:7px 15px;font-family:inherit;font-size:13.5px;font-weight:560}.copy:hover{background:var(--navy);color:#fff}.quote-body{font-family:var(--mono);white-space:pre-wrap;border:1px solid var(--line-soft);color:var(--ink-2);background:#fbfcfd;border-radius:6px;margin:0;padding:18px 20px;font-size:12.5px;line-height:1.65;overflow-x:auto}@media (width<=900px){.option-main{grid-template-columns:1fr 1fr;row-gap:14px}.validity{justify-content:flex-start}.detail-grid{grid-template-columns:1fr;gap:24px}.fields{grid-template-columns:1fr}.masthead{flex-direction:column;align-items:flex-start;gap:14px}}
