:root{--primary:#091bb6;--primary-light:#2e4fd5;--primary-dark:#06148a;--primary-glow:#091bb666;--secondary:#1a1d29;--secondary-light:#2d3142;--accent-gold:#ffb800;--accent-orange:#ff6b35;--accent-purple:#8b5cf6;--toggle-color:#091bb6;--success:#10b981;--success-light:#d1fae5;--warning:#f59e0b;--warning-light:#fef3c7;--error:#ef4444;--error-light:#fee2e2;--info:#3b82f6;--info-light:#dbeafe;--background:#f8f9fa;--background-secondary:#fff;--background-tertiary:#f3f4f6;--background-gradient:linear-gradient(180deg,#eef2ff 0%,#fff 100%);--card:#fff;--card-border:#e5e7eb;--card-hover-shadow:0 20px 40px #091bb626;--muted:#f3f4f6;--muted-foreground:#6b7280;--foreground:#1f2937;--foreground-secondary:#374151;--foreground-tertiary:#6b7280;--foreground-inverse:#f9fafb;--border:#e5e7eb;--input:#d1d5db;--ring:#091bb666;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:20px;--text-2xl:24px;--text-3xl:28px;--touch-min:44px;--touch-comfortable:48px;--touch-large:56px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{background:var(--background);color:var(--foreground);min-height:100vh;padding-top:var(--safe-top);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;overflow-x:hidden}h1{font-size:var(--text-3xl);font-weight:700}h2{font-size:var(--text-2xl);font-weight:600}h3{font-size:var(--text-xl);font-weight:600}h4{font-size:var(--text-lg);font-weight:500}p{font-size:var(--text-base)}small{font-size:var(--text-sm)}a{color:var(--primary);-webkit-touch-callout:none;text-decoration:none}a:active{opacity:.7}.container{width:100%;max-width:480px;padding:var(--space-md);margin:0 auto}.card{background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--card-border);padding:var(--space-lg);box-shadow:var(--shadow-sm)}.card-elevated{box-shadow:var(--shadow-md);border:none}.btn{min-height:var(--touch-comfortable);padding:var(--space-md)var(--space-lg);border-radius:var(--radius-md);font-weight:600;font-size:var(--text-base);cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;border:none;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:active{background:var(--primary-dark)}.btn-secondary{background:var(--muted);color:var(--foreground)}.btn-outline{border:2px solid var(--primary);color:var(--primary);background:0 0}.btn-large{min-height:var(--touch-large);font-size:var(--text-lg);border-radius:var(--radius-lg)}.btn-full{width:100%}.input{width:100%;min-height:var(--touch-comfortable);padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-base);background:var(--card);color:var(--foreground);transition:border-color .2s,box-shadow .2s}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring);outline:none}.input::placeholder{color:var(--muted-foreground)}.dashboard-header{padding:var(--space-md)0;margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.user-info{align-items:center;gap:var(--space-md);display:flex}.user-avatar{border-radius:var(--radius-full);background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;width:44px;height:44px;font-weight:600;font-size:var(--text-lg);justify-content:center;align-items:center;display:flex}.user-name{font-weight:600;font-size:var(--text-base)}.logout-btn{color:var(--muted-foreground);cursor:pointer;font-size:var(--text-sm);padding:var(--space-sm)var(--space-md);min-height:var(--touch-min);background:0 0;border:none}.trial-banner{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;padding:var(--space-lg);border-radius:var(--radius-lg);margin-bottom:var(--space-lg);box-shadow:var(--shadow-md)}.trial-banner h3{font-size:var(--text-base);margin-bottom:var(--space-xs)}.trial-banner p{font-size:var(--text-sm);opacity:.9}.trial-banner .upgrade-btn{margin-top:var(--space-md);padding:var(--space-md);color:var(--primary);border-radius:var(--radius-md);font-weight:600;font-size:var(--text-sm);text-align:center;min-height:var(--touch-comfortable);background:#fff;text-decoration:none;display:block}.progress-card{margin-bottom:var(--space-lg)}.progress-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.progress-title{font-weight:600;font-size:var(--text-base)}.progress-day{color:var(--primary);font-weight:700;font-size:var(--text-base)}.progress-bar{background:var(--muted);border-radius:var(--radius-full);height:10px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,var(--primary),var(--primary-light));border-radius:var(--radius-full);height:100%;transition:width .5s}.workout-card{margin-bottom:var(--space-lg)}.workout-card h3{font-size:var(--text-lg);margin-bottom:var(--space-md)}.workout-link{color:inherit;text-decoration:none;display:block}.workout-item{padding:var(--space-lg);background:var(--background-secondary);border-radius:var(--radius-lg);min-height:var(--touch-large);justify-content:space-between;align-items:center;transition:background-color .2s;display:flex}.workout-item:active{background:var(--muted)}.workout-info{gap:var(--space-xs);flex-direction:column;display:flex}.workout-name{font-weight:600;font-size:var(--text-base)}.workout-meta{font-size:var(--text-sm);color:var(--muted-foreground)}.workout-status{font-size:var(--text-sm);padding:var(--space-sm)var(--space-md);border-radius:var(--radius-full);background:var(--primary);color:#fff;white-space:nowrap;font-weight:500}.bottom-nav{-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--border);padding:var(--space-sm)var(--space-sm)calc(var(--space-sm) + var(--safe-bottom));z-index:100;background:#fffffff2;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}@media (prefers-color-scheme:dark){.bottom-nav{background:#000000f2;border-top:1px solid #374151}}.dark .bottom-nav{background:#000000f2;border-top:1px solid #374151}.nav-item{align-items:center;gap:var(--space-xs);padding:var(--space-sm);color:var(--muted-foreground);font-size:var(--text-xs);cursor:pointer;min-width:64px;min-height:var(--touch-comfortable);background:0 0;border:none;flex-direction:column;transition:color .2s;display:flex}.nav-item.active{color:var(--primary)}.nav-icon{font-size:22px;line-height:1}.main-content{padding-bottom:calc(80px + var(--safe-bottom))}.loading{min-height:100vh;color:var(--primary);font-size:var(--text-lg);justify-content:center;align-items:center;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes heartbeat{0%,to{transform:scale(1)}14%{transform:scale(1.1)}28%{transform:scale(1)}42%{transform:scale(1.1)}70%{transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes checkmark{0%{stroke-dashoffset:50px}to{stroke-dashoffset:0}}@keyframes checkmarkCircle{0%{stroke-dashoffset:166px}to{stroke-dashoffset:0}}@keyframes confettiFall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(100px)rotate(720deg)}}@keyframes progressRing{0%{stroke-dashoffset:283px}}@keyframes flame{0%,to{transform:scaleY(1)scaleX(1)}25%{transform:scaleY(1.1)scaleX(.9)}50%{transform:scaleY(.9)scaleX(1.1)}75%{transform:scaleY(1.05)scaleX(.95)}}@keyframes flameGlow{0%,to{filter:drop-shadow(0 0 2px var(--accent-orange))}50%{filter:drop-shadow(0 0 8px var(--accent-orange))}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes bounceScale{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes particleFloat{0%{opacity:1;transform:translate(-50%,-50%)rotate(var(--angle))translate(0px)}to{opacity:0;transform:translate(-50%,-50%)rotate(var(--angle))translate(50px)}}@keyframes glowPulse{0%,to{box-shadow:0 0 5px var(--primary-glow)}50%{box-shadow:0 0 20px var(--primary-glow),0 0 40px var(--primary-glow)}}@keyframes flashGlow{0%,to{filter:brightness()}50%{filter:brightness(1.5)drop-shadow(0 0 10px var(--primary))}}.animate-fade-in{animation:.3s ease-out fadeIn}.animate-fade-in-up{animation:.4s ease-out fadeInUp}.animate-fade-in-scale{animation:.3s ease-out fadeInScale}.animate-slide-in-right{animation:.3s ease-out slideInRight}.animate-pulse{animation:2s infinite pulse}.animate-spin{animation:1s linear infinite spin}.animate-heartbeat{animation:1.5s ease-in-out infinite heartbeat}.animate-bounce{animation:1s ease-in-out infinite bounce}.animate-bounce-scale{animation:.6s ease-in-out bounceScale}.animate-float{animation:3s ease-in-out infinite float}.animate-glow{animation:2s ease-in-out infinite glowPulse}.animate-flame{animation:.5s ease-in-out infinite flame}.animate-flame-glow{animation:1s ease-in-out infinite flameGlow}.animate-flash-glow{animation:.5s ease-in-out flashGlow}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}.skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;animation:1.5s infinite shimmer}.skeleton-text{height:16px;margin-bottom:8px}.skeleton-title{width:60%;height:24px;margin-bottom:12px}.skeleton-avatar{border-radius:50%;width:44px;height:44px}.skeleton-card{height:120px}.card{transition:transform .2s,box-shadow .2s}.card:hover{box-shadow:var(--shadow-md),0 0 0 1px var(--primary-glow);transform:translateY(-2px)}.card-interactive:hover{box-shadow:var(--card-hover-shadow);transform:translateY(-4px)}.btn{position:relative;overflow:hidden}.btn:after{content:"";background:#fff3;border-radius:50%;width:0;height:0;transition:width .3s,height .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn:active:after{width:200px;height:200px}.btn-primary:hover{box-shadow:0 4px 12px var(--primary-glow);transform:scale(1.02)}.btn-primary:active{background:var(--primary-dark);transform:scale(.98)}.progress-fill{position:relative;overflow:hidden}.progress-fill:after{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);animation:2s infinite shimmer;position:absolute;inset:0}.workout-item{transition:transform .2s,box-shadow .2s,background-color .2s}.workout-item:hover{box-shadow:var(--shadow-sm);transform:translate(4px)}.nav-item.active:after{content:"";background:var(--primary);border-radius:var(--radius-full);width:24px;height:3px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.nav-item{position:relative}@media (prefers-color-scheme:dark){:root{--background:#0f1117;--background-secondary:#1a1d29;--background-tertiary:#2d3142;--background-gradient:linear-gradient(180deg,#0f1117 0%,#1a1d29 100%);--card:#1a1d29;--card-border:#2d3142;--foreground:#f9fafb;--foreground-secondary:#d1d5db;--foreground-tertiary:#9ca3af;--foreground-inverse:#1f2937;--border:#374151;--input:#4b5563;--muted:#2d3142;--muted-foreground:#9ca3af;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px -1px #0006,0 2px 4px -1px #0000004d;--shadow-lg:0 10px 15px -3px #0006,0 4px 6px -2px #0000004d}.skeleton{background:linear-gradient(90deg,#2d3142 25%,#374151 50%,#2d3142 75%) 0 0/200% 100%}}.dark{--background:#0f1117;--background-secondary:#1a1d29;--background-tertiary:#2d3142;--card:#1a1d29;--card-border:#2d3142;--foreground:#f9fafb;--foreground-secondary:#d1d5db;--foreground-tertiary:#9ca3af;--border:#374151;--input:#4b5563;--muted:#2d3142;--muted-foreground:#9ca3af}.day-summary-card{background:linear-gradient(135deg,#fff7ed,#ffedd5);border:2px solid #fdba74}.day-summary-title{color:#1f2937}.ramadhan-tips-card{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b}.ramadhan-title{color:#1f2937}@media (prefers-color-scheme:dark){.day-summary-card{background:linear-gradient(135deg,#1a1d29,#2d3142);border:2px solid #374151}.day-summary-title{color:#f9fafb}.ramadhan-tips-card{background:linear-gradient(135deg,#1a1d29,#2d3142);border:2px solid #f59e0b}.ramadhan-title{color:#f9fafb}}.dark .day-summary-card{background:linear-gradient(135deg,#1a1d29,#2d3142);border:2px solid #374151}.dark .day-summary-title{color:#f9fafb}.dark .ramadhan-tips-card{background:linear-gradient(135deg,#1a1d29,#2d3142);border:2px solid #f59e0b}.dark .ramadhan-title{color:#f9fafb}.settings-page{background-color:var(--background);min-height:100vh;padding-bottom:100px}.settings-header{background-color:var(--card);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;max-width:448px;margin:0 auto;padding:12px 16px;display:flex;position:sticky;top:0}.settings-header h1{color:var(--foreground);font-size:18px;font-weight:700}.settings-content{flex-direction:column;gap:16px;max-width:448px;margin:0 auto;padding:16px;display:flex}.settings-card{background-color:var(--card);box-shadow:var(--shadow-sm);border-radius:12px;padding:16px}.card-title{border-bottom:1px solid var(--border);color:var(--foreground);margin-bottom:12px;padding-bottom:8px;font-weight:600}.profile-row{align-items:center;gap:16px;display:flex}.avatar{color:#fff;background:linear-gradient(135deg,#fb923c,#f97316);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:24px;font-weight:700;display:flex}.profile-name{color:var(--foreground);font-weight:600}.profile-email{color:var(--muted-foreground);font-size:14px}.edit-link{color:var(--primary);cursor:pointer;background:0 0;border:none;margin-top:4px;padding:0;font-size:14px}.edit-form{flex-direction:column;gap:8px;display:flex}.edit-input{border:1px solid var(--border);background:var(--card);width:100%;color:var(--foreground);border-radius:8px;padding:8px 12px;font-size:14px}.edit-buttons{gap:8px;display:flex}.btn-save{background-color:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-size:14px}.btn-cancel{background-color:var(--muted);color:var(--foreground);cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-size:14px}.subscription-row{justify-content:space-between;align-items:center;display:flex}.subscription-label{color:var(--muted-foreground)}.subscription-badge{border-radius:9999px;padding:4px 12px;font-size:14px;font-weight:500}.subscription-badge.lifetime{color:#16a34a;background-color:#dcfce7}.subscription-badge.free{color:#ea580c;background-color:#ffedd5}.trial-info{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.trial-days{color:#ea580c;font-weight:500}.upgrade-link{color:#fff;text-align:center;background:linear-gradient(90deg,#091bb6,#2e4fd5);border-radius:8px;margin-top:8px;padding:12px;font-weight:500;text-decoration:none;display:block}.preference-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 0;display:flex}.preference-title{color:var(--foreground);align-items:center;gap:8px;margin:0;font-size:16px;font-weight:600;display:flex}.preference-desc{color:var(--muted-foreground);margin-top:4px;font-size:14px}.preference-text{flex:1;padding-right:16px}.unit-toggle{cursor:pointer;border:none;border-radius:9999px;padding:12px 20px;font-size:14px;font-weight:600}.unit-toggle.metric{background-color:var(--primary);color:#fff}.unit-toggle.imperial{background-color:var(--muted);color:var(--foreground)}.toggle-btn{cursor:pointer;background-color:var(--muted);border:none;border-radius:18px;width:60px;height:36px;transition:background-color .3s;position:relative}.toggle-btn.enabled{background-color:var(--toggle-color)}.toggle-knob{background-color:#fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;transition:left .3s;display:flex;position:absolute;top:3px;left:3px;box-shadow:0 2px 4px #0003}.toggle-btn.enabled .toggle-knob{left:27px}.toggle-switch-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 0;display:flex}.toggle-switch-text{flex:1;padding-right:16px}.toggle-switch-label{color:var(--foreground);margin:0;font-size:16px;font-weight:600}.toggle-switch-desc{color:var(--muted-foreground);margin-top:4px;font-size:14px}.btn-logout{background-color:var(--muted);width:100%;color:var(--foreground);cursor:pointer;border:none;border-radius:8px;margin-bottom:8px;padding:16px;font-weight:500}.btn-delete{color:#fff;cursor:pointer;background-color:#ef4444;border:none;border-radius:8px;width:100%;padding:16px;font-weight:500}.btn-unsubscribe{color:#ef4444;cursor:pointer;background-color:#0000;border:2px solid #ef4444;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:16px;padding:14px 16px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.btn-unsubscribe:hover{color:#dc2626;background-color:#ef44441a;border-color:#dc2626}.btn-unsubscribe:active{transform:scale(.98)}.btn-resubscribe{color:#fff;cursor:pointer;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #10b9814d}.btn-resubscribe:hover{transform:translateY(-1px);box-shadow:0 6px 16px #10b98166}.btn-resubscribe:active{transform:scale(.98)}.btn-resubscribe:disabled{opacity:.6;cursor:not-allowed;transform:none}.resubscribe-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:1s linear infinite spin}.app-info{text-align:center}.version-text{color:var(--muted-foreground);font-size:14px}.info-links{justify-content:center;gap:16px;margin-top:8px;display:flex}.info-links a{color:var(--primary);font-size:14px;text-decoration:none}.modal-overlay{z-index:50;background-color:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--card);border-radius:12px;width:100%;max-width:384px;padding:24px}.modal-title{color:#ef4444;margin-bottom:8px;font-size:18px;font-weight:700}.modal-desc{color:var(--muted-foreground);margin-bottom:16px;font-size:14px}.modal-buttons{gap:12px;display:flex}.btn-modal-cancel{background-color:var(--muted);color:var(--foreground);cursor:pointer;border:none;border-radius:8px;flex:1;padding:12px;font-weight:500}.btn-modal-delete{color:#fff;cursor:pointer;background-color:#ef4444;border:none;border-radius:8px;flex:1;padding:12px;font-weight:500}.btn-modal-delete:disabled{opacity:.5}.loading-container{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex}.loading-spinner{border:4px solid var(--muted);border-top-color:var(--primary);border-radius:50%;width:48px;height:48px}.loading-text{color:var(--muted-foreground);margin-top:16px}.streak-flame{align-items:center;gap:8px;display:inline-flex}.streak-flame-icon{font-size:24px;animation:.5s ease-in-out infinite flame,1s ease-in-out infinite flameGlow}.success-checkmark{width:80px;height:80px;margin:0 auto}.success-checkmark-circle{stroke:var(--success);stroke-width:2px;fill:none;stroke-dasharray:166;animation:.6s ease-out forwards checkmarkCircle}.success-checkmark-check{stroke:var(--success);stroke-width:3px;fill:none;stroke-dasharray:50;animation:.3s ease-out .4s forwards checkmark}.confetti-container{pointer-events:none;z-index:9999;width:100%;height:100%;position:fixed;top:0;left:0}.confetti-piece{width:10px;height:10px;animation:3s ease-out forwards confettiFall;position:absolute}.progress-ring{transform:rotate(-90deg)}.progress-ring-circle{stroke:var(--primary);stroke-width:8px;fill:none;stroke-linecap:round;stroke-dasharray:283;stroke-dashoffset:283px;animation:1s ease-out forwards progressRing}.progress-ring-background{stroke:var(--muted);stroke-width:8px;fill:none}.gradient-text{background:linear-gradient(135deg,var(--primary),var(--accent-gold));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.glass{-webkit-backdrop-filter:blur(10px);background:#ffffffb3;border:1px solid #ffffff4d}.dark .glass{background:#1a1d29b3;border:1px solid #ffffff1a}.badge{border-radius:var(--radius-full);justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:12px;font-weight:600;display:inline-flex}.badge-primary{background:var(--primary);color:#fff}.badge-gold{background:var(--accent-gold);color:var(--secondary)}.badge-orange{background:var(--accent-orange);color:#fff}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);background:var(--secondary);color:#fff;border-radius:var(--radius-sm);white-space:nowrap;opacity:0;pointer-events:none;padding:8px 12px;font-size:12px;transition:opacity .2s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.tooltip:hover:after{opacity:1}.text-center{text-align:center}.text-primary{color:var(--primary)}.text-muted{color:var(--muted-foreground)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-error{color:var(--error)}.bg-primary{background-color:var(--primary)}.bg-muted{background-color:var(--muted)}.bg-success{background-color:var(--success-light)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.modal-content{padding-bottom:calc(var(--space-xl) + var(--safe-bottom))}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media screen and (max-width:768px){input,select,textarea{font-size:16px!important}}@media (max-width:375px){:root{--text-base:15px;--space-md:14px}}@media (min-width:768px){.container{padding:var(--space-lg)}}.timepicker-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#00000080;justify-content:center;align-items:flex-end;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.timepicker-modal{background:var(--card);border-radius:var(--radius-xl)var(--radius-xl)0 0;width:100%;max-width:420px;padding:var(--space-md);padding-bottom:calc(var(--space-xl) + var(--safe-bottom));animation:.3s ease-out slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.timepicker-header{padding:var(--space-sm)0 var(--space-md);border-bottom:1px solid var(--border);margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.timepicker-title{font-size:var(--text-lg);color:var(--foreground);font-weight:600}.timepicker-btn-cancel{color:var(--foreground-tertiary);font-size:var(--text-base);cursor:pointer;padding:var(--space-sm);background:0 0;border:none}.timepicker-btn-confirm{color:var(--primary);font-size:var(--text-base);cursor:pointer;padding:var(--space-sm);background:0 0;border:none;font-weight:600}.timepicker-wheels{justify-content:center;align-items:center;gap:var(--space-xs);height:200px;display:flex;position:relative;overflow:hidden}.timepicker-wheel{scroll-snap-type:y mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;text-align:center;scrollbar-width:none;-ms-overflow-style:none;width:80px;height:200px;overflow-y:scroll}.timepicker-wheel::-webkit-scrollbar{display:none}.timepicker-padding{height:76px}.timepicker-item{height:48px;font-size:var(--text-xl);color:var(--foreground-tertiary);scroll-snap-align:center;cursor:pointer;border-radius:var(--radius-md);justify-content:center;align-items:center;transition:all .15s;display:flex}.timepicker-item.selected{color:var(--primary);font-weight:600;font-size:var(--text-2xl)}.timepicker-item:hover{background:var(--muted)}.timepicker-separator{font-size:var(--text-2xl);color:var(--foreground);padding:0 var(--space-xs);font-weight:600}.timepicker-period{gap:var(--space-xs);margin-left:var(--space-sm);flex-direction:column;display:flex}.period-btn{padding:var(--space-sm)var(--space-md);border:2px solid var(--border);background:var(--card);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--foreground-tertiary);cursor:pointer;font-weight:600;transition:all .2s}.period-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.period-btn:hover:not(.active){border-color:var(--primary);color:var(--primary)}.timepicker-selector{pointer-events:none;z-index:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.timepicker-highlight{border-radius:var(--radius-md);border:1px solid var(--primary-light);background:linear-gradient(90deg,#091bb614,#091bb61f,#091bb614);width:260px;height:48px}.timepicker-display{text-align:center;padding:var(--space-lg)0 var(--space-md);color:var(--primary);letter-spacing:2px;font-size:48px;font-weight:700}.timepicker-display-period{font-size:var(--text-lg);color:var(--foreground-secondary);margin-left:var(--space-sm);font-weight:600}.time-selection-btn{padding:var(--space-md);background:var(--muted);border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;justify-content:space-between;align-items:center;transition:all .2s;display:flex}.time-selection-btn:hover{background:var(--background-tertiary);border-color:var(--primary-light)}.time-selection-label{font-size:var(--text-base);color:var(--foreground-secondary)}.time-selection-value{font-size:var(--text-lg);color:var(--primary);align-items:center;gap:var(--space-xs);font-weight:600;display:flex}.time-selection-icon{color:var(--foreground-tertiary)}.dark .timepicker-modal{background:var(--secondary-light)}.dark .timepicker-header{border-bottom-color:#ffffff1a}.dark .timepicker-item{color:#ffffff80}.dark .timepicker-item.selected{color:var(--primary-light)}.dark .timepicker-separator{color:var(--foreground-inverse)}.dark .period-btn{background:var(--secondary);color:#fff9;border-color:#fff3}.dark .period-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.dark .timepicker-highlight{border-color:var(--primary-light);background:linear-gradient(90deg,#2e4fd526,#2e4fd533,#2e4fd526)}.dark .timepicker-display{color:var(--primary-light)}.dark .time-selection-value.dark-time{color:#fff!important}.dark .time-selection-btn{background:var(--secondary)}.dark .time-selection-btn:hover{background:var(--secondary-light)}.time-input-dark::-webkit-calendar-picker-indicator{filter:invert();cursor:pointer}.time-input-dark::-webkit-datetime-edit{color:#fff!important}.time-input-dark::-webkit-datetime-edit-fields-wrapper{color:#fff!important}.time-input-dark::-webkit-datetime-edit-hour-field{background:#ffffff1a;border-radius:4px;padding:2px 6px;color:#fff!important}.time-input-dark::-webkit-datetime-edit-minute-field{background:#ffffff1a;border-radius:4px;padding:2px 6px;color:#fff!important}
