@import "https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800&display=swap";
:root{--color-black:#111;--color-white:#fff;--color-concrete:#f2f2ef;--color-gray:#6a6a66;--color-gray-dark:#111;--color-neon:#e6ff66;--color-stali-green:#15803d;--color-orange:#f50;--color-rust:#b91c1c;--color-success:#15803d;--color-success-text:#fff;--color-warning:#b45309;--color-warning-text:#fff;--color-danger:#dc2626;--color-danger-text:#fff;--color-info:#0369a1;--color-info-bg:#e0f2fe;--color-bg:#fff;--color-bg-alt:#fafaf8;--color-bg-card:#fff;--color-bg-hover:#111;--color-text:#111;--color-text-secondary:#111;--color-text-muted:#6a6a66;--color-border:#e4e4e0;--color-primary:#111;--color-action:#111;--color-bg-secondary:#f2f2ef;--color-surface:#f2f2ef;--color-chip-lime-bg:#eeffb0;--color-chip-lime-ink:#2f3a00;--color-chip-peach-bg:#ffe6d9;--color-chip-peach-ink:#9a3412;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--font-heading:"Archivo", system-ui, sans-serif;--font-body:"Archivo", system-ui, sans-serif;--font-size-xs:.7rem;--font-size-sm:.8rem;--font-size-base:.9rem;--font-size-lg:1rem;--font-size-xl:1.25rem;--font-size-2xl:1.875rem;--font-size-3xl:2.5rem;--font-size-4xl:3rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:999px;--shadow-sm:none;--shadow-md:none;--shadow-lg:none;--touch-target:48px;--header-height:64px;--bottom-nav-height:72px;--max-width:480px;--border-width:1px;--border-width-thin:1px;--border-width-heavy:3px;--border-width-accent:4px;--border-width-xl:6px;--border-strong:var(--border-width) solid var(--color-border);--border-subtle:var(--border-width-thin) solid var(--color-concrete);--text-transform-heading:none;--text-transform-capitalize:capitalize;--letter-spacing-heading:0;--letter-spacing-label:0;--letter-spacing-wide:0;--letter-spacing-tight:0;--font-weight-heading:700;--font-weight-semibold:600;--font-weight-bold:bold;--font-mono-generic:monospace;--shadow-hard:0 1px 2px #1111110f;--shadow-hard-sm:0 1px 2px #1111110f;--shadow-hard-hover:0 2px 4px #11111114;--radius-3:3px;--radius-4:4px;--radius-6:6px;--radius-8:8px;--radius-10:10px;--radius-12:12px;--radius-circle:50%;--radius-pill:999px;--radius-pill-lg:9999px;--radius-sheet-top:1rem 1rem 0 0;--color-status-danger:#ef4444;--color-status-danger-strong:#dc2626;--color-status-danger-deep:#991b1b;--color-status-danger-bg:#fee2e2;--color-status-success:#16a34a;--color-status-success-strong:#15803d;--color-status-success-text:#166534;--color-status-success-bg:#dcfce7;--color-status-success-bg-light:#f0fdf4;--color-status-success-border:#bbf7d0;--color-status-warning-deep:#b45309;--color-status-warning-text:#713f12;--color-status-warning-bg:#fffbeb;--color-status-warning-bg-light:#fef9c3;--color-status-warning-bg-alt:#fef3c7;--color-status-neutral-text:#374151;--color-accent-purple:#7c3aed;--color-accent-purple-light:#a78bfa;--color-accent-purple-strong:#7e22ce;--color-accent-purple-bg:#e9d5ff;--color-accent-purple-bg-light:#f3e8ff;--color-accent-blue:#0369a1;--color-accent-blue-bg:#e0f2fe;--color-border-subtle:#e5e7eb;--color-text-subtle:#666;--color-skeleton-base:#f0f0f0;--color-skeleton-highlight:#e0e0e0;--color-overlay-scrim:#000000b3;--color-overlay-scrim-medium:#0009;--color-overlay-scrim-light:#00000080}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-tap-highlight-color:transparent;font-size:16px}:focus-visible{outline:2px solid var(--color-black);outline-offset:3px}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;line-height:1.5;font-size:var(--font-size-base);width:100%;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-weight-heading);text-transform:var(--text-transform-heading);letter-spacing:var(--letter-spacing-heading);line-height:1.1}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}p{color:var(--color-text-secondary);font-family:var(--font-body)}a{color:var(--color-black);text-underline-offset:3px;text-decoration:underline}a:hover{background:var(--color-concrete);text-decoration:none}.container{width:100%;max-width:var(--max-width);padding:0 var(--space-md);margin:0 auto}.page{min-height:100dvh;padding-top:calc(var(--header-height) + var(--space-xl));padding-bottom:calc(var(--bottom-nav-height) + var(--space-lg))}.page-header{margin-bottom:var(--space-xl)}.page-title{font-size:var(--font-size-2xl);margin-bottom:var(--space-xs)}.page-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted)}.section{margin-bottom:var(--space-xl)}.section-title{font-size:var(--font-size-lg);margin-bottom:var(--space-md);align-items:center;gap:var(--space-sm);display:flex}.card{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--space-lg);border:var(--border-strong)}.card-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:flex-start;display:flex}.card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.card-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted)}.btn{justify-content:center;align-items:center;gap:var(--space-sm);min-height:var(--touch-target);padding:var(--space-sm) var(--space-lg);font-family:var(--font-heading);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:var(--text-transform-heading);letter-spacing:var(--letter-spacing-heading);border:var(--border-strong);border-radius:var(--radius-md);cursor:pointer;background:var(--color-white);color:var(--color-black);text-decoration:none;transition:all .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--color-black);color:var(--color-white)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--color-black);color:var(--color-neon)}.btn-primary:hover:not(:disabled){background:var(--color-white);color:var(--color-black)}.btn-secondary{background:var(--color-concrete);color:var(--color-black)}.btn-secondary:hover:not(:disabled){background:var(--color-black);color:var(--color-white)}.btn-success{background:var(--color-success);color:var(--color-white);border-color:var(--color-success)}.btn-success:hover:not(:disabled){background:var(--color-black);color:var(--color-white)}.btn-danger{background:var(--color-danger);color:var(--color-white);border-color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:var(--color-black);color:var(--color-white);border-color:var(--color-black)}.btn-ghost{color:var(--color-black);border:var(--border-width) solid transparent;background:0 0}.btn-ghost:hover:not(:disabled){border-color:var(--color-black)}.btn-block{width:100%}.btn-sm{min-height:36px;padding:var(--space-xs) var(--space-md);font-size:var(--font-size-xs)}.btn-lg{min-height:52px;padding:var(--space-md) var(--space-xl);font-size:var(--font-size-lg)}.form-group{margin-bottom:var(--space-lg)}.form-label{font-family:var(--font-heading);font-size:var(--font-size-sm);font-weight:var(--font-weight-heading);text-transform:var(--text-transform-heading);letter-spacing:var(--letter-spacing-label);margin-bottom:var(--space-xs);color:var(--color-text);display:block}.form-input{box-sizing:border-box;width:100%;max-width:100%;min-height:var(--touch-target);padding:var(--space-sm) var(--space-md);font-family:var(--font-body);color:var(--color-text);background:var(--color-white);border:var(--border-strong);border-radius:var(--radius-md);font-size:1rem;transition:all .2s;display:block}.form-input:focus{outline:2px solid var(--color-black);outline-offset:0;background:var(--color-white);color:var(--color-black);border-color:var(--color-black)}.form-input::placeholder{color:var(--color-text-muted)}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-sm) center;padding-right:var(--space-2xl);background-size:20px}.form-textarea{resize:vertical;min-height:100px}.form-error{color:var(--color-danger);font-size:var(--font-size-sm);margin-top:var(--space-xs)}.form-message{border:var(--border-width) solid currentColor;background:#fff7ed;padding:10px 12px;line-height:1.45}.form-message-info{color:var(--color-info);background:var(--color-info-bg)}.form-hint{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:var(--space-xs)}.checkbox-wrapper{align-items:center;gap:var(--space-md);min-height:var(--touch-target);cursor:pointer;display:flex}.checkbox{appearance:none;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-secondary);cursor:pointer;flex-shrink:0;width:28px;height:28px;transition:all .2s}.checkbox:checked{background:var(--color-success);border-color:var(--color-success);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:18px}.checkbox:focus{outline:none;box-shadow:0 0 0 3px #22c55e4d}.badge{align-items:center;gap:var(--space-xs);padding:2px var(--space-sm);font-family:var(--font-body);font-size:var(--font-size-xs);font-weight:var(--font-weight-heading);text-transform:var(--text-transform-heading);border-radius:var(--radius-full);display:inline-flex}.badge-success{background:var(--color-success);color:var(--color-white)}.badge-warning{background:var(--color-warning);color:var(--color-white)}.badge-danger{background:var(--color-rust);color:var(--color-white)}.badge-info{background:var(--color-concrete);color:var(--color-black)}.badge-neutral{background:var(--color-bg-hover);color:var(--color-bg)}.stats-grid{gap:var(--space-md);grid-template-columns:repeat(2,1fr);display:grid}.stat-card{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-lg);text-align:center;box-shadow:none;border:var(--border-strong);transition:transform .2s,background .2s}.stat-card:hover{box-shadow:var(--shadow-hard-hover);background:var(--color-concrete);transform:translate(-4px,-4px)}.stat-icon{color:var(--color-text-muted);margin-bottom:var(--space-sm);justify-content:center;display:flex}.stat-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-heading);margin-bottom:var(--space-xs);line-height:1}.stat-value.success{color:var(--color-success)}.stat-value.warning{color:var(--color-warning)}.stat-value.danger{color:var(--color-danger)}.stat-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.empty-state{text-align:center;padding:var(--space-2xl) var(--space-lg);color:var(--color-text-muted)}.empty-state-icon{margin-bottom:var(--space-md);opacity:.5;font-size:3rem}.empty-state-title{font-size:var(--font-size-lg);margin-bottom:var(--space-sm);color:var(--color-text-secondary)}.loading{padding:var(--space-2xl);justify-content:center;align-items:center;display:flex}.spinner{border:var(--border-width-accent) solid var(--color-concrete);border-top-color:var(--color-black);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg, var(--color-concrete) 25%, var(--color-skeleton-highlight) 50%, var(--color-concrete) 75%);background-size:200% 100%;border-radius:4px;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.toast-container{bottom:90px;left:var(--space-md);right:var(--space-md);z-index:9999;gap:var(--space-sm);pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{padding:var(--space-sm) var(--space-md);font-family:var(--font-body);font-size:var(--font-size-sm);border:var(--border-strong);letter-spacing:.02em;font-weight:500;animation:.18s ease-out toast-slide-in}.toast--success{background:var(--color-success);color:var(--color-white)}.toast--error{background:var(--color-black);color:var(--color-white)}.toast--info{background:var(--color-white);color:var(--color-black)}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.header{height:var(--header-height);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:var(--border-width-thin) solid var(--color-border);z-index:100;background:#fffffff2;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.header-content{width:100%;max-width:var(--max-width);padding:0 var(--space-md);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.header-logo{font-size:var(--font-size-xl);font-weight:var(--font-weight-heading);color:var(--color-primary);align-items:center;gap:var(--space-sm);display:flex}.header-user{align-items:center;gap:var(--space-sm);display:flex}.header-avatar{border-radius:var(--radius-full);background:var(--color-black);width:40px;height:40px;color:var(--color-white);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);border:var(--border-strong);justify-content:center;align-items:center;text-decoration:none;display:flex}.header-avatar:hover{background:var(--color-neon);color:var(--color-black)}.bottom-nav{height:var(--bottom-nav-height);background:var(--color-white);border-top:var(--border-strong);z-index:100;padding-bottom:env(safe-area-inset-bottom,0);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-content{width:100%;max-width:var(--max-width);justify-content:space-around;align-items:center;display:flex}.bottom-nav-item{min-width:var(--touch-target);min-height:var(--touch-target);padding:var(--space-sm);color:var(--color-text-muted);border-right:var(--border-subtle);flex-direction:column;flex:1;justify-content:center;align-items:center;text-decoration:none;transition:all .2s;display:flex}.bottom-nav-item:last-child{border-right:none}.bottom-nav-item:hover{background:var(--color-black);color:var(--color-white)}.bottom-nav-item.active{background:var(--color-black);color:var(--color-neon);font-weight:var(--font-weight-heading)}.bottom-nav-icon{justify-content:center;align-items:center;margin-bottom:2px;font-size:1.5rem;display:flex}.bottom-nav-icon svg{width:24px;height:24px}.bottom-nav-label{font-size:var(--font-size-xs);font-weight:500}.task-card{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-md);align-items:flex-start;gap:var(--space-md);border-bottom:var(--border-strong);margin-bottom:0;transition:background .2s;display:flex}.task-card:hover{background:var(--color-bg-alt)}.task-card.done{opacity:.6}.task-content{flex:1;min-width:0}.task-title{font-size:var(--font-size-base);margin-bottom:var(--space-xs);font-weight:500}.task-card.done .task-title{color:var(--color-text-muted);text-decoration:line-through}.task-description{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-sm);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.task-meta{align-items:center;gap:var(--space-md);font-size:var(--font-size-xs);color:var(--color-text-muted);display:flex}.task-deadline{align-items:center;gap:var(--space-xs);display:flex}.task-deadline.overdue{color:var(--color-danger)}.task-deadline.today{color:var(--color-warning)}.leave-card{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-md);border:var(--border-strong);border-left-width:8px;border-left-color:var(--color-warning)}.leave-card.approved{border-left-color:var(--color-success)}.leave-card.rejected{border-left-color:var(--color-rust)}.leave-request-card{border-radius:var(--radius-lg);border:var(--border-strong);box-shadow:none}.leave-request-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.leave-request-type{align-items:center;gap:var(--space-sm);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);color:var(--color-text);display:flex}.leave-type-icon{color:var(--color-text-muted)}.leave-request-user{margin-bottom:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.leave-request-dates{padding:var(--space-sm) 0;border-top:var(--border-width-thin) solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.leave-date-range{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.leave-days{font-size:var(--font-size-lg);font-weight:var(--font-weight-heading);color:var(--color-action)}.leave-days span{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:400}.leave-request-actions{gap:var(--space-sm);margin-top:var(--space-md);padding-top:var(--space-md);border-top:var(--border-width-thin) solid var(--color-border);display:flex}.leave-request-actions .btn{flex:1}.staff-card{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-md);border:var(--border-strong)}.staff-header{align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);display:flex}.staff-avatar{border-radius:var(--radius-full);background:var(--color-black);width:48px;height:48px;color:var(--color-white);font-weight:var(--font-weight-heading);font-size:var(--font-size-lg);border:var(--border-width-thin) solid var(--color-black);justify-content:center;align-items:center;display:flex}.staff-info{flex:1}.staff-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg)}.staff-email{font-size:var(--font-size-sm);color:var(--color-text-muted)}.balance-controls{gap:var(--space-md);grid-template-columns:repeat(2,1fr);display:grid}.balance-control{background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:var(--space-md)}.balance-label{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-sm)}.balance-input-group{align-items:center;gap:var(--space-sm);display:flex}.balance-btn{border-radius:var(--radius-sm);border:var(--border-width-thin) solid var(--color-border);background:var(--color-bg);width:36px;height:36px;color:var(--color-text);font-size:var(--font-size-lg);cursor:pointer;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex}.balance-btn:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-bg)}.balance-btn:disabled{opacity:.35;cursor:not-allowed}.balance-value{text-align:center;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);flex:1}.auth-page{min-height:100dvh;padding:max(var(--space-md), env(safe-area-inset-top)) max(var(--space-md), env(safe-area-inset-right)) max(var(--space-md), env(safe-area-inset-bottom)) max(var(--space-md), env(safe-area-inset-left));flex-direction:column;justify-content:center;align-items:center;display:flex}.auth-card{background:var(--color-white);border-radius:var(--radius-lg);width:100%;max-width:420px;padding:clamp(20px, 6vw, var(--space-xl));border:var(--border-strong);box-shadow:var(--shadow-hard)}.auth-logo{justify-content:center;align-items:center;gap:var(--space-sm);text-align:center;font-family:var(--font-heading);font-size:var(--font-size-3xl);font-weight:var(--font-weight-heading);text-transform:var(--text-transform-heading);margin-bottom:var(--space-md);color:var(--color-black);-webkit-text-fill-color:initial;background:0 0;display:flex}.auth-logo-link{text-decoration:none}.auth-logo-link:hover{color:var(--color-black);background:0 0}.auth-step-title{font-size:var(--font-size-2xl);text-align:center;margin-bottom:var(--space-sm)}.auth-icon{width:52px;height:52px;margin:0 auto var(--space-md);color:var(--color-black);background:var(--color-neon);border:var(--border-strong);justify-content:center;align-items:center;display:flex}.auth-subtitle{text-align:center;color:var(--color-text-muted);font-family:var(--font-body);margin-bottom:var(--space-xl)}.auth-footer{text-align:center;margin-top:var(--space-lg);font-size:var(--font-size-sm);color:var(--color-text-muted);font-family:var(--font-body)}.auth-footer-stack{gap:var(--space-sm);flex-direction:column;display:flex}.auth-recovery-link{min-height:44px;margin-top:var(--space-md);justify-content:center;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);display:flex}.phone-field{width:100%;display:flex}.phone-prefix{min-height:var(--touch-target);padding:var(--space-sm) 12px;color:var(--color-text-muted);background:var(--color-concrete);border:var(--border-strong);border-right:0;flex-shrink:0;align-items:center;font-size:1rem;display:flex}.phone-field .form-input{border-left:0;flex:1;min-width:0}.phone-field:focus-within{outline:2px solid var(--color-black)}.phone-field .form-input:focus{outline:0}.pin-input{letter-spacing:.3em;font-variant-numeric:tabular-nums}.security-note{margin-bottom:var(--space-lg);background:var(--color-concrete);border-left:var(--border-width-accent) solid var(--color-black);align-items:flex-start;gap:10px;padding:12px;display:flex}.security-note svg{flex-shrink:0;margin-top:1px}.security-note p,.security-intro,.section-footnote{font-size:var(--font-size-sm);color:var(--color-text-muted)}.text-button{min-height:36px;color:var(--color-black);font:inherit;font-size:var(--font-size-sm);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:4px;text-decoration:underline}.text-button:disabled{color:var(--color-text-muted);cursor:not-allowed}.auth-success{text-align:center}.auth-success>svg{margin-bottom:var(--space-md);color:var(--color-black)}.auth-success p{margin:0 auto var(--space-xl);color:var(--color-text-muted)}.account-card{gap:var(--space-sm) var(--space-md);grid-template-columns:auto 1fr;align-items:center;display:grid}.account-avatar{background:var(--color-black);width:52px;height:52px;color:var(--color-white);font-family:var(--font-heading);font-size:var(--font-size-lg);letter-spacing:var(--letter-spacing-wide);grid-row:span 2;justify-content:center;align-items:center;display:flex}.account-identity{flex-direction:column;display:flex}.account-identity strong{font-size:var(--font-size-lg)}.account-identity span{color:var(--color-text-muted);font-size:var(--font-size-sm);text-transform:capitalize}.account-detail{align-items:center;gap:var(--space-sm);color:var(--color-text-muted);font-size:var(--font-size-sm);display:flex}.security-card{padding:var(--space-lg)}.security-intro{margin-bottom:var(--space-lg)}.security-success{text-align:center}.security-success>svg{margin-bottom:var(--space-md)}.security-success h3{margin-bottom:var(--space-sm)}.security-success p{color:var(--color-text-muted);margin-bottom:var(--space-lg)}.section-footnote{margin-top:var(--space-sm)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:.3s ease-out fadeIn}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--color-text-muted)}.text-success{color:var(--color-neon);background:var(--color-black);padding:0 4px}.text-warning{color:var(--color-warning)}.text-danger{color:var(--color-danger)}.img-grayscale{filter:grayscale()contrast(1.2);transition:filter .3s}.img-grayscale:hover{filter:grayscale(0%)contrast()}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.hidden{display:none}.decision-btn{padding:var(--space-md);font-family:var(--font-heading);font-size:1.5rem;font-weight:var(--font-weight-heading);text-transform:var(--text-transform-heading);letter-spacing:var(--letter-spacing-heading);cursor:pointer;border:var(--border-strong);width:100%;transition:all .1s}.decision-btn:disabled{opacity:.5;cursor:not-allowed}.decision-btn-reject{background:var(--color-white);color:var(--color-black)}.decision-btn-reject:hover:not(:disabled),.decision-btn-approve{background:var(--color-black);color:var(--color-white)}.decision-btn-approve:hover:not(:disabled){background:var(--color-white);color:var(--color-black);box-shadow:inset 0 0 0 2px var(--color-success);border-color:var(--color-success)}.home-in{width:100%;max-width:1120px;padding:0 var(--space-md);margin:0 auto}.home-nav{border-bottom:var(--border-strong);background:var(--color-bg)}.home-nav-row{justify-content:space-between;align-items:center;gap:var(--space-md);padding-block:var(--space-md);display:flex}.home-brand{align-items:center;gap:var(--space-sm);font-family:var(--font-heading);font-weight:var(--font-weight-heading);font-size:var(--font-size-lg);display:flex}.home-nav-links{align-items:center;gap:var(--space-md);display:flex}.home-nav-links a:not(.btn){color:var(--color-text);font-size:var(--font-size-sm);text-decoration:none;display:none}.home-hero{padding-block:var(--space-2xl) var(--space-xl)}.home-eyebrow{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);background:var(--color-chip-lime-bg);color:var(--color-chip-lime-ink);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-pill);display:inline-block}.home-h1{font-family:var(--font-heading);font-weight:var(--font-weight-heading);font-size:clamp(var(--font-size-2xl), 4vw + 1rem, var(--font-size-4xl));margin:var(--space-md) 0;line-height:1.1}.home-lede{color:var(--color-text-muted);font-size:var(--font-size-lg);max-width:46ch;margin:0}.home-ctas{gap:var(--space-sm);margin-top:var(--space-lg);flex-wrap:wrap;display:flex}.home-fine{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--space-sm)}.home-band{border-top:var(--border-strong);padding-block:var(--space-2xl)}.home-h2{font-family:var(--font-heading);font-weight:var(--font-weight-heading);font-size:var(--font-size-2xl);margin:0 0 var(--space-xs)}.home-sub{color:var(--color-text-muted);margin:0 0 var(--space-xl);max-width:60ch}.home-feats{gap:var(--space-md);grid-template-columns:1fr;display:grid}.home-feat{border:var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-lg);background:var(--color-bg-card)}.home-feat h3{font-size:var(--font-size-lg);margin:0 0 var(--space-xs)}.home-feat p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.home-two{gap:var(--space-xl);grid-template-columns:1fr;display:grid}.home-list{gap:var(--space-md);margin:0;padding:0;list-style:none;display:grid}.home-list li{gap:var(--space-sm);font-size:var(--font-size-base);grid-template-columns:22px 1fr;display:grid}.home-list li b{display:block}.home-list li span{color:var(--color-text-muted)}.home-tick{border-radius:var(--radius-sm);background:var(--color-black);width:22px;height:22px;color:var(--color-neon);font-size:var(--font-size-xs);place-items:center;margin-top:2px;display:grid}.home-final{background:var(--color-black);color:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-xl);justify-content:space-between;align-items:center;gap:var(--space-lg);flex-wrap:wrap;display:flex}.home-final .home-h2{color:var(--color-white)}.home-final p{margin:var(--space-xs) 0 0;color:var(--color-white);opacity:.75}.home-final .btn-primary{background:var(--color-neon);color:var(--color-black)}.home-footer{border-top:var(--border-strong)}.home-footer-row{gap:var(--space-sm) var(--space-lg);padding-block:var(--space-lg);font-size:var(--font-size-sm);color:var(--color-text-muted);flex-wrap:wrap;justify-content:space-between;display:flex}.home-footer-row a{color:var(--color-text-muted)}@media (min-width:640px){.home-nav-links a:not(.btn){display:inline}.home-feats{grid-template-columns:repeat(2,1fr)}}@media (min-width:768px){:root{--max-width:640px}.stats-grid{grid-template-columns:repeat(4,1fr)}.home-two{grid-template-columns:1fr 1fr}}@media (min-width:960px){.home-feats{grid-template-columns:repeat(4,1fr)}}@media (max-width:380px){.header-action-label{display:none}.header-user{gap:var(--space-xs)}.auth-card{padding:var(--space-lg);box-shadow:var(--shadow-hard-sm)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
