@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{--navy-50: #f3f6fa;--navy-100: #e4ebf3;--navy-200: #c9d6e5;--navy-300: #9fb3cb;--navy-400: #6f8aab;--navy-500: #4a6a8e;--navy-600: #345073;--navy-700: #233c5b;--navy-800: #1e3a5f;--navy-900: #152946;--red-50: #fdf2f4;--red-100: #fce4e8;--red-500: #d12f48;--red-600: #b31b34;--red-700: #8f1529;--red-800: #6e0f20;--gray-0: #ffffff;--gray-50: #f7f8fa;--gray-100: #eef1f5;--gray-200: #e2e7ee;--gray-300: #cdd4de;--gray-400: #a0aab8;--gray-500: #6b7485;--gray-600: #4c5565;--gray-700: #343c4a;--gray-800: #1f2531;--gray-900: #0f131c;--green-50: #ecfdf5;--green-500: #10b981;--green-600: #059669;--green-700: #047857;--amber-50: #fffbeb;--amber-500: #f59e0b;--amber-700: #b45309;--bg-app: var(--gray-50);--bg-subtle: var(--gray-100);--surface-1: var(--gray-0);--surface-2: var(--gray-50);--surface-inverse: var(--navy-800);--text-strong: var(--gray-900);--text-default: var(--gray-800);--text-muted: var(--gray-500);--text-subtle: var(--gray-400);--text-on-dark: var(--gray-0);--border-subtle: var(--gray-200);--border-default:var(--gray-300);--border-strong: var(--gray-400);--focus-ring: rgba(52, 80, 115, .28);--focus-ring-red:rgba(179, 27, 52, .22);--brand-primary: var(--navy-800);--brand-primary-hover:var(--navy-700);--brand-accent: var(--red-600);--brand-accent-hover: var(--red-700);--success: var(--green-600);--warning: var(--amber-700);--danger: var(--red-600);--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgba(15, 19, 28, .04);--shadow-sm: 0 1px 2px rgba(15, 19, 28, .04), 0 1px 3px rgba(15, 19, 28, .06);--shadow-md: 0 2px 4px rgba(15, 19, 28, .04), 0 4px 12px rgba(15, 19, 28, .08);--shadow-lg: 0 4px 8px rgba(15, 19, 28, .06), 0 12px 32px rgba(15, 19, 28, .12);--shadow-xl: 0 8px 16px rgba(15, 19, 28, .08), 0 24px 48px rgba(15, 19, 28, .16);--shadow-focus: 0 0 0 3px var(--focus-ring);--shadow-focus-red: 0 0 0 3px var(--focus-ring-red);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;--font-display: var(--font-sans);--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: .9375rem;--text-lg: 1rem;--text-xl: 1.125rem;--text-2xl: 1.25rem;--text-3xl: 1.5rem;--text-4xl: 1.875rem;--text-5xl: 2.25rem;--leading-tight: 1.2;--leading-snug: 1.35;--leading-normal: 1.5;--leading-relaxed:1.65;--tracking-tight: -.01em;--tracking-normal: 0;--tracking-wide: .02em;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--duration-fast: .12s;--duration-medium: .2s;--duration-slow: .32s;--content-max: 1400px;--header-height: 112px;--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);--text-muted: var(--text-muted);--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-base);line-height:var(--leading-normal);font-feature-settings:"cv11","ss01","ss03";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-default);background:var(--bg-app)}.num-tabular,.quote-line,.history-total,.sticky-total-value{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"cv11" 1}#root{min-height:100vh}input,select,textarea{font-family:inherit;font-size:var(--text-base);border:1px solid var(--border-default);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-600);box-shadow:var(--shadow-focus)}button{font-family:inherit;font-size:var(--text-base);font-weight:var(--weight-semibold)}@media(max-width:768px){html{font-size:16px}input,select,textarea{font-size:1rem;padding:.75rem .875rem}button{min-height:44px}}.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(--font-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(--font-weight-semibold);letter-spacing:-.01em}.login-hero-headline{font-size:var(--text-4xl);line-height:1.1;font-weight:var(--font-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-sm);font-weight:var(--font-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(--font-weight-bold);color:var(--text-strong);letter-spacing:-.01em;margin:0}.login-subtitle{font-size:var(--text-sm);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-sm);font-weight:var(--font-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-sm);font-weight:var(--font-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-sm);font-weight:var(--font-weight-semibold);color:var(--text-strong)}.form-field input{padding:var(--space-3) var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-base);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)}.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{opacity:.6;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(--font-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{opacity:.6;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-sm);font-weight:var(--font-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{opacity:.6;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}}.landing{background:var(--bg-app);color:var(--text-default);min-height:100vh;overflow-x:hidden;font-family:inherit}.landing *,.landing *:before,.landing *:after{box-sizing:border-box}.landing-section-inner{max-width:1200px;margin:0 auto;padding:0 var(--space-6)}.landing-kicker{display:inline-block;font-size:var(--text-xs);font-weight:var(--font-weight-semibold);color:var(--brand-accent);text-transform:uppercase;letter-spacing:.12em;margin-bottom:var(--space-3)}.landing-section-header{max-width:680px;margin-bottom:var(--space-8)}.landing-section-header--center{text-align:center;margin-left:auto;margin-right:auto}.landing-section-header h2{font-size:clamp(var(--text-2xl),3.2vw,var(--text-4xl));font-weight:var(--font-weight-bold);color:var(--text-strong);letter-spacing:-.02em;line-height:1.15;margin:0 0 var(--space-3)}.landing-section-header p{font-size:var(--text-base);color:var(--text-muted);line-height:1.6;margin:0}.landing-btn-primary,.landing-btn-secondary,.landing-btn-ghost,.landing-link-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);font-family:inherit;cursor:pointer;text-decoration:none;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out);border:1px solid transparent;min-height:44px;white-space:nowrap}.landing-btn-primary{background:var(--brand-accent);color:var(--text-on-dark);border-color:var(--brand-accent);box-shadow:var(--shadow-sm)}.landing-btn-primary:hover{background:var(--brand-accent-hover);border-color:var(--brand-accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.landing-btn-primary:focus-visible{outline:none;box-shadow:var(--shadow-focus-red)}.landing-btn-secondary{background:var(--surface-1);color:var(--text-strong);border-color:var(--border-default)}.landing-btn-secondary:hover{background:var(--surface-2);border-color:var(--border-strong)}.landing-btn-secondary:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.landing-btn-ghost{background:transparent;color:var(--text-on-dark);border-color:#ffffff59}.landing-btn-ghost:hover{background:#ffffff14;border-color:#ffffff8c}.landing-btn-ghost:focus-visible{outline:none;box-shadow:0 0 0 3px #ffffff4d}.landing-btn-sm{padding:var(--space-2) var(--space-4);min-height:38px;font-size:var(--text-sm)}.landing-link-btn{background:transparent;border:none;padding:var(--space-2) var(--space-3);color:var(--text-default);min-height:38px}.landing-link-btn:hover{color:var(--brand-primary)}.landing-link-btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.landing-nav{position:sticky;top:0;z-index:40;background:#ffffffeb;-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--border-subtle)}.landing-nav-inner{max-width:1200px;margin:0 auto;padding:var(--space-3) var(--space-6);display:flex;align-items:center;gap:var(--space-5)}.landing-brand{display:inline-flex;align-items:center;gap:var(--space-3);text-decoration:none;color:var(--text-strong);font-weight:var(--font-weight-semibold);font-size:var(--text-base);letter-spacing:-.01em}.landing-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);background:var(--brand-primary);color:var(--text-on-dark);font-weight:var(--font-weight-bold);font-size:13px;letter-spacing:.02em;box-shadow:inset 0 0 0 1px #ffffff14}.landing-brand-name{font-weight:var(--font-weight-semibold)}.landing-nav-links{display:inline-flex;align-items:center;gap:var(--space-5);margin-left:var(--space-4);flex:1 1 auto}.landing-nav-links a{color:var(--text-muted);text-decoration:none;font-size:var(--text-sm);font-weight:var(--font-weight-medium);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--ease-out)}.landing-nav-links a:hover{color:var(--text-strong)}.landing-nav-actions{display:inline-flex;align-items:center;gap:var(--space-2)}.landing-hero{position:relative;background:radial-gradient(1200px 500px at 85% -10%,rgba(179,27,52,.18),transparent 60%),radial-gradient(900px 520px at 10% 110%,rgba(52,80,115,.35),transparent 60%),linear-gradient(135deg,var(--navy-900) 0%,var(--navy-800) 50%,var(--navy-700) 100%);color:var(--text-on-dark);padding:var(--space-12) 0 var(--space-16);overflow:hidden}.landing-hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);background-size:28px 28px;pointer-events:none;mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 75%);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 75%)}.landing-hero-inner{max-width:1200px;margin:0 auto;padding:0 var(--space-6);position:relative;z-index:1;display:grid;grid-template-columns:1.15fr 1fr;gap:var(--space-10);align-items:center}.landing-hero .landing-kicker{color:#ffb3bf}.landing-hero-title{font-size:clamp(var(--text-3xl),5.2vw,var(--text-5xl));font-weight:var(--font-weight-bold);line-height:1.05;letter-spacing:-.025em;margin:0 0 var(--space-4);color:#fff}.landing-hero-accent{background:linear-gradient(90deg,#ffb3bf,#ff5e75 60%,#ffb3bf);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.landing-hero-lede{font-size:var(--text-lg);line-height:1.55;color:#ffffffd1;margin:0 0 var(--space-6);max-width:42ch}.landing-hero-actions{display:inline-flex;gap:var(--space-3);margin-bottom:var(--space-6);flex-wrap:wrap}.landing-hero-actions .landing-btn-secondary{background:#ffffff1a;color:#fff;border-color:#ffffff59}.landing-hero-actions .landing-btn-secondary:hover{background:#ffffff2e;border-color:#ffffff8c}.landing-hero-trust{list-style:none;padding:0;margin:0;display:flex;gap:var(--space-5);flex-wrap:wrap;color:#ffffffa6;font-size:var(--text-sm);font-weight:var(--font-weight-medium)}.landing-hero-trust li{display:inline-flex;align-items:center;gap:var(--space-1)}.landing-hero-trust svg{color:#ffb3bf}.landing-hero-visual{position:relative;min-height:420px}.landing-mock{position:absolute;border-radius:var(--radius-lg);box-shadow:0 30px 60px -25px #0009,0 10px 20px -10px #0006}.landing-mock--back{inset:6% 20% 30% 0;background:linear-gradient(135deg,#4f8cc659,#233c5b66);border:1px solid rgba(255,255,255,.1);transform:rotate(-3deg)}.landing-mock--mid{inset:14% 8% 18% 10%;background:linear-gradient(135deg,#d12f4840,#8e15294d);border:1px solid rgba(255,255,255,.12);transform:rotate(2deg)}.landing-mock--front{position:relative;inset:auto;margin:auto;background:#fff;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);color:var(--text-default);border:1px solid rgba(255,255,255,.15);transform:rotate(-1deg);max-width:460px}.landing-mock-header{display:flex;align-items:center;gap:var(--space-1);border-bottom:1px solid var(--border-subtle);padding-bottom:var(--space-2)}.landing-mock-dot{width:8px;height:8px;border-radius:50%;background:var(--gray-200)}.landing-mock-dot:first-child{background:#ff5f56}.landing-mock-dot:nth-child(2){background:#ffbd2e}.landing-mock-dot:nth-child(3){background:#27c93f}.landing-mock-title{margin-left:auto;font-size:var(--text-xs);color:var(--text-muted);font-weight:var(--font-weight-medium);letter-spacing:.05em;text-transform:uppercase}.landing-mock-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.landing-mock-stat{padding:var(--space-2);border-radius:var(--radius-md);background:var(--surface-2);display:flex;flex-direction:column;gap:2px}.landing-mock-stat-label{font-size:10px;font-weight:var(--font-weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.landing-mock-stat-value{font-size:var(--text-lg);font-weight:var(--font-weight-bold);color:var(--text-strong);font-variant-numeric:tabular-nums}.landing-mock-chart{height:80px;display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-2);align-items:end;padding:var(--space-2);background:var(--surface-2);border-radius:var(--radius-md)}.landing-mock-bar{background:linear-gradient(to top,var(--navy-700),var(--navy-500, var(--navy-700)));border-radius:var(--radius-xs) var(--radius-xs) 0 0;min-height:6px;width:100%;opacity:0;transform:translateY(12px);animation:landing-bar-in .6s var(--ease-out) forwards}@keyframes landing-bar-in{to{opacity:1;transform:translateY(0)}}.landing-mock-rows{display:flex;flex-direction:column;gap:var(--space-1)}.landing-mock-row{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-2);align-items:center;padding:var(--space-2) var(--space-2);border-radius:var(--radius-sm);background:var(--surface-2);font-size:var(--text-sm)}.landing-mock-row-dot{width:8px;height:8px;border-radius:50%}.landing-mock-row-dot--green{background:var(--green-500)}.landing-mock-row-dot--amber{background:var(--amber-500)}.landing-mock-row-dot--navy{background:var(--navy-600)}.landing-mock-row-name{font-weight:var(--font-weight-medium);color:var(--text-default)}.landing-mock-row-amount{font-variant-numeric:tabular-nums;font-weight:var(--font-weight-semibold);color:var(--text-strong)}.landing-features{padding:var(--space-16) 0 var(--space-12);background:var(--bg-app)}.landing-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}.landing-feature{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-2);transition:box-shadow var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.landing-feature:hover{box-shadow:var(--shadow-md);border-color:var(--border-default);transform:translateY(-2px)}.landing-feature-icon{width:40px;height:40px;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;background:var(--navy-50);color:var(--navy-700);margin-bottom:var(--space-2)}.landing-feature h3{font-size:var(--text-md);font-weight:var(--font-weight-semibold);color:var(--text-strong);margin:0;letter-spacing:-.01em}.landing-feature p{font-size:var(--text-sm);color:var(--text-muted);line-height:1.6;margin:0}.landing-steps{padding:var(--space-12) 0;background:var(--surface-2);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.landing-steps-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5);counter-reset:step}.landing-step{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);position:relative;overflow:hidden}.landing-step:after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(to bottom,var(--brand-accent),var(--brand-primary))}.landing-step-num{font-family:IBM Plex Mono,JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-xs);font-weight:var(--font-weight-semibold);color:var(--brand-accent);letter-spacing:.12em}.landing-step h3{font-size:var(--text-lg);font-weight:var(--font-weight-semibold);color:var(--text-strong);margin:0;letter-spacing:-.01em}.landing-step p{font-size:var(--text-sm);color:var(--text-muted);line-height:1.6;margin:0}.landing-value{padding:var(--space-16) 0;background:var(--bg-app)}.landing-value-inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-10);align-items:center}.landing-value-copy h2{font-size:clamp(var(--text-2xl),3vw,var(--text-4xl));font-weight:var(--font-weight-bold);color:var(--text-strong);letter-spacing:-.02em;line-height:1.15;margin:0 0 var(--space-3)}.landing-value-copy>p{font-size:var(--text-base);color:var(--text-muted);line-height:1.6;margin:0 0 var(--space-5)}.landing-value-list{list-style:none;padding:0;margin:0 0 var(--space-6);display:flex;flex-direction:column;gap:var(--space-3)}.landing-value-list li{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--text-sm);color:var(--text-default);line-height:1.5}.landing-value-list li svg{flex-shrink:0;margin-top:3px;padding:3px;box-sizing:content-box;background:var(--green-50);color:var(--green-700);border-radius:var(--radius-pill)}.landing-value-visual{position:relative;min-height:340px;display:flex;align-items:center;justify-content:center}.landing-screenshot{width:100%;max-width:480px;background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:0 30px 60px -30px #15294680,0 12px 24px -12px #15294633;overflow:hidden;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:auto 1fr}.landing-screenshot-tab{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--text-muted);border-bottom:2px solid transparent;text-align:center;background:var(--surface-2)}.landing-screenshot-tab--active{background:var(--surface-1);color:var(--text-strong);border-bottom-color:var(--brand-accent)}.landing-screenshot-body{grid-column:1 / -1;display:grid;grid-template-columns:1.1fr 1fr;gap:var(--space-3);padding:var(--space-4)}.landing-screenshot-map{position:relative;aspect-ratio:4 / 3;background:radial-gradient(ellipse at 30% 30%,var(--navy-100) 0%,var(--navy-300) 70%,var(--navy-500) 100%);border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-subtle)}.landing-screenshot-map:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 1px,transparent 1px 18px),repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 1px,transparent 1px 18px)}.landing-screenshot-poly{position:absolute;inset:22% 18%;border:2px dashed var(--brand-accent);border-radius:var(--radius-sm);background:#d12f4814;box-shadow:0 0 0 2px #d12f4826}.landing-screenshot-panel{display:flex;flex-direction:column;gap:var(--space-2);background:var(--surface-2);border-radius:var(--radius-md);padding:var(--space-3);font-size:var(--text-sm)}.landing-screenshot-pill{align-self:flex-start;padding:2px var(--space-2);border-radius:var(--radius-pill);background:var(--navy-50);color:var(--navy-700);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);letter-spacing:.02em;margin-bottom:var(--space-1)}.landing-screenshot-row{display:flex;justify-content:space-between;color:var(--text-muted);font-size:var(--text-xs);padding:2px 0;border-bottom:1px dashed var(--border-subtle)}.landing-screenshot-row strong{color:var(--text-strong);font-variant-numeric:tabular-nums}.landing-screenshot-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border-default)}.landing-screenshot-total span{font-size:var(--text-xs);font-weight:var(--font-weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.landing-screenshot-total strong{font-size:var(--text-lg);color:var(--brand-accent);font-variant-numeric:tabular-nums}.landing-pricing{padding:var(--space-16) 0;background:var(--surface-2);border-top:1px solid var(--border-subtle)}.landing-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5);align-items:stretch}.landing-plan{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);box-shadow:var(--shadow-xs);position:relative;transition:box-shadow var(--duration-fast) var(--ease-out)}.landing-plan:hover{box-shadow:var(--shadow-md)}.landing-plan--featured{border-color:var(--brand-accent);box-shadow:var(--shadow-md),0 0 0 1px var(--brand-accent)}.landing-plan-tag{position:absolute;top:-12px;left:50%;transform:translate(-50%);padding:4px var(--space-3);background:var(--brand-accent);color:var(--text-on-dark);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);letter-spacing:.04em;text-transform:uppercase;box-shadow:var(--shadow-sm);white-space:nowrap}.landing-plan h3{font-size:var(--text-lg);font-weight:var(--font-weight-semibold);color:var(--text-strong);margin:0;letter-spacing:-.01em}.landing-plan-pitch{font-size:var(--text-sm);color:var(--text-muted);margin:0}.landing-plan-price{display:flex;align-items:baseline;gap:var(--space-2);padding:var(--space-2) 0;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.landing-plan-price-amount{font-size:var(--text-3xl);font-weight:var(--font-weight-bold);color:var(--text-strong);letter-spacing:-.02em;line-height:1}.landing-plan-price-cadence{font-size:var(--text-sm);color:var(--text-muted);font-weight:var(--font-weight-medium)}.landing-plan ul{list-style:none;padding:0;margin:0 0 var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);flex:1 1 auto}.landing-plan li{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-default);line-height:1.5}.landing-plan li svg{flex-shrink:0;margin-top:3px;color:var(--green-600)}.landing-plan button,.landing-plan a.landing-btn-primary,.landing-plan a.landing-btn-secondary{width:100%}.landing-cta{padding:var(--space-12) 0;background:var(--bg-app)}.landing-cta-card{background:linear-gradient(135deg,var(--navy-900) 0%,var(--navy-800) 60%,var(--navy-700) 100%);color:var(--text-on-dark);border-radius:var(--radius-2xl);padding:var(--space-10) var(--space-8);text-align:center;position:relative;overflow:hidden;box-shadow:var(--shadow-lg)}.landing-cta-card:before{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 80% -10%,rgba(209,47,72,.32),transparent 60%),radial-gradient(600px 300px at 10% 120%,rgba(79,140,198,.25),transparent 60%);pointer-events:none}.landing-cta-card h2{font-size:clamp(var(--text-2xl),3vw,var(--text-4xl));font-weight:var(--font-weight-bold);letter-spacing:-.02em;margin:0 0 var(--space-3);position:relative}.landing-cta-card p{font-size:var(--text-base);color:#ffffffd1;line-height:1.6;margin:0 auto var(--space-6);max-width:640px;position:relative}.landing-cta-actions{display:inline-flex;gap:var(--space-3);flex-wrap:wrap;justify-content:center;position:relative}.landing-footer{background:var(--gray-900);color:#fff9;padding:var(--space-6) 0}.landing-footer-inner{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap}.landing-footer-brand{display:inline-flex;align-items:center;gap:var(--space-2);color:#ffffffd9;font-weight:var(--font-weight-medium);font-size:var(--text-sm)}.landing-footer-brand .landing-brand-mark{background:#ffffff14;width:28px;height:28px;font-size:11px}.landing-footer-meta{display:inline-flex;align-items:center;gap:var(--space-4);font-size:var(--text-sm)}.landing-footer-meta a{color:#ffffffbf;text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}.landing-footer-meta a:hover{color:#fff}@media(max-width:1024px){.landing-hero-inner{grid-template-columns:1fr;gap:var(--space-8)}.landing-hero-visual{min-height:360px;max-width:520px;margin:0 auto}.landing-feature-grid,.landing-steps-list,.landing-plan-grid{grid-template-columns:repeat(2,1fr)}.landing-value-inner{grid-template-columns:1fr;gap:var(--space-8)}}@media(max-width:768px){.landing-nav-links{display:none}.landing-hero{padding:var(--space-10) 0 var(--space-12)}.landing-features,.landing-steps,.landing-value,.landing-pricing{padding:var(--space-10) 0}.landing-feature-grid,.landing-steps-list,.landing-plan-grid{grid-template-columns:1fr}.landing-section-inner{padding:0 var(--space-5)}.landing-nav-inner{padding:var(--space-3) var(--space-5)}}@media(max-width:560px){.landing-hero-trust{gap:var(--space-3);font-size:var(--text-xs)}.landing-hero-actions,.landing-cta-actions{width:100%;flex-direction:column;align-items:stretch}.landing-hero-actions>*,.landing-cta-actions>*{width:100%}.landing-cta-card{padding:var(--space-8) var(--space-5)}.landing-footer-inner{flex-direction:column;text-align:center}.landing-brand-name{display:none}}@media(prefers-reduced-motion:reduce){.landing-btn-primary,.landing-btn-secondary,.landing-btn-ghost,.landing-feature,.landing-mock-bar{transition:none;animation:none;transform:none!important;opacity:1!important}}.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-xs);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:.65rem;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-xs);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-xs)}.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-xs);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-xs);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-xs)}.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(--font-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-sm);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-sm)}.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-sm);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-xs);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-sm);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-sm);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-sm);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-xs);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)}.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-sm);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-xs);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-sm);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-sm)}.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-sm)}.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-sm)}.term-item{padding:var(--space-3)}.term-text{font-size:var(--text-sm)}.term-initials label{font-size:var(--text-xs)}.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(--font-weight-bold);color:var(--text-strong);letter-spacing:-.01em}.onboarding-heading p{margin:var(--space-1) 0 0;font-size:var(--text-sm);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-xs);font-weight:var(--font-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-sm);font-weight:var(--font-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-xs);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-xs);font-weight:var(--font-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-xs);font-weight:var(--font-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{font-size:var(--text-base)}.onboarding-heading p{font-size:var(--text-xs)}}@media(prefers-reduced-motion:reduce){.onboarding-progress-bar,.onboarding-dismiss,.onboarding-step,.onboarding-step-cta{transition:none}}.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(--font-weight-semibold);color:var(--text-strong)}.pricing-change-card__detail{margin:var(--space-1) 0 0;font-size:var(--text-sm);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-sm);font-weight:var(--font-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(--font-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-sm);font-weight:var(--font-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-xs);font-weight:var(--font-weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.dashboard-stat-value{font-size:var(--text-2xl);font-weight:var(--font-weight-bold);color:var(--text-strong);letter-spacing:-.01em;font-variant-numeric:tabular-nums}.dashboard-stat-foot{font-size:var(--text-xs);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(--font-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-sm);font-weight:var(--font-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-xs);color:var(--text-muted);font-weight:var(--font-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-sm);font-weight:var(--font-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-sm);color:var(--text-muted);font-variant-numeric:tabular-nums}.dashboard-activity-amount{font-weight:var(--font-weight-semibold);color:var(--text-strong)}.dashboard-activity-date{font-size:var(--text-xs);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(--font-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}.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-sm);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-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-sm)}}.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{opacity:.5;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-sm)}.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{width:200px}.header-top{padding:.375rem .75rem}.header-bottom{padding:.5rem .75rem}.main-nav button{padding:.5rem .75rem;font-size:.9rem}.logged-in-user{font-size:.85rem;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn{padding:.375rem .75rem;font-size:.8rem}}@media(max-width:480px){.app-logo{width:140px}.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:.85rem}.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:.8rem;min-height:40px}.history-actions select{font-size:.8rem;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:.8rem;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:#1e3a5fd9!important;color:#fff!important;border:none!important;border-radius:4px!important;padding:2px 6px!important;font-size:.75rem!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{opacity:.4;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:#999;font-size:1.1rem;line-height:1;transition:color .15s,background .15s}.fence-form-delete:hover{color:#e53e3e;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-sm);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-sm);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(--border-default);border-radius:var(--radius-md);font-size:var(--text-base);background:var(--surface-1)}.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}.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-sm);color:var(--text-muted)}.grand-total{padding-top:var(--space-4)}.grand-total h3{font-size:var(--text-sm);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-sm);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-sm);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-sm)}.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-xs);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-sm);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-sm);color:var(--text-muted);font-weight:var(--weight-medium)}.sync-status{font-size:var(--text-xs);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:#6b7280}.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-sm);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-sm);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:.8rem;color:#9ca3af;margin-left:.5rem}.history-customer .phone{font-size:.9rem;color:var(--text-secondary)}.history-meta{text-align:right}.history-address{font-size:.8rem;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:.8rem;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:.85rem;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-sm);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(--border-default);border-radius:var(--radius-md);font-size:var(--text-base);transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.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(--border-default);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-sm);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-sm);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:44px}.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-xs);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:.85rem;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:.78rem;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:.78rem;font-weight:500;color:#856404;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:.3rem .7rem;margin-bottom:.35rem}.jurisdiction-unknown{font-size:.78rem;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:.78rem;color:#456}.jurisdiction-link{font-size:.78rem;color:#1e3a5f;text-decoration:underline}.jurisdiction-notes{font-size:.75rem;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:.82rem;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}
