:root{--color-primary:#0f766e;--color-primary-dark:#0d5f5a;--color-primary-light:#14b8a6;--color-accent:#f59e0b;--color-text:#111827;--color-text-muted:#6b7280;--color-text-subtle:#9ca3af;--color-bg:#fafaf9;--color-surface:#fff;--color-border:#e5e7eb;--color-border-strong:#d1d5db;--color-success:#059669;--color-error:#dc2626;--color-highlight-bg:#fef3c7;--color-highlight-border:#fde68a;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 4px 12px #0000000f;--shadow-lg:0 12px 28px #0000001a;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}body{min-height:100vh}h1,h2,h3{letter-spacing:-.02em;margin:0}p{margin:0;line-height:1.55}.container{max-width:640px;margin:0 auto;padding:24px 20px}@media (width>=700px){.container{padding:48px 24px}}.header{align-items:center;gap:12px;margin-bottom:32px;display:flex}.header .logo{letter-spacing:-.03em;color:var(--color-primary);font-size:20px;font-weight:700}.header .tagline{color:var(--color-text-muted);font-size:13px}.card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border);margin-bottom:16px;padding:24px}@media (width>=700px){.card{padding:32px}}.step-title{margin-bottom:6px;font-size:20px;font-weight:600}.step-subtitle{color:var(--color-text-muted);margin-bottom:20px;font-size:14px}.option-list{flex-direction:column;gap:10px;display:flex}.option{border-radius:var(--radius-md);border:2px solid var(--color-border);cursor:pointer;text-align:left;background:#fff;padding:16px;transition:border-color .12s,background .12s,transform 80ms;display:block}.option:hover,.option:focus-visible{border-color:var(--color-primary-light);background:#f0fdfa;outline:none}.option:active{transform:scale(.995)}.option.selected{border-color:var(--color-primary);background:#ccfbf1}.option .option-title{margin-bottom:4px;font-size:16px;font-weight:600}.option .option-desc{color:var(--color-text-muted);font-size:13px;line-height:1.45}.option .option-price{color:var(--color-primary);margin-top:6px;font-size:13px;font-weight:500}.field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.field label{color:var(--color-text);font-size:13px;font-weight:500}.field .hint{color:var(--color-text-subtle);margin-top:-2px;font-size:12px}.field input,.field textarea,.field select{border:1.5px solid var(--color-border-strong);border-radius:var(--radius-md);background:#fff;width:100%;padding:12px 14px;font-family:inherit;font-size:16px;transition:border-color .12s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #0f766e26}.field textarea{resize:vertical;min-height:80px}.field .error{color:var(--color-error);margin-top:4px;font-size:13px}.checkbox{border:1.5px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;background:#fff;align-items:center;gap:10px;padding:12px;display:flex}.checkbox input{width:20px;height:20px;margin:0}.checkbox .label{font-size:15px;font-weight:500}.checkbox .desc{color:var(--color-text-muted);margin-top:2px;font-size:12px}.btn{border-radius:var(--radius-md);cursor:pointer;border:0;width:100%;padding:14px 20px;font-family:inherit;font-size:16px;font-weight:600;transition:background .12s,transform 80ms}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn-ghost{color:var(--color-text);border:1.5px solid var(--color-border-strong);background:#fff}.btn-ghost:hover:not(:disabled){background:#f9fafb}.btn-row{gap:12px;margin-top:20px;display:flex}.btn-row .btn{flex:1;width:auto}.quote-panel{border-radius:var(--radius-md);background:linear-gradient(135deg,#ccfbf1 0%,#e0f2fe 100%);border:1px solid #a7f3d0;margin-top:16px;padding:20px}.quote-panel .quote-total{color:var(--color-primary-dark);letter-spacing:-.03em;font-size:36px;font-weight:700}.quote-panel .quote-detail{color:var(--color-text-muted);margin-top:4px;font-size:13px}.quote-panel .quote-lines{margin-top:12px;font-size:14px}.quote-panel .quote-line{color:var(--color-text);justify-content:space-between;padding:3px 0;display:flex}.quote-panel .quote-line-detail{color:var(--color-text-subtle);font-size:12px}.slot-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px;display:grid}@media (width>=700px){.slot-grid{grid-template-columns:repeat(3,1fr)}}.slot{text-align:center;border-radius:var(--radius-sm);border:1.5px solid var(--color-border);cursor:pointer;background:#fff;padding:12px 8px;font-size:14px;transition:all .12s}.slot:hover{border-color:var(--color-primary-light);background:#f0fdfa}.slot.selected{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.progress{gap:6px;margin-bottom:24px;display:flex}.progress .step{background:var(--color-border);border-radius:2px;flex:1;height:4px}.progress .step.done{background:var(--color-primary)}.progress .step.active{background:var(--color-primary-light)}.confirm-hero{text-align:center;padding:20px 0}.confirm-hero .checkmark{background:var(--color-success);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:16px;font-size:30px;display:inline-flex}.confirm-hero h1{margin-bottom:4px;font-size:24px;font-weight:700}.confirm-hero p{color:var(--color-text-muted)}.confirm-summary{border-radius:var(--radius-md);border:1px solid var(--color-border);text-align:left;background:#f9fafb;margin-top:24px;padding:20px}.confirm-summary .row{justify-content:space-between;padding:6px 0;font-size:14px;display:flex}.confirm-summary .row .label{color:var(--color-text-muted)}.confirm-summary .row .value{font-weight:500}
