@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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+1F00-1FFF}@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+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@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+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--primary-color: var(--brand-primary);--accent-color: var(--brand-accent);--accent-hover: var(--brand-accent-hover);--bg-color: var(--bg-app);--card-bg: var(--surface-1);--border-color: var(--border-default);--text-primary: var(--text-default);--text-secondary: var(--text-muted);--text-color: var(--text-default);--danger-color: var(--danger);--success-color: var(--success)}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;text-rendering:optimizeLegibility}body{margin:0;font-family:var(--font-sans);font-size:var(--text-lg);line-height:var(--leading-relaxed);font-feature-settings:"cv11","ss01","ss03";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-default);background:var(--bg-app)}h1,h2,h3{font-family:var(--font-display);font-weight:var(--weight-extrabold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);color:var(--text-strong)}h3{font-family:var(--font-sans);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-flat);line-height:var(--leading-snug)}.num,.quote-line,.history-total,.sticky-total-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}#root{min-height:100vh}input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]):not([type=file]),select,textarea{font-family:inherit;font-size:var(--text-lg);min-height:44px;border:1px solid var(--gray-400);border-radius:var(--radius-md);padding:.625rem .75rem;background:var(--surface-1);color:var(--text-default);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}input::placeholder,textarea::placeholder{color:var(--text-subtle)}input:hover:not(:disabled):not(:focus),select:hover:not(:disabled):not(:focus),textarea:hover:not(:disabled):not(:focus){border-color:var(--border-strong)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--navy-700);box-shadow:var(--shadow-focus)}input[type=number],input[inputmode=numeric],input[inputmode=decimal]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}input:disabled,select:disabled,textarea:disabled{background:var(--bg-subtle);color:var(--text-disabled);border-color:var(--border-default);opacity:1;cursor:not-allowed}button{font-family:inherit;font-size:var(--text-base);font-weight:var(--weight-semibold)}@media(max-width:768px){html{font-size:16px}}@media(max-width:768px),(pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]):not([type=file]),select,textarea{font-size:1rem;padding:.75rem .875rem;min-height:var(--field-height-mobile)}}@media(max-width:768px){button{min-height:var(--touch-min)}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.login-screen{min-height:100vh;width:100%;display:grid;grid-template-columns:1.1fr 1fr;background:var(--surface-1);color:var(--text-default)}.login-hero{position:relative;isolation:isolate;overflow:hidden;padding:var(--space-12) var(--space-10);background:linear-gradient(135deg,var(--navy-800) 0%,var(--navy-700) 55%,var(--navy-900) 100%);color:var(--text-on-dark);display:flex;align-items:center}.login-hero-overlay{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle at 85% 15%,#dc262638,#dc262600 45%),radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:auto,24px 24px;opacity:.9;z-index:0}.login-hero-content{position:relative;z-index:1;max-width:520px;display:flex;flex-direction:column;gap:var(--space-5)}.login-hero-brand{display:inline-flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.login-hero-logo{max-height:44px;width:auto;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25))}.login-hero-mark{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);background:var(--brand-accent);color:var(--text-on-dark);font-weight:var(--weight-bold);font-size:var(--text-md);letter-spacing:.02em;box-shadow:var(--shadow-md)}.login-hero-brand-name{font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:-.01em}.login-hero-headline{font-size:var(--text-4xl);line-height:1.1;font-weight:var(--weight-bold);letter-spacing:-.02em;margin:0}.login-hero-lede{font-size:var(--text-md);line-height:1.55;color:#ffffffd1;margin:0;max-width:44ch}.login-hero-features{list-style:none;padding:0;margin:var(--space-4) 0 0;display:flex;flex-direction:column;gap:var(--space-3)}.login-hero-features li{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--text-base);color:#ffffffeb;line-height:1.4}.login-hero-feature-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);background:#ffffff1a;border:1px solid rgba(255,255,255,.18);color:var(--text-on-dark)}.login-panel{display:flex;align-items:center;justify-content:center;padding:var(--space-10) var(--space-8);background:var(--surface-1)}.login-container{width:100%;max-width:420px;display:flex;flex-direction:column;gap:var(--space-5)}.login-back-link{align-self:flex-start;display:inline-flex;align-items:center;gap:var(--space-1);background:transparent;border:none;padding:var(--space-1) var(--space-2);margin:0 0 calc(-1 * var(--space-3)) calc(-1 * var(--space-2));font-family:inherit;font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.login-back-link:hover{color:var(--text-strong);background:var(--surface-2)}.login-back-link:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.login-header{display:flex;flex-direction:column;gap:var(--space-2);text-align:left}.login-title{font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--text-strong);letter-spacing:-.01em;margin:0}.login-subtitle{font-size:var(--text-base);color:var(--text-muted);margin:0}.login-error{background:var(--red-50);color:var(--red-700);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--weight-medium);border:1px solid var(--red-100)}.login-info{background:var(--green-50);color:var(--green-700);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--weight-medium);border:1px solid var(--green-500)}.email-login{display:flex;flex-direction:column;gap:var(--space-4)}.form-field{display:flex;flex-direction:column;gap:var(--space-2);text-align:left}.form-field label{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text-strong)}.form-field input{padding:var(--space-3) var(--space-4);border:1px solid var(--gray-400);border-radius:var(--radius-md);font-size:var(--text-lg);font-family:inherit;color:var(--text-strong);background:var(--surface-1);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out);min-height:44px}.form-field input::placeholder{color:var(--text-subtle)}.form-field input:hover:not(:disabled){border-color:var(--border-strong)}.form-field input:focus{outline:none;border-color:var(--brand-primary);box-shadow:var(--shadow-focus);background:var(--surface-1)}.form-field input:disabled{background:var(--bg-subtle);color:var(--text-disabled);border-color:var(--border-default);opacity:1;cursor:not-allowed;background:var(--surface-2)}.login-submit{margin-top:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--brand-accent);color:var(--text-on-dark);border:1px solid var(--brand-accent);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;font-family:inherit;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out);box-shadow:var(--shadow-sm)}.login-submit:hover:not(:disabled){background:var(--brand-accent-hover);border-color:var(--brand-accent-hover);box-shadow:var(--shadow-md)}.login-submit:focus-visible{outline:none;box-shadow:var(--shadow-focus-red)}.login-submit:active:not(:disabled){transform:translateY(1px);box-shadow:var(--shadow-xs)}.login-submit:disabled{background:var(--bg-subtle);color:var(--text-disabled);border-color:var(--border-default);opacity:1;cursor:not-allowed;box-shadow:none}.login-link-btn{margin-top:var(--space-1);padding:var(--space-2);background:none;border:none;color:var(--text-muted);font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer;font-family:inherit;transition:color var(--duration-fast) var(--ease-out);align-self:center}.login-link-btn:hover:not(:disabled){color:var(--brand-primary)}.login-link-btn:disabled{background:var(--bg-subtle);color:var(--text-disabled);border-color:var(--border-default);opacity:1;cursor:not-allowed}.login-link-inner{display:inline-flex;align-items:center;gap:var(--space-2)}.login-footer-tag{margin:var(--space-6) 0 0;text-align:center;font-size:var(--text-xs);color:var(--text-subtle);letter-spacing:.04em;text-transform:uppercase}@media(max-width:900px){.login-screen{grid-template-columns:1fr;grid-template-rows:auto 1fr}.login-hero{padding:var(--space-8) var(--space-6);min-height:auto}.login-hero-headline{font-size:var(--text-2xl)}.login-hero-lede{font-size:var(--text-base)}.login-hero-features{display:none}.login-panel{padding:var(--space-8) var(--space-6)}}@media(max-width:480px){.login-hero{padding:var(--space-6) var(--space-5)}.login-hero-headline{font-size:var(--text-xl)}.login-panel{padding:var(--space-6) var(--space-5)}.login-title{font-size:var(--text-xl)}}@media(prefers-reduced-motion:reduce){.login-submit,.form-field input,.login-link-btn{transition:none}.login-submit:active:not(:disabled){transform:none}}html:has(.lp){scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html:has(.lp){scroll-behavior:auto}}.lp{--lp-navy: var(--navy-800);--lp-navy-deep: var(--navy-900);--lp-navy-mid: var(--navy-700);--lp-navy-tint: var(--gray-100);--lp-red: var(--red-600);--lp-red-bright: var(--red-500);--lp-ink: var(--navy-900);--lp-muted: var(--gray-500);--lp-line: var(--gray-200);--lp-bg: var(--gray-50);--lp-success: var(--green-600);--lp-success-bg: #EEF5F1;--lp-us-tint: #FBF3F3;--lp-dash: #B4BCC9;--lp-sent-border: #C6DED1;--lp-sent-body: #155C3F;--lp-sent-label-dark: #8FCBAE;--lp-onink-eyebrow: #F1CBCD;--lp-sans: var(--font-sans);--lp-mono: var(--font-mono);--lp-display: var(--font-display);--lp-gutter: 40px;--lp-section: 104px;--lp-clip-crop: 6.967%;background:#fff;color:var(--lp-ink);font-family:var(--lp-sans)}.lp-wrap{max-width:1240px;margin:0 auto;padding-left:var(--lp-gutter);padding-right:var(--lp-gutter)}.lp-section{padding-top:var(--lp-section)}.lp-section-wide{padding-top:116px}.lp-section-end{padding-bottom:112px}.lp-section-tint{background:var(--lp-bg);border-top:1px solid var(--lp-line);border-bottom:1px solid var(--lp-line);margin-top:var(--lp-section)}.lp-section-tint .lp-section{padding-bottom:104px}:where(.lp) p{margin:0}.lp a{color:var(--lp-navy)}.lp a:hover{color:var(--lp-red)}.lp-h1{margin:0;font:700 clamp(34px,4.1vw,52px)/1.02 var(--lp-display);letter-spacing:-.032em;color:var(--lp-ink);text-wrap:balance}.lp-h2{margin:0 0 20px;font:700 36px/1.1 var(--lp-display);letter-spacing:-.03em;color:var(--lp-ink);max-width:36ch;text-wrap:balance}.lp-h2-narrow{max-width:52ch}.lp-h2-22{max-width:46ch;margin-bottom:20px}.lp-h2-gap{margin-bottom:56px}.lp-h2-sec{font-size:32px;line-height:1.1;letter-spacing:-.025em;margin-bottom:40px}.lp-h2-cta{font-size:38px;line-height:1.06;color:#fff;max-width:28ch;margin:0 0 16px}.lp-h2.lp-h2-onink{color:#fff;font-size:clamp(32px,3.8vw,44px);line-height:1.1}.lp-lede{margin:0 0 44px;max-width:66ch;font:400 18px/1.6 var(--lp-sans);color:var(--lp-ink);text-wrap:pretty}.lp-lede-tight{max-width:62ch;margin-bottom:52px}.lp-lede-why{margin-bottom:64px}.lp-list{margin:0;padding:0;list-style:none;display:grid;gap:14px;max-width:62ch;font:400 18px/1.6 var(--lp-sans);color:var(--lp-ink)}.lp-list li{display:grid;grid-template-columns:14px 1fr;gap:12px;align-items:start}.lp-list li>span:first-child{display:block;width:8px;height:8px;margin-top:10px;background:var(--lp-red);border-radius:1px}.lp-list strong{font-weight:600;color:var(--lp-ink)}.lp-list-onink{color:#fff;margin-top:24px;max-width:68ch}.lp-list-onink li>span:first-child{background:var(--lp-onink-eyebrow)}.lp-list-lede{margin-bottom:44px;max-width:70ch}.lp-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:4px;font-family:var(--lp-sans);font-weight:600;white-space:nowrap;text-decoration:none;border:0;cursor:pointer;transition:background .12s cubic-bezier(.2,.7,.3,1)}.lp-btn-primary{background:var(--lp-red);color:#fff}.lp-btn-primary:hover{background:var(--lp-red-bright);color:#fff}.lp a.lp-btn-primary,.lp a.lp-btn-primary:hover{color:#fff}.lp-btn-primary[disabled]{opacity:.65;cursor:default}.lp-btn-sm{min-height:56px;padding:0 22px;font-size:16px}.lp-btn-lg{min-height:56px;padding:0 26px;font-size:17px}.lp-btn-outline{background:#fff;color:var(--lp-navy);border:2px solid var(--lp-navy)}.lp-btn-outline:hover{background:var(--lp-bg);color:var(--lp-navy)}.lp-header{position:sticky;top:0;z-index:30;background:#fffffff0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:3px solid var(--lp-red);border-bottom:1px solid var(--lp-line)}.lp-header-inner{display:flex;align-items:center;gap:36px;padding-top:16px;padding-bottom:16px}.lp-logo{display:flex;align-items:center;flex:none}.lp-logo img{height:64px;width:auto;display:block}.lp-nav{display:flex;gap:26px;font:500 16px/1 var(--lp-sans)}.lp-nav a,.lp-nav-signin{color:var(--lp-navy);text-decoration:none;background:none;border:0;padding:0;font:inherit;cursor:pointer}.lp-nav a:hover,.lp-nav-signin:hover{color:var(--lp-red)}.lp-nav-signin{display:none}.lp-header-cta{margin-left:auto;flex:none}.lp-menu-toggle{display:none}.lp-plate{position:relative;width:100%;aspect-ratio:720 / 1464;background:var(--lp-bg);border:1px solid var(--lp-line);border-radius:14px;padding:12px}.lp-plate-crop{position:absolute;inset:12px;overflow:hidden;border-radius:6px;background:var(--lp-bg)}.lp-clip{position:absolute;left:0;top:calc(var(--lp-clip-crop) * -1);width:100%;height:calc(100% + var(--lp-clip-crop));object-fit:cover;display:block}.lp-hero{padding-top:104px;padding-bottom:104px;display:grid;grid-template-columns:1.12fr .88fr;gap:80px;align-items:center}.lp-hero-copy{min-width:0}.lp-hero-hook{margin-top:30px;max-width:54ch;font:400 18px/1.6 var(--lp-sans);color:var(--lp-ink);text-wrap:pretty}.lp-hero-ways-lead{margin-top:30px;max-width:54ch;font:600 18px/1.5 var(--lp-sans);color:var(--lp-ink)}.lp-hero-ways{margin-top:22px;max-width:54ch;gap:14px}.lp-hero-close{margin-top:26px;max-width:54ch;font:400 18px/1.6 var(--lp-sans);color:var(--lp-ink);text-wrap:pretty}.lp-hero-reassure{margin-top:18px;font:400 16px/1.5 var(--lp-sans);color:var(--lp-muted)}.lp-hero-visual{max-width:296px;margin:0 auto;width:100%}.lp-hero-visual .lp-plate{box-shadow:0 18px 40px -26px #1b2c5773}.lp-caps{display:grid;grid-template-columns:repeat(auto-fit,minmax(440px,1fr));gap:20px}.lp-cap{display:grid;grid-template-columns:34px 1fr;gap:18px;padding:30px 28px 32px;background:#fff;border:1px solid var(--lp-line);border-top:3px solid var(--lp-navy);border-radius:4px}.lp-cap-n{font:600 15px/1.5 var(--lp-mono);color:var(--lp-red)}.lp-cap h3{margin:0 0 8px;font:600 22px/1.3 var(--lp-sans);color:var(--lp-ink)}.lp-cap-lead{margin:0 0 16px;font:400 18px/1.6 var(--lp-sans);color:var(--lp-ink);text-wrap:pretty}.lp-why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:56px 40px}.lp-why{display:grid;gap:18px;align-content:start}.lp-why-n{font:600 15px/1.5 var(--lp-mono);color:var(--lp-red)}.lp-why h3{margin:0;font:600 22px/1.3 var(--lp-sans);color:var(--lp-ink)}.lp-quote{margin:6px 0 0;padding:0 0 0 18px;border-left:2px solid var(--lp-navy);font:400 18px/1.55 var(--lp-sans);color:var(--lp-ink);text-wrap:pretty}.lp-quote footer{margin-top:10px;font:500 14px/1.4 var(--lp-mono);color:var(--gray-600, #3A4560)}.lp-cred{margin-top:72px;padding-top:40px;border-top:1px solid var(--lp-line);display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px 48px;align-items:start}.lp-cred h3{margin:0;font:700 24px/1.25 var(--lp-sans);color:var(--lp-navy);text-wrap:balance}.lp-cred p{font:400 18px/1.6 var(--lp-sans);color:var(--lp-navy);text-wrap:pretty}.lp-band{background:var(--lp-navy);color:#fff;margin-top:var(--lp-section)}.lp-band-inner{padding-top:104px;padding-bottom:104px}.lp-band-lead{margin-top:32px;max-width:70ch;font:400 18px/1.6 var(--lp-sans);color:#fff}.lp-steps{display:grid}.lp-step{display:grid;grid-template-columns:1fr 216px;gap:64px;align-items:center;padding:64px 0;border-bottom:1px solid var(--lp-line)}.lp-step:first-child{padding-top:0}.lp-step:last-child{padding-bottom:0;border-bottom:0}.lp-step-label{font:600 13px/1 var(--lp-mono);letter-spacing:.12em;color:var(--lp-red);margin-bottom:16px}.lp-step-text h3{margin:0 0 12px;font:700 24px/1.25 var(--lp-sans);color:var(--lp-ink)}.lp-step-lede{margin-bottom:18px;max-width:62ch;font:400 18px/1.6 var(--lp-sans);color:var(--lp-ink)}.lp-hairgrid{display:grid;gap:1px;background:#fff;border:1px solid var(--lp-line);border-radius:6px;overflow:hidden}.lp-hairgrid-220{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.lp-hairgrid-340{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.lp-haircell{background:#fff;padding:30px 26px;box-shadow:0 0 0 1px var(--lp-line)}.lp-hairgrid-340 .lp-haircell{padding:30px 28px}.lp-haircell-h{margin:0 0 10px;font:700 20px/1.25 var(--lp-sans);color:var(--lp-navy)}.lp-haircell p{font:400 18px/1.6 var(--lp-sans);color:var(--lp-ink)}.lp-statrow{display:flex;gap:2px;margin-top:2px;flex-wrap:wrap}.lp-stat{flex:1 1 240px;background:var(--lp-bg);border:1px solid var(--lp-line);border-radius:6px;padding:26px 28px}.lp-stat-n{font:600 26px/1 var(--lp-mono);color:var(--lp-ink)}.lp-stat-c{font:400 16px/1.45 var(--lp-sans);color:var(--lp-ink);margin-top:6px}.lp-engine{background:var(--lp-bg);border:1px solid var(--lp-line);border-top:3px solid var(--lp-red);border-radius:6px;padding:64px 56px}.lp-engine-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:40px 36px}.lp-engine-grid h3{margin:0 0 8px;font:700 20px/1.3 var(--lp-sans);color:var(--lp-navy)}.lp-engine-grid p{font:400 18px/1.6 var(--lp-sans);color:var(--lp-ink)}.lp-table-wrap{border:1px solid var(--lp-line);border-radius:6px;overflow:hidden}.lp-cmp{width:100%;border-collapse:collapse;font:400 16px/1.4 var(--lp-sans)}.lp-cmp thead tr{background:var(--lp-navy-deep);color:#fff}.lp-cmp th{padding:16px 14px;text-align:center;font:500 15px/1.3 var(--lp-sans);color:#fff}.lp-cmp th.lp-c-k{text-align:left;padding:16px 20px}.lp-cmp th.lp-c-us{background:var(--lp-red);color:#fff;font-weight:600;padding:16px 18px}.lp-cmp td{padding:14px;text-align:center;border-bottom:1px solid var(--lp-navy-tint);color:var(--lp-ink);font-size:16px}.lp-cmp td.lp-c-k{text-align:left;padding:14px 20px;color:var(--lp-navy);font-weight:500}.lp-cmp td.lp-c-no{color:var(--lp-dash)}.lp-cmp td.lp-c-yes{color:var(--lp-success)}.lp-cmp td.lp-c-us{background:var(--lp-us-tint);color:var(--lp-red);font-weight:600;padding:14px 18px}.lp-cmp td.lp-c-red{color:var(--lp-red);font-weight:600}.lp-cmp tr.lp-c-last td{border-bottom:0;background:var(--lp-bg);padding-top:16px;padding-bottom:16px}.lp-cmp tr.lp-c-last td.lp-c-k{color:var(--lp-ink);font-weight:600}.lp-cmp tr.lp-c-last td.lp-c-us{background:var(--lp-us-tint)}.lp-cmp td.lp-c-us-good{color:var(--lp-success)}.lp-faq{max-width:860px;border-top:1px solid var(--lp-line)}.lp-faq-item{border-bottom:1px solid var(--lp-line);padding:22px 0}.lp-faq-q{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:44px;background:none;border:0;padding:0;text-align:left;cursor:pointer;font:600 18px/1.3 var(--lp-sans);color:var(--lp-navy)}.lp-faq-g{flex:none;width:22px;text-align:center;font:500 22px/1 var(--lp-mono);color:var(--lp-red)}.lp-faq-a{margin-top:12px;max-width:70ch;font:400 18px/1.6 var(--lp-sans);color:var(--lp-ink);text-wrap:pretty}.lp-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.lp-plan{background:#fff;border:1px solid var(--lp-line);border-top:3px solid var(--lp-navy);border-radius:4px;padding:34px 30px 36px;display:grid;gap:20px;align-content:start}.lp-plan-primary{border-top-color:var(--lp-red)}.lp-plan-label{font:600 13px/1 var(--lp-mono);letter-spacing:.12em;color:var(--lp-red);margin-bottom:14px}.lp-plan-price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.lp-plan-n{font:600 44px/1 var(--lp-mono);color:var(--lp-navy);letter-spacing:-.02em}.lp-plan-per{font:400 18px/1.3 var(--lp-sans);color:var(--lp-ink)}.lp-plan-who{font:600 18px/1.5 var(--lp-sans);color:var(--lp-ink);text-wrap:pretty}.lp-plan .lp-list{max-width:none}.lp-plan .lp-btn{margin-top:6px}.lp-bill{margin-top:36px;padding:28px 30px;background:var(--lp-bg);border:1px solid var(--lp-line);border-radius:4px;display:grid;gap:10px}.lp-bill .lp-plan-label{margin-bottom:0}.lp-bill .lp-list{max-width:none}.lp-form{display:flex;gap:10px;flex-wrap:wrap;margin-top:34px;max-width:520px}.lp-form input[type=email]{flex:1 1 240px;min-height:56px;padding:0 16px;border:1px solid var(--lp-line);border-radius:4px;background:#fff;font:400 17px/1.2 var(--lp-sans);color:var(--lp-ink)}.lp-form input[type=email]:focus{outline:none;border-color:var(--lp-navy);box-shadow:0 0 0 3px #1b2c571f}.lp-form-dark{display:grid;gap:12px;margin-top:0;max-width:none}.lp-form-dark input[type=email]{width:100%;background:var(--lp-navy);border-color:var(--lp-navy-mid);color:#fff}.lp-form-dark input[type=email]:focus{border-color:#fff;box-shadow:0 0 0 3px #ffffff24}.lp-form-dark .lp-btn{width:100%}.lp-trap{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.lp-form-err{flex:1 1 100%;font:400 16px/1.5 var(--lp-sans);color:var(--lp-red)}.lp-form-dark .lp-form-err{color:var(--lp-onink-eyebrow)}.lp-sent{margin-top:34px;max-width:520px;padding:16px 18px;border:1px solid var(--lp-sent-border);border-left:3px solid var(--lp-success);border-radius:4px;background:var(--lp-success-bg)}.lp-sent-label{font:600 13px/1.2 var(--lp-sans);letter-spacing:.07em;text-transform:uppercase;color:var(--lp-success);margin-bottom:4px}.lp-sent p{font:400 16px/1.55 var(--lp-sans);color:var(--lp-sent-body)}.lp-sent-dark{margin-top:0;max-width:none;padding:20px;border-color:var(--lp-navy-mid);border-left-color:var(--lp-success);background:var(--lp-navy)}.lp-sent-dark .lp-sent-label{color:var(--lp-sent-label-dark);margin-bottom:6px}.lp-sent-dark p{color:#fff}.lp-cta{background:var(--lp-navy-deep);border-radius:6px;border-top:3px solid var(--lp-red);padding:64px 56px;display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center}.lp-cta-logo{height:44px;width:auto;display:block;margin:0 0 26px}.lp-cta-body{max-width:54ch;font:400 18px/1.6 var(--lp-sans);color:#fff;text-wrap:pretty}.lp-cta .lp-list-onink{margin-top:18px}.lp-cta-fine{font:400 16px/1.5 var(--lp-sans);color:#fff}.lp-footer{border-top:1px solid var(--lp-line);background:var(--lp-bg);margin-top:var(--lp-section)}.lp-footer-inner{padding-top:32px;padding-bottom:32px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.lp-footer-logo{height:40px;width:auto;display:block}.lp-footer-links{display:flex;align-items:center;gap:24px;font:400 16px/1 var(--lp-sans);color:var(--lp-muted);flex-wrap:wrap}.lp-footer-links a,.lp-footer-signin{color:var(--lp-navy);text-decoration:none;background:none;border:0;padding:0;font:inherit;cursor:pointer}.lp-footer-links a:hover,.lp-footer-signin:hover{color:var(--lp-red)}.lp-footer-copy{color:var(--lp-muted)}.lp-footer-note{max-width:1240px;margin:0 auto;padding:0 var(--lp-gutter) 32px;font:400 16px/1.5 var(--lp-sans);color:var(--lp-muted)}@media(max-width:900px){.lp{--lp-gutter: 24px;--lp-section: 64px}.lp-h2{font-size:28px}.lp-h2-cta{font-size:30px}.lp-h2-sec{font-size:26px}.lp-header-inner{gap:16px}.lp-logo img{height:48px}.lp-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:#fff;border-bottom:1px solid var(--lp-line);padding:8px 24px 16px}.lp-nav.is-open{display:flex}.lp-nav a,.lp-nav-signin{display:block;padding:14px 0;border-bottom:1px solid var(--lp-line);font-size:16px;text-align:left}.lp-nav-signin{display:block;border-bottom:0}.lp-menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;flex:none;width:44px;height:44px;padding:0 10px;background:none;border:0;cursor:pointer}.lp-menu-toggle span{display:block;height:2px;background:var(--lp-navy);border-radius:1px}.lp-hero{grid-template-columns:1fr;gap:40px;padding-top:48px;padding-bottom:56px}.lp-step{grid-template-columns:1fr;gap:28px;padding:36px 0}.lp-step-text h3{font-size:22px}.lp-step .lp-plate{max-width:264px;margin:0 auto}.lp-caps{grid-template-columns:1fr}.lp-engine{padding:36px 24px}.lp-band-inner{padding-top:56px;padding-bottom:56px}.lp-cta{grid-template-columns:1fr;gap:32px;padding:40px 24px}.lp-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.lp-cmp{min-width:680px}.lp-cmp th.lp-c-k,.lp-cmp td.lp-c-k{position:sticky;left:0;z-index:1;background:#fff;min-width:190px}.lp-cmp thead th.lp-c-k{background:var(--lp-navy-deep)}.lp-cmp tr.lp-c-last td.lp-c-k{background:var(--lp-bg)}}@media(max-width:560px){.lp-wrap.lp-header-inner{gap:10px;padding-left:16px;padding-right:16px}.lp-header-cta{padding:0 12px;font-size:15px}.lp-h1{font-size:30px}.lp-plan{padding:24px 20px 26px}.lp-plan-n{font-size:38px}.lp-form{gap:12px}.lp-form input[type=email],.lp-form .lp-btn{flex:1 1 100%}.lp-footer-inner{justify-content:flex-start}}@media(prefers-reduced-motion:reduce){.lp *{transition:none!important}.lp{scroll-behavior:auto}}.lp-tick{display:inline-block;vertical-align:-2px}.lp-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.quote-breakdown{margin-top:var(--space-2);margin-bottom:var(--space-1)}.breakdown-toggle{display:flex;align-items:center;gap:var(--space-1);background:none;border:none;color:var(--navy-600);cursor:pointer;font-size:var(--text-base);font-weight:var(--weight-semibold);padding:var(--space-1) 0;text-align:left;letter-spacing:var(--tracking-wide);transition:color var(--duration-fast) var(--ease-out)}.breakdown-toggle:hover{color:var(--navy-800)}.toggle-icon{font-size:var(--text-base);width:12px}.breakdown-table-wrapper{margin-top:var(--space-2);overflow-x:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.breakdown-table{width:100%;border-collapse:collapse;font-size:var(--text-base);font-variant-numeric:tabular-nums}.breakdown-table th{background:var(--surface-2);color:var(--text-muted);font-weight:var(--weight-semibold);text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle);white-space:nowrap;letter-spacing:var(--tracking-wide);text-transform:uppercase}.breakdown-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle);color:var(--text-default)}.breakdown-table tbody tr:last-child td{border-bottom:none}.breakdown-table .col-price,.breakdown-table .col-qty,.breakdown-table .col-total{text-align:right;white-space:nowrap}.breakdown-table th.col-price,.breakdown-table th.col-qty,.breakdown-table th.col-total{text-align:right}.breakdown-table .col-item{min-width:140px}.breakdown-table .col-code{white-space:nowrap;color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--text-base)}.breakdown-table th.col-code{text-align:left}.breakdown-table .col-qty{width:50px}.breakdown-table tbody tr{transition:background var(--duration-fast) var(--ease-out)}.breakdown-table tbody tr:hover{background:var(--surface-2)}.breakdown-table tfoot .total-row{font-weight:var(--weight-semibold);border-top:1px solid var(--border-default)}.breakdown-table tfoot .total-row td{padding:var(--space-3);color:var(--text-strong);background:var(--surface-2)}.source-badge{display:inline-block;margin-left:var(--space-1);padding:1px var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-medium);border-radius:var(--radius-pill);background:var(--amber-50);color:var(--amber-700);vertical-align:middle;border:1px solid rgba(245,158,11,.2)}.source-badge.source-color-estimate{background:var(--navy-50);color:var(--navy-700);border-color:var(--navy-100)}.source-badge.source-panel-ratio-estimate{background:#8b5cf614;color:#5b21b6;border-color:#8b5cf633}.breakdown-table .col-why{width:32px;text-align:center;padding:var(--space-1) var(--space-2)}.breakdown-table .why-toggle{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid var(--border-default);border-radius:50%;background:var(--surface-1);color:var(--text-muted);font-size:var(--text-base);font-weight:var(--weight-bold);cursor:pointer;line-height:1;transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.breakdown-table .why-toggle:hover{color:var(--navy-700);background:var(--navy-50);border-color:var(--navy-200)}.breakdown-table .why-toggle[aria-expanded=true]{color:var(--navy-800);background:var(--navy-100);border-color:var(--navy-300)}.breakdown-table tr.why-row td{background:var(--surface-2);padding:var(--space-3) var(--space-4);border-top:1px dashed var(--border-subtle)}.breakdown-table tr.why-row .why-body{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-base);color:var(--text-default);line-height:var(--leading-snug)}.breakdown-table tr.why-row .why-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide);font-size:calc(var(--text-xs) * .9);font-weight:var(--weight-semibold)}.breakdown-table tr.why-row .why-value{color:var(--text-strong)}.breakdown-table tr.why-row .why-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}@media(max-width:480px){.breakdown-table{font-size:var(--text-base)}.breakdown-table th,.breakdown-table td{padding:var(--space-1) var(--space-2)}.breakdown-table .col-item{min-width:110px}.breakdown-table .col-why{width:28px}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-10) var(--space-6);background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);gap:var(--space-3)}.empty-state--compact{padding:var(--space-6) var(--space-4);gap:var(--space-2);border-radius:var(--radius-md)}.empty-state__icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-pill);background:var(--navy-50);color:var(--navy-700);margin-bottom:var(--space-2)}.empty-state--compact .empty-state__icon{width:40px;height:40px;margin-bottom:0}.empty-state__title{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text-strong);margin:0;letter-spacing:-.01em}.empty-state--compact .empty-state__title{font-size:var(--text-base)}.empty-state__message{font-size:var(--text-base);line-height:1.5;color:var(--text-muted);margin:0;max-width:40ch}.empty-state__action{margin-top:var(--space-3)}td .empty-state,.empty-state--inline{background:transparent;border:none;padding:var(--space-8) var(--space-4)}.contract-form{max-width:900px;margin:0 auto;padding:var(--space-4)}.contract-title{text-align:center;color:var(--text-strong);font-size:var(--text-2xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);margin-bottom:var(--space-5)}.contract-source-bar{display:flex;align-items:center;gap:var(--space-2);background:var(--navy-50);border:1px solid var(--navy-100);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;color:var(--navy-700);font-size:var(--text-base)}.import-quote-btn{background:var(--brand-primary);color:var(--text-on-dark);border:1px solid var(--brand-primary);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);min-height:36px}.import-quote-btn:hover{background:var(--brand-primary-hover);border-color:var(--brand-primary-hover);box-shadow:var(--shadow-sm)}.import-quote-btn.btn-outline{background:var(--surface-1);color:var(--brand-primary);border-color:var(--border-default)}.import-quote-btn.btn-outline:hover{background:var(--navy-50);border-color:var(--brand-primary);color:var(--brand-primary)}.saved-quote-list{max-height:400px;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-3) 0}.saved-quote-item{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);width:100%;padding:var(--space-3) var(--space-4);background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);text-align:left}.saved-quote-item:hover{background:var(--navy-50);border-color:var(--navy-200);box-shadow:var(--shadow-xs)}.sq-name{font-weight:var(--weight-semibold);font-size:var(--text-base);color:var(--text-strong)}.sq-details{font-size:var(--text-base);color:var(--text-muted)}.contract-two-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-bottom:0}.contract-col-left,.contract-col-right{margin-bottom:0}.contract-section{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-4);box-shadow:var(--shadow-sm)}.contract-section h3{color:var(--text-strong);font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);margin:0 0 var(--space-3) 0;padding-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle)}.contract-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-bottom:var(--space-2)}.contract-form .form-group{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-2)}.contract-form .form-group label{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--text-muted)}.contract-form input[type=text],.contract-form input[type=tel],.contract-form input[type=email],.contract-form input[type=number],.contract-form textarea,.contract-form select{padding:var(--space-2) var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-base);font-family:inherit;background:var(--surface-1);color:var(--text-default);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);width:100%;box-sizing:border-box}.contract-form input:focus,.contract-form textarea:focus,.contract-form select:focus{outline:none;border-color:var(--navy-600);box-shadow:var(--shadow-focus)}.contract-form textarea{resize:vertical;min-height:80px}.salesperson-select{width:100%;margin-bottom:var(--space-3)}.sp-info{font-size:var(--text-base);color:var(--text-muted);display:flex;flex-direction:column;gap:var(--space-1)}.sp-info strong{color:var(--text-strong);font-weight:var(--weight-semibold)}.sig-tabs{display:flex;gap:var(--space-1);margin-bottom:var(--space-3);padding:var(--space-1);background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:fit-content}.sig-tabs button{padding:var(--space-2) var(--space-4);border:1px solid transparent;background:transparent;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-base);font-weight:var(--weight-medium);transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.sig-tabs button:hover{color:var(--text-default)}.sig-tabs button.active{background:var(--surface-1);color:var(--text-strong);border-color:var(--border-subtle);box-shadow:var(--shadow-xs)}.canvas-container{position:relative}.drawing-canvas{width:100%;border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:crosshair;touch-action:none;background:var(--gray-50)}.sig-canvas{height:100px}.clear-btn{margin-top:var(--space-2);padding:var(--space-1) var(--space-3);border:1px solid var(--red-100);background:var(--surface-1);color:var(--danger);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-base);font-weight:var(--weight-semibold);transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.clear-btn:hover{background:var(--red-50);border-color:var(--danger)}.pricing-summary{background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3);margin-top:var(--space-2)}.contract-tax-notice{margin-top:var(--space-2);padding:var(--space-2);border:1px solid var(--warn-line, #e6d3b3);border-radius:var(--radius-sm);background:var(--warn-bg, #fdf6ec);color:var(--warn-text, #7c5310);font-size:var(--text-base);line-height:1.5}.price-line{display:flex;justify-content:space-between;padding:var(--space-1) 0;font-size:var(--text-base);color:var(--text-muted);font-variant-numeric:tabular-nums}.total-line{border-top:1px solid var(--border-subtle);margin-top:var(--space-1);padding-top:var(--space-2);font-weight:var(--weight-semibold);font-size:var(--text-lg);color:var(--text-strong);letter-spacing:var(--tracking-tight)}.dirt-options{display:flex;flex-wrap:wrap;gap:var(--space-4)}.checkbox-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-base);cursor:pointer;color:var(--text-default)}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand-primary)}.terms-list{display:flex;flex-direction:column;gap:var(--space-3)}.term-item{background:var(--surface-2);border:1px solid var(--border-subtle);padding:var(--space-3);border-radius:var(--radius-md);border-left:3px solid var(--navy-200)}.term-text{font-size:var(--text-base);line-height:var(--leading-snug);color:var(--text-default);margin-bottom:var(--space-2)}.term-number{font-weight:var(--weight-semibold);color:var(--text-strong)}.term-initials{display:flex;align-items:center;gap:var(--space-2)}.term-initials label{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--text-muted)}.initial-input{width:60px!important;text-align:center;font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);padding:var(--space-1)!important;font-size:var(--text-sm)!important}.typed-sig-input{font-family:Georgia,Times New Roman,serif!important;font-style:italic;font-size:var(--text-xl)!important;padding:var(--space-3)!important}.sig-date{margin-top:var(--space-3);font-size:var(--text-base);color:var(--text-muted)}.generate-btn{display:block;width:100%;padding:var(--space-3) var(--space-4);background:var(--brand-accent);color:var(--text-on-dark);border:1px solid var(--brand-accent);border-radius:var(--radius-md);font-size:var(--text-lg);font-weight:var(--weight-semibold);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);margin-top:var(--space-2);min-height:44px}.generate-btn:hover{background:var(--brand-accent-hover);border-color:var(--brand-accent-hover);box-shadow:var(--shadow-md)}@media(pointer:coarse){.contract-form input[type=text],.contract-form input[type=tel],.contract-form input[type=email],.contract-form input[type=number],.contract-form textarea,.contract-form select{padding:var(--space-3) var(--space-4);font-size:1rem;min-height:44px}.contract-form .form-group label{font-size:var(--text-base)}.import-quote-btn,.sig-tabs button{min-height:44px;padding:var(--space-3) var(--space-4);font-size:var(--text-base)}.clear-btn{min-height:44px;padding:var(--space-2) var(--space-4);font-size:var(--text-base)}.checkbox-label input[type=checkbox]{width:24px;height:24px}.checkbox-label{gap:var(--space-3);font-size:var(--text-base);min-height:44px}.initial-input{width:72px!important;min-height:44px;padding:var(--space-2)!important;font-size:var(--text-base)!important}.term-initials label{font-size:var(--text-base)}.term-text{font-size:var(--text-base);line-height:var(--leading-normal)}.sig-canvas{height:130px}.generate-btn{min-height:52px;padding:var(--space-4);font-size:var(--text-lg)}.saved-quote-item{padding:var(--space-4) var(--space-4);min-height:44px}.sq-name{font-size:var(--text-lg)}.sq-details{font-size:var(--text-base)}.saved-quote-list{max-height:50vh}.dirt-options{gap:var(--space-5)}.price-line{padding:var(--space-2) 0;font-size:var(--text-base)}.total-line{font-size:var(--text-lg)}.contract-section{padding:var(--space-5)}.contract-section h3{font-size:var(--text-lg)}}@media(min-width:768px)and (max-width:1024px){.contract-form{max-width:100%;padding:var(--space-4) var(--space-3)}}@media(max-width:600px){.contract-two-col,.contract-form .form-row{grid-template-columns:1fr}.dirt-options{flex-direction:column;gap:var(--space-2)}}@media(max-width:480px){.contract-form{padding:var(--space-3) var(--space-2)}.contract-title{font-size:var(--text-xl)}.contract-section{padding:var(--space-4);margin-bottom:var(--space-3)}.contract-section h3{font-size:var(--text-base)}.sig-tabs{flex-wrap:wrap;width:100%}.sig-tabs button{flex:1;text-align:center}.contract-source-bar{flex-direction:column;align-items:stretch}.import-quote-btn{width:100%;text-align:center}.price-line{font-size:var(--text-base)}.term-item{padding:var(--space-3)}.term-text,.term-initials label{font-size:var(--text-base)}.initial-input{width:52px!important}}.onboarding-checklist{position:relative;background:linear-gradient(135deg,var(--navy-50) 0%,var(--surface-1) 55%,var(--surface-1) 100%);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-4);overflow:hidden}.onboarding-checklist:before{content:"";position:absolute;top:0;left:0;bottom:0;width:4px;background:var(--brand-accent);border-top-left-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.onboarding-header{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:var(--space-5)}.onboarding-heading{display:flex;align-items:flex-start;gap:var(--space-3);min-width:0}.onboarding-heading h3{margin:0;font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--text-strong);letter-spacing:-.01em}.onboarding-heading p{margin:var(--space-1) 0 0;font-size:var(--text-base);color:var(--text-muted);line-height:1.4}.onboarding-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);background:var(--brand-accent);color:var(--text-on-dark);box-shadow:var(--shadow-sm)}.onboarding-progress-wrap{display:flex;flex-direction:column;gap:var(--space-1);min-width:160px}.onboarding-progress-label{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text-muted);letter-spacing:.03em;text-transform:uppercase;text-align:right}.onboarding-progress{width:100%;height:6px;background:var(--surface-2);border-radius:var(--radius-pill);overflow:hidden}.onboarding-progress-bar{height:100%;background:linear-gradient(90deg,var(--brand-accent),var(--brand-accent-hover));border-radius:var(--radius-pill);transition:width var(--duration-fast) var(--ease-out)}.onboarding-dismiss{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);background:transparent;border:1px solid transparent;color:var(--text-muted);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.onboarding-dismiss:hover{background:var(--surface-2);color:var(--text-strong);border-color:var(--border-default)}.onboarding-dismiss:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.onboarding-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.onboarding-step{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:var(--space-3);row-gap:var(--space-2);align-items:start;padding:var(--space-4);background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.onboarding-step:hover:not(.is-done){border-color:var(--border-strong)}.onboarding-step.is-done{background:var(--surface-2);border-color:var(--border-subtle)}.onboarding-step-icon{grid-row:1 / span 2;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-sm);background:var(--navy-50);color:var(--navy-700);border:1px solid var(--navy-100)}.onboarding-step.is-done .onboarding-step-icon{background:var(--green-500);color:var(--text-on-dark);border-color:var(--green-600)}.onboarding-step-body{min-width:0}.onboarding-step-title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text-strong);line-height:1.3}.onboarding-step.is-done .onboarding-step-title{color:var(--text-muted);text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:var(--text-subtle)}.onboarding-step-desc{margin-top:var(--space-1);font-size:var(--text-base);color:var(--text-muted);line-height:1.45}.onboarding-step.is-done .onboarding-step-desc{color:var(--text-subtle)}.onboarding-step-action{grid-column:2;display:flex;align-items:center;justify-content:flex-start;margin-top:var(--space-1)}.onboarding-step-cta{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface-1);color:var(--brand-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.onboarding-step-cta:hover{background:var(--navy-50);border-color:var(--navy-700);color:var(--navy-800)}.onboarding-step-cta:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.onboarding-step-done-label{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--green-700);background:transparent;border-radius:var(--radius-sm);letter-spacing:.04em;text-transform:uppercase}@media(max-width:900px){.onboarding-header{grid-template-columns:1fr auto;grid-template-rows:auto auto;row-gap:var(--space-3)}.onboarding-progress-wrap{grid-column:1 / span 2;min-width:0}.onboarding-progress-label{text-align:left}.onboarding-dismiss{grid-column:2;grid-row:1;justify-self:end}.onboarding-steps{grid-template-columns:1fr}}@media(max-width:480px){.onboarding-checklist{padding:var(--space-4)}.onboarding-heading h3,.onboarding-heading p{font-size:var(--text-base)}}@media(prefers-reduced-motion:reduce){.onboarding-progress-bar,.onboarding-dismiss,.onboarding-step,.onboarding-step-cta{transition:none}}.onboarding-sample{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--border-default)}.onboarding-sample-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border:1px solid var(--border-default);border-radius:6px;background:var(--surface-1);cursor:pointer;font-size:var(--text-base);font-weight:600;color:var(--text-default)}.onboarding-sample-btn:hover:not(:disabled){background:var(--bg-subtle)}.onboarding-sample-btn:disabled{background:var(--bg-subtle);color:var(--text-disabled);border-color:var(--border-default);opacity:1;cursor:default}.onboarding-sample-note{font-size:var(--text-base);color:var(--text-muted)}.onboarding-sample-error{font-size:var(--text-base);color:var(--danger-color, #b3261e)}.pricing-change-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--surface-1);color:var(--brand-primary)}.pricing-change-card svg{flex-shrink:0;color:var(--brand-accent)}.pricing-change-card__body{flex:1;min-width:0}.pricing-change-card__title{margin:0;font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text-strong)}.pricing-change-card__detail{margin:var(--space-1) 0 0;font-size:var(--text-base);color:var(--text-muted)}.pricing-change-card__review{flex-shrink:0;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--brand-primary);background:none;color:var(--brand-primary);font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;white-space:nowrap}.pricing-change-card__review:hover{background:var(--surface-2)}.pricing-change-card__dismiss{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm)}.pricing-change-card__dismiss:hover{background:var(--surface-2);color:var(--text-strong)}.dashboard{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-6) var(--space-2);max-width:1280px;margin:0 auto;width:100%}.dashboard-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-5);flex-wrap:wrap}.dashboard-greeting{font-size:var(--text-3xl);font-weight:var(--weight-bold);color:var(--text-strong);letter-spacing:-.02em;margin:0 0 var(--space-1)}.dashboard-subhead{font-size:var(--text-base);color:var(--text-muted);margin:0}.dashboard-quick-actions{display:inline-flex;gap:var(--space-2);flex-wrap:wrap}.dashboard .btn-primary,.dashboard .btn-secondary{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--weight-semibold);font-family:inherit;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.dashboard .btn-primary{background:var(--brand-accent);color:var(--text-on-dark);border:1px solid var(--brand-accent);box-shadow:var(--shadow-sm)}.dashboard .btn-primary:hover{background:var(--brand-accent-hover);border-color:var(--brand-accent-hover);box-shadow:var(--shadow-md)}.dashboard .btn-primary:focus-visible{outline:none;box-shadow:var(--shadow-focus-red)}.dashboard .btn-secondary{background:var(--surface-1);color:var(--text-strong);border:1px solid var(--border-default)}.dashboard .btn-secondary:hover{background:var(--surface-2);border-color:var(--border-strong)}.dashboard .btn-secondary:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.dashboard-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}.dashboard-stat{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-5);background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);transition:box-shadow var(--duration-fast) var(--ease-out)}.dashboard-stat:hover{box-shadow:var(--shadow-sm)}.dashboard-stat-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);background:var(--navy-50);color:var(--navy-700);margin-bottom:var(--space-2)}.dashboard-stat-label{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.dashboard-stat-value{font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--text-strong);letter-spacing:-.01em;font-variant-numeric:tabular-nums}.dashboard-stat-foot{font-size:var(--text-base);color:var(--text-muted);font-variant-numeric:tabular-nums}.dashboard-panels{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-5)}.dashboard-panel{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4);min-height:320px}.dashboard-panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.dashboard-panel-header h3{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text-strong);margin:0;letter-spacing:-.01em}.dashboard-panel-link{display:inline-flex;align-items:center;gap:var(--space-1);background:none;border:none;padding:var(--space-1) var(--space-2);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--brand-primary);cursor:pointer;font-family:inherit;border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.dashboard-panel-link:hover{color:var(--brand-primary-hover);background:var(--navy-50)}.dashboard-chart{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-3);align-items:end;height:200px;padding:var(--space-2) 0}.dashboard-chart-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:var(--space-2)}.dashboard-chart-bar{width:70%;max-width:56px;min-height:4px;background:linear-gradient(to top,var(--navy-700) 0%,var(--navy-500, var(--navy-700)) 100%);border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:transform var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.dashboard-chart-col:hover .dashboard-chart-bar{background:var(--brand-accent);transform:scaleY(1.02);transform-origin:bottom}.dashboard-chart-label{font-size:var(--text-base);color:var(--text-muted);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:.04em}.dashboard-activity{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.dashboard-activity-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-family:inherit;text-align:left;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.dashboard-activity-row:hover{background:var(--navy-50);border-color:var(--border-default)}.dashboard-activity-row:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.dashboard-activity-row:hover .dashboard-activity-chevron{transform:translate(3px)}.dashboard-activity-main{display:flex;align-items:center;gap:var(--space-2);min-width:0;flex:1 1 auto;flex-wrap:wrap}.dashboard-activity-name{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:24ch}.dashboard-activity-meta{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-base);color:var(--text-muted);font-variant-numeric:tabular-nums}.dashboard-activity-amount{font-weight:var(--weight-semibold);color:var(--text-strong)}.dashboard-activity-date{font-size:var(--text-base);color:var(--text-subtle)}.dashboard-activity-chevron{color:var(--text-muted);transition:transform var(--duration-fast) var(--ease-out)}.dashboard-pill{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.02em;white-space:nowrap;border:1px solid transparent}.dashboard-pill--surface{background:var(--surface-2);color:var(--text-muted);border-color:var(--border-subtle)}.dashboard-pill--muted{background:var(--gray-100);color:var(--text-muted);border-color:var(--gray-200)}.dashboard-pill--navy{background:var(--navy-50);color:var(--navy-700);border-color:var(--navy-100, var(--navy-50))}.dashboard-pill--green{background:var(--green-50);color:var(--green-700);border-color:var(--green-50)}.dashboard-pill--amber{background:var(--amber-50);color:var(--amber-700);border-color:var(--amber-50)}@media(max-width:1024px){.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.dashboard-panels{grid-template-columns:1fr}.dashboard-panel{min-height:auto}.dashboard-chart{height:160px}}@media(max-width:600px){.dashboard-stats{grid-template-columns:1fr}.dashboard-greeting{font-size:var(--text-2xl)}.dashboard-header{align-items:flex-start}.dashboard-activity-row{flex-wrap:wrap}}@media(hover:none){.dashboard-activity-row{border-color:var(--border-default)}.dashboard-activity-row:hover{background:var(--surface-1);border-color:var(--border-default)}}@media(pointer:coarse){.dashboard-activity-row{min-height:48px}.dashboard .btn-primary,.dashboard .btn-secondary{min-height:44px}}@media(prefers-reduced-motion:reduce){.dashboard-activity-row,.dashboard-chart-bar,.dashboard-activity-chevron,.dashboard .btn-primary,.dashboard .btn-secondary{transition:none}.dashboard-chart-col:hover .dashboard-chart-bar,.dashboard-activity-row:hover .dashboard-activity-chevron{transform:none}}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:var(--surface-1);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100;display:flex;flex-direction:column;border-bottom:1px solid var(--border-subtle)}.billing-banner{background:var(--amber-50);color:var(--warning);border-bottom:1px solid var(--amber-500);padding:var(--space-2) var(--space-4);text-align:center;font-size:.875rem;font-weight:500;position:sticky;top:0;z-index:101}.billing-banner--info{background:var(--bg-subtle);color:var(--text-default);border-bottom-color:var(--border-default)}.billing-banner--stop{background:var(--red-50, var(--amber-50));color:var(--danger, var(--warning));border-bottom-color:var(--danger, var(--amber-500))}.header-top{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-5);gap:var(--space-4)}.logo-container{flex-shrink:0;display:flex;align-items:center}.app-logo{height:36px;width:auto;display:block;object-fit:contain}@media(min-width:768px){.app-logo{height:40px}}.header-top-right{display:flex;align-items:center;gap:var(--space-2)}.user-chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3) var(--space-1) var(--space-1);border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--border-subtle)}.user-chip__avatar{width:28px;height:28px;border-radius:var(--radius-pill);background:linear-gradient(135deg,var(--navy-700),var(--navy-500));color:var(--text-on-dark);display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.02em;flex-shrink:0}.user-chip__name{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-default);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logged-in-user{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-muted)}@media(max-width:480px){.user-chip__name{display:none}.user-chip{padding:var(--space-1)}}.logout-btn{padding:var(--space-2) var(--space-3);font-size:var(--text-base);font-weight:var(--weight-semibold);border:1px solid var(--border-subtle);background:var(--surface-1);color:var(--text-muted);border-radius:var(--radius-md);cursor:pointer;transition:color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out);min-height:36px;line-height:1}.logout-btn:hover{color:var(--danger);border-color:var(--red-100);background:var(--red-50)}.logout-btn:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-color:var(--navy-600)}.header-chat-btn{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-1);color:var(--navy-600);cursor:pointer;transition:background .12s,border-color .12s}.header-chat-btn:hover,.header-chat-btn[aria-expanded=true]{background:var(--navy-50);border-color:var(--navy-600)}.header-chat-btn:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-color:var(--navy-600)}.header-bottom{display:flex;align-items:center;justify-content:center;padding:0 var(--space-5);background:var(--surface-1);position:relative}.main-nav{display:flex;gap:var(--space-1);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;width:100%;max-width:var(--content-max);padding:0;margin:0}.main-nav::-webkit-scrollbar{display:none}@media(max-width:600px){.header-bottom:after{content:"";position:absolute;right:0;top:0;bottom:0;width:32px;background:linear-gradient(to right,transparent,var(--surface-1));pointer-events:none;z-index:2}}.main-nav button{position:relative;padding:var(--space-3) var(--space-4);border:none;background:transparent;color:var(--text-muted);font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;transition:color var(--duration-fast) var(--ease-out);min-height:44px;flex-shrink:0;white-space:nowrap;border-radius:0;border-bottom:2px solid transparent;margin-bottom:-1px}.main-nav button:hover{color:var(--text-strong)}.main-nav button.active{color:var(--brand-primary);border-bottom-color:var(--brand-primary)}.main-nav button:focus-visible{outline:none;color:var(--text-strong);box-shadow:inset 0 0 0 2px var(--navy-600);border-radius:var(--radius-sm)}.sub-tabs{display:inline-flex;gap:2px;background:var(--surface-2);border-radius:var(--radius-lg);padding:4px;margin-bottom:var(--space-5);border:1px solid var(--border-subtle);width:fit-content}.sub-tab{padding:var(--space-2) var(--space-4);border:none;background:transparent;color:var(--text-muted);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-base);font-weight:var(--weight-semibold);transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out);min-height:36px;white-space:nowrap}.sub-tab:hover{color:var(--text-strong)}.sub-tab.active{background:var(--surface-1);color:var(--text-strong);box-shadow:var(--shadow-xs)}@media(max-width:480px){.sub-tabs{width:100%}.sub-tab{flex:1;text-align:center;padding:var(--space-2) var(--space-3);font-size:var(--text-base)}}.app-main{flex:1;padding:var(--space-6) var(--space-5);max-width:var(--content-max);margin:0 auto;width:100%}.app-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-app);gap:var(--space-5)}.app-loading img{max-width:160px;opacity:.9;animation:appLogoPulse 2.4s var(--ease-in-out) infinite}.app-loading-spinner{width:28px;height:28px;border-radius:50%;border:2px solid var(--border-subtle);border-top-color:var(--brand-primary);animation:appSpin .9s linear infinite}.app-loading p{color:var(--text-muted);font-size:var(--text-base);letter-spacing:var(--tracking-wide)}@keyframes appLogoPulse{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}@keyframes appSpin{to{transform:rotate(360deg)}}.skeleton-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skeleton,.skeleton-line,.skeleton-block,.skeleton-circle{position:relative;overflow:hidden;background:var(--gray-100);border-radius:var(--radius-md)}.skeleton:after,.skeleton-line:after,.skeleton-block:after,.skeleton-circle:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.55) 50%,transparent 100%);animation:skeletonShimmer 1.4s ease-in-out infinite}@keyframes skeletonShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skeleton-line{height:.875rem}.skeleton-line.sk-xs{height:.625rem}.skeleton-line.sk-sm{height:.75rem}.skeleton-line.sk-lg{height:1.125rem}.skeleton-line.sk-xl{height:1.5rem}.skeleton-circle{border-radius:var(--radius-pill)}.skeleton-screen{padding:var(--space-6);max-width:var(--content-max);margin:0 auto;width:100%}.skeleton-card{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:var(--space-3)}.skeleton-row{display:flex;align-items:center;gap:var(--space-3)}.skeleton-grid{display:grid;gap:var(--space-4)}.skeleton-grid.cols-2{grid-template-columns:1fr 1fr}.skeleton-grid.cols-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:768px){.skeleton-grid.cols-2,.skeleton-grid.cols-3{grid-template-columns:1fr}}.skeleton-table{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-xs)}.skeleton-table-row{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;gap:var(--space-4)}.skeleton-table-row:last-child{border-bottom:none}@media(prefers-reduced-motion:reduce){.skeleton:after,.skeleton-line:after,.skeleton-block:after,.skeleton-circle:after{animation:none}.app-loading img{animation:none;opacity:1}.app-loading-spinner{animation:none;border-top-color:var(--border-default)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);min-height:40px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--text-default);font-family:inherit;font-size:var(--text-base);font-weight:var(--weight-semibold);line-height:1;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.btn:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-color:var(--navy-600)}.btn:disabled{background:var(--bg-subtle);color:var(--text-disabled);border-color:var(--border-default);box-shadow:none;opacity:1;cursor:not-allowed}.btn--primary{background:var(--brand-accent);color:var(--text-on-dark);border-color:var(--brand-accent);box-shadow:var(--shadow-xs)}.btn--primary:hover:not(:disabled){background:var(--brand-accent-hover);border-color:var(--brand-accent-hover);box-shadow:var(--shadow-sm)}.btn--primary:active:not(:disabled){transform:translateY(1px);box-shadow:none}.btn--secondary{background:var(--surface-1);color:var(--text-default);border-color:var(--border-default)}.btn--secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong)}.btn--ghost{background:transparent;color:var(--text-muted)}.btn--ghost:hover:not(:disabled){color:var(--text-strong);background:var(--surface-2)}.btn--navy{background:var(--brand-primary);color:var(--text-on-dark);border-color:var(--brand-primary)}.btn--navy:hover:not(:disabled){background:var(--brand-primary-hover);border-color:var(--brand-primary-hover);box-shadow:var(--shadow-sm)}.btn--danger{background:var(--surface-1);color:var(--danger);border-color:var(--red-100)}.btn--danger:hover:not(:disabled){background:var(--red-50);border-color:var(--danger)}.btn--sm{min-height:32px;padding:var(--space-1) var(--space-3);font-size:var(--text-base)}.btn--lg{min-height:48px;padding:var(--space-3) var(--space-5);font-size:var(--text-md)}.btn--block{width:100%}@media(max-width:768px){.app-logo{height:32px}.header-top{padding:.375rem .75rem}.header-bottom{padding:.5rem .75rem}.main-nav button{padding:.5rem .75rem;font-size:.9rem}.logged-in-user{font-size:var(--text-base);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn{padding:.375rem .75rem;font-size:var(--text-base)}}@media(max-width:480px){.app-logo{height:28px}.header-top{padding:.25rem .5rem}.header-bottom{padding:.375rem .5rem}.header-top-right{gap:.5rem}.app-main{padding:.5rem}.main-nav{gap:.35rem;justify-content:center}.main-nav button{padding:.4rem .625rem;font-size:var(--text-base)}.main-nav button span{display:none}.fence-type-grid,.form-grid,.form-row,.form-row-3{grid-template-columns:1fr}.modal{max-width:100%;margin:.5rem;padding:1.25rem}.modal.modal-large{max-width:100%}.history-actions{gap:.35rem}.history-actions .btn-secondary,.history-actions .btn-edit,.history-actions .btn-danger,.history-actions .btn-contract{padding:.4rem .625rem;font-size:var(--text-base);min-height:40px}.history-actions select{font-size:var(--text-base);min-height:40px;padding:.4rem .5rem}.history-header{flex-direction:column;gap:.25rem}.history-meta{text-align:left}.history-details{flex-direction:column;align-items:flex-start;gap:.5rem}}.mode-selector{margin-bottom:var(--space-6)}.mode-selector-label{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text-strong);margin-bottom:var(--space-3)}.mode-toggle{display:flex;gap:var(--space-3)}.mode-btn{flex:1;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-1);box-shadow:var(--shadow-xs);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);text-align:left;min-height:64px}.mode-btn:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.mode-btn.active{border-color:var(--navy-600);background:var(--navy-50);box-shadow:0 0 0 1px var(--navy-600),var(--shadow-sm)}.mode-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);background:var(--surface-2);color:var(--navy-600);transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.mode-btn.active .mode-icon{background:var(--navy-50);color:var(--navy-700)}.mode-text{display:flex;flex-direction:column;gap:.125rem}.mode-text strong{font-size:1rem;color:var(--text-primary);font-weight:700}.mode-text small{font-size:var(--text-base);color:var(--text-secondary);font-weight:500}@media(max-width:480px){.mode-toggle{flex-direction:column;gap:.5rem}.mode-btn{padding:.875rem}}.map-reference-section{margin-bottom:1.25rem}.map-reference-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-1);box-shadow:var(--shadow-xs);cursor:pointer;font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text-default);transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);min-height:44px}.map-reference-toggle:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.toggle-chevron{color:var(--text-muted);display:inline-flex;align-items:center}.map-reference-label{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text-strong);font-weight:var(--weight-medium)}.map-reference-content{margin-top:.5rem;border-radius:10px;overflow:hidden}.leaflet-container{z-index:1!important;position:relative}.map-post-marker{background:none!important;border:none!important;box-shadow:none!important}.map-distance-label{background:#0e1a34!important;color:#fff!important;border:none!important;border-radius:4px!important;padding:3px 7px!important;font-size:.875rem!important;font-weight:700!important;box-shadow:0 1px 4px #0000004d!important;white-space:nowrap!important}.map-distance-label:before{display:none!important}.fence-type-selector{margin-bottom:1.5rem}.fence-type-selector h2{font-size:var(--text-lg);font-weight:var(--weight-semibold);margin-bottom:.625rem}.selector-hint{color:var(--text-secondary);font-size:1rem;margin-bottom:1rem}.fence-type-group{margin-bottom:1.25rem}.fence-type-group:last-child{margin-bottom:0}.fence-type-group-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:.5rem}.fence-type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.fence-type-card{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-xs);transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out);display:flex;align-items:center;justify-content:space-between;position:relative}.fence-type-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.fence-type-card.selected{border-color:var(--navy-600);background:var(--navy-50);box-shadow:0 0 0 1px var(--navy-600),var(--shadow-sm)}.fence-type-card h3{font-size:var(--text-lg);font-weight:var(--weight-semibold);margin-bottom:0;white-space:nowrap;color:var(--text-strong)}.quantity-control{display:flex;align-items:center;justify-content:center;gap:.5rem}.qty-btn{width:36px;height:36px;border:1px solid var(--border-default);background:var(--surface-1);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--text-default);display:flex;align-items:center;justify-content:center;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out);line-height:1}.qty-btn:hover:not(:disabled){background:var(--navy-50);color:var(--brand-primary);border-color:var(--navy-600)}.qty-btn:disabled{background:var(--bg-subtle);color:var(--text-disabled);border-color:var(--border-default);opacity:1;cursor:not-allowed}.qty-btn-add{background:var(--brand-accent);color:var(--text-on-dark);border-color:var(--brand-accent)}.qty-btn-add:hover:not(:disabled){background:var(--brand-accent-hover);border-color:var(--brand-accent-hover);color:var(--text-on-dark)}.qty-input{width:48px;height:36px;text-align:center;border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--text-strong);-moz-appearance:textfield;font-variant-numeric:tabular-nums}.qty-input::-webkit-inner-spin-button,.qty-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.qty-input:focus{outline:none;border-color:var(--navy-600);box-shadow:var(--shadow-focus)}.fence-type-card.selected .qty-input{border-color:var(--navy-600);background:var(--surface-1)}.gate-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.gate-row label{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--text-muted);margin-bottom:0;white-space:nowrap}.quote-builder .form-section h4,.quote-builder .form-group label,.quote-builder .form-group input,.quote-builder .form-group select,.quote-builder .currency-input input,.quote-builder .currency-symbol,.quote-builder .checkbox-group label{font-size:var(--text-lg);font-weight:var(--weight-semibold)}.forms-and-summary{display:flex;flex-direction:column;gap:1.5rem}@media(min-width:1024px){.forms-and-summary{flex-direction:row}.fence-forms{flex:1}.summary-sidebar{width:400px;position:sticky;top:100px;align-self:flex-start}}.fence-form{background:var(--surface-1);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-5);box-shadow:var(--shadow-sm);border:1px solid var(--border-subtle)}.fence-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle)}.fence-form-header h3{font-size:var(--text-lg);color:var(--text-strong);margin:0;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight)}.fence-form-delete{background:none;border:none;cursor:pointer;padding:4px 6px;border-radius:4px;color:var(--text-muted);min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;line-height:1;transition:color .15s,background .15s}.fence-form-delete:hover{color:var(--red-700);background:#e53e3e14}.fence-form h3{font-size:var(--text-lg);color:var(--text-strong);margin-bottom:var(--space-5);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight)}.form-section{margin-bottom:1.5rem}.form-section h4{font-size:var(--text-base);color:var(--text-muted);margin-bottom:var(--space-3);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-normal);text-transform:none}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.875rem}@media(min-width:768px){.form-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1024px){.form-grid{grid-template-columns:repeat(4,1fr)}}.currency-input{display:flex;align-items:center;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-1);overflow:hidden;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.currency-input:focus-within{border-color:var(--navy-600);box-shadow:var(--shadow-focus)}.currency-symbol{padding:var(--space-3) var(--space-2) var(--space-3) var(--space-3);background:var(--surface-2);color:var(--text-muted);font-weight:var(--weight-semibold);font-size:var(--text-base);border-right:1px solid var(--border-subtle)}.currency-input input{flex:1;border:none;padding:var(--space-3);font-size:var(--text-base);background:transparent;font-variant-numeric:tabular-nums}.currency-input input:focus{outline:none;box-shadow:none}.form-group{display:flex;flex-direction:column}.form-group label{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--text-muted);margin-bottom:var(--space-2)}.form-group input,.form-group select{padding:var(--space-3);border:1px solid var(--gray-400);border-radius:var(--radius-md);font-size:var(--text-lg);background:var(--surface-1);min-height:44px}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--navy-600);box-shadow:var(--shadow-focus)}.form-group input[type=number]{-moz-appearance:textfield}.form-group input[type=number]::-webkit-inner-spin-button,.form-group input[type=number]::-webkit-outer-spin-button{opacity:1}.form-group .label-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.form-group .link-btn{background:none;border:none;padding:0;margin-bottom:var(--space-2);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--navy-600);cursor:pointer;text-decoration:underline}.form-group .link-btn:hover{color:var(--navy-700)}.form-group .field-hint{margin-top:var(--space-1);font-size:var(--text-base);color:var(--text-muted)}.checkbox-group{flex-direction:row;align-items:center}.checkbox-group label{display:flex;align-items:center;gap:.625rem;cursor:pointer;font-size:1rem;color:var(--text-primary);font-weight:500}.checkbox-group input[type=checkbox]{width:22px;height:22px}.quote-summary{background:var(--surface-1);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);border:1px solid var(--border-subtle)}.quote-summary h2{font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--text-strong);letter-spacing:var(--tracking-tight);margin-bottom:var(--space-4)}.no-quotes{color:var(--text-muted);font-size:var(--text-base);text-align:center;padding:var(--space-8) var(--space-4)}.fence-quote-item{padding:var(--space-4) 0;border-bottom:1px solid var(--border-subtle)}.fence-quote-item:last-child{border-bottom:none}.fence-quote-item h4{font-size:var(--text-base);color:var(--text-strong);margin-bottom:var(--space-2);font-weight:var(--weight-semibold)}.quote-line{display:flex;justify-content:space-between;font-size:var(--text-base);color:var(--text-default);padding:var(--space-1) 0}.quote-line.subtotal{font-weight:var(--weight-semibold);color:var(--text-strong);border-top:1px solid var(--border-subtle);margin-top:var(--space-2);padding-top:var(--space-3)}.quote-line.cost-per-foot{font-size:var(--text-base);color:var(--text-muted)}.grand-total{padding-top:var(--space-4)}.grand-total h3{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--text-muted);margin-bottom:var(--space-2);letter-spacing:var(--tracking-normal);text-transform:none}.quote-line.total{font-size:var(--text-3xl);font-weight:var(--weight-bold);color:var(--brand-primary);letter-spacing:var(--tracking-tight);border-top:1px solid var(--border-default);margin-top:var(--space-3);padding-top:var(--space-4)}.save-quote-btn{width:100%;padding:var(--space-4);margin-top:var(--space-5);background:var(--brand-accent);color:var(--text-on-dark);border:1px solid var(--brand-accent);border-radius:var(--radius-md);font-size:var(--text-md);font-weight:var(--weight-semibold);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out);text-transform:none;letter-spacing:var(--tracking-normal);min-height:48px;box-shadow:var(--shadow-xs)}.save-quote-btn:hover{background:var(--brand-accent-hover);border-color:var(--brand-accent-hover);box-shadow:var(--shadow-sm)}.save-quote-btn:active{transform:translateY(1px);box-shadow:none}.save-quote-btn:focus-visible{outline:none;box-shadow:var(--shadow-focus-red)}.quote-actions{display:flex;flex-direction:column;gap:var(--space-2)}.material-list-split{position:relative}.material-list-btn{width:100%;padding:var(--space-3) var(--space-4);background:var(--surface-1);color:var(--brand-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer}.material-list-btn:hover{background:var(--surface-2)}.material-list-menu{position:absolute;bottom:calc(100% + 4px);left:0;right:0;display:flex;flex-direction:column;background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;z-index:5}.material-list-menu button{padding:var(--space-3) var(--space-4);background:none;border:none;text-align:left;font-size:var(--text-base);cursor:pointer}.material-list-menu button:hover{background:var(--surface-2)}.po-dialog{margin-top:var(--space-3);padding:var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-1);display:flex;flex-direction:column;gap:var(--space-3)}.po-dialog h4{margin:0;font-size:var(--text-md)}.po-dialog label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-base)}.po-dialog input[type=text]{padding:var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-sm)}.po-dialog-checkbox{flex-direction:row!important;align-items:center}.po-dialog-note{margin:0;font-size:var(--text-base);color:var(--text-secondary)}.po-dialog-actions{display:flex;gap:var(--space-2);justify-content:flex-end}.po-dialog-cancel,.po-dialog-download{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer}.po-dialog-cancel{background:none;border:1px solid var(--border-default);color:var(--text-secondary)}.po-dialog-download{background:var(--brand-accent);border:1px solid var(--brand-accent);color:var(--text-on-dark)}.po-dialog-download:hover{background:var(--brand-accent-hover)}.quote-history{background:var(--surface-1);border-radius:var(--radius-lg);padding:var(--space-6);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm)}.history-header-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5)}.quote-history h2{font-size:var(--text-2xl);font-weight:var(--weight-semibold);color:var(--text-strong);letter-spacing:var(--tracking-tight);margin:0}.history-meta-bar{display:flex;align-items:center;gap:var(--space-3)}.history-count{font-size:var(--text-base);color:var(--text-muted);font-weight:var(--weight-medium)}.sync-status{font-size:var(--text-base);padding:2px 8px;border-radius:var(--radius-pill);font-weight:var(--weight-medium)}.sync-status.synced{background:#e8f5e9;color:#2e7d32}.sync-status.syncing{background:#fff3e0;color:#e65100}.sync-status.local{background:#f3f4f6;color:var(--text-muted)}.sync-status.error{background:#fce4ec;color:#c62828}.sort-controls{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap}.sort-label{font-size:var(--text-base);color:var(--text-muted);font-weight:var(--weight-medium);margin-right:var(--space-1)}.sort-btn{padding:var(--space-2) var(--space-3);font-size:var(--text-base);font-weight:var(--weight-semibold);border:1px solid var(--border-subtle);background:var(--surface-1);color:var(--text-muted);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out);min-height:32px}.sort-btn:hover{border-color:var(--border-strong);color:var(--text-strong)}.sort-btn.active{background:var(--navy-50);color:var(--brand-primary);border-color:var(--navy-600)}.sort-arrow{font-weight:700}.no-history{color:var(--text-secondary);text-align:center;padding:2rem;font-size:1.1rem}.history-list{display:flex;flex-direction:column;gap:1rem}.history-item{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);background:var(--surface-1);box-shadow:var(--shadow-xs);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.history-item:hover{border-color:var(--border-default);box-shadow:var(--shadow-sm)}.history-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.history-customer strong{display:block;font-size:var(--text-lg);font-weight:var(--weight-semibold);margin-bottom:var(--space-1);color:var(--text-strong);letter-spacing:var(--tracking-tight)}.history-customer .customer-detail{display:inline;font-size:var(--text-base);color:#9ca3af;margin-left:.5rem}.history-customer .phone{font-size:.9rem;color:var(--text-secondary)}.history-meta{text-align:right}.history-address{font-size:var(--text-base);color:#9ca3af;margin-bottom:.5rem;padding-left:0}.history-date{display:block;font-size:.9rem;color:var(--text-secondary);font-weight:500}.history-salesman{display:block;font-size:.9rem;color:var(--primary-color);font-weight:700}.history-details{display:flex;justify-content:space-between;align-items:center}.fence-types{display:flex;gap:.5rem;flex-wrap:wrap}.fence-type-tag{background:var(--navy-50);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--brand-primary);border:1px solid var(--navy-100)}.history-total{font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--text-strong);letter-spacing:var(--tracking-tight);white-space:nowrap}.history-notes{margin-top:.75rem;font-size:1rem;color:var(--text-secondary);font-style:italic}.history-actions{margin-top:.5rem;padding-top:.5rem;border-top:1px solid #eef0f3;display:flex;gap:.375rem;flex-wrap:wrap;align-items:center}.history-actions button{font-size:var(--text-base);padding:.35rem .75rem;min-height:32px}.history-actions .btn-danger{color:var(--danger-color);border-color:var(--danger-color)}.history-actions .btn-danger:hover{background:var(--danger-color);color:#fff}.history-actions .btn-contract{color:#fff;background:var(--primary-color);border-color:var(--primary-color);font-weight:700}.history-actions .btn-contract:hover{background:#152d4a;border-color:#152d4a;color:#fff}.history-actions .btn-edit{color:var(--primary-color);border-color:var(--primary-color);font-weight:600}.history-actions .btn-edit:hover{background:var(--primary-color);color:#fff}.quote-actions-desktop{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.quote-actions-mobile{display:none;position:relative}.overflow-toggle{border-radius:6px!important}.overflow-menu{position:absolute;right:0;top:calc(100% + 4px);background:#fff;border:1px solid #dde2e8;border-radius:8px;box-shadow:0 4px 16px #00000026;z-index:50;min-width:180px;padding:.35rem 0}.overflow-menu-item{display:block;width:100%;padding:.6rem 1rem;text-align:left;background:none;border:none;font-size:var(--text-base);font-weight:600;color:#374151;cursor:pointer;font-family:inherit}.overflow-menu-item:hover{background:#f0f3f7}.overflow-menu-item.btn-danger{color:var(--danger-color)}.overflow-menu-item.btn-contract{color:var(--primary-color);font-weight:700}.overflow-menu-item.btn-edit{color:var(--primary-color)}@media(max-width:600px){.quote-actions-desktop{display:none}.quote-actions-mobile{display:block}}.btn-primary{padding:var(--space-3) var(--space-4);background:var(--brand-accent);color:var(--text-on-dark);border:1px solid var(--brand-accent);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-base);font-weight:var(--weight-semibold);transition:background var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);min-height:40px;box-shadow:var(--shadow-xs)}.btn-primary:hover{background:var(--brand-accent-hover);border-color:var(--brand-accent-hover);box-shadow:var(--shadow-sm)}.btn-secondary{padding:var(--space-3) var(--space-4);background:var(--surface-1);color:var(--text-default);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-base);font-weight:var(--weight-semibold);transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out);min-height:40px}.btn-secondary:hover{background:var(--surface-2);border-color:var(--border-strong)}.modal-overlay{position:fixed;inset:0;background:#0f131c8c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--space-4);z-index:1000;animation:modalFadeIn var(--duration-medium) var(--ease-out)}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface-1);border-radius:var(--radius-xl);padding:var(--space-6);width:100%;max-width:440px;max-height:90vh;overflow-y:auto;border:1px solid var(--border-subtle);box-shadow:var(--shadow-xl);animation:modalSlideIn var(--duration-medium) var(--ease-out)}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal.modal-large{max-width:580px}.modal h3{font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--text-strong);letter-spacing:var(--tracking-tight);margin-bottom:var(--space-2)}.modal-subtitle{font-size:var(--text-base);color:var(--text-muted);margin-bottom:var(--space-5)}.modal .form-group{margin-bottom:1.125rem}.modal .form-group label{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.375rem;display:block}.modal .form-group input,.modal .form-group select{width:100%;padding:var(--space-3);border:1px solid var(--gray-400);border-radius:var(--radius-md);font-size:var(--text-lg);transition:border-color var(--duration-fast),box-shadow var(--duration-fast);min-height:44px}.modal .form-group input:focus,.modal .form-group select:focus{outline:none;border-color:var(--navy-600);box-shadow:var(--shadow-focus)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-row-3{grid-template-columns:2fr 1fr 1fr}@media(max-width:480px){.form-row,.form-row-3{grid-template-columns:1fr}}.modal textarea{width:100%;padding:var(--space-3);border:1px solid var(--gray-400);border-radius:var(--radius-md);font-size:var(--text-base);font-family:inherit;resize:vertical;transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.modal textarea:focus{outline:none;border-color:var(--navy-600);box-shadow:var(--shadow-focus)}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.pricing-warnings{margin-top:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--amber-50);border:1px solid #fcd34d;border-radius:var(--radius-md)}.pricing-warning{font-size:var(--text-base);color:var(--warning);padding:var(--space-1) 0;line-height:var(--leading-snug);font-weight:var(--weight-medium)}.pricing-warning+.pricing-warning{border-top:1px solid #fde68a;margin-top:var(--space-1);padding-top:var(--space-2)}.sanity-warnings{margin-bottom:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.sanity-warning{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-base);line-height:var(--leading-snug)}.sanity-warning.sanity-warn{background:var(--amber-50, #fffbeb);border:1px solid #fcd34d;color:var(--warning, #92400e);font-weight:var(--weight-medium)}.sanity-warning.sanity-info{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}.sanity-warning .sanity-icon{flex-shrink:0;font-size:1rem;line-height:1.25}@media(min-width:768px)and (max-width:1024px){.app-main{padding:1rem .75rem}.fence-type-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.fence-type-card{padding:.75rem 1rem}.form-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.history-actions{gap:.625rem}.modal{max-width:520px}.modal.modal-large{max-width:640px}}@media(pointer:coarse){.qty-btn{width:44px;height:44px;font-size:1.375rem}.qty-input{width:56px;height:44px;font-size:1.125rem}.sort-btn{min-height:44px;padding:.5rem 1rem;font-size:.95rem}.fence-form-delete{padding:.5rem .625rem;font-size:1.25rem;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.checkbox-group input[type=checkbox]{width:24px;height:24px}.checkbox-group label{gap:.75rem;min-height:44px}.form-group input,.form-group select{padding:.75rem;font-size:1rem;min-height:var(--field-height-mobile)}.btn-primary,.btn-secondary{min-height:48px;padding:.75rem 1.25rem}.history-item{padding:1.25rem}.history-actions .btn-secondary,.history-actions .btn-edit,.history-actions .btn-danger,.history-actions .btn-contract{min-height:44px;padding:.625rem 1rem;font-size:.9rem}.history-actions select{min-height:44px;padding:.5rem .75rem;font-size:.9rem}.fence-type-tag{padding:.5rem .75rem;font-size:.9rem}.save-quote-btn{min-height:56px;font-size:1.125rem}.modal-actions .btn-primary,.modal-actions .btn-secondary{min-height:48px;padding:.75rem 1.5rem}.saved-quote-item{padding:1rem 1.25rem;min-height:44px}}@media(max-width:640px){.fence-type-grid,.form-grid{grid-template-columns:1fr}}.toast{position:fixed;top:1rem;left:50%;transform:translate(-50%);z-index:9999;display:flex;align-items:center;gap:.625rem;padding:.75rem 1.25rem;border-radius:10px;font-size:.95rem;font-weight:600;box-shadow:0 4px 20px #0003;cursor:pointer;animation:toastSlideIn .3s ease-out;max-width:90vw}@keyframes toastSlideIn{0%{opacity:0;transform:translate(-50%) translateY(-1rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}.toast-success{background:#16a34a;color:#fff}.toast-error{background:#b91c1c;color:#fff}.toast-info{background:var(--primary-color);color:#fff}.toast-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#fff3;color:var(--text-on-dark);flex-shrink:0}.toast-message{line-height:1.3}.sticky-total-bar{position:fixed;bottom:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-5);background:var(--brand-primary);color:var(--text-on-dark);box-shadow:0 -8px 32px #0f131c40;border-top:1px solid var(--navy-900);animation:stickySlideUp var(--duration-slow) var(--ease-out)}@keyframes stickySlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sticky-total-amount{display:flex;flex-direction:column;gap:2px}.sticky-total-label{font-size:var(--text-base);font-weight:var(--weight-medium);opacity:.78;letter-spacing:var(--tracking-normal);text-transform:none}.sticky-total-value{font-size:var(--text-3xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums}.sticky-save-btn{padding:var(--space-3) var(--space-5);background:var(--brand-accent);color:var(--text-on-dark);border:1px solid var(--brand-accent);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;min-height:44px;box-shadow:var(--shadow-sm);transition:background var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.sticky-save-btn:hover{background:var(--brand-accent-hover);border-color:var(--brand-accent-hover)}.sticky-save-btn:active{transform:translateY(1px)}@media(max-width:480px){.sticky-total-bar{padding:.625rem 1rem}.sticky-total-value{font-size:1.25rem}.sticky-save-btn{padding:.625rem 1.25rem;font-size:.9rem}}.quote-builder .forms-and-summary{padding-bottom:80px}.admin-actions{display:flex;gap:.5rem;margin-bottom:1rem}.error-boundary-fallback{padding:1.5rem;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;color:#856404;font-size:.9rem;display:flex;align-items:center;gap:1rem}.error-boundary-retry{background:#856404;color:#fff;border:none;border-radius:6px;padding:.3rem .8rem;cursor:pointer;font-size:var(--text-base);white-space:nowrap}.job-address-section{background:#f8fafc;border:1px solid #dde3ec;border-radius:8px;padding:1rem 1.25rem .75rem;margin-bottom:1rem}.job-address-fields{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.job-address-fields .form-group{margin-bottom:0;flex:1;min-width:100px}.job-address-fields .form-group:nth-child(1){flex:2.5;min-width:180px}.job-address-fields .form-group:nth-child(2){flex:1.5;min-width:140px}.job-address-fields .form-group:nth-child(3){flex:.6;min-width:70px}.job-address-fields .form-group:nth-child(4){flex:1;min-width:100px}.jurisdiction-result-panel{margin-top:.75rem;padding-top:.65rem;border-top:1px solid #dde3ec}.jurisdiction-muni{font-size:.88rem;font-weight:700;color:#1e3a5f;margin-bottom:.4rem}.jurisdiction-details{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.4rem}.permit-pill{display:inline-block;font-size:var(--text-base);font-weight:600;border-radius:12px;padding:.2rem .7rem}.permit-pill.required{background:#fff3cd;border:1px solid #ffc107;color:#7a5000}.permit-pill.clear{background:#d4edda;border:1px solid #5cb85c;color:#155724}.jurisdiction-unconfirmed{font-size:var(--text-base);font-weight:500;color:#856404;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:.3rem .7rem;margin-bottom:.35rem}.jurisdiction-unknown{font-size:var(--text-base);font-weight:500;color:#721c24;background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;padding:.3rem .7rem;margin-bottom:.35rem}.jurisdiction-meta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.25rem}.jurisdiction-phone{font-size:var(--text-base);color:#456}.jurisdiction-link{font-size:var(--text-base);color:#1e3a5f;text-decoration:underline}.jurisdiction-notes{font-size:var(--text-base);color:#678;font-style:italic;margin-top:.3rem}.jurisdiction-table{width:100%;border-collapse:collapse;margin-bottom:.4rem}.jurisdiction-table td{padding:.2rem .5rem .2rem 0;font-size:var(--text-base);vertical-align:middle}.jt-label{color:#667;font-weight:500;width:6rem;white-space:nowrap}.jt-value{font-weight:600;color:#1e3a5f}.jt-yes{color:#b45309}.jt-no{color:#155724}.jt-unknown{color:#856404}.material-editor{max-height:70vh;overflow-y:auto}.material-editor-section{margin:.75rem 0;display:flex;flex-direction:column;gap:.3rem}.material-editor-section>strong{font-size:var(--text-base);color:var(--navy-900, #1e3a5f)}.material-editor-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:var(--text-base)}.material-editor-row span.is-edited{font-weight:600}.material-editor-row span.is-edited:after{content:" •";color:#b31b34}.material-editor-row input{width:90px;padding:.3rem .5rem;border:1px solid var(--gray-400);border-radius:6px;font-size:.9rem;text-align:right}.customer-name-fields{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.customer-name-fields .form-group{flex:1;min-width:140px;margin-bottom:0}.special-order-note{margin-top:.75rem;padding:.625rem .75rem;border:1px solid #fcd34d;background:#fffbeb;color:#92400e;border-radius:8px;font-size:.875rem;line-height:1.4}
