@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes popIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.app-logo{color:var(--brand);letter-spacing:-.02em;font-size:22px;font-weight:800}.tabs{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;gap:6px;margin-bottom:24px;padding:6px;display:flex}.tab-btn{border-radius:var(--radius-sm);color:var(--text-2);cursor:pointer;transition:background var(--transition), color var(--transition), transform var(--transition);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:3px;padding:10px 8px;font-size:12px;font-weight:600;display:flex}.tab-btn:hover{background:var(--bg);color:var(--text)}.tab-active{background:var(--brand)!important;color:#fff!important}.tab-icon{font-size:18px}.btn-primary{background:var(--brand);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition), transform var(--transition), box-shadow var(--transition);border:none;align-items:center;gap:6px;padding:12px 20px;font-size:15px;font-weight:700;display:inline-flex;box-shadow:0 2px 8px #4f46e54d}.day{border:1.5px solid var(--border);cursor:pointer;min-height:72px;transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);background:#fff;border-radius:10px;padding:6px 6px 6px 10px;position:relative;overflow:hidden}.day:hover{z-index:1;border-color:#9ca3af;transform:translateY(-2px);box-shadow:0 6px 20px #0000001a}.day-shift-day:before{content:"";background:#f59e0b;border-radius:10px 0 0 10px;width:5px;position:absolute;top:0;bottom:0;left:0}.day-shift-evening:before{content:"";background:#f97316;border-radius:10px 0 0 10px;width:5px;position:absolute;top:0;bottom:0;left:0}.day-shift-night:before{content:"";background:#3b82f6;border-radius:10px 0 0 10px;width:5px;position:absolute;top:0;bottom:0;left:0}.day-overtime{border-color:var(--purple)!important}.day-holiday{background:linear-gradient(135deg,#fefce8,#fef9c3);border-color:#fde047}.day-raise{border-color:var(--green)!important}.day-probation{border-color:#0f766e!important}.day-hours{color:var(--text);font-size:12px;font-weight:800}.day-pay{color:var(--green);margin-left:auto;font-size:11px;font-weight:700}.bank-card{border:1.5px solid var(--border);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow);transition:transform var(--transition), box-shadow var(--transition);background:#fff;padding:18px 16px}.bank-type{text-transform:uppercase;letter-spacing:.07em;color:var(--text-2);margin-bottom:6px;font-size:11px;font-weight:700}.period-preview-dates,.period-preview-payday{color:var(--green);font-size:14px;font-weight:700}@media (width<=700px){.app{padding:12px 10px 80px}.bank-grid{grid-template-columns:1fr 1fr}.shift-window-grid,.payday-grid,.stat-row{grid-template-columns:1fr}.calendar-grid,.weekdays{gap:3px}.day{min-height:48px;padding:4px 4px 4px 8px}.shift-type-icon{font-size:10px}.day-pay,.day-ot{font-size:10px}.day-number{font-size:12px}.day-pill,.day-pay{display:none}.day-hours{font-size:11px}.summary-bar{flex-direction:column;align-items:flex-start;gap:12px}.summary-divider{display:none}.form-row{flex-direction:column}.welcome-card{padding:36px 24px 28px}.tabs{gap:4px}.tab-btn{padding:8px 4px}.tab-label{display:none}.tab-icon{font-size:22px}.setup-footer{text-align:center;flex-direction:column;align-items:stretch;gap:12px}}.tab-active{box-shadow:inset 3px 0 #2563eb;color:#1d4ed8!important;background:#eff6ff!important}.app-logo:before{content:"Dashboard";letter-spacing:-.04em;color:#0f172a;font-size:24px;font-weight:850}.summary-bar{grid-template-columns:1fr 1fr;gap:0;padding:0;display:grid;overflow:hidden}.summary-item{padding:24px 26px}.summary-value,.stat-num,.bank-hours{color:#0f172a;letter-spacing:-.04em}.day-shift-day{background:#fff;border-color:#bfdbfe}.day-shift-day:before{background:#2563eb}.day-shift-evening{background:#fff;border-color:#93c5fd}.day-shift-evening:before{background:#1d4ed8}.day-shift-night{background:#fff;border-color:#64748b}.day-shift-night:before{background:#334155}@media (width<=900px){.app{padding:12px 12px 80px}.tabs{border:1px solid var(--border);border-radius:14px;flex-direction:row;width:auto;height:auto;margin-bottom:18px;padding:6px;position:static}.tab-btn{justify-content:center;padding:10px 8px}.tab-label{font-size:12px}.app-header{background:0 0;border-bottom:none;height:auto;margin:0 0 18px;padding:8px 0;position:static}.summary-bar{grid-template-columns:1fr}}.landing-page{color:#111827;background:#fbfaf8;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.landing-header{justify-content:space-between;align-items:center;max-width:1200px;height:92px;margin:0 auto;padding:0 28px;display:flex}.landing-brand{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:12px;display:inline-flex}.landing-logo-mark{color:#fff;letter-spacing:-.04em;background:#0f172a;border-radius:12px;place-items:center;width:40px;height:40px;font-size:13px;font-weight:900;display:grid}.landing-logo-text{letter-spacing:-.055em;color:#0f172a;font-size:25px;font-weight:900}.landing-logo-subtitle{color:#64748b;margin-top:-2px;font-size:12px;font-weight:650}.landing-nav{align-items:center;gap:8px;display:flex}.landing-nav button,.landing-nav a{color:#334155;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:10px 12px;font-size:14px;font-weight:720;text-decoration:none}.landing-nav button:hover,.landing-nav a:hover,.public-nav-active{color:#0f172a!important;background:#f1f5f9!important}.landing-login-btn{color:#fff!important;background:#0f172a!important;padding:10px 16px!important}.landing-main{max-width:1200px;margin:0 auto;padding:18px 28px 72px}.landing-hero{grid-template-columns:minmax(0,1.08fr) minmax(360px,.78fr);align-items:center;gap:44px;padding:76px 0 64px;display:grid}.landing-hero-copy h1,.public-page-panel h1{color:#0f172a;letter-spacing:-.04em;max-width:790px;margin:0 0 24px;font-size:clamp(42px,6vw,76px);font-weight:800;line-height:.96}.landing-eyebrow{color:var(--brand);letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px;font-size:13px;font-weight:850}.landing-hero-text,.section-heading p,.public-page-intro{color:#475569;max-width:660px;font-size:18px;line-height:1.65}.landing-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:30px;display:flex}.landing-primary,.landing-secondary,.footer-feature-card button{cursor:pointer;border:0;border-radius:999px;padding:13px 20px;font-size:15px;font-weight:850}.landing-primary,.footer-feature-card button{color:#fff;background:#2563eb;box-shadow:0 14px 28px #2563eb2e}.landing-secondary{color:#0f172a;background:#fff;border:1px solid #e2e8f0;text-decoration:none}.landing-product-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:26px;box-shadow:0 1px 2px #15151c0a,0 12px 34px #15151c0d}.product-card-header,.product-stats,.product-list div,.footer-bottom,.footer-main{justify-content:space-between;align-items:center;gap:18px;display:flex}.product-kicker,.product-status{color:#64748b;letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:800}.product-card-header h2{color:#0f172a;letter-spacing:-.05em;margin-top:6px;font-size:26px}.product-status{color:#1d4ed8;background:#eff6ff;border-radius:999px;padding:7px 10px}.product-stats{margin:26px 0 22px}.product-stats div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;flex:1;padding:18px}.product-stats span,.product-list span{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:800;display:block}.product-stats strong{color:#0f172a;letter-spacing:-.05em;font-variant-numeric:tabular-nums;margin-top:5px;font-size:30px;display:block}.mini-chart{background:linear-gradient(#f8fafc,#fff);border:1px solid #e2e8f0;border-radius:20px;align-items:end;gap:12px;height:150px;margin-bottom:20px;padding:18px;display:flex}.mini-chart span{opacity:.88;background:#2563eb;border-radius:999px 999px 6px 6px;flex:1;display:block}.product-list{gap:10px;display:grid}.product-list div{border-bottom:1px solid #f1f5f9;padding:12px 0}.product-list div:last-child{border-bottom:0}.product-list strong{color:#0f172a}.landing-section,.public-page-panel{border-top:1px solid #e2e8f0;padding:74px 0}.section-heading h2,.landing-demo-panel h2{color:#0f172a;letter-spacing:-.06em;max-width:780px;margin-bottom:18px;font-size:clamp(32px,4vw,52px);line-height:1.03}.info-grid,.pricing-grid,.support-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px;display:grid}.info-grid article,.pricing-grid article,.support-grid article,.workflow-preview div,.landing-shortcuts button{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:24px;box-shadow:0 1px 2px #15151c0a,0 12px 34px #15151c0d}.info-grid h3,.pricing-grid h3,.support-grid h3,.workflow-preview strong,.shortcut-title{color:#0f172a;letter-spacing:-.025em;font-size:18px;font-weight:850}.info-grid p,.pricing-grid p,.support-grid p,.workflow-preview p,.shortcut-desc,.footer-brand-block p,.footer-feature-card p{color:#64748b;margin-top:8px;font-size:14px;line-height:1.6}.landing-demo-panel{grid-template-columns:.78fr 1fr;align-items:start;gap:28px;display:grid}.workflow-preview{gap:14px;display:grid}.workflow-preview span{color:#1d4ed8;background:#eff6ff;border-radius:999px;place-items:center;width:32px;height:32px;margin-bottom:14px;font-weight:900;display:grid}.landing-shortcuts{grid-template-columns:repeat(4,1fr);gap:16px;margin:18px 0 44px;display:grid}.landing-shortcuts button{text-align:left;cursor:pointer;transition:transform .16s,box-shadow .16s,border-color .16s}.landing-shortcuts button:hover{border-color:#bfdbfe;transform:translateY(-3px);box-shadow:0 20px 54px #0f172a14}.shortcut-title,.shortcut-desc{display:block}.public-page-panel{min-height:520px}.pricing-grid article strong{color:#1d4ed8;background:#eff6ff;border-radius:999px;margin-top:22px;padding:8px 12px;display:inline-flex}.landing-footer{border-top:1px solid #e2e8f0;max-width:1200px;margin:0 auto;padding:56px 28px 36px}.footer-main{align-items:flex-start}.footer-brand-block{width:220px}.footer-logo{color:#0f172a;letter-spacing:-.055em;font-size:26px;font-weight:900}.footer-columns{grid-template-columns:repeat(3,150px);gap:28px;display:grid}.footer-columns h4{color:#94a3b8;margin-bottom:12px;font-size:14px}.footer-columns button,.footer-bottom button{color:#0f172a;cursor:pointer;text-align:left;background:0 0;border:0;padding:5px 0;font-size:14px;display:block}.footer-feature-card{background:#f1ede8;border-radius:24px;width:360px;padding:24px}.footer-feature-card span{color:#ea580c;font-size:13px;font-weight:850}.footer-feature-card h3{color:#0f172a;letter-spacing:-.045em;margin:18px 0 8px;font-size:24px}.footer-feature-card button{color:#0f172a;box-shadow:none;background:#fff;margin-top:18px}.footer-bottom{color:#94a3b8;border-top:1px solid #e2e8f0;margin-top:56px;padding-top:24px;font-size:13px}.footer-bottom div{flex-wrap:wrap;gap:18px;display:flex}.card,.summary-bar,.bank-card,.profile-card,.profile-empty-card,.payday-card{scroll-margin-top:96px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #2563eb47}@media (width<=980px){.landing-header{align-items:flex-start;gap:18px;height:auto;padding:18px 20px}.landing-nav{flex-wrap:wrap;justify-content:flex-end}.landing-main{padding:8px 20px 48px}.landing-hero,.landing-demo-panel,.footer-main{grid-template-columns:1fr;display:grid}.info-grid,.pricing-grid,.support-grid,.landing-shortcuts,.footer-columns{grid-template-columns:1fr 1fr}.footer-feature-card,.footer-brand-block{width:100%}}@media (width<=640px){.landing-header{flex-direction:column}.landing-nav{justify-content:flex-start;width:100%}.landing-hero-copy h1,.public-page-panel h1{font-size:42px}.landing-hero{padding:44px 0}.product-stats,.info-grid,.pricing-grid,.support-grid,.landing-shortcuts,.footer-columns{grid-template-columns:1fr}.footer-bottom{flex-direction:column;align-items:flex-start}}.day-job-dots{align-items:center;gap:3px;margin-right:2px;display:flex}.day-job-dot{border:1px solid #ffffffe6;border-radius:999px;flex-shrink:0;width:7px;height:7px;box-shadow:0 0 0 1px #0f172a14}.payday-by-job{gap:14px}.payday-job-report{border:1px solid var(--border);background:#fff;border-radius:14px;padding:14px}.payday-job-header{border-bottom:1px solid var(--border);color:var(--text);justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;padding-bottom:10px;display:flex}.payday-job-header strong{flex:1;font-size:15px}.use-bank-job-selector{margin-bottom:12px}.job-list-item{cursor:grab}.job-list-item:active,.job-dragging{cursor:grabbing;opacity:.72;border-color:var(--brand);background:var(--brand-light)}.job-name-button{text-align:left;cursor:pointer;font:inherit;background:0 0;border:none;padding:0}.job-name-button:hover{color:var(--brand);text-decoration:underline}.work-tools-card{max-width:1180px;margin-top:16px}.tools-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.tool-box{border:1px solid var(--border);background:#f8fafc;border-radius:14px;padding:16px}.tool-box h4{color:var(--text);margin-bottom:8px;font-size:15px}.schedule-preview,.location-log-list{flex-direction:column;gap:8px;margin-top:12px;display:flex}.schedule-preview{border:1px solid var(--border);background:#fff;border-radius:12px;padding:12px}.schedule-preview span,.location-log-row span{color:var(--text-2);font-size:12px}.location-log-row{border:1px solid var(--border);background:#fff;border-radius:10px;grid-template-columns:80px 1fr;gap:4px 10px;padding:10px;display:grid}.location-log-row strong{color:var(--text)}.offline-status{z-index:900;box-shadow:var(--shadow);border:1px solid var(--border);background:#fff;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800;position:fixed;bottom:92px;right:24px}.offline-status.online{color:#047857}.offline-status.offline{color:#b45309;background:#fffbeb}.avatar-picker,.avatar-grid,.avatar-option{display:none!important}@media (width<=700px){.tools-grid{grid-template-columns:1fr}.offline-status{bottom:84px;right:12px}.ai-fab{bottom:24px;right:12px}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}.app-loading{background:#f8fafc;flex-direction:column;justify-content:center;align-items:center;gap:14px;height:100vh;font-family:Segoe UI,Arial,sans-serif;display:flex}.app-loading-spinner{border:3px solid #e2e8f0;border-top-color:#4f46e5;border-radius:50%;width:36px;height:36px;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-loading p{color:#64748b;letter-spacing:.01em;font-size:.9rem}:root{--brand:#4f46e5;--brand-dark:#4338ca;--brand-light:#f1f0fd;--green:#0e9f6e;--green-light:#e8f6f0;--red:#dc2626;--red-light:#fee2e2;--amber:#d99a3a;--amber-light:#f8edd2;--purple:#7c3aed;--purple-light:#ede9fe;--orange:#dd7857;--orange-light:#f9e2d8;--text:#15151c;--text-2:#6c6c78;--text-3:#9a9aa6;--border:#ededf1;--border-2:#e3e3e9;--bg:#fafafb;--card:#fff;--radius:14px;--radius-sm:10px;--shadow:0 1px 2px #15151c0a, 0 4px 14px #15151c0d;--shadow-lg:0 10px 30px #15151c1a;--transition:.16s cubic-bezier(.22,.61,.36,1);--day:#d99a3a;--day-tint:#f8edd2;--eve:#dd7857;--eve-tint:#f9e2d8;--night:#5566cf;--night-tint:#e3e6f8}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}.summary-value,.stat-num,.bank-hours,.day-hours,.ps-income-table td,.payday-value{font-variant-numeric:tabular-nums}.app{max-width:960px;margin:0 auto;padding:20px 16px 80px}.app-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.app-logo{color:var(--brand);letter-spacing:-.02em;cursor:pointer;transition:opacity var(--transition);background:0 0;border:none;padding:0;font-size:22px;font-weight:800}.app-logo:hover{opacity:.75}.header-rate{background:var(--brand-light);color:var(--brand);border-radius:999px;padding:5px 12px;font-size:14px;font-weight:700}.tabs{border-bottom:1px solid var(--border);box-shadow:none;background:0 0;border-radius:0;gap:4px;margin-bottom:22px;padding:0;display:flex}.tab-btn{color:var(--text-2);cursor:pointer;transition:color var(--transition);background:0 0;border:none;border-radius:0;flex-direction:row;flex:none;align-items:center;gap:6px;padding:12px 14px 14px;font-size:14px;font-weight:650;display:flex;position:relative}.tab-btn:active{transform:scale(.97)}.tab-active{font-weight:750;color:var(--text)!important;background:0 0!important}.tab-active:after{content:"";background:var(--brand);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:14px;right:14px}.tab-icon{font-size:15px;line-height:1}.tab-content{animation:.2s both fadeInUp}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;padding:24px}.card h3{color:var(--text);margin-bottom:16px;font-size:16px;font-weight:700}.btn-primary{background:var(--brand);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition), transform var(--transition);border:none;align-items:center;gap:6px;padding:12px 20px;font-size:15px;font-weight:700;display:inline-flex}.btn-primary:hover{background:var(--brand-dark)}.btn-primary:active{transform:scale(.97)}.btn-ghost{color:var(--text-2);border:1.5px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);background:0 0;padding:10px 16px;font-size:14px;font-weight:600}.btn-ghost:hover{background:var(--bg);color:var(--text);border-color:#9ca3af}.btn-ghost:active{transform:scale(.97)}.btn-danger{background:var(--red);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition), transform var(--transition);border:none;padding:12px 18px;font-size:15px;font-weight:700}.btn-danger:hover{background:#b91c1c}.btn-danger:active{transform:scale(.97)}.btn-danger-sm{color:var(--red);border:1.5px solid var(--red-light);cursor:pointer;transition:all var(--transition);background:0 0;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:700}.btn-danger-sm:hover{background:var(--red-light)}.btn-danger-sm:active{transform:scale(.96)}.nav-btn{min-width:48px;padding:8px 16px;font-size:22px;font-weight:700}.form-group{flex-direction:column;flex:1;gap:6px;display:flex}.form-row{flex-wrap:wrap;gap:12px;margin-bottom:12px;display:flex}.form-row .form-group{min-width:120px}label{color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:600}input,select{border:1.5px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);transition:border-color var(--transition), box-shadow var(--transition);appearance:auto;background:#fff;padding:11px 14px;font-size:15px}input:focus,select:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #4f46e51f}input::placeholder{color:#9ca3af}.time-input-24{font-variant-numeric:tabular-nums;letter-spacing:.04em;width:100%}.field-hint{color:var(--text-2);margin-top:12px;font-size:13px;line-height:1.5}.toggle-group{flex-direction:column;gap:10px;margin:16px 0;display:flex}.toggle-label{cursor:pointer;color:var(--text);text-transform:none;letter-spacing:0;align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.toggle-label input[type=checkbox]{display:none}.toggle-track{background:var(--border);width:40px;height:22px;transition:background var(--transition);border-radius:999px;flex-shrink:0;position:relative}.toggle-thumb{width:16px;height:16px;transition:transform var(--transition);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.toggle-label input:checked+.toggle-track{background:var(--brand)}.toggle-label input:checked+.toggle-track .toggle-thumb{transform:translate(18px)}.toggle-hint{color:var(--text-2);font-size:13px;font-weight:400}.ot-detect-box{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:8px;margin-bottom:12px;padding:12px 14px;display:flex}.ot-detect-active{border-color:var(--amber);background:color-mix(in srgb, var(--amber-light) 40%, white)}.ot-detect-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.ot-detect-type{color:var(--text-2);font-size:13px;font-weight:600}.ot-detect-badge{background:var(--amber);color:#fff;white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:700}.ot-detect-split{align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.ot-split-reg{color:var(--text)}.ot-split-sep{color:var(--text-3)}.ot-split-ot{color:var(--amber)}.ot-split-reason{color:var(--text-3);font-size:11px;font-weight:500}.ot-detect-label{color:var(--text-2);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:12px;font-weight:700}.ot-disp-row{flex-wrap:wrap;gap:6px;display:flex}.ot-disp-btn{border:1.5px solid var(--border);color:var(--text-2);cursor:pointer;transition:all var(--transition);background:#fff;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600}.ot-disp-btn:hover{border-color:var(--brand);color:var(--brand)}.ot-disp-on{background:var(--brand)!important;border-color:var(--brand)!important;color:#fff!important}.ot-reason-input{border:1.5px solid var(--border);width:100%;color:var(--text);background:#fff;border-radius:8px;padding:8px 10px;font-size:13px}.ot-reason-input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #4f46e51a}.overtime-options{background:var(--brand-light);border-radius:var(--radius-sm);margin-bottom:12px;padding:16px;animation:.15s slideDown}.form-actions{gap:10px;margin-top:8px;display:flex}.form-actions .btn-primary,.form-actions .btn-danger{flex:1;justify-content:center}.summary-bar{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;align-items:center;gap:0;margin-bottom:16px;padding:18px 24px;display:flex}.summary-item{flex-direction:column;flex:1;gap:4px;display:flex}.summary-label{color:var(--text-2);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.summary-value{color:var(--text);letter-spacing:-.02em;font-size:26px;font-weight:800}.summary-value.green{color:var(--green)}.summary-payday-sub{color:var(--brand);margin-top:2px;font-size:12px;font-weight:600}.summary-divider{background:var(--border);width:1px;height:40px;margin:0 24px}.calendar-nav{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.calendar-title{color:var(--text);font-size:20px;font-weight:800}.weekdays{grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px;display:grid}.weekday-label{text-align:center;color:var(--text-2);text-transform:uppercase;letter-spacing:.05em;padding:6px 0;font-size:12px;font-weight:700}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:20px;display:grid}.day{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;min-height:74px;transition:var(--transition);padding:8px 9px;position:relative;overflow:hidden}.day:hover{box-shadow:var(--shadow);z-index:1;border-color:#d4d4dd;transform:translateY(-1px)}.day:active{transform:scale(.97)}.day-empty{cursor:default;pointer-events:none;background:0 0;border-color:#0000}.day-empty:hover{box-shadow:none;transform:none}.day-today{border-color:var(--brand)}.day-today .day-number{background:var(--brand);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.payday-dot{background:var(--green);vertical-align:middle;border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-left:4px;display:inline-block}.day-header{justify-content:space-between;align-items:flex-start;display:flex}.day-number{color:var(--text);font-size:14px;font-weight:700}.day-badges{gap:2px;font-size:12px;display:flex}.day-shift-info{flex-wrap:wrap;align-items:center;gap:3px;margin-top:4px;display:flex}.shift-type-icon{font-size:11px;line-height:1}.day-hours{color:var(--text);margin-top:14px;font-size:14px;font-weight:750}.day-job-dots{flex-wrap:wrap;gap:3px;margin-top:4px;display:flex}.day-job-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.shift-list-note{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;max-width:260px;margin-top:2px;font-size:11px;font-style:italic;display:block;overflow:hidden}.shift-split-badge{text-transform:uppercase;letter-spacing:.06em;background:var(--brand-light);color:var(--brand);vertical-align:middle;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:9px;font-weight:700;display:inline-block}.split-shift-block{background:var(--brand-light);border-radius:var(--radius-sm);flex-direction:column;gap:8px;margin-bottom:12px;padding:14px;animation:.15s slideDown;display:flex}.split-shift-label{text-transform:uppercase;letter-spacing:.06em;color:var(--brand);margin:0;font-size:11px;font-weight:700}.day-quick-add{background:var(--brand);color:#fff;cursor:pointer;opacity:0;width:20px;height:20px;transition:opacity var(--transition), transform var(--transition);border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:16px;font-weight:400;line-height:1;display:flex;position:absolute;bottom:5px;right:5px}.day:hover .day-quick-add{opacity:1}.day-quick-add:hover{background:var(--brand-dark);transform:scale(1.18)}.day-pay{color:var(--green);font-size:11px;font-weight:650}.day-ot{color:var(--purple);margin-left:auto;font-size:10px;font-weight:800}.shift-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.dot-holiday{background:#eab308}.day-pill{border-radius:999px;margin-top:3px;padding:2px 6px;font-size:10px;font-weight:700;display:inline-block}.pill-holiday{color:#854d0e;background:#fef9c3}.pill-ot{background:var(--purple-light);color:var(--purple)}.pill-probation{color:#115e59;background:#ccfbf1}.calendar-with-sidebar{align-items:flex-start;gap:10px;display:flex}.calendar-main{flex:1;min-width:0}.bank-sidebar{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:88px;box-shadow:var(--shadow);flex-shrink:0;padding:10px 8px}.bank-sidebar-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin-bottom:6px;font-size:9px;font-weight:700}.bank-sidebar-item{border-bottom:1px solid var(--border);flex-direction:column;gap:1px;padding:5px 0;display:flex}.bank-sidebar-item:last-child{border-bottom:none}.bank-sidebar-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:9px;font-weight:700;overflow:hidden}.bank-sidebar-value{color:var(--text);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:15px;font-weight:800}.bank-sidebar-zero{color:var(--text-3);font-size:13px;font-weight:600}@media (width<=700px){.calendar-with-sidebar{flex-direction:column}.bank-sidebar{flex-wrap:wrap;gap:12px;width:100%;padding:8px 12px;display:flex}.bank-sidebar-item{border-bottom:none;border-right:1px solid var(--border);flex-direction:row;align-items:center;gap:6px;padding:0 12px 0 0}.bank-sidebar-item:last-child{border-right:none}.bank-sidebar-value{font-size:14px}}.payday-card{border:2px solid var(--brand);border-radius:var(--radius);background:#fff;margin-bottom:16px;padding:20px 24px;animation:.2s slideDown;box-shadow:0 4px 20px #4f46e51f}.payday-header{align-items:center;gap:10px;margin-bottom:16px;display:flex}.payday-header h3{color:var(--brand);margin:0;font-size:17px;font-weight:800}.payday-icon{font-size:22px}.payday-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.payday-item{flex-direction:column;gap:3px;display:flex}.payday-label{color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.payday-value{color:var(--text);font-size:15px;font-weight:700}.payday-value.highlight{color:var(--green);font-size:22px;font-weight:800}.shift-form-card{animation:.18s slideDown}.form-title{color:var(--text);align-items:baseline;gap:10px;margin-bottom:20px;font-size:18px;font-weight:800;display:flex}.form-date{color:var(--text-2);font-size:13px;font-weight:600}.bank-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:16px;display:grid}.bank-card{background:var(--card);border:1.5px solid var(--border);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow);transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);padding:16px}.bank-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.bank-card-urgent{border-color:var(--red)!important}.bank-card-warn{border-color:var(--amber)!important}.bank-card-head{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-bottom:6px;display:flex}.bank-type{text-transform:uppercase;letter-spacing:.07em;color:var(--text-2);font-size:11px;font-weight:700}.bank-hours{color:var(--text);letter-spacing:-.02em;font-size:28px;font-weight:800}.bank-unit{color:var(--text-2);margin-top:2px;font-size:12px}.bank-meta{color:var(--text-2);margin-top:8px;font-size:11px;font-weight:500;line-height:1.4}.bank-meta-renew{color:var(--green)}.bank-expiry-badge{border-radius:999px;margin-top:6px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.bank-expiry-ok{background:var(--green-light);color:var(--green)}.bank-expiry-warn{background:var(--amber-light);color:var(--amber)}.bank-expiry-danger{background:var(--red-light);color:var(--red)}.bank-expiry-past{background:var(--red-light);color:var(--red);opacity:.8}.welcome-cat-grid{grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0;display:grid}.welcome-cat-opt{border:2px solid var(--border);background:var(--bg);cursor:pointer;text-align:left;transition:border-color var(--transition), background var(--transition);border-radius:10px;flex-direction:column;align-items:flex-start;gap:3px;padding:10px;display:flex}.welcome-cat-opt:hover{border-color:var(--brand);background:var(--brand-light)}.wco-selected{border-color:var(--brand)!important;background:var(--brand-light)!important}.wco-icon{font-size:18px;line-height:1}.wco-label{color:var(--text);font-size:11px;font-weight:800}.wco-sub{color:var(--text-2);font-size:10px;line-height:1.3}.manage-types-bar{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.manage-types-hint{color:var(--text-3);font-size:12px;font-weight:600}.manage-types-btn{border:1.5px solid var(--border);color:var(--text-2);cursor:pointer;transition:all var(--transition);background:0 0;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:700}.manage-types-btn:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-light)}.manage-types-panel{animation:.18s slideDown}.manage-types-grid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:8px;display:grid}.manage-type-card{border:1.5px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:all var(--transition);background:0 0;flex-direction:column;gap:3px;padding:12px;display:flex}.manage-type-card:hover{border-color:var(--brand);background:var(--brand-light)}.mtype-active{border-color:var(--brand)!important;background:var(--brand-light)!important}.mtype-icon{font-size:20px;line-height:1}.mtype-label{color:var(--text);font-size:13px;font-weight:700}.mtype-sub{color:var(--text-2);font-size:11px;line-height:1.3}.mtype-active .mtype-label{color:var(--brand)}.manage-types-chips-wrap{border-top:1px solid var(--border);margin-top:16px;padding-top:14px}.manage-types-chips{flex-wrap:wrap;gap:6px;display:flex}.mtype-chip{background:var(--brand-light);color:var(--brand);border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:4px 6px 4px 10px;font-size:12px;font-weight:600;display:inline-flex}.mtype-chip-off{background:var(--bg);color:var(--text-3);border-color:var(--border);text-decoration:line-through}.mtype-chip-x,.mtype-chip-restore{cursor:pointer;color:inherit;opacity:.6;transition:opacity var(--transition);background:0 0;border:none;border-radius:50%;padding:0 2px;font-size:14px;line-height:1}.mtype-chip-x:hover{opacity:1;color:var(--red)}.mtype-chip-restore:hover{opacity:1;color:var(--green)}.card-collapsible-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;display:flex}.collapse-chevron{color:var(--text-3);transition:transform var(--transition), color var(--transition);font-size:20px;font-weight:300;line-height:1;transform:rotate(90deg)}.collapse-chevron.collapsed{transform:rotate(0)}.card-collapsible-header:hover .collapse-chevron{color:var(--text-2)}.bank-manage-section{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.bank-section-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);margin-bottom:12px;font-size:11px;font-weight:700}.bank-cfg-tabs{flex-wrap:wrap;gap:6px;margin-bottom:18px;display:flex}.bank-cfg-tab{border:1.5px solid var(--border);color:var(--text-2);cursor:pointer;transition:all var(--transition);background:0 0;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600}.bank-cfg-tab:hover{border-color:var(--brand);color:var(--brand)}.bcfg-active{background:var(--brand)!important;border-color:var(--brand)!important;color:#fff!important}.bank-cfg-preview{border-radius:var(--radius-sm);margin-top:12px;padding:10px 14px;font-size:13px;font-weight:600}.bcp-payout{background:var(--green-light);color:var(--green)}.bcp-lose{background:var(--amber-light);color:var(--amber)}.bcp-transfer{background:var(--purple-light);color:var(--purple)}.table-wrap{margin-top:4px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{background:var(--bg);text-transform:uppercase;letter-spacing:.05em;color:var(--text-2);text-align:left;border-bottom:1.5px solid var(--border);padding:10px 12px;font-size:12px;font-weight:700}td{border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle;padding:12px}tr:last-child td{border-bottom:none}.type-chip{background:var(--brand-light);color:var(--brand);border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-block}.chip-used{background:var(--red-light);color:var(--red)}.chip-payout{background:var(--green-light);color:var(--green)}.chip-expire{background:var(--amber-light);color:var(--amber)}.chip-transfer{background:var(--purple-light);color:var(--purple)}.bank-row-actions{align-items:center;gap:4px;display:flex}.bank-edit-btn{opacity:0;transition:opacity .12s}tbody tr:hover .bank-edit-btn{opacity:1}.bank-editing-row td{background:var(--brand-light);padding:6px 8px}.bank-inline-input{border:1.5px solid var(--brand);color:var(--text);background:#fff;border-radius:6px;width:100%;padding:5px 8px;font-size:13px}.bank-inline-input:focus{outline:none;box-shadow:0 0 0 2px #4f46e526}.sched-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.sched-selector{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.sched-sel-btn{border:1.5px solid var(--border);color:var(--text-2);cursor:pointer;transition:all var(--transition);background:0 0;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600}.sched-sel-btn:hover{border-color:var(--brand);color:var(--brand)}.sched-sel-active{background:var(--brand)!important;border-color:var(--brand)!important;color:#fff!important}.sched-week-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px;margin-bottom:16px;padding-bottom:12px;display:flex}.sched-week-tab{border:1.5px solid var(--border);color:var(--text-2);cursor:pointer;transition:all var(--transition);background:0 0;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600}.sched-week-tab:hover{border-color:var(--brand);color:var(--brand)}.sched-week-active{background:var(--brand)!important;border-color:var(--brand)!important;color:#fff!important}.sched-day-rows{flex-direction:column;gap:4px;display:flex}.sched-day-row{border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--border);align-items:center;gap:12px;padding:10px 12px;display:flex}.sched-day-on{background:var(--brand-light);border-color:var(--border-2)}.sched-day-name{color:var(--text);flex-shrink:0;width:36px;font-size:13px;font-weight:700}.sched-toggle{margin:0}.sched-times{flex:1;align-items:center;gap:6px;display:flex}.sched-times .time-input-24{width:72px}.sched-sep{color:var(--text-3);flex-shrink:0;font-size:13px}.sched-off{color:var(--text-3);font-size:13px;font-style:italic}.sched-grid-wrap{margin-top:4px;overflow-x:auto}.sched-grid-table{border-collapse:collapse;width:100%;font-size:12px}.sched-grid-th{text-align:center;text-transform:uppercase;letter-spacing:.05em;color:var(--text-2);background:var(--bg);border-bottom:1.5px solid var(--border);padding:8px 10px;font-size:11px;font-weight:700}.sched-grid-week-col{text-align:left;width:64px}.sched-grid-week-cell{color:var(--text-2);background:var(--bg);border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 10px;font-size:12px;font-weight:700}.sched-grid-cell{text-align:center;border-bottom:1px solid var(--border);border-left:1px solid var(--border);vertical-align:middle;min-width:70px;padding:6px 8px}.sched-cell-on{background:var(--brand-light)}.sched-cell-time{color:var(--brand);font-variant-numeric:tabular-nums;font-size:11px;font-weight:600;line-height:1.4}.sched-cell-off{color:var(--text-3);font-size:11px}.sched-preview-row{align-items:center;gap:10px;margin-top:8px;font-size:13px;font-weight:600;display:flex}.sched-preview-add{color:var(--green)}.sched-preview-conflict{color:var(--amber)}.conflict-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;background:#0f151c8c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.conflict-modal{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-lg);flex-direction:column;gap:16px;width:100%;max-width:500px;padding:28px;animation:.2s popIn;display:flex}.conflict-modal-header{justify-content:space-between;align-items:center;display:flex}.conflict-modal-header h3{margin:0}.conflict-counter{color:var(--text-3);background:var(--bg);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700}.conflict-date{color:var(--text);margin:0;font-size:15px;font-weight:700}.conflict-shifts{align-items:center;gap:10px;display:flex}.conflict-shift-block{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);flex:1;padding:10px 12px}.conflict-shift-incoming{border-color:var(--brand);background:var(--brand-light)}.conflict-shift-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin-bottom:6px;font-size:10px;font-weight:700}.conflict-shift-row{color:var(--text);justify-content:space-between;font-size:13px;font-weight:600;display:flex}.conflict-arrow{color:var(--text-3);flex-shrink:0;font-size:20px;font-weight:300}.conflict-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin:0;font-size:11px;font-weight:700}.conflict-actions{flex-direction:column;gap:6px;display:flex}.conflict-opt{border:1.5px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:all var(--transition);background:0 0;flex-direction:column;gap:2px;padding:10px 14px;display:flex}.conflict-opt:hover{border-color:var(--brand);background:var(--brand-light)}.conflict-opt-active{border-color:var(--brand)!important;background:var(--brand-light)!important}.conflict-opt-label{color:var(--text);font-size:14px;font-weight:700}.conflict-opt-sub{color:var(--text-2);font-size:12px}.conflict-pay-row{flex-direction:column;gap:8px;display:flex}.conflict-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding-top:16px;display:flex}.exc-form{background:var(--bg);border-radius:var(--radius-sm);border:1.5px solid var(--border);flex-direction:column;gap:12px;margin-bottom:16px;padding:16px;display:flex}.exc-preview{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.exc-preview-row{color:var(--text-2);justify-content:space-between;font-size:13px;display:flex}.exc-preview-hours{color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}.exc-preview-warn{color:var(--red)!important}.exc-day-list{border-top:1px solid var(--border);flex-direction:column;gap:3px;margin-top:4px;padding-top:8px;display:flex}.exc-day-row{color:var(--text-2);align-items:center;gap:12px;font-size:12px;display:flex}.exc-day-row span:first-child{color:var(--text);flex:1;font-weight:600}.exc-day-hours{font-variant-numeric:tabular-nums;color:var(--brand);margin-left:auto;font-weight:700}.exc-card{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-sm);margin-bottom:8px;padding:12px 14px}.exc-card-applied{border-color:var(--green);background:var(--green-light)}.exc-card-top{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:6px;display:flex}.exc-card-name{color:var(--text);font-size:14px;font-weight:700}.exc-card-meta{color:var(--text-2);margin-top:2px;font-size:12px}.exc-card-actions{flex-shrink:0;gap:6px;display:flex}.exc-card-stat{color:var(--text-2);font-size:12px}.exc-applied-badge{color:var(--green);font-weight:700}.provision-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-bottom:16px;display:grid}.provision-card{background:var(--card);border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);flex-direction:column;gap:8px;padding:18px;display:flex}.provision-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.provision-overdue{border-color:var(--red)!important}.provision-soon{border-color:var(--amber)!important}.provision-card-top{align-items:flex-start;gap:10px;display:flex}.provision-cat-icon{flex-shrink:0;margin-top:1px;font-size:24px;line-height:1}.provision-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.provision-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.provision-rec{color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.provision-edit-btn{color:var(--text-3);cursor:pointer;opacity:0;transition:opacity var(--transition), color var(--transition);background:0 0;border:none;flex-shrink:0;padding:0;font-size:16px;line-height:1}.provision-card:hover .provision-edit-btn{opacity:1}.provision-edit-btn:hover{color:var(--brand)}.provision-status{border-radius:999px;align-self:flex-start;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.provision-status-overdue{background:var(--red-light);color:var(--red)}.provision-status-soon{background:var(--amber-light);color:var(--amber)}.provision-status-upcoming{background:var(--green-light);color:var(--green)}.provision-status-none{background:var(--bg);color:var(--text-3);border:1px solid var(--border)}.provision-next{color:var(--text-2);font-size:13px}.provision-last{color:var(--text-3);font-size:12px}.provision-notes{color:var(--text-2);margin:0;font-size:12px;font-style:italic;line-height:1.4}.provision-receive-btn{background:var(--brand-light);width:100%;color:var(--brand);border-radius:var(--radius-sm);cursor:pointer;text-align:center;transition:background var(--transition), color var(--transition);border:1.5px solid #0000;margin-top:4px;padding:9px 12px;font-size:13px;font-weight:700}.provision-receive-btn:hover{background:var(--brand);color:#fff}.provision-receive-form{flex-direction:column;gap:6px;margin-top:4px;animation:.15s slideDown;display:flex}.provision-input{border:1.5px solid var(--border);width:100%;color:var(--text);background:#fff;border-radius:8px;padding:8px 10px;font-size:13px}.provision-input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #4f46e51a}.provision-add-card{border:2px dashed var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text-2);min-height:140px;transition:border-color var(--transition), color var(--transition), background var(--transition);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:28px 16px;font-size:14px;font-weight:600;display:flex}.provision-add-card:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-light)}.provision-add-icon{font-size:28px;font-weight:300;line-height:1}.provision-items{border-top:1px solid var(--border);flex-direction:column;gap:2px;padding-top:10px;display:flex}.provision-item-all{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:7px;align-items:center;gap:8px;margin-bottom:4px;padding:6px 8px;display:flex}.provision-item-all input[type=checkbox]{width:15px;height:15px;accent-color:var(--brand);cursor:pointer;flex-shrink:0}.provision-item-all-label{color:var(--text-2);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:700}.provision-item-all:hover{background:var(--bg)}.provision-item-list{flex-direction:column;gap:2px;display:flex}.provision-item-row{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition);border-radius:7px;align-items:center;gap:8px;padding:7px 8px;display:flex}.provision-item-row:hover{background:var(--bg)}.provision-item-row input[type=checkbox]{width:15px;height:15px;accent-color:var(--brand);cursor:pointer;flex-shrink:0}.provision-item-name{color:var(--text);flex:1;font-size:14px;font-weight:500}.provision-item-qty{color:var(--brand);background:var(--brand-light);border-radius:999px;padding:1px 7px;font-size:12px;font-weight:700}.provision-item-done .provision-item-name{color:var(--text-3);text-decoration:line-through}.provision-item-done .provision-item-qty{opacity:.5}.provision-receive-ready{background:var(--brand)!important;color:#fff!important}.provision-form-items{background:var(--bg);border-radius:var(--radius-sm);border:1px solid var(--border);flex-direction:column;gap:4px;margin-bottom:8px;padding:8px;display:flex}.provision-form-item-row{align-items:center;gap:8px;font-size:14px;display:flex}.provision-form-item-qty{color:var(--brand);background:var(--brand-light);border-radius:999px;flex-shrink:0;padding:1px 7px;font-size:12px;font-weight:700}.provision-form-item-name{color:var(--text);flex:1}.provision-form-item-remove{color:var(--text-3);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:13px;line-height:1}.provision-form-item-remove:hover{background:var(--red-light);color:var(--red)}.provision-add-item-row{align-items:center;gap:6px;margin-top:6px;display:flex}.provision-item-input{border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text);background:#fff;flex:1;padding:9px 12px;font-size:14px}.provision-item-input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #4f46e51a}.provision-item-qty-input{border:1.5px solid var(--border);border-radius:var(--radius-sm);width:64px;color:var(--text);background:#fff;padding:9px 8px;font-size:14px}.provision-item-qty-input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #4f46e51a}.bank-used-row{opacity:.85}.bank-payout-row{background:color-mix(in srgb, var(--green-light) 30%, transparent)}.bank-expire-row{background:color-mix(in srgb, var(--amber-light) 30%, transparent)}.bank-transfer-row{background:color-mix(in srgb, var(--purple-light) 30%, transparent)}.hours-used{color:var(--red)}.hours-payout{color:var(--green);font-weight:700}.hours-expire{color:var(--amber);font-weight:700}.hours-transfer{color:var(--purple);font-weight:700}.hours-added{color:var(--green)}.multi-badge{background:var(--brand);color:#fff;vertical-align:super;border-radius:999px;justify-content:center;align-items:center;width:14px;height:14px;margin-left:1px;font-size:9px;font-weight:800;display:inline-flex}.shift-list-card{padding-bottom:4px}.shift-list-header{margin-bottom:10px}.shift-list-item{border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--bg);transition:border-color var(--transition), background var(--transition);justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;padding:10px 12px;display:flex}.shift-list-item-active{border-color:var(--brand);background:var(--brand-light)}.shift-list-left{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.shift-list-icon{flex-shrink:0;font-size:18px}.shift-list-info{flex-direction:column;gap:2px;min-width:0;display:flex}.shift-list-time{color:var(--text);font-size:14px;font-weight:700}.shift-list-meta{color:var(--text-2);font-size:12px}.btn-edit-sm{border:1.5px solid var(--border);color:var(--brand);cursor:pointer;white-space:nowrap;transition:background var(--transition), border-color var(--transition);background:0 0;border-radius:8px;flex-shrink:0;padding:5px 12px;font-size:12px;font-weight:700}.btn-edit-sm:hover{background:var(--brand-light);border-color:var(--brand)}.btn-add-shift{border:1.5px dashed var(--border);border-radius:var(--radius-sm);width:100%;color:var(--brand);cursor:pointer;text-align:center;transition:background var(--transition), border-color var(--transition);background:0 0;margin-top:4px;padding:10px;font-size:13px;font-weight:700;display:block}.btn-add-shift:hover{background:var(--brand-light);border-color:var(--brand);border-style:solid}.use-bank-card{border-top:3px solid var(--amber)}.use-bank-intro{color:var(--text-2);margin:-4px 0 14px;font-size:13px}.btn-secondary{background:var(--amber-light);color:var(--amber);cursor:pointer;transition:background var(--transition), transform var(--transition);border:1.5px solid #fcd34d;border-radius:10px;align-items:center;gap:6px;padding:10px 18px;font-size:14px;font-weight:700;display:inline-flex}.btn-secondary:hover{background:#fef9c3}.btn-secondary:active{transform:scale(.97)}.btn-sm{padding:7px 14px!important;font-size:13px!important}.welcome-job-section{text-align:left;margin:20px 0 4px}.welcome-job-title{color:var(--text);text-align:center;margin-bottom:10px;font-size:14px;font-weight:700}.welcome-job-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.welcome-job-opt{border:2px solid var(--border);background:var(--bg);cursor:pointer;text-align:left;transition:border-color var(--transition), background var(--transition);border-radius:12px;flex-direction:column;align-items:flex-start;gap:3px;padding:12px 14px;display:flex}.welcome-job-opt:hover{border-color:var(--brand);background:var(--brand-light)}.wjo-selected{border-color:var(--brand)!important;background:var(--brand-light)!important}.wjo-icon{font-size:22px}.wjo-label{color:var(--text);font-size:13px;font-weight:800}.wjo-desc{color:var(--text-2);font-size:11px;line-height:1.3}.jobs-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.jobs-header h3{margin:0}.jobs-list{flex-direction:column;gap:8px;display:flex}.job-list-item{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.job-list-left{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.job-color-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.job-list-info{flex-direction:column;gap:2px;min-width:0;display:flex}.job-list-name{color:var(--text);font-size:14px;font-weight:700}.job-list-meta{color:var(--text-2);font-size:12px}.job-list-actions{flex-shrink:0;gap:6px;display:flex}.job-form-inline{border-top:1.5px solid var(--border);margin-top:16px;padding-top:16px}.job-form-title{color:var(--text);margin-bottom:14px;font-size:15px;font-weight:800}.job-type-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:6px;display:grid}.job-type-option{border:2px solid var(--border);background:var(--bg);cursor:pointer;text-align:left;transition:border-color var(--transition), background var(--transition);border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;display:flex}.job-type-option:hover{border-color:var(--brand);background:var(--brand-light)}.jto-selected{border-color:var(--brand)!important;background:var(--brand-light)!important}.jto-icon{font-size:20px}.jto-label{color:var(--text);font-size:13px;font-weight:800}.jto-desc{color:var(--text-2);font-size:11px;line-height:1.3}.color-swatches{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.color-swatch{cursor:pointer;border:3px solid #0000;border-radius:50%;width:28px;height:28px;transition:transform .12s,border-color .12s}.color-swatch:hover{transform:scale(1.15)}.swatch-selected{transform:scale(1.15);border-color:var(--text)!important}.job-selector-row{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.job-pill{border:1.5px solid var(--border);background:var(--bg);color:var(--text-2);cursor:pointer;transition:border-color var(--transition), background var(--transition), color var(--transition);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:700}.job-pill:hover{border-color:var(--brand);color:var(--brand)}.job-pill-active{font-weight:800}.job-type-notice{border-radius:var(--radius-sm);margin-bottom:14px;padding:10px 14px;font-size:13px;font-weight:600}.volunteer-notice{color:#9d174d;background:#fdf2f8;border:1px solid #fbcfe8}.salary-notice{background:var(--brand-light);color:var(--brand);border:1px solid #c7d2fe}.stats-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.stats-title{color:var(--text);margin-bottom:2px;font-size:22px;font-weight:800}.stats-sub{color:var(--text-2);font-size:13px}.stats-year-nav{align-items:center;gap:8px;display:flex}.stats-year-label{color:var(--text);text-align:center;min-width:44px;font-size:15px;font-weight:700}.stats-kpi-row{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;display:grid}.stats-kpi{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 16px}.stats-kpi-green{border-left:3px solid var(--green)}.stats-kpi-value{color:var(--text);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:800}.stats-kpi-green .stats-kpi-value{color:var(--green)}.stats-kpi-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;margin-top:4px;font-size:11px;font-weight:700}.stats-2col{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}.stats-goal-nums{align-items:baseline;gap:6px;margin-bottom:4px;display:flex}.stats-goal-current{color:var(--brand);font-variant-numeric:tabular-nums;font-size:26px;font-weight:800}.stats-goal-sep{color:var(--text-3);font-size:13px}.stats-goal-target{color:var(--text-2);font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.stats-projection{margin-bottom:14px}.stats-proj-value{color:var(--text);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:800}.stats-proj-label{color:var(--text-2);margin-top:2px;font-size:12px}.stats-proj-breakdown{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding-top:10px;display:flex}.stats-proj-row{color:var(--text-2);justify-content:space-between;font-size:13px;display:flex}.stats-proj-row strong{color:var(--text);font-variant-numeric:tabular-nums}.stats-proj-on-track{background:var(--green-light);color:var(--green);border-radius:var(--radius-sm);margin-top:10px;padding:8px 12px;font-size:13px;font-weight:700}.stats-proj-off-track{background:var(--amber-light);color:var(--amber);border-radius:var(--radius-sm);margin-top:10px;padding:8px 12px;font-size:13px;font-weight:600}.heatmap-wrap{gap:6px;display:flex;overflow-x:auto}.heatmap-labels-left{flex-direction:column;flex-shrink:0;justify-content:space-around;gap:0;padding-top:18px;display:flex}.heatmap-dow{color:#0000;height:15px;font-size:9px;line-height:15px}.heatmap-dow-show{color:var(--text-3)}.heatmap-right{flex-direction:column;gap:4px;min-width:0;display:flex}.heatmap-months{gap:3px;margin-bottom:2px;display:flex}.heatmap-month-label{color:var(--text-3);white-space:nowrap;width:13px;font-size:9px;overflow:visible}.heatmap-grid{gap:3px;display:flex}.heatmap-week{flex-direction:column;gap:3px;display:flex}.heatmap-cell{background:var(--border);cursor:default;border-radius:2px;flex-shrink:0;width:12px;height:12px;transition:transform .1s}.heatmap-cell:hover{z-index:1;transform:scale(1.4)}.heatmap-cell-out{opacity:0;pointer-events:none}.heatmap-legend{align-items:center;gap:3px;margin-top:8px;display:flex}.heatmap-legend-label{color:var(--text-3);margin:0 4px;font-size:10px}.income-bar{border-radius:999px;gap:2px;height:18px;margin-bottom:14px;display:flex;overflow:hidden}.income-segment{transition:opacity var(--transition);border-radius:2px}.income-segment:hover{opacity:.85}.income-legend{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;display:grid}.income-legend-item{align-items:center;gap:8px;font-size:13px;display:flex}.income-legend-dot{border-radius:3px;flex-shrink:0;width:10px;height:10px}.income-legend-label{color:var(--text-2);flex:1}.income-legend-val{color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}.income-legend-pct{color:var(--text-3);font-size:12px}.stats-patterns-row{gap:0;display:flex}.stats-pattern-block{flex:1;padding:0 20px}.stats-pattern-block:first-child{padding-left:0}.stats-pattern-block:last-child{padding-right:0}.stats-pattern-divider{background:var(--border);flex-shrink:0;width:1px;margin:4px 0}.stats-pattern-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin-bottom:10px;font-size:11px;font-weight:700}.dow-chart{align-items:flex-end;gap:4px;height:80px;display:flex}.dow-col{flex-direction:column;flex:1;align-items:center;height:100%;display:flex}.dow-bar-wrap{flex:1;align-items:flex-end;width:100%;display:flex}.dow-bar{background:var(--brand-light);border:1px solid var(--brand);border-bottom:none;border-radius:3px 3px 0 0;width:100%;min-height:2px}.dow-label{color:var(--text-2);margin-top:4px;font-size:9px;font-weight:600}.dow-count{color:var(--text-3);font-size:9px}.shift-split-row{align-items:center;gap:8px;display:flex}.shift-split-label{color:var(--text-2);flex-shrink:0;width:52px;font-size:12px;font-weight:600}.shift-split-bar-wrap{background:var(--border);border-radius:999px;flex:1;height:8px;overflow:hidden}.shift-split-bar{border-radius:999px;height:100%}.shift-split-val{color:var(--text);text-align:right;font-variant-numeric:tabular-nums;width:36px;font-size:12px;font-weight:700}.stats-streak-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:8px;display:grid}.stats-streak-item{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center;padding:12px}.stats-streak-val{color:var(--brand);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:26px;font-weight:800}.stats-streak-label{color:var(--text-2);margin-top:2px;font-size:11px;font-weight:600}.records-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.record-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px}.record-card-green{background:var(--green-light);border-color:#6ee7b7}.record-val{color:var(--text);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-bottom:4px;font-size:22px;font-weight:800}.record-card-green .record-val{color:var(--green)}.record-label{color:var(--text-2);font-size:12px;font-weight:700}.record-sub{color:var(--text-3);margin-top:2px;font-size:11px}.milestone-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;display:grid}.milestone-badge{background:var(--card);border:1.5px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);align-items:center;gap:10px;padding:10px 12px;display:flex}.milestone-locked{opacity:.35;filter:grayscale();box-shadow:none}.milestone-tier{border-radius:50%;flex-shrink:0;width:10px;height:10px}.milestone-bronze{background:#b45309}.milestone-silver{background:#64748b}.milestone-gold{background:#d97706}.milestone-elite{background:var(--brand)}.milestone-info{flex:1;min-width:0}.milestone-label{color:var(--text);font-size:13px;font-weight:700}.milestone-desc{color:var(--text-3);font-size:11px}.milestone-check{color:var(--green);flex-shrink:0;font-size:12px;font-weight:900}@media (width<=900px){.stats-kpi-row{grid-template-columns:1fr 1fr}.stats-2col{grid-template-columns:1fr}.records-grid{grid-template-columns:1fr 1fr}.stats-patterns-row{flex-direction:column;gap:16px}.stats-pattern-divider{width:auto;height:1px;margin:0}.stats-pattern-block{padding:0}}@media (width<=600px){.stats-kpi-row{grid-template-columns:1fr 1fr}.records-grid{grid-template-columns:1fr}}.stat-row{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:4px;display:grid}.stat-tile{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-sm);text-align:center;padding:18px 16px}.stat-tile.green-tile{background:var(--green-light);border-color:#6ee7b7}.stat-num{color:var(--text);letter-spacing:-.02em;font-size:26px;font-weight:800}.green-tile .stat-num{color:var(--green)}.stat-lbl{color:var(--text-2);text-transform:uppercase;letter-spacing:.05em;margin-top:4px;font-size:12px;font-weight:600}.profile-card{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;margin-bottom:16px;overflow:hidden}.profile-card-bg{background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 50%,#0891b2 100%);height:80px}.profile-card-body{align-items:flex-start;gap:20px;padding:0 24px 20px;display:flex}.profile-avatar-lg{color:#fff;letter-spacing:-.02em;border:4px solid #fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;margin-top:-36px;font-size:28px;font-weight:900;display:flex;box-shadow:0 4px 14px #0000002e}.profile-info{flex:1;min-width:0;padding-top:12px}.profile-name{color:var(--text);letter-spacing:-.02em;margin-bottom:3px;font-size:22px;font-weight:800}.profile-title{color:var(--text-2);margin-bottom:4px;font-size:15px;font-weight:600}.profile-employer{color:var(--text-2);margin-bottom:10px;font-size:14px}.profile-badges{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.profile-badge{border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-block}.badge-exp{background:var(--brand-light);color:var(--brand)}.badge-age{color:#166534;background:#f0fdf4}.profile-desc{color:var(--text-2);margin-top:4px;font-size:14px;font-style:italic;line-height:1.5}.profile-stats{border-top:1px solid var(--border);background:var(--bg);align-items:center;padding:16px 24px;display:flex}.profile-stat{flex-direction:column;flex:1;align-items:center;gap:3px;display:flex}.profile-stat-num{color:var(--text);letter-spacing:-.02em;font-size:24px;font-weight:800}.profile-stat-num.green{color:var(--green)}.profile-stat-lbl{color:var(--text-2);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.profile-stat-divider{background:var(--border);width:1px;height:36px}.profile-message{color:var(--brand);background:var(--brand-light);padding:14px 24px;font-size:14px;font-weight:600;line-height:1.5}.profile-empty-card{border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;background:#fff;margin-bottom:16px;padding:40px 24px}.profile-empty-avatar{background:var(--border);width:72px;height:72px;color:var(--text-2);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;font-size:32px;font-weight:800;display:flex}.profile-empty-card h2{color:var(--text);margin-bottom:8px;font-size:20px;font-weight:800}.profile-empty-card p{color:var(--text-2);max-width:300px;margin:0 auto;font-size:14px;line-height:1.6}.header-avatar{color:#fff;cursor:pointer;width:36px;height:36px;transition:transform var(--transition), box-shadow var(--transition);letter-spacing:-.02em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:flex}.header-avatar:hover{transform:scale(1.08);box-shadow:0 4px 12px #0003}.header-left{flex-direction:column;gap:2px;display:flex}.header-right{align-items:center;gap:10px;display:flex}.app-greeting{color:var(--text-2);font-size:13px;font-weight:600}textarea{border:1.5px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);resize:vertical;transition:border-color var(--transition), box-shadow var(--transition);background:#fff;padding:11px 14px;font-family:inherit;font-size:15px;line-height:1.5}textarea:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #4f46e51f}textarea::placeholder{color:#9ca3af}.avatar-picker{margin-bottom:22px}.avatar-picker-label{color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px;font-size:13px;font-weight:600;display:block}.avatar-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.avatar-option{border:2px solid var(--border);background:var(--bg);cursor:pointer;transition:border-color var(--transition), background var(--transition), transform .12s ease;-webkit-user-select:none;user-select:none;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:10px 4px 8px;display:flex}.avatar-option:hover{border-color:var(--brand);transform:scale(1.06)}.avatar-option:active{transform:scale(.97)}.avatar-selected{transform:scale(1.06);box-shadow:0 0 0 3px #4f46e526}.avatar-opt-icon{font-size:28px;line-height:1;display:block}.avatar-opt-label{color:var(--text-2);text-align:center;letter-spacing:.02em;text-transform:uppercase;font-size:9px;font-weight:700;line-height:1.2}.profile-avatar-emoji{color:unset!important;letter-spacing:0!important;font-size:56px!important;line-height:1!important}.header-avatar-emoji{font-size:22px}.profile-save-wrap{justify-content:flex-end;margin-top:12px;display:flex}.profile-save-btn{border:1.5px solid var(--border);color:var(--text-3);cursor:pointer;transition:all var(--transition);background:0 0;border-radius:999px;padding:5px 14px;font-size:12px;font-weight:600}.profile-save-btn:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-light)}.profile-save-done{cursor:default;border-color:var(--green)!important;color:var(--green)!important;background:var(--green-light)!important}.profile-save-done:hover{border-color:var(--green)!important;color:var(--green)!important;background:var(--green-light)!important}.profile-next-hint{background:var(--brand-light);border-radius:var(--radius-sm);color:var(--brand);align-items:center;gap:8px;margin-top:16px;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.btn-inline{color:var(--brand);cursor:pointer;transition:opacity var(--transition);background:0 0;border:none;padding:0;font-size:14px;font-weight:800;text-decoration:underline}.btn-inline:hover{opacity:.7}.chart-header{align-items:baseline;gap:10px;margin-bottom:16px;display:flex}.chart-header h3{margin:0}.chart-hint{color:var(--text-2);font-size:12px;font-weight:500}.bar-chart{align-items:flex-end;gap:6px;height:120px;display:flex}.bar-chart-secondary{opacity:.8;height:40px;margin-top:6px}.bar-col{flex-direction:column;flex:1;align-items:center;min-width:0;height:100%;display:flex}.bar-wrap{flex:1;align-items:flex-end;width:100%;display:flex}.bar-fill{background:linear-gradient(to top, var(--brand), #818cf8);cursor:default;border-radius:4px 4px 0 0;width:100%;min-height:3px;transition:height .5s cubic-bezier(.4,0,.2,1)}.bar-fill-hours{background:linear-gradient(#34d399,#059669)}.bar-value{color:var(--text-2);white-space:nowrap;margin-bottom:4px;font-size:10px;font-weight:700}.bar-label{color:var(--text-2);text-align:center;white-space:nowrap;text-overflow:ellipsis;width:100%;margin-top:6px;font-size:10px;overflow:hidden}.chart-legend{color:var(--text-2);gap:16px;margin-top:12px;font-size:12px;font-weight:600;display:flex}.legend-dot{vertical-align:middle;border-radius:2px;width:10px;height:10px;margin-right:4px;display:inline-block}.shift-window-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:8px;display:grid}.shift-window{background:var(--bg);border-radius:var(--radius-sm);border:1.5px solid var(--border);padding:14px}.shift-window-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);margin-bottom:10px;font-size:12px;font-weight:700}.info-banner{background:var(--brand-light);color:var(--brand);border-radius:var(--radius-sm);margin-top:12px;padding:12px 16px;font-size:14px;font-weight:600}.period-preview-banner{border-radius:var(--radius-sm);background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;flex-direction:column;gap:6px;margin-top:14px;padding:14px 16px;display:flex}.period-preview-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.period-preview-label{color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.period-preview-dates,.period-preview-payday{color:var(--green);font-size:14px;font-weight:700}.btn-detail-toggle{border:1px solid var(--border);color:var(--brand);cursor:pointer;width:100%;transition:background var(--transition);background:0 0;border-radius:8px;margin-top:12px;padding:7px 14px;font-size:13px;font-weight:600}.btn-detail-toggle:hover{background:var(--brand-light)}.payday-detail{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;animation:.15s slideDown;display:flex}.payday-detail-row{flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.detail-type{min-width:120px;font-weight:700}.detail-hours{background:var(--bg);color:var(--text);border-radius:6px;padding:2px 8px;font-size:13px;font-weight:700}.detail-premium{color:var(--brand);font-weight:600}.payday-row-group{margin-bottom:6px}.payday-prem-row{background:var(--brand-light);border-radius:0 0 6px 6px;margin-top:1px}.detail-premium-label{color:var(--brand);font-size:12px;font-style:italic;font-weight:600}.detail-note{color:var(--text-2);font-size:12px}.detail-empty{color:var(--text-2);font-size:13px;font-style:italic}.progress-label{justify-content:space-between;margin-top:14px;margin-bottom:6px;font-size:13px;font-weight:600;display:flex}.status-done{color:var(--green)}.status-progress{color:var(--text-2)}.progress-bar{background:var(--border);border-radius:999px;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--brand), #818cf8);border-radius:999px;min-width:4px;height:100%;transition:width .4s}.setup-footer{justify-content:space-between;align-items:center;padding:8px 0 16px;display:flex}.dev-plan-switcher{background:#f8fafc;border:1.5px dashed #cbd5e1}.dev-plan-header{align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.dev-plan-label{letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;background:#e2e8f0;border-radius:4px;padding:2px 8px;font-size:.7rem;font-weight:700}.dev-plan-hint{color:#94a3b8;font-size:.8rem}.dev-plan-btns{flex-wrap:wrap;gap:8px;display:flex}.dev-plan-btn{cursor:pointer;color:#64748b;background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;padding:7px 18px;font-size:.85rem;font-weight:600;transition:border-color .15s,background .15s,color .15s}.dev-plan-btn:hover{border-color:#94a3b8}.dev-plan-btn-free.dev-plan-active{color:#334155;background:#f1f5f9;border-color:#64748b}.dev-plan-btn-pro.dev-plan-active{color:#4f46e5;background:#eef2ff;border-color:#4f46e5}.dev-plan-btn-premium.dev-plan-active{color:#7c3aed;background:#f5f3ff;border-color:#7c3aed}.dev-plan-check{font-size:.75rem}.empty-state{text-align:center;color:var(--text-2);padding:24px 0 8px;font-size:14px;line-height:1.6}.toast{color:#fff;z-index:1000;pointer-events:none;white-space:nowrap;background:#111827;border-radius:999px;padding:12px 22px;font-size:14px;font-weight:600;animation:.2s toastIn;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #00000040}.welcome-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;background:#11182799;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.welcome-card{text-align:center;width:100%;max-width:420px;box-shadow:var(--shadow-lg);background:#fff;border-radius:24px;padding:48px 40px 36px;animation:.25s popIn}.welcome-icon{margin-bottom:12px;font-size:52px}.welcome-title{color:var(--brand);letter-spacing:-.03em;margin-bottom:8px;font-size:36px;font-weight:900}.welcome-tagline{color:var(--text-2);margin-bottom:32px;font-size:18px;line-height:1.5}.welcome-features{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:32px;display:grid}.welcome-feature{background:var(--bg);border-radius:var(--radius-sm);color:var(--text);text-align:left;align-items:center;gap:8px;padding:12px 14px;font-size:14px;font-weight:600;display:flex}.feature-icon{font-size:20px}.welcome-cta{border-radius:var(--radius-sm);justify-content:center;width:100%;margin-bottom:10px;padding:14px;font-size:16px}.welcome-skip{width:100%;color:var(--text-2);cursor:pointer;transition:color var(--transition);background:0 0;border:none;justify-content:center;padding:10px;font-size:14px;font-weight:600}.welcome-skip:hover{color:var(--text)}@media (width<=700px){.app{padding:12px 10px 80px}.bank-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.shift-window-grid,.payday-grid,.stat-row{grid-template-columns:1fr}.calendar-grid,.weekdays{gap:3px}.day{min-height:48px;padding:4px 4px 4px 8px}.shift-type-icon{font-size:10px}.day-pay,.day-ot{font-size:10px}.day-number{font-size:12px}.day-pill,.day-pay{display:none}.day-hours{font-size:11px}.summary-bar{flex-direction:column;align-items:flex-start;gap:12px}.summary-divider{display:none}.form-row{flex-direction:column}.welcome-card{padding:36px 24px 28px}.tabs{gap:4px}.tab-btn{padding:8px 4px}.tab-label{display:none}.tab-icon{font-size:22px}.setup-footer{text-align:center;flex-direction:column;align-items:stretch;gap:12px}}:root{--brand:#2563eb;--brand-dark:#1d4ed8;--brand-light:#eff6ff;--text:#0f172a;--text-2:#64748b;--border:#e2e8f0;--bg:#f8fafc;--card:#fff;--green:#059669;--green-light:#ecfdf5;--red:#dc2626;--red-light:#fef2f2;--amber:#d97706;--amber-light:#fffbeb;--purple:#475569;--purple-light:#f1f5f9;--radius:14px;--radius-sm:10px;--shadow:0 1px 2px #0f172a0a, 0 8px 24px #0f172a0f;--shadow-lg:0 18px 50px #0f172a1f}body{color:var(--text);background:#f8fafc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app{max-width:none;min-height:100vh;padding:0 32px 80px 292px}.app-sidebar-logo{border:none;border-right:1px solid var(--border);cursor:pointer;text-align:left;z-index:21;background:#fff;width:248px;padding:20px 16px 12px 24px;transition:background .15s;position:fixed;top:0;left:0}.app-sidebar-logo:hover{background:#f8fafc}.app-sidebar-logo-name{letter-spacing:-.04em;color:#0f172a;font-size:18px;font-weight:850;line-height:1.1;display:block}.app-sidebar-logo-sub{color:#64748b;margin-top:3px;font-size:12px;font-weight:600;display:block}@media (width<=900px){.app-sidebar-logo{display:none}}.tabs{border-right:1px solid var(--border);width:248px;height:100vh;box-shadow:none;z-index:20;background:#fff;border-radius:0;flex-direction:column;gap:2px;padding:104px 16px 24px;display:flex;position:fixed;top:0;left:0}.tab-btn{color:#64748b;border-radius:8px;flex-direction:row;flex:0;justify-content:flex-start;gap:10px;width:100%;padding:11px 14px;font-size:14px;font-weight:600}.tab-btn:hover{color:var(--text);background:var(--bg)}.tab-icon{display:none}.tab-label{font-size:14px}.tab-active{box-shadow:none;font-weight:700;background:var(--brand-light)!important;color:var(--brand)!important}.tab-active:after{display:none}.app-header{z-index:15;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#f8fafceb;height:76px;margin:0 -32px 28px;padding:0 32px;position:sticky;top:0}.app-logo{font-size:0}.app-greeting{color:#64748b;font-size:14px}.header-rate{border:1px solid var(--border);color:#1d4ed8;background:#fff;border-radius:999px;padding:8px 13px;box-shadow:0 1px 2px #0f172a0a}.header-avatar{box-shadow:0 0 0 3px #fff,0 4px 14px #0f172a29}.tab-content{max-width:1180px;animation:none}.card,.summary-bar,.bank-card,.profile-card,.profile-empty-card,.payday-card{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:16px}.card{padding:26px}.card h3,.form-title,.calendar-title{color:#0f172a;letter-spacing:-.025em}.summary-bar{align-items:center;gap:0;padding:0;display:flex;overflow:hidden}.summary-item{flex:1;padding:16px 20px}.summary-divider{background:var(--border);flex-shrink:0;width:1px;height:32px}.summary-label,.stat-lbl,.bank-type,label,.weekday-label,.payday-label{color:#64748b;letter-spacing:.06em}.summary-value,.stat-num,.bank-hours{color:#0f172a;letter-spacing:-.04em;font-size:22px!important}.btn-primary{background:#2563eb;border-radius:10px;font-weight:750;box-shadow:0 8px 20px #2563eb2e}.btn-primary:hover{background:#1d4ed8;box-shadow:0 10px 24px #2563eb3d}.btn-ghost,.btn-secondary,.btn-edit-sm,.btn-add-shift,.btn-detail-toggle{border-color:var(--border);color:#334155;box-shadow:none;background:#fff}.btn-ghost:hover,.btn-edit-sm:hover,.btn-add-shift:hover,.btn-detail-toggle:hover{color:#0f172a;background:#f8fafc;border-color:#cbd5e1}input,select,textarea{background:#fff;border:1px solid #cbd5e1;border-radius:10px}input:focus,select:focus,textarea:focus{border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1f}.calendar-grid,.weekdays{gap:8px}.day{min-height:92px;box-shadow:none;background:#fff;border:1px solid #e2e8f0;border-radius:12px}.day:hover{border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 10px 24px #0f172a14}.day-selected{border-color:#2563eb!important;box-shadow:0 0 0 4px #2563eb1f!important}.shift-type-icon{display:none}.day-pay{color:#059669}table{font-size:14px}th{color:#64748b;background:#f8fafc;border-bottom:1px solid #e2e8f0}td{border-bottom:1px solid #f1f5f9}tbody tr:hover{background:#f8fafc}.stat-tile,.shift-list-item,.shift-window{background:#f8fafc;border:1px solid #e2e8f0}.green-tile{background:#ecfdf5!important;border-color:#bbf7d0!important}.profile-card-bg{background:#0f172a}.bar-fill,.bar-fill-hours,.progress-fill{background:#2563eb}.welcome-card{box-shadow:var(--shadow-lg);border-radius:20px}.welcome-icon,.feature-icon,.wjo-icon{display:none}.welcome-title{color:#0f172a;font-size:34px}.welcome-tagline{color:#475569}@media (width<=900px){.app{padding:12px 12px 80px}.tabs{border:1px solid var(--border);border-radius:14px;flex-direction:row;width:auto;height:auto;margin-bottom:18px;padding:6px;position:static}.tab-btn{justify-content:center;padding:10px 8px}.tab-label{font-size:12px}.app-header{background:0 0;border-bottom:none;height:auto;margin:0 0 18px;padding:8px 0;position:static}.summary-bar{grid-template-columns:1fr}}.pricing-page{max-width:1100px;margin:0 auto;padding:0 0 80px}.pricing-header{text-align:center;padding:48px 24px 36px}.pricing-title{color:var(--text);letter-spacing:-.02em;margin:8px 0 12px;font-size:36px;font-weight:800}.pricing-subhead{color:var(--text-2);max-width:480px;margin:0 auto 28px;font-size:17px;line-height:1.6}.billing-toggle{background:#f1f5f9;border-radius:999px;align-items:center;gap:4px;padding:4px;display:inline-flex}.billing-opt{color:var(--text-2);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:7px 22px;font-size:14px;font-weight:600;transition:all .15s}.billing-opt-active{color:var(--brand);background:#fff;box-shadow:0 1px 4px #0000001a}.billing-save-hint{color:var(--text-2);margin-left:12px;font-size:13px;font-weight:600}.billing-save-badge{color:#15803d;letter-spacing:.01em;background:#dcfce7;border-radius:999px;margin-left:12px;padding:3px 11px;font-size:12px;font-weight:700;display:inline-block}.pricing-cards{grid-template-columns:1fr 1fr 1fr;align-items:start;gap:20px;padding:0 0 48px;display:grid}.plan-card{border:1.5px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:16px;transition:box-shadow .15s,transform .15s;position:relative}.plan-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.plan-card-featured{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand), var(--shadow-lg)}.plan-card-featured:hover{box-shadow:0 0 0 1px var(--brand), 0 24px 60px #2563eb2e;transform:translateY(-4px)}.plan-popular-badge{background:var(--brand);color:#fff;white-space:nowrap;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:4px 14px;font-size:11px;font-weight:700;position:absolute;top:-13px;left:50%;transform:translate(-50%)}.plan-card-inner{padding:28px 24px 24px}.plan-name{color:var(--text);letter-spacing:-.01em;margin-bottom:12px;font-size:18px;font-weight:800}.plan-card-featured .plan-name{color:var(--brand)}.plan-price-block{flex-wrap:wrap;align-items:baseline;gap:6px;margin-bottom:8px;display:flex}.plan-price{color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-size:40px;font-weight:900;line-height:1}.plan-card-featured .plan-price{color:var(--brand)}.plan-price-crossed{color:var(--text-2);text-decoration:line-through;-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red);align-self:flex-end;margin-bottom:2px;font-size:15px;font-weight:600}.plan-period{color:var(--text-2);align-self:flex-end;margin-bottom:3px;font-size:13px;font-weight:600}.plan-tagline{color:var(--text-2);margin-bottom:18px;font-size:14px;line-height:1.5}.plan-cta{cursor:pointer;text-align:center;border-radius:10px;width:100%;margin-bottom:20px;padding:11px 18px;font-size:14px;font-weight:700;transition:all .15s;display:block}.plan-cta:active{transform:scale(.97)}.plan-cta-primary{background:var(--brand);color:#fff;border:none;box-shadow:0 2px 8px #2563eb47}.plan-cta-primary:hover{background:var(--brand-dark);box-shadow:0 4px 14px #2563eb61}.plan-cta-outline{color:var(--brand);border:1.5px solid var(--border);background:#fff}.plan-cta-outline:hover{border-color:var(--brand);background:var(--brand-light)}.plan-feature-list{border-top:1px solid var(--border);flex-direction:column;gap:9px;padding-top:18px;list-style:none;display:flex}.plan-feature-list li{color:var(--text);align-items:flex-start;gap:9px;font-size:13.5px;font-weight:500;line-height:1.4;display:flex}.plan-check{color:var(--brand);flex-shrink:0;margin-top:1px;font-size:13px;font-weight:900}.plan-section-label{color:var(--text-2);text-transform:uppercase;letter-spacing:.06em;padding-bottom:2px;font-size:11.5px;font-weight:700;display:block}.plan-more{color:var(--brand);margin-top:2px;font-size:13px;font-weight:600;display:block}.pricing-compare-wrap{border:1.5px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:16px;overflow:hidden}.compare-title{color:var(--text);border-bottom:1.5px solid var(--border);margin:0;padding:22px 28px 18px;font-size:19px;font-weight:800}.compare-table-scroll{overflow-x:auto}.compare-table{border-collapse:collapse;width:100%;font-size:14px}.compare-table thead th{color:var(--text-2);text-transform:uppercase;letter-spacing:.05em;border-bottom:1.5px solid var(--border);text-align:center;background:#f8fafc;padding:13px 16px;font-size:12px;font-weight:700}.compare-feat-col{min-width:240px;text-align:left!important;padding-left:28px!important}.compare-plan-col{width:110px}.compare-pro-col{background:#eff6ff!important}.compare-table thead th.compare-pro-col{color:var(--brand)!important}.compare-section-row td{text-transform:uppercase;letter-spacing:.07em;color:var(--text-2);border-top:1.5px solid var(--border);border-bottom:1px solid var(--border);background:#f8fafc;padding:10px 28px;font-size:11.5px;font-weight:700}.compare-feat-name{color:var(--text);border-bottom:1px solid #f1f5f9;padding:12px 16px 12px 28px;font-size:13.5px;font-weight:500}.compare-cell{text-align:center;border-bottom:1px solid #f1f5f9;padding:12px 16px}.compare-table tbody tr:last-child .compare-feat-name,.compare-table tbody tr:last-child .compare-cell{border-bottom:none}.compare-table tbody tr:hover .compare-feat-name,.compare-table tbody tr:hover .compare-cell{background:#f8fafc}.compare-table tbody tr:hover .compare-cell.compare-pro-col{background:#dbeafe}.tbl-check{width:22px;height:22px;color:var(--brand);background:#eff6ff;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:900;display:inline-flex}.tbl-dash{color:#cbd5e1;font-size:17px;font-weight:400}@media (width<=900px){.pricing-cards{grid-template-columns:1fr;max-width:440px;margin:0 auto}.pricing-title{font-size:26px}.pricing-subhead{font-size:15px}.compare-feat-col{min-width:150px;padding-left:14px!important}.compare-section-row td,.compare-feat-name{padding-left:14px}.compare-title{padding-left:18px}}.policy-page{max-width:780px;margin:0 auto;padding:56px 24px 80px}.policy-hero{text-align:center;margin-bottom:48px}.policy-hero h1{color:var(--text-1);letter-spacing:-.5px;margin-bottom:12px;font-size:36px;font-weight:800}.policy-lead{color:var(--text-2);max-width:580px;margin:0 auto 16px;font-size:17px;line-height:1.65}.policy-meta{color:var(--text-3,#94a3b8);margin-top:8px;font-size:13px}.policy-callout{color:#1e40af;background:#eff6ff;border:1.5px solid #bfdbfe;border-radius:12px;margin-bottom:36px;padding:18px 22px;font-size:14px;line-height:1.6}.policy-content{flex-direction:column;gap:36px;display:flex}.policy-section{border-top:1px solid var(--border);padding-top:28px}.policy-section:first-child{border-top:none;padding-top:0}.policy-section h2{color:var(--text-1);letter-spacing:-.2px;margin-bottom:12px;font-size:20px;font-weight:700}.policy-section p{color:var(--text-2);margin-bottom:10px;font-size:15px;line-height:1.7}.policy-section p:last-child{margin-bottom:0}.policy-section ul{margin:8px 0 10px 20px;padding:0;list-style:outside}.policy-section ul li{color:var(--text-2);margin-bottom:5px;font-size:15px;line-height:1.65}.faq-group{border-top:1px solid var(--border);padding-top:28px}.faq-group:first-child{border-top:none;padding-top:0}.faq-group-title{color:var(--brand);letter-spacing:-.2px;margin-bottom:18px;font-size:18px;font-weight:700}.faq-item{border-bottom:1px dashed var(--border);margin-bottom:18px;padding-bottom:18px}.faq-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.faq-q{color:var(--text-1);margin-bottom:6px;font-size:15px;font-weight:600;line-height:1.5}.faq-a{color:var(--text-2);font-size:14px;line-height:1.7}.support-contact-block{text-align:center;background:linear-gradient(135deg,#eff6ff 0%,#f0f9ff 100%);border:1.5px solid #bfdbfe;border-radius:16px;margin-top:48px;padding:36px 32px}.support-contact-block h2{color:var(--text-1);margin-bottom:10px;font-size:22px;font-weight:800}.support-contact-block p{color:var(--text-2);margin-bottom:22px;font-size:15px;line-height:1.65}.support-email-btn{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:10px;margin:0 6px 8px;padding:12px 28px;font-size:15px;font-weight:700;text-decoration:none;transition:background .15s,transform .12s;display:inline-block}.support-email-btn:hover{background:var(--brand-dark,#1d4ed8);transform:translateY(-1px)}.support-email-btn:active{transform:scale(.97)}.support-email-btn-secondary{color:var(--brand);border:2px solid var(--brand);cursor:pointer;background:#fff;border-radius:10px;margin:0 6px 8px;padding:12px 28px;font-size:15px;font-weight:700;text-decoration:none;transition:all .15s;display:inline-block}.support-email-btn-secondary:hover{background:#eff6ff;transform:translateY(-1px)}.security-highlights{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:48px;display:grid}.security-highlight-card{border:1.5px solid var(--border);text-align:center;background:#fff;border-radius:14px;padding:22px 18px;transition:box-shadow .15s,transform .15s}.security-highlight-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.shc-icon{margin-bottom:10px;font-size:28px}.shc-title{color:var(--text-1);margin-bottom:6px;font-size:14px;font-weight:700}.shc-desc{color:var(--text-2);font-size:13px;line-height:1.55}@media (width<=700px){.policy-page{padding:36px 16px 60px}.policy-hero h1{font-size:26px}.security-highlights{grid-template-columns:1fr 1fr}.support-contact-block{padding:28px 18px}}.auth-page{justify-content:center;align-items:flex-start;min-height:80vh;padding:60px 16px 80px;display:flex}.auth-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;flex-direction:column;gap:0;width:100%;max-width:400px;padding:40px 36px 32px;display:flex;box-shadow:0 8px 40px #0000001a}.auth-card-title{color:var(--text-1);text-align:center;letter-spacing:-.3px;margin-bottom:22px;font-size:22px;font-weight:800}.auth-providers{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px;display:grid}.auth-provider-btn{color:var(--text-1);cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:11px 14px;font-size:14px;font-weight:600;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.auth-provider-btn:hover{border-color:#94a3b8;box-shadow:0 2px 8px #00000012}.auth-provider-btn:active{transform:scale(.97)}.auth-provider-apple{color:#1a1a1a}.auth-divider{color:#94a3b8;align-items:center;gap:12px;margin:4px 0 18px;font-size:13px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#e2e8f0;flex:1;height:1px}.auth-label{color:var(--text-1);margin-top:12px;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.auth-label-row{justify-content:space-between;align-items:center;margin-top:12px;margin-bottom:6px;display:flex}.auth-forgot-link{color:var(--brand);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600;text-decoration:none}.auth-forgot-link:hover{text-decoration:underline}.auth-input{width:100%;color:var(--text-1);box-sizing:border-box;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;outline:none;padding:11px 14px;font-size:14px;transition:border-color .15s,box-shadow .15s}.auth-input:focus{border-color:var(--brand);background:#fff;box-shadow:0 0 0 3px #2563eb1f}.auth-pw-wrap{align-items:center;display:flex;position:relative}.auth-pw-wrap .auth-input{padding-right:44px}.auth-eye{cursor:pointer;color:var(--text-2);opacity:.7;background:0 0;border:none;padding:0;font-size:16px;line-height:1;position:absolute;right:12px}.auth-eye:hover{opacity:1}.auth-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-top:10px;padding:9px 12px;font-size:13px;line-height:1.5}.auth-success{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-top:10px;padding:9px 12px;font-size:13px;line-height:1.5}.auth-submit-btn{background:var(--brand);color:#fff;letter-spacing:.5px;cursor:pointer;border:none;border-radius:10px;width:100%;margin-top:18px;padding:13px 20px;font-size:15px;font-weight:800;transition:background .15s,transform .12s,box-shadow .15s;display:block;box-shadow:0 2px 10px #2563eb47}.auth-submit-btn:hover:not(:disabled){background:var(--brand-dark,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 16px #2563eb52}.auth-submit-btn:active:not(:disabled){transform:scale(.97)}.auth-submit-btn:disabled{opacity:.65;cursor:not-allowed}.auth-switch-text{text-align:center;color:var(--text-2);margin-top:18px;margin-bottom:0;font-size:14px}.auth-link-btn{color:var(--brand);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;font-weight:700}.auth-link-btn:hover{text-decoration:underline}.auth-subtext{color:var(--text-2);margin-bottom:4px;font-size:14px;line-height:1.6}.auth-back-to-home{width:100%;color:var(--text-3,#94a3b8);cursor:pointer;text-align:center;background:0 0;border:none;border-top:1px solid #f1f5f9;margin-top:20px;padding:16px 9px 9px;font-size:13px;display:block}.auth-back-to-home:hover{color:var(--text-2)}@media (width<=480px){.auth-card{border-radius:16px;padding:28px 20px 24px}.auth-providers{grid-template-columns:1fr}}.wizard-steps{justify-content:center;gap:8px;margin-bottom:20px;display:flex}.wizard-dot{background:#e2e8f0;border-radius:50%;width:8px;height:8px;transition:background .2s,transform .2s}.wizard-dot.wdot-active{background:var(--brand);transform:scale(1.25)}.wizard-dot.wdot-done{background:#86efac}.wizard-step-label{color:var(--brand);text-transform:uppercase;letter-spacing:.6px;text-align:center;margin-bottom:6px;font-size:12px;font-weight:700}.wizard-step-title{color:var(--text-1);text-align:center;letter-spacing:-.3px;margin-bottom:6px;font-size:22px;font-weight:800}.wizard-step-sub{color:var(--text-2);text-align:center;margin-bottom:20px;font-size:14px;line-height:1.5}.wizard-fields{text-align:left;flex-direction:column;gap:4px;margin-bottom:20px;display:flex}.wizard-label{color:var(--text-1);margin-top:10px;margin-bottom:5px;font-size:13px;font-weight:600}.wizard-label-hint{color:var(--text-2);font-weight:400}.wizard-input{width:100%;color:var(--text-1);box-sizing:border-box;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:9px;outline:none;padding:10px 13px;font-size:14px;transition:border-color .15s,box-shadow .15s}.wizard-input:focus{border-color:var(--brand);background:#fff;box-shadow:0 0 0 3px #2563eb1a}.wizard-rate-wrap{align-items:center;gap:6px;display:flex}.wizard-rate-prefix,.wizard-rate-suffix{color:var(--text-2);flex-shrink:0;font-size:14px;font-weight:600}.wizard-rate-input{flex:1}.wizard-color-row{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.wizard-color-dot{cursor:pointer;border:3px solid #0000;border-radius:50%;outline:none;width:28px;height:28px;transition:transform .15s,border-color .15s}.jss-header{background:var(--surface,#f8fafc);border:1px solid var(--border,#e2e8f0);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:4px;padding:14px 18px 10px;display:flex}.jss-label{color:var(--text-3,#64748b);white-space:nowrap;font-size:.78rem;font-weight:600}.jss-tabs{flex-wrap:wrap;gap:6px;display:flex}.jss-tab{border:1.5px solid var(--border,#e2e8f0);color:var(--text-2,#374151);cursor:pointer;background:#fff;border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:.83rem;font-weight:500;transition:border-color .15s,background .15s,color .15s;display:flex}.jss-tab:hover{border-color:var(--brand,#4f46e5);color:var(--brand,#4f46e5)}.jss-tab.jss-active{background:var(--brand,#4f46e5);border-color:var(--brand,#4f46e5);color:#fff;font-weight:700}.jss-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.jss-tab.jss-active .jss-dot{outline:2px solid #ffffff80}.jss-vol-note{color:var(--text-3,#64748b);align-items:flex-start;gap:10px;font-size:.85rem;display:flex}.jss-vol-note p{margin:0;line-height:1.5}.vol-badge{color:#92400e;white-space:nowrap;background:#fef3c7;border-radius:12px;padding:2px 10px;font-size:.72rem;font-weight:700;display:inline-block}.btn-download-pdf{color:#fff;cursor:pointer;background:#0f172a;border:none;border-radius:8px;width:100%;margin-top:10px;padding:11px 18px;font-size:.9rem;font-weight:600;transition:background .15s;display:block}.btn-download-pdf:hover{background:#1e293b}.btn-download-pdf-locked{background:#64748b}.btn-download-pdf-locked:hover{background:#475569}.profile-name-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.profile-name-row .profile-name{margin:0}.paystub-overlay{z-index:1200;background:#0009;justify-content:center;align-items:flex-start;padding:24px 12px 40px;display:flex;position:fixed;inset:0;overflow-y:auto}.paystub-modal{background:#fff;border-radius:12px;width:100%;max-width:820px;overflow:hidden;box-shadow:0 20px 60px #00000059}.paystub-modal-actions{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.ps-close-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:8px 16px;font-size:.85rem;font-weight:600}.ps-close-btn:hover{background:#f1f5f9}.ps-print-btn{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:8px 18px;font-size:.85rem;font-weight:700}.ps-print-btn:hover{background:var(--brand-dark,#4338ca)}.paystub-print-region{padding:0}.ps-no-paid-jobs{text-align:center;color:#64748b;padding:48px;font-size:.95rem}.ps-page{color:#0f172a;background:#fff;border-bottom:3px solid #e2e8f0;padding:36px 40px 32px;font-family:Segoe UI,Arial,sans-serif}.ps-page:last-child{border-bottom:none}.ps-header{border-bottom:2px solid #0f172a;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:16px;display:flex}.ps-job-name{color:#0f172a;letter-spacing:-.02em;font-size:1.35rem;font-weight:800}.ps-employer{color:#64748b;margin-top:3px;font-size:.85rem}.ps-header-right{align-items:center;gap:12px;display:flex}.ps-logo-mark{background:var(--brand,#4f46e5);color:#fff;letter-spacing:-.05em;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;font-size:1rem;font-weight:900;display:flex}.ps-logo-text{color:#0f172a;font-size:1rem;font-weight:800;line-height:1.1}.ps-doc-title{color:#64748b;letter-spacing:.12em;text-transform:uppercase;font-size:.6rem;font-weight:700}.ps-info-table{border-collapse:collapse;width:100%;margin-bottom:20px;font-size:.78rem}.ps-info-table th{text-align:left;letter-spacing:.06em;color:#475569;text-transform:uppercase;background:#f1f5f9;border:1px solid #e2e8f0;padding:7px 10px;font-size:.65rem;font-weight:700}.ps-info-table td{color:#0f172a;border:1px solid #e2e8f0;padding:9px 10px;font-weight:500}.ps-income-table{border-collapse:collapse;width:100%;margin-bottom:4px;font-size:.82rem}.ps-income-table th{color:#fff;text-align:left;letter-spacing:.05em;text-transform:uppercase;background:#0f172a;padding:8px 10px;font-size:.68rem;font-weight:700}.ps-income-table td{color:#1e293b;border-bottom:1px solid #f1f5f9;padding:8px 10px}.ps-income-table tbody tr:nth-child(2n){background:#f8fafc}.ps-empty-row td{border-bottom:1px solid #f1f5f9;height:30px}.ps-banked-row td{color:#64748b;font-style:italic}.ps-footer-totals{border-collapse:collapse;width:100%;margin-bottom:24px;font-size:.82rem}.ps-footer-totals th{background:var(--brand,#4f46e5);color:#fff;text-align:left;letter-spacing:.05em;text-transform:uppercase;padding:8px 10px;font-size:.68rem;font-weight:700}.ps-footer-totals td{color:#312e81;background:#f0f4ff;border:1px solid #c7d2fe;padding:10px;font-size:.9rem;font-weight:700}.ps-detail-label{letter-spacing:.1em;text-transform:uppercase;color:#64748b;margin-bottom:6px;font-size:.68rem;font-weight:700}.ps-shifts-table{border-collapse:collapse;width:100%;margin-bottom:22px;font-size:.78rem}.ps-shifts-table th{text-align:left;letter-spacing:.05em;color:#475569;text-transform:uppercase;background:#f1f5f9;border:1px solid #e2e8f0;padding:7px 8px;font-size:.65rem;font-weight:700}.ps-shifts-table td{color:#334155;border-bottom:1px solid #f1f5f9;padding:7px 8px}.ps-shifts-table tbody tr:hover{background:#f8fafc}.ps-empty-msg{text-align:center;color:#94a3b8;padding:16px 0;font-style:italic}.ps-disclaimer{color:#64748b;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;padding:14px 16px;font-size:.72rem;line-height:1.6}.ps-disclaimer strong{color:#92400e}.ps-disclaimer em{color:#b45309}@media print{body *{visibility:hidden!important}.paystub-print-region,.paystub-print-region *{visibility:visible!important}.paystub-overlay{background:0 0!important;padding:0!important;position:static!important}.paystub-modal{box-shadow:none!important;border-radius:0!important;max-width:100%!important}.paystub-modal-actions{display:none!important}.paystub-print-region{width:100%;position:fixed;top:0;left:0}.ps-page{page-break-after:always;padding:24px 32px}.ps-page:last-child{page-break-after:avoid}}.wizard-color-dot.wcd-active{border-color:#fff;transform:scale(1.15);box-shadow:0 0 0 3px,0 0 0 5px #00000026}.wizard-color-dot:hover:not(.wcd-active){transform:scale(1.12)}.wizard-freq-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:4px;display:grid}.wizard-freq-opt{cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:12px;flex-direction:column;align-items:center;gap:3px;padding:14px 10px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.wizard-freq-opt.wfo-active{border-color:var(--brand);background:#eff6ff;box-shadow:0 0 0 3px #2563eb1a}.wizard-freq-opt:hover:not(.wfo-active){background:#f8fafc;border-color:#94a3b8}.wizard-freq-label{color:var(--text-1);font-size:14px;font-weight:700}.wizard-freq-sub{color:var(--text-2);font-size:12px}.wizard-hint{color:var(--text-2);margin-top:6px;font-size:13px;line-height:1.55}.wizard-nav{gap:10px;margin-top:4px;display:flex}.wizard-back-btn{color:var(--text-2);cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;flex-shrink:0;padding:11px 18px;font-size:14px;font-weight:600;transition:border-color .15s,color .15s}.wizard-back-btn:hover{color:var(--text-1);border-color:#94a3b8}.wizard-next-btn{flex:1}.wizard-done-icon{color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 16px;font-size:28px;font-weight:800;display:flex;box-shadow:0 4px 20px #22c55e59}.wizard-done-title{color:var(--text-1);text-align:center;letter-spacing:-.3px;margin-bottom:6px;font-size:24px;font-weight:800}.wizard-summary{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:10px;margin:14px 0 20px;padding:14px 18px;display:flex}.wizard-summary-row{justify-content:space-between;align-items:center;font-size:14px;display:flex}.wizard-summary-row span{color:var(--text-2)}.wizard-summary-row strong{color:var(--text-1);font-weight:700}.checklist-card{margin-bottom:0}.checklist-header{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.checklist-title{color:var(--text-1);margin:0 0 2px;font-size:16px;font-weight:700}.checklist-sub{color:var(--text-2);margin:0;font-size:13px}.checklist-dismiss-btn{color:var(--text-3,#94a3b8);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:16px;line-height:1}.checklist-dismiss-btn:hover{color:var(--text-2)}.checklist-badge-done{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:20px;padding:3px 10px;font-size:12px;font-weight:700}.checklist-bar{background:#f1f5f9;border-radius:99px;height:6px;margin-bottom:16px;overflow:hidden}.checklist-bar-fill{background:linear-gradient(90deg, var(--brand), #60a5fa);border-radius:99px;height:100%;transition:width .4s}.checklist-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.checklist-item{border-radius:8px;align-items:center;gap:10px;padding:9px 10px;transition:background .12s;display:flex}.checklist-item:hover{background:#f8fafc}.checklist-item.cli-done{opacity:.55}.cli-check{color:#fff;background:#fff;border:2px solid #e2e8f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:800;transition:background .2s,border-color .2s;display:flex}.cli-done .cli-check{background:#22c55e;border-color:#22c55e}.cli-label{color:var(--text-1);flex:1;font-size:14px;line-height:1.4}.cli-done .cli-label{color:var(--text-2);text-decoration:line-through}.cli-go{color:var(--brand);cursor:pointer;white-space:nowrap;background:0 0;border:1.5px solid #e2e8f0;border-radius:7px;padding:4px 10px;font-size:12px;font-weight:700;transition:border-color .15s,background .15s}.cli-go:hover{border-color:var(--brand);background:#eff6ff}.checklist-complete-msg{color:#15803d;text-align:center;background:#f0fdf4;border-radius:8px;margin-top:12px;padding:10px 14px;font-size:14px}@media (width<=768px){input,select,textarea{font-size:16px!important}}@media (width<=700px){.tabs{width:100%;height:auto;padding:0 0 env(safe-area-inset-bottom);border-top:1px solid var(--border);z-index:100;background:#fff;border-right:none;border-radius:0;flex-direction:row;align-items:stretch;gap:0;margin:0;position:fixed;inset:auto 0 0;box-shadow:0 -2px 16px #0f172a12}.tab-btn{border-radius:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-height:56px;padding:10px 2px}.tab-label{letter-spacing:.1px;font-size:10px;font-weight:600;display:block}.tab-icon{font-size:18px;line-height:1}.app{padding:16px 12px calc(68px + env(safe-area-inset-bottom))}.app-header{border-bottom:1px solid var(--border);background:0 0;flex-wrap:wrap;gap:8px;height:auto;margin-bottom:16px;padding:12px 0 10px;position:static}.day{cursor:pointer;min-height:54px;padding:6px 3px 4px 6px}.btn-edit-sm,.btn-danger-sm{min-height:36px;padding:7px 14px;font-size:13px}.btn-ghost.btn-sm{min-height:36px;padding:7px 14px}.cli-go{min-height:36px;padding:6px 12px}.job-list-actions{gap:8px}.form-group input,.form-group select{min-height:44px;padding:12px 14px}.welcome-card{-webkit-overflow-scrolling:touch;max-height:88vh;padding:28px 20px 24px;overflow-y:auto}.landing-header{padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right))}.landing-footer{padding-bottom:max(32px, env(safe-area-inset-bottom))}.auth-card{padding:32px 22px 24px}.policy-page{padding:32px 14px 60px}}@media (width<=390px){.app{padding:12px 10px calc(64px + env(safe-area-inset-bottom))}.tab-icon{font-size:16px}.tab-label{font-size:9px}.calendar-grid,.weekdays{gap:2px}.day{min-height:46px;padding:4px 2px 4px 4px}.day-number{font-size:11px}.day-hours{font-size:10px}.wizard-freq-grid{grid-template-columns:1fr}.wizard-color-dot{width:24px;height:24px}.auth-providers{grid-template-columns:1fr}.auth-card{border-radius:14px;padding:24px 14px 20px}.welcome-card{border-radius:16px;padding:22px 14px 18px}.wizard-step-title,.wizard-done-title{font-size:19px}}[data-theme=dark]{--brand:#6366f1;--brand-dark:#4f46e5;--brand-light:#1e1a4b;--green:#34d399;--green-light:#052e16;--red:#f87171;--red-light:#3f0a0a;--amber:#fbbf24;--amber-light:#3a1800;--purple:#a78bfa;--purple-light:#2d0f5e;--orange:#fb923c;--orange-light:#3a1300;--text:#e2e6f3;--text-2:#8a91a8;--text-3:#555663;--border:#2e3347;--border-2:#353849;--bg:#1c1f2e;--card:#242736;--shadow:0 1px 3px #00000080, 0 4px 16px #00000059;--shadow-lg:0 8px 30px #0000008c;--day:#e5b04a;--day-tint:#2a1e09;--eve:#e8906c;--eve-tint:#281508;--night:#7b8de0;--night-tint:#0e1230}@media (width>=600px){[data-theme=dark]{--brand:#6366f1;--brand-dark:#4f46e5;--brand-light:#1e1a4b;--green:#34d399;--green-light:#052e16;--red:#f87171;--red-light:#3f0a0a;--amber:#fbbf24;--amber-light:#3a1800;--purple:#a78bfa;--purple-light:#2d0f5e;--orange:#fb923c;--orange-light:#3a1300;--text:#e2e6f3;--text-2:#8a91a8;--text-3:#555663;--border:#2e3347;--border-2:#353849;--bg:#1c1f2e;--card:#242736;--shadow:0 1px 3px #00000080, 0 4px 16px #00000059;--shadow-lg:0 8px 30px #0000008c;--day:#e5b04a;--day-tint:#2a1e09;--eve:#e8906c;--eve-tint:#281508;--night:#7b8de0;--night-tint:#0e1230}}[data-theme=dark] body{color:var(--text);background:#1c1f2e}[data-theme=dark] .app-header{border-bottom-color:var(--border);background:#1c1f2eeb}[data-theme=dark] [data-theme=dark] .header-rate{background:var(--card);border-color:var(--border);color:var(--brand)}[data-theme=dark] .header-avatar{box-shadow:0 0 0 3px var(--card), 0 4px 14px #0006}[data-theme=dark] .tabs{background:var(--card);border-right-color:var(--border);border-top-color:var(--border);box-shadow:none}[data-theme=dark] [data-theme=dark] .tabs:after,[data-theme=dark] .tab-btn{color:var(--text-2)}[data-theme=dark] .tab-btn:hover{background:var(--bg);color:var(--text)}[data-theme=dark] .tab-active{box-shadow:none;background:var(--brand-light)!important;color:var(--brand)!important}@media (width<=700px){[data-theme=dark] .tabs{background:var(--card);border-top-color:var(--border)}[data-theme=dark] .tab-active{background:var(--brand-light)!important;color:var(--brand)!important;box-shadow:none!important}}[data-theme=dark] .card,[data-theme=dark] .summary-bar,[data-theme=dark] .bank-card,[data-theme=dark] .profile-card,[data-theme=dark] .profile-empty-card,[data-theme=dark] .payday-card,[data-theme=dark] .day{background:var(--card);border-color:var(--border)}[data-theme=dark] .day:hover{border-color:#4a5272}[data-theme=dark] .day-empty{background:0 0;border-color:#0000}[data-theme=dark] .day-shift-night .day-number{color:#7b8de0}[data-theme=dark] .day-holiday{background:linear-gradient(135deg,#27210a,#2e2700);border-color:#a16207}[data-theme=dark] .pill-holiday{color:#fde047;background:#28220a}[data-theme=dark] .pill-ot{background:var(--purple-light);color:var(--purple)}[data-theme=dark] .pill-probation{color:#5eead4;background:#0a2822}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{color:var(--text);border-color:var(--border);background:#1c2133}[data-theme=dark] input::placeholder{color:#4a5068}[data-theme=dark] input:focus,[data-theme=dark] select:focus,[data-theme=dark] textarea:focus{border-color:var(--brand);background:#1e2237;box-shadow:0 0 0 3px #6366f12e}[data-theme=dark] .btn-ghost,[data-theme=dark] .btn-secondary,[data-theme=dark] .btn-edit-sm,[data-theme=dark] .btn-add-shift,[data-theme=dark] .btn-detail-toggle{background:var(--card);color:var(--text-2);border-color:var(--border)}[data-theme=dark] .btn-ghost:hover,[data-theme=dark] .btn-edit-sm:hover,[data-theme=dark] .btn-add-shift:hover,[data-theme=dark] .btn-detail-toggle:hover{color:var(--text);background:#2e3347;border-color:#3d4458}[data-theme=dark] .btn-secondary:hover{background:#2a2100}[data-theme=dark] .toggle-thumb{background:#e2e6f3}[data-theme=dark] th{color:var(--text-2);border-bottom-color:var(--border);background:#1c1f2e}[data-theme=dark] td{border-bottom-color:var(--border)}[data-theme=dark] tbody tr:hover{background:#2a2d3e}[data-theme=dark] .stat-tile{background:var(--card);border-color:var(--border)}[data-theme=dark] .stat-tile.green-tile{background:#052e16;border-color:#14532d}[data-theme=dark] .summary-value,[data-theme=dark] .stat-num,[data-theme=dark] .bank-hours{color:var(--text)}[data-theme=dark] .shift-list-item,[data-theme=dark] .shift-window{background:var(--card);border-color:var(--border)}[data-theme=dark] .volunteer-notice{color:#f9a8d4;background:#2d0a1a;border-color:#831843}[data-theme=dark] .salary-notice{background:var(--brand-light);border-color:#312e81}[data-theme=dark] .vol-badge{color:#fde68a;background:#3a2200}[data-theme=dark] .bar-track{background:var(--border)}[data-theme=dark] .overtime-options{background:var(--brand-light)}[data-theme=dark] .welcome-card{background:var(--card)}[data-theme=dark] .auth-card{background:var(--card);border-color:var(--border);box-shadow:0 8px 40px #0006}[data-theme=dark] .auth-input{border-color:var(--border);color:var(--text);background:#1c2133}[data-theme=dark] .auth-input:focus{background:var(--card);border-color:var(--brand)}[data-theme=dark] .auth-provider-btn{background:var(--card);border-color:var(--border);color:var(--text)}[data-theme=dark] .auth-provider-btn:hover{background:#2e3347}[data-theme=dark] .auth-divider{color:var(--text-2)}[data-theme=dark] .auth-divider:before,[data-theme=dark] .auth-divider:after{background:var(--border)}[data-theme=dark] .auth-error{color:#fca5a5;background:#3f0a0a;border-color:#7f1d1d}[data-theme=dark] .auth-success{color:#86efac;background:#052e16;border-color:#14532d}[data-theme=dark] .wizard-input{border-color:var(--border);color:var(--text);background:#1c2133}[data-theme=dark] .wizard-input:focus{background:var(--card);border-color:var(--brand)}[data-theme=dark] .jss-header{background:var(--bg);border-color:var(--border)}[data-theme=dark] .jss-tab{background:var(--card);color:var(--text-2);border-color:var(--border)}[data-theme=dark] .paystub-modal{background:var(--card)}[data-theme=dark] .paystub-modal-actions{background:var(--bg);border-bottom-color:var(--border)}[data-theme=dark] .profile-avatar-lg{border-color:var(--card)}[data-theme=dark] .dev-plan-switcher{background:var(--bg);border-color:var(--border)}[data-theme=dark] .dev-plan-btn{background:var(--card);border-color:var(--border);color:var(--text-2)}[data-theme=dark] .dev-plan-btn-free.dev-plan-active{color:#94a3b8;background:#252a3a;border-color:#64748b}[data-theme=dark] .dev-plan-btn-pro.dev-plan-active{background:var(--brand-light);border-color:var(--brand);color:#818cf8}[data-theme=dark] .dev-plan-btn-premium.dev-plan-active{background:var(--purple-light);border-color:var(--purple);color:#c4b5fd}[data-theme=dark] .toast{color:var(--text);background:#2a2d3e;box-shadow:0 4px 20px #0006}[data-theme=dark] .aip{box-shadow:0 20px 60px #00000080,0 6px 20px #0000004d}[data-theme=dark] .aip-typing,[data-theme=dark] .aip-msg-assistant .aip-msg-text,[data-theme=dark] .aip-sug,[data-theme=dark] .aip-input,[data-theme=dark] .aip-key-in{background:#1c2133}[data-theme=dark] .offline-status{background:var(--card);color:var(--text-2)}[data-theme=dark] .plan-card,[data-theme=dark] .plan-cta-outline{background:var(--card)}[data-theme=dark] .billing-toggle{background:var(--border)}[data-theme=dark] .billing-opt-active{background:var(--card);color:var(--brand)}[data-theme=dark] .pricing-compare-wrap{background:var(--card)}[data-theme=dark] .compare-table thead th,[data-theme=dark] .compare-section-row td{background:var(--bg)}[data-theme=dark] .compare-feat-name,[data-theme=dark] .compare-cell{border-bottom-color:var(--border)}[data-theme=dark] .compare-table tbody tr:hover .compare-feat-name,[data-theme=dark] .compare-table tbody tr:hover .compare-cell{background:#2a2d3e}[data-theme=dark] .compare-pro-col{background:#1e1a4b!important}[data-theme=dark] .tbl-check{background:var(--brand-light)}[data-theme=dark] .tbl-dash{color:#3d4458}[data-theme=dark] .security-highlight-card,[data-theme=dark] .support-email-btn-secondary{background:var(--card)}[data-theme=dark] .support-contact-block{background:linear-gradient(135deg,#0e1528,#0c1a2e);border-color:#1e3a5f}[data-theme=dark] .policy-callout{color:#93c5fd;background:#0e1528;border-color:#1e3a5f}[data-theme=dark] .checklist-card{background:var(--card)}[data-theme=dark] .checklist-complete-msg{color:#86efac;background:#052e16}[data-theme=dark] .cli-check{background:var(--card);border-color:var(--border)}[data-theme=dark] .cli-done .cli-check{background:#22c55e;border-color:#22c55e}[data-theme=dark] .cli-go{border-color:var(--border)}[data-theme=dark] .cli-go:hover{background:var(--brand-light);border-color:var(--brand)}[data-theme=dark] .bank-card{background:var(--card)}[data-theme=dark] .payout-card{border-left-color:var(--brand)}[data-theme=dark] .bank-payout-row{background:#34d39912}[data-theme=dark] .bank-expire-row{background:#fbbf2412}[data-theme=dark] .bcp-payout{color:#34d399;background:#052e16}[data-theme=dark] .bcp-lose{color:#fbbf24;background:#3a1800}[data-theme=dark] .bank-expiry-ok{color:#34d399;background:#052e16}[data-theme=dark] .bank-expiry-warn{color:#fbbf24;background:#3a1800}[data-theme=dark] .bank-expiry-danger,[data-theme=dark] .bank-expiry-past{color:#f87171;background:#3f0a0a}[data-theme=dark] .chip-payout{color:#34d399;background:#052e16}[data-theme=dark] .chip-expire{color:#fbbf24;background:#3a1800}[data-theme=dark] .chip-transfer{color:#a78bfa;background:#2d0f5e}[data-theme=dark] .bank-transfer-row{background:#a78bfa12}[data-theme=dark] .bcp-transfer{color:#a78bfa;background:#2d0f5e}.plan-badge{letter-spacing:.08em;text-transform:uppercase;border-radius:20px;flex-shrink:0;align-items:center;padding:2px 9px;font-size:.65rem;font-weight:800;line-height:1.6;display:inline-flex}.plan-badge-free{color:#475569;background:#f1f5f9}.plan-badge-pro{color:#4338ca;background:#eef2ff;border:1px solid #c7d2fe}.plan-badge-premium{color:#6d28d9;background:#f5f3ff;border:1px solid #ddd6fe}.upgrade-card{background:linear-gradient(135deg,#f0f4ff 0%,#faf5ff 100%);border:1.5px solid #c7d2fe;border-radius:12px;margin-bottom:16px;padding:20px}.upgrade-card-header{align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.upgrade-card-icon{flex-shrink:0;margin-top:1px;font-size:1.4rem;line-height:1}.upgrade-card-title{color:#1e1b4b;margin:0 0 3px;font-size:1rem;font-weight:700}.upgrade-card-reason{color:#4338ca;margin:0;font-size:.83rem;line-height:1.4}.upgrade-card-benefits{flex-direction:column;gap:6px;margin:0 0 16px;padding:0;list-style:none;display:flex}.upgrade-card-benefits li{color:#374151;align-items:center;gap:8px;font-size:.83rem;display:flex}.upgrade-card-check{color:#4f46e5;flex-shrink:0;font-size:.8rem;font-weight:700}.upgrade-card-btn{color:#fff;cursor:pointer;text-align:center;background:#4f46e5;border:none;border-radius:8px;width:100%;padding:10px 20px;font-size:.88rem;font-weight:700;transition:background .15s;display:block}.upgrade-card-btn:hover{background:#4338ca}.upgrade-card-btn-purple{background:#7c3aed}.upgrade-card-btn-purple:hover{background:#6d28d9}.upgrade-banner{background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:10px 14px;font-size:.83rem;display:flex}.upgrade-banner-icon{flex-shrink:0;font-size:1rem}.upgrade-banner-text{color:#3730a3;flex:1;font-weight:500}.upgrade-banner-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#4f46e5;border:none;border-radius:6px;padding:5px 14px;font-size:.8rem;font-weight:700}.upgrade-banner-btn:hover{background:#4338ca}.feature-lock{border-radius:10px;position:relative;overflow:hidden}.feature-lock-preview{filter:blur(3px);pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.55}.feature-lock-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);text-align:center;background:#f8fafcb3;border:1.5px dashed #c7d2fe;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:20px;display:flex;position:absolute;inset:0}.feature-lock-icon{font-size:1.8rem;line-height:1}.feature-lock-label{color:#3730a3;margin:0;font-size:.88rem;font-weight:600}.feature-lock-sub{color:#64748b;margin:0;font-size:.78rem}.feature-lock-btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:6px;margin-top:4px;padding:7px 18px;font-size:.82rem;font-weight:700;transition:background .15s}.feature-lock-btn:hover{background:#4338ca}.upgrade-modal-overlay{z-index:1300;background:#00000080;justify-content:center;align-items:flex-start;padding:24px 12px 40px;display:flex;position:fixed;inset:0;overflow-y:auto}.upgrade-modal{background:#fff;border-radius:14px;width:100%;max-width:680px;padding:28px 24px 32px;box-shadow:0 24px 60px #0003}.upgrade-modal-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.upgrade-modal-title{color:#0f172a;margin:0 0 4px;font-size:1.3rem;font-weight:800}.upgrade-modal-sub{color:#64748b;margin:0;font-size:.85rem}.upgrade-modal-close{cursor:pointer;color:#64748b;background:0 0;border:1.5px solid #e2e8f0;border-radius:6px;flex-shrink:0;padding:4px 10px;font-size:.8rem}.upgrade-modal-close:hover{background:#f1f5f9}.upgrade-modal-plans{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.upgrade-modal-plan{border:1.5px solid #e2e8f0;border-radius:10px;padding:16px}.upgrade-modal-plan.ump-featured{background:#fafaff;border-color:#4f46e5}.ump-name{letter-spacing:.06em;text-transform:uppercase;color:#4f46e5;margin-bottom:4px;font-size:.75rem;font-weight:800}.ump-price{color:#0f172a;margin-bottom:2px;font-size:1.6rem;font-weight:800}.ump-price span{color:#64748b;font-size:.8rem;font-weight:400}.ump-tagline{color:#64748b;margin-bottom:12px;font-size:.8rem}.ump-features{flex-direction:column;gap:5px;margin:0 0 14px;padding:0;list-style:none;display:flex}.ump-features li{color:#374151;gap:7px;font-size:.8rem;display:flex}.ump-features li:before{content:"✓";color:#4f46e5;flex-shrink:0;font-weight:700}.ump-cta{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:7px;width:100%;padding:9px 14px;font-size:.85rem;font-weight:700;display:block}.ump-cta:hover{background:#4338ca}.ump-cta-outline{color:#4f46e5;background:#fff;border:1.5px solid #4f46e5}.ump-cta-outline:hover{background:#eef2ff}.ump-cta-premium{background:#7c3aed}.ump-cta-premium:hover{background:#6d28d9}.upgrade-modal-note{color:#92400e;text-align:center;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin-top:16px;padding:10px 14px;font-size:.78rem}[data-theme=dark] .plan-badge-free{color:#94a3b8;background:#2e3347;border:none}[data-theme=dark] .plan-badge-pro{color:#818cf8;background:#1e1a4b;border-color:#312e81}[data-theme=dark] .plan-badge-premium{color:#c4b5fd;background:#2d0f5e;border-color:#4c1d95}[data-theme=dark] .upgrade-card{background:linear-gradient(135deg,#1e1a4b 0%,#2d1260 100%);border-color:#312e81}[data-theme=dark] .upgrade-card-title{color:#e0e7ff}[data-theme=dark] .upgrade-card-reason{color:#818cf8}[data-theme=dark] .upgrade-card-benefits li{color:#c7d2fe}[data-theme=dark] .upgrade-banner{background:#1e1a4b;border-color:#312e81}[data-theme=dark] .upgrade-banner-text{color:#818cf8}[data-theme=dark] .feature-lock-overlay{background:#1c1f2ee0;border-color:#312e81}[data-theme=dark] .feature-lock-label{color:#818cf8}[data-theme=dark] .feature-lock-sub{color:#8a91a8}[data-theme=dark] .upgrade-modal{background:#242736;box-shadow:0 24px 60px #0000008c}[data-theme=dark] .upgrade-modal-title{color:#e2e6f3}[data-theme=dark] .upgrade-modal-sub{color:#8a91a8}[data-theme=dark] .upgrade-modal-close{color:#8a91a8;border-color:#2e3347}[data-theme=dark] .upgrade-modal-close:hover{background:#2e3347}[data-theme=dark] .upgrade-modal-plan{border-color:#2e3347}[data-theme=dark] .upgrade-modal-plan.ump-featured{background:#1e1a4b;border-color:#6366f1}[data-theme=dark] .ump-price{color:#e2e6f3}[data-theme=dark] .ump-price span,[data-theme=dark] .ump-tagline{color:#8a91a8}[data-theme=dark] .ump-features li{color:#c7d2fe}[data-theme=dark] .ump-cta-outline{color:#6366f1;background:#242736;border-color:#6366f1}[data-theme=dark] .ump-cta-outline:hover{background:#1e1a4b}[data-theme=dark] .upgrade-modal-note{color:#fde68a;background:#2a1f00;border-color:#854d0e}.aip{background:var(--card);border:1.5px solid var(--border);z-index:902;border-radius:18px;flex-direction:column;width:min(390px,100vw - 32px);max-height:min(680px,100vh - 112px);animation:.2s cubic-bezier(.34,.2,.34,1) both aipIn;display:flex;position:fixed;bottom:88px;right:24px;overflow:hidden;box-shadow:0 20px 60px #00000038,0 6px 20px #0000001f}@keyframes aipIn{0%{opacity:0;transform:translateY(14px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.aip-header{background:linear-gradient(135deg, var(--brand) 0%, #7c3aed 100%);flex-shrink:0;justify-content:space-between;align-items:center;padding:13px 14px 13px 16px;display:flex}.aip-header-l{align-items:center;gap:8px;display:flex}.aip-star{color:#ffffffe6;font-size:15px;line-height:1}.aip-title{color:#fff;letter-spacing:-.01em;font-size:14px;font-weight:800}.aip-beta{letter-spacing:.07em;text-transform:uppercase;color:#ffffffb3;background:#ffffff26;border-radius:999px;padding:2px 7px;font-size:9.5px;font-weight:700}.aip-header-r{align-items:center;gap:4px;display:flex}.aip-act{color:#ffffffd9;cursor:pointer;background:#ffffff26;border:none;border-radius:6px;padding:4px 9px;font-size:11.5px;font-weight:600;line-height:1.4;transition:background .12s}.aip-act:hover{background:#ffffff47}.aip-close-btn{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:27px;height:27px;font-size:13px;transition:background .12s;display:flex}.aip-close-btn:hover{background:#ffffff52}.aip-msgs{scroll-behavior:smooth;flex-direction:column;flex:1;gap:10px;min-height:0;padding:14px 14px 6px;display:flex;overflow-y:auto}.aip-msgs::-webkit-scrollbar{width:3px}.aip-msgs::-webkit-scrollbar-track{background:0 0}.aip-msgs::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.aip-empty{text-align:center;flex-direction:column;align-items:center;gap:5px;padding:18px 6px 6px;display:flex}.aip-empty-star{color:var(--brand);opacity:.75;margin-bottom:4px;font-size:26px}.aip-empty-h{color:var(--text);margin:0;font-size:15px;font-weight:700}.aip-empty-sub{color:var(--text-2);margin:0 0 12px;font-size:12.5px;line-height:1.5}.aip-suggestions{flex-direction:column;gap:5px;width:100%;display:flex}.aip-sug{text-align:left;background:var(--bg);border:1.5px solid var(--border);color:var(--text-2);cursor:pointer;border-radius:10px;padding:9px 13px;font-size:12.5px;font-weight:500;line-height:1.4;transition:border-color .12s,background .12s,color .12s}.aip-sug:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-light)}.aip-msg{align-items:flex-start;gap:7px;display:flex}.aip-msg-user{flex-direction:row-reverse}.aip-avatar{background:linear-gradient(135deg, var(--brand), #7c3aed);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;margin-top:1px;font-size:11px;display:flex}.aip-msg-body{flex-direction:column;gap:4px;max-width:calc(100% - 38px);display:flex}.aip-msg-text{white-space:pre-wrap;word-break:break-word;margin:0;padding:9px 13px;font-size:13px;line-height:1.58}.aip-msg-assistant .aip-msg-text{background:var(--bg);border:1.5px solid var(--border);color:var(--text);border-radius:4px 13px 13px}.aip-msg-user .aip-msg-text{background:var(--brand);color:#fff;border-radius:13px 13px 4px}.aip-msg-err .aip-msg-text{background:var(--red-light);border:1.5px solid var(--red);color:var(--red);border-radius:4px 13px 13px}.aip-msg-footer{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.aip-copy{border:1px solid var(--border);color:var(--text-2);cursor:pointer;background:0 0;border-radius:5px;padding:2px 8px;font-size:11px;transition:all .12s}.aip-copy:hover{border-color:var(--brand);color:var(--brand)}.aip-copy-ok{border-color:var(--green)!important;color:var(--green)!important}.aip-nav-hint{background:var(--brand-light);border:1px solid var(--brand);color:var(--brand);cursor:pointer;border-radius:5px;padding:2px 8px;font-size:11px;font-weight:600;transition:background .12s}.aip-nav-hint:hover{background:var(--brand);color:#fff}.aip-typing{background:var(--bg);border:1.5px solid var(--border);border-radius:4px 13px 13px;align-items:center;gap:4px;padding:11px 14px;display:flex}.aip-typing span{background:var(--text-2);border-radius:50%;width:6px;height:6px;animation:1.3s ease-in-out infinite aipDot}.aip-typing span:nth-child(2){animation-delay:.22s}.aip-typing span:nth-child(3){animation-delay:.44s}@keyframes aipDot{0%,80%,to{opacity:.25;transform:scale(.75)}40%{opacity:1;transform:scale(1)}}.aip-chips{border-top:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;gap:5px;padding:6px 10px 8px;display:flex}.aip-chip{background:var(--bg);border:1px solid var(--border);color:var(--text-2);cursor:pointer;white-space:nowrap;border-radius:20px;padding:4px 10px;font-size:11px;transition:border-color .12s,color .12s}.aip-chip:hover{border-color:var(--brand);color:var(--brand)}.aip-input-row{border-top:1.5px solid var(--border);flex-shrink:0;gap:7px;padding:9px 10px 12px;display:flex}.aip-input{border:1.5px solid var(--border);color:var(--text);background:var(--bg);border-radius:10px;outline:none;flex:1;padding:9px 13px;font-family:inherit;font-size:13px;transition:border-color .12s,box-shadow .12s}.aip-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #6366f124}.aip-input::placeholder{color:var(--text-2)}.aip-input:disabled{opacity:.55}.aip-send{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-self:center;align-items:center;width:36px;height:36px;font-size:17px;font-weight:700;transition:background .12s,transform .1s;display:flex}.aip-send:hover:not(:disabled){background:var(--brand-dark);transform:scale(1.06)}.aip-send:active:not(:disabled){transform:scale(.94)}.aip-send:disabled{opacity:.35;cursor:not-allowed}.aip-key-wrap{text-align:center;flex-direction:column;flex:1;align-items:center;gap:0;padding:28px 22px 22px;display:flex;overflow-y:auto}.aip-key-icon{margin-bottom:10px;font-size:34px}.aip-key-h{color:var(--text);margin:0 0 7px;font-size:16px;font-weight:800}.aip-key-p{color:var(--text-2);margin:0 0 16px;font-size:12.5px;line-height:1.55}.aip-key-in{border:1.5px solid var(--border);width:100%;color:var(--text);background:var(--bg);box-sizing:border-box;border-radius:10px;outline:none;margin-bottom:10px;padding:9px 13px;font-family:inherit;font-size:13px;transition:border-color .12s}.aip-key-in:focus{border-color:var(--brand);box-shadow:0 0 0 3px #6366f124}.aip-key-btn{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:10px;width:100%;margin-bottom:14px;padding:10px;font-size:14px;font-weight:700;transition:background .12s}.aip-key-btn:hover:not(:disabled){background:var(--brand-dark)}.aip-key-btn:disabled{opacity:.45;cursor:not-allowed}.aip-key-hint{color:var(--text-2);margin:0 0 12px;font-size:11.5px;line-height:1.55}.aip-key-cancel{border:1.5px solid var(--border);color:var(--text-2);cursor:pointer;background:0 0;border-radius:8px;padding:6px 14px;font-size:12px;font-weight:600;transition:border-color .12s}.aip-key-cancel:hover{border-color:var(--brand);color:var(--brand)}@media (width<=700px){.aip{border-bottom:none;border-radius:20px 20px 0 0;width:100%;max-height:88vh;animation:.22s cubic-bezier(.34,.2,.34,1) both aipInMobile;bottom:0;left:0;right:0}@keyframes aipInMobile{0%{opacity:0;transform:translateY(36px)}to{opacity:1;transform:translateY(0)}}}.ai-fab{z-index:901;background:linear-gradient(135deg, var(--brand) 0%, #7c3aed 100%);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:22px;font-weight:800;transition:transform .15s,box-shadow .15s;display:flex;position:fixed;bottom:32px;right:24px;box-shadow:0 6px 24px #4f46e573}.ai-fab:hover{transform:scale(1.09);box-shadow:0 8px 30px #4f46e58c}.ai-fab:active{transform:scale(.93)}.ai-fab-locked{background:linear-gradient(135deg,#94a3b8,#64748b);box-shadow:0 4px 16px #0003}@media (width<=700px){.ai-fab{right:14px;bottom:calc(68px + env(safe-area-inset-bottom) + 10px);width:46px;height:46px;font-size:19px}}
