:root{--primary: #2c3e63;--primary-light: #5b7cae;--accent: #f5a623;--bg: #f4f6fb;--surface: #ffffff;--border: #e1e6f0;--text: #1f2937;--muted: #6b7280;--danger: #dc2626;--success: #16a34a;--radius: 10px;--shadow: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--sidebar-w: 240px}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text)}a{color:var(--primary-light);text-decoration:none}h1,h2,h3{color:var(--primary)}h1{font-size:clamp(22px,4vw,30px)}.app-shell{display:flex;min-height:100vh}.mobile-topbar{display:none}.sidebar{width:var(--sidebar-w);background:var(--primary);color:#fff;padding:20px 0;display:flex;flex-direction:column;flex-shrink:0}.sidebar .brand{font-size:20px;font-weight:700;padding:0 20px 20px}.sidebar .brand span{color:var(--accent)}.sidebar nav a{display:block;padding:12px 20px;color:#cdd6ec;font-size:14px;border-left:3px solid transparent}.sidebar nav a:hover{background:#ffffff14;color:#fff}.sidebar nav a.active{background:#ffffff1f;color:#fff;border-left-color:var(--accent)}.sidebar .nav-section{padding:16px 20px 6px;font-size:11px;color:#8a99c0;text-transform:uppercase;letter-spacing:.05em}.sidebar .spacer{flex:1}.sidebar .user-box{padding:16px 20px;border-top:1px solid rgba(255,255,255,.15);font-size:13px}.sidebar-overlay{display:none}.main{flex:1;display:flex;flex-direction:column;min-width:0}.content{padding:28px;flex:1;min-width:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);margin-bottom:20px}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1100px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--text)}input,select,textarea{width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit;background:#fff}input:focus,select:focus,textarea:focus{outline:2px solid var(--primary-light);border-color:var(--primary-light)}.field{margin-bottom:14px}.checkbox-row{display:flex;align-items:center;gap:8px;font-weight:400;margin-bottom:10px}.checkbox-row input{width:18px}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border:none;border-radius:8px;background:var(--primary);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.btn:hover{background:var(--primary-light)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-outline{background:transparent;color:var(--primary);border:1px solid var(--border)}.btn-outline:hover{background:var(--bg)}.btn-accent{background:var(--accent);color:#1f2937}.btn-accent:hover{background:#e0951a}.btn-danger{background:var(--danger)}.btn-danger:hover{background:#b91c1c}.btn-sm{padding:5px 10px;font-size:12px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}tr:hover td{background:var(--bg)}.nowrap{white-space:nowrap}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}.badge-draft{background:#e5e7eb;color:#374151}.badge-sent{background:#dbeafe;color:#1e40af}.badge-accepted{background:#dcfce7;color:#166534}.badge-rejected{background:#fee2e2;color:#991b1b}.row{display:flex;gap:12px;align-items:center}.row.wrap,.wrap{flex-wrap:wrap}.between{justify-content:space-between}.muted{color:var(--muted);font-size:13px}.right{text-align:right}.error-box{background:#fee2e2;color:#991b1b;padding:10px 14px;border-radius:8px;margin-bottom:14px;font-size:14px}.toast{position:fixed;bottom:24px;right:24px;background:var(--success);color:#fff;padding:12px 20px;border-radius:8px;box-shadow:var(--shadow);z-index:1000}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#2c3e63,#5b7cae);padding:20px}.login-card{background:#fff;padding:40px;border-radius:16px;width:380px;max-width:100%;box-shadow:0 10px 40px #0003}.login-card-wide{width:560px}.login-card h1{text-align:center;margin-top:0}.login-card .sub{text-align:center;color:var(--muted);margin-bottom:24px;font-size:14px}.plan-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:6px 0 16px}.plan-option{border:2px solid var(--border);border-radius:10px;padding:12px;cursor:pointer;font-size:12px}.plan-option.selected{border-color:var(--accent);background:#fff8ec}.plan-option .plan-name{font-weight:700;color:var(--primary)}.plan-option .plan-price{font-size:14px;font-weight:700;margin:4px 0 6px}.plan-option ul{margin:0;padding-left:16px}.plan-option li.no{color:#b0b6c3}.plan-option li.ok{color:var(--success)}.plan-card{text-align:center}.plan-card.current{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset}.plan-card .plan-name{font-size:20px;font-weight:700;color:var(--primary)}.plan-card .plan-price{font-size:22px;font-weight:700;margin:6px 0 12px}.plan-features{list-style:none;padding:0;margin:0 0 16px;font-size:14px}.plan-features li{padding:5px 0;border-bottom:1px solid var(--border)}.plan-features li.no{color:#b0b6c3}.plan-features li.ok{color:var(--success)}@media(max-width:560px){.plan-picker{grid-template-columns:1fr}}.usage-row{margin-bottom:12px;font-size:13px}.usage-bar{height:8px;background:var(--border);border-radius:999px;margin-top:6px;overflow:hidden}.usage-bar div{height:100%;background:var(--primary-light)}.wizard-steps{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.wizard-step{flex:1;min-width:110px;padding:12px;border-radius:8px;background:var(--surface);border:1px solid var(--border);text-align:center;font-size:13px;font-weight:600;color:var(--muted);cursor:default}.wizard-step.active{background:var(--primary);color:#fff;border-color:var(--primary)}.wizard-step.done{background:#dcfce7;color:#166534;border-color:#bbf7d0;cursor:pointer}.wizard-nav{display:flex;justify-content:space-between;margin-top:24px}.cat-block{border:1px solid var(--border);border-radius:8px;margin-bottom:12px;overflow:hidden}.cat-header{background:var(--bg);padding:10px 14px;font-weight:700;color:var(--primary);display:flex;justify-content:space-between}.item-row{display:grid;grid-template-columns:1fr 76px 86px 110px 110px 104px 40px;gap:8px;align-items:end;padding:8px 14px;border-top:1px solid var(--border);font-size:13px}.item-row>label:first-child{align-self:center}.item-row input{padding:6px 8px;font-size:13px;width:100%}.item-row .cell{display:flex;flex-direction:column;gap:2px;min-width:0}.cell-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--muted);white-space:nowrap}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.photo-card img{width:100%;height:140px;object-fit:cover;border-radius:8px;border:1px solid var(--border)}.stat{font-size:28px;font-weight:700;color:var(--primary)}.totals-box{font-size:15px}.totals-box .total-final{font-size:22px;font-weight:700;color:var(--primary)}.pricing-page{max-width:1040px;margin:0 auto;padding:32px 20px 0}.pricing-hero{text-align:center;margin-bottom:36px}.pricing-hero h1{font-size:34px;margin:18px 0 10px;color:var(--primary)}.pricing-hero p{color:var(--muted);max-width:620px;margin:0 auto 22px;font-size:16px}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-bottom:28px}.pricing-card{position:relative;background:#fff;border:1px solid var(--border);border-radius:14px;padding:26px;box-shadow:0 2px 10px #0000000a}.pricing-card.featured{border-color:var(--accent);box-shadow:0 8px 26px #0000001a;transform:translateY(-6px)}.pricing-badge{position:absolute;top:-12px;right:18px;background:var(--accent);color:#fff;font-size:12px;font-weight:700;padding:4px 10px;border-radius:20px}.pricing-price{font-size:32px;font-weight:800;color:var(--primary);margin:6px 0 14px}.pricing-price span{font-size:15px;font-weight:500;color:var(--muted)}.pricing-feats{list-style:none;padding:0;margin:0 0 20px}.pricing-feats li{padding:6px 0;border-bottom:1px dashed var(--border);font-size:14px}.interval-toggle{display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden;background:#fff}.interval-toggle button{border:none;background:transparent;padding:8px 18px;cursor:pointer;font-weight:600;color:var(--muted);display:flex;align-items:center;gap:6px}.interval-toggle button.active{background:var(--primary);color:#fff}.save-badge{background:var(--accent);color:#fff;font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px}.public-page{max-width:860px;margin:0 auto;padding:24px 18px}.public-head{display:flex;align-items:center;gap:16px;margin-bottom:16px}.public-logo{max-height:56px;max-width:160px;object-fit:contain}.public-total{font-size:26px;font-weight:800;color:var(--primary)}@media(max-width:768px){.mobile-topbar{display:flex;align-items:center;gap:14px;background:var(--primary);color:#fff;padding:12px 16px;position:sticky;top:0;z-index:50}.mobile-topbar .brand{font-size:18px;font-weight:700}.mobile-topbar .brand span{color:var(--accent)}.hamburger{background:transparent;border:none;color:#fff;font-size:24px;cursor:pointer;line-height:1;padding:0}.app-shell{flex-direction:column}.sidebar{position:fixed;top:0;left:0;bottom:0;transform:translate(-100%);transition:transform .25s ease;z-index:100;box-shadow:2px 0 16px #00000040}.sidebar.open{transform:translate(0)}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:90}.content,.card{padding:16px}.item-row{grid-template-columns:1fr 1fr;align-items:stretch}.item-row>label:first-child{grid-column:1 / -1}.wizard-step{min-width:0;flex:1 1 30%;font-size:12px;padding:9px 6px}.toast{left:16px;right:16px;bottom:16px;text-align:center}.login-card{padding:28px 22px}}.btn-lg{padding:14px 26px;font-size:16px;border-radius:12px}.lp{background:#fff;color:#1f2937;overflow-x:hidden}.lp h2{font-size:clamp(26px,4vw,40px);text-align:center;color:var(--primary);margin:0 0 10px;letter-spacing:-.5px}.lp-lead{text-align:center;color:var(--muted);max-width:720px;margin:0 auto 34px;font-size:17px;line-height:1.6}.lp-eyebrow{display:inline-block;background:#fff3e0;color:#b45309;font-weight:700;font-size:13px;padding:5px 12px;border-radius:999px;margin-bottom:16px}.lp-nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:14px 6vw;background:#ffffffd1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.lp-brand{font-size:22px;font-weight:800;color:var(--primary)}.lp-brand span{color:var(--accent)}.lp-nav-links{display:flex;align-items:center;gap:22px}.lp-nav-links a{color:#374151;font-weight:600}.lp-nav-links a:hover{color:var(--primary)}.lp-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;padding:70px 6vw 80px;position:relative;background:radial-gradient(1200px 500px at 85% -10%,rgba(245,166,35,.18),transparent 60%),radial-gradient(900px 500px at 0% 10%,rgba(91,124,174,.2),transparent 55%),linear-gradient(180deg,#f7f9fd,#fff)}.lp-hero-text h1{font-size:clamp(34px,5.2vw,60px);line-height:1.05;letter-spacing:-1.5px;color:var(--primary);margin:0 0 18px}.lp-hero-text h1 .hl{background:linear-gradient(120deg,var(--accent),#ff7a59);-webkit-background-clip:text;background-clip:text;color:transparent}.lp-hero-text p{font-size:19px;line-height:1.6;color:#4b5563;max-width:540px;margin:0 0 28px}.lp-cta-row{display:flex;gap:14px;flex-wrap:wrap}.lp-microcopy{margin-top:18px;color:var(--muted);font-size:14px}.lp-hero,.lp-feature,.lp-step,.lp-plan{animation:lpFade .7s ease both}@keyframes lpFade{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.lp-hero-visual{position:relative}.lp-window{background:#fff;border-radius:16px;box-shadow:0 30px 70px #1f293738;overflow:hidden;border:1px solid var(--border)}.lp-window-bar{display:flex;gap:7px;padding:12px 14px;background:#f1f4f9;border-bottom:1px solid var(--border)}.lp-window-bar span{width:11px;height:11px;border-radius:50%;background:#d1d5db}.lp-window-bar span:first-child{background:#ff5f57}.lp-window-bar span:nth-child(2){background:#febc2e}.lp-window-bar span:nth-child(3){background:#28c840}.ba{position:relative;width:100%;aspect-ratio:3/2;overflow:hidden;background:#e5e7eb;-webkit-user-select:none;user-select:none;touch-action:none}.ba-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.ba-before{will-change:clip-path}.ba-tag{position:absolute;top:12px;z-index:4;color:#fff;font-size:12px;font-weight:700;padding:4px 10px;border-radius:6px;pointer-events:none;letter-spacing:.02em}.ba-tag-before{left:12px;background:#1f2937c7}.ba-tag-after{right:12px;background:var(--accent)}.ba-divider{position:absolute;top:0;bottom:0;width:3px;background:#fff;box-shadow:0 0 0 1px #00000014;transform:translate(-1.5px);z-index:5;pointer-events:none}.ba-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:#fff;color:var(--primary);display:grid;place-items:center;font-size:16px;font-weight:800;box-shadow:0 4px 14px #00000040}.ba-range{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:6}.ba-range:focus-visible+.ba-divider .ba-handle{outline:3px solid var(--accent);outline-offset:3px}.lp-badge-float{position:absolute;right:-10px;bottom:-18px;background:#fff;border:1px solid var(--border);box-shadow:0 14px 30px #1f293729;border-radius:12px;padding:10px 16px;font-weight:700;color:var(--primary);animation:lpFloat 3s ease-in-out infinite}@keyframes lpFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.lp-band{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:30px 6vw;background:var(--primary);color:#fff}.lp-stat{text-align:center}.lp-stat .num{font-size:clamp(22px,3vw,34px);font-weight:800;color:#fff}.lp-stat .lbl{color:#c3cee3;font-size:13px;margin-top:4px}.lp-section{padding:76px 6vw}.lp-pain{background:#fafbfe;text-align:center}.lp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1100px;margin:0 auto}.lp-feature{background:#fff;border:1px solid var(--border);border-radius:16px;padding:26px;transition:transform .2s,box-shadow .2s}.lp-feature:hover{transform:translateY(-4px);box-shadow:0 18px 40px #1f29371a}.lp-feature-icon{font-size:30px;width:56px;height:56px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,#fff3e0,#ffe3c2);margin-bottom:14px}.lp-feature h3{color:var(--primary);margin:0 0 8px;font-size:18px}.lp-feature p{color:var(--muted);margin:0;line-height:1.55;font-size:14.5px}.lp-showcase{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;background:linear-gradient(180deg,#fff,#f7f9fd)}.lp-showcase-text,.lp-showcase-text h2{text-align:left}.lp-showcase-text p{color:#4b5563;font-size:17px;line-height:1.6;margin:0 0 22px}.lp-showcase-visual{position:relative}.lp-showcase-visual .ba{border-radius:16px;box-shadow:0 22px 50px #1f293729;border:1px solid var(--border)}.lp-showcase-hint{text-align:center;color:var(--muted);font-size:13px;margin-top:12px}.lp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:980px;margin:0 auto}.lp-step{text-align:center;padding:10px}.lp-step-n{width:52px;height:52px;margin:0 auto 14px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;font-size:22px;font-weight:800}.lp-step h3{color:var(--primary);margin:0 0 6px}.lp-step p{color:var(--muted);margin:0}.lp-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1040px;margin:0 auto;align-items:stretch}.lp-plan{position:relative;background:#fff;border:1px solid var(--border);border-radius:18px;padding:28px;display:flex;flex-direction:column}.lp-plan.featured{border:2px solid var(--accent);box-shadow:0 20px 50px #f5a6232e;transform:translateY(-6px)}.lp-plan-badge{position:absolute;top:-13px;left:50%;transform:translate(-50%);background:var(--accent);color:#fff;font-weight:700;font-size:12px;padding:4px 14px;border-radius:999px}.lp-plan h3{color:var(--primary);margin:0 0 6px;font-size:20px}.lp-plan-price{font-size:34px;font-weight:800;color:var(--primary);margin:4px 0}.lp-plan-price small{font-size:14px;font-weight:500;color:var(--muted)}.lp-plan-sub{color:#b45309;font-weight:600;font-size:13px;margin-bottom:8px}.lp-plan ul{list-style:none;padding:0;margin:14px 0 22px;flex:1}.lp-plan li{padding:7px 0;border-bottom:1px dashed var(--border);font-size:14.5px}.lp-plan li:before{content:"✓ ";color:#16a34a;font-weight:800}.lp-fineprint{text-align:center;color:var(--muted);margin-top:22px;font-size:13px}.lp-final{text-align:center;padding:84px 6vw;color:#fff;background:radial-gradient(800px 300px at 50% -20%,rgba(245,166,35,.35),transparent 60%),linear-gradient(135deg,#2c3e63,#1c2745)}.lp-final h2{color:#fff}.lp-final p{color:#cdd6ea;font-size:18px;margin:0 0 26px}.lp-footer{background:#131a2b;color:#aab4cc;padding:40px 6vw;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}.lp-footer .lp-brand{color:#fff}.lp-footer-links{display:flex;gap:20px}.lp-footer-links a{color:#aab4cc}.lp-footer-links a:hover{color:#fff}.lp-footer-copy{width:100%;color:#6b7794;font-size:13px;border-top:1px solid #25304a;padding-top:16px}@media(max-width:880px){.lp-hero,.lp-showcase,.lp-grid,.lp-steps,.lp-plans{grid-template-columns:1fr}.lp-band{grid-template-columns:repeat(2,1fr);gap:22px}.lp-nav-links{gap:14px}.lp-nav-links a[href^="#"]{display:none}.lp-plan.featured{transform:none}}a:focus-visible,button:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #1d4ed8;outline-offset:2px;border-radius:6px}.legal-page{min-height:100vh;background:#fff;color:var(--text)}.legal-nav{display:flex;align-items:center;justify-content:space-between;padding:18px 6vw;border-bottom:1px solid var(--border)}.legal-content{max-width:820px;margin:0 auto;padding:40px 6vw 80px;line-height:1.65}.legal-content h1{color:var(--primary);margin-bottom:4px}.legal-content h2{color:var(--primary);margin-top:28px;font-size:18px}.legal-content ul{padding-left:20px}.legal-content li{margin:4px 0}.consent-row{display:flex;gap:10px;align-items:flex-start;margin:16px 0 4px;font-size:13.5px;color:var(--muted);font-weight:400}.consent-row input{width:18px;height:18px;margin-top:1px;flex-shrink:0}.consent-row a{color:var(--accent)}.inline-date{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);font-weight:600;margin:0;white-space:nowrap}.inline-date input{width:auto}.trend-chart{display:flex;align-items:flex-end;gap:10px;height:160px;padding-top:8px}.trend-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.trend-bars{flex:1;display:flex;align-items:flex-end;gap:3px;width:100%;justify-content:center}.trend-bar{width:38%;min-height:2px;border-radius:4px 4px 0 0}.trend-bar.created{background:var(--primary-light)}.trend-bar.accepted{background:var(--success)}.trend-label{font-size:11px;color:var(--muted);margin-top:6px;text-transform:uppercase}.trend-count{font-size:12px;font-weight:700;color:var(--primary)}.trend-legend{display:inline-block;width:10px;height:10px;border-radius:2px;vertical-align:middle}.trend-legend.created{background:var(--primary-light)}.trend-legend.accepted{background:var(--success)}.autosave-status{flex:1;text-align:center;font-size:12px}.toast-host{position:fixed;bottom:24px;right:24px;z-index:1000;display:flex;flex-direction:column;gap:8px;align-items:flex-end}.toast-host .toast{position:static}.toast-error{background:var(--danger)}.toast-success{background:var(--success)}.toast-info{background:var(--primary)}.lang-switch{display:inline-flex;gap:2px;border:1px solid var(--border);border-radius:8px;overflow:hidden}.lang-switch button{padding:4px 8px;font-size:12px;font-weight:700;background:#fff;color:var(--muted);border:none;cursor:pointer;width:auto}.lang-switch button.active{background:var(--primary);color:#fff}.lp-nav-links .lang-switch{margin-left:4px}
