:root{--brand: #004a93;--brand-dark: #003a72;--brand-darker: #002b54;--brand-600: #0a5aa8;--brand-500: #1668bd;--brand-100: #d6e6f7;--brand-50: #eaf2fb;--brand-25: #f4f8fd;--white: #ffffff;--bg: #f4f7fb;--surface: #ffffff;--ink: #15263a;--ink-soft: #4a5b70;--ink-faint: #8696aa;--line: #e3e9f1;--line-strong: #cdd8e6;--green: #1c8c5a;--green-bg: #e6f5ee;--amber: #b87503;--amber-bg: #fdf3e2;--red: #c0392b;--red-bg: #fbeae8;--radius-sm: 8px;--radius: 12px;--radius-lg: 18px;--shadow-sm: 0 1px 2px rgba(21, 38, 58, .06);--shadow: 0 6px 20px rgba(21, 38, 58, .08);--shadow-lg: 0 14px 40px rgba(0, 43, 84, .14);--maxw: 880px;--font: "Inter", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--ink);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0 0 .4em;line-height:1.25;color:var(--ink);font-weight:700}h1{font-size:1.9rem}h2{font-size:1.4rem}h3{font-size:1.1rem}p{margin:0 0 1em}small{font-size:.82rem}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.topbar-inner{max-width:1080px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar .links{display:flex;gap:10px;align-items:center}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:28px 20px 72px;flex:1}.container.wide{max-width:1080px}.footer{border-top:1px solid var(--line);background:var(--white);color:var(--ink-faint);text-align:center;padding:18px;font-size:.82rem}.logo{display:inline-flex;align-items:center;gap:10px;font-weight:800;color:var(--brand);font-size:1.12rem;letter-spacing:-.01em}.logo .mark{width:34px;height:34px;border-radius:9px;background:var(--brand);display:grid;place-items:center;color:#fff;flex:0 0 auto}.logo small{display:block;font-weight:500;color:var(--ink-faint);font-size:.7rem;letter-spacing:.02em}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card.pad{padding:26px}.card+.card{margin-top:18px}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700;color:var(--brand);margin-bottom:6px}.muted{color:var(--ink-soft)}.faint{color:var(--ink-faint)}.center{text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-size:1rem;font-weight:600;border-radius:var(--radius);border:1px solid transparent;padding:12px 20px;cursor:pointer;transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform .05s;text-decoration:none;line-height:1.2}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-dark)}.btn-secondary{background:var(--brand-50);color:var(--brand);border-color:var(--brand-100)}.btn-secondary:hover:not(:disabled){background:var(--brand-100)}.btn-ghost{background:transparent;color:var(--ink-soft);border-color:var(--line-strong)}.btn-ghost:hover:not(:disabled){background:var(--bg);color:var(--ink)}.btn-success{background:var(--green);color:#fff}.btn-success:hover:not(:disabled){filter:brightness(.95)}.btn-danger{background:#fff;color:var(--red);border-color:#eccac5}.btn-danger:hover:not(:disabled){background:var(--red-bg)}.btn-block{width:100%}.btn-lg{padding:15px 26px;font-size:1.05rem}.btn-sm{padding:8px 14px;font-size:.88rem}.btn-row{display:flex;gap:12px;flex-wrap:wrap}.btn-row.spread{justify-content:space-between}.field{margin-bottom:20px}.field:last-child{margin-bottom:0}.field>label,.field-label{display:block;font-weight:600;font-size:.95rem;margin-bottom:7px;color:var(--ink)}.field .req{color:var(--red);margin-left:2px}.field .hint{display:block;color:var(--ink-faint);font-size:.82rem;margin-top:6px;font-weight:400}.field .err{display:block;color:var(--red);font-size:.82rem;margin-top:6px;font-weight:500}.input,.textarea,.select{width:100%;font-family:inherit;font-size:1rem;color:var(--ink);background:var(--white);border:1px solid var(--line-strong);border-radius:var(--radius);padding:12px 14px;transition:border-color .15s,box-shadow .15s}.input::placeholder,.textarea::placeholder{color:var(--ink-faint)}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #004a9338}.input.invalid,.textarea.invalid,.select.invalid{border-color:var(--red)}.textarea{min-height:96px;resize:vertical}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%234a5b70' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media (max-width: 820px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 620px){.grid-2,.grid-3{grid-template-columns:1fr}}.option-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.option-grid.cols-3{grid-template-columns:repeat(3,1fr)}.option-grid.cols-2{grid-template-columns:repeat(2,1fr)}@media (max-width: 560px){.option-grid.cols-3{grid-template-columns:repeat(2,1fr)}}.opt-card{position:relative;border:1.5px solid var(--line-strong);border-radius:var(--radius);background:var(--white);padding:16px 14px;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;display:flex;flex-direction:column;gap:6px;text-align:left;font-family:inherit;font-size:.95rem;color:var(--ink)}.opt-card .icon{display:inline-flex;color:var(--brand);line-height:1}.opt-card .opt-label{font-weight:600}.opt-card .opt-desc{font-size:.8rem;color:var(--ink-faint)}.opt-card:hover{border-color:var(--brand-500)}.opt-card.selected{border-color:var(--brand);background:var(--brand-25);box-shadow:0 0 0 1px var(--brand)}.opt-card.selected:after{content:"";position:absolute;top:9px;right:10px;width:18px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23004a93' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") no-repeat center / contain}.chips{display:flex;flex-wrap:wrap;gap:10px}.chip{border:1.5px solid var(--line-strong);background:#fff;border-radius:999px;padding:9px 16px;font-size:.92rem;font-family:inherit;cursor:pointer;color:var(--ink);transition:all .15s}.chip:hover{border-color:var(--brand-500)}.chip.selected{background:var(--brand);border-color:var(--brand);color:#fff}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);margin-bottom:10px}.toggle-row .t-label{font-weight:500}.toggle-row .t-desc{font-size:.8rem;color:var(--ink-faint)}.switch{position:relative;width:46px;height:26px;flex:0 0 auto;border-radius:999px;background:var(--line-strong);border:none;cursor:pointer;transition:background .18s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .18s;box-shadow:var(--shadow-sm)}.switch.on{background:var(--brand)}.switch.on:after{transform:translate(20px)}.check-row{display:flex;gap:12px;align-items:flex-start;padding:12px 0;cursor:pointer;border-bottom:1px solid var(--line)}.check-row:last-child{border-bottom:none}.check-box{width:22px;height:22px;flex:0 0 auto;border:1.5px solid var(--line-strong);border-radius:6px;display:grid;place-items:center;margin-top:1px;background:#fff;color:#fff;font-size:.8rem;transition:all .15s}.check-row.checked .check-box{background:var(--brand);border-color:var(--brand)}.check-row .c-text{font-size:.92rem;line-height:1.45}.check-row .c-text .opt{color:var(--ink-faint);font-weight:400}.check-row.has-error .check-box{border-color:var(--red)}.check-row.has-error .c-text{color:var(--red)}.check-row:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}.opt-hint{color:var(--ink-faint);font-weight:400;font-size:.82rem}.stepper{display:flex;gap:6px;margin-bottom:8px;overflow-x:auto;padding-bottom:4px}.stepper .step{flex:1 1 0;min-width:72px;display:flex;flex-direction:column;gap:7px;cursor:default}.stepper .bar{height:5px;border-radius:999px;background:var(--line);transition:background .2s}.stepper .step.done .bar,.stepper .step.active .bar{background:var(--brand)}.stepper .step .s-label{font-size:.74rem;color:var(--ink-faint);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stepper .step.active .s-label{color:var(--brand);font-weight:700}.stepper .step.done .s-label{color:var(--ink-soft)}.step-count{font-size:.82rem;color:var(--ink-faint);margin-bottom:22px}.step-head{margin-bottom:22px}.step-head h2{margin-bottom:4px}.step-head .sub{color:var(--ink-soft);margin:0}.badge{display:inline-flex;align-items:center;gap:5px;font-size:.76rem;font-weight:700;padding:4px 10px;border-radius:999px;white-space:nowrap}.badge-new{background:var(--brand-50);color:var(--brand)}.badge-quoted{background:var(--amber-bg);color:var(--amber)}.badge-countered{background:#ede7f9;color:#6b46c1}.badge-accepted{background:var(--green-bg);color:var(--green)}.badge-rejected{background:var(--red-bg);color:var(--red)}.dropzone{border:1.5px dashed var(--line-strong);border-radius:var(--radius);padding:26px;text-align:center;cursor:pointer;background:var(--brand-25);transition:border-color .15s,background .15s;color:var(--ink-soft)}.dropzone:hover{border-color:var(--brand);background:var(--brand-50)}.thumbs{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}.thumb{position:relative;width:92px;height:92px;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:var(--bg)}.thumb img{width:100%;height:100%;object-fit:cover}.thumb .rm{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;border:none;background:#0009;color:#fff;cursor:pointer;font-size:.8rem;line-height:1;display:grid;place-items:center}.rec-box{border:1px solid var(--brand-100);background:var(--brand-25);border-radius:var(--radius);padding:20px}.rec-line{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px dashed var(--line-strong)}.rec-line:last-child{border-bottom:none}.rec-line .rl-name{font-weight:600}.rec-line .rl-note{font-size:.82rem;color:var(--ink-faint)}.rec-line .rl-amount{font-weight:700;color:var(--brand);white-space:nowrap}.summary-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}@media (max-width: 560px){.summary-list{grid-template-columns:1fr}}.summary-list .row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:8px 0;font-size:.92rem}.summary-list .row .k{color:var(--ink-faint)}.summary-list .row .v{font-weight:600;text-align:right}.panel-grid{display:grid;grid-template-columns:340px 1fr;gap:18px;align-items:start}@media (max-width: 880px){.panel-grid{grid-template-columns:1fr}}.req-list{display:flex;flex-direction:column;gap:8px;max-height:78vh;overflow-y:auto}.req-item{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:13px 15px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.req-item:hover{border-color:var(--brand-500)}.req-item.active{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.req-item .ri-top{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:4px}.req-item .ri-name{font-weight:700}.req-item .ri-meta{font-size:.82rem;color:var(--ink-faint)}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;align-items:center}.search{flex:1;min-width:160px}.filter-tabs{display:flex;gap:6px;flex-wrap:wrap}.filter-tabs .ft{border:1px solid var(--line-strong);background:#fff;border-radius:999px;padding:6px 13px;font-size:.84rem;cursor:pointer;font-family:inherit;color:var(--ink-soft)}.filter-tabs .ft.active{background:var(--brand);color:#fff;border-color:var(--brand)}.thread{display:flex;flex-direction:column;gap:10px;margin:4px 0 18px}.offer-bubble{max-width:78%;padding:12px 15px;border-radius:var(--radius);border:1px solid var(--line)}.offer-bubble .ob-head{display:flex;justify-content:space-between;gap:12px;font-size:.78rem;color:var(--ink-faint);margin-bottom:4px}.offer-bubble .ob-price{font-size:1.15rem;font-weight:800;color:var(--ink)}.offer-bubble .ob-note{font-size:.88rem;color:var(--ink-soft);margin-top:3px}.offer-bubble.from-dealer{align-self:flex-start;background:var(--brand-25);border-color:var(--brand-100)}.offer-bubble.from-customer{align-self:flex-end;background:#fff}.offer-bubble.accepted{border-color:var(--green);background:var(--green-bg)}.stack{display:flex;flex-direction:column;gap:16px}.divider{height:1px;background:var(--line);margin:20px 0}.notice{border-radius:var(--radius);padding:12px 15px;font-size:.88rem;border:1px solid}.notice-info{background:var(--brand-50);border-color:var(--brand-100);color:var(--brand-dark)}.notice-warn{background:var(--amber-bg);border-color:#f3dcb5;color:var(--amber)}.notice-success{background:var(--green-bg);border-color:#b9e3cd;color:var(--green)}.tag-demo{font-size:.72rem;font-weight:700;color:var(--amber);background:var(--amber-bg);padding:3px 9px;border-radius:999px;border:1px solid #f3dcb5}.empty-state{text-align:center;padding:48px 20px;color:var(--ink-faint)}.empty-state .ico{display:flex;justify-content:center;color:var(--ink-faint);margin-bottom:6px}.spinner{width:30px;height:30px;border:3px solid var(--brand-100);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite;margin:30px auto}@keyframes spin{to{transform:rotate(360deg)}}.hero{text-align:center;padding:30px 0 0}.hero h1{font-size:2.3rem;letter-spacing:-.02em}.hero p.lead{font-size:1.1rem;color:var(--ink-soft);max-width:560px;margin:0 auto 26px}.hero-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:35px 0 6px}.hero-steps .hs{position:relative;text-align:center}.hero-steps .hs img{display:block;width:100%;height:clamp(140px,21vw,210px);object-fit:cover;border-radius:var(--radius-lg);border:1px solid var(--line);box-shadow:var(--shadow)}.hero-steps .hs .hs-badge{position:relative;width:46px;height:46px;margin:-23px auto 0;border-radius:50%;background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow-sm);color:var(--brand);display:grid;place-items:center}.hero-steps .hs .hs-num{margin-top:12px}.hero-steps .hs .hs-n{font-size:.72rem;font-weight:800;letter-spacing:.14em;color:var(--brand)}.hero-steps .hs .hs-title{font-weight:700;font-size:1.1rem;margin-top:2px}.hero-steps .hs .hs-desc{color:var(--ink-soft);font-size:.9rem;margin-top:5px;max-width:26ch;margin-left:auto;margin-right:auto}@media (max-width: 620px){.hero-steps{grid-template-columns:1fr;gap:26px;max-width:380px;margin-left:auto;margin-right:auto}.hero-steps .hs img{height:190px}}.icon-svg{display:inline-block;vertical-align:middle;flex:0 0 auto}.btn .icon-svg,.chip .icon-svg{margin-top:-1px}.result-ico{display:inline-grid;place-items:center;width:76px;height:76px;border-radius:50%;margin:0 auto 8px}.result-ico.success{color:var(--green);background:var(--green-bg)}.result-ico.brand{color:var(--brand);background:var(--brand-50)}.dz-ico{display:flex;justify-content:center;color:var(--brand);margin-bottom:6px}.notice-ico{display:inline-flex;vertical-align:-3px;margin-right:6px}.wave-ico{transform-origin:70% 70%;animation:wave 2.4s ease-in-out infinite}@keyframes wave{0%,60%,to{transform:rotate(0)}10%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}30%{transform:rotate(14deg)}40%{transform:rotate(-4deg)}50%{transform:rotate(10deg)}}.step-anim{animation:stepFade .34s cubic-bezier(.22,.61,.36,1) both;will-change:transform,opacity}.step-anim.fwd{animation-name:stepInFwd}.step-anim.back{animation-name:stepInBack}@keyframes stepInFwd{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes stepInBack{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes stepFade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.step-anim,.wave-ico{animation:none!important}}.badge-open{background:var(--brand-50);color:var(--brand)}.badge-mine{background:var(--amber-bg);color:var(--amber)}.badge-won{background:var(--green-bg);color:var(--green)}.badge-closed{background:#eef1f5;color:var(--ink-faint)}.winner-card{border-color:var(--green);box-shadow:0 0 0 1px var(--green)}
