*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--marine: #000076;--marine-mid: #000090;--marine-light: #0000b0;--celeste: #3A90F1;--celeste-light: #6AACF5;--sky: #97E5FF;--aqua: #01C3A0;--aqua-dark: #009e82;--sidebar-bg: #000076;--sidebar-width: 260px;--sidebar-collapsed: 68px;--sidebar-text: rgba(255,255,255,.85);--sidebar-muted: rgba(255,255,255,.45);--sidebar-hover: rgba(58,144,241,.18);--sidebar-active: rgba(1,195,160,.18);--sidebar-border: rgba(255,255,255,.08);--bg-page: #EEF2FF;--bg-card: #FFFFFF;--bg-input: #F8FAFC;--text-primary: #0A0E2A;--text-secondary:#3D4A6B;--text-muted: #8896B3;--border: #DDE4F5;--border-focus: #3A90F1;--shadow-sm: 0 1px 3px rgba(0,0,118,.06), 0 1px 2px rgba(0,0,118,.04);--shadow: 0 4px 12px rgba(0,0,118,.08), 0 2px 4px rgba(0,0,118,.05);--shadow-lg: 0 10px 30px rgba(0,0,118,.12), 0 4px 8px rgba(0,0,118,.07);--success: #01C3A0;--warning: #F59E0B;--danger: #EF4444;--info: #3A90F1;--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--radius-xl: 20px;--transition: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .32s cubic-bezier(.4, 0, .2, 1)}html,body,#root{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;color:var(--text-primary);background:var(--bg-page);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--celeste)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:768px){input,select,textarea{font-size:16px!important}}input[type=date],input[type=time]{max-width:100%}input[type=date]::-webkit-date-and-time-value,input[type=time]::-webkit-date-and-time-value{text-align:left}.wheel-scroll::-webkit-scrollbar{display:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.animate-fade-in{animation:fadeIn .28s cubic-bezier(.4,0,.2,1) both}.animate-slide-in{animation:slideInLeft .28s cubic-bezier(.4,0,.2,1) both}
