@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap";:root{--primary:#0f766e;--primary-hover:#0d655e;--primary-light:#f0fdfa;--primary-border:#ccfbf1;--secondary:#14b8a6;--secondary-hover:#0d9488;--accent:#f59e0b;--accent-light:#fef3c7;--success:#22c55e;--success-light:#dcfce7;--success-text:#15803d;--error:#ef4444;--error-light:#fee2e2;--error-text:#b91c1c;--warning:#f59e0b;--warning-light:#fef3c7;--warning-text:#b45309;--bg-app:#f8fafc;--bg-surface:#fff;--bg-subtle:#f1f5f9;--bg-hover:#f8fafc;--text-main:#0f172a;--text-muted:#64748b;--text-light:#94a3b8;--border-color:#e2e8f0;--border-focus:#0f766e;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0f172a0f, 0 2px 4px -2px #0f172a0a;--shadow-lg:0 10px 15px -3px #0f172a14, 0 4px 6px -4px #0f172a0a;--shadow-xl:0 20px 25px -5px #0f172a1f, 0 8px 10px -6px #0f172a0f;--font-body:"Inter", system-ui, -apple-system, sans-serif;--font-heading:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--sidebar-width:260px;--bottom-nav-height:68px;--top-bar-height:64px}html.dark{--bg-app:#0b132b;--bg-surface:#1c2541;--bg-subtle:#1c2541;--bg-hover:#253259;--text-main:#f8fafc;--text-muted:#94a3b8;--text-light:#64748b;--border-color:#2e3b64;--primary-light:#0f766e33;--primary-border:#0f766e;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006;--shadow-lg:0 10px 15px -3px #00000080}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--bg-app);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-main);letter-spacing:-.02em;font-weight:700}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:99px}html.dark ::-webkit-scrollbar-thumb{background:#475569}.animate-fade-in{animation:.3s cubic-bezier(.16,1,.3,1) forwards fadeIn}.animate-slide-up{animation:.35s cubic-bezier(.16,1,.3,1) forwards slideUp}.animate-pulse-subtle{animation:2s ease-in-out infinite pulseSubtle}@keyframes fadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseSubtle{0%,to{opacity:1}50%{opacity:.6}}.card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.25rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.card:hover{box-shadow:var(--shadow-md)}.card-interactive{cursor:pointer}.card-interactive:hover{border-color:var(--secondary);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn{font-family:var(--font-heading);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;outline:none;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .15s ease-in-out;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:var(--primary-hover);box-shadow:0 4px 12px #0f766e40}.btn-secondary{background-color:var(--bg-surface);color:var(--text-main);border-color:var(--border-color)}.btn-secondary:hover{background-color:var(--bg-subtle);border-color:var(--text-muted)}.btn-accent{background-color:var(--accent);color:#fff}.btn-accent:hover{filter:brightness(.95)}.btn-icon{border-radius:var(--radius-md);padding:.5rem}.badge{border-radius:var(--radius-full);align-items:center;gap:.35rem;padding:.25rem .625rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-active{background-color:var(--success-light);color:var(--success-text)}.badge-allocated{background-color:var(--primary-light);color:var(--primary);border:1px solid var(--primary-border)}.badge-warning{background-color:var(--warning-light);color:var(--warning-text)}.badge-error{background-color:var(--error-light);color:var(--error-text)}.form-group{flex-direction:column;gap:.375rem;margin-bottom:1rem;display:flex}.form-label{color:var(--text-main);justify-content:space-between;font-size:.875rem;font-weight:600;display:flex}.form-input,.form-select,.form-textarea{width:100%;font-family:var(--font-body);color:var(--text-main);background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);outline:none;padding:.625rem .875rem;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0f766e26}.form-helper{color:var(--text-muted);font-size:.75rem}.fab{bottom:calc(var(--bottom-nav-height) + 16px);border-radius:var(--radius-full);background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);color:#fff;cursor:pointer;z-index:40;border:none;justify-content:center;align-items:center;width:56px;height:56px;transition:transform .2s,box-shadow .2s;display:flex;position:fixed;right:20px;box-shadow:0 8px 20px #0f766e66}@media (width>=1024px){.fab{bottom:32px;right:32px}}.fab:hover{transform:scale(1.08);box-shadow:0 12px 24px #0f766e80}.app-container{min-height:100vh;display:flex}.main-content{min-width:0;padding-bottom:calc(var(--bottom-nav-height) + 20px);flex-direction:column;flex:1;display:flex}@media (width>=1024px){.main-content{margin-left:var(--sidebar-width);padding-bottom:2rem}}.page-wrapper{width:100%;max-width:1280px;margin:0 auto;padding:1rem}@media (width>=768px){.page-wrapper{padding:1.5rem 2rem}}.hidden{display:none!important}@media (width<=639px){.sm\:block,.sm\:inline,.sm\:flex{display:none!important}}@media (width>=640px){.sm\:block{display:block!important}.sm\:inline{display:inline!important}.sm\:flex{display:flex!important}}@media (width<=767px){.md\:block,.md\:flex{display:none!important}}@media (width>=768px){.md\:block{display:block!important}.md\:flex{display:flex!important}}@media (width<=1023px){.lg\:flex,.lg\:block{display:none!important}.lg\:hidden{display:flex!important}}@media (width>=1024px){.lg\:flex{display:flex!important}.lg\:block{display:block!important}.lg\:hidden{display:none!important}}
