@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-vietnamese-wght-normal-DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-latin-wght-normal-XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ground:#f9f9f9;--card:#fff;--line:#ebebea;--ink:#111;--muted:#5f5f5d;--red:#d92d20;--red-text:#b42318;--red-tint:#fef3f2;--radius-card:20px;--hover-secondary:#f2f2f1;--hover-row:#f7f7f6;--disabled-bg:#e6e6e4;--disabled-text:#6f6f6c;--focus:2px solid #111;--focus-offset:2px;--font-sans:"Geist Variable", system-ui, sans-serif;--font-mono:"Geist Mono Variable", ui-monospace, "SF Mono", Menlo, Consolas, monospace}*,:before,:after{box-sizing:border-box}body{background:var(--ground);color:var(--ink);font-family:var(--font-sans);margin:0}:focus-visible{outline:var(--focus);outline-offset:var(--focus-offset)}.mono,code,kbd{font-family:var(--font-mono)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn-wrap{flex-direction:column;align-items:flex-start;gap:6px;display:inline-flex}.btn{border:1px solid var(--line);height:42px;font:500 14px var(--font-sans);cursor:pointer;border-radius:999px;padding:0 20px}.btn-primary{background:var(--ink);border-color:var(--ink);color:#fff}.btn-primary:hover:not(:disabled){background:#000}.btn-secondary{background:var(--card);color:var(--ink)}.btn-secondary:hover:not(:disabled){background:var(--hover-secondary)}.btn:disabled{background:var(--disabled-bg);border-color:var(--disabled-bg);color:var(--disabled-text);cursor:not-allowed}.btn-reason{color:var(--muted);font-size:13px}.pill{border:1px solid var(--line);background:var(--card);height:24px;color:var(--muted);border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:500;display:inline-flex}.pill-red{background:var(--red-tint);border-color:var(--red);color:var(--red-text)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-card);padding:24px}.tabs{border-bottom:1px solid var(--line);gap:4px;display:flex}.tab{font:500 14px var(--font-sans);color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 14px}.tab:hover{color:var(--ink)}.tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--ink)}.dialog-backdrop{z-index:10;background:#1116;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-card);flex-direction:column;width:min(480px,100%);max-height:calc(100dvh - 32px);padding:28px;display:flex}.dialog:focus{outline:none}.dialog-title{margin:0 0 12px;font-size:20px;font-weight:600}.dialog-body{min-height:0;color:var(--muted);font-size:14px;line-height:1.5;overflow:auto}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.filedrop{background:var(--card);text-align:center;cursor:pointer;min-height:160px;color:var(--muted);border:1.5px dashed #cfcfcb;border-radius:16px;place-items:center;padding:24px;font-size:14px;display:grid}.filedrop:hover,.filedrop-over{background:var(--hover-row);border-color:var(--ink)}.filedrop:has(input:focus-visible){outline:var(--focus);outline-offset:var(--focus-offset)}.filedrop-error{color:var(--red-text);margin:10px 0 0;font-size:14px}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:10px 12px;font-weight:500}.table td{border-bottom:1px solid var(--line);padding:12px}.table tbody tr:hover{background:var(--hover-row)}.an-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px;display:flex}.an-head .page-title{margin:0}.an-head-sub{color:var(--muted);margin:6px 0 0}.an-empty{flex-direction:column;align-items:flex-start;gap:8px;padding:8px 4px;display:flex}.an-empty-title{color:var(--ink);margin:0;font-size:18px;font-weight:500}.an-empty-copy{color:var(--muted);max-width:520px;margin:0}.an-link{color:var(--ink);font-weight:500;text-decoration:underline}.an-link:focus-visible{outline:var(--focus);outline-offset:var(--focus-offset)}.an-stack{flex-direction:column;gap:16px;display:flex}.nb{flex-direction:column;gap:14px;max-width:720px;display:flex}.nb-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.nb-head .page-title{margin:0}.nb-back{color:var(--ink);align-items:center;text-decoration:none;display:inline-flex}.nb-sub,.nb-note{color:var(--muted);margin:0;font-size:14px}.nb-h{margin:0 0 12px;padding:0;font-size:18px;font-weight:500}.nb-reading{color:var(--muted);margin:0;font-size:14px}.nb-actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:10px;margin-top:20px;display:flex}.nb-error{color:var(--red-text);margin:10px 0 0;font-size:14px}.nb-choose{border:0;margin:0;padding:0}.nb-radio{align-items:center;gap:8px;padding:6px 0;font-size:14px;display:flex}.nb-map{flex-direction:column;gap:10px;display:flex}.nb-map-row{grid-template-columns:180px 1fr;align-items:center;gap:12px;font-size:14px;display:grid}.nb select,.nb input[type=date]{border:1px solid var(--line);height:40px;font:14px var(--font-sans);background:var(--card);color:var(--ink);border-radius:10px;padding:0 10px}.nb-dates{flex-wrap:wrap;gap:16px;font-size:14px;display:flex}.nb-dates label{color:var(--muted);flex-direction:column;gap:6px;display:flex}.nb-count{font:500 18px var(--font-mono);margin:16px 0 4px}.nb-issues ul{margin:12px 0 6px;padding-left:18px;font-size:14px}.nb details pre{white-space:pre-wrap;font:12px var(--font-mono)}.nb-use{color:var(--muted);font-size:12px;display:block}.nb-error p{margin:0}.run-head{margin-bottom:16px}.run-crumb{color:var(--muted);margin:0 0 8px;font-size:13px}.run-crumb a{color:var(--muted)}.run-title{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.run-title .page-title{margin:0}.run-tabs{background:#ededec;border-radius:999px;gap:4px;width:fit-content;max-width:100%;margin-bottom:20px;padding:4px;display:flex;overflow-x:auto}.run-tab{white-space:nowrap;color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:8px 16px;text-decoration:none;display:flex}.run-tab:hover{color:var(--ink)}.run-tab[aria-current=page]{background:var(--card);color:var(--ink);font-weight:500}.run-tab:focus-visible{outline:var(--focus);outline-offset:var(--focus-offset)}.run-tab-count{background:var(--red);color:#fff;min-width:20px;height:20px;font:500 12px/20px var(--font-mono);text-align:center;border-radius:999px;padding:0 6px}.run-locked{border:1px solid var(--line);background:var(--card);border-radius:14px;margin:0 0 16px;padding:12px 16px}.run-locked p{margin:0 0 6px}.run-locked-actions{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.reopen-why{border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;resize:vertical;border-radius:12px;padding:8px 12px}.run-skel{flex-direction:column;gap:20px;display:flex}.skel{background:#ececea;border-radius:8px;display:block}.skel-title{width:40%;height:34px}.skel-tabs{border-radius:999px;width:55%;height:40px}.skel-card{flex-direction:column;gap:22px;padding:28px;display:flex}.skel-big{width:46%;height:56px}.skel-line{width:30%;height:12px}.an{grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));align-items:start;gap:16px;display:grid}.an>.card,.an>.card+.card{margin-top:0}.an-h{color:var(--muted);margin:0 0 4px;font-size:14px;font-weight:500}.an-sub{color:var(--muted);margin:0 0 12px;font-size:13px}.an-note{color:var(--muted);margin:8px 0;font-size:13px}.an-sentence{color:var(--ink);margin:0 0 12px;font-size:14px}.an-list{margin:0 0 12px;padding:0;list-style:none}.an-row{border-top:1px solid var(--line);grid-template-columns:auto 1fr auto;gap:6px 4px;padding:10px 0;font-size:14px;display:grid}.an-name{color:var(--ink);overflow-wrap:anywhere}.an-trips{color:var(--muted)}.an-amt{font-family:var(--font-mono);color:var(--ink);text-align:right;grid-column:3}.an-track{grid-column:1/-1;display:block}.an-bar{fill:#d9d9d7}.an-bar-top{fill:#111}.an-days{display:block}.an-day{font-family:var(--font-mono);fill:var(--muted);font-size:10px}.inv{gap:16px;display:grid}.inv-sub{margin:0 0 12px}.inv-table{border-collapse:collapse;width:100%}.inv-table th,.inv-table td{border-bottom:1px solid var(--line);text-align:left;padding:10px 0;font-weight:400}.inv-table tr:last-child th,.inv-table tr:last-child td{border-bottom:0}.inv-table th{overflow-wrap:anywhere}.inv-table .inv-val{text-align:right;font-family:var(--mono,monospace);white-space:nowrap}.inv-table .inv-formula{color:var(--muted);font-size:13px}.inv-table tr.inv-total th,.inv-table tr.inv-total td{border-top:1px solid var(--ink);font-size:18px;font-weight:600}.inv-mono{font-family:var(--mono,monospace)}.inv-issues{overflow-wrap:anywhere;gap:6px;margin:12px 0 0;padding-left:18px;display:grid}.inv-facts{gap:4px;margin:0 0 16px;padding-left:18px;display:grid}.inv-alert{background:var(--red-tint);color:var(--red-text);border-radius:14px;margin:0 0 16px;padding:12px 16px}.inv-alert p{margin:0 0 4px}.iss-title{margin:0 0 16px;font-size:18px;font-weight:500}.iss-group{margin-bottom:24px}.iss-group-h{align-items:center;gap:8px;margin:0 0 8px;font-size:15px;font-weight:500;display:flex}.iss-list,.iss-trips{margin:0;padding:0;list-style:none}.iss-card{border-top:1px solid var(--line);padding:12px 0}.iss-card:hover{background:var(--hover-row)}.iss-msg{overflow-wrap:anywhere;margin:0 0 8px}.iss-trip{color:var(--muted);overflow-wrap:anywhere;flex-wrap:wrap;gap:12px;padding:2px 0;display:flex}.iss-jo,.iss-mono{font-family:var(--font-mono)}.iss-field{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.iss-field input,.iss-field textarea{border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;border-radius:12px;padding:8px 12px}.iss-field input:focus-visible,.iss-field textarea:focus-visible{outline:var(--focus);outline-offset:var(--focus-offset)}.iss-demurrage{align-items:flex-end;gap:8px;margin:8px 0;display:flex}.iss-note{margin:8px 0}.iss-actions{flex-wrap:wrap;gap:8px;display:flex}.iss-clear{color:var(--muted);margin:0}.iss-done{margin-top:16px}.iss-alert{background:var(--red-tint);color:var(--red-text);border-radius:14px;margin:0 0 16px;padding:12px 16px}.iss-alert p{margin:0 0 4px}.ov{flex-direction:column;align-items:flex-start;gap:16px;display:flex}.ov>.card{align-self:stretch}.ov-h{color:var(--muted);margin:0 0 8px;font-size:14px;font-weight:500}.ov-amount{overflow-wrap:anywhere;font-family:var(--font-mono);margin:0 0 8px;font-size:40px;font-weight:500}.ov-list{margin:0;padding:0;list-style:none}.ov-row{border-top:1px solid var(--line);color:var(--ink);border-radius:8px;align-items:center;gap:12px;padding:12px 8px;text-decoration:none;display:flex}.ov-row:hover{background:var(--hover-row)}.ov-mark{border:1px solid var(--line);text-align:center;border-radius:50%;flex:0 0 20px;height:20px;font-size:12px;line-height:18px}.ov-done{background:var(--ink);border-color:var(--ink);color:var(--card)}.ov-red{color:var(--red-text)}.ov-red .ov-mark{border-color:var(--red)}.ov-counts{color:var(--muted);gap:32px;margin:0;padding:0;list-style:none;display:flex}.ov-num{font-family:var(--font-mono);color:var(--ink);font-size:24px;display:block}.ov-update{gap:8px;margin:0 0 12px;padding-left:20px;display:grid}.ov-update ul{margin:6px 0 0;padding-left:20px;font-size:14px}.ov-error{color:var(--red-text);margin:12px 0 0}.rates-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.rates-title{margin:0;font-size:18px;font-weight:500}.rates-list{margin:0 0 16px;padding:0;list-style:none}.rates-row{border-top:1px solid var(--line);align-items:flex-start;gap:12px;padding:12px 0;display:flex}.rates-row:hover{background:var(--hover-row)}.rates-dates{flex:0 0 140px;padding-top:8px}.rates-band{font-family:var(--font-mono);flex:1;padding-top:8px}.cov{margin-bottom:16px}.cov-bar{gap:2px;margin:0 0 8px;padding:0;list-style:none;display:flex}.cov-day{background:var(--ink);border-radius:3px;flex:1;height:12px}.cov-gap,.cov-overlap{background:var(--card);box-shadow:inset 0 0 0 1px var(--red)}.cov-summary{color:var(--muted);margin:0}.cov-problem{color:var(--red-text);margin:4px 0 0}.period-form{border-top:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:12px;padding-top:16px;display:flex}.pf-field{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.pf-field input,.pf-field select{border:1px solid var(--line);background:var(--card);height:40px;color:var(--ink);font:inherit;border-radius:12px;padding:0 12px}.pf-field input:focus-visible,.pf-field select:focus-visible{outline:var(--focus);outline-offset:var(--focus-offset)}.pf-band{font-family:var(--font-mono);color:var(--muted);flex-basis:100%;margin:0}.pf-actions{flex-wrap:wrap;flex-basis:100%;gap:8px;display:flex}.rates-alert{background:var(--red-tint);color:var(--red-text);border-radius:14px;margin:0 0 16px;padding:12px 16px}.rates-alert p{margin:0 0 4px}.pf-set{border:0;margin:0;padding:0;display:contents}.trips-bar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.trips-seg{gap:4px;display:flex}.trips-seg-btn{border:1px solid var(--line);background:var(--card);height:36px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:0 14px}.trips-seg-btn:hover{background:var(--hover-secondary)}.trips-seg-btn[aria-pressed=true]{background:var(--ink);color:var(--card);border-color:var(--ink)}.trips-field input,.trips-field select{border:1px solid var(--line);background:var(--card);height:36px;color:var(--ink);font:inherit;border-radius:12px;padding:0 12px}.trips-field input{min-width:260px}.trips-count{margin-left:auto}.trips-note{margin:0 0 12px}.trips-empty{text-align:center;padding:32px 0}.trips-scroll{border-top:1px solid var(--line);max-height:70vh;overflow:auto}.trips-table{border-collapse:separate;border-spacing:0;white-space:nowrap;width:100%;font-size:13px}.trips-table th,.trips-table td{border-bottom:1px solid var(--line);text-align:left;background:var(--card);padding:8px 10px}.trips-table .num{text-align:right}.trips-table thead th{z-index:1;color:var(--muted);font-weight:500;position:sticky;top:0}.trips-table thead abbr{text-decoration:none}.trips-table tbody th{font-weight:inherit}.trips-table tfoot th,.trips-table tfoot td{z-index:1;border-top:1px solid var(--ink);border-bottom:0;font-weight:500;position:sticky;bottom:0}.trips-table tbody tr:hover th,.trips-table tbody tr:hover td{background:var(--hover-row)}.trips-area{text-overflow:ellipsis;max-width:180px;overflow:hidden}.trips-table td.trips-flag{background:var(--red-tint)}.trips-flag a{color:var(--red-text);text-decoration:underline}.trips-table .btn.trips-charges{height:28px;font:inherit;padding:0 10px}.charges-form,.charges-set{border:0;min-width:0;margin:0;padding:0}.charges-set{grid-template-columns:1fr 1fr;gap:12px;display:grid}.charges-field{color:var(--ink);gap:4px;font-size:13px;display:grid}.charges-field input{border:1px solid var(--line);background:var(--card);height:36px;color:var(--ink);font:inherit;font-family:var(--mono,inherit);border-radius:12px;padding:0 12px}.charges-field input[aria-invalid=true]{border-color:var(--red)}.charges-err{color:var(--red-text);font-size:12px}.charges-alert{background:var(--red-tint);color:var(--red-text);border-radius:14px;margin:0 0 16px;padding:12px 16px}.charges-alert p{margin:0 0 4px}.trip-plate{text-overflow:ellipsis;white-space:nowrap;max-width:12ch;overflow:hidden}.runs-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px;display:flex}.runs-head .page-title{margin:0}.runs-sub{color:var(--muted);margin:6px 0 0}.runs-empty{flex-direction:column;align-items:flex-start;gap:12px;padding:24px 4px;display:flex}.runs-empty h2,.runs-history h2{margin:0;font-size:18px;font-weight:500}.runs-empty p,.runs-history p{color:var(--muted);max-width:520px;margin:0}.runs-table{margin:-12px 0}.runs-table a{color:var(--ink);font-weight:500}.runs-table .num{text-align:right}.runs-table .muted,.muted{color:var(--muted)}.runs-history{border:1.5px dashed #cfcfcb;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:20px;display:flex}.runs-table+*,.tabs+.card{margin-top:0}.tabs{margin-bottom:14px}.runs-none{color:var(--muted);margin:0}.card+.card{margin-top:14px}.runs-history-results{border-top:1px solid var(--line);gap:8px;margin:16px 0 0;padding:12px 0 0;font-size:14px;list-style:none;display:grid}.runs-history-bad{color:var(--red-text)}.runs-scroll{overflow-x:auto}.runs-table td,.runs-table th{white-space:nowrap}.lock{place-items:center;min-height:100vh;padding:24px;display:grid}.lock .card{width:min(420px,100%)}.lock-h{margin:0 0 16px;font-size:22px;font-weight:500}.lock-form{flex-direction:column;gap:14px;display:flex}.lock-field{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.lock-field input{border:1px solid var(--line);background:var(--card);height:40px;color:var(--ink);font:inherit;font-family:var(--font-mono);border-radius:12px;padding:0 12px}.lock-field input:focus-visible{outline:var(--focus);outline-offset:var(--focus-offset);border-color:var(--ink)}.lock-field input[aria-invalid]{border-color:var(--red)}.lock-error{color:var(--red-text);margin:0;font-size:13px}.lock-actions{flex-wrap:wrap;gap:12px;display:flex}.lock-note{color:var(--muted);margin:0;font-size:13px}.set-h{margin:0 0 4px;font-size:18px;font-weight:500}.set-sub{margin:0;font-size:15px;font-weight:500}.set-note{color:var(--muted);margin:0 0 16px}.set-form{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.set-field{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.set-field input{border:1px solid var(--line);background:var(--card);height:40px;color:var(--ink);font:inherit;font-family:var(--font-mono);border-radius:12px;padding:0 12px}.set-field input:focus-visible{outline:var(--focus);outline-offset:var(--focus-offset);border-color:var(--ink)}.set-field input[aria-invalid]{border-color:var(--red)}.set-hint{font-size:12px}.set-error{color:var(--red-text);font-size:12px}.set-ok{color:var(--muted)}.set-actions{grid-column:1/-1;align-items:center;gap:12px;display:flex}.set-rate{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.set-rate .set-note{margin:4px 0 0}.btn-wrap:has(input:focus-visible) .btn{outline:var(--focus);outline-offset:var(--focus-offset)}.set-quirks{border:0;border-top:1px solid var(--line);grid-column:1/-1;gap:12px;margin:0;padding:12px 0 0;display:grid}.set-quirks legend{color:var(--muted);padding:0;font-size:13px}.set-check{color:var(--ink);align-items:flex-start;gap:10px;display:flex}.set-check input{margin-top:4px}.set-check .set-hint{color:var(--muted);display:block}.setup{max-width:560px;margin:64px auto;padding:0 16px}.key-sheet{border:1px solid var(--line);border-radius:12px;margin:16px 0;padding:16px}.key-sheet-title{margin:0 0 8px;font-size:14px;font-weight:600}.key-value{font-family:var(--font-mono);letter-spacing:.04em;word-break:break-all;-webkit-user-select:all;user-select:all;margin:8px 0;font-size:22px}.setup-actions{align-items:flex-start;gap:12px;margin:16px 0;display:flex}.setup-check{align-items:center;gap:8px;margin:16px 0;display:flex}.setup-msg{color:var(--muted);margin:12px 0 0}.setup-msg[role=alert]{color:var(--red-text)}@media print{body:has(.key-sheet){background:#fff}.setup{max-width:none;margin:0;padding:0}.setup .card{background:#fff;border:0;padding:0}.setup .card>:not(.key-sheet){display:none}.key-sheet{border:0;margin:0;padding:0}.key-sheet-title{margin:0 0 24px;font-size:24px}.key-value{-webkit-user-select:auto;user-select:auto;margin:0 0 24px;font-size:32px}.key-sheet p{font-size:16px}}.setup-field{color:var(--muted);flex-direction:column;gap:4px;margin:16px 0;font-size:13px;display:flex}.setup-field input{border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;border-radius:12px;padding:8px 12px}.setup-field input:focus-visible{outline:var(--focus);outline-offset:var(--focus-offset);border-color:var(--ink)}.setup-key-input{letter-spacing:.04em;font-family:var(--font-mono)!important}.setup-hint{font-size:12px}.setup-restore{color:var(--muted);margin:24px 0 0}.link-button{min-height:32px;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;padding:6px 4px;text-decoration:underline}.link-button:focus-visible{outline:var(--focus);outline-offset:var(--focus-offset)}.shell{min-height:100vh;display:flex}.sidebar{background:var(--card);border-right:1px solid var(--line);box-sizing:border-box;flex-direction:column;flex:0 0 232px;align-self:flex-start;gap:28px;width:232px;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar img{height:auto;margin:0 8px;display:block}.nav{flex-direction:column;gap:2px;display:flex}.nav-link{color:var(--muted);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;text-decoration:none;display:flex}.nav-link:hover{background:var(--hover-row)}.nav-link[aria-current=page]{background:var(--hover-secondary);color:var(--ink);font-weight:500}.backup{border:1px solid var(--line);border-radius:14px;flex-direction:column;align-items:flex-start;gap:8px;margin-top:auto;padding:12px 14px;font-size:13px;display:flex}.backup-detail{color:var(--muted)}.main{flex-direction:column;flex:1 1 0;gap:24px;min-width:0;padding:28px 40px 56px;display:flex}.page-title{letter-spacing:-.025em;margin:0;font-size:34px;font-weight:500}.error-boundary{flex-direction:column;align-items:flex-start;gap:16px;max-width:480px;margin:20vh auto;padding:0 16px;display:flex}.skip-link{z-index:10;color:#fff;font:inherit;background:#111;border:0;border-radius:999px;padding:10px 14px;position:absolute;top:-48px;left:8px}.skip-link:focus{top:8px}.main:focus{outline:none}
