:root{--color-primary: #ff4d00;--color-primary-hover: #ff6a1a;--color-primary-subtle: rgba(255, 77, 0, .12);--color-primary-border: rgba(255, 100, 0, .45);--color-primary-glow: rgba(255, 77, 0, .22);--color-bg: #060606;--color-bg-alt: #0f0f0f;--color-surface: #141414;--color-surface-soft: #1a1a1a;--color-surface-hover: #202020;--color-border: rgba(255, 255, 255, .1);--color-border-soft: rgba(255, 255, 255, .07);--color-text: #ffffff;--color-text-soft: #c8c8c8;--color-text-muted: #686868;--color-success: #2dd98b;--color-success-subtle: rgba(45, 217, 139, .1);--color-success-border: rgba(45, 217, 139, .28);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-pill: 999px;--shadow-sm: 0 4px 12px rgba(0, 0, 0, .2);--shadow: 0 16px 40px rgba(0, 0, 0, .3);--shadow-glow: 0 0 0 3px var(--color-primary-glow);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--font-family-base: "Inter", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--container: 1200px}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:var(--font-family-base);color:var(--color-text);background:var(--color-bg)}h1,h2,h3,p{margin:0}button,input,select,textarea{font:inherit}.page-glow{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(circle at 8% 8%,rgba(255,77,0,.3),transparent 50%),radial-gradient(circle at 90% 22%,rgba(255,102,0,.16),transparent 52%),radial-gradient(circle at 50% 90%,rgba(255,77,0,.1),transparent 55%)}.background-grid{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.06;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(circle at 50% 30%,black 30%,transparent 88%);mask-image:radial-gradient(circle at 50% 30%,black 30%,transparent 88%)}.app-shell{position:relative;z-index:1;width:min(var(--container),calc(100% - 32px));margin:0 auto;padding:24px 0 80px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:12px 20px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(145deg,#ffffff0f,#ffffff05);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.brand-logo{width:120px;height:auto}.eyebrow{display:inline-flex;align-items:center;padding:5px 12px;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-pill);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted)}.hero{margin-top:28px;display:grid;gap:12px;max-width:680px}.hero h1{font-size:clamp(30px,4.5vw,52px);font-weight:800;line-height:1.06;letter-spacing:-.02em}.hero p{color:var(--color-text-soft);font-size:clamp(15px,1.6vw,18px);line-height:1.6}.layout{margin-top:24px;display:grid;gap:20px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.panel{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:linear-gradient(160deg,#ffffff0d,#ffffff05);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.form-panel{padding:var(--space-6);display:grid;gap:var(--space-6)}.form-panel>h2{font-size:20px;font-weight:700;letter-spacing:-.01em;color:var(--color-text)}.form-section{display:grid;gap:var(--space-3)}.form-section-label{display:block;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-primary);padding-bottom:var(--space-3);border-bottom:1px solid rgba(255,77,0,.18)}.field-grid{display:grid;gap:var(--space-3)}label{display:grid;gap:var(--space-2);font-size:13px;font-weight:500;color:var(--color-text-soft)}input,select{width:100%;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-md);background:var(--color-surface-soft);color:var(--color-text);min-height:44px;padding:0 14px;outline:none;transition:border-color .18s ease,box-shadow .18s ease}input::placeholder{color:var(--color-text-muted)}input:focus,select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #ff4d0024}.proposal-select-wrap{position:relative}.proposal-custom-select-trigger{width:100%;min-height:44px;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-md);background:var(--color-surface-soft);color:var(--color-text);font-family:inherit;font-size:14px;padding:11px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease}.proposal-custom-select-trigger.is-open,.proposal-custom-select-trigger:hover,.proposal-custom-select-trigger:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px #ff4d0024}.proposal-custom-select-caret{width:9px;height:9px;border-right:2px solid var(--color-text-muted);border-bottom:2px solid var(--color-text-muted);transform:rotate(45deg) translateY(-2px);transition:transform .2s ease;flex-shrink:0}.proposal-custom-select-trigger.is-open .proposal-custom-select-caret{transform:rotate(-135deg) translate(-1px,-1px)}.proposal-custom-select-list{list-style:none;margin:6px 0 0;padding:var(--space-2);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-lg);background:#0d0d0d;box-shadow:0 20px 40px #0006;position:absolute;left:0;right:0;top:calc(100% + 2px);z-index:7;display:none}.proposal-custom-select-list.is-open{display:grid;gap:4px}.proposal-custom-select-option{width:100%;border:1px solid transparent;background:transparent;border-radius:var(--radius-md);color:var(--color-text-soft);font-family:inherit;font-size:13.5px;text-align:left;padding:10px 12px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.proposal-custom-select-option.is-selected{border-color:var(--color-primary-border);background:var(--color-primary-subtle);color:#fff}.proposal-custom-select-option:hover:not(.is-selected),.proposal-custom-select-option:focus-visible:not(.is-selected){background:#ffffff0d;border-color:#ffffff1a;color:var(--color-text)}fieldset{margin:0;padding:0;border:none;display:grid;gap:var(--space-3)}legend{display:block;padding:0;margin-bottom:var(--space-2);font-size:13px;font-weight:500;color:var(--color-text-soft);float:left;width:100%}.choice-row{display:flex;flex-wrap:wrap;gap:var(--space-2);clear:both}.choice{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);padding:8px 14px;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-pill);background:var(--color-surface-soft);font-size:13px;font-weight:500;color:var(--color-text-soft);cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease;-webkit-user-select:none;user-select:none}.choice input[type=radio]{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.choice:has(input:checked){border-color:var(--color-primary-border);background:linear-gradient(135deg,#ff4d0033,#ff7a001f);color:#fff;box-shadow:0 0 0 1px #ff4d0033}.choice:hover:not(:has(input:checked)){border-color:#ffffff3d;background:var(--color-surface-hover);color:var(--color-text)}.choice:has(input:focus-visible){outline:2px solid var(--color-primary);outline-offset:2px}.choice:has(input:disabled){opacity:.4;cursor:not-allowed}.btn-primary,.btn-ghost{min-height:46px;border-radius:var(--radius-md);padding:0 var(--space-5);border:1px solid transparent;cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.01em;transition:transform .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease}.btn-primary:disabled,.btn-ghost:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(135deg,var(--color-primary),#ff7600);color:#fff}.btn-primary:not(:disabled):hover{background:linear-gradient(135deg,var(--color-primary-hover),#ff8a1a);transform:translateY(-1px);box-shadow:0 4px 18px #ff4d0059}.btn-primary:not(:disabled):active{transform:translateY(0)}.btn-ghost{border-color:#fff3;background:transparent;color:var(--color-text-soft)}.btn-ghost:not(:disabled):hover{border-color:#ffffff5c;color:var(--color-text);background:#ffffff0a}.result-panel{padding:var(--space-6);display:grid;gap:var(--space-5)}.placeholder{display:grid;gap:var(--space-4);padding:var(--space-8) var(--space-4);text-align:center;justify-items:center}.placeholder-icon{width:52px;height:52px;border-radius:var(--radius-lg);background:var(--color-primary-subtle);border:1px solid var(--color-primary-border);display:flex;align-items:center;justify-content:center;font-size:24px}.placeholder h2{font-size:18px;font-weight:700}.placeholder p{color:var(--color-text-soft);font-size:14px;line-height:1.6;max-width:320px}.proposal-head{display:grid;gap:var(--space-1);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border-soft)}.proposal-head h2{font-size:18px;font-weight:700;letter-spacing:-.01em}.proposal-head p{color:var(--color-text-muted);font-size:12px;letter-spacing:.02em}.result-section{display:grid;gap:var(--space-3)}.result-section-label{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted)}.comparison-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-card{border-radius:var(--radius-lg);padding:16px;border:1px solid rgba(255,255,255,.1);display:grid;gap:var(--space-1)}.card-badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-2)}.comparison-card strong{font-size:26px;font-weight:800;line-height:1.05;letter-spacing:-.02em}.comparison-card .card-monthly{color:var(--color-text-muted);font-size:12px;margin-top:var(--space-1)}.comparison-card.market{background:#ffffff08}.comparison-card.market .card-badge{color:var(--color-text-muted)}.comparison-card.market strong{color:var(--color-text-soft)}.comparison-card.snivy{background:linear-gradient(145deg,#ff4d0033,#ff4d001a);border-color:#ff640066;box-shadow:0 0 0 1px #ff4d001a inset}.comparison-card.snivy .card-badge{color:#ff9650e6}.comparison-card.snivy strong{color:#fff}.savings{border:1px solid var(--color-success-border);border-radius:var(--radius-lg);padding:14px 16px;background:var(--color-success-subtle);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.savings-label{font-size:12px;font-weight:500;color:var(--color-success);opacity:.8}.savings-value{font-size:20px;font-weight:800;color:var(--color-success);letter-spacing:-.02em}.coverage{display:grid;gap:var(--space-3)}.coverage ul{margin:0;padding:0;list-style:none;display:grid;gap:var(--space-2)}.coverage ul li{display:flex;align-items:flex-start;gap:var(--space-2);font-size:13px;color:var(--color-text-soft);line-height:1.45}.coverage ul li:before{content:"✓";flex-shrink:0;width:18px;height:18px;border-radius:4px;background:#ff4d0026;border:1px solid rgba(255,77,0,.3);color:var(--color-primary);font-size:10px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;margin-top:1px}.coverage-notes ul li:before{content:"!";background:#ffc8641f;border-color:#ffc8644d;color:#ffcc64}.coverage-notes{border:1px solid rgba(255,200,100,.2);border-radius:var(--radius-lg);padding:14px 16px;background:#ffc8640a}.pdf-preview-wrap{display:grid;gap:var(--space-3)}.pdf-preview{width:100%;height:440px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);background:#080808}.result-message{margin:0;color:var(--color-text-muted);font-size:13px}.result-message.is-error{color:#ffb3a1}.actions{display:flex;gap:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--color-border-soft)}.actions button{flex:1}.proposal-text-wrap{display:grid;gap:var(--space-3)}.proposal-text-wrap h3{font-size:14px;font-weight:600;color:var(--color-text-soft)}.proposal-text-wrap pre{margin:0;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);background:#0a0a0a;color:#e0e0e0;font-size:12px;line-height:1.55;padding:14px;max-height:330px;overflow:auto;white-space:pre-wrap}@media (max-width: 1024px){.layout{grid-template-columns:1fr}}@media (max-width: 720px){.app-shell{width:min(var(--container),calc(100% - 20px));padding-top:16px}.topbar{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.hero h1{font-size:clamp(26px,8vw,36px)}.comparison-grid{grid-template-columns:1fr}.actions{flex-direction:column}.savings{flex-direction:column;align-items:flex-start;gap:var(--space-1)}}
