@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";:root{--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", monospace;--bg-main:#0b0f19;--bg-card:#121826d9;--bg-card-hover:#1a2235f2;--bg-subtle:#141c2e;--bg-input:#0f172a99;--border-subtle:#ffffff14;--border:#ffffff14;--border-focus:#3b82f6;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--text-main:#f8fafc;--primary:#3b82f6;--primary-hover:#2563eb;--primary-light:#3b82f626;--primary-subtle:#3b82f626;--emerald:#10b981;--emerald-light:#10b98126;--rose:#f43f5e;--rose-light:#f43f5e26;--amber:#f59e0b;--amber-light:#f59e0b26;--cyan:#06b6d4;--cyan-light:#06b6d426;--indigo:#6366f1;--indigo-light:#6366f126;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 8px 24px #0006;--shadow-lg:0 16px 36px #00000080;--shadow-glow:0 0 20px #3b82f640;--shadow-emerald-glow:0 0 20px #10b98140}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);background-color:var(--bg-main);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(circle at 15% 15%,#3b82f614 0%,#0000 40%),radial-gradient(circle at 85% 85%,#10b9810f 0%,#0000 40%);background-attachment:fixed;min-height:100vh;line-height:1.5;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#27354f}::-webkit-scrollbar-thumb:hover{background:#3b4d70}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(14px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:transform .2s,border-color .2s,box-shadow .2s}.glass-card:hover{border-color:#ffffff26}.glass-card-interactive{cursor:pointer}.glass-card-interactive:hover{box-shadow:var(--shadow-lg), var(--shadow-glow);border-color:#3b82f666;transform:translateY(-2px)}.badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;align-items:center;gap:5px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-low,.badge-normal,.badge-adequate,.badge-available,.badge-scheduled,.badge-active,.badge-completed,.badge-success{background:var(--emerald-light);color:#34d399;border:1px solid #34d3994d}.badge-moderate,.badge-medium,.badge-low_stock,.badge-mild-attention,.badge-in_progress,.badge-warning{background:var(--amber-light);color:#fbbf24;border:1px solid #fbbf244d}.badge-high,.badge-critical,.badge-very-high,.badge-major,.badge-occupied,.badge-severe,.badge-out_of_stock,.badge-cancelled,.badge-error{background:var(--rose-light);color:#fb7185;border:1px solid #fb71854d}.badge-info,.badge-cyan{background:var(--cyan-light);color:#38bdf8;border:1px solid #38bdf84d}.badge-indigo{background:var(--indigo-light);color:#a5b4fc;border:1px solid #a5b4fc4d}.alert{border-radius:var(--radius-md);align-items:center;gap:12px;margin-bottom:20px;padding:14px 18px;font-size:.9rem;font-weight:500;display:flex}.alert-success{color:#34d399;background:#10b9811f;border:1px solid #10b9814d}.alert-error{color:#fb7185;background:#f43f5e1f;border:1px solid #f43f5e4d}.alert-warning{color:#fbbf24;background:#f59e0b1f;border:1px solid #f59e0b4d}.alert-info{color:#60a5fa;background:#3b82f61f;border:1px solid #3b82f64d}.btn-primary{color:#fff;border-radius:var(--radius-md);cursor:pointer;touch-action:manipulation;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border:none;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 20px;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 4px 14px #2563eb59}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#60a5fa 0%,#3b82f6 100%);transform:translateY(-1px);box-shadow:0 6px 20px #2563eb80}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;touch-action:manipulation;background:#ffffff0f;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 18px;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.btn-secondary:hover:not(:disabled){background:#ffffff1f;border-color:#fff3;transform:translateY(-1px)}.btn-secondary:active:not(:disabled){transform:translateY(0)}.btn-danger{color:#fb7185;border-radius:var(--radius-md);cursor:pointer;background:#f43f5e26;border:1px solid #f43f5e4d;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 18px;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-danger:hover:not(:disabled){background:#f43f5e40;border-color:#f43f5e80}.input-field{background:var(--bg-input);border:1px solid var(--border-subtle);width:100%;color:var(--text-primary);border-radius:var(--radius-md);outline:none;min-height:44px;padding:11px 14px;font-size:.92rem;transition:border-color .2s,box-shadow .2s}.input-field:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #3b82f640}.input-field::placeholder{color:var(--text-muted)}.table-container{-webkit-overflow-scrolling:touch;border-radius:var(--radius-md);width:100%;overflow-x:auto}.custom-table{border-collapse:collapse;text-align:left;width:100%;min-width:600px;font-size:.9rem}.custom-table th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-subtle);background:#ffffff08;padding:12px 16px;font-size:.75rem;font-weight:600}.custom-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);padding:14px 16px}.custom-table tr:hover td{background:#ffffff05}.grid-responsive-2-1{grid-template-columns:2fr 1fr;gap:20px;display:grid}.grid-responsive-1-2{grid-template-columns:1fr 2fr;gap:20px;display:grid}.grid-responsive-2{grid-template-columns:1fr 1fr;gap:20px;display:grid}.grid-responsive-3{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.grid-responsive-4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.grid-form-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.grid-form-3{grid-template-columns:1fr 1fr 1fr;gap:16px;display:grid}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.animate-fade{animation:.25s cubic-bezier(.16,1,.3,1) forwards fadeIn}.animate-slide-up{animation:.3s cubic-bezier(.16,1,.3,1) forwards slideUp}.animate-scale-in{animation:.25s cubic-bezier(.16,1,.3,1) forwards scaleIn}@keyframes pulseGlow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.95)}}.pulse-indicator{animation:2s ease-in-out infinite pulseGlow}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-shimmer{background:linear-gradient(90deg,#ffffff08 25%,#ffffff14 37%,#ffffff08 63%) 0 0/400% 100%!important;animation:1.6s ease-in-out infinite shimmer!important}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}@media (width<=1024px){.grid-responsive-2-1,.grid-responsive-1-2{grid-template-columns:1fr}}@media (width<=768px){.mobile-bottom-nav{display:flex!important}aside{display:none!important}main{padding:16px 16px 84px!important}.grid-responsive-2,.grid-responsive-3,.grid-form-2,.grid-form-3{grid-template-columns:1fr!important}.pwa-install-banner{max-width:none!important;bottom:74px!important;left:12px!important;right:12px!important}}@media (width<=480px){h1{font-size:1.45rem!important}.glass-card{padding:16px!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.pulse-indicator,.skeleton-shimmer{animation:none!important}}
