*{margin:0;padding:0;box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#ecf1ff}#root{width:100%;height:100vh;overflow:hidden}.light-theme [class*=bg-white] h1.text-white,.light-theme [class*=bg-white] h2.text-white,.light-theme [class*=bg-white] h3.text-white,.light-theme [class*=bg-white] h4.text-white,.light-theme [class*=bg-white] p.text-white,.light-theme [class*=bg-white] span.text-white,.light-theme [class*=bg-white] div.text-white,.light-theme [class*=bg-white] td.text-white,.light-theme [class*=bg-white] th.text-white,.light-theme [class*=bg-white] label.text-white,.light-theme [class*=bg-slate-50] h1.text-white,.light-theme [class*=bg-slate-50] h2.text-white,.light-theme [class*=bg-slate-50] h3.text-white,.light-theme [class*=bg-slate-50] h4.text-white,.light-theme [class*=bg-slate-50] p.text-white,.light-theme [class*=bg-slate-50] span.text-white,.light-theme [class*=bg-slate-50] div.text-white,.light-theme [class*=bg-slate-50] td.text-white,.light-theme [class*=bg-slate-50] th.text-white,.light-theme [class*=bg-slate-50] label.text-white,.light-theme [class*="bg-[#ECF1FF]"] h1.text-white,.light-theme [class*="bg-[#ECF1FF]"] h2.text-white,.light-theme [class*="bg-[#ECF1FF]"] h3.text-white,.light-theme [class*="bg-[#ECF1FF]"] h4.text-white,.light-theme [class*="bg-[#ECF1FF]"] p.text-white,.light-theme [class*="bg-[#ECF1FF]"] span.text-white,.light-theme [class*="bg-[#ECF1FF]"] div.text-white,.light-theme [class*="bg-[#ECF1FF]"] td.text-white,.light-theme [class*="bg-[#ECF1FF]"] th.text-white,.light-theme [class*="bg-[#ECF1FF]"] label.text-white{color:#002045!important}.light-theme [class*=bg-white] .hover\:text-white:hover,.light-theme [class*=bg-slate-50] .hover\:text-white:hover,.light-theme [class*="bg-[#ECF1FF]"] .hover\:text-white:hover{color:#1e293b!important}.light-theme [class*=bg-white] .group-hover\:text-white,.light-theme [class*=bg-slate-50] .group-hover\:text-white,.light-theme [class*="bg-[#ECF1FF]"] .group-hover\:text-white{color:#002045!important}.light-theme [class*=bg-surface-dark] h1.text-white,.light-theme [class*=bg-surface-dark] h2.text-white,.light-theme [class*=bg-surface-dark] h3.text-white,.light-theme [class*=bg-surface-dark] h4.text-white,.light-theme [class*=bg-surface-dark] p.text-white,.light-theme [class*=bg-surface-dark] span.text-white,.light-theme [class*=bg-surface-dark] div.text-white,.light-theme [class*=bg-surface-dark] td.text-white,.light-theme [class*=bg-surface-dark] th.text-white,.light-theme [class*=bg-surface-dark] label.text-white,.light-theme [class*=bg-background-dark] h1.text-white,.light-theme [class*=bg-background-dark] h2.text-white,.light-theme [class*=bg-background-dark] h3.text-white,.light-theme [class*=bg-background-dark] h4.text-white,.light-theme [class*=bg-background-dark] p.text-white,.light-theme [class*=bg-background-dark] span.text-white,.light-theme [class*=bg-background-dark] div.text-white,.light-theme [class*=bg-background-dark] td.text-white,.light-theme [class*=bg-background-dark] th.text-white,.light-theme [class*=bg-background-dark] label.text-white{color:#fff!important}input,textarea,select{font-family:inherit}input[class*=bg-background-dark],textarea[class*=bg-background-dark],select[class*=bg-background-dark],input[class*=bg-surface-dark],textarea[class*=bg-surface-dark],select[class*=bg-surface-dark],input[class*=bg-slate-900],textarea[class*=bg-slate-900],select[class*=bg-slate-900],input[class*=bg-slate-950],textarea[class*=bg-slate-950],select[class*=bg-slate-950],input[class*="bg-[#0a0f1d]"],textarea[class*="bg-[#0a0f1d]"],select[class*="bg-[#0a0f1d]"],input[class*="bg-[#0F172A]"],textarea[class*="bg-[#0F172A]"],select[class*="bg-[#0F172A]"],input[class*="bg-[#0b1326]"],textarea[class*="bg-[#0b1326]"],select[class*="bg-[#0b1326]"],input[class*="bg-[#131b2e]"],textarea[class*="bg-[#131b2e]"],select[class*="bg-[#131b2e]"]{color:#f8fafc!important;caret-color:#38bdf8!important}input[class*=bg-white],textarea[class*=bg-white],select[class*=bg-white],input[class*=bg-slate-50],textarea[class*=bg-slate-50],select[class*=bg-slate-50],input[class*=bg-slate-100],textarea[class*=bg-slate-100],select[class*=bg-slate-100],input[class*=bg-slate-200],textarea[class*=bg-slate-200],select[class*=bg-slate-200],input[class*="bg-[#ECF1FF]"],textarea[class*="bg-[#ECF1FF]"],select[class*="bg-[#ECF1FF]"],input[class*=bg-blue-50],textarea[class*=bg-blue-50],select[class*=bg-blue-50],input[class*="bg-slate-50/"],textarea[class*="bg-slate-50/"],select[class*="bg-slate-50/"],input[class*="bg-white/"],textarea[class*="bg-white/"],select[class*="bg-white/"]{color:#002045!important;caret-color:#0284c7!important}select option{background-color:#fff!important;color:#0f172a!important}input[class*=bg-background-dark]::placeholder,textarea[class*=bg-background-dark]::placeholder,input[class*=bg-surface-dark]::placeholder,textarea[class*=bg-surface-dark]::placeholder,input[class*=bg-slate-900]::placeholder,textarea[class*=bg-slate-900]::placeholder{color:#94a3b8!important;opacity:.8}input[class*=bg-white]::placeholder,textarea[class*=bg-white]::placeholder,input[class*=bg-slate-50]::placeholder,textarea[class*=bg-slate-50]::placeholder,input[class*=bg-slate-100]::placeholder,textarea[class*=bg-slate-100]::placeholder,input[class*=bg-slate-200]::placeholder,textarea[class*=bg-slate-200]::placeholder,input[class*="bg-[#ECF1FF]"]::placeholder,textarea[class*="bg-[#ECF1FF]"]::placeholder{color:#64748b!important;opacity:.8}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus,select:-webkit-autofill,select:-webkit-autofill:hover,select:-webkit-autofill:focus{-webkit-text-fill-color:inherit!important;transition:background-color 5000s ease-in-out 0s}.light-theme button.text-white,.light-theme button .text-white,.light-theme a.text-white,.light-theme [class*=bg-primary] .text-white,.light-theme [class*=bg-emerald-] .text-white,.light-theme [class*=bg-indigo-] .text-white,.light-theme [class*=bg-red-] .text-white,.light-theme [class*=bg-amber-] .text-white,.light-theme [class*=bg-violet-] .text-white,.light-theme [class*=bg-blue-] .text-white{color:#fff!important}.light-theme .text-white,.light-theme .hover\:text-white:hover{color:#556070!important}.light-theme .bg-gradient-primary.text-white,.light-theme .bg-gradient-primary .text-white,.light-theme [class*=bg-gradient-to-].text-white,.light-theme [class*=bg-gradient-to-] .text-white,.light-theme [class*=from-].text-white,.light-theme [class*=from-] .text-white,.light-theme [class*=to-].text-white,.light-theme [class*=to-] .text-white,.light-theme [class*=via-].text-white,.light-theme [class*=via-] .text-white,.light-theme [class*=bg-primary].text-white,.light-theme [class*=bg-primary] .text-white,.light-theme [class*=bg-emerald-].text-white,.light-theme [class*=bg-emerald-] .text-white,.light-theme [class*=bg-indigo-].text-white,.light-theme [class*=bg-indigo-] .text-white,.light-theme [class*=bg-red-].text-white,.light-theme [class*=bg-red-] .text-white,.light-theme [class*=bg-amber-].text-white,.light-theme [class*=bg-amber-] .text-white,.light-theme [class*=bg-violet-].text-white,.light-theme [class*=bg-violet-] .text-white,.light-theme [class*=bg-blue-].text-white,.light-theme [class*=bg-blue-] .text-white,.light-theme [class*=bg-cyan-].text-white,.light-theme [class*=bg-cyan-] .text-white,.light-theme [class*=bg-teal-].text-white,.light-theme [class*=bg-teal-] .text-white,.light-theme [class*=bg-green-].text-white,.light-theme [class*=bg-green-] .text-white,.light-theme [class*=bg-orange-].text-white,.light-theme [class*=bg-orange-] .text-white,.light-theme [class*=bg-yellow-].text-white,.light-theme [class*=bg-yellow-] .text-white,.light-theme [class*=bg-slate-700].text-white,.light-theme [class*=bg-slate-700] .text-white,.light-theme [class*=bg-slate-800].text-white,.light-theme [class*=bg-slate-800] .text-white,.light-theme [class*=bg-slate-900].text-white,.light-theme [class*=bg-slate-900] .text-white,.light-theme [class*=bg-background-dark].text-white,.light-theme [class*=bg-background-dark] .text-white,.light-theme [class*=bg-surface-dark].text-white,.light-theme [class*=bg-surface-dark] .text-white{color:#fff!important}.light-theme [class*=bg-white] h4,.light-theme [class*=bg-slate-100] h3,.light-theme [class*=bg-slate-50] h2,.light-theme [class*=bg-slate-50] h3{color:#002045!important}.custom-scrollbar::-webkit-scrollbar{width:6px}.custom-scrollbar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media print{.no-print,aside,header,.bottom-nav,button{display:none!important}body{background:#fff!important;color:#000!important}.bg-surface-dark,.bg-background-dark{background:#fff!important;border-color:#ddd!important}.text-white,.text-text-secondary{color:#000!important}.max-w-7xl,.max-w-4xl{max-width:100%!important;width:100%!important;margin:0!important;padding:0!important}table{border-collapse:collapse!important;width:100%!important}th,td{border:1px solid #ddd!important;padding:8px!important}}input[type=date]{-webkit-appearance:none;appearance:none;color:inherit;background-color:inherit}input[type=date]::-webkit-date-and-time-value,input[type=date]::-webkit-datetime-edit,input[type=date]::-webkit-datetime-edit-fields-wrapper,input[type=date]::-webkit-datetime-edit-text,input[type=date]::-webkit-datetime-edit-month-field,input[type=date]::-webkit-datetime-edit-day-field,input[type=date]::-webkit-datetime-edit-year-field{color:inherit}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.85}.date-input-light{color-scheme:light}.date-input-light::-webkit-calendar-picker-indicator{filter:none}.date-input-dark{color-scheme:light;color:#f8fafc;background-color:inherit}.date-input-dark::-webkit-calendar-picker-indicator{filter:invert(.92) sepia(.08) saturate(.7) hue-rotate(180deg) brightness(1.05)}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.light-theme input:not([type=checkbox]):not([type=radio]):not([type=range]),.light-theme textarea,.light-theme select{color:#002045!important;caret-color:#0284c7!important;-webkit-text-fill-color:#002045!important}.light-theme input::placeholder,.light-theme textarea::placeholder{color:#64748b!important;opacity:.8;-webkit-text-fill-color:#64748b!important}.light-theme [class*=bg-slate-900] input,.light-theme [class*=bg-slate-900] textarea,.light-theme [class*=bg-slate-900] select,.light-theme [class*=bg-slate-950] input,.light-theme [class*=bg-slate-950] textarea,.light-theme [class*=bg-slate-950] select,.light-theme [class*="bg-[#0a0f1d]"] input,.light-theme [class*="bg-[#0a0f1d]"] textarea,.light-theme [class*="bg-[#0a0f1d]"] select,.light-theme [class*="bg-[#0F172A]"] input,.light-theme [class*="bg-[#0F172A]"] textarea,.light-theme [class*="bg-[#0F172A]"] select{color:#f8fafc!important;caret-color:#38bdf8!important;-webkit-text-fill-color:#f8fafc!important}.light-theme td.text-white,.light-theme td .text-white,.light-theme th.text-white,.light-theme tr.text-white{color:#556070!important}:root{--safe-area-inset-top: env(safe-area-inset-top, 0px);--safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);--safe-area-inset-left: env(safe-area-inset-left, 0px);--safe-area-inset-right: env(safe-area-inset-right, 0px)}html,body{overflow-x:hidden;-webkit-overflow-scrolling:touch}.touch-target{min-height:44px;min-width:44px}.mobile-sidebar-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:40;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.mobile-sidebar-overlay.active{opacity:1;visibility:visible}.mobile-sidebar{position:fixed;top:0;left:0;bottom:0;width:280px;max-width:85vw;background:var(--background-dark, #0a0a0b);border-right:1px solid var(--border-dark, #1e1e2e);z-index:50;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);overflow-y:auto;padding-bottom:var(--safe-area-inset-bottom)}.mobile-sidebar.active{transform:translate(0)}@media(max-width:768px){.responsive-table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.responsive-table table{min-width:600px}.table-as-cards thead{display:none}.table-as-cards tbody tr{display:block;margin-bottom:1rem;background:var(--surface-dark, #141418);border-radius:.75rem;padding:1rem;border:1px solid var(--border-dark, #1e1e2e)}.table-as-cards tbody td{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border-dark, #1e1e2e)}.table-as-cards tbody td:last-child{border-bottom:none}.table-as-cards tbody td:before{content:attr(data-label);font-weight:600;color:var(--text-secondary, #6b7280);text-transform:uppercase;font-size:.7rem;letter-spacing:.05em}}.responsive-grid{display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:640px){.responsive-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.responsive-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1280px){.responsive-grid{grid-template-columns:repeat(4,1fr)}}.responsive-padding{padding:1rem}@media(min-width:640px){.responsive-padding{padding:1.5rem}}@media(min-width:1024px){.responsive-padding{padding:2rem}}.responsive-heading{font-size:1.5rem;line-height:1.2}@media(min-width:640px){.responsive-heading{font-size:1.75rem}}@media(min-width:1024px){.responsive-heading{font-size:2rem}}@media(max-width:640px){.modal-container{padding:.5rem}.modal-content{max-height:90vh;border-radius:1rem 1rem 0 0;margin-top:auto}.modal-bottom-sheet{position:fixed;bottom:0;left:0;right:0;max-height:85vh;border-radius:1.5rem 1.5rem 0 0;transform:translateY(100%);transition:transform .3s ease}.modal-bottom-sheet.active{transform:translateY(0)}}.hide-mobile{display:none!important}@media(min-width:768px){.hide-mobile{display:flex!important}.hide-desktop{display:none!important}}.show-mobile{display:flex!important}@media(min-width:768px){.show-mobile{display:none!important}}.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#fff3}@media(max-width:768px){.custom-scrollbar::-webkit-scrollbar{width:0;height:0}}@media(max-width:640px){.btn-responsive{width:100%;justify-content:center}.btn-group-responsive{flex-direction:column;gap:.5rem}.btn-group-responsive>*{width:100%}}@media(max-width:640px){.form-row-responsive{flex-direction:column;gap:1rem}.form-row-responsive>*{width:100%}input,select,textarea{font-size:16px!important}}.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--background-dark, #0a0a0b);border-top:1px solid var(--border-dark, #1e1e2e);padding:.5rem;padding-bottom:calc(1.25rem + var(--safe-area-inset-bottom));z-index:30}@media(max-width:1023px){.bottom-nav{display:flex;justify-content:space-around;align-items:center}.main-with-bottom-nav{padding-bottom:calc(70px + var(--safe-area-inset-bottom))}}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem 1rem;color:var(--text-secondary, #6b7280);text-decoration:none;transition:color .2s;min-width:60px}.bottom-nav-item.active{color:var(--primary, #3b82f6)}.bottom-nav-item span.label{font-size:.65rem;font-weight:500}@media(max-height:500px)and (orientation:landscape){.mobile-sidebar{padding-top:.5rem}.bottom-nav{padding:.25rem}.modal-content{max-height:85vh}}@media(min-width:768px)and (max-width:1023px){.tablet-grid-2{grid-template-columns:repeat(2,1fr)}.tablet-sidebar-collapsed{width:80px}.tablet-sidebar-collapsed .nav-label{display:none}}@media print{.no-print{display:none!important}.sidebar,.bottom-nav,header{display:none!important}main{margin:0!important;padding:1rem!important}}:root{color-scheme:light;--bg: #f5f7fb;--card-bg: #ffffff;--primary: #2563eb;--primary-hover: #1d4ed8;--border: #e2e8f0;--text: #0f172a;--muted: #64748b;--danger: #dc2626}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(circle at top left,#e0edff,#f5f7fb);color:var(--text)}#root,.full-height{min-height:100vh}.center-bg{display:flex;align-items:center;justify-content:center;padding:2rem}.card{background:var(--card-bg);border-radius:1rem;padding:1.5rem 2rem;box-shadow:0 20px 40px #0f172a14;border:1px solid var(--border)}.auth-card{width:100%;max-width:420px}.title{margin:0 0 .25rem;font-size:1.5rem;font-weight:600}.subtitle{margin:0 0 1.5rem;color:var(--muted);font-size:.9rem}.form{display:flex;flex-direction:column;gap:.9rem}.label{font-size:.85rem;font-weight:500;color:var(--muted);display:flex;flex-direction:column;gap:.35rem}.input{border-radius:.6rem;border:1px solid var(--border);padding:.6rem .75rem;font-size:.9rem;outline:none;transition:border-color .15s,box-shadow .15s,background .15s;background:#f8fafc}.input:focus{border-color:var(--primary);box-shadow:0 0 0 1px #2563eb26;background:#fff}.input.compact{padding:.3rem .5rem;font-size:.8rem}.button{border-radius:999px;border:none;padding:.6rem 1.2rem;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .15s,box-shadow .15s,transform .05s}.button.primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 12px 24px #2563eb4d}.button.primary:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-1px)}.button.ghost{background:transparent;border:1px solid var(--border);color:var(--muted)}.button.small{padding:.25rem .7rem;font-size:.75rem}.error{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.hint{margin-top:.75rem;font-size:.75rem;color:var(--muted)}.hint ul{margin:.25rem 0 0;padding-left:1.1rem}.layout{min-height:100vh;display:flex;flex-direction:column}.topbar{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8fafce6;position:sticky;top:0;z-index:10}.topbar-left{display:flex;align-items:center;gap:.75rem}.app-name{font-weight:600;letter-spacing:.03em}.divider{color:var(--border)}.page-title{font-size:.95rem;color:var(--muted)}.topbar-right{display:flex;align-items:center;gap:.75rem}.user-name{font-size:.85rem;color:var(--muted)}.role-pill{background:#e0ecff;color:#1d4ed8;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;margin-left:.4rem}.main{padding:1.5rem;max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}.stat{text-align:left}.stat h3{margin:0 0 .4rem;font-size:.85rem;color:var(--muted)}.stat-value{margin:0;font-size:1.8rem;font-weight:600}.table{width:100%;border-collapse:collapse;font-size:.85rem}.table th,.table td{padding:.5rem .4rem;text-align:left;border-bottom:1px solid var(--border)}.table th{font-weight:500;color:var(--muted)}.pill{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:999px;font-size:.7rem;background:#e5f0ff;color:#1d4ed8}.list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.progress-bar{position:relative;width:100%;height:6px;border-radius:999px;background:#e5e7eb;overflow:hidden}.progress-fill{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,#22c55e,#16a34a)}.progress-label{font-size:.75rem;color:var(--muted);margin-left:.25rem}.activity-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem;font-size:.8rem}.activity-action{font-weight:500}.activity-time{margin-left:.75rem;color:var(--muted)}.centered{display:flex;align-items:center;justify-content:center;min-height:60vh}.vertical{display:flex;flex-direction:column;gap:.3rem}@media(max-width:640px){.main{padding:1rem}.topbar{padding:0 1rem}.auth-card{padding:1.5rem}}
