.auth-page-container{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;position:relative;padding:20px;overflow:hidden}.auth-background{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--bg);z-index:0}[data-theme=light] .auth-background{background:linear-gradient(135deg,#fafafa,#f5f5f5,#fff)}.auth-background-pattern{position:absolute;top:0;left:0;right:0;bottom:0;opacity:.05;background-image:radial-gradient(circle at 20% 50%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 40% 20%,rgba(255,255,255,.1) 0%,transparent 50%);animation:backgroundShift 20s ease-in-out infinite}[data-theme=light] .auth-background-pattern{opacity:.03;background-image:radial-gradient(circle at 20% 50%,rgba(0,0,0,.05) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(0,0,0,.05) 0%,transparent 50%),radial-gradient(circle at 40% 20%,rgba(0,0,0,.05) 0%,transparent 50%)}@keyframes backgroundShift{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-20px,-20px) scale(1.1)}}.auth-content-wrapper{position:relative;z-index:1;width:100%;max-width:440px;animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.auth-card{background:var(--panel);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:24px;padding:48px 40px;box-shadow:var(--shadow-lg);border:1px solid var(--border);color:var(--text)}[data-theme=light] .auth-card{background:#fffffffa;box-shadow:0 20px 60px #0000001a,0 0 0 1px #0000000d}.auth-header{text-align:center;margin-bottom:40px}.auth-logo-container{display:flex;justify-content:center;margin-bottom:20px}.auth-logo-icon{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:transparent;border-radius:20px;font-size:40px;box-shadow:none;animation:logoFloat 3s ease-in-out infinite}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.auth-title{font-size:32px;font-weight:800;margin:0 0 8px;color:var(--text);letter-spacing:2px;text-transform:uppercase}[data-theme=light] .auth-title{color:var(--text)}.auth-subtitle{font-size:15px;color:var(--muted);margin:0 0 12px;font-weight:400}.auth-version{font-size:11px;color:var(--muted);font-weight:500;letter-spacing:.5px;text-transform:uppercase}.auth-form{display:flex;flex-direction:column;gap:24px}.auth-field{display:flex;flex-direction:column;gap:8px}.auth-label{font-size:14px;font-weight:600;color:var(--text);margin:0}.auth-input-wrapper{position:relative;display:flex;align-items:center}.auth-input-icon{position:absolute;left:16px;color:var(--muted);pointer-events:none;z-index:1}.auth-input{width:100%;padding:14px 16px 14px 48px;border-radius:12px;border:2px solid var(--border);font-size:15px;background:var(--surface);color:var(--text);transition:all .2s ease;font-family:inherit}.auth-input::placeholder{color:var(--muted)}.auth-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #ffffff1a;background:var(--surface)}[data-theme=light] .auth-input:focus{box-shadow:0 0 0 4px #0000000d}.auth-input[aria-invalid=true]{border-color:var(--danger)}.auth-input[aria-invalid=true]:focus{box-shadow:0 0 0 4px #ef44441a}.auth-eye-btn{position:absolute;right:12px;background:none;border:none;color:var(--muted);cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease;z-index:1}.auth-eye-btn:hover{background:var(--surface);color:var(--text)}.auth-remember-wrapper{display:flex;align-items:center;margin-top:-8px}.auth-checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:var(--text-secondary);-webkit-user-select:none;user-select:none}.auth-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--primary);border-radius:4px}.auth-message{padding:12px 16px;border-radius:12px;font-size:14px;font-weight:500;text-align:center;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.auth-message.auth-message-success,.auth-message-success{background:#22c55e1a;color:var(--success);border:1px solid rgba(34,197,94,.3)}[data-theme=light] .auth-message.auth-message-success,[data-theme=light] .auth-message-success{background:#ecfdf5;color:#065f46;border-color:var(--success)}.auth-message.auth-message-error,.auth-message-error{background:#ef44441a;color:var(--danger);border:1px solid rgba(239,68,68,.3)}[data-theme=light] .auth-message.auth-message-error,[data-theme=light] .auth-message-error{background:#fef2f2;color:#991b1b;border-color:var(--danger)}.auth-message.auth-message-info,.auth-message-info{background:#ffffff1a;color:var(--text);border:1px solid var(--border)}[data-theme=light] .auth-message.auth-message-info,[data-theme=light] .auth-message-info{background:#eff6ff;color:#1e40af;border-color:#3b82f64d}.auth-submit-btn{width:100%;padding:16px 24px;background:var(--primary);color:var(--bg);border:2px solid var(--primary);border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .3s ease;margin-top:8px;box-shadow:var(--shadow);position:relative;overflow:hidden;text-transform:uppercase;letter-spacing:1px}[data-theme=light] .auth-submit-btn{background:var(--primary);color:var(--bg);border-color:var(--primary)}.auth-submit-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.auth-submit-btn:hover:before{left:100%}.auth-submit-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);background:var(--primary-dark)}[data-theme=light] .auth-submit-btn:hover{background:var(--primary-dark)}.auth-submit-btn:active{transform:translateY(0)}.auth-submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;background:var(--muted);border-color:var(--muted)}.auth-submit-btn:disabled:hover{transform:none;box-shadow:var(--shadow)}.auth-spinner{animation:spin 1s linear infinite}@media (max-width: 480px){.auth-page-container{padding:16px}.auth-card{padding:32px 24px;border-radius:20px}.auth-logo-icon{width:64px;height:64px;font-size:32px;border-radius:16px}.auth-title{font-size:28px}.auth-subtitle{font-size:14px}.auth-form{gap:20px}.auth-input{padding:12px 14px 12px 44px;font-size:16px}.auth-submit-btn{padding:14px 20px;font-size:15px}}@media (max-width: 430px) and (min-height: 932px){.auth-card{padding:56px 48px}.auth-logo-icon{width:96px;height:96px;font-size:48px}.auth-title{font-size:36px}.auth-subtitle{font-size:16px}.auth-form{gap:28px}.auth-input{padding:16px 18px 16px 52px}.auth-submit-btn{padding:18px 28px;font-size:17px}}.auth-divider{display:flex;align-items:center;margin:24px 0;text-align:center}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-divider span{padding:0 16px;font-size:13px;color:var(--muted);font-weight:500}.auth-reservation-btn{width:100%;padding:16px 24px;background:transparent;color:var(--primary);border:2px solid var(--primary);border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .3s ease;box-shadow:none;text-transform:uppercase;letter-spacing:1px}.auth-reservation-btn:hover{background:var(--primary);color:var(--bg);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.auth-reservation-btn:active{transform:translateY(0)}.superadmin-dashboard{display:flex;min-height:100vh;background:var(--bg-secondary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:all .3s ease}[data-theme=dark] .superadmin-dashboard{background:#0f0f0f;color:#fff}.admin-sidebar{width:280px;background:var(--bg-primary);border-right:1px solid var(--border-primary);display:flex;flex-direction:column;position:fixed;height:100vh;z-index:100;transition:all .3s ease}[data-theme=dark] .admin-sidebar{background:linear-gradient(180deg,#1a1a1a,#111);border-right:1px solid rgba(255,255,255,.1)}.sidebar-header{padding:24px 20px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:12px}.sidebar-logo{width:32px;height:32px;border-radius:8px;object-fit:cover}.sidebar-title{font-size:18px;font-weight:700;color:#fff}.sidebar-user{padding:20px;display:flex;align-items:center;gap:12px;background:#3b82f61a;border-bottom:1px solid rgba(255,255,255,.05)}.user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#1d4ed8);display:flex;align-items:center;justify-content:center;font-weight:600;color:#fff;font-size:16px}.user-avatar.small{width:32px;height:32px;font-size:14px}.user-name{font-weight:600;color:#fff;font-size:14px}.user-role{font-size:12px;color:#9ca3af}.sidebar-menu{flex:1;padding:20px 0}.menu-item{width:100%;padding:12px 20px;border:none;background:transparent;color:#d1d5db;text-align:left;display:flex;align-items:center;gap:12px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.menu-item:hover{background:#ffffff0d;color:#fff}.menu-item.active{background:#3b82f626;color:#60a5fa;border-right:3px solid #3b82f6}.menu-item.logout{color:#f87171}.menu-item.logout:hover{background:#f871711a;color:#fca5a5}.sidebar-footer{padding:20px 0;border-top:1px solid rgba(255,255,255,.1)}.admin-main{flex:1;margin-left:280px;background:#0a0a0a;min-height:100vh}.admin-header{padding:24px 32px;background:#111;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50}.header-title{font-size:24px;font-weight:700;color:#fff}.header-actions{display:flex;gap:12px;align-items:center}.btn-refresh{padding:8px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#d1d5db;font-size:14px;cursor:pointer;transition:all .2s}.btn-refresh:hover:not(:disabled){background:#ffffff1a;color:#fff}.btn-refresh:disabled{opacity:.5;cursor:not-allowed}.admin-content{padding:32px}.overview-section{display:grid;gap:32px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media (max-width: 768px){.stats-grid{grid-template-columns:1fr}}.stat-card{background:linear-gradient(135deg,#1a1a1a,#141414);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:24px;display:flex;align-items:center;gap:16px;transition:all .3s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 32px #0000004d;border-color:#fff3}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff}.stat-icon.entreprises{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.stat-icon.users{background:linear-gradient(135deg,#10b981,#047857)}.stat-icon.menus{background:linear-gradient(135deg,#f59e0b,#d97706)}.stat-number{font-size:32px;font-weight:700;color:#fff;line-height:1}.stat-label{font-size:14px;color:#9ca3af;font-weight:500}.quick-actions{background:#1a1a1a;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:24px}.quick-actions h3{margin:0 0 16px;font-size:18px;font-weight:600;color:#fff}.action-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.action-card{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:20px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:all .2s;color:#d1d5db}.action-card:hover{background:#ffffff14;color:#fff;transform:translateY(-1px)}.recent-activity{background:#1a1a1a;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:24px}.recent-activity h3{margin:0 0 16px;font-size:18px;font-weight:600;color:#fff}.activity-list{display:flex;flex-direction:column;gap:12px}.activity-item{display:flex;align-items:center;gap:12px;padding:12px;background:#ffffff05;border-radius:8px}.activity-icon{width:32px;height:32px;border-radius:8px;background:#3b82f633;display:flex;align-items:center;justify-content:center;color:#60a5fa}.activity-title{font-weight:600;color:#fff;font-size:14px}.activity-subtitle{font-size:12px;color:#9ca3af}.data-section{display:flex;flex-direction:column;gap:24px}.section-header{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:24px;background:linear-gradient(135deg,#1a1a1a,#1f1f1f);border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:0 4px 20px #0000004d}.simple-search-container{display:flex;gap:16px;align-items:center;margin-bottom:24px}.simple-search-bar{position:relative;flex:1;max-width:500px}.simple-search-bar input{width:100%;padding:12px 16px 12px 44px;background:#0a0a0a;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;font-size:14px;outline:none;transition:all .2s ease}.simple-search-bar input:focus{border-color:#3b82f6;background:#111;box-shadow:0 0 0 3px #3b82f633}.simple-search-bar input::placeholder{color:#6b7280}.simple-search-bar .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#6b7280;transition:color .2s}.simple-search-bar:focus-within .search-icon{color:#3b82f6}.search-bar{position:relative;flex:1;min-width:320px}.search-bar input{width:100%;padding:14px 20px 14px 48px;background:linear-gradient(135deg,#2a2a2a,#1e1e1e);border:2px solid rgba(255,255,255,.1);border-radius:12px;color:#fff;font-size:15px;font-weight:500;outline:none;transition:all .3s ease;box-shadow:inset 0 2px 4px #0000004d}.search-bar input:focus{border-color:#3b82f6;box-shadow:inset 0 2px 4px #0000004d,0 0 0 4px #3b82f626,0 8px 20px #3b82f61a;transform:translateY(-1px)}.search-bar input::placeholder{color:#9ca3af;font-weight:400}.search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#6b7280;transition:color .3s}.search-bar:focus-within .search-icon{color:#3b82f6}.filters{display:flex;gap:16px;align-items:center}.filter-select{padding:12px 16px;background:linear-gradient(135deg,#2a2a2a,#1e1e1e);border:2px solid rgba(255,255,255,.1);border-radius:10px;color:#fff;font-size:14px;font-weight:500;outline:none;cursor:pointer;transition:all .3s ease;min-width:160px}.filter-select:hover{border-color:#fff3;transform:translateY(-1px)}.filter-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.superadmin-dashboard .btn-primary,.data-section .btn-primary,.simple-search-container .btn-primary{padding:12px 20px!important;background:#1a1a1a!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:8px!important;color:#fff!important;font-size:14px!important;font-weight:600!important;cursor:pointer;display:flex;align-items:center;gap:10px;transition:all .2s ease}.superadmin-dashboard .btn-primary:hover,.data-section .btn-primary:hover,.simple-search-container .btn-primary:hover{background:#252525!important;border-color:#ffffff4d!important;transform:translateY(-1px)}.superadmin-dashboard .btn-primary:active,.data-section .btn-primary:active,.simple-search-container .btn-primary:active{transform:translateY(0);background:#1f1f1f!important}.entreprises-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.entreprise-card{background:#1a1a1a;border:1px solid rgba(255,255,255,.1);border-radius:16px;overflow:hidden;transition:all .3s}.entreprise-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000004d;border-color:#fff3}.entreprise-image{height:180px;background:#2a2a2a;display:flex;align-items:center;justify-content:center}.entreprise-image img{width:100%;height:100%;object-fit:cover}.placeholder-image{color:#6b7280}.entreprise-content{padding:20px}.entreprise-name{margin:0 0 8px;font-size:18px;font-weight:600;color:#fff}.entreprise-city{margin:0 0 12px;color:#9ca3af;font-size:14px}.entreprise-stats{display:flex;gap:16px;font-size:12px;color:#6b7280}.entreprise-actions{padding:16px 20px;border-top:1px solid rgba(255,255,255,.1);display:flex;gap:8px;justify-content:flex-end}.action-btn{width:32px;height:32px;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.action-btn.edit{background:#f9731633;color:#fb923c}.action-btn.edit:hover{background:#f973164d}.action-btn.upload{background:#3b82f633;color:#60a5fa}.action-btn.upload:hover{background:#3b82f64d}.action-btn.delete{background:#ef444433;color:#f87171}.action-btn.delete:hover{background:#ef44444d}.action-btn.features{background:#8b5cf633;color:#a78bfa}.action-btn.features:hover{background:#8b5cf64d}.action-btn.hygiene{background:#0ea5a233;color:#0ea5a2}.action-btn.hygiene:hover{background:#0ea5a24d}.empty-state{background:linear-gradient(135deg,#1a1a1a,#1f1f1f);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:48px 32px;text-align:center;box-shadow:0 8px 32px #0006}.empty-state h3{margin:0 0 12px;font-size:20px;font-weight:600;color:#fff}.empty-state p{margin:0;font-size:14px;color:#9ca3af}.modern-table{background:linear-gradient(135deg,#1a1a1a,#1f1f1f);border:1px solid rgba(255,255,255,.1);border-radius:16px;overflow:hidden;box-shadow:0 8px 32px #0006}.modern-table table{width:100%;border-collapse:collapse}.modern-table th{padding:20px 24px;background:linear-gradient(135deg,#252525,#1e1e1e);color:#fff;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:1px;text-align:left;border-bottom:2px solid rgba(255,255,255,.1);position:relative}.modern-table th:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:linear-gradient(90deg,#3b82f6,#1d4ed8);opacity:.3}.modern-table td{padding:20px 24px;color:#e5e7eb;font-size:14px;font-weight:500;border-bottom:1px solid rgba(255,255,255,.05);transition:all .3s ease;vertical-align:middle}.modern-table tr:hover td{background:linear-gradient(135deg,#3b82f61a,#3b82f60d);transform:translate(4px);border-left:3px solid #3b82f6}.modern-table tr:last-child td{border-bottom:none}.user-cell{display:flex;align-items:center;gap:16px}.user-avatar{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:16px;box-shadow:0 4px 12px #3b82f64d}.user-info h4{margin:0;font-size:15px;font-weight:600;color:#fff}.user-info p{margin:2px 0 0;font-size:13px;color:#9ca3af}.menu-cell{display:flex;align-items:center;gap:16px}.menu-icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#f59e0b,#d97706);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 12px #f59e0b4d}.role-badge{padding:8px 16px;border-radius:20px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;display:inline-flex;align-items:center;gap:6px;box-shadow:0 4px 12px #0003;border:1px solid rgba(255,255,255,.1)}.role-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.role-badge.admin{background:linear-gradient(135deg,#dc2626,#991b1b);color:#fff;border-color:#ef44444d}.role-badge.user{background:linear-gradient(135deg,#059669,#047857);color:#fff;border-color:#10b9814d}.role-badge.superadmin{background:linear-gradient(135deg,#7c3aed,#5b21b6);color:#fff;border-color:#8b5cf64d}.status-badge{padding:6px 12px;border-radius:16px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;display:inline-flex;align-items:center;gap:4px}.status-badge:before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor;animation:pulse 2s infinite}.status-badge.active{background:linear-gradient(135deg,#22c55e33,#22c55e1a);color:#4ade80;border:1px solid rgba(34,197,94,.3)}.status-badge.inactive{background:linear-gradient(135deg,#6b728033,#6b72801a);color:#9ca3af;border:1px solid rgba(107,114,128,.3)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.table-actions{display:flex;gap:12px;justify-content:flex-end;align-items:center}.table-actions .btn-icon{width:36px;height:36px;border:none;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 4px 12px #0003;position:relative;overflow:hidden}.table-actions .btn-icon:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.1) 50%,transparent 70%);transform:translate(-100%);transition:transform .3s ease}.table-actions .btn-icon:hover:before{transform:translate(100%)}.table-actions .btn-edit{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.table-actions .btn-edit:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-2px);box-shadow:0 8px 20px #f59e0b66}.table-actions .btn-upload{background:#1a1a1a!important;color:#fff!important;border:1px solid rgba(255,255,255,.2)!important}.table-actions .btn-upload:hover{background:#252525!important;border-color:#ffffff4d!important;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.table-actions .btn-delete{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.table-actions .btn-delete:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-2px);box-shadow:0 8px 20px #ef444466}@media (max-width: 1024px){.admin-sidebar{transform:translate(-100%);transition:transform .3s}.admin-main{margin-left:0}.stats-grid,.entreprises-grid{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:stretch}.search-bar{min-width:auto}}@media (max-width: 640px){.admin-content{padding:16px}.admin-header{padding:16px 20px}.header-title{font-size:20px}.modern-table{overflow-x:auto}.modern-table table{min-width:600px}}.superadmin-dashboard .modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.superadmin-dashboard .modal-content{width:720px;max-width:95%;background:#1a1a1a!important;border-radius:16px;padding:32px;box-shadow:0 25px 50px #0009;border:1px solid rgba(255,255,255,.1)}.superadmin-dashboard .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.superadmin-dashboard .modal-title{font-size:20px;font-weight:700;color:#fff!important}.superadmin-dashboard .modal-close{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;color:#9ca3af!important;transition:all .2s}.superadmin-dashboard .modal-close:hover{color:#fff!important;background:#ffffff1a}.superadmin-dashboard,.superadmin-dashboard *{color:var(--text-primary)!important;transition:color .3s ease}[data-theme=dark] .superadmin-dashboard,[data-theme=dark] .superadmin-dashboard *{color:#fff!important}.modal-form{display:flex;flex-direction:column;gap:1rem}.modal-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:1rem}.modal-form label{display:block;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}[data-theme=dark] .modal-form label{color:#fff}.modal-form input,.modal-form select,.modal-form textarea{width:100%;padding:.75rem;border:1px solid var(--border-primary);border-radius:.5rem;background:var(--bg-primary);color:var(--text-primary);font-size:.875rem;transition:all .3s ease}[data-theme=dark] .modal-form input,[data-theme=dark] .modal-form select,[data-theme=dark] .modal-form textarea{background:#ffffff0d;border-color:#ffffff1a;color:#fff}.modal-form input:focus,.modal-form select:focus,.modal-form textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px #3b82f633}.modal-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:.75rem;border-radius:.5rem;font-size:.875rem}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-primary)}[data-theme=dark] .modal-actions{border-top-color:#ffffff1a}.modal-btn{padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;border:none;transition:all .3s ease}.modal-btn-cancel{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-primary)}[data-theme=dark] .modal-btn-cancel{background:#ffffff0d;color:#94a3b8;border-color:#ffffff1a}.modal-btn-primary{background:var(--accent-primary);color:#fff}.modal-btn:hover{transform:translateY(-1px)}.modal-btn-cancel:hover{background:var(--bg-secondary)}[data-theme=dark] .modal-btn-cancel:hover{background:#ffffff1a}.modal-btn-primary:hover{background:var(--accent-secondary)}@media (max-width: 768px){.modal-form-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column}}.modal-form{display:flex;flex-direction:column;gap:16px;max-height:70vh;overflow-y:auto}.modal-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.modal-form-full{grid-column:1 / -1}.modal-form label{display:block;margin-bottom:6px;font-weight:500;font-size:14px;color:#e5e7eb!important}.modal-form input,.modal-form select,.modal-form textarea{width:100%;padding:10px 12px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0d;color:#fff!important;font-size:14px;transition:all .2s}.modal-form input::placeholder,.modal-form textarea::placeholder{color:#9ca3af}.modal-form input:focus,.modal-form select:focus,.modal-form textarea:focus{outline:none;border-color:#3b82f6;background:#ffffff14;box-shadow:0 0 0 3px #3b82f61a}.modal-form textarea{resize:vertical;min-height:80px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}.modal-btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.modal-btn-cancel{background:#ffffff0d;color:#9ca3af!important;border:1px solid rgba(255,255,255,.1)}.modal-btn-cancel:hover{background:#ffffff1a;color:#fff!important}.modal-btn-primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff!important;border:none}.modal-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.modal-btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.modal-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5!important;padding:12px;border-radius:8px;font-size:14px;margin-top:10px}:root{--bg: #f8fafc;--panel: #ffffff;--surface: #f1f5f9;--muted: #64748b;--muted-2: #94a3b8;--text: #1e293b;--accent: #10b981;--accent-2: #34d399;--info: #38bdf8;--warn: #f97316;--warning: #f59e0b;--danger: #ef4444;--border: #e2e8f0;--soft-shadow: 0 4px 15px rgba(0,0,0,.1)}[data-theme=dark]{--bg: #07101a;--panel: #0b1220;--surface: #0f1724;--muted: #94a3b8;--muted-2: #6b7280;--text: #e6eef8;--accent: #10b981;--accent-2: #34d399;--info: #38bdf8;--warn: #f97316;--warning: #f59e0b;--danger: #ef4444;--border: rgba(255,255,255,.04);--soft-shadow: 0 10px 30px rgba(2,6,23,.6)}.readonly-indicator{color:var(--warning);font-style:italic;font-size:13px;opacity:.85;font-weight:500;margin-top:4px;text-align:center}.readonly-notice{background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);color:var(--warning);padding:12px 16px;border-radius:10px;font-size:13px;margin-bottom:14px;display:flex;align-items:center;gap:8px;line-height:1.4}.readonly-form-info{text-align:center;padding:20px}.readonly-form-info h3{margin:0 0 16px;color:var(--text);font-weight:600}.equipment-info{padding:12px;background:#ffffff05;border-radius:8px;border:1px solid var(--border);text-align:center}.equipment-info strong{display:block;color:var(--text);margin-bottom:4px}.limits-info{font-size:12px;color:var(--muted)}.cleaning-layout{display:flex;flex-direction:column;gap:16px;max-width:1200px;margin:0 auto;background:transparent;color:var(--text);padding:16px}.container{background:var(--bg);color:var(--text);min-height:100vh;padding:16px}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:12px 0;border-bottom:2px solid var(--border)}.title{font-size:24px;font-weight:800;color:var(--text);margin:0;background:linear-gradient(135deg,var(--text) 0%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:16px}.tile{background:linear-gradient(135deg,var(--surface) 0%,var(--panel) 100%);border:2px solid var(--border);border-radius:12px;padding:18px 16px;text-align:center;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #0006;position:relative;overflow:hidden}.tile:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.tile:hover:before{left:100%}.tile:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 8px 28px #00000080,0 0 0 2px #10b9811a}.tile-emoji{font-size:32px;margin-bottom:8px;display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.tile-label{font-size:14px;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.5px;line-height:1.2}.page-header{display:flex;flex-direction:column;gap:16px;padding:20px 24px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(135deg,#ffffff0a,#ffffff05);box-shadow:var(--soft-shadow);color:var(--text);margin-bottom:8px;align-items:center;text-align:center}.back-button{align-self:flex-start;font-size:14px;padding:8px 0;color:var(--muted);transition:all .2s ease;text-decoration:none}.back-button:hover{color:var(--text);transform:translate(-2px)}.title-wrapper{display:flex;flex-direction:column;gap:8px;align-items:center;width:100%}.page-title{font-size:28px;font-weight:800;color:var(--text);margin:0;background:linear-gradient(135deg,var(--text) 0%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2;text-align:center}.title{font-weight:700;color:var(--text)}.badge{font-size:12px;padding:4px 8px;border-radius:999px;background:#ffffff05;border:1px solid var(--border);color:var(--muted)}.new-section{display:flex;gap:8px}.new-section input{flex:1;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:transparent;color:var(--text)}.new-section button{padding:10px 14px;border-radius:10px;border:1px solid rgba(16,185,129,.12);background:linear-gradient(180deg,var(--accent-2),var(--accent));color:#07101a;font-weight:700;cursor:pointer}.new-section button:hover{filter:brightness(.98)}.sections{display:flex;flex-direction:column;gap:10px}.accordion{border:1px solid var(--border);border-radius:12px;background:linear-gradient(180deg,var(--surface),var(--panel));color:var(--text);overflow:hidden;box-shadow:0 6px 18px #02061780}.accordion-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;cursor:pointer;background:linear-gradient(180deg,#ffffff03,#fff0);border-bottom:1px solid rgba(255,255,255,.02)}.accordion .left{display:flex;align-items:center;gap:10px}.chev{font-size:18px;width:18px;text-align:center;color:var(--muted)}.acc-title{font-weight:700;color:var(--text)}.acc-actions .ghost{margin-left:6px}.accordion-body{padding:10px 14px 12px;background:linear-gradient(180deg,rgba(255,255,255,.01),transparent)}.items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.item-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid rgba(255,255,255,.02)}.item-row:first-child{border-top:none;color:var(--text)}.check{display:flex;align-items:center;gap:10px;color:var(--text)}.check input{width:18px;height:18px;accent-color:var(--accent)}.check .done{text-decoration:line-through;color:var(--muted)}.row-actions .ghost{margin-left:6px}.new-item{margin-top:10px;display:flex;gap:8px}.new-item input{flex:1;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:transparent;color:var(--text)}.new-item button{padding:10px 14px;border-radius:10px;border:1px solid rgba(14,165,233,.12);background:linear-gradient(180deg,#36b9f7,#0ea5e9);color:#07101a;font-weight:700;cursor:pointer}.new-item button:hover{filter:brightness(.98)}.inline-edit{padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text)}.ghost{background:transparent;border:none;cursor:pointer;text-decoration:underline;color:var(--muted)}.ghost.danger{color:var(--danger)}.report-success{background:linear-gradient(135deg,#10b98126,#10b98114);border:1px solid rgba(16,185,129,.3);color:var(--accent);box-shadow:0 4px 12px #10b9811a}.report-error{background:linear-gradient(135deg,#ef444426,#ef444414);border:1px solid rgba(239,68,68,.3);color:var(--danger);box-shadow:0 4px 12px #ef44441a}.fallback-btn{margin-top:10px;color:var(--text);background:transparent;border:1px solid var(--border);padding:8px 12px;border-radius:8px;cursor:pointer}@media (max-width: 768px){.cleaning-layout{padding:0 12px}.new-section input,.new-item input,.new-section button,.new-item button{padding:8px 10px}}@media (max-width: 430px){.cleaning-layout{padding:12px 8px!important;gap:12px}.page-header{padding:16px!important;gap:12px!important;border-radius:12px}.back-button{font-size:13px!important;padding:6px 0!important}.page-title{font-size:22px!important;line-height:1.3}.readonly-indicator{font-size:11px!important;margin-top:4px}.readonly-notice{font-size:12px!important;padding:10px 12px!important;margin-bottom:12px;line-height:1.4}.new-section{flex-direction:column!important;gap:10px!important}.new-section input{width:100%!important;padding:12px 14px!important;font-size:16px!important;border-radius:10px;min-height:44px}.new-section button{width:100%!important;padding:12px 16px!important;font-size:14px!important;font-weight:600;border-radius:10px;min-height:44px}.sections{gap:12px}.accordion{border-radius:12px;overflow:hidden}.accordion-head{padding:14px 12px!important;flex-wrap:wrap;gap:8px}.accordion-head .left{flex:1;min-width:0;gap:8px;align-items:center}.chev{font-size:16px!important;width:20px!important;flex-shrink:0}.acc-title{font-size:15px!important;font-weight:600;word-break:break-word;flex:1;min-width:0}.acc-actions{display:flex;gap:8px;flex-wrap:wrap;width:100%;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.05)}.acc-actions .ghost{font-size:13px!important;padding:6px 10px!important;min-height:36px;flex:1;text-align:center;border-radius:8px;background:#ffffff08}.acc-actions .ghost.danger{background:#ef44441a}.accordion-body{padding:12px!important}.items{gap:10px}.item-row{flex-direction:column!important;align-items:flex-start!important;gap:10px!important;padding:12px 0!important;border-top:1px solid rgba(255,255,255,.05)!important}.item-row:first-child{border-top:none}.check{width:100%;gap:10px;align-items:center}.check input[type=checkbox]{width:20px!important;height:20px!important;flex-shrink:0;min-width:20px;min-height:20px}.check span{font-size:14px!important;flex:1;word-break:break-word}.row-actions{width:100%;display:flex;gap:8px;flex-wrap:wrap;padding-top:8px;border-top:1px solid rgba(255,255,255,.05);margin-top:4px}.row-actions .ghost{font-size:13px!important;padding:6px 10px!important;min-height:36px;flex:1;text-align:center;border-radius:8px;background:#ffffff08}.row-actions .ghost.danger{background:#ef44441a}.row-actions .inline-edit{width:100%!important;padding:10px 12px!important;font-size:16px!important;min-height:44px}.new-item{flex-direction:column!important;gap:10px!important;margin-top:12px!important}.new-item input{width:100%!important;padding:12px 14px!important;font-size:16px!important;border-radius:10px;min-height:44px}.new-item button{width:100%!important;padding:12px 16px!important;font-size:14px!important;font-weight:600;border-radius:10px;min-height:44px}.inline-edit{width:100%!important;padding:10px 12px!important;font-size:16px!important;min-height:44px;border-radius:8px}.info{font-size:12px!important;padding:10px 12px!important;border-radius:10px;line-height:1.4}.muted{font-size:12px!important;line-height:1.4;padding:8px 0}.cleaning-layout button.btn{width:100%!important;padding:12px 16px!important;font-size:14px!important;min-height:44px;border-radius:10px;font-weight:600;margin:0}.fallback{min-height:50vh;padding:20px}.fallback-card{padding:20px!important;border-radius:12px}.fallback-card h2{font-size:18px!important}.fallback-card p{font-size:14px!important}}.section{padding:20px;background:var(--bg);color:var(--text);max-width:1200px;margin:0 auto}.gap{gap:16px}.column{display:flex;flex-direction:column}.row{display:flex;align-items:center}.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.chips{display:flex;gap:10px;flex-wrap:wrap}.card{background:linear-gradient(135deg,var(--surface) 0%,var(--panel) 100%);border:1px solid var(--border);border-radius:12px;box-shadow:0 6px 24px #0006;overflow:hidden;transition:all .3s ease}.card:hover{transform:translateY(-2px);box-shadow:0 10px 32px #00000080;border-color:#ffffff1a}.card-body{padding:20px}.label{font-size:13px;font-weight:700;color:var(--text);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.select,.input,.textarea{background:linear-gradient(135deg,#ffffff08,#ffffff03);color:var(--text);border:2px solid var(--border);border-radius:10px;padding:12px 14px;font-size:14px;font-weight:500;transition:all .3s ease;outline:none}.select:focus,.input:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #10b98126,0 6px 16px #10b9811a;transform:translateY(-1px)}.select:hover,.input:hover,.textarea:hover{border-color:#ffffff1a}.textarea{min-height:80px;resize:vertical;font-family:inherit}.btn{background:linear-gradient(135deg,var(--surface) 0%,var(--panel) 100%);color:var(--text);border:2px solid var(--border);padding:10px 16px;border-radius:10px;cursor:pointer;font-size:13px;font-weight:600;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 3px 12px #0003}.btn:hover{background:linear-gradient(135deg,#ffffff14,#ffffff0a);transform:translateY(-1px);box-shadow:0 6px 20px #0000004d;border-color:#fff3}.btn-primary{background:linear-gradient(135deg,var(--accent) 0%,#059669 100%);color:#fff;border-color:var(--accent);box-shadow:0 3px 16px #10b9814d}.btn-primary:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 6px 24px #10b98166}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:0 3px 12px #0003}.status{font-size:12px;padding:8px 12px;border-radius:10px;font-weight:600;display:flex;align-items:center;gap:6px;border:1px solid;box-shadow:0 3px 10px #0003}.status-ok{background:linear-gradient(135deg,#10b98126,#10b9810d);color:var(--accent);border-color:#10b9814d}.status-bad{background:linear-gradient(135deg,#ef444426,#ef44440d);color:var(--danger);border-color:#ef44444d;animation:pulse-danger 2s infinite}@keyframes pulse-danger{0%,to{box-shadow:0 3px 10px #0003,0 0 #ef44444d}50%{box-shadow:0 3px 10px #0003,0 0 0 6px #ef44441a}}.badge{padding:6px 12px;border-radius:16px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;border:2px solid;transition:all .3s ease;cursor:pointer;box-shadow:0 3px 10px #0003}.badge:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0000004d}.badge.btn-primary{background:linear-gradient(135deg,var(--accent) 0%,#059669 100%);color:#fff;border-color:var(--accent)}.badge.btn{background:linear-gradient(135deg,var(--surface) 0%,var(--panel) 100%);color:var(--muted);border-color:var(--border)}.temperature-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:20px 0;border-bottom:2px solid var(--border)}.equipment-card{background:linear-gradient(135deg,#1a1a1a,#1f1f1f);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:20px;transition:all .3s ease}.equipment-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #00000080;border-color:var(--accent)}.equipment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.equipment-name{font-size:18px;font-weight:700;color:var(--text);margin:0}.temperature-value{font-size:24px;font-weight:800;padding:8px 16px;border-radius:12px}.history-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#ffffff05;border-radius:8px;font-size:13px;color:var(--muted)}.history-temp{font-weight:600;color:var(--text)}@media (max-width: 768px){.grid3{grid-template-columns:1fr}.temperature-header{flex-direction:column;gap:16px;text-align:center}.chips{justify-content:center}.section{padding:16px}.temperature-title{font-size:24px}}.temperature-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:16px 0;border-bottom:2px solid var(--border)}.temperature-title{font-size:28px;font-weight:800;color:var(--text);margin:0;background:linear-gradient(135deg,var(--text) 0%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.equipment-card{background:linear-gradient(135deg,var(--surface) 0%,var(--panel) 100%);border:1px solid var(--border);border-radius:12px;padding:18px;transition:all .3s ease;box-shadow:0 6px 24px #0006}.equipment-card:hover{transform:translateY(-2px);box-shadow:0 10px 32px #00000080;border-color:var(--accent)}.equipment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.equipment-name{font-size:16px;font-weight:700;color:var(--text);margin:0}.temperature-value{font-size:24px;font-weight:800;padding:8px 16px;border-radius:12px;min-width:70px;text-align:center}.temperature-history{display:flex;flex-direction:column;gap:8px}.history-item{display:flex;justify-content:space-between;align-items:flex-start;padding:10px 12px;background:#ffffff08;border-radius:8px;font-size:12px;color:var(--muted);border:1px solid rgba(255,255,255,.05);transition:all .3s ease}.history-item:hover{background:#ffffff0d;border-color:#ffffff1a}.history-temp{font-weight:700;color:var(--text);font-size:14px}.equipment-info{padding:12px;background:#ffffff08;border-radius:8px;border:1px solid var(--border);text-align:center;margin-top:6px}.equipment-info strong{display:block;color:var(--text);margin-bottom:6px;font-size:14px;font-weight:700}.limits-info{font-size:12px;color:var(--muted);font-weight:500}.fridge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;margin-top:24px}.fridge-card{position:relative;overflow:hidden}.fridge-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.fridge-card:hover:before{left:100%}.temperature-modal{max-width:500px;width:90%;animation:modalFadeIn .3s ease}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.temperature-modal .modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px;border-bottom:2px solid var(--border);background:linear-gradient(135deg,var(--surface) 0%,var(--panel) 100%)}.temperature-modal .modal-header>div:first-child{display:flex;align-items:center;gap:12px;flex:1}.temperature-modal .modal-header h3{margin:0;font-size:24px;font-weight:700;color:var(--text)}.temperature-modal .modal-header .fridge-area{font-size:14px;color:var(--muted);margin-top:4px}.temperature-modal .modal-header .fridge-icon{font-size:32px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.temperature-modal .modal-close{background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:28px;padding:4px 12px;border-radius:8px;transition:all .2s ease;line-height:1}.temperature-modal .modal-close:hover{background:#ffffff0d;color:var(--text)}.temperature-modal .modal-body{padding:24px;background:var(--panel)}@media (max-width: 768px){.temperature-header{flex-direction:column;gap:16px;text-align:center;margin-bottom:20px;padding:12px 0}.temperature-title{font-size:24px}.equipment-card{padding:16px}.temperature-value{font-size:20px;padding:6px 12px}.fridge-grid{grid-template-columns:1fr;gap:16px}.temperature-modal{width:95%;max-width:95%}.temperature-modal .modal-header,.temperature-modal .modal-body{padding:20px}}.container-page{padding:24px;background:#0b0b0b;color:#e6eef6;min-height:100vh}.max-w-6xl{max-width:1100px;margin:0 auto}.params-header .title{font-size:22px;font-weight:700;color:#fff}.params-header .subtitle{font-size:13px;color:#cbd5e1}.card{background:#0f1724;border-radius:12px;box-shadow:0 6px 18px #02061799;border:1px solid rgba(255,255,255,.04);padding:16px;color:#e6eef6}.mt-4{margin-top:16px}@media (min-width: 1024px){.two-col{display:grid;grid-template-columns:360px 1fr;gap:20px;align-items:start}}.avatar{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;background:linear-gradient(135deg,#0ea5a2,#06b6d4);box-shadow:0 6px 12px #065f460f}.member-name{font-weight:600;font-size:14px;color:#e6eef6}.member-email{font-size:12px;color:#94a3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-row{display:flex;gap:8px;align-items:center;margin-bottom:8px}.search-row input{flex:1;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.06);background:#071022;color:#e6eef6}.table{width:100%;border-collapse:collapse;font-size:14px}.table thead th{text-align:left;font-size:12px;color:#94a3b8;text-transform:uppercase;padding:10px 8px}.input{padding:8px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.06);background:#071022;color:#e6eef6;width:100%}.btn{padding:8px 12px;border-radius:10px;border:1px solid transparent;background:#06b6d4;color:#071023;font-weight:700;cursor:pointer}.btn-outline{background:transparent;border:1px solid rgba(255,255,255,.06);color:#e6eef6;padding:6px 10px;border-radius:8px}@media (min-width:768px){.commerce-grid{grid-template-columns:repeat(2,1fr)}}.commerce-card-title{font-weight:700;font-size:14px}.commerce-card-desc{font-size:13px;color:#94a3b8}.dot.green{background:#16a34a;animation:pulseGreen 1.8s infinite}.dot.orange{background:#f59e0b}.dot.red{background:#ef4444}.punch-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.04);background:#071022}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Courier New,monospace}.timer{font-weight:700;color:#e6eef6}.text-gray-500{color:#94a3b8}.text-red-600{color:#ef4444}.mb-4{margin-bottom:16px}.section-title{font-size:16px;font-weight:600;color:var(--text, #e6eef6);margin:0}[data-theme=light] .container-page{background:var(--bg);color:var(--text)}[data-theme=light] .card{background:var(--panel);border-color:var(--card-border);color:var(--text)}[data-theme=light] .input{background:var(--panel);border-color:var(--card-border);color:var(--text)}[data-theme=light] .punch-item{background:var(--panel);border-color:var(--card-border)}.modal-content{background:#fff;border:none;border-radius:16px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0006}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:16px 16px 0 0;border-bottom:none}.modal-header h3{margin:0;color:#fff;font-size:18px;font-weight:600}.modal-header button{background:transparent;border:none;color:#fff;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal-header button:hover{background:#fff3;color:#fff}.modal-body{padding:20px;background:#fff}.form-grid{display:grid;grid-template-columns:1fr;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:14px;font-weight:500;color:#1e293b}.modal-body .input{background:#374151;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:10px 12px;color:#fff;font-size:14px;transition:all .2s ease}.modal-body .input::placeholder{color:#ffffff80}.modal-body .input:focus{outline:none;border-color:#3b82f6;background:#4b5563;box-shadow:0 0 0 3px #3b82f61a}.modal-body .input option{background:#374151;color:#fff}.modal-body select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;cursor:pointer}.modal-body input[type=date].input{position:relative;padding-right:40px}.modal-body input[type=date].input::-webkit-calendar-picker-indicator{position:absolute;right:12px;width:20px;height:20px;cursor:pointer;opacity:.8;filter:invert(1)}.modal-body input[type=date].input::-webkit-calendar-picker-indicator:hover{opacity:1}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid #e5e7eb}.btn-primary{background:#fff;color:#374151;border:none;padding:10px 20px;border-radius:8px;font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.btn-primary:hover:not(:disabled){background:#f3f4f6;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-outline{background:transparent;border:1px solid #d1d5db;color:#374151;padding:10px 20px;border-radius:8px;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s ease}.btn-outline:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.btn-small{padding:4px 8px;font-size:12px;border-radius:6px;border:1px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-success{background:#16a34a;color:#fff}.btn-danger{background:#ef4444;color:#fff}.table-input{margin:0;font-size:13px}.role-badge{font-size:12px;font-weight:600;padding:2px 8px;border-radius:12px;display:inline-flex;align-items:center;gap:4px}.role-badge.admin{background:#f59e0b33;color:#f59e0b}.role-badge.user{background:#94a3b833;color:#94a3b8}.success-banner{background:linear-gradient(135deg,#16a34a20,#15803d20);border:1px solid rgba(22,163,74,.2);border-radius:10px;padding:12px 16px;margin-bottom:16px;display:flex;align-items:center;gap:12px;color:#16a34a;font-weight:500}.error-message{background:linear-gradient(135deg,#ef444420,#dc262620);border:1px solid rgba(239,68,68,.2);border-radius:10px;padding:12px 16px;color:#ef4444;font-weight:500}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px}.stat-card{background:#ffffff05;border:1px solid var(--card-border, rgba(255,255,255,.04));border-radius:10px;padding:16px;text-align:center}.stat-value{font-size:24px;font-weight:700;color:#06b6d4;margin-bottom:4px}.stat-label{font-size:12px;color:var(--muted, #94a3b8);text-transform:uppercase;letter-spacing:.5px}[data-theme=light] .modal-content{background:#fff}[data-theme=light] .modal-header{background:linear-gradient(135deg,#3b82f6,#2563eb)}[data-theme=light] .modal-body .input{background:#374151;color:#fff}[data-theme=light] .stat-card{background:#00000005;border-color:var(--card-border)}[data-theme=light] .editing-row{background:#06b6d414}.modal-body .input-error{border-color:#ef4444!important;background:#ef444433!important}.field-error{display:block;font-size:12px;color:#ef4444;margin-top:4px;font-weight:500}.modal-body .error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:12px 16px;color:#ef4444;font-weight:500;margin-bottom:16px}:root{--bg: #07101a;--panel: #0b1220;--surface: #0f1724;--muted: #94a3b8;--text: #e6eef8;--accent: #10b981;--danger: #ef4444;--card-border: rgba(255,255,255,.04)}.planning-page{padding:1rem 2rem;max-width:1400px;margin:0 auto;background:var(--bg);color:var(--text);min-height:100%}.planning-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.planning-header h1{margin:0;font-size:1.6rem}.entreprise-name{color:var(--muted)}.planning-layout{display:grid;grid-template-columns:300px 1fr;gap:2rem;margin-bottom:2rem}.user-list{background:linear-gradient(180deg,var(--surface),var(--panel));padding:1rem;border:1px solid var(--card-border);border-radius:12px;height:fit-content;position:sticky;top:1rem}.user-list h3{margin:0 0 1rem;color:var(--text);font-size:1.1rem}.users-container{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.user-card{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#ffffff05;border:1px solid var(--card-border);border-radius:8px;cursor:grab;transition:all .2s ease}.user-card:hover{background:#ffffff0d;transform:translateY(-1px)}.user-card:active{cursor:grabbing;transform:scale(.98)}.user-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;color:#fff}.user-info{flex:1}.user-name{font-weight:600;color:var(--text);font-size:.9rem}.user-role{font-size:.75rem;color:var(--muted);text-transform:capitalize}.legend{display:flex;flex-direction:column;gap:.25rem;padding-top:1rem;border-top:1px solid var(--card-border)}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--muted)}.legend-color{width:12px;height:12px;border-radius:2px}.planning-main{background:linear-gradient(180deg,var(--surface),var(--panel));padding:1rem;border:1px solid var(--card-border);border-radius:12px}.planning-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.week-navigation{display:flex;gap:.5rem;align-items:center}.planning-grid-container h3{margin:0 0 1rem;color:var(--text)}.week-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.week-range{font-weight:700;color:var(--text)}.date-small{font-size:.7rem;color:var(--muted);font-weight:400}.planning-grid-wrap{overflow-x:auto;overflow-y:auto;max-height:80vh}.planning-grid{display:grid;grid-template-columns:100px repeat(7,1fr);grid-template-rows:auto repeat(24,60px);gap:1px;background:#ffffff05;border-radius:8px;overflow:hidden;min-width:900px}.grid-header{padding:1rem .5rem;background:var(--surface);font-weight:700;text-align:center;color:var(--text)}.grid-day-header{padding:1rem .5rem;background:#0b1220;color:var(--text);text-align:center;font-weight:600}.grid-time{padding:.5rem .25rem;background:#ffffff05;text-align:center;font-size:.7rem;color:var(--muted);font-weight:500;display:flex;align-items:center;justify-content:center}.grid-cell{min-height:50px;background:#ffffff03;border:2px dashed transparent;padding:.2rem;display:flex;flex-direction:column;gap:.2rem;transition:all .2s ease;position:relative}.grid-cell.drag-over{background:#10b9811a;border-color:var(--accent)}.user-slot[draggable=true]{transition:transform .2s ease,opacity .2s ease;cursor:grab}.user-slot[draggable=true]:hover{transform:scale(1.02);opacity:.9;box-shadow:0 4px 12px #0000004d}.user-slot[draggable=true]:active{cursor:grabbing;opacity:.7;transform:scale(.98)}.empty-slot{display:flex;align-items:center;justify-content:center;height:100%;color:var(--muted);font-size:.75rem;text-align:center;font-style:italic}.user-slot{background:linear-gradient(135deg,var(--accent),#0d9488);color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;display:flex;align-items:center;justify-content:space-between;gap:.25rem;position:relative}.individual-slot{padding-right:30px}.resize-handles{position:absolute;right:18px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center}.resize-handle{cursor:ns-resize;color:#ffffffb3;font-size:12px;padding:2px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.resize-handle:hover{color:#fff;background:#fff3;border-radius:2px}.consecutive-slot{position:absolute!important;margin:2px;border-radius:6px;padding:.4rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;box-shadow:0 2px 4px #0003;border:1px solid rgba(255,255,255,.1);min-width:60px;overflow:hidden}.consecutive-resize-handle{position:absolute;bottom:4px;right:50%;transform:translate(50%);cursor:ns-resize;color:#ffffffb3;font-size:10px;padding:2px 4px;transition:all .2s ease;-webkit-user-select:none;user-select:none;background:#0003;border-radius:2px}.consecutive-resize-handle:hover{color:#fff;background:#0006}.consecutive-slot .user-slot-name{font-weight:600;font-size:.7rem;margin-bottom:.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;line-height:1.2}.time-range{font-size:.6rem;opacity:.9;font-weight:500;white-space:nowrap;line-height:1.1}.user-slot-name{font-weight:500;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.remove-btn{background:#fff3;border:none;color:#fff;width:16px;height:16px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:10px;line-height:1;font-weight:700}.remove-btn:hover{background:#ffffff4d}.actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.planning-btn{padding:.6rem 1rem;border-radius:6px;border:none;cursor:pointer;font-weight:500;transition:all .2s ease}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:#0d9488}.btn-neutral{background:transparent;color:var(--muted);border:1px solid var(--card-border)}.btn-neutral:hover{background:#ffffff0d;color:var(--text)}.hint{margin-top:1rem;color:var(--muted);text-align:center;font-style:italic;padding:1rem;background:#ffffff05;border-radius:8px;border:1px solid var(--card-border)}@media (max-width: 1200px){.planning-layout{grid-template-columns:1fr;gap:1rem}.user-list{position:relative;top:auto}.users-container{flex-direction:row;overflow-x:auto;padding-bottom:.5rem}.user-card{min-width:200px}}@media (max-width: 800px){.planning-page{padding:1rem}.planning-grid{min-width:700px}.planning-controls{flex-direction:column;align-items:stretch}.week-navigation{justify-content:center}}.gestion-heures-page{background:var(--bg);min-height:100vh;padding:0}.gestion-heures-container{max-width:900px;margin:0 auto;padding:32px 0}.gestion-heures-header{display:flex;align-items:center;gap:18px;margin-bottom:32px}.gestion-heures-title{font-size:2rem;font-weight:700;color:var(--text);margin-bottom:4px}.gestion-heures-sub{font-size:1.1rem;color:#4fc3f7}.gestion-heures-cards{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:32px;justify-content:center}.gestion-heures-card{background:var(--panel);border-radius:14px;padding:24px 32px;min-width:180px;box-shadow:0 2px 8px #0002;text-align:center}.gestion-heures-card-value{font-size:2.2rem;font-weight:700}.gestion-heures-card-label{font-size:1rem;color:var(--muted)}.gestion-heures-history{margin-bottom:32px}.gestion-heures-history-title{font-size:1.3rem;font-weight:700;color:var(--text);margin-bottom:8px}.gestion-heures-history-sub{font-size:1rem;color:#4fc3f7;margin-bottom:18px}.gestion-heures-day{background:var(--panel);border-radius:12px;margin-bottom:18px;box-shadow:0 1px 6px #0002;padding:18px 22px}.gestion-heures-day-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.gestion-heures-date{font-weight:700;color:var(--text);font-size:1.1rem}.gestion-heures-total{font-weight:700;font-size:1.1rem}.gestion-heures-session{display:flex;align-items:center;gap:12px;background:var(--surface);border-radius:8px;margin-bottom:8px;padding:10px 14px;box-shadow:0 1px 4px #0001}.gestion-heures-session-pause{background:#2d2f3a}.gestion-heures-session-icon{font-size:20px}.gestion-heures-session-type{font-weight:700}.gestion-heures-session-time{color:var(--muted)}.gestion-heures-session-duration{font-weight:700}.gestion-heures-session-comment{font-style:italic;color:#4fc3f7;margin-left:8px}.gestion-heures-session-short{color:#fd7e14;margin-left:8px;font-size:11px}.gestion-heures-actions{display:flex;gap:12px;margin-bottom:32px;justify-content:center}.gestion-heures-btn-primary{background:#4fc3f7;color:#181c24;font-weight:700;border-radius:8px;padding:12px 24px;font-size:16px;border:none;cursor:pointer;transition:background .2s}.gestion-heures-btn-primary:hover{background:#38bdf8}.gestion-heures-btn-green{background:#28a745;color:#fff}.gestion-heures-btn-green:hover{background:#218838}.gestion-heures-btn-outline{background:var(--panel);color:var(--text);border:1px solid #2d2f3a;border-radius:8px;padding:12px 24px;font-size:16px;cursor:pointer}.gestion-heures-btn-outline:hover{background:#23272f}.gestion-heures-modal-bg{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000b3;z-index:1000;display:flex;align-items:center;justify-content:center}.gestion-heures-modal{background:var(--panel);border-radius:16px;padding:36px 28px;max-width:900px;width:95vw;max-height:85vh;overflow-y:auto;box-shadow:0 6px 32px #0008;color:var(--text)}.gestion-heures-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.gestion-heures-modal-title{font-size:24px;font-weight:700}.gestion-heures-modal-close{background:var(--bg);color:#fd7e14;border:1px solid #fd7e14;border-radius:8px;padding:8px 18px;font-weight:700;cursor:pointer}.gestion-heures-modal-close:hover{background:#23272f}.gestion-heures-table{width:100%;border-collapse:collapse;font-size:16px}.gestion-heures-table th{padding:10px;border-bottom:1px solid #2d2f3a;background:var(--bg)}.gestion-heures-table td{padding:9px 10px}.gestion-heures-table-row-pause{background:#2d2f3a}.gestion-heures-table-row-work{background:#21262e}.lane{width:18px;min-height:100%;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.02) 0 10px,transparent 10px 26px);border-right:1px solid rgba(255,255,255,.03);border-left:1px solid rgba(255,255,255,.03);border-radius:8px}.status.warn{color:#fff;background:linear-gradient(135deg,var(--warn),#ffab40)}.status.pause{color:#fff;background:linear-gradient(135deg,var(--warn),#ffab40);animation:pulse 2s infinite;box-shadow:0 4px 15px #ff98004d}.stat-card{padding:12px;background:var(--panel);border:1px solid var(--border);border-radius:6px;text-align:center}.stat-card:hover{transform:translateY(-1px);transition:transform .2s ease}.stat-label{font-size:10px;color:var(--muted);margin-bottom:4px;font-weight:500}.stat-value{font-size:16px;font-weight:600;color:var(--accent);margin-bottom:2px}.nav-btn.active:hover{background:#0056b3;border-color:#0056b3}.nav-btn.black.active:hover{background:#1e7e34;border-color:#1e7e34}.status.ok{background:linear-gradient(45deg,var(--accent),#34d058);animation:pulse 2s infinite}.status.pause{background:linear-gradient(45deg,var(--warn),#ffab40);animation:pulse 2s infinite}.status.idle{background:var(--muted);opacity:.7}@keyframes pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}@media (max-width: 1199px) and (min-width: 769px){.center-stack{max-width:900px;padding:30px}.employees-list{grid-template-columns:repeat(3,1fr);gap:16px}.employee-card{padding:16px 18px;min-height:120px}.employee-header{gap:16px}.employee-times{gap:20px}.employee-name{font-size:16px}.employee-email{font-size:13px}.time-value,.time-value-live{font-size:16px}.summary{grid-template-columns:repeat(3,1fr);gap:16px}}@media (max-width: 768px){.punch-layout{gap:16px;padding:20px}.center-stack{max-width:100%;padding:16px}.employees-list{grid-template-columns:repeat(2,1fr);gap:12px}.employee-card{padding:14px;gap:10px;min-height:100px}.employee-header{flex-direction:column;align-items:flex-start;gap:8px}.employee-times{width:100%;justify-content:space-around;gap:16px;padding:12px 0;border-top:1px solid var(--border)}.employee-status{align-self:flex-end}.sessions-summary-inline{padding-top:12px;margin-top:8px}.sessions-list-inline{gap:6px}.session-item-inline{flex-direction:column;align-items:flex-start;gap:6px;padding:8px}.session-time-inline{text-align:left;order:1}.session-duration-inline{align-self:flex-end;order:2}.summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.summary-item{padding:16px 12px}.summary-label{font-size:11px}.summary-value{font-size:18px}.employee-name{font-size:16px}.employee-email{font-size:13px}.time-value,.time-value-live{font-size:15px}.monthly-stats-grid{grid-template-columns:1fr;gap:8px}.stat-card{padding:12px}.stat-value{font-size:16px}.date-selector-content{flex-direction:column;align-items:flex-start;gap:12px}.date-inputs{width:100%;justify-content:space-between}.date-input{padding:10px 14px;font-size:13px}.today-btn{padding:10px 16px;font-size:13px}}@media (max-width: 480px){.punch-layout{padding:12px}.center-stack{padding:12px;gap:16px}.mobile-header{padding:16px}.mobile-date{font-size:22px}.mobile-location{font-size:14px}.summary{grid-template-columns:repeat(3,1fr)!important;gap:8px;margin:16px 0}.summary-item{padding:12px 6px;min-width:0}.summary-label{font-size:9px;line-height:1.2;margin-bottom:6px;word-break:break-word}.summary-value{font-size:14px;line-height:1.2}.monthly-stats-grid{grid-template-columns:1fr}.date-inputs{flex-direction:column;align-items:stretch;gap:10px}.date-input,.today-btn{width:100%;padding:12px}.date-selector{padding:16px}.date-label{font-size:14px}.date-info{font-size:12px}.employees-list{grid-template-columns:1fr;gap:10px}.employee-card{padding:12px;flex-direction:row;align-items:center;gap:12px;min-height:80px}.employee-header{flex-direction:row;justify-content:space-between;align-items:center}.employee-times{flex-direction:row;justify-content:space-around;gap:12px;padding:10px 0;border-top:1px solid var(--border)}.time-summary{min-width:auto}.employee-name{font-size:15px}.employee-email{font-size:12px}.time-value,.time-value-live{font-size:14px}.time-label{font-size:11px}.status{padding:6px 10px;font-size:10px}.mobile-btn{font-size:14px;padding:16px}.click-hint{font-size:10px;padding:4px 8px;text-align:center}.modal-overlay{padding:10px}.modal-content{max-width:100%;border-radius:12px}.modal-header{padding:16px}.modal-header h2{font-size:16px}.modal-body{padding:16px}.employee-details{gap:16px}.detail-section{padding:16px}.detail-section h3{font-size:14px}.detail-item{flex-direction:column;align-items:flex-start;gap:4px;padding:10px}.detail-label{font-size:12px}.detail-value{font-size:13px}.detail-value.time{font-size:14px}.session-item{flex-direction:column;align-items:flex-start;gap:8px;padding:10px}.session-duration{align-self:flex-end}.no-data{padding:30px 15px}.no-data-icon{font-size:40px}.no-data-title{font-size:16px}.no-data-message{font-size:13px}}.employee-card.clickable{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.employee-card.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.progress-section{padding:32px;background:#1f1f1f;border-bottom:1px solid #333}.progress-section h4{margin:0 0 16px;color:#fff;font-size:16px}.weekly-chart{display:flex;align-items:end;gap:12px;height:120px;padding:16px;background:#2a2a2a;border-radius:8px;border:1px solid #444}.week-bar{flex:1;background:linear-gradient(to top,#4a90e2,#357abd);border-radius:4px 4px 0 0;position:relative;min-height:20px;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:8px 4px}.week-label{color:#fff;font-size:10px;font-weight:600;margin-bottom:auto}.week-value{color:#fff;font-size:11px;font-weight:700;margin-top:auto}.daily-details-section{padding:32px;background:#1a1a1a;flex:1;overflow-y:auto}.daily-details-section h4{margin:0 0 16px;color:#fff;font-size:16px}.daily-details-list{height:100%;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:16px;padding-right:8px}.daily-detail-card{background:linear-gradient(135deg,#2a2a2a,#3a3a3a);border:1px solid #444;border-radius:10px;padding:16px;transition:all .2s ease}.daily-detail-card.weekend{border-left:4px solid #ffc107;background:linear-gradient(135deg,#2d2416,#3d3426)}.daily-detail-card:hover{transform:translate(4px);border-color:#555}.day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.day-date{display:flex;align-items:center;gap:8px}.day-number{font-size:20px;font-weight:700;color:#4a90e2;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#4a90e233;border-radius:50%}.day-name{font-size:12px;color:#888;text-transform:uppercase;letter-spacing:.5px}.day-status{font-size:18px}.day-stats{margin-bottom:12px}.primary-stat{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}.time-worked{font-size:18px;font-weight:700;color:#fff;font-family:Monaco,Menlo,monospace}.time-decimal{font-size:12px;color:#888}.session-info{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.session-count{font-size:12px;color:#4a90e2;font-weight:600}.session-range{font-size:11px;color:#666;font-family:Monaco,Menlo,monospace}.performance-indicator{margin-bottom:8px}.performance-bar{width:100%;height:6px;background:#333;border-radius:3px;overflow:hidden;margin-bottom:4px}.performance-fill{height:100%;background:linear-gradient(90deg,#28a745,#34d058);transition:width .3s ease}.performance-text{font-size:10px;color:#888}.sessions-breakdown{display:flex;flex-direction:column;gap:4px;padding-top:8px;border-top:1px solid #333}.session-mini{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;background:#ffffff0d;border-radius:4px;font-size:11px}.session-time{color:#888;font-family:Monaco,Menlo,monospace}.session-duration{color:#4a90e2;font-weight:600;font-family:Monaco,Menlo,monospace}.modal-footer-stats{padding:16px 24px;background:#1f1f1f;border-top:1px solid #333;border-radius:0 0 12px 12px}.footer-summary{font-size:11px;color:#666}.footer-summary p{margin:2px 0}.loading-stats{text-align:center;padding:60px 20px;color:#888}.loading-spinner{width:40px;height:40px;border:4px solid #333;border-top:4px solid #4a90e2;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.error-stats{text-align:center;padding:60px 20px;color:#dc3545}.error-icon{font-size:48px;margin-bottom:16px}.retry-btn{background:#4a90e2;border:none;color:#fff;padding:12px 24px;border-radius:6px;cursor:pointer;margin-top:16px;font-weight:600}.retry-btn:hover{background:#357abd}.no-data-advanced{text-align:center;padding:40px 20px;color:#666}.no-data-icon{font-size:48px;margin-bottom:16px}@media (max-width: 1200px){.daily-details-list{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:16px}.stats-dashboard{grid-template-columns:repeat(2,1fr);gap:20px;padding:24px}}@media (max-width: 768px){.stats-dashboard{grid-template-columns:1fr;gap:16px;padding:20px}.stat-card{padding:16px}.period-nav{flex-direction:column;gap:8px}.period-selector,.progress-section,.daily-details-section{padding:20px}.daily-details-list{grid-template-columns:1fr;gap:12px}}.employee-action{display:flex;align-items:center;font-size:12px;color:var(--muted);transition:all .2s ease}.employee-card:hover .employee-action{color:var(--accent);transform:translate(4px)}.sessions-header{font-size:13px;font-weight:600;color:var(--text);margin-bottom:8px;padding:6px 0;border-bottom:1px solid var(--border)}.session-main{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);margin-bottom:6px;padding:6px 8px;background:#ffffff05;border-radius:6px}.session-duration{font-weight:600;color:var(--accent);margin-left:auto}.session-breaks{margin-left:20px;margin-top:4px;padding:6px 8px;background:#f973160d;border-left:3px solid var(--warn);border-radius:4px}.breaks-header{font-size:12px;font-weight:600;color:var(--warn);margin-bottom:4px}.break-item{font-size:11px;color:var(--muted);margin-bottom:2px}.break-reason{font-style:italic;color:var(--text)}.no-sessions{padding:16px;text-align:center;color:var(--muted);background:#ef44440d;border:1px dashed var(--danger);border-radius:8px;font-style:italic}.history-empty{padding:24px;text-align:center;color:var(--muted);background:#ffffff05;border:1px dashed var(--border);border-radius:8px;font-size:14px}@media (max-width: 768px){.employee-stats{grid-template-columns:repeat(2,1fr);gap:10px}.header-strip{flex-direction:column;align-items:flex-start;gap:12px}.header-stats{align-self:stretch;justify-content:space-between}.session-main{flex-direction:column;align-items:flex-start;gap:4px}.session-duration{margin-left:0}}@media (max-width: 480px){.employee-stats{grid-template-columns:1fr}.stat-card-value{font-size:18px}.breaks-header{font-size:11px}.break-item{font-size:10px}}:root{--bg: #f8f9fa;--panel: #ffffff;--surface: #ffffff;--muted: #6c757d;--muted-2: #6c757d;--text: #212529;--accent: #28a745;--warn: #fd7e14;--danger: #dc3545;--border: #e9ecef;--soft-shadow: 0 2px 10px rgba(0,0,0,.1)}[data-theme=dark]{--bg: #1e293b;--panel: #334155;--surface: #475569;--muted: #94a3b8;--muted-2: #cbd5e1;--text: #f8fafc;--accent: #22c55e;--warn: #f59e0b;--danger: #ef4444;--border: #475569;--soft-shadow: 0 2px 10px rgba(0,0,0,.3)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.punch-layout{display:flex;flex-direction:column;min-height:calc(100vh - 60px);background:var(--bg);color:var(--text);padding:0;margin:0;max-width:100%}.center-stack{flex:1;width:100%;max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:20px;padding:20px}.mobile-header{text-align:center;padding:20px;background:var(--bg);border-bottom:1px solid var(--border);border-radius:12px;margin-bottom:10px}.mobile-date{font-size:28px;font-weight:700;color:var(--text);margin-bottom:8px}.mobile-time{font-size:36px;font-weight:700;color:var(--text);margin-bottom:8px}.mobile-location{font-size:16px;color:var(--muted);line-height:1.4}.timer-display{background:#fff;border:2px solid #28a745;border-radius:12px;padding:20px;text-align:center;margin:20px 0}.timer-value{font-size:36px;font-weight:700;color:#28a745;font-family:monospace}.timer-display.paused{border-color:#fd7e14}.timer-display.paused .timer-value{color:#fd7e14}.status{padding:10px 16px;border-radius:8px;font-size:13px;font-weight:700;border:2px solid transparent;text-transform:uppercase;letter-spacing:.5px}.status.ok{color:#fff;background:linear-gradient(135deg,var(--accent),#34d058);animation:pulse 2s infinite;box-shadow:0 4px 15px #28a7454d}.status.warn,.status.pause{color:#fff;background:linear-gradient(135deg,var(--warn),#ffab40);animation:pulse 2s infinite;box-shadow:0 4px 15px #ff98004d}.status.idle{color:var(--muted);background:var(--panel);border:2px solid var(--border)}.mobile-btn{width:100%;max-width:300px;margin:0 auto 16px;padding:18px;border:none;border-radius:12px;font-size:16px;font-weight:700;color:#fff;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}.mobile-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.mobile-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.mobile-btn.primary{background:linear-gradient(135deg,#28a745,#34d058)}.mobile-btn.warning{background:linear-gradient(135deg,#fd7e14,#ffab40)}.mobile-btn.danger{background:linear-gradient(135deg,#dc3545,#ff6b6b)}.nav-buttons{display:flex;gap:8px;margin:20px 0;justify-content:center;flex-wrap:wrap}.nav-buttons.bottom{margin-top:30px;margin-bottom:10px;position:sticky;bottom:20px;background:linear-gradient(135deg,#000,#000);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:15px;border-radius:12px;box-shadow:0 4px 20px #0000001a}.nav-btn{background:#f8f9fa;border:2px solid #dee2e6;border-radius:8px;padding:12px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;color:#495057;flex:1;min-width:140px;max-width:200px}.nav-btn.black{background:#212529;border:2px solid #343a40;color:#fff}.nav-btn:hover{background:#e9ecef;border-color:#adb5bd}.nav-btn.black:hover{background:#343a40;border-color:#495057}.nav-btn.active{background:#007bff;border-color:#007bff;color:#fff}.nav-btn.black.active{background:#28a745;border-color:#28a745;color:#fff}.photos-section{background:#fff;border:2px dashed var(--border);border-radius:12px;padding:20px;margin:20px 0;text-align:center}.photos-header{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:16px;font-size:16px;font-weight:500;color:var(--text)}.photo-capture-btn{background:#007bff;color:#fff;border:none;border-radius:8px;padding:12px 24px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.photo-capture-btn:hover{background:#0056b3}.photo-capture-btn:disabled{background:#6c757d;cursor:not-allowed}.photo-message{margin-top:12px;padding:8px 12px;border-radius:6px;font-size:13px;font-weight:500}.photo-message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.photo-message.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.info{font-size:13px;color:var(--text);background:linear-gradient(180deg,#ffffff05,#ffffff03);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.date-selector{padding:20px;background:var(--surface);border:2px solid var(--border);border-radius:12px;color:var(--text);margin:20px 0}.date-selector-content{display:flex;align-items:center;justify-content:space-between;gap:20px}.date-label{font-size:16px;color:var(--text);font-weight:600}.date-inputs{display:flex;align-items:center;gap:12px}.date-input{padding:12px 16px;border:2px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);font-size:14px;cursor:pointer;transition:all .2s ease;font-weight:500}.date-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #28a7451a}.today-btn{padding:12px 20px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.today-btn:hover{background:#1e7e34;transform:translateY(-1px);box-shadow:0 4px 15px #28a7454d}.date-info{margin-top:12px;font-size:14px;color:var(--muted);padding-top:12px;border-top:2px solid var(--border);font-weight:500}.historical-notice{padding:12px;background:var(--warn);border-radius:6px;color:#fff;font-size:12px;text-align:center;font-weight:500}.summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:900px;margin:20px auto}.summary-item{padding:20px 16px;background:var(--surface);border:1px solid var(--border);border-radius:12px;color:var(--text);text-align:center;transition:transform .2s ease,box-shadow .2s ease}.summary-item:hover{transform:translateY(-2px);box-shadow:var(--soft-shadow)}.summary-label{font-size:12px;color:var(--muted);margin-bottom:8px;font-weight:500}.summary-value{font-size:20px;font-weight:700;color:var(--text)}.pause-alert{background:#fff8e1;border:1px solid #ffc107;border-radius:12px;padding:16px;margin:20px 0;text-align:center;animation:pulse 2s infinite}.pause-alert p{margin:0;font-size:14px;color:#f57c00;font-weight:500}.history{background:#fff;border-radius:12px;padding:20px;margin:20px 0;border:1px solid var(--border)}.history-title{font-size:18px;font-weight:700;margin-bottom:16px;color:var(--text)}.history-empty{color:var(--muted);font-size:14px;text-align:center;padding:20px 0}.history-list{list-style:none;margin:0;padding:0}.history-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border)}.history-row:last-child{border-bottom:none}.history-left .history-type{font-weight:500;color:var(--text);font-size:14px}.history-left .history-time{font-size:12px;color:var(--muted);margin-top:2px}.pill{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;border:none}.pill-ok{color:#fff;background:var(--accent)}.pill-warn{color:#fff;background:var(--warn)}.ghost{margin-top:10px;background:transparent;border:none;color:var(--muted);text-decoration:underline;cursor:pointer}.monthly-stats{margin-top:16px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text)}.monthly-stats-title{font-weight:600;margin-bottom:12px;color:var(--text);font-size:14px}.monthly-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat-card{background:linear-gradient(135deg,#fff,#f8f9fa);border:2px solid #e9ecef;border-radius:8px;padding:12px 8px;text-align:center;transition:all .3s ease;box-shadow:0 2px 6px #0000000f}.stat-card:hover{transform:translateY(-1px);box-shadow:0 3px 10px #0000001a}.stat-card.primary{border-color:#007bff;background:linear-gradient(135deg,#fff,#e7f1ff)}.stat-card.success{border-color:#28a745;background:linear-gradient(135deg,#fff,#d4edda)}.stat-card.info{border-color:#17a2b8;background:linear-gradient(135deg,#fff,#d1ecf1)}.stat-card.warning{border-color:#ffc107;background:linear-gradient(135deg,#fff,#fff3cd)}.stat-icon{font-size:20px;margin-bottom:6px}.stat-content{display:flex;flex-direction:column;align-items:center;gap:3px}.stat-value{font-size:16px;font-weight:700;color:#212529;font-family:Monaco,Consolas,monospace;line-height:1}.stat-label{font-size:9px;font-weight:600;color:#495057;text-transform:uppercase;letter-spacing:.3px;line-height:1.2}.stat-subtitle{font-size:8px;color:#6c757d;margin-top:1px}.stat-meta{font-size:9px;color:var(--muted-2);opacity:.8}.fallback{display:flex;align-items:center;justify-content:center;min-height:60vh}.fallback-card{background:linear-gradient(180deg,var(--surface),var(--panel));border:1px solid var(--border);border-radius:14px;padding:24px;max-width:520px;text-align:center;color:var(--text)}.fallback-btn{margin-top:10px}.employees-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:20px;width:100%}.employee-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px 20px;transition:all .3s ease;display:flex;flex-direction:column;gap:12px;width:100%;min-height:120px}.employee-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026;border-color:var(--accent)}.employee-card.clickable{cursor:pointer}.employee-header{display:flex;align-items:center;justify-content:space-between}.employee-info{flex:1}.employee-name{font-size:18px;font-weight:700;color:var(--text);margin-bottom:4px}.employee-email{font-size:14px;color:var(--muted);font-weight:500}.employee-times{display:flex;align-items:center;gap:24px;justify-content:flex-start}.time-summary{text-align:center;min-width:80px}.time-label{font-size:12px;color:var(--muted);font-weight:600;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.time-value{font-size:18px;font-weight:700;color:var(--text);font-family:Monaco,Menlo,monospace}.time-value-live{font-size:18px;font-weight:700;color:var(--accent);font-family:Monaco,Menlo,monospace;animation:pulse 2s infinite}.employee-status{flex-shrink:0;align-self:flex-start}.click-hint{text-align:center;color:#666;font-size:.8em;margin-top:8px;padding:4px;background-color:#f0f0f0;border-radius:4px}.sessions-summary-inline{border-top:2px solid var(--border);padding-top:16px;margin-top:8px}.sessions-label{font-size:14px;color:var(--text);font-weight:600;margin-bottom:12px}.sessions-list-inline{display:flex;flex-direction:column;gap:8px}.session-item-inline{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--panel);border-radius:8px;border:1px solid var(--border)}.session-type-inline{font-size:12px;font-weight:600;padding:4px 8px;border-radius:4px;display:inline-flex;align-items:center;gap:4px;min-width:80px}.session-type-inline.work{background:#28a7451a;color:var(--accent)}.session-type-inline.pause{background:#ff98001a;color:var(--warn)}.session-time-inline{font-size:12px;color:var(--muted);font-family:Monaco,Menlo,monospace;flex:1;text-align:center}.session-duration-inline{font-size:14px;font-weight:700;color:var(--text);font-family:Monaco,Menlo,monospace;min-width:60px;text-align:right}.no-sessions{border-top:2px solid var(--border);padding-top:16px;margin-top:8px;text-align:center}.no-sessions-text{font-size:14px;color:var(--muted);font-style:italic;padding:12px 20px;background:#6c757d1a;border-radius:8px;display:inline-block}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000c;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-content{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:16px;padding:0;width:90vw;height:85vh;max-width:1200px;max-height:800px;position:relative;display:flex;flex-direction:column;margin:0;color:#212529;box-shadow:0 20px 40px #0000004d;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:3px solid #007bff;flex-shrink:0;background:linear-gradient(135deg,#007bff,#0056b3);box-shadow:0 4px 12px #007bff4d}.modal-header h3{margin:0;color:#fff;font-size:28px;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.3)}.modal-close{background:#ffffff26;border:2px solid rgba(255,255,255,.3);font-size:28px;cursor:pointer;color:#fff;padding:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-close:hover{background:#ffffff40;color:#fff;transform:scale(1.1);box-shadow:0 4px 12px #0003}.modal-body{padding:0;overflow:hidden;background:#fff;flex:1;display:flex;flex-direction:column}.sessions-list-scrollable{max-height:300px;overflow-y:auto;border:1px solid #e0e0e0;border-radius:6px;padding:8px;background-color:#fafafa}.session-item-modal{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:12px;margin-bottom:8px}.session-item-modal:last-child{margin-bottom:0}.session-header{margin-bottom:8px}.session-details{display:flex;flex-direction:column;gap:4px;font-size:.9em}.modal-employee-info{background-color:#f5f5f5;padding:12px;border-radius:6px;margin-bottom:16px}.modal-employee-info p{margin:4px 0}.no-sessions-modal{text-align:center;padding:20px;color:#666;font-style:italic}.monthly-stats-modal{background:linear-gradient(135deg,#fff,#f8f9fa);color:#212529;border-radius:16px;height:100%;overflow:hidden;padding:0;display:flex;flex-direction:column}.period-selector{padding:16px 24px;background:linear-gradient(135deg,#fff,#f8f9fa);border-bottom:3px solid #007bff;flex-shrink:0;box-shadow:0 2px 6px #00000014}.period-selector h3{margin:0 0 8px;color:#212529;font-size:16px;font-weight:700}.period-nav{display:flex;align-items:center;justify-content:space-between;gap:8px}.period-btn{background:linear-gradient(135deg,#007bff,#0056b3);border:none;color:#fff;padding:6px 12px;border-radius:6px;cursor:pointer;transition:all .3s ease;font-size:11px;font-weight:600;box-shadow:0 2px 4px #007bff4d}.period-btn:hover{background:linear-gradient(135deg,#0056b3,#004085);transform:translateY(-1px);box-shadow:0 3px 8px #007bff66}.current-period{font-size:12px;font-weight:700;color:#007bff;background:#007bff1a;padding:4px 8px;border-radius:6px;border:2px solid rgba(0,123,255,.2)}.stats-dashboard{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:12px 24px;background:linear-gradient(135deg,#fff,#f8f9fa)}.progress-section{padding:12px 24px;background:#f8f9fa;border-top:1px solid #e9ecef}.progress-section h4{margin:0 0 8px;color:#212529;font-size:14px;font-weight:700}.weekly-chart{display:flex;align-items:end;gap:8px;height:80px;padding:10px;background:#fff;border-radius:6px;border:2px solid #e9ecef;box-shadow:0 2px 4px #0000000f}.week-bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;background:linear-gradient(to top,#007bff,#0056b3);border-radius:4px 4px 0 0;padding:6px 4px 0;color:#fff;font-weight:600;text-align:center;transition:all .3s ease;cursor:pointer}.week-bar:hover{transform:scale(1.02);box-shadow:0 2px 6px #007bff4d}.week-label{font-size:8px;margin-top:auto}.week-value{font-size:10px;font-weight:700}.daily-details-section{padding:12px 24px;background:#fff;overflow-y:auto;flex:1}.daily-details-section h4{margin:0 0 10px;color:#212529;font-size:14px;font-weight:700}.daily-details-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;height:auto}.daily-detail-card{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e9ecef;border-radius:8px;padding:10px;transition:all .3s ease;box-shadow:0 1px 4px #0000000d}.daily-detail-card:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.daily-detail-card.weekend{border-color:#ffc107;background:linear-gradient(135deg,#fff,#fff3cd)}.day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.day-date{display:flex;flex-direction:column;align-items:center;gap:1px}.day-number{font-size:16px;font-weight:700;color:#007bff;line-height:1}.day-name{font-size:8px;text-transform:uppercase;color:#6c757d;font-weight:600;letter-spacing:.3px}.day-status{font-size:14px}.day-stats{display:flex;flex-direction:column;gap:6px}.primary-stat{display:flex;align-items:baseline;gap:4px}.time-worked{font-size:12px;font-weight:700;color:#212529;font-family:Monaco,Consolas,monospace}.time-decimal{font-size:9px;color:#6c757d;font-weight:500}.session-info{display:flex;flex-direction:column;gap:1px}.session-count{font-size:8px;color:#495057;font-weight:600;text-transform:uppercase}.session-range{font-size:8px;color:#6c757d;font-family:Monaco,Consolas,monospace}.performance-indicator{display:flex;flex-direction:column;gap:3px;margin-top:4px}.performance-bar{width:100%;height:4px;background:#e9ecef;border-radius:2px;overflow:hidden}.performance-fill{height:100%;background:linear-gradient(to right,#28a745,#20c997);border-radius:2px;transition:width .3s ease}.performance-text{font-size:7px;color:#6c757d;font-weight:500}.sessions-breakdown{margin-top:8px;display:flex;flex-direction:column;gap:4px;padding-top:8px;border-top:1px solid #e9ecef}.session-mini{display:flex;justify-content:space-between;align-items:center;padding:4px 6px;background:#007bff0d;border-radius:4px;border-left:2px solid #007bff}.session-time{font-size:7px;color:#495057;font-family:Monaco,Consolas,monospace}.session-duration{font-size:7px;font-weight:600;color:#007bff;font-family:Monaco,Consolas,monospace}.loading-stats{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 40px;text-align:center}.loading-spinner{width:60px;height:60px;border:4px solid #e9ecef;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:24px}.loading-stats p{margin:0;font-size:16px;color:#6c757d;font-weight:500}.error-stats{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 40px;text-align:center}.error-icon{font-size:64px;margin-bottom:20px;opacity:.6}.error-stats h3{margin:0 0 12px;color:#dc3545;font-size:24px;font-weight:700}.error-stats p{margin:0 0 24px;color:#6c757d;font-size:16px;line-height:1.5}.retry-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#007bff,#0056b3);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 6px #007bff4d}.retry-btn:hover{background:linear-gradient(135deg,#0056b3,#004085);transform:translateY(-2px);box-shadow:0 4px 12px #007bff66}.no-data-advanced{text-align:center;padding:60px 20px;color:#6c757d}.no-data-icon{font-size:64px;margin-bottom:20px;opacity:.5}.no-data-advanced h3{margin:0 0 12px;color:#495057;font-size:20px}.no-data-advanced p{margin:0;font-size:14px;line-height:1.5}.modal-footer-stats{padding:24px 32px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-top:2px solid #dee2e6;margin-top:auto}.footer-summary{text-align:center;color:#495057}.footer-summary p{margin:8px 0;font-size:14px}.footer-summary strong{color:#212529;font-weight:600}@media (min-width: 1200px){.center-stack{max-width:1400px;padding:40px}.employees-list{grid-template-columns:repeat(4,1fr);gap:20px}.summary{grid-template-columns:repeat(3,1fr);gap:25px}.employee-card{padding:20px;min-height:140px}}@media (max-width: 1199px) and (min-width: 769px){.center-stack{max-width:900px;padding:30px}.employees-list{grid-template-columns:repeat(3,1fr);gap:16px}.employee-card{padding:16px 18px;min-height:120px}.employee-name{font-size:16px}.employee-email{font-size:13px}.time-value,.time-value-live{font-size:16px}}@media (max-width: 768px){.punch-layout{gap:16px;padding:20px}.center-stack{max-width:100%;padding:16px}.employees-list{grid-template-columns:repeat(2,1fr);gap:12px}.employee-card{padding:14px;gap:10px;min-height:100px}.employee-header{flex-direction:column;align-items:flex-start;gap:8px}.employee-times{width:100%;justify-content:space-around;gap:16px;padding:12px 0;border-top:1px solid var(--border)}.summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.summary-item{padding:16px 12px}.summary-label{font-size:11px}.summary-value{font-size:18px}.monthly-stats-grid{grid-template-columns:1fr;gap:8px}.date-selector-content{flex-direction:column;align-items:flex-start;gap:12px}.date-inputs{width:100%;justify-content:space-between}.stats-dashboard{grid-template-columns:repeat(2,1fr);gap:16px;padding:20px}.modal-header{padding:16px}.modal-header h3{font-size:24px}.period-nav{flex-direction:column;gap:8px}.daily-details-list{grid-template-columns:1fr;gap:12px}}@media (max-width: 480px){.punch-layout{padding:12px}.center-stack{padding:12px;gap:16px}.mobile-header{padding:16px}.mobile-date{font-size:22px}.mobile-location{font-size:14px}.summary{grid-template-columns:1fr;gap:8px}.summary-item{padding:14px 10px}.summary-label{font-size:10px}.summary-value{font-size:16px}.monthly-stats-grid{grid-template-columns:1fr}.date-inputs{flex-direction:column;align-items:stretch;gap:10px}.date-input,.today-btn{width:100%;padding:12px}.employees-list{grid-template-columns:1fr;gap:10px}.employee-card{padding:12px;flex-direction:row;align-items:center;gap:12px;min-height:80px}.employee-name{font-size:15px}.employee-email{font-size:12px}.time-value,.time-value-live{font-size:14px}.time-label{font-size:11px}.status{padding:6px 10px;font-size:10px}.mobile-btn{font-size:14px;padding:16px}.click-hint{font-size:10px;padding:4px 8px;text-align:center}.modal-overlay{padding:10px}.modal-content{max-width:100%;border-radius:12px}.stats-dashboard{grid-template-columns:1fr;gap:12px;padding:20px}.stat-card{padding:20px}.stat-value{font-size:24px}.stat-icon{font-size:28px}.daily-detail-card{padding:16px}.day-number{font-size:24px}.time-worked{font-size:20px}}:root{--bg: #f8fafc;--panel: #ffffff;--surface: #f1f5f9;--muted: #64748b;--text: #1e293b;--muted-2: #94a3b8;--border: #e2e8f0;--accent: #2563eb;--accent-2: #10b981;--warn: #f97316;--danger: #ef4444;--soft-shadow: 0 4px 15px rgba(0,0,0,.1);--card-radius: 12px}[data-theme=dark]{--bg: #06080a;--panel: #0d1620;--surface: #0f1a26;--muted: #94a3b8;--text: #e6eef8;--muted-2: #6b7280;--border: rgba(255,255,255,.04);--accent: #2563eb;--accent-2: #10b981;--warn: #f97316;--danger: #ef4444;--soft-shadow: 0 10px 30px rgba(2,6,23,.6);--card-radius: 12px}.punch-layout{display:flex;gap:32px;min-height:calc(100vh - 160px);align-items:flex-start;background:var(--bg);color:var(--text);padding:40px 24px 60px;transition:all .3s ease}[data-theme=dark] .punch-layout{background:linear-gradient(180deg,var(--bg),#0b0f12 120px)}.lane{width:18px;min-height:100%;background:linear-gradient(180deg,rgba(255,255,255,.02),transparent);border-radius:8px}.center-stack{flex:1;max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.header-strip{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-radius:var(--card-radius);background:linear-gradient(180deg,#ffffff05,#ffffff03);border:1px solid var(--border);box-shadow:var(--soft-shadow)}.app-title{font-size:20px;font-weight:700;color:var(--text)}.app-sub{font-size:13px;color:var(--muted);margin-top:4px}.header-stats{display:flex;gap:18px;align-items:flex-end}.stat-box{text-align:right;color:var(--muted)}.stat-label{font-size:12px;color:var(--muted)}.stat-value{font-size:20px;font-weight:800;color:var(--text)}.stat-value.warn{color:var(--warn)}.buttons-row{display:flex;gap:12px;width:100%;align-items:center}.btn,.btn-outline,.btn-primary,.btn-small{display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:all .14s ease}.btn{height:38px;padding:0 14px;border-radius:10px;background:transparent;color:var(--text);border:1px solid rgba(255,255,255,.03);cursor:pointer}.btn:focus{outline:3px solid rgba(37,99,235,.12);outline-offset:2px}.btn:hover{transform:translateY(-2px)}.btn-outline{background:transparent;border:1px solid rgba(255,255,255,.06);color:var(--muted)}.btn-primary{height:40px;padding:0 14px;border-radius:10px;background:linear-gradient(180deg,var(--accent),#1d4ed8);color:#fff;border:1px solid rgba(37,99,235,.28);box-shadow:0 6px 18px #2563eb0f}.btn-primary:hover{filter:brightness(.98);transform:translateY(-2px)}.ghost{background:transparent;border:none;color:var(--muted);text-decoration:underline}.danger-text{color:var(--danger)}.big-btn.sm{height:96px;font-size:20px;border-radius:16px;padding:12px}.big-btn.sm .big-meta{margin-top:6px;font-size:12px;opacity:.9}@media (max-width:520px){.buttons-row{flex-direction:column;align-items:stretch}}.tools-bar{display:flex;gap:12px;align-items:center;justify-content:space-between}.tools-left{flex:1}.select{height:40px;border:1px solid var(--border);border-radius:10px;padding:0 10px;background:transparent;color:var(--text)}.tools-section{display:flex;flex-direction:column;gap:12px}.filters-row{display:flex;gap:16px;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:4px;min-width:160px}.search-row{display:flex;gap:12px;align-items:center}.search-input{flex:1;max-width:300px}.view-toggle{display:flex;gap:4px;background:#ffffff05;border:1px solid var(--border);border-radius:8px;padding:2px}.view-toggle button{padding:6px 10px;border:none;background:transparent;color:var(--muted);border-radius:6px;cursor:pointer;transition:all .2s;font-size:12px}.view-toggle button.active{background:var(--accent);color:#fff}.view-toggle button:hover:not(.active){background:#ffffff0d;color:var(--text)}.category-icon{font-size:16px;margin-right:6px;display:inline-block}.stock-list.compact .stock-row{padding:10px 16px;align-items:center}.stock-list.compact .row-left{flex:1;display:flex;align-items:center;gap:12px}.stock-list.compact .row-title{font-size:14px;margin:0}.stock-list.compact .row-sub{font-size:12px;margin:0;opacity:.8}.stock-list.compact .progress-bar,.stock-list.compact .progress-info{display:none}.stock-list.compact .row-actions{gap:6px}.stock-list.compact .row-actions button{min-width:36px;height:32px;font-size:12px}.stock-list.detailed{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.stock-list.detailed .stock-row{flex-direction:column;padding:16px;background:linear-gradient(135deg,#ffffff08,#ffffff03);border:1px solid rgba(255,255,255,.06);min-height:180px}.stock-list.detailed .row-left{width:100%;margin-bottom:12px}.stock-list.detailed .row-title{font-size:18px;margin-bottom:8px;display:flex;align-items:center}.stock-list.detailed .row-sub{margin-bottom:12px}.stock-list.detailed .row-actions{width:100%;justify-content:center;flex-wrap:wrap;gap:8px}.stock-list.detailed .row-actions button{flex:1;min-width:70px}.stock-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:12px}.stock-row{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-radius:14px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 30px #02061799;transition:all .2s ease}.stock-row:hover{background:#ffffff0d;border-color:#ffffff1f}.row-left .row-title{font-weight:700;color:var(--text);font-size:16px}.row-left .row-sub{font-size:13px;color:var(--muted-2);margin-top:6px}.row-sub .ok{color:var(--accent-2)}.row-sub .warn{color:var(--warn);font-weight:700}.row-actions{display:flex;gap:8px;align-items:center}.row-actions button{min-width:44px;height:36px;padding:6px 10px;border-radius:8px}.progress-bar{width:100%;height:8px;background:#ffffff0f;border-radius:4px;overflow:hidden;margin-top:8px;position:relative}.progress-bar .fill{height:100%;border-radius:4px;transition:all .3s ease;position:relative}.progress-bar .fill.critical{background:linear-gradient(90deg,var(--danger),#dc2626);box-shadow:0 0 8px #ef44444d}.progress-bar .fill.warning{background:linear-gradient(90deg,var(--warn),#ea580c);box-shadow:0 0 8px #f973164d}.progress-bar .fill.good{background:linear-gradient(90deg,var(--accent-2),#059669);box-shadow:0 0 8px #10b9814d}.progress-bar .fill.excellent{background:linear-gradient(90deg,#10b981,#047857);box-shadow:0 0 8px #10b98166}.progress-info{display:flex;justify-content:space-between;align-items:center;margin-top:4px;font-size:11px}.progress-percentage{font-weight:600;opacity:.8}.progress-percentage.critical{color:var(--danger)}.progress-percentage.warning{color:var(--warn)}.progress-percentage.good{color:var(--accent-2)}.progress-percentage.excellent{color:#10b981}.muted{color:var(--muted)}.error{color:var(--danger);font-weight:600}.modal-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110000;display:flex;align-items:center;justify-content:center}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0000008c,#000000a6)}.modal-card{position:relative;width:560px;max-width:95%;background:linear-gradient(180deg,var(--surface),var(--panel));border-radius:12px;padding:20px;box-shadow:0 28px 70px #020617cc;border:1px solid var(--border);color:var(--text);z-index:110001}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.modern-layout .card{background:#ffffff05!important;border:1px solid rgba(255,255,255,.06)!important;border-radius:12px!important;box-shadow:0 8px 30px #02061799!important}.modern-layout .card-pad{padding:20px!important;background:transparent!important}.form-grid{display:grid;gap:10px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.input,textarea,.textarea,input[type=number],select{background:#ffffff0d;color:var(--text);border:1px solid rgba(255,255,255,.1);padding:10px;border-radius:10px;transition:all .2s ease}.input:focus,textarea:focus,input[type=number]:focus,select:focus{outline:none;border-color:var(--accent);background:#ffffff14;box-shadow:0 0 0 3px #2563eb1a}.input::placeholder,textarea::placeholder{color:#ffffff59}.btn-small{padding:8px 10px;border-radius:8px;background:transparent;border:1px solid rgba(255,255,255,.04);color:var(--text);cursor:pointer}.btn-small:hover{background:#ffffff05}.btn-small.danger{color:var(--danger);border-color:#ef44441f}.section-block{margin-top:8px}.section-header{font-weight:600;font-size:12px;color:var(--muted-2);background:#ffffff05;display:inline-block;padding:3px 8px;border-radius:999px;margin-bottom:4px}.section-items{font-size:13px;color:var(--text)}@media (max-width: 768px){.lane{display:none}.center-stack{padding:0 12px}.grid-2{grid-template-columns:1fr}.filters-row{flex-direction:column;gap:8px}.filter-group{min-width:auto}.search-row{flex-direction:column;align-items:stretch}.search-input{max-width:none}.stock-list.detailed{grid-template-columns:1fr}.stock-list.compact .row-left{flex-direction:column;align-items:flex-start;gap:4px}.view-toggle{width:100%}.view-toggle button{flex:1;text-align:center}}.timeline{list-style:none;margin:0;padding:0 0 0 10px;position:relative}.timeline:before{content:"";position:absolute;left:4px;top:0;bottom:0;width:2px;background:#ffffff0a}.timeline-item{position:relative;padding:10px 0 10px 16px}.timeline-dot{position:absolute;left:-2px;top:14px;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #2563eb0f}.timeline-content{background:#ffffff03;border:1px solid var(--border);border-radius:10px;padding:10px 12px}.timeline-title{font-weight:700;color:var(--text);display:flex;justify-content:space-between}.timeline-delta{font-weight:800}.timeline-sub{font-size:12px;color:var(--muted-2);margin-top:6px}.timeline-delta{font-weight:800;padding:2px 8px;border-radius:999px;line-height:1}.delta-plus{background:#10b9812e;color:#a7f3d0;border:1px solid rgba(16,185,129,.25)}.delta-minus{background:#ef44442e;color:#fecaca;border:1px solid rgba(239,68,68,.25)}.timeline-content{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(180deg,#ffffff05,#ffffff03);border-radius:12px}.timeline-dot{width:12px;height:12px;background:var(--accent);box-shadow:0 0 0 6px #2563eb0f}.timeline-title{display:flex;align-items:center;justify-content:space-between;font-weight:700}.btn-primary{box-shadow:0 6px 18px #2563eb1a}.header-strip{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.toast-container{position:fixed;top:20px;right:20px;z-index:100000;display:flex;flex-direction:column;gap:8px;max-width:400px}.toast{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 8px 30px #02061799;border:1px solid var(--border);animation:slideInRight .3s ease-out;font-size:14px;min-width:300px}.toast-warning{background:linear-gradient(180deg,#f9731626,#f9731614);border-color:#f9731633;color:#fbbf24}.toast-close{background:none;border:none;color:currentColor;font-size:18px;cursor:pointer;padding:0;margin-left:12px;opacity:.7;transition:opacity .2s}.toast-close:hover{opacity:1}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.blinking-row{animation:blinkWarning 1s ease-in-out infinite}@keyframes blinkWarning{0%,to{background:linear-gradient(180deg,#ffffff05,#ffffff03);border-color:#ffffff08}50%{background:linear-gradient(180deg,#f9731614,#f973160a);border-color:#f9731626;box-shadow:0 8px 30px #f973161a}}@media (max-width: 768px){.toast-container{top:10px;right:10px;left:10px;max-width:none}.toast{min-width:auto;font-size:13px}}.actions-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;background:linear-gradient(180deg,#ffffff05,#ffffff03);border-radius:var(--card-radius);border:1px solid var(--border)}.actions-left{display:flex;gap:16px;align-items:center}.btn{display:flex;align-items:center;gap:6px;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;transition:all .2s ease;border:1px solid transparent;cursor:pointer}.btn-icon{font-size:16px}.btn-text{white-space:nowrap}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.btn-outline{background:transparent;color:var(--text);border-color:#fff3}.btn-outline:hover{background:#ffffff0d;border-color:#ffffff4d}.btn-warning{background:var(--warn);color:#fff;border-color:var(--warn)}.readonly-badge{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#94a3b81a;border:1px solid rgba(148,163,184,.2);border-radius:8px;font-size:13px;color:var(--muted)}.badge-icon{font-size:14px}.search-bar{display:flex;gap:16px;align-items:center;padding:16px 20px;background:#ffffff05;border-radius:var(--card-radius);border:1px solid var(--border)}.search-wrapper{position:relative;flex:1;max-width:400px}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:14px}.search-input{padding-left:36px!important;padding-right:36px!important}.clear-search{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--muted);cursor:pointer;padding:2px;border-radius:4px;font-size:14px;transition:all .2s ease}.clear-search:hover{background:#ffffff1a;color:var(--text)}.refresh-btn{flex-shrink:0}.filters-section{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#ffffff05}.filters-toggle{padding:0}.filters-btn{width:100%;padding:12px 16px;background:none;border:none;color:var(--text);font-size:14px;font-weight:500;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .2s ease}.filters-btn:hover{background:#ffffff0d}.chevron{transition:transform .2s ease;font-size:12px}.chevron.open{transform:rotate(180deg)}.filters-content{padding:20px;border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;align-items:end}.view-toggle{display:flex;gap:4px;background:#ffffff0d;padding:4px;border-radius:8px}.view-btn{padding:8px 12px;background:none;border:none;color:var(--muted);cursor:pointer;border-radius:6px;transition:all .2s ease;font-size:16px}.view-btn:hover{background:#ffffff1a;color:var(--text)}.view-btn.active{background:var(--accent);color:#fff}.row-actions{display:flex;align-items:center;gap:20px;justify-content:flex-end}.qty-controls{display:flex;align-items:center;gap:16px}.qty-group{display:flex;align-items:center;gap:4px;background:#ffffff08;padding:6px;border-radius:12px;border:1px solid rgba(255,255,255,.08)}.qty-group.secondary{background:#ffffff05;padding:4px;gap:4px}.qty-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 12px;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s ease;min-width:50px}.qty-btn.decrease{background:#ef444433;color:#fca5a5;border:1px solid rgba(239,68,68,.3)}.qty-btn.decrease:hover{background:#ef44444d;transform:translateY(-1px)}.qty-btn.increase{background:#10b98133;color:#86efac;border:1px solid rgba(16,185,129,.3)}.qty-btn.increase:hover{background:#10b9814d;transform:translateY(-1px)}.qty-icon{font-size:18px;font-weight:700}.qty-label{font-size:11px;opacity:.8}.qty-display{display:flex;flex-direction:column;align-items:center;padding:0 16px;min-width:80px}.current-qty{font-size:20px;font-weight:700;color:var(--text)}.qty-unit{font-size:11px;color:var(--muted)}.qty-btn-secondary{padding:6px 10px;border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;transition:all .2s ease}.qty-btn-secondary.decrease{background:#ef444426;color:#fca5a5}.qty-btn-secondary.increase{background:#10b98126;color:#86efac}.qty-btn-custom{padding:8px;border:none;border-radius:6px;background:#9333ea33;color:#c4b5fd;cursor:pointer;transition:all .2s ease}.qty-btn-custom:hover{background:#9333ea4d;transform:scale(1.05)}.custom-icon{font-size:16px}.admin-actions{display:flex;gap:8px;align-items:center;margin-left:16px;padding-left:16px;border-left:1px solid rgba(255,255,255,.1)}.action-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;border:none;border-radius:6px;cursor:pointer;font-size:12px;transition:all .2s ease}.action-btn.edit{background:#fff;color:#374151;border:1px solid rgba(255,255,255,.2)}.action-btn.edit:hover{background:#f3f4f6;color:#1f2937;transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.action-btn.delete{background:#fff;color:#374151;border:1px solid rgba(255,255,255,.2)}.action-btn.delete:hover{background:#f3f4f6;color:#1f2937;transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.action-icon{font-size:14px}.qty-modal{max-width:500px;padding:24px}.modal-header{margin-bottom:20px}.modal-header h3{margin:0 0 8px;font-size:20px;color:var(--text)}.product-info{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#ffffff0d;border-radius:8px;font-size:14px;color:var(--muted)}.product-name{font-weight:600;color:var(--text)}.qty-current{margin-bottom:20px;text-align:center}.current-badge{display:inline-flex;flex-direction:column;align-items:center;padding:16px 24px;background:linear-gradient(135deg,#2563eb1a,#10b9811a);border:1px solid rgba(255,255,255,.1);border-radius:12px;gap:4px}.badge-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.badge-value{font-size:28px;font-weight:700;color:var(--text)}.badge-unit{font-size:12px;color:var(--muted)}.qty-adjustment{margin-bottom:20px}.adjustment-controls{display:flex;flex-direction:column;gap:12px}.preset-buttons{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.preset-btn{padding:10px 8px;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:13px;transition:all .2s ease}.preset-btn.decrease{background:#ef444433;color:#fca5a5;border:1px solid rgba(239,68,68,.3)}.preset-btn.increase{background:#10b98133;color:#86efac;border:1px solid rgba(16,185,129,.3)}.preset-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.custom-input{position:relative}.adjustment-input{padding-right:40px!important}.clear-input{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--muted);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.clear-input:hover{background:#ffffff1a;color:var(--text)}.preview-result{margin-top:12px;padding:12px;background:#ffffff0d;border-radius:8px;text-align:center}.result-arrow{font-size:16px;font-weight:600;color:var(--text);margin-bottom:4px}.new-qty{color:var(--accent-2)}.result-change{font-size:12px;color:var(--muted)}.reason-section{margin-bottom:20px}.reason-presets{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.reason-tag{padding:6px 12px;border:none;border-radius:16px;background:#ffffff0d;color:var(--muted);cursor:pointer;font-size:12px;transition:all .2s ease;border:1px solid transparent}.reason-tag:hover{background:#ffffff1a;color:var(--text)}.reason-tag.active{background:var(--accent);color:#fff;border-color:var(--accent)}.reason-input{margin-top:8px}.apply-btn{background:var(--accent-2)!important;border-color:var(--accent-2)!important}@media (max-width: 1024px){.center-stack{max-width:100%;padding:0 16px}.filters-content{grid-template-columns:repeat(2,1fr);gap:16px}.qty-controls{gap:12px}.admin-actions{margin-left:12px;padding-left:12px}}@media (max-width: 768px){.punch-layout{gap:16px;padding:20px 12px 40px}.actions-header{flex-direction:column;align-items:stretch;gap:12px}.actions-left{justify-content:center}.search-bar{flex-direction:column;gap:12px}.search-wrapper{max-width:none}.filters-content{grid-template-columns:1fr;gap:12px}.row-actions{flex-direction:column;gap:12px;align-items:stretch}.qty-controls{justify-content:center}.admin-actions{justify-content:center;margin-left:0;padding-left:0;border-left:none;border-top:1px solid rgba(255,255,255,.1);padding-top:12px}}@media (max-width: 480px){.lane{display:none}.punch-layout{gap:8px;padding:16px 8px 32px}.header-strip{flex-direction:column;align-items:flex-start;gap:12px}.header-stats{align-self:stretch;justify-content:space-around}.btn-text-mobile-hidden{display:none}.qty-group{flex-direction:column;padding:8px;gap:4px}.qty-display{padding:8px 12px;min-width:auto}.current-qty{font-size:18px}.preset-buttons{grid-template-columns:repeat(3,1fr);gap:8px}.reason-presets{flex-direction:column;align-items:stretch}.reason-tag{text-align:center}}.modern-layout{min-height:100vh;background:linear-gradient(180deg,var(--bg),#0b0f12 200px);color:var(--text)}.layout-container{max-width:1440px;margin:0 auto;padding:24px 32px 60px;display:flex;flex-direction:column;gap:32px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;padding:32px 0;border-bottom:1px solid rgba(255,255,255,.08)}.header-left{flex:1}.page-title{font-size:32px;font-weight:700;color:#f97316;margin:0 0 8px;line-height:1.2}.page-subtitle{font-size:16px;color:var(--muted);margin:0;line-height:1.4}.readonly-indicator{display:inline-block;margin-left:16px;padding:4px 12px;background:#94a3b826;border:1px solid rgba(148,163,184,.3);border-radius:16px;font-size:14px;color:var(--muted)}.header-actions{display:flex;align-items:center;gap:24px;flex-shrink:0}.btn-new-item{display:flex;align-items:center;gap:8px;padding:12px 24px;background:#f97316;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #f973164d}.btn-new-item:hover{background:#ea580c;transform:translateY(-1px);box-shadow:0 4px 16px #f9731666}.btn-new-item span:first-child{font-size:18px;font-weight:700}.header-stats-inline{display:flex;align-items:center;gap:16px}.stat-item{display:flex;flex-direction:column;align-items:center;text-align:center}.stat-number{font-size:24px;font-weight:800;color:var(--text);line-height:1}.stat-item.warning .stat-number{color:var(--warn)}.stat-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.stat-separator{color:#fff3;font-size:18px}.toolbar-section{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 24px;background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:12px}.toolbar-left{flex:1;max-width:500px}.search-container{width:100%}.search-field{position:relative;width:100%}.search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:16px;color:var(--muted);z-index:2}.search-input-modern{width:100%;padding:14px 16px 14px 48px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text);font-size:16px;transition:all .2s ease}.search-input-modern:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2563eb1a;background:#ffffff14;color:var(--text)}.search-input-modern::placeholder{color:var(--muted)}.modern-layout .input,.modern-layout input[type=text],.modern-layout input[type=number],.modern-layout input[type=search]{background:#ffffff0d!important;border:1px solid rgba(255,255,255,.1)!important;color:var(--text)!important}.modern-layout .input::placeholder,.modern-layout input::placeholder{color:var(--muted)!important}.clear-search-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--muted);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.clear-search-btn:hover{background:#ffffff1a;color:var(--text)}.toolbar-right{display:flex;align-items:center;gap:16px}.filters-group{display:flex;gap:12px}.filter-select{padding:10px 16px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text);font-size:14px;cursor:pointer;min-width:160px;transition:all .2s ease}.filter-select:focus{outline:none;border-color:var(--accent);background:#ffffff0f}.filter-select option{background:var(--panel);color:var(--text)}.filter-toggle{padding:10px 16px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.filter-toggle:hover{background:#ffffff0f;border-color:#fff3}.filter-toggle.active{background:var(--warn);border-color:var(--warn);color:#fff}.results-info{display:flex;justify-content:space-between;align-items:center;padding:0 4px;margin:-8px 0 8px}.results-count{font-size:14px;color:var(--muted)}.refresh-link{background:none;border:none;color:var(--accent);font-size:14px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease}.refresh-link:hover{background:#2563eb1a;color:#60a5fa}@media (max-width: 1024px){.layout-container{padding:20px 24px 50px;gap:24px}.page-header{flex-direction:column;align-items:flex-start;gap:20px;padding:24px 0}.header-actions{align-self:stretch;justify-content:space-between}.toolbar-section{flex-direction:column;gap:16px;align-items:stretch}.toolbar-right{justify-content:space-between}.filters-group{flex:1}}@media (max-width: 768px){.layout-container{padding:16px 16px 40px;gap:20px}.page-title{font-size:28px}.header-actions{flex-direction:column;gap:16px}.header-stats-inline{align-self:stretch;justify-content:space-around}.toolbar-left{max-width:none}.filters-group{flex-direction:column;gap:8px}.filter-select{min-width:auto}}@media (max-width: 430px){.stock-row{box-shadow:0 4px 16px #02061766}.qty-btn.decrease:active,.qty-btn.increase:active,.qty-btn-secondary:active,.qty-btn-custom:active{transform:scale(.95)}.toast-container{left:12px;right:12px;max-width:none}.toast{width:100%}}.notification-feed{background:var(--panel, #0b1220);border:1px solid var(--card-border, rgba(255, 255, 255, .04));border-radius:16px;overflow:hidden;box-shadow:0 8px 32px #0000004d;max-height:600px;display:flex;flex-direction:column}[data-theme=light] .notification-feed{background:#fff;border-color:#0000001a;box-shadow:0 4px 16px #0000001a}.notification-feed-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--card-border, rgba(255, 255, 255, .04));background:var(--surface, #0f1724)}.notification-feed-title{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;color:var(--text, #e6eef8)}.notification-feed-badge{background:#ef4444;color:#fff;border-radius:12px;padding:2px 8px;font-size:12px;font-weight:600;min-width:20px;text-align:center}.notification-feed-actions{display:flex;gap:8px}.notification-action-btn{background:transparent;border:1px solid var(--card-border, rgba(255, 255, 255, .04));border-radius:8px;padding:6px 10px;color:var(--text, #e6eef8);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.notification-action-btn:hover{background:#ffffff0d;border-color:#ffffff1a}.notification-feed-filters{display:flex;gap:8px;padding:12px 20px;border-bottom:1px solid var(--card-border, rgba(255, 255, 255, .04));background:var(--panel, #0b1220)}.notification-filter-btn{background:transparent;border:1px solid transparent;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:500;color:var(--muted, #94a3b8);cursor:pointer;transition:all .2s ease}.notification-filter-btn:hover{background:#ffffff08;color:var(--text, #e6eef8)}.notification-filter-btn.active{background:#667eea26;border-color:#667eea4d;color:#818cf8}.notification-feed-list{flex:1;overflow-y:auto;max-height:500px;padding:8px}.notification-feed-list::-webkit-scrollbar{width:6px}.notification-feed-list::-webkit-scrollbar-track{background:transparent}.notification-feed-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.notification-feed-list::-webkit-scrollbar-thumb:hover{background:#fff3}.notification-item{display:flex;gap:12px;padding:14px 16px;margin-bottom:8px;border-radius:12px;background:var(--notification-bg, rgba(102, 126, 234, .1));border:1px solid var(--notification-border, rgba(102, 126, 234, .3));cursor:pointer;transition:all .2s ease;position:relative;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.notification-item:hover{background:var(--notification-bg, rgba(102, 126, 234, .15));border-color:var(--notification-color, #667eea);transform:translate(4px)}.notification-item.unread{background:var(--notification-bg, rgba(102, 126, 234, .15));border-left:3px solid var(--notification-color, #667eea)}.notification-item.read{opacity:.7}.notification-item-icon{flex-shrink:0;display:flex;align-items:flex-start;padding-top:2px}.notification-item-content{flex:1;min-width:0}.notification-item-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.notification-item-title{font-size:14px;font-weight:600;color:var(--text, #e6eef8);margin:0;flex:1}.notification-item-dot{width:8px;height:8px;border-radius:50%;background:var(--notification-color, #667eea);flex-shrink:0}.notification-item-message{font-size:13px;color:var(--muted, #94a3b8);margin:0 0 8px;line-height:1.5}.notification-item-footer{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--muted, #94a3b8)}.notification-item-time{font-weight:500}.notification-item-category{background:#ffffff0d;padding:2px 8px;border-radius:4px;font-weight:500}.notification-item-dismiss{flex-shrink:0;background:transparent;border:none;color:var(--muted, #94a3b8);cursor:pointer;padding:4px;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;opacity:0}.notification-item:hover .notification-item-dismiss{opacity:1}.notification-item-dismiss:hover{background:#ef44441a;color:#ef4444}.notification-feed-empty{padding:60px 20px;text-align:center;color:var(--muted, #94a3b8)}.notification-empty-icon{color:var(--muted, #94a3b8);opacity:.5;margin-bottom:16px}.notification-empty-text{font-size:16px;font-weight:600;margin:0 0 8px;color:var(--text, #e6eef8)}.notification-empty-subtext{font-size:13px;margin:0;color:var(--muted, #94a3b8)}.notification-feed-empty-filtered{padding:40px 20px;text-align:center;color:var(--muted, #94a3b8);font-size:14px}@media (max-width: 768px){.notification-feed{max-height:500px}.notification-feed-header{padding:12px 16px}.notification-feed-title{font-size:16px}.notification-feed-filters{padding:10px 16px;flex-wrap:wrap}.notification-filter-btn{font-size:12px;padding:5px 10px}.notification-item{padding:12px}.notification-item-title{font-size:13px}.notification-item-message{font-size:12px}}:root{--bg: #07101a;--panel: #0b1220;--surface: #0f1724;--muted: #94a3b8;--text: #e6eef8;--accent: #f97316;--card-border: rgba(255,255,255,.04)}.dashboard-page{background:var(--bg);color:var(--text)}.title{color:var(--text)}.muted,.time-block{color:var(--muted)}.card{background:linear-gradient(180deg,var(--surface),var(--panel));border:1px solid var(--card-border);border-radius:10px;color:var(--text)}.low-alert{background:linear-gradient(180deg,#ffffff05,#ffffff03);border-left:4px solid var(--accent);color:var(--text)}.accent-warning{color:var(--accent);font-weight:600}.btn{background:#ffffff08;color:var(--text);border:1px solid rgba(255,255,255,.04);padding:6px 10px;border-radius:6px}.btn-ghost{background:transparent;color:var(--text);border:1px dashed rgba(255,255,255,.04)}.time-block .big{font-weight:700}.input,textarea{background:transparent;color:var(--text);border:1px solid var(--card-border)}@media (max-width: 640px){.dashboard-page .container{padding:12px}}.notification-btn{position:relative;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:8px;color:var(--text);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.notification-btn:hover{background:#ffffff0f;border-color:#ffffff1f}.notification-badge{position:absolute;top:-4px;right:-4px;background:#e74c3c;color:#fff;border-radius:50%;width:18px;height:18px;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;min-width:18px}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.notification-panel{background:linear-gradient(180deg,var(--surface),var(--panel));border:1px solid var(--card-border);border-radius:12px;margin-bottom:1.5rem;box-shadow:0 8px 32px #0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.notification-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--card-border)}.notification-header h4{margin:0;color:var(--text);font-size:16px;font-weight:600}.notification-close{background:transparent;border:none;color:var(--muted);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.notification-close:hover{background:#ffffff0d;color:var(--text)}.notification-content{padding:16px 20px}.no-notifications{text-align:center;color:var(--muted);font-style:italic;margin:0;padding:20px 0}.stock-alerts{display:flex;flex-direction:column;gap:12px}.stock-alert-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#ffffff05;border:1px solid rgba(255,255,255,.04);border-radius:8px;transition:all .2s ease}.stock-alert-item:hover{background:#ffffff0a;border-color:#ffffff14}.alert-icon{margin-top:2px}.alert-content{flex:1}.alert-title{font-weight:600;color:var(--text);margin-bottom:4px}.alert-detail{font-size:14px;color:var(--muted)}.stock-low{color:#e74c3c;font-weight:600}[data-theme=light]{--bg: #f8fafc;--panel: #ffffff;--surface: #f1f5f9;--muted: #64748b;--text: #1e293b;--accent: #ea580c;--card-border: rgba(0,0,0,.08)}[data-theme=light] .notification-btn{background:#00000008;border-color:#00000014}[data-theme=light] .notification-btn:hover{background:#0000000f;border-color:#0000001f}[data-theme=light] .notification-close:hover{background:#0000000d}[data-theme=light] .stock-alert-item{background:#00000005;border-color:#0000000a}[data-theme=light] .stock-alert-item:hover{background:#0000000a;border-color:#00000014}.theme-toggle{display:flex;align-items:center;gap:6px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:6px 12px;color:var(--text);cursor:pointer;transition:all .2s ease;font-size:14px}.theme-toggle:hover{background:#ffffff0f;border-color:#ffffff1f}.theme-toggle-text{font-weight:500}[data-theme=light] .theme-toggle{background:#00000008;border-color:#00000014}[data-theme=light] .theme-toggle:hover{background:#0000000f;border-color:#0000001f}.reservations-page{max-width:1400px;margin:0 auto}.reservations-header{margin-bottom:2rem}.reservations-filters{margin-bottom:1.5rem}.reservations-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.reservation-row{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-radius:14px;background:linear-gradient(180deg,#ffffff05,#ffffff03);border:1px solid rgba(255,255,255,.03);box-shadow:0 8px 30px #02061799;transition:all .2s ease}.reservation-row:hover{transform:translateY(-2px);box-shadow:0 12px 40px #020617cc;border-color:#ffffff0f}.reservation-row .row-left{flex:1;min-width:0}.reservation-row .row-title{font-weight:700;color:var(--text);font-size:16px;display:flex;align-items:center;gap:8px;margin-bottom:6px}.reservation-icon{font-size:18px}.reservation-row .row-sub{font-size:13px;color:var(--muted-2);display:flex;align-items:center;flex-wrap:wrap;gap:.25rem}.reservation-row .row-notes{margin-top:.5rem;font-size:.85rem;color:var(--muted);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reservation-row .row-actions{display:flex;gap:8px;align-items:center;flex-shrink:0;margin-left:16px}.reservation-actions{display:flex;gap:8px;align-items:center}.reservation-actions .btn-small{display:flex;align-items:center;justify-content:center;padding:6px;border-radius:8px;font-size:.875rem;height:36px;width:36px;min-width:36px}.reservation-actions .btn-success{background:#22c55e26;border:1px solid rgba(34,197,94,.3);color:#22c55e}.reservation-actions .btn-success:hover{background:#22c55e40}.reservation-actions .btn-danger{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#ef4444}.reservation-actions .btn-danger:hover{background:#ef444440}.reservation-row .admin-actions{display:flex;gap:8px;align-items:center}.reservation-row .action-btn{display:flex;align-items:center;justify-content:center;padding:6px;border-radius:8px;background:transparent;border:1px solid rgba(255,255,255,.04);color:var(--text);cursor:pointer;transition:all .2s ease;font-size:.875rem;height:36px;width:36px;min-width:36px}.reservation-row .action-btn:hover{background:#ffffff05;transform:translateY(-1px)}.reservation-row .action-btn.edit{color:var(--accent);border-color:#2563eb33}.reservation-row .action-btn.edit:hover{background:#2563eb1a}.reservation-row .action-btn.delete{color:var(--danger);border-color:#ef444433}.reservation-row .action-btn.delete:hover{background:#ef44441a}.reservation-row .action-icon{font-size:16px}.reservation-row .action-text{font-size:.875rem}.status-badge-inline{display:inline-block;padding:.2rem .6rem;border-radius:8px;font-size:.75rem;font-weight:600}.reservations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1rem}.reservation-card{transition:transform .2s ease,box-shadow .2s ease}.reservation-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500}@media (max-width: 768px){.reservation-row{flex-direction:column;align-items:flex-start;gap:12px}.reservation-row .row-actions{width:100%;margin-left:0;justify-content:flex-end;flex-wrap:wrap}.reservation-row .row-sub{font-size:12px}.reservations-grid{grid-template-columns:1fr}.reservations-filters{flex-direction:column}.reservations-filters>div{width:100%}}*{margin:0;padding:0;box-sizing:border-box}:root{--color-black: #010000;--color-white: #FFFDFE;--color-pink: #EF11FC;--color-blue: #3614FF;--bg: var(--color-black);--panel: #0a0a0a;--surface: #141414;--text: var(--color-white);--text-secondary: #e5e5e5;--muted: #a3a3a3;--border: rgba(255,255,255,.1);--border-hover: rgba(255,255,255,.15);--primary: var(--color-white);--primary-dark: #e5e5e5;--primary-bg: #1a1a1a;--accent-pink: var(--color-pink);--accent-blue: var(--color-blue);--gradient-primary: linear-gradient(135deg, var(--color-pink) 0%, var(--color-blue) 100%);--gradient-hover: linear-gradient(135deg, #ff2aff 0%, #4d2aff 100%);--success: #22c55e;--warning: #f59e0b;--danger: #ef4444;--shadow: 0 6px 18px rgba(0,0,0,.8);--shadow-lg: 0 20px 40px rgba(0,0,0,.9);--radius: 12px;--radius-lg: 16px;--gap: 24px;--gap-sm: 16px;--gap-xs: 8px;--font-body: "Inter", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--font-header: "Nunito", var(--font-body);--font-logo: "Montserrat", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Courier New", monospace;--fs-xs: 12px;--fs-sm: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 18px;--fs-2xl: 22px;--container: 1100px}[data-theme=light]{--bg: var(--color-white);--panel: #fafafa;--surface: #f5f5f5;--text: var(--color-black);--text-secondary: #1a1a1a;--muted: #737373;--border: rgba(0,0,0,.1);--border-hover: rgba(0,0,0,.15);--primary: var(--color-black);--primary-dark: #1a1a1a;--primary-bg: #f5f5f5;--success: #22c55e;--warning: #f59e0b;--danger: #ef4444;--shadow: 0 6px 18px rgba(0,0,0,.1);--shadow-lg: 0 20px 40px rgba(0,0,0,.15)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: var(--color-black);--panel: #0a0a0a;--surface: #141414;--text: var(--color-white);--text-secondary: #e5e5e5;--muted: #a3a3a3;--border: rgba(255,255,255,.1);--border-hover: rgba(255,255,255,.15);--primary: var(--color-white);--primary-dark: #e5e5e5;--primary-bg: #1a1a1a;--shadow: 0 6px 18px rgba(0,0,0,.8);--shadow-lg: 0 20px 40px rgba(0,0,0,.9)}}body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.6;font-size:var(--fs-md);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}.container-page{padding:var(--gap);background:var(--bg);color:var(--text);min-height:100vh}.max-w-6xl{max-width:var(--container);margin:0 auto}.container{max-width:var(--container);margin:0 auto;padding:0 var(--gap)}.params-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.params-header .title{font-family:var(--font-header);font-size:var(--fs-2xl);font-weight:700;color:var(--text)}.params-header .subtitle{font-size:var(--fs-sm);color:var(--muted)}.title{font-family:var(--font-header);font-size:var(--fs-2xl);font-weight:700;color:var(--text);margin:0}.section-title{font-family:var(--font-header);font-size:var(--fs-lg);font-weight:600;color:var(--text);margin:0}.card{background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border);color:var(--text);transition:all .2s ease}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card-pad{padding:18px}.mt-4{margin-top:var(--gap-sm)}.mb-4{margin-bottom:var(--gap-sm)}.p-4{padding:var(--gap-sm)}.two-col{display:grid;grid-template-columns:1fr;gap:20px;align-items:start}@media (min-width: 1024px){.two-col{grid-template-columns:360px 1fr}}.commerce-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:12px}@media (min-width: 768px){.commerce-grid{grid-template-columns:repeat(2,1fr)}}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:var(--gap-sm)}@media (min-width: 768px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.input{padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);width:100%;font-size:var(--fs-md);transition:all .2s ease}.input:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 3px #3614ff26}.input:hover{border-color:var(--border-hover)}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.form-group label{font-size:var(--fs-md);font-weight:500;color:var(--text)}.form-grid{display:grid;grid-template-columns:1fr;gap:var(--gap-sm)}@media (min-width: 640px){.form-grid{grid-template-columns:repeat(2,1fr)}}.search-row{display:flex;gap:var(--gap-xs);align-items:center;margin-bottom:var(--gap-xs)}.search-row input{flex:1;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.btn{padding:8px 12px;border-radius:10px;border:1px solid transparent;background:var(--primary);color:var(--bg);font-weight:700;cursor:pointer;font-size:var(--fs-md);font-family:var(--font-body);display:inline-flex;align-items:center;gap:var(--gap-xs);transition:all .2s ease;text-decoration:none}.btn:hover{background:var(--primary-dark);transform:translateY(-1px)}.btn-gradient{background:var(--gradient-primary);color:var(--color-white);border:none}.btn-gradient:hover{background:var(--gradient-hover);transform:translateY(-1px);box-shadow:0 4px 12px #3614ff4d}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text);padding:6px 10px;border-radius:8px}.btn-outline:hover{background:var(--surface);border-color:var(--border-hover)}.btn-primary{background:var(--primary);color:var(--bg);border:none}.btn-primary:hover{background:var(--primary-dark)}.btn-small{padding:4px 8px;font-size:var(--fs-xs);border-radius:6px;border:1px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#15803d}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#dc2626}.btn-ghost{background:transparent;border:1px solid transparent;color:var(--text);padding:8px 12px;border-radius:10px;font-weight:700;cursor:pointer;font-size:var(--fs-md);display:inline-flex;align-items:center;gap:var(--gap-xs);transition:all .2s ease}.btn-ghost:hover{background:var(--surface);border-color:var(--border)}.logo-manageo{font-family:var(--font-logo);font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--text)}.table{width:100%;border-collapse:collapse;font-size:var(--fs-md)}.table thead th{text-align:left;font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;padding:10px 8px}.table td{padding:8px;vertical-align:middle}.table-input{margin:0;font-size:var(--fs-sm)}.table-cell-content{padding:4px 0;min-height:20px}.editing-row{background:#06b6d40d}.action-buttons{display:flex;gap:4px;align-items:center}.overflow-x-auto{overflow-x:auto}.team-list{display:flex;flex-direction:column;gap:12px}.member-row{display:flex;align-items:center;gap:12px;padding:10px;border-radius:10px;transition:background .15s,transform .08s;cursor:default}.member-row:hover{background:#ffffff05;transform:translateY(-2px)}[data-theme=light] .member-row:hover{background:#00000005}.avatar{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;background:var(--gradient-primary);box-shadow:0 6px 12px #3614ff33}.member-info{flex:1;min-width:0}.member-name{font-weight:600;font-size:var(--fs-md);color:var(--text)}.member-email{font-size:var(--fs-xs);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot{width:12px;height:12px;border-radius:999px;display:inline-block;margin-right:8px;box-shadow:0 4px 10px #0206170f}.dot.green{background:var(--success);animation:pulseGreen 1.8s infinite}.dot.orange{background:var(--warning)}.dot.red{background:var(--danger)}@keyframes pulseGreen{0%{box-shadow:0 0 #16a34a73}70%{box-shadow:0 0 0 8px #16a34a00}to{box-shadow:0 0 #16a34a00}}.punch-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface)}.punch-item.active{border-color:#22c55e33;background:linear-gradient(90deg,#10b9810f,#fff0)}[data-theme=light] .punch-item{background:var(--panel);border-color:var(--border)}[data-theme=light] .punch-item.active{border-color:#22c55e33;background:linear-gradient(90deg,#10b9810f,#0000)}.mono{font-family:var(--font-mono)}.timer{font-weight:700;color:var(--text)}.text-gray-500{color:var(--muted)}.text-red-600{color:var(--danger)}.text-center{text-align:center}.whitespace-nowrap{white-space:nowrap}.role-badge{font-size:var(--fs-xs);font-weight:600;padding:2px 8px;border-radius:12px;display:inline-flex;align-items:center;gap:4px}.role-badge.admin{background:#f59e0b33;color:var(--warning)}.role-badge.user{background:#94a3b833;color:var(--muted)}[data-theme=light] .role-badge.admin{background:#f59e0b26}[data-theme=light] .role-badge.user{background:#64748b26}.stat-card{background:#ffffff05;border:1px solid var(--border);border-radius:10px;padding:var(--gap-sm);text-align:center}[data-theme=light] .stat-card{background:#00000005;border-color:var(--border)}.stat-value{font-size:24px;font-weight:700;color:var(--primary);margin-bottom:4px}.stat-label{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.success-banner{background:linear-gradient(135deg,#16a34a20,#15803d20);border:1px solid rgba(22,163,74,.2);border-radius:10px;padding:12px 16px;margin-bottom:var(--gap-sm);display:flex;align-items:center;gap:12px;color:var(--success);font-weight:500}.error-message{background:linear-gradient(135deg,#ef444420,#dc262620);border:1px solid rgba(239,68,68,.2);border-radius:10px;padding:12px 16px;color:var(--danger);font-weight:500}.alert{padding:12px 16px;border-radius:var(--radius);margin-bottom:20px;font-size:var(--fs-sm)}.alert-success{background:#16a34a1a;color:var(--success);border:1px solid rgba(22,163,74,.2)}.alert-error{background:#ef44441a;color:var(--danger);border:1px solid rgba(239,68,68,.2)}.alert-warning{background:#f59e0b1a;color:var(--warning);border:1px solid rgba(245,158,11,.2)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border)}.modal-header h3{margin:0;color:var(--text);font-size:18px;font-weight:600}.modal-header button{background:transparent;border:none;color:var(--muted);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal-header button:hover{background:#ffffff0d;color:var(--text)}.modal-body{padding:20px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid var(--border)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px;border-radius:4px}a{color:var(--accent-blue);text-decoration:none;transition:color .2s ease}a:hover{color:var(--accent-pink)}.accent-gradient{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.accent-border{border-color:var(--accent-blue)}.accent-bg{background:var(--gradient-primary);color:var(--color-white)}.hidden-mobile{display:none}@media (min-width: 768px){.hidden-mobile{display:block}.hidden-desktop{display:none}}.transition{transition:all .2s ease-in-out}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media (max-width: 430px){.mobile-header-top{display:block!important;position:fixed!important;top:0!important;left:0!important;right:0!important;background:var(--bg)!important;color:var(--text)!important;padding:12px 16px!important;padding-top:max(12px,calc(12px + env(safe-area-inset-top)))!important;border-bottom:1px solid var(--border)!important;z-index:999!important;text-align:center!important;box-shadow:0 2px 8px #0000001a!important}.mobile-header-top .logo-manageo{font-size:20px!important;font-weight:700!important;letter-spacing:1px!important;color:var(--text)!important;cursor:pointer;transition:opacity .2s ease}.mobile-header-top .logo-manageo:active{opacity:.7}body{padding-top:60px!important}.container-page,.admin-content,.punch-layout,.cleaning-panel,.layout-container{padding-top:76px!important}.navbar-desktop{display:none!important}.navbar-mobile{position:fixed;bottom:0;left:0;right:0;background:var(--panel, #0a0a0a);border-top:1px solid var(--border, rgba(255, 255, 255, .1));display:flex;justify-content:space-around;align-items:center;padding:8px 4px;padding-bottom:max(8px,env(safe-area-inset-bottom));z-index:50;box-shadow:0 -4px 20px #0000004d}.navbar-mobile .nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:transparent;border:none;color:var(--muted, #94a3b8);padding:6px 4px;border-radius:8px;cursor:pointer;transition:all .2s ease;min-width:0;flex:1;font-size:10px;font-weight:500;font-family:var(--font-body, "Inter", sans-serif)}.navbar-mobile .nav-item svg,.navbar-mobile .nav-item img{width:20px;height:20px;flex-shrink:0}.navbar-mobile .nav-item span{font-size:9px;line-height:1.1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.navbar-mobile .nav-item.active{color:var(--accent-blue, #3614FF);background:#3614ff26}.navbar-mobile .nav-item:active{transform:scale(.95);background:#ffffff0d}body{padding-bottom:70px!important}.container-page{padding-bottom:82px!important}#root{padding-bottom:70px}.dashboard-actions-text,.dashboard-actions-grid{display:none!important}.dashboard-mobile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.stat-card-mobile{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;transition:all .2s ease}.stat-card-mobile:active{transform:scale(.98);background:var(--surface)}.stat-icon{font-size:28px;line-height:1}.stat-content{display:flex;flex-direction:column;gap:4px}.stat-value{font-size:24px;font-weight:700;color:var(--primary);line-height:1}.stat-value.warning{color:var(--warning)}.stat-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.dashboard-alerts-section{margin-top:20px!important}.alerts-header-mobile{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.low-alert-mobile{margin-bottom:8px}.no-alerts-mobile{text-align:center;padding:32px 16px;background:var(--panel);border:1px solid var(--border);border-radius:12px}.dashboard-page .header-row{flex-direction:column;align-items:flex-start;gap:12px}.dashboard-page .header-row>div:last-child{width:100%;justify-content:space-between}.dashboard-page .time-block{text-align:left!important;font-size:12px!important}.dashboard-page .title{font-size:20px!important;margin-bottom:8px}.dashboard-page>div[style*="marginTop: 16"][style*="display: 'grid'"]:not(.dashboard-alerts-section){display:none!important}.dashboard-alerts-section{display:grid!important}}@media (min-width: 431px){.navbar-mobile{display:none!important}.navbar-desktop{display:flex!important}body{padding-bottom:0!important}#root{padding-bottom:0}.dashboard-mobile-stats,.alerts-header-mobile,.low-alert-mobile,.no-alerts-mobile{display:none!important}}@media (max-width: 430px){div[style*="background: #0b1220"][style*="padding: 12px 20px"],div[style*="background: #0b1220"][style*="padding: 12px"]{padding:8px 12px!important;flex-wrap:wrap!important;gap:8px!important;min-height:auto!important}div[style*="background: #0b1220"]>div:first-child{flex:1!important;min-width:0!important;gap:8px!important}div[style*="background: #0b1220"] img[alt*=logo],div[style*="background: #0b1220"] img[alt*=Manageo]{width:32px!important;height:32px!important}div[style*="background: #0b1220"]>div:first-child>div>div:first-child{font-size:13px!important}div[style*="background: #0b1220"]>div:first-child>div>div:last-child{font-size:11px!important}div[style*="position: absolute"][style*="left: 50%"],div[style*="position:absolute"][style*="left:50%"]{position:static!important;transform:none!important;left:auto!important;font-size:14px!important;order:-1;width:100%!important;text-align:center!important;margin-bottom:4px!important;padding:4px 0!important}div[style*="background: #0b1220"]>div:last-child{display:flex!important;gap:6px!important;align-items:center!important;flex-wrap:wrap!important}div[style*="background: #0b1220"] button.btn-ghost:first-of-type{padding:4px 8px!important;font-size:18px!important;min-width:36px!important;min-height:36px!important}div[style*="background: #0b1220"] button[aria-label*=compte],div[style*="background: #0b1220"] button[title*=compte]{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important}div[style*="background: #0b1220"] button[aria-label*=compte] img,div[style*="background: #0b1220"] button[title*=compte] img{width:28px!important;height:28px!important}div[style*="background: #0b1220"]>div:last-child>button:last-child{padding:6px 10px!important;font-size:12px!important;white-space:nowrap}div[style*="position: fixed"][style*="inset: 0"][style*="background: rgba(0,0,0,0.45)"]{padding:0!important;justify-content:center!important;align-items:flex-end!important}div[style*="width: 360"][style*="background: #0b1220"],div[style*="width:360"][style*="background:#0b1220"]{width:100%!important;max-width:100%!important;padding:16px!important;height:85vh!important;max-height:85vh!important;border-left:none!important;border-top:1px solid rgba(255,255,255,.1)!important;border-radius:16px 16px 0 0!important}div[style*="width: 360"]>div:first-child{margin-bottom:16px!important}div[style*="width: 360"] h3{font-size:18px!important}div[style*="width: 360"] input{font-size:16px!important;padding:10px!important}div[style*="width: 360"]>div:last-child{flex-direction:column!important;gap:8px!important}div[style*="width: 360"]>div:last-child button{width:100%!important;padding:10px!important}}@media (max-width: 430px){.container-page{padding:12px!important}.container{padding:0 12px!important}.max-w-6xl{padding:0 12px}.params-header{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:12px}.params-header .title{font-size:18px!important}.title{font-size:20px!important}.section-title{font-size:16px!important}}@media (max-width: 430px){.card{border-radius:10px!important}.card-pad{padding:12px!important}.two-col{grid-template-columns:1fr!important;gap:16px}.commerce-grid{grid-template-columns:1fr!important;gap:8px}.stats-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px}}@media (max-width: 430px){.form-group{margin-bottom:12px}.form-grid{grid-template-columns:1fr!important;gap:12px}.input{padding:10px 12px!important;font-size:16px!important}.search-row{flex-direction:column;gap:8px}.search-row input{width:100%}}@media (max-width: 430px){.btn{padding:10px 14px!important;font-size:14px!important;min-height:44px}.btn-small{padding:6px 10px!important;font-size:12px!important;min-height:36px}.btn-outline{padding:8px 12px!important}.action-buttons{flex-wrap:wrap;gap:6px}}@media (max-width: 430px){.table{font-size:13px!important;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.table thead{display:none}.table tbody{display:block}.table tr{display:block;margin-bottom:12px;border:1px solid var(--border);border-radius:8px;padding:12px;background:var(--panel)}.table td{display:block;padding:6px 0;text-align:left!important;border:none}.table td:before{content:attr(data-label) ": ";font-weight:600;color:var(--muted);display:inline-block;min-width:100px}.table-cell-content{display:inline}}@media (max-width: 430px){.modal-overlay{padding:12px;align-items:flex-end}.modal-content{width:100%!important;max-width:100%!important;max-height:90vh;border-radius:16px 16px 0 0!important;margin:0}.modal-header{padding:16px!important}.modal-header h3{font-size:18px!important}.modal-body{padding:16px!important}.modal-actions{flex-direction:column;gap:8px;padding-top:12px}.modal-actions .btn{width:100%}}@media (max-width: 430px){.team-list{gap:8px}.member-row{padding:12px!important;flex-wrap:wrap}.avatar{width:36px!important;height:36px!important}.member-info{flex:1;min-width:0}.member-name{font-size:14px!important}.member-email{font-size:11px!important}}@media (max-width: 430px){.stat-card{padding:12px!important}.stat-value{font-size:20px!important}.stat-label{font-size:11px!important}}@media (max-width: 430px){.punch-item{flex-direction:column;align-items:flex-start;gap:8px;padding:12px!important}}@media (max-width: 430px){.modern-layout{padding-bottom:80px!important}.layout-container{padding:12px 12px 80px!important;gap:16px!important}.page-header{flex-direction:column;align-items:flex-start;gap:12px;padding:16px 0!important;border-bottom:1px solid rgba(255,255,255,.08)}.header-left{width:100%}.page-title{font-size:20px!important;margin-bottom:4px}.page-subtitle{font-size:13px!important}.header-actions{width:100%;flex-direction:column;gap:12px;align-items:stretch}.btn-new-item{width:100%;justify-content:center;padding:12px 16px!important;font-size:14px!important}.header-stats-inline{width:100%;justify-content:space-around;padding:12px;background:#ffffff08;border-radius:8px;border:1px solid rgba(255,255,255,.06)}.stat-item{flex:1}.stat-number{font-size:20px!important}.stat-label{font-size:10px!important}.stat-separator{font-size:14px}.toolbar-section{flex-direction:column;gap:12px;padding:12px!important}.toolbar-left{width:100%;max-width:100%}.search-container{width:100%}.search-input-modern{font-size:16px!important;padding:12px 16px 12px 44px!important}.toolbar-right,.filters-group{width:100%;flex-direction:column;gap:8px}.filter-select{width:100%;min-width:auto;padding:12px 16px!important;font-size:16px!important}.filter-toggle{width:100%;padding:12px 16px!important;font-size:14px!important}.results-info{flex-direction:column;align-items:flex-start;gap:8px;padding:0;margin:0 0 12px}.results-count{font-size:13px}.refresh-link{font-size:13px;padding:6px 12px;display:flex;align-items:center;gap:6px}.stock-list{gap:16px}.stock-row{flex-direction:column;padding:16px!important;gap:16px;border-radius:16px;background:linear-gradient(180deg,#ffffff0a,#ffffff05);border:1px solid rgba(255,255,255,.08)}.row-left{width:100%}.row-title{font-size:18px!important;margin-bottom:8px;display:flex;align-items:center;gap:8px}.category-icon{font-size:20px}.row-sub{font-size:13px;margin-top:4px;margin-bottom:12px}.progress-bar{margin-top:12px;height:10px;border-radius:6px}.progress-info{margin-top:8px;font-size:12px}.progress-percentage{font-size:12px;font-weight:700}.row-actions{width:100%;flex-direction:column;gap:12px;align-items:stretch}.qty-controls{width:100%;flex-direction:column;gap:12px}.qty-group{width:100%;flex-direction:row;justify-content:center;align-items:center;padding:12px!important;gap:8px;background:#ffffff0d;border-radius:12px}.qty-group.secondary{flex-direction:row;justify-content:center;gap:8px;padding:8px!important}.qty-btn{min-width:56px;height:56px;padding:8px;border-radius:12px;font-size:16px}.qty-icon{font-size:24px}.qty-label{font-size:10px}.qty-display{padding:0 20px;min-width:100px}.current-qty{font-size:28px!important;font-weight:800}.qty-unit{font-size:12px}.qty-btn-secondary{min-width:56px;height:48px;padding:8px 12px;font-size:14px;font-weight:700;border-radius:10px}.qty-btn-custom{min-width:56px;height:48px;padding:8px;border-radius:10px}.custom-icon{font-size:20px}.admin-actions{width:100%;flex-direction:row;justify-content:center;align-items:center;border-left:none;border-top:1px solid rgba(255,255,255,.08);padding-left:0;padding-top:12px;margin-left:0;margin-top:0;gap:8px}.action-btn{min-width:40px;width:40px;height:40px;padding:0!important;justify-content:center;align-items:center;border-radius:10px;flex:0 0 auto;transition:all .2s ease}.action-btn:active{transform:scale(.9)}.action-icon{font-size:18px;margin:0;display:block}.action-text{display:none!important}.card{border-radius:16px;overflow:hidden}.modal-card{width:100%!important;max-width:100%!important;max-height:90vh;border-radius:20px 20px 0 0!important;padding:20px 16px!important;margin:0}.qty-modal{padding:20px 16px!important}.preset-buttons{grid-template-columns:repeat(3,1fr)!important;gap:8px}.preset-btn{padding:12px 8px!important;font-size:14px!important;min-height:44px}@supports (padding: max(0px)){.layout-container{padding-left:max(12px,env(safe-area-inset-left))!important;padding-right:max(12px,env(safe-area-inset-right))!important;padding-bottom:max(80px,calc(env(safe-area-inset-bottom) + 80px))!important}}}@media (max-width: 430px){.layout-container{padding:16px 12px 40px!important;gap:20px}.page-header{flex-direction:column;align-items:flex-start;gap:12px}.filters-section{flex-direction:column;gap:8px}.filter-group{width:100%}.recipe-card{padding:12px!important}.recipe-header{flex-direction:column;align-items:flex-start;gap:8px}.recipe-actions{width:100%;justify-content:flex-start}}@media (max-width: 430px){.punch-layout{padding:16px 8px 32px!important;gap:12px}.header-strip{flex-direction:column;align-items:flex-start;gap:12px}.header-stats{width:100%;justify-content:space-around}.timer{font-size:24px!important}.summary{grid-template-columns:repeat(3,1fr)!important;gap:8px!important;margin:16px 0!important}.summary-item{padding:12px 6px!important;min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:center}.summary-label{font-size:9px!important;line-height:1.2!important;margin-bottom:6px!important;text-align:center;word-break:break-word;color:var(--muted)!important}.summary-value{font-size:14px!important;line-height:1.2!important;font-weight:700;text-align:center}}@media (max-width: 430px){.admin-stats-grid{grid-template-columns:1fr!important;gap:12px}.admin-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-actions{flex-direction:column;gap:8px}.create-modal-content{padding:16px!important}.form-row{flex-direction:column;gap:12px}.superadmin-dashboard{position:relative}.admin-sidebar{position:fixed!important;top:0;left:0;width:280px!important;height:100vh;z-index:1000;transform:translate(-100%);transition:transform .3s ease;background:linear-gradient(180deg,#1a1a1a,#111)!important;border-right:1px solid rgba(255,255,255,.1)!important;overflow-y:auto;-webkit-overflow-scrolling:touch}.admin-sidebar.mobile-open{transform:translate(0)!important}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;z-index:999;display:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sidebar-overlay.active{display:block}.mobile-menu-toggle{position:fixed;top:72px!important;left:12px;z-index:1001;width:44px;height:44px;background:#1a1a1af2;border:1px solid rgba(255,255,255,.1);border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;box-shadow:0 4px 12px #0000004d;transition:all .2s ease}.mobile-menu-toggle:active{transform:scale(.95);background:#1a1a1a}.admin-main{margin-left:0!important;padding-top:120px!important}.admin-header{position:fixed!important;top:60px!important;left:0;right:0;padding:8px 16px 8px 60px!important;z-index:998;background:#111!important;border-bottom:1px solid rgba(255,255,255,.1)!important;display:flex;flex-direction:column;gap:4px}.header-title{font-size:16px!important;font-weight:600;color:#fff!important}.header-actions{display:flex;gap:8px}.btn-refresh{padding:8px 12px!important;font-size:12px!important;min-height:36px}.admin-content{padding:20px 16px!important;margin-top:120px}.data-section{padding:0;gap:24px;display:flex;flex-direction:column}.data-section,.modern-table{-webkit-overflow-scrolling:touch}.stats-grid{grid-template-columns:1fr!important;gap:12px!important}.stat-card{padding:16px!important;flex-direction:row;align-items:center;gap:12px}.stat-icon{width:40px!important;height:40px!important;flex-shrink:0}.stat-number{font-size:24px!important}.stat-label{font-size:12px!important}.quick-actions{padding:16px!important}.quick-actions h3{font-size:16px!important;margin-bottom:12px!important}.action-cards{grid-template-columns:1fr!important;gap:10px}.action-card{padding:16px!important;font-size:14px}.recent-activity{padding:16px!important}.recent-activity h3{font-size:16px!important;margin-bottom:12px!important}.activity-item{padding:10px!important}.simple-search-container{flex-direction:column;gap:12px;margin-bottom:20px;padding:0}.simple-search-bar{max-width:100%!important;width:100%;position:relative}.simple-search-bar input{padding:14px 16px 14px 48px!important;font-size:16px!important;border-radius:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);width:100%;color:#fff}.simple-search-bar input:focus{background:#ffffff14;border-color:#3b82f680;outline:none}.simple-search-bar .search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.simple-search-container .btn-primary{width:100%;justify-content:center;padding:14px 16px!important;font-size:15px!important;font-weight:600;border-radius:12px;min-height:48px;box-shadow:0 4px 12px #3b82f64d}.simple-search-container .btn-primary:active{transform:scale(.98)}.section-header{flex-direction:column;gap:16px;padding:0 0 20px!important;margin-bottom:20px;border-bottom:1px solid rgba(255,255,255,.1)}.search-bar{min-width:100%!important;width:100%;position:relative}.search-bar input{padding:14px 16px 14px 48px!important;font-size:16px!important;border-radius:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);width:100%;color:#fff}.search-bar input:focus{background:#ffffff14;border-color:#3b82f680;outline:none}.search-bar .search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.header-actions{width:100%}.header-actions .btn-primary{width:100%;justify-content:center;padding:14px 16px!important;font-size:15px!important;font-weight:600;border-radius:12px;min-height:48px;box-shadow:0 4px 12px #3b82f64d}.header-actions .btn-primary:active{transform:scale(.98)}.entreprises-grid{grid-template-columns:1fr!important;gap:16px}.entreprise-card{border-radius:12px}.entreprise-image{height:160px!important}.entreprise-content{padding:16px!important}.entreprise-name{font-size:16px!important}.entreprise-city{font-size:13px!important}.entreprise-stats{font-size:11px!important;gap:12px}.entreprise-actions{padding:12px 16px!important;flex-wrap:wrap;gap:6px;justify-content:center}.action-btn{width:36px!important;height:36px!important;min-width:36px;min-height:36px}.modern-table{border-radius:0;overflow:visible;background:transparent}.modern-table table{display:block;min-width:auto!important;background:transparent}.modern-table thead{display:none}.modern-table tbody{display:flex;flex-direction:column;gap:20px;padding:0;margin:0}.modern-table tr{display:flex;flex-direction:column;background:linear-gradient(135deg,#ffffff0d,#ffffff05);border:1px solid rgba(255,255,255,.1);border-radius:16px;margin-bottom:0;padding:24px 20px;transition:all .3s ease;box-shadow:0 4px 16px #0003;position:relative;overflow:hidden;width:100%}.modern-table tr:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3b82f6,#1d4ed8,#3b82f6);background-size:200% 100%;animation:shimmer 3s infinite linear}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.modern-table tr:active{transform:scale(.98);box-shadow:0 2px 8px #0000004d}.modern-table td{display:flex;flex-direction:column;padding:0!important;border:none!important;text-align:left!important;width:100%;gap:8px}.modern-table td:not(:first-child){margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.modern-table td:before{content:attr(data-label);font-weight:700;color:#9ca3af;font-size:11px;text-transform:uppercase;letter-spacing:.8px;margin-bottom:4px;display:block}.user-cell{flex-direction:column;align-items:center;gap:16px;padding:0;text-align:center}.user-avatar{width:80px!important;height:80px!important;border-radius:50%!important;box-shadow:0 8px 24px #3b82f666!important;border:3px solid rgba(255,255,255,.1)}.user-info{width:100%;text-align:center}.user-info h4{font-size:18px!important;font-weight:700!important;color:#fff!important;margin:0 0 6px!important;line-height:1.3}.user-info p{font-size:14px!important;color:#9ca3af!important;margin:0!important;word-break:break-word}.role-badge{padding:10px 18px!important;font-size:13px!important;border-radius:24px!important;width:fit-content;margin:0 auto;display:inline-flex;align-items:center;gap:8px}.status-badge{padding:8px 16px!important;font-size:12px!important;border-radius:20px!important;width:fit-content;margin:0 auto;display:inline-flex;align-items:center;gap:6px}.modern-table td[data-label=Entreprise]{font-size:15px;color:#d1d5db;font-weight:500;text-align:center;padding:8px 0}.modern-table td:first-child:before{display:none}.modern-table td[data-label=Rôle],.modern-table td[data-label=Statut]{align-items:center}.table-actions{flex-direction:row;justify-content:center;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.table-actions .btn-icon{width:48px!important;height:48px!important;min-width:48px;min-height:48px;border-radius:12px!important;flex-shrink:0;box-shadow:0 4px 12px #0000004d}.table-actions .btn-icon:active{transform:scale(.9)}.table-actions .btn-icon svg{width:20px!important;height:20px!important}.menu-cell{flex-direction:column;align-items:flex-start;gap:12px}.role-badge{padding:6px 12px!important;font-size:11px!important}.status-badge{padding:4px 10px!important;font-size:10px!important}.table-actions{flex-direction:row;flex-wrap:wrap;gap:8px;justify-content:flex-start;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.table-actions .btn-icon{width:40px!important;height:40px!important;min-width:40px;min-height:40px}.empty-state{padding:48px 24px!important;text-align:center;background:#ffffff05;border:1px dashed rgba(255,255,255,.1);border-radius:16px;margin:20px 0}.empty-state h3{font-size:20px!important;font-weight:700;color:#fff;margin-bottom:12px}.empty-state p{font-size:14px!important;color:#9ca3af;line-height:1.6}.superadmin-dashboard .modal-overlay{padding:0;align-items:flex-end}.superadmin-dashboard .modal-content{width:100%!important;max-width:100%!important;max-height:90vh;border-radius:20px 20px 0 0!important;padding:20px 16px!important;margin:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.superadmin-dashboard .modal-header{padding:16px 0!important;margin-bottom:16px!important}.superadmin-dashboard .modal-title{font-size:18px!important}.modal-form{gap:16px}.modal-form-grid{grid-template-columns:1fr!important;gap:16px}.modal-form label{font-size:13px!important}.modal-form input,.modal-form select,.modal-form textarea{padding:12px 14px!important;font-size:16px!important}.modal-actions{flex-direction:column;gap:10px;margin-top:16px!important;padding-top:16px!important}.modal-btn{width:100%;padding:12px 16px!important;font-size:15px!important;min-height:44px}.data-section{gap:16px}.overview-section{gap:20px}.activity-list{gap:10px}@supports (padding: max(0px)){.admin-sidebar{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right));padding-top:max(0px,env(safe-area-inset-top));padding-bottom:max(0px,env(safe-area-inset-bottom))}.mobile-menu-toggle{top:max(12px,calc(12px + env(safe-area-inset-top)));left:max(12px,calc(12px + env(safe-area-inset-left)))}.admin-header{padding-top:max(12px,calc(12px + env(safe-area-inset-top)))!important}.admin-content{padding-left:max(12px,env(safe-area-inset-left))!important;padding-right:max(12px,env(safe-area-inset-right))!important;padding-bottom:max(16px,calc(16px + env(safe-area-inset-bottom)))!important}}}@media (max-width: 430px){.cleaning-panel{padding:12px!important}.cleaning-grid{grid-template-columns:1fr!important;gap:12px}.cleaning-card{padding:12px!important}}@media (max-width: 430px){.planning-container{padding:12px!important}.calendar-grid{grid-template-columns:1fr!important}.planning-header{flex-direction:column;gap:12px}}@media (max-width: 430px){.hidden-mobile{display:none!important}.mobile-only{display:block!important}.text-mobile-small{font-size:12px!important}.mt-4{margin-top:12px!important}.mb-4{margin-bottom:12px!important}.p-4{padding:12px!important}.gap{gap:8px!important}}@media (max-width: 768px) and (min-width: 431px){.container-page{padding:16px!important}.two-col{grid-template-columns:1fr!important}.stats-grid{grid-template-columns:repeat(2,1fr)!important}.form-grid,.commerce-grid{grid-template-columns:1fr!important}}@media (max-width: 430px){button,.btn,a[role=button]{min-height:44px;min-width:44px}input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],textarea,select{font-size:16px!important}*{-webkit-overflow-scrolling:touch}button,a{touch-action:manipulation}}@media (max-width: 932px) and (orientation: landscape){.modal-content{max-height:85vh}div[style*="background: #0b1220"]{padding:6px 12px!important}}@media (max-width: 430px){input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=number]:focus,input[type=tel]:focus,textarea:focus,select:focus{font-size:16px!important}*{-webkit-overflow-scrolling:touch}@supports (padding: max(0px)){.container-page{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));padding-bottom:max(12px,env(safe-area-inset-bottom))}div[style*="background: #0b1220"]{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}}body{-webkit-text-size-adjust:100%;text-size-adjust:100%}*{will-change:auto}.card,.btn,.input{-webkit-tap-highlight-color:rgba(0,0,0,.1)}}@media (max-width: 430px) and (min-height: 932px){.container-page{padding:20px 16px 96px!important}.container{padding:0 16px!important}.navbar-mobile{padding:12px 8px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.navbar-mobile .nav-item{padding:8px 6px;gap:4px;font-size:11px}.navbar-mobile .nav-item svg,.navbar-mobile .nav-item img{width:24px;height:24px}.navbar-mobile .nav-item span{font-size:10px}body{padding-bottom:80px!important}#root{padding-bottom:80px}.title{font-size:24px!important;margin-bottom:16px}.section-title{font-size:18px!important}.params-header .title{font-size:20px!important}.card{border-radius:12px!important}.card-pad,.stat-card{padding:16px!important}.stat-value{font-size:28px!important}.stat-label{font-size:12px!important}.dashboard-mobile-stats{gap:16px;margin:24px 0}.stat-card-mobile{padding:20px 16px;border-radius:14px}.stat-icon{font-size:32px}.stat-value{font-size:28px}.stat-label{font-size:12px}.btn{padding:12px 18px!important;font-size:15px!important;min-height:48px;border-radius:10px}.btn-small{padding:8px 14px!important;font-size:13px!important;min-height:40px}.form-group{margin-bottom:16px}.form-grid{gap:16px}.input{padding:12px 16px!important;font-size:16px!important;border-radius:10px}.table{font-size:14px!important}.table tr{padding:16px;margin-bottom:16px;border-radius:10px}.table td{padding:8px 0}.modal-content{border-radius:20px 20px 0 0!important}.modal-header{padding:20px!important}.modal-header h3{font-size:20px!important}.modal-body{padding:20px!important}.modal-actions{gap:12px;padding-top:16px}.punch-layout{padding:20px 12px 40px!important;gap:16px}.header-strip{gap:16px}.timer{font-size:32px!important}.actions-header{gap:16px}.search-bar,.filters-content{gap:12px}.qty-group{padding:16px!important}.preset-buttons{gap:12px}.layout-container{padding:20px 16px 50px!important;gap:24px}.page-header{gap:16px}.recipe-card{padding:16px!important}.recipe-header{gap:12px}.cleaning-panel{padding:16px!important}.cleaning-grid{gap:16px}.cleaning-card,.planning-container{padding:16px!important}.planning-header,.admin-stats-grid{gap:16px}.create-modal-content{padding:20px!important}.form-row{gap:16px}.team-list{gap:12px}.member-row{padding:16px!important}.avatar{width:40px!important;height:40px!important}.member-name{font-size:15px!important}.member-email{font-size:12px!important}.mt-4{margin-top:16px!important}.mb-4{margin-bottom:16px!important}.p-4{padding:16px!important}.gap{gap:12px!important}.dashboard-page .title{font-size:24px!important;margin-bottom:12px}.dashboard-page .header-row{gap:16px}.dashboard-alerts-section{margin-top:24px!important}.alerts-header-mobile{margin-bottom:16px;padding-bottom:12px}button,.btn,a[role=button]{min-height:48px;min-width:48px}@supports (padding: max(0px)){.container-page{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:max(96px,calc(env(safe-area-inset-bottom) + 80px))}.navbar-mobile{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right));padding-bottom:max(12px,env(safe-area-inset-bottom))}}}
