@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.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{--bg:#f4f7fb;--panel:#fff;--ink:#0f1b2d;--muted:#64748b;--line:#e3e9f1;--line-soft:#eef2f7;--brand:#0f2742;--brand-2:#2563eb;--brand-3:#14b8a6;--ok:#15803d;--ok-bg:#e8f7ee;--warn:#9a5b00;--warn-bg:#fff4dc;--err:#c0262d;--err-bg:#fdeeee;--radius:12px;--radius-sm:8px;--shadow-sm:0 1px 2px #0f1b2d0d;--shadow:0 1px 2px #0f1b2d0a, 0 6px 20px #0f1b2d0f;--shadow-lg:0 18px 50px #0f1b2d29;--focus:0 0 0 3px #2563eb38;font-feature-settings:"cv11", "ss01";color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Inter Variable,Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1{letter-spacing:-.02em;margin:0 0 18px;font-size:24px;font-weight:700}h2{letter-spacing:-.01em;margin:0;font-size:16px;font-weight:650}h3{margin:18px 0 6px;font-size:14px;font-weight:650}a{color:var(--brand-2)}code{background:#eef2f7;border-radius:5px;padding:1px 5px;font-size:12.5px}::selection{background:#2563eb2e}input,select,textarea,button{font:inherit}input,select,textarea{border-radius:var(--radius-sm);width:100%;min-width:0;color:var(--ink);background:#fff;border:1px solid #d5dde8;padding:7px 10px;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:#9aa7b8}input[type=checkbox]{width:auto;accent-color:var(--brand-2)}input[type=file]{padding:5px}input:hover,select:hover,textarea:hover{border-color:#b9c6d6}input:focus,select:focus,textarea:focus{border-color:var(--brand-2);box-shadow:var(--focus);outline:none}button{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;color:var(--ink);box-shadow:var(--shadow-sm);background:#fff;border:1px solid #d5dde8;padding:7px 14px;font-weight:550;transition:background .15s,border-color .15s,box-shadow .15s,transform .1s}button:hover{background:#f8fafc;border-color:#b9c6d6}button:active{transform:translateY(1px)}button:focus-visible{box-shadow:var(--focus);outline:none}button:disabled{opacity:.55;cursor:default;transform:none}button.primary{color:#fff;background:linear-gradient(#2f6fed,#2159d6);border-color:#1f55cc;box-shadow:0 1px 2px #2159d64d,inset 0 1px #ffffff26}button.primary:hover{background:linear-gradient(#3b7bf5,#2563eb)}button.danger,.danger{color:var(--err)}button.link{color:var(--brand-2);box-shadow:none;background:0 0;border:0;padding:0;font-weight:500}button.link:hover{background:0 0;text-decoration:underline}button.big{padding:10px 20px;font-size:15px}.shell{grid-template-columns:252px 1fr;min-height:100vh;display:grid}.nav{color:#c9d6e6;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260' viewBox='0 0 260 260'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.05' stroke-width='1.5'%3E%3Cpath d='M-10 200 C60 180 70 120 130 110 S220 60 270 20'/%3E%3Cpath d='M-10 250 C80 230 120 190 170 170 S240 120 270 110' stroke-dasharray='4 7'/%3E%3Cpath d='M20 -10 C40 50 20 90 60 130 S70 220 40 270'/%3E%3C/g%3E%3Cg fill='%23ffffff' fill-opacity='.07'%3E%3Ccircle cx='130' cy='110' r='3'/%3E%3Ccircle cx='170' cy='170' r='3'/%3E%3Ccircle cx='60' cy='130' r='3'/%3E%3C/g%3E%3C/svg%3E"),linear-gradient(#102a47 0%,#0b1e35 100%);flex-direction:column;gap:18px;height:100vh;padding:18px 14px;display:flex;position:sticky;top:0;overflow-y:auto;box-shadow:inset -1px 0 #ffffff0a}.nav nav{flex-direction:column;gap:2px;display:flex}.nav a,.nav-link-btn{color:#c9d6e6;border-radius:9px;align-items:center;gap:10px;padding:8px 10px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex;position:relative}.nav a .icon,.nav-link-btn .icon{opacity:.75;flex:none}.nav a:hover,.nav-link-btn:hover{color:#fff;background:#ffffff0f}.nav a.active{color:#fff;background:linear-gradient(90deg,#3b82f647,#3b82f614)}.nav a.active:before{content:"";background:linear-gradient(#60a5fa, var(--brand-3));border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:-14px}.nav a.active .icon{opacity:1;color:#93c5fd}.nav-link-btn{box-shadow:none;width:100%;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0}.nav-head{text-transform:uppercase;letter-spacing:.09em;color:#7f93ad;padding:2px 10px 6px;font-size:10.5px;font-weight:600}.nav-foot{flex-direction:column;gap:8px;margin-top:auto;display:flex}.credits{color:#fff;background:#ffffff0f;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.credits span{color:#9fb2c9;font-size:11px}.credits strong{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:17px}.credits em{color:#9fb2c9;font-size:11.5px;font-style:normal;font-weight:500}.credits-bar{background:#ffffff1f;border-radius:3px;height:5px;margin-top:6px;overflow:hidden}.credits-bar>div{background:linear-gradient(90deg, #60a5fa, var(--brand-3));border-radius:3px;height:100%}.credits.empty{background:#c0262dd9;border-color:#0000}.credits small{margin-top:4px;font-size:11px}.user-chip{border-top:1px solid #ffffff14;align-items:center;gap:10px;padding:10px 6px 4px;display:flex}.avatar{color:#fff;background:linear-gradient(135deg, #3b82f6, var(--brand-3));border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:grid}.user-name{color:#fff;font-size:13px;font-weight:600;line-height:1.2}.user-mail{color:#7f93ad;word-break:break-all;font-size:11.5px}.user-actions{gap:4px;display:flex}.user-actions a,.user-actions .nav-link-btn{flex:1;justify-content:center;padding:6px 8px;font-size:12.5px}.brand{align-items:center;gap:11px;padding:2px 4px;display:flex}.brand strong{color:#fff;letter-spacing:-.01em;font-size:14.5px}.brand small{color:#8ea3bd;margin-top:1px;font-size:12px;display:block}.logo-mark{filter:drop-shadow(0 4px 10px #2563eb59);flex:none}.content{min-width:0;max-width:1600px;padding:28px 32px 40px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:18px;padding:18px 20px}.card.narrow{max-width:440px}.card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.actions{flex-wrap:wrap;gap:8px;display:flex}.page-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.page-head h1{margin-bottom:4px}.form-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px 18px;margin-bottom:14px;display:grid}.form-grid.three{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.field{flex-direction:column;gap:5px;display:flex}.field>span{color:#475569;font-size:12px;font-weight:600}.field>small,.field .hint{color:var(--muted)}.checks{flex-wrap:wrap;gap:12px;padding-top:4px;display:flex}.inline{align-items:center;gap:6px;display:flex}.row-actions{gap:8px;margin-top:8px;display:flex}.toolbar{align-items:flex-end;gap:12px;display:flex}.toolbar.wrap{flex-wrap:wrap}.toolbar .field{min-width:120px}.spacer{flex:1}.table{border-collapse:separate;border-spacing:0;width:100%}.table th{text-align:left;color:#64748b;letter-spacing:.02em;border-bottom:1px solid var(--line);vertical-align:bottom;background:#f8fafc;padding:9px 8px;font-size:11.5px;font-weight:650}.table th:first-child{border-top-left-radius:8px}.table th:last-child{border-top-right-radius:8px}.table td{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:8px}.table tbody tr{transition:background .12s}.table tbody tr:hover td{background:#f7faff}.table.compact td,.table.compact th{padding:5px 8px;font-size:13px}.table .r{text-align:right;font-variant-numeric:tabular-nums}.table td.r input{text-align:right}.table.results td{white-space:nowrap}.table.results td.flags{white-space:normal;min-width:220px}.table.results select{width:auto;max-width:150px;padding:4px 6px}.table.results input{padding:4px 6px}.row-error td{background:var(--err-bg)}.strong,.table .strong td{font-weight:650}.scroll-x{overflow-x:auto}.nowrap{white-space:nowrap}.stats{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:18px;display:grid}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:4px;padding:13px 16px;display:flex}.stat span{color:var(--muted);font-size:12px;font-weight:500}.stat strong{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:19px}.badge{color:#526075;background:#eef2f7;border-radius:999px;align-items:center;margin:1px 4px 1px 0;padding:2px 8px;font-size:11px;font-weight:600;line-height:1.6;display:inline-flex}.badge.ok,.badge.calculated{background:var(--ok-bg);color:var(--ok)}.badge.warn,.badge.mapped{background:var(--warn-bg);color:var(--warn)}.badge.error{background:var(--err-bg);color:var(--err)}.badge.note{color:#1d4ed8;background:#e7efff}.error{background:var(--err-bg);color:var(--err);border:1px solid #f6c9cb;border-radius:10px;margin:8px 0;padding:9px 13px}.ok{background:var(--ok-bg);color:var(--ok);border:1px solid #c4ead2;border-radius:10px;margin:8px 0;padding:9px 13px}.text-error{color:var(--err)}.muted{color:var(--muted)}.small{font-size:12px}.pre{white-space:pre-wrap}.secret{-webkit-user-select:all;user-select:all;font-size:15px}.center{place-items:center;min-height:100vh;display:grid}.tabs{background:#e9eef5;border-radius:10px;gap:2px;margin-bottom:12px;padding:3px;display:inline-flex}.tabs button{box-shadow:none;color:#475569;background:0 0;border:0;border-radius:8px;padding:6px 16px}.tabs button:hover{background:#fff9}.tabs button.active{color:var(--ink);background:#fff;box-shadow:0 1px 3px #0f1b2d1f}.map{border-radius:10px;height:540px;overflow:hidden}.legend{color:var(--muted);align-items:center;gap:8px;margin-top:8px;font-size:12px;display:flex}.legend .ramp{background:linear-gradient(90deg,#9ec5f0,#2f6db3,#0b2545);border-radius:4px;width:120px;height:8px}.map-tip{font-size:12px}.drawer-bg{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:20;background:#0a142366;justify-content:flex-end;animation:.2s rcc-fade;display:flex;position:fixed;inset:0}.drawer{width:min(540px,100%);height:100%;box-shadow:var(--shadow-lg);background:#fff;padding:22px 24px;animation:.25s rcc-slide;overflow-y:auto}@keyframes rcc-slide{0%{opacity:.6;transform:translate(24px)}to{opacity:1;transform:none}}.login{background:var(--bg);grid-template-columns:1.1fr 1fr;min-height:100vh;display:grid}.login-hero{color:#dbe7f6;background:radial-gradient(circle at 80% 20%,#14b8a640,#0000 45%),radial-gradient(circle at 10% 90%,#3b82f659,#0000 50%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='520' viewBox='0 0 520 520'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.08' stroke-width='2'%3E%3Cpath d='M-20 420 C120 380 160 260 260 240 S440 120 540 60'/%3E%3Cpath d='M-20 500 C160 470 240 380 340 340 S480 250 540 230' stroke-dasharray='6 10'/%3E%3Cpath d='M60 -20 C100 100 40 180 120 260 S140 440 80 540'/%3E%3C/g%3E%3Cg fill='%23ffffff' fill-opacity='.14'%3E%3Ccircle cx='260' cy='240' r='5'/%3E%3Ccircle cx='340' cy='340' r='5'/%3E%3Ccircle cx='120' cy='260' r='5'/%3E%3C/g%3E%3C/svg%3E"),linear-gradient(160deg,#123257 0%,#0b1e35 70%);align-items:center;padding:56px;display:flex;position:relative;overflow:hidden}.login-hero-inner{max-width:460px;position:relative}.login-hero h2{color:#fff;letter-spacing:-.03em;margin:26px 0 12px;font-size:32px;font-weight:750;line-height:1.15}.login-hero p{color:#b9cbe0;margin:0 0 22px;font-size:15.5px;line-height:1.55}.login-hero ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.login-hero li{color:#dbe7f6;padding-left:28px;position:relative}.login-hero li:before{content:"";background:linear-gradient(135deg, #3b82f6, var(--brand-3));border-radius:50%;width:16px;height:16px;position:absolute;top:3px;left:0;box-shadow:0 0 0 3px #14b8a62e}.login-form{place-items:center;padding:24px;display:grid}.login .card{width:min(400px,100%);box-shadow:var(--shadow-lg);flex-direction:column;gap:14px;padding:28px;display:flex}.login .brand strong{color:var(--ink)}.login .brand small{color:var(--muted)}.login .brand{margin-bottom:6px;padding:0}@media (width<=900px){.shell{grid-template-columns:1fr}.nav{height:auto;position:static}.content{padding:18px}.login{grid-template-columns:1fr}.login-hero{padding:32px 24px}.login-hero h2{font-size:24px}}.error.banner{margin:0 0 16px;font-weight:600}.review-banner{border-radius:6px;margin-bottom:12px;padding:10px 14px}.review-banner.unsure{color:#8a4300;background:#fff1e0;border:1px solid #f5b26b}.review-banner.sure{background:var(--ok-bg);color:var(--ok)}.review-card{border-radius:var(--radius);border:2px solid;margin-bottom:12px;padding:12px 14px}.review-card p{margin:6px 0}.review-card.unsure{background:#fff8ef;border-color:#f08c00}.review-card.missing{border-color:var(--err);background:var(--err-bg)}.review-title{font-weight:600}.review-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;display:flex}.review-select{flex:1;min-width:240px;max-width:420px}.samples code{margin-right:6px}.review-sure{margin:12px 0}.review-sure summary,details.advanced summary{cursor:pointer;padding:4px 0}details.advanced summary{font-weight:600}.map-notice{color:#8a4300;background:#fff1e0;border:1px solid #f5b26b;border-radius:6px;margin-bottom:10px;padding:8px 12px}.table.direction th{width:140px}.economics{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-bottom:12px;display:grid}.econ{border-radius:var(--radius);border:1px solid var(--line);background:var(--panel);border-top-width:4px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.econ span{font-size:13px;font-weight:600}.econ strong{font-variant-numeric:tabular-nums;font-size:24px}.econ small{color:var(--muted);font-size:12px}.econ.cost{border-top-color:#8a96a8}.econ.offer{border-top-color:var(--brand-2)}.econ.profit{border-top-color:var(--ok)}.econ.profit strong{color:var(--ok)}.econ.profit.negative{border-top-color:var(--err);background:var(--err-bg)}.econ.profit.negative strong{color:var(--err)}.loss-alert{background:var(--err-bg);color:var(--err);border-radius:var(--radius);border:1px solid #f1b5b0;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:16px;padding:10px 14px;display:flex}.loss-alert button{margin-left:auto}.row-loss td{background:#fff4f3}td.neg,tr.neg td,.neg{color:var(--err)}td.pos,tr.pos td{color:var(--ok)}.group-head th{text-transform:uppercase;letter-spacing:.03em;border-bottom:0;padding-bottom:0;font-size:11px}th.grp-cost,td.grp-cost{background:#f3f5f8}.group-head th.grp-offer{color:var(--brand-2);text-align:center;border-bottom:2px solid var(--brand-2)}.group-head th.grp-profit{color:var(--ok);text-align:center;border-bottom:2px solid var(--ok)}.group-head th.grp-cost{color:var(--muted);text-align:center;border-bottom:2px solid #8a96a8}.offer-price{border:1px solid var(--line);border-radius:var(--radius);margin:12px 0;padding:10px 12px}.offer-price .actions{gap:8px;margin-top:6px;display:flex}td.lane{white-space:nowrap;line-height:1.35}.progress{background:#e6ebf1;border-radius:5px;height:10px;margin:12px 0;overflow:hidden}.progress>div{background:var(--brand-2);height:100%;transition:width .5s}.badge.calculating{color:var(--brand-2);background:#e8f0fb}.calc-wait{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px;overflow:hidden}.road-scene{width:100%;height:170px;display:block}.road-scene .vehicle{animation:16s linear infinite rcc-drive}.road-scene .wheel{transform-box:fill-box;transform-origin:50%;animation:.6s linear infinite rcc-spin}.road-scene .lane{animation:.8s linear infinite rcc-lane}.road-scene .clouds{animation:90s linear infinite rcc-pan}.road-scene .hills{animation:60s linear infinite rcc-pan}.road-scene .trees{animation:24s linear infinite rcc-pan}@keyframes rcc-drive{0%{transform:translate(-170px)}to{transform:translate(820px)}}@keyframes rcc-spin{to{transform:rotate(360deg)}}@keyframes rcc-lane{to{stroke-dashoffset:-48px}}@keyframes rcc-pan{0%{transform:translate(0)}to{transform:translate(-800px)}}.calc-wait-body{padding:16px 20px 18px}.calc-wait-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.calc-wait-title{font-size:18px;font-weight:600}.calc-wait-msg{color:var(--muted);margin-top:2px;animation:.6s rcc-fade}@keyframes rcc-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.coffee{flex:none;width:52px;height:52px}.coffee .steam{fill:none;stroke:#9aa6b5;stroke-width:2.5px;stroke-linecap:round;opacity:0;animation:2.4s ease-in-out infinite rcc-steam}.coffee .s2{animation-delay:.8s}.coffee .s3{animation-delay:1.6s}@keyframes rcc-steam{0%{opacity:0;transform:translateY(4px)}40%{opacity:.9}to{opacity:0;transform:translateY(-8px)}}.calc-progress{background:#e6ebf1;border-radius:6px;height:12px;margin:14px 0 8px;overflow:hidden}.calc-progress>div{background:linear-gradient(90deg, var(--brand-2), #5aa0e6, var(--brand-2));background-size:200% 100%;border-radius:6px;height:100%;transition:width 1.8s;animation:2.5s linear infinite rcc-shine}@keyframes rcc-shine{to{background-position:-200% 0}}.calc-wait-stats{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:18px;margin-bottom:8px;display:flex}.calc-eta{color:var(--brand-2);margin-left:auto;font-weight:600}@media (prefers-reduced-motion:reduce){.road-scene *,.coffee *,.calc-progress>div,.calc-wait-msg{animation:none!important}}.tour{z-index:1000;position:fixed;inset:0}.tour-dim{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#09122099;animation:.3s rcc-fade;position:fixed;inset:0}.tour-spot{pointer-events:none;border-radius:12px;transition:left .4s cubic-bezier(.2,.8,.2,1),top .4s cubic-bezier(.2,.8,.2,1),width .4s cubic-bezier(.2,.8,.2,1),height .4s cubic-bezier(.2,.8,.2,1);animation:2.2s ease-in-out infinite rcc-pulse;position:fixed;box-shadow:0 0 0 9999px #09122099,0 0 0 2px #ffffffe6,0 0 0 6px #3b82f673}@keyframes rcc-pulse{0%,to{box-shadow:0 0 0 9999px #09122099,0 0 0 2px #ffffffe6,0 0 0 6px #3b82f673}50%{box-shadow:0 0 0 9999px #09122099,0 0 0 2px #ffffffe6,0 0 0 11px #14b8a640}}.tour-card{background:#fff;border-radius:16px;padding:18px 20px 14px;animation:.35s cubic-bezier(.2,.8,.2,1) rcc-pop;position:fixed;box-shadow:0 24px 60px #09122059,0 2px 6px #0912201a}@keyframes rcc-pop{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.tour-arrow{background:#fff;border-radius:3px;width:16px;height:16px;position:absolute;transform:rotate(45deg)}.side-right .tour-arrow{left:-7px}.side-below .tour-arrow{top:-7px}.side-above .tour-arrow{bottom:-7px}.side-center .tour-arrow{display:none}.tour-head{align-items:center;gap:10px;margin-bottom:10px;display:flex}.tour-icon{color:#fff;background:linear-gradient(135deg, #3b82f6, var(--brand-3));border-radius:11px;place-items:center;width:38px;height:38px;display:grid;box-shadow:0 6px 16px #2563eb4d}.tour-count{color:var(--brand-2);background:#eef4ff;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600}.tour-card h3{letter-spacing:-.01em;margin:0 0 6px;font-size:17px}.tour-card p{color:#334155;margin:0 0 16px;line-height:1.55}.tour-card.hero{text-align:center;padding:0 28px 18px;overflow:hidden}.tour-hero{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='440' height='130' viewBox='0 0 440 130'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.18' stroke-width='2'%3E%3Cpath d='M-10 110 C80 90 120 40 220 50 S360 10 450 20'/%3E%3Cpath d='M-10 130 C100 120 180 80 260 90 S400 60 450 70' stroke-dasharray='5 8'/%3E%3C/g%3E%3C/svg%3E"),linear-gradient(135deg,#123257,#1d4ed8 60%,#0d9488);place-items:center;margin:0 -28px 18px;padding:30px 0 26px;display:grid}.tour-card.hero .tour-actions{justify-content:center}.tour-card.hero .tour-dots,.tour-card.hero .spacer{display:none}.tour-actions{align-items:center;gap:8px;display:flex}.tour-actions .spacer{flex:1}.tour-dots{gap:5px;display:flex}.tour-dots span{background:#dbe3ee;border-radius:999px;width:7px;height:7px;transition:all .3s}.tour-dots span.done{background:#93c5fd}.tour-dots span.on{background:linear-gradient(90deg, #3b82f6, var(--brand-3));width:20px}.tour-foot{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;margin-top:12px;padding-top:10px;display:flex}.tour-card.hero .tour-foot{justify-content:center;gap:18px}.tour-hide{color:var(--muted);cursor:pointer;align-items:center;gap:6px;font-size:12.5px;display:flex}.tour-foot .link{color:var(--muted);font-size:12.5px}@media (prefers-reduced-motion:reduce){.tour-spot,.tour-card{animation:none}}.table.results th,.table.results td{padding:6px 5px;font-size:13px}.table.results th{font-size:11px}.table.results input,.table.results select{box-shadow:none;border-radius:6px;padding:3px 6px;font-size:13px}.table.results td.lane{line-height:1.3}input[type=file]::file-selector-button{color:var(--ink);font:inherit;cursor:pointer;background:#f1f5f9;border:1px solid #d5dde8;border-radius:6px;margin-right:10px;padding:5px 12px;font-weight:600;transition:background .15s}input[type=file]::file-selector-button:hover{background:#e7edf5}.login-cta{color:var(--muted);border-top:1px solid var(--line);justify-content:center;align-items:center;gap:6px;margin-top:2px;padding-top:14px;font-size:13.5px;display:flex}.login-cta a{color:var(--brand-2);font-weight:650;text-decoration:none}.login-cta a:hover{text-decoration:underline}.demo-intro{margin:-4px 0 0}.consent{color:#475569;cursor:pointer;align-items:flex-start;gap:10px;font-size:12.5px;line-height:1.45;display:flex}.consent input{flex:none;width:16px;height:16px;margin-top:3px}.consent a{color:inherit}.hp{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.demo-done p{margin:0;line-height:1.55}@media (width<=900px){.login-form{order:-1;padding-top:32px}.login-hero ul{display:none}}.link.inline{font:inherit;color:var(--brand-2);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0b1e358c;place-items:center;padding:16px;animation:.15s ease-out fade-in;display:grid;position:fixed;inset:0}.modal{background:var(--surface,#fff);box-shadow:var(--shadow-lg);border-radius:16px;width:min(560px,100%);max-height:calc(100vh - 32px);padding:24px 26px;overflow:auto}.modal h3{margin:0 0 12px;font-size:18px}.modal h4{margin:14px 0 4px;font-size:13.5px}.modal p{color:#334155;margin:0;font-size:13.5px;line-height:1.55}.modal .small{margin-top:16px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.legal-gate{background:var(--bg);place-items:center;min-height:100vh;padding:24px 16px;display:grid}.legal-card{width:min(560px,100%);box-shadow:var(--shadow-lg);flex-direction:column;gap:12px;padding:28px;display:flex}.legal-card h2{margin:6px 0 0;font-size:20px}.legal-card p{margin:0;line-height:1.5}.legal-list{gap:10px;margin:4px 0;padding:0;list-style:none;display:grid}.legal-list li{border:1px solid var(--line);background:var(--line-soft);border-radius:12px;padding:12px 14px}.legal-list label{cursor:pointer;align-items:flex-start;gap:10px;line-height:1.45;display:flex}.legal-list input{flex:none;width:16px;height:16px;margin-top:3px}.legal-list a{color:var(--brand-2);font-weight:600}.legal-list small{margin-top:4px;display:block}.legal-upload{gap:12px;max-width:520px;display:grid}.legal-open{color:#b45309;font-weight:600}.legal-card .brand{padding:0}.legal-card .brand strong{color:var(--ink)}.legal-card .brand small{color:var(--muted)}
