:root{--primary: #4f46e5;--primary-hover: #4338ca;--primary-light: #eef2ff;--primary-border: #c7d2fe;--primary-glow: rgba(79, 70, 229, .35);--accent-sky: #0ea5e9;--accent-sky-light: #e0f2fe;--navy-950: #090d16;--navy-900: #0f172a;--navy-800: #1e293b;--navy-700: #334155;--navy-600: #475569;--slate-50: #f8fafc;--slate-100: #f1f5f9;--slate-200: #e2e8f0;--slate-300: #cbd5e1;--slate-400: #94a3b8;--slate-500: #64748b;--success: #10b981;--success-hover: #059669;--success-bg: #ecfdf5;--success-border: #a7f3d0;--success-glow: rgba(16, 185, 129, .3);--warning: #f59e0b;--warning-hover: #d97706;--warning-bg: #fffbeb;--warning-border: #fde68a;--warning-glow: rgba(245, 158, 11, .3);--danger: #f43f5e;--danger-hover: #e11d48;--danger-bg: #fff1f2;--danger-border: #fecdd3;--danger-glow: rgba(244, 63, 94, .3);--purple: #8b5cf6;--purple-hover: #7c3aed;--purple-bg: #f5f3ff;--purple-border: #ddd6fe;--purple-glow: rgba(139, 92, 246, .3);--info: #06b6d4;--info-bg: #ecfeff;--info-border: #a5f3fc;--font-heading: "Outfit", "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-body: "Plus Jakarta Sans", "Inter", system-ui, -apple-system, sans-serif;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);--shadow-sm: 0 2px 4px rgba(15, 23, 42, .04), 0 1px 2px rgba(15, 23, 42, .02);--shadow-md: 0 6px 16px -2px rgba(99, 102, 241, .07), 0 2px 6px -1px rgba(15, 23, 42, .03);--shadow-lg: 0 14px 30px -4px rgba(99, 102, 241, .1), 0 6px 12px -3px rgba(15, 23, 42, .04);--shadow-xl: 0 24px 50px -8px rgba(99, 102, 241, .14), 0 8px 16px -4px rgba(15, 23, 42, .05);--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 22px;--radius-full: 9999px;--transition: all .22s cubic-bezier(.4, 0, .2, 1);--transition-bounce: all .3s cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:#f8fafc;background-image:radial-gradient(at 0% 0%,rgba(224,231,255,.5) 0px,transparent 50%),radial-gradient(at 100% 0%,rgba(254,240,138,.28) 0px,transparent 40%),radial-gradient(at 50% 100%,rgba(243,232,255,.35) 0px,transparent 50%);background-attachment:fixed;color:var(--navy-800);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--navy-900);font-weight:700;letter-spacing:-.02em;line-height:1.25}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;vertical-align:middle;line-height:1;display:inline-flex;align-items:center;justify-content:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;font-family:var(--font-heading);border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:var(--transition);text-decoration:none;white-space:nowrap;letter-spacing:-.01em;-webkit-user-select:none;user-select:none}.btn:disabled{opacity:.55;cursor:not-allowed!important;transform:none!important;box-shadow:none!important}.btn-primary{background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff!important;box-shadow:0 4px 14px #4f46e559;border:1px solid rgba(255,255,255,.2)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#4338ca,#4f46e5);box-shadow:0 6px 20px #4f46e573;transform:translateY(-2px)}.btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff!important;box-shadow:0 4px 14px #10b9814d;border:1px solid rgba(255,255,255,.2)}.btn-success:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);box-shadow:0 6px 20px #10b98166;transform:translateY(-2px)}.btn-danger{background:linear-gradient(135deg,#f43f5e,#e11d48);color:#fff!important;box-shadow:0 4px 14px #f43f5e4d;border:1px solid rgba(255,255,255,.2)}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#e11d48,#be123c);box-shadow:0 6px 20px #f43f5e66;transform:translateY(-2px)}.btn-secondary{background-color:#fff;color:var(--navy-700);border:1.5px solid var(--slate-200);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background-color:var(--slate-50);border-color:var(--slate-300);color:var(--navy-900);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-outline-primary{background-color:transparent;color:var(--primary);border:1.5px solid var(--primary-border)}.btn-outline-primary:hover:not(:disabled){background-color:var(--primary-light);border-color:var(--primary);transform:translateY(-1px)}.btn-sm{padding:.38rem .75rem;font-size:.8rem;border-radius:var(--radius-sm)}.btn-lg{padding:.875rem 1.75rem;font-size:1rem;border-radius:var(--radius-md)}.card{background:#fff;border-radius:var(--radius-lg);border:1px solid rgba(226,232,240,.85);box-shadow:var(--shadow-sm);padding:1.5rem;transition:var(--transition)}.card-hover:hover{box-shadow:var(--shadow-md);border-color:var(--slate-300);transform:translateY(-3px)}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.75rem;font-weight:700;border-radius:var(--radius-full);letter-spacing:.02em;white-space:nowrap}.badge-available{background-color:var(--success-bg);color:#065f46;border:1px solid var(--success-border)}.badge-occupied{background-color:var(--danger-bg);color:#9f1239;border:1px solid var(--danger-border)}.badge-cleaning{background-color:var(--warning-bg);color:#92400e;border:1px solid var(--warning-border)}.badge-maintenance{background-color:var(--slate-100);color:var(--navy-700);border:1px solid var(--slate-300)}.badge-checked-in{background-color:#eef2ff;color:#3730a3;border:1px solid #c7d2fe}.badge-checked-out{background-color:#f1f5f9;color:#475569;border:1px solid #cbd5e1}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.8125rem;font-weight:700;font-family:var(--font-heading);color:var(--navy-700);margin-bottom:.4rem;letter-spacing:-.01em}.form-control,.form-select{width:100%;padding:.7rem .95rem;font-size:.875rem;font-family:inherit;color:var(--navy-900);background-color:#fff;border:1.5px solid var(--slate-200);border-radius:var(--radius-md);transition:var(--transition);outline:none}.form-control:focus,.form-select:focus{border-color:var(--primary);background-color:#fff;box-shadow:0 0 0 4px #4f46e51f}.form-control::placeholder{color:var(--slate-400)}.form-hint{font-size:.75rem;color:var(--slate-500);margin-top:.35rem}.table-responsive{width:100%;overflow-x:auto;border-radius:var(--radius-lg);border:1.5px solid var(--slate-200);background:#fff;box-shadow:var(--shadow-xs)}.custom-table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}.custom-table th{background-color:#f8fafc;color:var(--navy-700);font-weight:700;padding:.95rem 1.15rem;border-bottom:1.5px solid var(--slate-200);font-family:var(--font-heading);letter-spacing:.02em;font-size:.8rem;text-transform:uppercase}.custom-table td{padding:.95rem 1.15rem;border-bottom:1px solid var(--slate-100);color:var(--navy-800);vertical-align:middle;transition:background-color .15s ease}.custom-table tr:last-child td{border-bottom:none}.custom-table tbody tr:hover td{background-color:#f8fafc}.toast-container{position:fixed;top:1.5rem;right:1.5rem;z-index:9999;display:flex;flex-direction:column;gap:.75rem;pointer-events:none}.toast{pointer-events:auto;min-width:320px;max-width:460px;padding:1rem 1.25rem;border-radius:var(--radius-md);box-shadow:0 16px 36px -4px #0f172a29,0 0 0 1px #e2e8f0cc;font-size:.875rem;font-weight:600;display:flex;align-items:center;gap:.75rem;animation:slideIn .3s cubic-bezier(.34,1.56,.64,1);background:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@keyframes slideIn{0%{opacity:0;transform:translate(60px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}.toast-success{border-left:5px solid var(--success);color:#065f46}.toast-error{border-left:5px solid var(--danger);color:#9f1239}.toast-info{border-left:5px solid var(--primary);color:#3730a3}.modal-overlay{position:fixed;inset:0;background-color:#0f172a73;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:1000;animation:fadeIn .22s ease-out}.modal-content{background:#fff;border-radius:var(--radius-xl);box-shadow:0 25px 60px -15px #0f172a40,0 0 0 1px #ffffffe6;width:100%;max-width:750px;max-height:90vh;overflow-y:auto;position:relative;display:flex;flex-direction:column;animation:modalScaleUp .24s cubic-bezier(.34,1.56,.64,1)}@keyframes modalScaleUp{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.modal-header{padding:1.35rem 1.75rem;border-bottom:1.5px solid var(--slate-100);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10}.modal-body{padding:1.75rem;overflow-y:auto}.modal-footer{padding:1.25rem 1.75rem;border-top:1.5px solid var(--slate-100);display:flex;align-items:center;justify-content:flex-end;gap:.75rem;background:var(--slate-50)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pulse-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.pulse-dot-green{background-color:#10b981;box-shadow:0 0 #10b98166;animation:pulseGreen 2s infinite cubic-bezier(.4,0,.6,1)}@keyframes pulseGreen{0%{box-shadow:0 0 #10b981b3}70%{box-shadow:0 0 0 7px #10b98100}to{box-shadow:0 0 #10b98100}}.pulse-dot-blue{background-color:#4f46e5;box-shadow:0 0 #4f46e566;animation:pulseBlue 2s infinite cubic-bezier(.4,0,.6,1)}@keyframes pulseBlue{0%{box-shadow:0 0 #4f46e5b3}70%{box-shadow:0 0 0 7px #4f46e500}to{box-shadow:0 0 #4f46e500}}.pulse-dot-amber{background-color:#f59e0b;box-shadow:0 0 #f59e0b66;animation:pulseAmber 2s infinite cubic-bezier(.4,0,.6,1)}@keyframes pulseAmber{0%{box-shadow:0 0 #f59e0bb3}70%{box-shadow:0 0 0 7px #f59e0b00}to{box-shadow:0 0 #f59e0b00}}.pulse-dot-purple{background-color:#8b5cf6;box-shadow:0 0 #8b5cf666;animation:pulsePurple 2s infinite cubic-bezier(.4,0,.6,1)}@keyframes pulsePurple{0%{box-shadow:0 0 #8b5cf6b3}70%{box-shadow:0 0 0 7px #8b5cf600}to{box-shadow:0 0 #8b5cf600}}.pulse-dot-slate{background-color:#94a3b8;box-shadow:0 0 #94a3b84d}@keyframes auroraShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes floatSlow{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes shimmerSweep{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes cardPopIn{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes laserScan{0%{top:2%;opacity:.95}50%{top:94%;opacity:1}to{top:2%;opacity:.95}}@keyframes spinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulseRadar{0%{transform:scale(.95);box-shadow:0 0 #4f46e5b3}70%{transform:scale(1);box-shadow:0 0 0 10px #4f46e500}to{transform:scale(.95);box-shadow:0 0 #4f46e500}}.animate-fade-up{animation:fadeInUp .38s cubic-bezier(.16,1,.3,1) both}.floating-badge{animation:floatSlow 4s ease-in-out infinite}.btn:active{transform:scale(.97)!important}.interactive-card{transition:all .24s cubic-bezier(.34,1.56,.64,1)}.interactive-card:hover{transform:translateY(-4px) scale(1.006);box-shadow:0 16px 36px -6px #6366f11f,0 0 0 1px #6366f126}kbd{display:inline-flex;align-items:center;justify-content:center;font-family:inherit;font-size:.68rem;font-weight:700;line-height:1;padding:3px 6px;background:#f1f5f9;color:#475569;border:1px solid #cbd5e1;border-radius:5px;box-shadow:0 1px 1px #0f172a14}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media print{body *{visibility:hidden}.printable-area,.printable-area *{visibility:visible}.printable-area{position:absolute;left:0;top:0;width:100%;margin:0;padding:20px;background:#fff}.no-print{display:none!important}}
