:root{--bg:#f5f4f0;--surface:#fff;--surface2:#f0efe9;--border:#e4e2db;--text:#1a1917;--text2:#6b6860;--text3:#9e9c94;--accent:#2b6be6;--accent-light:#eef3fd;--accent-dark:#1a4fb5;--danger:#e63946;--danger-light:#fdeef0;--warn:#f4a015;--warn-light:#fef6e7;--success:#2a9d5c;--success-light:#e8f7ee;--radius:16px;--radius-sm:10px;--shadow:0 2px 16px #00000014;--shadow-lg:0 8px 40px #0000001f;--font:-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--paper:#f6f4ef;--surface-sunken:#ede9e0;--ink:#3a342b;--ink-hover:#302b22;--ink-deep:#14120e;--landing-text-muted:#6b675f;--landing-text-faint:#8a857a;--landing-text-decorative:#a5a197;--landing-line:#e4dfd5;--landing-line-soft:#efece5;--landing-line-sunken:#dcd6c9;--wash:#f0ece3;--landing-disabled:#b4b0a6}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);height:100%;font-family:var(--font);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow:hidden}#root{height:100%;overflow:hidden}#app{height:100%;background:var(--bg);flex-direction:column;max-width:480px;height:-webkit-fill-available;margin:0 auto;display:flex;position:relative;overflow:hidden}@media (width>=601px) and (width<=1024px){#app{max-width:100%}}.topbar{padding:calc(var(--safe-top) + 12px) 20px 12px;background:var(--surface);border-bottom:1px solid var(--border);z-index:100;flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.topbar-brand{align-items:center;gap:8px;display:flex}.topbar-logo{background:var(--text);border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:flex}.topbar-title{font-family:var(--font-display);color:var(--text);letter-spacing:-.3px;font-size:17px}.lang-toggle{background:var(--surface2);border-radius:8px;gap:2px;padding:3px;display:flex}.lang-btn{color:var(--text2);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font);background:0 0;border:none;border-radius:6px;padding:5px 10px;transition:all .15s}.lang-btn.active{background:var(--surface);color:var(--text);box-shadow:0 1px 4px #0000001a}.step-indicator{background:var(--surface);border-bottom:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:8px;padding:10px 20px 12px;display:flex}.step-progress-track{background:var(--surface2);border-radius:2px;height:4px;overflow:hidden}.step-progress-fill{background:linear-gradient(90deg, var(--accent), var(--success));border-radius:2px;height:100%;transition:width .4s cubic-bezier(.34,1.2,.64,1)}.step-dots-row{align-items:center;gap:6px;display:flex;overflow-x:auto}.step-dot{cursor:pointer;flex-direction:column;flex:1;align-items:center;gap:4px;min-width:44px;display:flex}.step-dot-circle{background:var(--surface2);border:2px solid var(--border);width:28px;height:28px;color:var(--text3);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:600;transition:all .2s;display:flex}.step-dot.active .step-dot-circle{background:var(--text);border-color:var(--text);color:#fff;box-shadow:0 0 0 3px var(--accent-light)}.step-dot.done .step-dot-circle{background:var(--success);border-color:var(--success);color:#fff}.step-dot-label{color:var(--text3);text-align:center;white-space:nowrap;font-size:9px;font-weight:500}.step-dot.active .step-dot-label{color:var(--text);font-weight:600}.step-connector{background:var(--border);border-radius:1px;flex:0 0 8px;align-self:center;height:2px;margin-bottom:14px}.main-scroll{-webkit-overflow-scrolling:touch;padding:20px;padding-bottom:calc(80px + env(safe-area-inset-bottom,0px) + 20px);flex:1;scroll-padding-bottom:80px;overflow-y:auto}.bottom-nav{padding:12px 20px calc(12px + var(--safe-bottom));background:var(--surface);border-top:1px solid var(--border);z-index:100;gap:10px;display:flex;position:absolute;bottom:0;left:0;right:0}.btn{border-radius:var(--radius);cursor:pointer;font-size:15px;font-weight:600;font-family:var(--font);border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:14px 20px;transition:all .15s;display:flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--text);color:#fff}.btn-primary:active{background:#333}.btn-secondary{background:var(--surface2);color:var(--text);border:1px solid var(--border)}.btn-accent{background:var(--accent);color:#fff}.btn-danger{background:var(--danger-light);color:var(--danger)}.btn-success{background:var(--success);color:#fff}.card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);margin-bottom:14px;padding:18px;box-shadow:0 1px 2px #1a191708,0 4px 16px #1a19170d}.card-title{text-transform:uppercase;letter-spacing:.6px;color:var(--text3);margin-bottom:16px;font-size:12px;font-weight:700}.field{margin-bottom:16px}.field:last-child{margin-bottom:0}label{color:var(--text2);align-items:center;gap:6px;margin-bottom:7px;font-size:13px;font-weight:600;display:flex}label .field-icon{opacity:.75;align-items:center;display:inline-flex}input[type=text],input[type=email],input[type=tel],input[type=date],input[type=time],input[type=number],textarea,select{border:1.5px solid var(--border);border-radius:var(--radius-sm);width:100%;font-size:16px;font-family:var(--font);color:var(--text);background:var(--surface2);appearance:none;touch-action:manipulation;outline:none;padding:12px 14px;transition:all .15s}input:focus,textarea:focus,select:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 4px var(--accent-light)}textarea{resize:vertical;min-height:80px}.section-header{margin-bottom:20px}.section-title{font-family:var(--font-display);color:var(--text);letter-spacing:-.5px;margin-bottom:4px;font-size:26px}.section-subtitle{color:var(--text2);font-size:14px}.radio-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.radio-option{border:1.5px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;text-align:center;background:var(--surface2);padding:12px;transition:all .15s}.radio-option.selected{border-color:var(--text);background:var(--text);color:#fff}.radio-option.status-prevue.selected{border-color:var(--accent);background:var(--accent-light);color:var(--accent)}.radio-option.status-encours.selected{color:#c8862a;background:#fbf0e0;border-color:#c8862a}.radio-option.status-terminee.selected{border-color:var(--success);background:var(--success-light);color:var(--success)}.radio-option.status-annulee.selected{border-color:var(--danger);background:var(--danger-light);color:var(--danger)}.radio-option .radio-icon{justify-content:center;align-items:center;margin-bottom:4px;display:flex}.radio-option .radio-label{font-size:13px;font-weight:500}.radio-list{flex-direction:column;gap:8px;display:flex}.radio-list .radio-option{text-align:left;align-items:center;gap:10px;padding:12px 14px;display:flex}.radio-list .radio-option .radio-icon{flex-shrink:0;margin-bottom:0;font-size:18px}.radio-list .radio-option .radio-label{flex:1;font-size:14px}.radio-list .radio-option .radio-check{border:2px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.radio-list .radio-option.selected .radio-check{background:#fff;border-color:#fff}.radio-list .radio-option.selected .radio-check:after{content:"✓";color:var(--text);font-size:11px}.toggle-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.toggle-row:last-child{border-bottom:none}.toggle-label{font-size:14px;font-weight:500}.toggle{background:var(--border);cursor:pointer;appearance:none;border:none;border-radius:14px;flex-shrink:0;width:48px;height:28px;transition:background .2s;position:relative}.toggle.on{background:var(--text)}.toggle:after{content:"";background:#fff;border-radius:11px;width:22px;height:22px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0003}.toggle.on:after{transform:translate(20px)}.alert{border-radius:var(--radius-sm);margin-top:8px;padding:10px 14px;font-size:13px;font-weight:500;line-height:1.4}.alert-warn{background:var(--warn-light);color:#8a5c00;border:1px solid #f4c77b}.alert-info{background:var(--accent-light);color:var(--accent-dark);border:1px solid #c0d6f8}.alert-danger{background:var(--danger-light);color:var(--danger);border:1px solid #f8b8be}.room-list{flex-direction:column;gap:10px;display:flex}.room-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;align-items:center;gap:12px;padding:14px 16px;transition:all .15s;display:flex}.room-card.active{border-color:var(--text);background:var(--text);color:#fff}.room-card .room-icon{flex-shrink:0;font-size:22px}.room-card .room-info{flex:1;min-width:0}.room-card .room-name{font-size:15px;font-weight:600}.room-card .room-vol{opacity:.6;margin-top:2px;font-size:12px}.room-card .room-actions{gap:4px;display:flex}.room-card .icon-btn{cursor:pointer;background:#0000000f;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;display:flex}.room-card.active .icon-btn{background:#ffffff26}.add-room-btn{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;color:var(--text2);width:100%;font-size:14px;font-weight:500;font-family:var(--font);background:0 0;padding:16px;transition:all .15s}.add-room-btn:active{background:var(--surface2)}.catalog-category{margin-bottom:20px}.catalog-category-title{text-transform:uppercase;letter-spacing:.8px;color:var(--text3);margin-bottom:10px;font-size:12px;font-weight:700}.item-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.item-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;text-align:center;padding:12px;transition:all .15s;position:relative}.item-card.in-inventory{border-color:var(--accent);background:var(--accent-light)}.item-card .item-icon{justify-content:center;align-items:center;min-height:28px;margin-bottom:6px;font-size:28px;display:flex}.item-card .item-name{color:var(--text);font-size:12px;font-weight:600;line-height:1.3}.item-card .item-qty-badge{background:var(--text);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:700;display:flex;position:absolute;top:6px;right:6px}.item-card-pulse{animation:.35s itemCardPulse}@keyframes itemCardPulse{0%{border-color:var(--accent);transform:scale(1)}40%{border-color:var(--success);background:var(--success-light);transform:scale(1.06)}to{transform:scale(1)}}.item-card-pulse .item-qty-badge{animation:.35s badgePop}@keyframes badgePop{0%{transform:scale(.6)}60%{transform:scale(1.25)}to{transform:scale(1)}}.inv-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:12px;margin-bottom:8px;padding:12px 14px;display:flex}.inv-item .inv-icon{flex-shrink:0;font-size:22px}.inv-item .inv-info{flex:1;min-width:0}.inv-item .inv-name{font-size:14px;font-weight:600}.inv-item .inv-variant{color:var(--text2);font-size:12px}.inv-item .inv-vol{color:var(--text3);margin-top:2px;font-size:11px}.inv-item .inv-tags{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.tag{letter-spacing:.2px;border-radius:5px;padding:2px 7px;font-size:10px;font-weight:600}.tag-fragile{background:var(--danger-light);color:var(--danger)}.tag-heavy{color:#c25000;background:#fff0e0}.tag-disassembly{color:#3b5bbd;background:#e8f0fe}.tag-lift{color:var(--success);background:#e8faf0}.inv-item .inv-qty{flex-shrink:0;align-items:center;gap:6px;display:flex}.qty-btn{border:1.5px solid var(--border);background:var(--surface2);cursor:pointer;width:32px;height:32px;color:var(--text);border-radius:8px;justify-content:center;align-items:center;font-size:18px;font-weight:600;transition:all .1s;display:flex}.qty-btn:active{background:var(--border);transform:scale(.9)}.qty-num{text-align:center;min-width:28px;font-size:16px;font-weight:700}.volume-bar-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:16px;margin-bottom:12px;padding:14px 16px;display:flex}.volume-big{font-family:var(--font-display);color:var(--text);flex-shrink:0;font-size:36px;line-height:1}.volume-big span{font-size:16px;font-family:var(--font);color:var(--text2);font-weight:500}.volume-breakdown{color:var(--text2);flex:1;font-size:12px}.box-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 0;display:flex}.box-row:last-child{border-bottom:none}.box-icon{flex-shrink:0;font-size:20px}.box-label{flex:1;font-size:13px;font-weight:500}.box-vol{color:var(--text3);font-size:11px}.box-qty{align-items:center;gap:6px;display:flex}.box-qty input{text-align:center;width:52px;padding:6px 8px;font-size:15px;font-weight:600}.summary-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:14px;margin-bottom:10px;padding:16px;display:flex}.summary-stat .stat-icon{flex-shrink:0;font-size:28px}.summary-stat .stat-info{flex:1}.summary-stat .stat-label{color:var(--text2);font-size:12px;font-weight:500}.summary-stat .stat-value{margin-top:2px;font-size:18px;font-weight:700}.summary-big{background:var(--text);color:#fff;border-radius:var(--radius);text-align:center;margin-bottom:14px;padding:20px}.summary-big .big-num{font-family:var(--font-display);font-size:52px;line-height:1}.summary-big .big-unit{opacity:.7;font-size:20px}.summary-big .big-label{opacity:.6;margin-top:4px;font-size:13px}.item-list-summary{flex-direction:column;gap:4px;display:flex}.item-list-summary li{color:var(--text2);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:4px 0;font-size:13px;list-style:none;display:flex}.item-list-summary li:last-child{border-bottom:none}.sheet-overlay{z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;align-items:flex-end;display:none;position:fixed;inset:0}.sheet-overlay.open{display:flex}.bottom-sheet{background:var(--surface);-webkit-overflow-scrolling:touch;width:100%;max-height:80dvh;padding:0 20px calc(20px + env(safe-area-inset-bottom,0px));border-radius:20px 20px 0 0;scroll-padding-bottom:60px;animation:.3s slideUp;overflow-y:auto}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-handle{background:var(--border);border-radius:2px;width:36px;height:4px;margin:12px auto 16px}.sheet-title{font-family:var(--font-display);text-align:center;margin-bottom:16px;font-size:20px}.variant-option{border:1.5px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:12px;margin-bottom:8px;padding:14px 16px;transition:all .15s;display:flex}.variant-option:active{background:var(--surface2)}.variant-option .var-name{flex:1;font-size:14px;font-weight:500}.variant-option .var-vol{color:var(--text2);font-size:12px}.variant-option .var-tags{gap:4px;display:flex}.modal-overlay{z-index:300;padding:calc(env(safe-area-inset-top,0px) + 20px) 20px calc(env(safe-area-inset-bottom,0px) + 20px);background:#00000080;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal-overlay.open{display:flex}.modal{background:var(--surface);border-radius:var(--radius);-webkit-overflow-scrolling:touch;width:100%;max-width:380px;max-height:80vh;padding:24px 20px;animation:.2s fadeIn;overflow-y:auto}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-title{margin-bottom:16px;font-size:18px;font-weight:700}.modal-actions{gap:10px;margin-top:16px;display:flex}.empty-state{text-align:center;color:var(--text2);padding:40px 20px}.celebration-overlay{z-index:300;background:#1a19178c;justify-content:center;align-items:center;padding:24px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.celebration-card{background:var(--surface);border-radius:var(--radius);text-align:center;width:100%;max-width:340px;padding:32px 24px 24px;animation:.35s cubic-bezier(.34,1.56,.64,1) celebrationPop}@keyframes celebrationPop{0%{opacity:0;transform:scale(.85)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.celebration-burst{height:64px;margin-bottom:8px;position:relative}.celebration-check{background:var(--success-light);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto;animation:.4s cubic-bezier(.34,1.56,.64,1) .1s both checkPop;display:flex}@keyframes checkPop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.celebration-particle{opacity:0;font-size:18px;animation:1.1s ease-out forwards particleFloat;position:absolute;top:8px}.celebration-particle-0{animation-delay:.15s;left:18%}.celebration-particle-1{animation-delay:50ms;left:38%}.celebration-particle-2{animation-delay:.25s;left:50%}.celebration-particle-3{animation-delay:.1s;left:62%}.celebration-particle-4{animation-delay:.2s;left:80%}@keyframes particleFloat{0%{opacity:0;transform:translateY(10px)scale(.6)}30%{opacity:1;transform:translateY(-6px)scale(1)}to{opacity:0;transform:translateY(-32px)scale(.9)}}.celebration-title{margin:12px 0 18px;font-size:19px;font-weight:700}.celebration-stats{justify-content:center;gap:20px;margin-bottom:22px;display:flex}.celebration-stat-num{color:var(--accent);font-size:22px;font-weight:700}.celebration-stat-label{color:var(--text3);margin-top:2px;font-size:11px}.celebration-btn{width:100%;padding:12px;font-size:14px}.mascot-breathe{animation:1.6s ease-in-out infinite mascotBreathe}@keyframes mascotBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.month-calendar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.month-calendar-nav{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.month-calendar-nav button{border:1px solid var(--border);background:var(--surface2);cursor:pointer;width:32px;height:32px;color:var(--text);border-radius:8px;font-size:16px}.month-calendar-label{text-transform:capitalize;font-size:15px;font-weight:700}.month-calendar-weekdays{text-align:center;color:var(--text3);grid-template-columns:repeat(7,1fr);margin-bottom:4px;font-size:11px;font-weight:700;display:grid}.month-calendar-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.month-calendar-day{aspect-ratio:1;cursor:pointer;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;transition:background .15s;display:flex}.month-calendar-day:hover{background:var(--surface2)}.month-calendar-day.muted{opacity:.3;cursor:default}.month-calendar-day.muted:hover{background:0 0}.month-calendar-day.today .month-calendar-daynum{color:var(--accent);font-weight:800}.month-calendar-day.selected{background:var(--text)}.month-calendar-day.selected .month-calendar-daynum{color:#fff}.month-calendar-daynum{font-size:13px;font-weight:600}.month-calendar-dots{gap:2px;display:flex}.month-calendar-dot{border-radius:50%;width:5px;height:5px}.empty-state .empty-icon{margin-bottom:12px;font-size:48px}.empty-state .empty-title{color:var(--text);margin-bottom:6px;font-size:16px;font-weight:600}.empty-state .empty-sub{font-size:14px}.pdf-btn{color:#fff;border-radius:var(--radius);font-size:16px;font-weight:600;font-family:var(--font);cursor:pointer;background:linear-gradient(135deg,#1a1917 0%,#3d3b36 100%);border:none;justify-content:center;align-items:center;gap:10px;width:100%;margin-top:12px;padding:18px;transition:all .15s;display:flex}.pdf-btn:active{transform:scale(.98)}.chip-tabs{gap:8px;margin-bottom:16px;padding-bottom:2px;display:flex;overflow-x:auto}.chip-tab{border:1.5px solid var(--border);background:var(--surface);color:var(--text2);cursor:pointer;white-space:nowrap;font-size:13px;font-weight:600;font-family:var(--font);border-radius:20px;padding:8px 14px;transition:all .15s}.chip-tab.active{background:var(--text);border-color:var(--text);color:#fff}.room-selector{gap:8px;margin-bottom:16px;padding-bottom:4px;display:flex;overflow-x:auto}.room-sel-btn{border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--surface);cursor:pointer;font-family:var(--font);white-space:nowrap;flex-direction:column;align-items:center;gap:4px;min-width:70px;padding:10px 12px;transition:all .15s;display:flex}.room-sel-btn .sel-icon{font-size:20px}.room-sel-btn .sel-name{color:var(--text2);text-overflow:ellipsis;max-width:70px;font-size:11px;font-weight:600;overflow:hidden}.room-sel-btn.active{background:var(--text);border-color:var(--text)}.room-sel-btn.active .sel-name{color:#fff}.main-scroll-nopad{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 20px);scroll-padding-bottom:40px}.topbar-actions{align-items:center;gap:6px;display:flex}.topbar-icon-btn{background:var(--surface2);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;transition:background .15s;display:flex}.topbar-icon-btn:active{background:var(--border)}.topbar-icon-btn.active{background:var(--accent-light)}.auth-page{background:var(--bg);padding:calc(env(safe-area-inset-top,0px) + 20px) 20px calc(env(safe-area-inset-bottom,0px) + 20px);-webkit-overflow-scrolling:touch;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.auth-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);width:100%;max-width:360px;box-shadow:var(--shadow-lg);padding:32px 24px}.auth-logo-wrap{justify-content:center;margin-bottom:12px;display:flex}.auth-logo{background:var(--text);border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;font-size:26px;display:flex}.auth-brand{font-family:var(--font-display);text-align:center;margin-bottom:4px;font-size:24px}.auth-tagline{color:var(--text2);text-align:center;margin-bottom:24px;font-size:13px}.auth-tabs{background:var(--surface2);border-radius:10px;gap:3px;margin-bottom:20px;padding:3px;display:flex}.auth-tab{color:var(--text2);cursor:pointer;font-size:14px;font-weight:600;font-family:var(--font);background:0 0;border:none;border-radius:8px;flex:1;padding:9px;transition:all .15s}.auth-tab.active{background:var(--surface);color:var(--text);box-shadow:0 1px 4px #0000001a}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-submit{width:100%;margin-top:4px;padding:14px;font-size:15px}.auth-error{background:var(--danger-light);color:var(--danger);border-radius:var(--radius-sm);border:1px solid #f8b8be;padding:10px 12px;font-size:13px}.auth-success{background:var(--success-light);color:var(--success);border-radius:var(--radius-sm);border:1px solid #a8dfc0;padding:10px 12px;font-size:13px}.history-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);overflow:hidden}.history-card-header{cursor:pointer;width:100%;font-family:var(--font);text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:14px 16px;transition:background .15s;display:flex}.history-card-header:active{background:var(--surface2)}.history-card-left{flex:1;min-width:0}.history-client{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.history-meta{color:var(--text2);margin-top:2px;font-size:12px}.history-card-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.history-vol{font-family:var(--font-display);color:var(--text);font-size:18px}.history-truck-badge{background:var(--accent-light);color:var(--accent);white-space:nowrap;border-radius:6px;padding:2px 7px;font-size:10px;font-weight:600}.history-chevron{color:var(--text3);font-size:10px}.history-detail{border-top:1px solid var(--border);flex-direction:column;gap:0;padding:12px 16px 16px;display:flex}.history-detail-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0;font-size:13px;display:flex}.history-detail-row:last-of-type{border-bottom:none}.history-detail-row span:first-child{color:var(--text2);flex-shrink:0}.history-detail-row span:last-child{color:var(--text);text-align:right}.history-delete-btn{border:1.5px solid var(--danger);border-radius:var(--radius-sm);background:var(--danger-light);width:100%;color:var(--danger);font-size:13px;font-weight:600;font-family:var(--font);cursor:pointer;margin-top:12px;padding:10px;transition:all .15s}.history-delete-btn:active{background:var(--danger);color:#fff}.history-delete-btn:disabled{opacity:.5;cursor:not-allowed}.save-visit-btn{border-radius:var(--radius);background:var(--accent);color:#fff;width:100%;font-size:15px;font-weight:600;font-family:var(--font);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:16px;transition:all .15s;display:flex}.save-visit-btn:active{transform:scale(.98)}.save-visit-btn:disabled{opacity:.6;cursor:not-allowed}.save-visit-btn.error{background:var(--danger)}.dashboard{max-width:720px}.dashboard-welcome{margin-bottom:20px}.dashboard-hi{font-family:var(--font-display);letter-spacing:-.4px;font-size:26px}.dashboard-sub{color:var(--text2);margin-top:4px;font-size:14px}.achievement-row{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.achievement-badge{color:#8a6d1f;background:#fdf6e3;border:1px solid #f0e0ad;border-radius:20px;align-items:center;gap:5px;padding:5px 12px;font-size:12px;font-weight:700;display:inline-flex}.accuracy-banner{background:var(--accent-light);color:var(--accent-dark);border-radius:var(--radius-sm);border:1px solid #c9dcf7;margin-bottom:14px;padding:10px 14px;font-size:13px;font-weight:600}.dashboard-cta{border-radius:var(--radius);background:var(--text);color:#fff;width:100%;font-size:16px;font-weight:600;font-family:var(--font);cursor:pointer;border:none;justify-content:center;align-items:center;gap:10px;margin-bottom:24px;padding:16px;transition:all .15s;display:flex}.dashboard-cta:active{background:#333;transform:scale(.98)}.dashboard-stats{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:18px 16px}.stat-card-truck{grid-column:1/-1}.stat-card-num{font-family:var(--font-display);color:var(--text);font-size:36px;line-height:1}.stat-card-truck-text{font-size:16px;font-family:var(--font);letter-spacing:-.2px;font-weight:700}.stat-card-label{color:var(--text2);margin-top:4px;font-size:12px;font-weight:500}.dashboard-recent{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.dashboard-section-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text2);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;font-size:13px;font-weight:600;display:flex}.dashboard-see-all{color:var(--accent);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font);background:0 0;border:none}.dashboard-visit-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.dashboard-visit-row:last-child{border-bottom:none}.dashboard-visit-name{font-size:14px;font-weight:600}.dashboard-visit-date{color:var(--text2);margin-top:2px;font-size:12px}.dashboard-visit-right{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.dashboard-visit-vol{font-size:14px;font-weight:700}.live-panel{flex-direction:column;gap:16px;display:flex}.live-panel-title{text-transform:uppercase;letter-spacing:.8px;color:var(--text3);font-size:11px;font-weight:700}.live-vol-block{background:var(--text);color:#fff;border-radius:var(--radius);padding:18px}.live-vol-row{align-items:baseline;gap:6px;margin-bottom:12px;display:flex}.live-vol-num{font-family:var(--font-display);font-size:48px;line-height:1}.live-vol-unit{opacity:.7;font-size:18px}.live-vol-bar-wrap{background:#fff3;border-radius:4px;height:6px;margin-bottom:8px;overflow:hidden}.live-vol-bar{border-radius:4px;height:100%;transition:width .4s,background .4s}.live-vol-caption{opacity:.6;font-size:11px}.live-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:12px;padding:12px 14px;display:flex}.live-stat-icon{flex-shrink:0;font-size:22px}.live-stat-info{flex:1}.live-stat-label{color:var(--text2);font-size:11px;font-weight:500}.live-stat-value{margin-top:2px;font-size:14px;font-weight:700}.live-rooms{flex-direction:column;gap:8px;display:flex}.live-rooms-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text3);font-size:11px;font-weight:700}.live-room-row{align-items:center;gap:10px;display:flex}.live-room-left{flex-shrink:0;align-items:center;gap:6px;width:110px;display:flex}.live-room-icon{font-size:14px}.live-room-name{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.live-room-right{flex:1;align-items:center;gap:8px;display:flex}.live-room-bar-wrap{background:var(--border);border-radius:2px;flex:1;height:4px;overflow:hidden}.live-room-bar{background:var(--accent);border-radius:2px;height:100%;transition:width .4s}.live-room-vol{color:var(--text2);white-space:nowrap;font-size:11px;font-weight:600}.live-empty{color:var(--text3);text-align:center;padding:20px 0;font-size:13px}.mobile-bottom-nav{background:var(--surface);border-top:1px solid var(--border);z-index:150;padding-bottom:env(safe-area-inset-bottom,0px);align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav-tab{cursor:pointer;font-family:var(--font);color:var(--text3);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-height:56px;padding:6px 4px;transition:color .15s;display:flex}.mobile-nav-tab.active{color:var(--accent)}.mobile-nav-tab:active{opacity:.7}.mobile-nav-icon{justify-content:center;align-items:center;line-height:1;display:flex}.mobile-nav-label{letter-spacing:.02em;font-size:10px;font-weight:600}.mobile-bottom-nav-wizard{padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));gap:10px}.mobile-bottom-nav-wizard .btn{flex:1}.btn-finish-inventory{background:var(--success)!important;color:#fff!important;flex:1.6!important}.btn-finish-inventory:active{background:#23814a!important}@media (width>=1025px){html,body{overflow:hidden}.topbar-desktop{border-bottom:1px solid var(--border);height:64px;padding:0 32px}.topbar-desktop .topbar-logo{border-radius:10px;width:38px;height:38px;font-size:20px}.topbar-desktop .topbar-title{font-size:20px}.topbar-title-suffix{font-family:var(--font);color:var(--text2);letter-spacing:0;font-size:14px;font-weight:400;display:none}#app-desktop{background:var(--bg);flex-direction:column;width:100%;height:100%;display:flex;position:relative}.desktop-body{flex:1;min-height:0;display:flex;overflow:hidden}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:220px;padding:16px 0 0;display:flex;overflow-y:auto}.sidebar-section{border-bottom:1px solid var(--border);flex-direction:column;gap:2px;margin-bottom:12px;padding:0 10px 12px;display:flex}.sidebar-steps-section{border-bottom:none;flex:1}.sidebar-label{text-transform:uppercase;letter-spacing:.8px;color:var(--text3);margin-bottom:6px;padding:0 10px;font-size:10px;font-weight:700}.sidebar-steps{flex-direction:column;gap:1px;display:flex}.sidebar-step{cursor:pointer;font-family:var(--font);text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;width:100%;padding:9px 10px;transition:all .15s;display:flex}.sidebar-step:hover{background:var(--surface2)}.sidebar-step.active{background:var(--accent-light)}.sidebar-step-num{background:var(--surface2);border:1.5px solid var(--border);width:22px;height:22px;color:var(--text2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.sidebar-step.active .sidebar-step-num{background:var(--accent);border-color:var(--accent);color:#fff}.sidebar-step.done .sidebar-step-num{background:var(--success);border-color:var(--success);color:#fff}.sidebar-step-icon{font-size:15px}.sidebar-step-label{color:var(--text);white-space:nowrap;font-size:13px;font-weight:500}.sidebar-step.active .sidebar-step-label{color:var(--accent);font-weight:600}.sidebar-nav-btn{cursor:pointer;font-family:var(--font);color:var(--text);text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;width:100%;padding:9px 10px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.sidebar-nav-btn:hover{background:var(--surface2)}.sidebar-nav-btn.active{background:var(--accent-light);color:var(--accent);font-weight:600}.sidebar-new-visit{color:var(--accent);font-weight:600}.sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding:12px 10px 16px}.sidebar-user{color:var(--text3);text-overflow:ellipsis;white-space:nowrap;margin-bottom:8px;padding:0 4px;font-size:11px;overflow:hidden}.sidebar-logout{border:1.5px solid var(--danger);background:var(--danger-light);cursor:pointer;font-family:var(--font);color:var(--danger);border-radius:8px;align-items:center;gap:8px;width:100%;padding:8px 10px;font-size:13px;font-weight:600;transition:all .15s;display:flex}.sidebar-logout:hover{background:var(--danger);color:#fff}.desktop-main{flex:1;min-width:0;display:flex;overflow:hidden}.desktop-form{flex:1;min-width:0;padding:36px 48px;overflow-y:auto}.desktop-panel-wrap{background:var(--surface);border-left:1px solid var(--border);flex-shrink:0;width:300px;padding:28px 20px;overflow-y:auto}.desktop-content-full{flex:1;max-width:860px;padding:36px 48px;overflow-y:auto}.desktop-nav-btns{border-top:1px solid var(--border);gap:12px;margin-top:28px;padding-top:24px;display:flex}.desktop-nav-btns .btn{flex:none;padding:12px 32px;font-size:14px}.section-title{font-size:30px}.item-grid{grid-template-columns:repeat(4,1fr)}.dashboard-stats{grid-template-columns:repeat(3,1fr)}.stat-card-truck{grid-column:auto}.stat-card-truck-text{font-size:14px}.stat-card-num{font-size:40px}.dashboard-hi{font-size:32px}.dashboard-cta{width:auto;margin-bottom:28px;padding:14px 24px;font-size:15px;display:inline-flex}.topbar-title-suffix{display:inline}}#landing{background:var(--paper);color:var(--ink);z-index:100;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,SF Pro Display,SF Pro Text,Onest,system-ui,sans-serif;position:fixed;inset:0;overflow-y:auto}:where(#landing) a{color:var(--ink);text-decoration:none}:where(#landing) a:hover{color:var(--landing-text-muted)}:where(#landing) h1,:where(#landing) h2,:where(#landing) h3{margin:0;font-weight:600}:where(#landing) p{margin:0}:where(#landing) ul{margin:0;padding:0;list-style:none}:where(#landing) button{font-family:inherit}:where(#landing) *,:where(#landing) :before,:where(#landing) :after{transition:background-color .15s,border-color .15s,color .15s}#landing h1,#landing h2,#landing p{text-wrap:pretty}.landing-container{max-width:1180px;margin:0 auto;padding:0 44px}.landing-header{z-index:30;-webkit-backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid var(--landing-line);background:#f6f4efd1;position:sticky;top:0}.landing-header-inner{justify-content:space-between;align-items:center;max-width:1180px;margin:0 auto;padding:14px 44px;display:flex}.landing-logo{white-space:nowrap;flex-shrink:0;align-items:center;gap:9px;display:flex}.landing-logo-mark{object-fit:cover;border-radius:9px;flex-shrink:0;width:34px;height:34px;display:block}.landing-logo-word{letter-spacing:-.01em;color:var(--ink);font-size:17px;font-weight:600}.landing-nav{flex-shrink:0;align-items:center;gap:30px;display:flex}.landing-nav a{color:var(--landing-text-muted);white-space:nowrap;flex-shrink:0;font-size:13px;font-weight:500}.landing-nav a:hover{color:var(--ink)}.landing-nav-actions{flex-shrink:0;align-items:center;gap:10px;margin-left:4px;display:flex}.landing-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;font-family:inherit;display:inline-flex}.landing-btn-text{color:var(--ink);background:0 0;padding:0;font-size:13px;font-weight:500}.landing-btn-text:hover{color:var(--landing-text-muted)}.landing-btn-solid{background:var(--ink);color:var(--paper)}.landing-btn-solid:hover{background:var(--ink-hover)}.landing-btn-outline{border:1px solid var(--ink);color:var(--ink);background:0 0}.landing-btn-outline:hover{background:var(--wash)}.landing-btn-light{background:var(--paper);color:var(--ink)}.landing-btn-light:hover{background:var(--surface)}.landing-btn-header{padding:9px 17px;font-size:13px;font-weight:600}.landing-btn-hero{padding:16px 30px;font-size:16px;font-weight:600}.landing-btn-report{padding:15px 28px;font-size:15px;font-weight:600}.landing-btn-final{padding:18px 34px;font-size:17px;font-weight:600}.landing-btn-block{width:100%;padding:15px;font-size:15px;font-weight:600}.landing-hero-link{color:var(--ink);align-items:center;gap:7px;font-size:16px;font-weight:500;display:inline-flex}.landing-hero{text-align:center;max-width:1180px;margin:0 auto;padding:110px 44px 0}.landing-eyebrow{letter-spacing:.16em;color:var(--landing-text-muted);margin-bottom:26px;font-size:12px;font-weight:600}.landing-h1{letter-spacing:-.04em;max-width:900px;margin:0 auto 26px;font-size:78px;line-height:1.03}.landing-hero-sub{color:var(--landing-text-muted);max-width:620px;margin:0 auto 38px;font-size:21px;font-weight:400;line-height:1.5}.landing-hero-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:24px;margin-bottom:14px;display:flex}.landing-hero-note{color:var(--landing-text-decorative);font-size:13px}.landing-demo-section{max-width:1180px;margin:0 auto;padding:70px 44px 110px}.landing-demo-card{background:var(--surface);border:1px solid var(--landing-line);border-radius:26px;max-width:880px;margin:0 auto;overflow:hidden;box-shadow:0 40px 80px -50px #14120e66}.landing-demo-top{background:var(--p-bg);border-bottom:1px solid var(--p-bottom);padding:26px 30px}.landing-demo-top.theme-taupe{--p-bg:#3a342b;--p-fg:#f6f4ef;--p-muted:#f6f4ef9e;--p-faint:#f6f4ef73;--p-line:#f6f4ef2e;--p-line-strong:#f6f4ef5c;--p-bottom:#f6f4ef24}.landing-demo-top.theme-encre{--p-bg:#14120e;--p-fg:#f6f4ef;--p-muted:#f6f4ef9e;--p-faint:#f6f4ef73;--p-line:#f6f4ef29;--p-line-strong:#f6f4ef57;--p-bottom:#f6f4ef1f}.landing-demo-top.theme-papier{--p-bg:#ede9e0;--p-fg:#3a342b;--p-muted:#6b675f;--p-faint:#6b675f;--p-line:#dcd6c9;--p-line-strong:#b7af9f;--p-bottom:#dcd6c9}.landing-demo-top.theme-blanc{--p-bg:#fff;--p-fg:#3a342b;--p-muted:#6b675f;--p-faint:#6b675f;--p-line:#e4dfd5;--p-line-strong:#c4bcac;--p-bottom:#e4dfd5}.landing-demo-toprow{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.landing-demo-label{letter-spacing:.2em;color:var(--p-faint);font-size:10px;font-weight:600}.landing-demo-reset{border:1px solid var(--p-line-strong);color:var(--p-muted);cursor:pointer;background:0 0;border-radius:999px;padding:6px 13px;font-size:11px;font-weight:600}.landing-demo-reset:hover{background:#7f7f7f1f}.landing-demo-totals{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.landing-demo-num{align-items:baseline;gap:8px;display:flex}.landing-demo-num strong{letter-spacing:-.045em;color:var(--p-fg);font-size:66px;font-weight:600;line-height:.86}.landing-demo-num span{color:var(--p-muted);font-size:22px;font-weight:400}.landing-demo-pills{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.landing-demo-pill{white-space:nowrap;border:1px solid var(--p-line);color:var(--p-muted);border-radius:999px;padding:9px 14px;font-size:12px;font-weight:500}.landing-demo-pill.strong{color:var(--p-fg);border-color:var(--p-line-strong);font-weight:600}.landing-demo-body{padding:24px 30px 30px}.landing-demo-tabs{scrollbar-width:none;gap:7px;margin-bottom:18px;display:flex;overflow-x:auto}.landing-demo-tabs::-webkit-scrollbar{width:0;height:0}.landing-demo-tab{border:1px solid var(--landing-line);cursor:pointer;white-space:nowrap;background:var(--surface);color:var(--landing-text-muted);border-radius:999px;flex-shrink:0;padding:8px 16px;font-size:13px;font-weight:600}.landing-demo-tab.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.landing-demo-grid{grid-template-columns:repeat(6,1fr);gap:9px;display:grid}.landing-demo-item{border:1px solid var(--landing-line);background:var(--surface);border-radius:16px;min-height:92px;position:relative}.landing-demo-item:hover{border-color:var(--landing-text-decorative)}.landing-demo-item.active{border-color:var(--ink)}.landing-demo-item-add{cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:7px;width:100%;height:100%;margin:0;padding:15px 6px 11px;display:flex}.landing-demo-item .icon{font-size:24px;line-height:1}.landing-demo-item .name{color:var(--ink);text-align:center;font-size:10px;font-weight:500;line-height:1.25}.landing-demo-item .vol{color:var(--landing-text-muted);font-size:10px}.landing-demo-item .count{background:var(--ink);min-width:21px;height:21px;color:var(--paper);pointer-events:none;border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:600;display:flex;position:absolute;top:-6px;right:-6px}.landing-demo-item .sub{background:var(--wash);border:1px solid var(--landing-line-sunken);cursor:pointer;width:21px;height:21px;color:var(--landing-text-muted);border-radius:999px;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;bottom:5px;right:5px}.landing-demo-hint{color:var(--landing-text-muted);text-align:center;margin-top:20px;font-size:13px}.landing-section{border-top:1px solid var(--landing-line)}.landing-section-inner{max-width:1180px;margin:0 auto;padding:110px 44px}.landing-section-head{max-width:700px;margin-bottom:66px}.landing-section-head .landing-eyebrow{margin-bottom:20px}.landing-h2{letter-spacing:-.035em;font-size:52px;line-height:1.05}.landing-h2-sm{letter-spacing:-.035em;font-size:46px;line-height:1.06}.landing-lead{color:var(--landing-text-muted);font-size:18px;line-height:1.6}.landing-steps-grid{grid-template-columns:repeat(3,1fr);gap:30px;display:grid}.landing-step-shot{aspect-ratio:9/16;background:var(--surface-sunken);border:1px solid var(--landing-line);border-radius:24px;margin-bottom:26px;position:relative;overflow:hidden}.landing-step-shot img{object-fit:cover;object-position:top;width:100%;height:100%;position:absolute;inset:0}.landing-step-num{color:var(--landing-text-muted);margin-bottom:10px;font-size:12px;font-weight:600}.landing-step-title{letter-spacing:-.025em;margin-bottom:12px;font-size:24px;font-weight:600}.landing-step-desc{color:var(--landing-text-muted);font-size:16px;font-weight:400;line-height:1.6}.landing-field-grid{grid-template-columns:.85fr 1.15fr;align-items:center;gap:70px;display:grid}.landing-field-list{flex-direction:column;gap:18px;display:flex}.landing-field-item{align-items:flex-start;gap:14px;display:flex}.landing-field-item svg{flex-shrink:0;margin-top:4px}.landing-field-item span{color:var(--ink);font-size:17px}.landing-field-visual{aspect-ratio:4/3;border:1px solid var(--landing-line);background:var(--surface-sunken);border-radius:28px;position:relative;overflow:hidden}.landing-field-visual img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.landing-report-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:70px;display:grid}.landing-report-mockup-wrap{perspective:1500px}.landing-report-mockup{background:var(--surface);border:1px solid var(--landing-line);border-radius:6px;padding:42px 38px;transform:rotateY(-6deg)rotateX(1.5deg);box-shadow:0 50px 90px -50px #14120e80}.landing-report-head{border-bottom:1.5px solid var(--ink);justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:22px;display:flex}.landing-report-head .title{letter-spacing:-.025em;font-size:22px;font-weight:600}.landing-report-head .meta{color:var(--landing-text-faint);margin-top:7px;font-size:12px}.landing-report-head .vol-wrap{text-align:right;flex-shrink:0}.landing-report-head .vol-label{letter-spacing:.16em;color:var(--landing-text-faint);font-size:9px;font-weight:600}.landing-report-head .vol-num{letter-spacing:-.03em;margin-top:6px;font-size:28px;font-weight:600;line-height:1}.landing-report-addr{border-bottom:1px solid var(--landing-line-soft);grid-template-columns:1fr 1fr;gap:26px;padding:24px 0;display:grid}.landing-report-addr .label{letter-spacing:.16em;color:var(--landing-text-faint);margin-bottom:9px;font-size:9px;font-weight:600}.landing-report-addr .value{font-size:13px;font-weight:500;line-height:1.5}.landing-report-addr .value small{color:var(--landing-text-faint);font-weight:400}.landing-report-rooms{border-bottom:1px solid var(--landing-line-soft);padding:22px 0}.landing-report-rooms .label{letter-spacing:.16em;color:var(--landing-text-faint);margin-bottom:15px;font-size:9px;font-weight:600}.landing-report-row{align-items:center;gap:14px;margin-bottom:12px;display:flex}.landing-report-row:last-child{margin-bottom:0}.landing-report-row .name{flex-shrink:0;width:92px;font-size:13px;font-weight:500}.landing-report-bar{background:var(--landing-line-soft);border-radius:3px;flex:1;height:6px;overflow:hidden}.landing-report-bar span{background:var(--ink);height:100%;display:block}.landing-report-row .num{text-align:right;width:62px;font-size:13px;font-weight:600}.landing-report-footer{gap:10px;padding-top:22px;display:flex}.landing-report-tag{border:1px solid var(--landing-line);border-radius:10px;flex:1;padding:14px}.landing-report-tag .label{letter-spacing:.14em;color:var(--landing-text-faint);font-size:9px;font-weight:600}.landing-report-tag .value{margin-top:6px;font-size:13px;font-weight:600}.landing-report-copy .landing-lead{margin-bottom:38px}.landing-pricing-head{text-align:center;max-width:640px;margin:0 auto 60px}.landing-pricing-head .landing-h2{margin-bottom:18px}.landing-pricing-head p{color:var(--landing-text-muted);font-size:19px}.landing-pricing-grid{grid-template-columns:1fr 1fr;gap:20px;max-width:840px;margin:0 auto;display:grid}.landing-plan{border-radius:24px;padding:38px;position:relative}.landing-plan.free{background:var(--surface);border:1px solid var(--landing-line)}.landing-plan.pro{background:var(--ink);color:var(--paper)}.landing-plan-label{letter-spacing:.16em;color:var(--landing-text-faint);margin-bottom:20px;font-size:11px;font-weight:600}.landing-plan.pro .landing-plan-headrow{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.landing-plan.pro .landing-plan-label{color:#f6f4ef80;margin-bottom:0}.landing-plan-badge{letter-spacing:.1em;color:var(--ink);background:var(--paper);white-space:nowrap;border-radius:999px;padding:5px 10px;font-size:10px;font-weight:600}.landing-plan-price{align-items:baseline;gap:8px;margin-bottom:10px;display:flex}.landing-plan-price strong{letter-spacing:-.035em;font-size:46px;font-weight:600;line-height:1}.landing-plan-price span{color:var(--landing-text-faint);font-size:15px}.landing-plan.pro .landing-plan-price span{color:#f6f4ef80}.landing-plan-desc{color:var(--landing-text-muted);margin-bottom:30px;font-size:15px}.landing-plan.pro .landing-plan-desc{color:#f6f4ef99}.landing-plan-list{flex-direction:column;gap:13px;margin-bottom:34px;display:flex}.landing-plan-list li{font-size:15px}.landing-plan-list li.off{color:var(--landing-disabled)}.landing-plan.pro .landing-plan-list li.off{color:#f6f4ef59}.landing-pricing-footer{text-align:center;color:var(--landing-text-faint);margin-top:32px;font-size:14px}.landing-pricing-footer a{text-underline-offset:3px;text-decoration:underline}.landing-final{text-align:center}.landing-final-inner{padding:130px 44px}.landing-final .landing-h1-sm{letter-spacing:-.04em;margin-bottom:22px;font-size:60px;line-height:1.02}.landing-final p{color:var(--landing-text-muted);margin-bottom:40px;font-size:19px}.landing-footer-inner{max-width:1180px;margin:0 auto;padding:44px 44px 40px}.landing-footer-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-bottom:24px;display:flex}.landing-footer-top .landing-logo-mark{width:28px;height:28px}.landing-footer-top .landing-logo-word{font-size:15px}.landing-footer-copy{color:var(--landing-text-decorative);font-size:13px}.landing-footer-legal{border-top:1px solid var(--landing-line);flex-wrap:wrap;gap:26px;padding-top:20px;display:flex}.landing-footer-legal a{color:var(--landing-text-muted);text-underline-offset:3px;font-size:12px;text-decoration:underline}#demo,#how,#report,#pricing{scroll-margin-top:78px}@media (width<=1000px){.landing-container,.landing-header-inner,.landing-hero,.landing-demo-section,.landing-section-inner,.landing-final-inner,.landing-footer-inner{padding-left:24px;padding-right:24px}.landing-h1{font-size:56px}.landing-h2{font-size:40px}.landing-h2-sm{font-size:36px}.landing-final .landing-h1-sm{font-size:46px}.landing-steps-grid{grid-template-columns:repeat(3,1fr);gap:20px}.landing-demo-grid{grid-template-columns:repeat(4,1fr)}.landing-field-grid,.landing-report-grid{grid-template-columns:1fr;gap:44px}.landing-field-visual{order:-1}.landing-report-mockup{transform:none}}@media (width<=860px){.landing-nav{gap:16px}.landing-nav a{display:none}.landing-steps-grid{grid-template-columns:1fr;gap:44px}.landing-pricing-grid{grid-template-columns:1fr}}@media (width<=640px){.landing-hero{padding-top:72px}.landing-h1{font-size:40px}.landing-hero-sub{font-size:18px}.landing-h2{font-size:32px}.landing-h2-sm{font-size:30px}.landing-final .landing-h1-sm{font-size:36px}.landing-section-inner{padding-top:72px;padding-bottom:72px}.landing-final-inner{padding-top:90px;padding-bottom:90px}.landing-demo-grid{grid-template-columns:repeat(3,1fr)}.landing-demo-num strong{font-size:48px}.landing-report-mockup{padding:28px 22px}.landing-report-footer{flex-direction:column}}.volume-float-btn{background:var(--accent);color:#fff;cursor:pointer;z-index:100;border:none;border-radius:24px;align-items:center;gap:6px;padding:12px 20px;font-size:14px;font-weight:700;display:none;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 16px #2b6be659}.volume-overlay{z-index:200;background:#0006;justify-content:flex-end;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}.volume-overlay-panel{background:var(--bg);border-radius:var(--radius);width:340px;max-height:80vh;box-shadow:var(--shadow);overflow-y:auto}
