*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--navy:#003057;--navy-10:#00305714;--navy-05:#0030570a;--blue:oklch(52% .19 222);--blue-light:oklch(62% .17 222);--blue-dim:oklch(52% .19 222/.12);--blue-dim2:oklch(52% .19 222/.06);--teal:oklch(57% .14 195);--bg:oklch(96.5% .009 222);--surface-raised:#fff;--border:oklch(88% .012 222);--border-subtle:oklch(93% .008 222);--text-primary:#003057;--text-secondary:oklch(45% .02 222);--text-muted:oklch(62% .015 222);--text-faint:oklch(74% .01 222);--success:oklch(57% .14 155);--warning:oklch(68% .14 65);--danger:oklch(56% .18 25);--sidebar-w:228px;--header-h:58px;--radius-md:10px;--radius-lg:14px;--shadow-sm:0 1px 3px #001e3c12, 0 1px 2px #001e3c0a;--shadow-md:0 4px 12px #001e3c14, 0 2px 4px #001e3c0a}html,body,#root{width:100%;height:100%;overflow:hidden}body{background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:DM Sans,-apple-system,sans-serif}button,input,textarea,select{font-family:inherit}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:.3;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.ai-shimmer{position:relative;overflow:hidden}.ai-shimmer:after{content:"";pointer-events:none;border-radius:inherit;background:linear-gradient(90deg,#0000 0%,oklch(52% .19 222/.12) 40%,oklch(62% .17 222/.18) 50%,oklch(52% .19 222/.12) 60%,#0000 100%) 0 0/200% 100%;animation:1.2s ease-in-out infinite shimmer;position:absolute;inset:0}@keyframes screenFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes cardEntrance{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.print-only{display:none}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}body{margin:0;padding:0;background:#fff!important}.no-print{display:none!important}.print-only{display:block!important}.modal-overlay{background:0 0!important;position:static!important}@page{margin:.4in;size:letter}}
