@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--primary-hue: 240;--primary-sat: 78%;--primary-base: hsl(var(--primary-hue), var(--primary-sat), 58%);--primary-light: hsl(var(--primary-hue), var(--primary-sat), 65%);--primary-dark: hsl(var(--primary-hue), var(--primary-sat), 51%);--accent-hue: 25;--accent-base: hsl(var(--accent-hue), 95%, 58%);--accent-light: hsl(var(--accent-hue), 95%, 65%);--success-hue: 142;--success-base: hsl(var(--success-hue), 76%, 45%);--success-light: hsl(var(--success-hue), 76%, 55%);--warning-hue: 45;--warning-base: hsl(var(--warning-hue), 96%, 52%);--error-hue: 0;--error-base: hsl(var(--error-hue), 84%, 60%);--gradient-primary: linear-gradient(135deg, var(--primary-base) 0%, hsl(280, 78%, 62%) 100%);--gradient-accent: linear-gradient(135deg, var(--accent-base) 0%, hsl(340, 95%, 65%) 100%);--gradient-success: linear-gradient(135deg, var(--success-base) 0%, hsl(170, 76%, 50%) 100%);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-glow: 0 0 20px rgba(99, 102, 241, .3);--font-family-base: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .5s cubic-bezier(.68, -.55, .265, 1.55)}.dark{--primary-base: hsl(var(--primary-hue), 70%, 60%);--primary-light: hsl(var(--primary-hue), 70%, 68%);--accent-base: hsl(var(--accent-hue), 85%, 62%);--success-base: hsl(var(--success-hue), 70%, 50%)}*{font-family:var(--font-family-base)}.attendance-app{min-height:100vh;background:linear-gradient(to bottom right,#f8fafc,#e0e7ff);transition:background var(--transition-slow)}.attendance-app.dark{background:linear-gradient(to bottom right,#0f172a,#1e1b4b)}.attendance-app--standalone{padding:0}.attendance-app--integrated{background-color:transparent;min-height:auto}.attendance-app--hybrid{transition:all var(--transition-slow)}.attendance-nav{background:linear-gradient(135deg,#1e293b,#0f172a);color:#fff;padding:1rem;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.attendance-nav--standalone{display:block}.attendance-nav--integrated{display:none}.attendance-nav__brand h2{font-size:1.5rem;font-weight:700;margin:0 0 1rem;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.attendance-nav__items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}@media(min-width:768px){.attendance-nav__items{flex-direction:row;gap:1rem}}.attendance-nav__item{margin:0}.attendance-nav__link{display:flex;align-items:center;padding:.75rem 1rem;text-decoration:none;color:#cbd5e1;border-radius:.5rem;transition:all var(--transition-base);position:relative;overflow:hidden}.attendance-nav__link:before{content:"";position:absolute;inset:0;background:var(--gradient-primary);opacity:0;transition:opacity var(--transition-base);z-index:0}.attendance-nav__link:hover:before{opacity:.15}.attendance-nav__link:hover{color:#fff;transform:translate(4px)}.attendance-nav__link .icon{margin-right:.5rem;width:1.25rem;height:1.25rem;position:relative;z-index:1}.attendance-page{padding:2rem 1rem;max-width:1400px;margin:0 auto}@media(max-width:768px){.attendance-page{padding:1rem .5rem}}.modern-card{background:#fff;border-radius:1rem;box-shadow:var(--shadow-md);padding:1.5rem;transition:all var(--transition-base);border:1px solid rgba(99,102,241,.1);position:relative;overflow:hidden}.modern-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-primary);transform:scaleX(0);transform-origin:left;transition:transform var(--transition-slow)}.modern-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px);border-color:#6366f14d}.modern-card:hover:before{transform:scaleX(1)}.dark .modern-card{background:#1e293bcc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-color:#6366f133}.clock-action-card{background:#fff;border-radius:1.5rem;box-shadow:var(--shadow-xl);padding:2.5rem;max-width:450px;margin:0 auto;border:2px solid rgba(99,102,241,.1);position:relative;overflow:hidden}.clock-action-card:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(99,102,241,.05) 0%,transparent 70%);animation:pulse-glow 4s ease-in-out infinite}@keyframes pulse-glow{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.dark .clock-action-card{background:#1e293bf2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-color:#6366f14d}.clock-status-indicator{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.25rem;border-radius:1rem;margin-bottom:1.5rem;font-weight:600;font-size:1.125rem;position:relative;z-index:1;transition:all var(--transition-base)}.clock-status-indicator--in{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534;border:2px solid #86efac;box-shadow:0 4px 12px #16a34a33}.clock-status-indicator--in:before{content:"";position:absolute;left:1rem;width:12px;height:12px;background:#16a34a;border-radius:50%;animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.clock-status-indicator--out{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:2px solid #fcd34d;box-shadow:0 4px 12px #fbbf2433}.clock-action-button{width:100%;padding:1.75rem 2rem;border-radius:1rem;font-size:1.25rem;font-weight:700;border:none;cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;gap:.75rem;position:relative;overflow:hidden;z-index:1;box-shadow:var(--shadow-md)}.clock-action-button:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,transparent 100%);opacity:0;transition:opacity var(--transition-base)}.clock-action-button:hover:before{opacity:1}.clock-action-button:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.clock-action-button--in{background:var(--gradient-success);color:#fff}.clock-action-button--in:hover:not(:disabled){transform:translateY(-3px) scale(1.02);box-shadow:0 8px 20px #16a34a66}.clock-action-button--in:active:not(:disabled){transform:translateY(-1px) scale(.98)}.clock-action-button--out{background:var(--gradient-accent);color:#fff}.clock-action-button--out:hover:not(:disabled){transform:translateY(-3px) scale(1.02);box-shadow:0 8px 20px #dc262666}.location-status{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid #93c5fd;border-radius:.75rem;padding:1.25rem;margin-bottom:1.5rem;transition:all var(--transition-base)}.location-status--error{background:linear-gradient(135deg,#fef2f2,#fecaca);border-color:#fca5a5}.location-status--success{background:linear-gradient(135deg,#f0fdf4 0%,#dbe fee 100%);border-color:#86efac}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid rgba(99,102,241,.1)}.quick-action-button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;border:2px solid rgba(99,102,241,.2);border-radius:.75rem;background:#fff;color:#4f46e5;text-decoration:none;font-size:.9375rem;font-weight:600;transition:all var(--transition-base);position:relative;overflow:hidden}.quick-action-button:before{content:"";position:absolute;inset:0;background:var(--gradient-primary);opacity:0;transition:opacity var(--transition-base)}.quick-action-button:hover{border-color:var(--primary-base);transform:translateY(-2px);box-shadow:var(--shadow-lg);color:#fff}.quick-action-button:hover:before{opacity:1}.quick-action-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.dark .quick-action-button{background:#1e293bcc;color:#a5b4fc;border-color:#a5b4fc4d}.attendance-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#6b7280}.attendance-spinner{width:3.5rem;height:3.5rem;border:4px solid rgba(99,102,241,.1);border-top:4px solid var(--primary-base);border-radius:50%;animation:spin .8s linear infinite;filter:drop-shadow(0 4px 8px rgba(99,102,241,.3))}@keyframes spin{to{transform:rotate(360deg)}}@keyframes skeleton-loading{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:.5rem}.attendance-app.theme-hms{--primary-color: #4f46e5;--secondary-color: #628c57}.attendance-app.theme-standalone{--primary-color: #2563eb;--secondary-color: #059669}.attendance-message{padding:1.25rem;border-radius:.75rem;margin-bottom:1rem;display:flex;align-items:center;gap:.75rem;font-weight:500;box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.attendance-message:hover{transform:translate(4px);box-shadow:var(--shadow-md)}.attendance-message--success{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:2px solid #86efac;color:#166534}.attendance-message--error{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #fca5a5;color:#dc2626}.attendance-message--info{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid #93c5fd;color:#1d4ed8}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fade-in var(--transition-slow) ease-out}.animate-slide-in{animation:slide-in-right var(--transition-slow) ease-out}.animate-scale-in{animation:scale-in var(--transition-slow) ease-out}@media(max-width:640px){.clock-action-card{margin:0 1rem;padding:2rem 1.5rem}.clock-action-button{padding:1.5rem;font-size:1.125rem}.quick-actions{grid-template-columns:1fr}}@media print{.attendance-nav,.quick-actions,.clock-action-button{display:none}.attendance-page{padding:0}.modern-card{box-shadow:none;border:1px solid #e5e7eb}}
