@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap";*,:before,:after{box-sizing:border-box}:root{--color-primary:#548c9b;--color-dark:#3b3949;--color-text:#6b687d;--color-text-light:#aeacbe;--color-bg:#eff3f6;--color-white:#fff;--color-border:#e5eaee;--color-border-light:#dcdaeb;--color-table-stripe:#f6f8fa;--color-status-ok:#36bea6;--color-status-pending:#fdb858;--color-status-error:#f62d51;--color-role-admin:#1d4ed8;--color-role-parent:#7c3aed;--color-brand-accent:#f5a324;--color-brand-accent-dark:#e0921a;--color-brand-card-bg:#3a6875;--color-brand-parent:#2e8c8c;--color-error-bg:#fef2f2;--color-error-border:#fecaca;--color-error-text:#b91c1c;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-xl:16px;--radius-full:100px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--shadow-sm:0 1px 2px #0f172a0f;--shadow-md:0 4px 12px #0f172a14;--shadow-lg:0 16px 48px #3b39492e;--transition-fast:.15s ease;--transition-normal:.25s ease;--border-width-thin:1px;--border-width-medium:1.5px;--border-width-thick:2px;--z-dropdown:50;--z-sidebar:99;--z-modal:100;--font-body:"Montserrat", system-ui, sans-serif;--font-title:"Outfit", system-ui, sans-serif;--sidebar-width:350px;--sidebar-collapsed-width:80px;font-family:var(--font-body);color:var(--color-dark);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;font-weight:400;line-height:1.5}body{min-width:320px;min-height:100vh;margin:0}h1,h2,h3,h4,h5,h6{margin:0;line-height:1.25}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,button,textarea,select{font-family:inherit;font-size:inherit}@media (width<=767px){:root{font-size:15px}}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.skel{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/1200px 100%;border-radius:4px;animation:1.4s ease-in-out infinite shimmer}.toaster{top:var(--space-6);right:var(--space-6);z-index:9999;gap:var(--space-2);pointer-events:none;max-width:360px;width:calc(100vw - var(--space-6) * 2);flex-direction:column-reverse;display:flex;position:fixed}.toast{align-items:flex-start;gap:var(--space-3);background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-3) var(--space-4);pointer-events:all;border-left:4px solid #0000;animation:.22s cubic-bezier(.34,1.56,.64,1) both toast-in;display:flex}.toast--leaving{animation:.18s ease-in both toast-out}.toast--success{border-left-color:#22c55e}.toast--error{border-left-color:var(--color-status-error,#f62d51)}.toast--info{border-left-color:var(--color-primary)}.toast--warning{border-left-color:var(--color-brand-accent)}.toast__icon{flex-shrink:0;width:18px;height:18px;margin-top:1px}.toast--success .toast__icon{color:#22c55e}.toast--error .toast__icon{color:var(--color-status-error,#f62d51)}.toast--info .toast__icon{color:var(--color-primary)}.toast--warning .toast__icon{color:var(--color-brand-accent)}.toast__body{flex:1;min-width:0}.toast__message{color:var(--color-dark);word-break:break-word;font-size:.875rem;font-weight:500;line-height:1.45}.toast__close{cursor:pointer;color:var(--color-text-light,#aeacbe);transition:color var(--transition-fast);background:0 0;border:none;flex-shrink:0;margin-top:1px;padding:0;line-height:1}.toast__close:hover{color:var(--color-dark)}@keyframes toast-in{0%{opacity:0;transform:translate(24px)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes toast-out{0%{opacity:1;max-height:80px;margin-bottom:0;transform:translate(0)scale(1)}to{opacity:0;max-height:0;margin-bottom:calc(-1 * var(--space-2));transform:translate(16px)scale(.97)}}@media (width<=480px){.toaster{top:var(--space-4);right:var(--space-4);left:var(--space-4);width:auto;max-width:none}}.app-loading{background:var(--color-bg);min-height:100vh}
