@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--primary:#1b3a5c;--primary-light:#2a5080;--primary-dark:#0f2440;--accent:#c9a84c;--accent-light:#dbbf6e;--accent-dark:#b08e2e;--accent-glow:#c9a84c26;--text:#1a1a2e;--text-secondary:#4a5568;--text-muted:#94a3b8;--bg:#f0f2f5;--bg-warm:#faf9f7;--white:#fff;--border:#e2e8f0;--border-light:#f1f5f9;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow:0 4px 6px -1px #00000012, 0 2px 4px -1px #0000000a;--shadow-md:0 10px 15px -3px #00000014, 0 4px 6px -2px #0000000a;--shadow-lg:0 20px 25px -5px #00000014, 0 10px 10px -5px #00000008;--radius:10px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--success:#059669;--success-bg:#05966914;--danger:#dc2626;--danger-bg:#dc26260f;--warning:#d97706;--warning-bg:#d9770614;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;line-height:1.6}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);min-height:100vh;margin:0}#root{min-height:100vh}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes checkmark{0%{opacity:0;transform:scale(0)rotate(-45deg)}50%{opacity:1;transform:scale(1.2)rotate(-45deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes ringProgress{0%{stroke-dashoffset:283px}}.animate-fade{animation:.3s ease-out fadeIn}.animate-slide{animation:.4s ease-out slideUp}.animate-scale{animation:.3s ease-out scaleIn}.app-layout{flex-direction:column;min-height:100vh;display:flex}.main-content{flex:1;width:100%;max-width:1040px;margin:0 auto;padding:2rem 1.25rem}.footer{text-align:center;color:var(--text-muted);letter-spacing:.02em;border-top:1px solid var(--border-light);background:var(--white);padding:1.5rem 1rem;font-size:.8rem}.header{background:linear-gradient(135deg, var(--primary-dark), var(--primary), var(--primary-light));color:var(--white);z-index:100;padding:0 1.25rem;position:sticky;top:0;box-shadow:0 2px 20px #0f244026}.header-inner{justify-content:space-between;align-items:center;max-width:1040px;height:68px;margin:0 auto;display:flex}.header-brand{color:var(--white);align-items:center;gap:.85rem;text-decoration:none;transition:opacity .2s;display:flex}.header-brand:hover{opacity:.9}.header-logo{border-radius:6px;width:auto;height:42px;box-shadow:0 2px 8px #00000026}.header-logo-placeholder{background:linear-gradient(135deg, var(--accent), var(--accent-light));color:var(--primary-dark);letter-spacing:.03em;border-radius:8px;padding:.3rem .85rem;font-size:.85rem;font-weight:700;box-shadow:0 2px 8px #c9a84c4d}.header-title{letter-spacing:-.01em;font-size:1.15rem;font-weight:700}.menu-toggle{color:var(--white);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.35rem;transition:background .2s;display:none}.menu-toggle:hover{background:#ffffff1a}.header-nav{align-items:center;gap:.15rem;display:flex}.header-nav a,.header-nav .nav-link{color:#fffc;border-radius:var(--radius);white-space:nowrap;padding:.5rem .85rem;font-size:.88rem;font-weight:500;text-decoration:none;transition:all .2s}.header-nav a:hover,.header-nav .nav-link:hover{color:var(--white);background:#ffffff1f}.header-nav a.active-link{color:var(--white);background:#ffffff26}.sign-out-btn{cursor:pointer;background:#ffffff0f;border:1px solid #ffffff26;align-items:center;gap:.35rem;font-family:inherit;font-weight:500;transition:all .2s;display:inline-flex;color:#ffffffb3!important;border-radius:var(--radius)!important;padding:.4rem .8rem!important;font-size:.82rem!important}.sign-out-btn:hover{border-color:#ffffff40;color:var(--white)!important;background:#ffffff1f!important}@media (width<=768px){.menu-toggle{display:block}.header-nav{background:var(--primary-dark);box-shadow:var(--shadow-lg);border-top:1px solid #ffffff14;flex-direction:column;padding:.75rem 1.25rem 1.25rem;animation:.2s ease-out slideDown;display:none;position:absolute;top:68px;left:0;right:0}.header-nav.open{display:flex}.header-nav a,.header-nav .nav-link{text-align:left;width:100%;padding:.7rem .85rem}}.page{flex-direction:column;gap:1.5rem;animation:.3s ease-out fadeIn;display:flex}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.page h1{color:var(--primary);letter-spacing:-.02em;font-size:1.85rem;font-weight:800}.page h2{color:var(--primary);margin-bottom:1rem;font-size:1.2rem;font-weight:700}.page h3{color:var(--primary);margin-bottom:.75rem;font-size:1.05rem;font-weight:700}.page-subtitle{color:var(--text-secondary);margin-top:-.5rem;font-size:.95rem;font-style:italic}.motivational-text{color:var(--text-muted);text-align:center;letter-spacing:.01em;padding:.5rem 0;font-size:.9rem;font-style:italic}.card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border);padding:1.75rem;transition:box-shadow .2s,border-color .2s;animation:.35s ease-out slideUp}.card:hover{box-shadow:var(--shadow)}.welcome-card{text-align:center;background:linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 50%, var(--primary-light) 100%);color:var(--white);border:none;padding:2.5rem 2rem;position:relative;overflow:hidden}.welcome-card:before{content:"";pointer-events:none;background:radial-gradient(#c9a84c14 0%,#0000 70%);width:60%;height:200%;position:absolute;top:-50%;right:-30%}.welcome-card h1{color:var(--white);letter-spacing:-.01em;margin-top:.75rem;font-size:1.6rem;font-weight:700}.welcome-card p{color:#ffffffb3;margin-top:.35rem;font-size:.95rem}.welcome-card .motivational-text{color:#fff9;margin-top:.75rem}.welcome-icon{color:var(--accent);filter:drop-shadow(0 2px 8px #c9a84c66)}.btn{border-radius:var(--radius);cursor:pointer;white-space:nowrap;letter-spacing:.01em;border:2px solid #0000;justify-content:center;align-items:center;gap:.45rem;padding:.65rem 1.4rem;font-family:inherit;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none!important}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{background:linear-gradient(135deg, var(--accent), var(--accent-light));color:var(--primary-dark);border-color:var(--accent);box-shadow:0 2px 8px #c9a84c40}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg, var(--accent-light), var(--accent));transform:translateY(-1px);box-shadow:0 4px 14px #c9a84c59}.btn-outline{background:var(--white);color:var(--primary);border-color:var(--border)}.btn-outline:hover:not(:disabled){border-color:var(--primary);background:#1b3a5c08;transform:translateY(-1px)}.btn-outline-light{color:var(--white);background:0 0;border-color:#fff6}.btn-outline-light:hover:not(:disabled){background:#ffffff1f;border-color:#ffffffb3;transform:translateY(-1px)}.btn-danger{background:var(--danger-bg);color:var(--danger);border-color:#0000}.btn-danger:hover:not(:disabled){background:#dc26261f}.btn-sm{border-radius:8px;padding:.4rem .85rem;font-size:.82rem}.btn-lg{border-radius:var(--radius-lg);padding:.85rem 2rem;font-size:1.05rem}.btn-full{width:100%}.icon-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:8px;align-items:center;padding:.4rem;transition:all .2s;display:inline-flex}.icon-btn:hover{color:var(--primary);background:#1b3a5c0f}.icon-btn.danger:hover{color:var(--danger);background:var(--danger-bg)}.tooltip-wrap{align-items:center;gap:.35rem;display:inline-flex;position:relative}.tooltip-trigger{cursor:pointer;color:var(--text-muted);opacity:.6;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .2s;display:inline-flex}.tooltip-trigger:hover{opacity:1;color:var(--primary)}.tooltip-bubble{background:var(--primary-dark);color:var(--white);border-radius:var(--radius);white-space:normal;z-index:200;width:max-content;max-width:260px;box-shadow:var(--shadow-md);pointer-events:none;padding:.6rem .85rem;font-size:.8rem;font-style:normal;font-weight:400;line-height:1.45;animation:.15s ease-out fadeIn;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.tooltip-bubble:after{content:"";border:5px solid #0000;border-top-color:var(--primary-dark);position:absolute;top:100%;left:50%;transform:translate(-50%)}.search-box{align-items:center;display:flex;position:relative}.search-icon{color:var(--text-muted);pointer-events:none;z-index:1;position:absolute;left:1rem}.search-input,.search-box input{border:2px solid var(--border);border-radius:var(--radius-lg);background:var(--white);width:100%;padding:.85rem 1rem .85rem 2.75rem;font-family:inherit;font-size:1.05rem;transition:all .2s}.search-input:focus,.search-box input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.search-input::placeholder,.search-box input::placeholder{color:var(--text-muted)}.search-box.small input{border-radius:var(--radius);padding:.55rem .55rem .55rem 2.25rem;font-size:.9rem}.form{flex-direction:column;gap:1.15rem;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=500px){.form-row{grid-template-columns:1fr}}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-group label{color:var(--text-secondary);align-items:center;gap:.3rem;font-size:.85rem;font-weight:600;display:flex}.form-group input,.form-group select,.form-group textarea{border:2px solid var(--border);border-radius:var(--radius);background:var(--white);color:var(--text);padding:.7rem .85rem;font-family:inherit;font-size:.95rem;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.form-group textarea{resize:vertical;min-height:70px}.form-actions{flex-wrap:wrap;gap:.75rem;padding-top:.25rem;display:flex}.volunteer-list{flex-direction:column;gap:.35rem;margin-top:.85rem;list-style:none;animation:.3s ease-out slideUp;display:flex}.volunteer-item{background:var(--white);border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;width:100%;padding:.85rem 1.15rem;font-family:inherit;font-size:.95rem;transition:all .2s;display:flex}.volunteer-item:hover{background:var(--accent-glow);border-color:var(--accent);box-shadow:var(--shadow-sm);transform:translate(4px)}.volunteer-name{color:var(--primary);font-weight:600}.volunteer-email{color:var(--text-muted);font-size:.82rem}.no-results{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:2rem 0;animation:.3s ease-out fadeIn;display:flex}.add-me-option{background:var(--accent-glow);border:2px dashed var(--accent);border-radius:var(--radius);cursor:pointer;width:100%;color:var(--accent-dark);text-align:center;justify-content:center;align-items:center;gap:.5rem;margin-top:.25rem;padding:.85rem 1.15rem;font-family:inherit;font-size:.95rem;font-weight:600;transition:all .2s;display:flex}.add-me-option:hover{border-color:var(--accent-dark);background:#c9a84c33;transform:translateY(-1px)}.hours-summary{justify-content:center;gap:2.5rem;margin-top:1.25rem;display:flex}.hours-stat{flex-direction:column;align-items:center;display:flex}.hours-number{color:var(--accent);text-shadow:0 2px 8px #c9a84c33;font-size:2.25rem;font-weight:800;line-height:1}.hours-label{text-transform:uppercase;letter-spacing:.08em;opacity:.7;margin-top:.35rem;font-size:.75rem;font-weight:500}.activity-breakdown{flex-direction:column;gap:.15rem;display:flex}.breakdown-row{border-radius:8px;justify-content:space-between;align-items:center;padding:.6rem .75rem;font-size:.9rem;transition:background .15s;display:flex}.breakdown-row:hover{background:#1b3a5c08}.breakdown-hours{color:var(--primary);font-size:.95rem;font-weight:700}.progress-ring-wrap{flex-direction:column;align-items:center;gap:.5rem;margin:1rem 0;display:flex}.progress-ring{width:120px;height:120px;position:relative}.progress-ring svg{transform:rotate(-90deg)}.progress-ring-bg{fill:none;stroke:#ffffff26;stroke-width:8px}.progress-ring-fill{fill:none;stroke:var(--accent);stroke-width:8px;stroke-linecap:round;stroke-dasharray:283;filter:drop-shadow(0 0 6px #c9a84c66);animation:1.5s ease-out forwards ringProgress}.progress-ring-text{color:var(--white);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.progress-ring-text .ring-value{font-size:1.75rem;font-weight:800;line-height:1}.progress-ring-text .ring-label{text-transform:uppercase;letter-spacing:.1em;opacity:.7;margin-top:.2rem;font-size:.65rem}.confirm-banner{background:var(--warning-bg);border:2px solid var(--warning);border-radius:var(--radius-lg);text-align:center;padding:1.25rem 1.5rem;animation:.3s ease-out scaleIn}.confirm-banner p{color:var(--text);margin-bottom:1rem;font-size:.95rem}.success-screen{text-align:center;padding:3rem 1.5rem;animation:.4s ease-out scaleIn}.success-checkmark{background:linear-gradient(135deg, var(--success), #10b981);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 1.5rem;animation:.6s ease-out pulse;display:flex;box-shadow:0 8px 25px #0596694d}.success-checkmark svg{color:#fff}.success-screen h2{color:var(--primary);margin-bottom:.5rem;font-size:1.4rem}.success-screen p{color:var(--text-secondary);font-size:1rem}.success-screen .motivational-text{margin-top:1rem;font-size:1rem}.entries-table-wrap{border-radius:var(--radius);overflow-x:auto}.entries-table{border-collapse:separate;border-spacing:0;width:100%;font-size:.88rem}.entries-table th{text-align:left;border-bottom:2px solid var(--border);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;background:var(--bg);padding:.7rem .85rem;font-size:.75rem;font-weight:600}.entries-table td{border-bottom:1px solid var(--border-light);padding:.7rem .85rem;transition:background .15s}.entries-table tbody tr{transition:background .15s}.entries-table tbody tr:hover{background:#1b3a5c05}.entries-table tbody tr:last-child td{border-bottom:none}.inactive-row{opacity:.45}.notes-cell{text-overflow:ellipsis;white-space:nowrap;max-width:200px;color:var(--text-secondary);overflow:hidden}.actions-cell{white-space:nowrap;align-items:center;gap:.35rem;display:flex}.table-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.filter-tabs{background:var(--bg);border-radius:var(--radius);gap:.3rem;padding:.25rem;display:flex}.tab{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:8px;padding:.45rem .9rem;font-family:inherit;font-size:.82rem;font-weight:600;transition:all .2s}.tab.active{background:var(--white);color:var(--primary);box-shadow:var(--shadow-xs)}.tab:hover:not(.active){color:var(--text);background:#ffffff80}.badge{border-radius:var(--radius-full);letter-spacing:.02em;align-items:center;gap:.3rem;padding:.2rem .65rem;font-size:.72rem;font-weight:600;display:inline-flex}.badge-active{background:var(--success-bg);color:var(--success)}.badge-inactive{background:var(--danger-bg);color:var(--danger)}.badge-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.badge-active .badge-dot{background:var(--success)}.badge-inactive .badge-dot{background:var(--danger)}.alert{border-radius:var(--radius);margin-bottom:.85rem;padding:.85rem 1.15rem;font-size:.9rem;animation:.25s ease-out slideDown}.alert-error{background:var(--danger-bg);color:var(--danger);border:1px solid #dc262626}.alert-success{background:var(--success-bg);color:var(--success);border:1px solid #05966926}.login-page{justify-content:center;align-items:center;min-height:65vh;display:flex}.login-card{width:100%;max-width:420px;padding:2.5rem}.login-header{text-align:center;color:var(--primary);margin-bottom:2rem}.login-header .login-icon-wrap{background:linear-gradient(135deg, var(--primary), var(--primary-light));border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 1rem;display:flex;box-shadow:0 4px 12px #1b3a5c33}.login-header .login-icon-wrap svg{color:var(--white)}.login-header h1{margin-bottom:.35rem;font-size:1.5rem}.login-header .login-subtitle{color:var(--text-muted);font-size:.9rem;font-style:italic}.login-social-buttons{flex-direction:column;gap:.75rem;margin-bottom:1.25rem;display:flex}.btn-social{border-radius:var(--radius);cursor:pointer;border:1px solid var(--border);background:var(--white);width:100%;color:var(--text);justify-content:center;align-items:center;gap:.6rem;padding:.7rem 1rem;font-size:.92rem;font-weight:500;transition:all .2s;display:flex}.btn-social:hover:not(:disabled){box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-social:disabled{opacity:.6;cursor:not-allowed}.btn-google{background:var(--white);color:#3c4043;border-color:#dadce0}.btn-google:hover:not(:disabled){background:#f8f9fa;border-color:#c6c8ca}.btn-apple{color:#fff;background:#000;border-color:#000}.btn-apple:hover:not(:disabled){background:#1a1a1a}.btn-email{background:var(--primary);border-color:var(--primary);color:var(--white)}.btn-email:hover:not(:disabled){background:var(--primary-light);border-color:var(--primary-light)}.login-divider{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:1rem;margin:1.25rem 0;font-size:.8rem;font-weight:500;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--border);flex:1;height:1px}.find-church-page{background:linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 50%, var(--primary-light) 100%);justify-content:center;align-items:flex-start;min-height:100vh;padding:2rem 1rem;display:flex}.find-church-container{width:100%;max-width:560px;margin-top:2rem}.find-church-container .signup-back{color:#ffffffbf;align-items:center;gap:.4rem;margin-bottom:1.5rem;font-size:.88rem;font-weight:500;text-decoration:none;transition:color .2s;display:inline-flex}.find-church-container .signup-back:hover{color:#fff}.find-church-card{padding:2.5rem}.find-church-header{text-align:center;color:var(--primary);margin-bottom:2rem}.find-church-header svg{color:var(--accent);margin-bottom:.75rem}.find-church-header h1{margin-bottom:.35rem;font-size:1.6rem;font-weight:700}.find-church-header p{color:var(--text-secondary);font-size:.92rem}.find-church-search{gap:.75rem;margin-bottom:0;display:flex}.find-church-input-wrap{flex:1;position:relative}.find-church-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.find-church-input-wrap input{border:1px solid var(--border);border-radius:var(--radius);background:var(--white);width:100%;color:var(--text);padding:.7rem .85rem .7rem 2.6rem;font-family:inherit;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.find-church-input-wrap input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.find-church-results{margin-top:1.5rem}.find-church-list{flex-direction:column;gap:.5rem;display:flex}.find-church-item{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:var(--white);justify-content:space-between;align-items:center;padding:1rem 1.15rem;transition:all .2s;display:flex}.find-church-item:hover{border-color:var(--accent);box-shadow:var(--shadow-sm);transform:translate(2px)}.find-church-item-info h3{color:var(--text);margin-bottom:.15rem;font-size:1rem;font-weight:600}.find-church-item-info p{color:var(--text-muted);align-items:center;gap:.3rem;font-size:.82rem;display:flex}.find-church-item-arrow{color:var(--text-muted);flex-shrink:0;transition:color .2s}.find-church-item:hover .find-church-item-arrow{color:var(--accent)}.find-church-empty{text-align:center;color:var(--text-secondary);padding:1.5rem 0}.find-church-empty p:first-child{margin-bottom:.5rem;font-weight:500}.find-church-empty-sub{color:var(--text-muted);font-size:.88rem}.find-church-empty-sub a{color:var(--accent-dark);font-weight:500;text-decoration:none}.find-church-empty-sub a:hover{text-decoration:underline}@media (width<=540px){.find-church-card{padding:1.5rem}.find-church-search{flex-direction:column}}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1.15rem;display:grid}.stat-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border);color:var(--primary);flex-direction:column;align-items:center;gap:.6rem;padding:1.75rem 1.25rem;text-decoration:none;transition:all .25s;display:flex;position:relative;overflow:hidden}.stat-card:before{content:"";background:linear-gradient(90deg, var(--accent), var(--accent-light));opacity:0;height:3px;transition:opacity .25s;position:absolute;top:0;left:0;right:0}.stat-card:hover{box-shadow:var(--shadow-md);border-color:var(--accent);transform:translateY(-3px)}.stat-card:hover:before{opacity:1}.stat-icon-wrap{background:var(--accent-glow);width:44px;height:44px;color:var(--accent-dark);border-radius:12px;justify-content:center;align-items:center;display:flex}.stat-value{letter-spacing:-.02em;font-size:2.25rem;font-weight:800;line-height:1}.stat-label{color:var(--text-muted);font-size:.82rem;font-weight:500}.logo-upload-section{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.logo-preview-wrap{border-radius:var(--radius);border:2px dashed var(--border);background:var(--bg);flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;display:flex;overflow:hidden}.logo-preview-wrap img{object-fit:contain;width:100%;height:100%}.logo-upload-info{flex-direction:column;gap:.5rem;display:flex}.help-text{color:var(--text-muted);font-size:.82rem;line-height:1.5}.upload-btn{cursor:pointer}.report-tabs{flex-wrap:wrap;gap:.5rem;display:flex}.report-tab{background:var(--white);border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text-secondary);align-items:center;gap:.5rem;padding:.7rem 1.3rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.report-tab.active{background:linear-gradient(135deg, var(--primary), var(--primary-light));color:var(--white);border-color:var(--primary);box-shadow:0 4px 12px #1b3a5c33}.report-tab:hover:not(.active){border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}.report-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.85rem;display:flex}.export-btns{gap:.5rem;display:flex}.overall-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;display:grid}.overall-card{text-align:center;background:linear-gradient(135deg, var(--bg), var(--bg-warm));border-radius:var(--radius-lg);border:1px solid var(--border);padding:1.5rem 1rem;transition:all .2s}.overall-card:hover{border-color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.overall-value{color:var(--primary);font-size:2.25rem;font-weight:800;line-height:1}.overall-label{color:var(--text-muted);margin-top:.4rem;font-size:.82rem;font-weight:500}.report-table td strong{color:var(--primary);font-weight:600}.back-btn{align-self:flex-start}.loading-text{text-align:center;color:var(--text-muted);padding:3rem 0;font-size:.95rem}.empty-state{text-align:center;color:var(--text-muted);padding:2.5rem 0;font-size:.95rem}.spinner{border:2.5px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}::selection{background:var(--accent-glow);color:var(--primary-dark)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (width<=640px){.main-content{padding:1.25rem 1rem}.card{border-radius:var(--radius);padding:1.25rem}.welcome-card{padding:2rem 1.25rem}.page h1{font-size:1.5rem}.hours-summary{gap:1.5rem}.hours-number{font-size:1.85rem}.stats-grid{grid-template-columns:1fr 1fr;gap:.85rem}.stat-card{padding:1.25rem .85rem}.stat-value{font-size:1.75rem}.overall-grid{grid-template-columns:1fr 1fr}.report-tabs{flex-direction:column}.report-tab{justify-content:center;width:100%}.table-controls{flex-direction:column;align-items:stretch}.filter-tabs{justify-content:center}}.landing-page{background:var(--white);min-height:100vh}.landing-nav{background:linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 100%);z-index:10;position:relative}.landing-nav-inner{justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto;padding:.75rem 1.5rem;display:flex}.landing-nav-brand{align-items:center;display:flex}.landing-nav-logo{height:44px}.landing-nav-actions{align-items:center;gap:1rem;display:flex}.landing-nav-link{color:#ffffffd9;border-radius:var(--radius);align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.88rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.landing-nav-link:hover{color:#fff;background:#ffffff1a}.landing-nav-btn{padding:.45rem 1rem!important;font-size:.85rem!important}.landing-nav-fade{background:linear-gradient(to right, var(--accent), var(--accent-light), var(--accent));opacity:.6;height:4px}@media (width<=640px){.landing-nav-logo{height:34px}.landing-nav-link span{display:none}.landing-nav-actions{gap:.5rem}.landing-nav-link{padding:.35rem .5rem;font-size:.8rem}}.landing-hero{background:linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 50%, var(--primary-light) 100%);color:var(--white);position:relative;overflow:hidden}.landing-hero:before{content:"";pointer-events:none;background:radial-gradient(#c9a84c1a 0%,#0000 70%);width:50%;height:180%;position:absolute;top:-40%;right:-20%}.landing-hero-inner{text-align:center;max-width:800px;margin:0 auto;padding:4rem 1.5rem;position:relative}.landing-logo{width:auto;height:60px;margin-bottom:1.5rem}.landing-hero h1{letter-spacing:-.03em;color:var(--white);margin-bottom:1.25rem;font-size:2.75rem;font-weight:800;line-height:1.15}.landing-hero-sub{color:#ffffffbf;max-width:560px;margin:0 auto 2rem;font-size:1.15rem;line-height:1.6}.landing-hero-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.landing-hero-note{color:#ffffff80;margin-top:1rem;font-size:.82rem}.landing-section{max-width:1040px;margin:0 auto;padding:4rem 1.5rem}.landing-section-title{color:var(--primary);text-align:center;letter-spacing:-.02em;margin-bottom:.5rem;font-size:2rem;font-weight:800}.landing-section-sub{text-align:center;color:var(--text-secondary);margin-bottom:3rem;font-size:1.05rem}.landing-features{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;display:grid}.landing-feature-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem 1.5rem;transition:all .25s}.landing-feature-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-4px)}.landing-feature-icon{width:52px;height:52px;color:var(--primary);background:linear-gradient(135deg,#1b3a5c0f,#1b3a5c1a);border-radius:14px;justify-content:center;align-items:center;margin-bottom:1.25rem;display:flex}.landing-feature-card h3{color:var(--primary);margin-bottom:.5rem;font-size:1.1rem;font-weight:700}.landing-feature-card p{color:var(--text-secondary);font-size:.9rem;line-height:1.6}.landing-cta-section{text-align:center;background:var(--bg);border-radius:var(--radius-xl);max-width:700px;margin:0 auto 2rem;padding:3.5rem 2rem}.landing-cta-section h2{color:var(--primary);margin-bottom:.5rem;font-size:1.75rem;font-weight:800}.landing-cta-section p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1rem}.landing-footer{text-align:center;border-top:1px solid var(--border-light);color:var(--text-muted);padding:2rem 1rem;font-size:.82rem}.landing-footer p+p{margin-top:.25rem}@media (width<=640px){.landing-hero-inner{padding:3.5rem 1.25rem 3rem}.landing-hero h1{font-size:1.85rem}.landing-hero-sub{font-size:1rem}.landing-features{grid-template-columns:1fr}}.signup-page{background:var(--bg);justify-content:center;min-height:100vh;padding:2rem 1rem;display:flex}.signup-container{width:100%;max-width:520px}.signup-back{color:var(--text-muted);align-items:center;gap:.35rem;margin-bottom:1.5rem;font-size:.88rem;font-weight:500;text-decoration:none;transition:color .2s;display:inline-flex}.signup-back:hover{color:var(--primary)}.signup-steps{justify-content:center;gap:2rem;margin-bottom:2rem;display:flex}.signup-step{flex-direction:column;align-items:center;gap:.4rem;display:flex}.signup-step-num{border:2px solid var(--border);width:36px;height:36px;color:var(--text-muted);background:var(--white);border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;transition:all .3s;display:flex}.signup-step.active .signup-step-num{border-color:var(--accent);background:var(--accent);color:var(--primary-dark)}.signup-step.current .signup-step-num{box-shadow:0 0 0 4px var(--accent-glow)}.signup-step-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:600}.signup-step.active .signup-step-label{color:var(--primary)}.signup-card{padding:2.25rem}.signup-card-header{text-align:center;color:var(--primary);margin-bottom:1.75rem}.signup-card-header svg{color:var(--accent);margin-bottom:.5rem}.signup-card-header h2{margin-bottom:.35rem;font-size:1.35rem}.signup-card-header p{color:var(--text-muted);font-size:.9rem}.slug-input-wrap{border:2px solid var(--border);border-radius:var(--radius);align-items:stretch;transition:border-color .2s;display:flex;overflow:hidden}.slug-input-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.slug-prefix{background:var(--bg);color:var(--text-muted);white-space:nowrap;border-right:1px solid var(--border);align-items:center;padding:0 .75rem;font-size:.88rem;font-weight:500;display:flex}.slug-input-wrap input{flex:1;padding:.7rem .75rem;box-shadow:none!important;border:none!important;border-radius:0!important}.slug-status{margin-left:.5rem;font-size:.78rem;font-weight:600}.slug-status.available{color:var(--success)}.slug-status.taken{color:var(--danger)}.slug-status.checking{color:var(--text-muted)}.signup-review{flex-direction:column;gap:1.5rem;display:flex}.review-section h4{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border-light);margin-bottom:.6rem;padding-bottom:.4rem;font-size:.75rem;font-weight:600}.review-row{justify-content:space-between;padding:.4rem 0;font-size:.9rem;display:flex}.review-label{color:var(--text-secondary)}.review-value{color:var(--primary);font-weight:600}.review-includes{flex-direction:column;gap:.4rem;list-style:none;display:flex}.review-includes li{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.88rem;display:flex}.review-includes li svg{color:var(--success);flex-shrink:0}.review-billing-note{background:var(--accent-glow);border-radius:var(--radius);color:var(--accent-dark);align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem 1rem;font-size:.85rem;font-weight:500;display:flex}.billing-status-section h3{color:var(--text);margin-bottom:.75rem;font-size:1rem;font-weight:600}.billing-badge{border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .85rem;font-size:.82rem;font-weight:600;display:inline-flex}.billing-badge-trial{color:#4338ca;background:#eef2ff}.billing-badge-active{color:#059669;background:#ecfdf5}.billing-badge-warning{color:#ea580c;background:#fff7ed}.billing-badge-canceled{color:#dc2626;background:#fef2f2}.billing-badge-none{background:var(--bg-secondary);color:var(--text-secondary)}.billing-info{color:var(--text-secondary);margin-top:1rem;font-size:.9rem;line-height:1.6}.billing-help-text{color:var(--text-muted);margin-top:.75rem;font-size:.82rem}.signup-card-wide{max-width:820px}.billing-toggle{background:var(--bg-secondary);border-radius:999px;justify-content:center;gap:0;width:fit-content;margin:1.5rem auto;padding:4px;display:flex}.billing-toggle-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:.4rem;padding:.5rem 1.25rem;font-size:.88rem;font-weight:500;transition:all .2s;display:flex}.billing-toggle-btn.active{color:var(--primary);box-shadow:var(--shadow-sm);background:#fff;font-weight:600}.billing-save-badge{background:var(--accent-glow);color:var(--accent-dark);border-radius:999px;padding:.15rem .45rem;font-size:.72rem;font-weight:700}.plan-cards{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:.5rem;display:grid}.plan-card{border:2px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;background:#fff;padding:1.25rem;transition:all .2s;position:relative}.plan-card:hover{border-color:var(--primary-light);box-shadow:var(--shadow-sm)}.plan-card.selected{border-color:var(--accent);background:var(--accent-glow);box-shadow:0 0 0 1px var(--accent)}.plan-card.popular{border-color:var(--accent)}.plan-popular-badge{background:var(--accent);color:#fff;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border-radius:999px;padding:.2rem .65rem;font-size:.7rem;font-weight:700;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.plan-card-header{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.plan-card-header svg{color:var(--accent)}.plan-card-header h3{margin:0;font-size:1.05rem;font-weight:700}.plan-price{margin-bottom:.25rem}.plan-price-amount{color:var(--primary);font-size:1.75rem;font-weight:800}.plan-price-interval{color:var(--text-muted);font-size:.88rem;font-weight:500}.plan-limit{color:var(--text-secondary);margin-bottom:.75rem;font-size:.82rem;font-weight:500}.plan-features{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.plan-features li{color:var(--text-secondary);align-items:center;gap:.4rem;font-size:.8rem;display:flex}.plan-features li svg{color:var(--success);flex-shrink:0}.plan-select-indicator{border:2px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;transition:all .2s;display:flex;position:absolute;top:.75rem;right:.75rem}.plan-select-indicator.active{background:var(--accent);border-color:var(--accent);color:#fff}@media (width<=768px){.plan-cards{grid-template-columns:1fr}.signup-card-wide{max-width:100%}.plan-card{padding:1rem}}
