@font-face{font-family:Outfit;font-style:normal;font-weight:300;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.1spbknb88wd48.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:300;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.1gsd1jahc5dg_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.1spbknb88wd48.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.1gsd1jahc5dg_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.1spbknb88wd48.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.1gsd1jahc5dg_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.1spbknb88wd48.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.1gsd1jahc5dg_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.1spbknb88wd48.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.1gsd1jahc5dg_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:800;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.1spbknb88wd48.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:800;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.1gsd1jahc5dg_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Fallback;src:local(Arial);ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.0%;size-adjust:99.82%}.outfit_f4073d44-module__NfKI1W__className{font-family:Outfit,Outfit Fallback;font-style:normal}.outfit_f4073d44-module__NfKI1W__variable{--font-outfit:"Outfit", "Outfit Fallback"}
:root{--color-primary:#286fa7;--color-primary-hover:#1e5582;--color-secondary:#10b981;--color-secondary-hover:#0d9467;--color-tertiary:#145b9b;--color-alternate:#d6e8f5;--color-primary-text:#0d121d;--color-secondary-text:#57636c;--color-primary-bg:#f1f4f8;--color-secondary-bg:#fff;--color-accent1:#616161;--color-accent2:#757575;--color-accent3:#c3c3c3;--color-accent4:#eee;--color-success:#04a24c;--color-warning:#fcdc0c;--color-error:#e21c3d;--color-info:#1c4494;--color-line:#e0e3e7;--color-white70:#ffffffb3;--color-green-school:#d8ead3;--color-brown-certify:#532525;--color-green-daltonic:#007a33;--font-family:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-full:9999px;--shadow-sm:0 1px 3px #0000000d, 0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #00000014, 0 2px 4px -1px #00000014;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a}@media (prefers-color-scheme:dark){:root{--color-primary-text:#f1f4f8;--color-secondary-text:#a3b3c2;--color-primary-bg:#0d121d;--color-secondary-bg:#151d2a;--color-line:#222e3f;--color-accent4:#222e3f;--color-accent3:#4a5b70}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--color-primary-bg);color:var(--color-primary-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}a{color:var(--color-primary);text-decoration:none;transition:color .2s}a:hover{color:var(--color-primary-hover)}button,input,select,textarea{font-family:inherit}h1,h2,h3,h4,h5,h6{margin-bottom:var(--spacing-sm);font-weight:600;line-height:1.25}.btn{justify-content:center;align-items:center;gap:var(--spacing-sm);border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border:1px solid #0000;padding:10px 20px;font-size:.95rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-sm{border-radius:var(--radius-sm);padding:6px 12px;font-size:.85rem}.btn-lg{border-radius:var(--radius-md);padding:14px 28px;font-size:1.05rem}.btn-full{width:100%}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background-color:var(--color-secondary);color:#fff}.btn-secondary:hover:not(:disabled){background-color:var(--color-secondary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-outline{border-color:var(--color-line);color:var(--color-primary-text);background-color:#0000}.btn-outline:hover:not(:disabled){background-color:var(--color-accent4)}.btn-ghost{color:var(--color-primary-text);background-color:#0000}.btn-ghost:hover:not(:disabled){background-color:var(--color-accent4)}.btn-danger{background-color:var(--color-error);color:#fff}.btn-danger:hover:not(:disabled){box-shadow:var(--shadow-md);background-color:#c91433;transform:translateY(-1px)}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}.spinner-dark{border-color:#0000001a;border-top-color:var(--color-primary-text)}@keyframes spin{to{transform:rotate(360deg)}}.card{background-color:var(--color-secondary-bg);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);flex-direction:column;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.card-hover:hover{box-shadow:var(--shadow-lg);border-color:var(--color-alternate);transform:translateY(-4px)}.card-header{margin-bottom:var(--spacing-md);border-bottom:1px solid var(--color-line);padding-bottom:var(--spacing-sm)}.card-body{flex-grow:1}.card-footer{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-line);justify-content:flex-end;gap:var(--spacing-sm);display:flex}.form-group{margin-bottom:var(--spacing-md);gap:var(--spacing-xs);flex-direction:column;display:flex}.form-label{color:var(--color-secondary-text);font-size:.9rem;font-weight:500}.form-control{border-radius:var(--radius-sm);border:1px solid var(--color-line);background-color:var(--color-secondary-bg);width:100%;color:var(--color-primary-text);outline:none;padding:10px 14px;font-size:.95rem;transition:all .2s}.form-control:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #286fa726}.form-error{color:var(--color-error);margin-top:2px;font-size:.8rem}.checkbox-group{align-items:center;gap:var(--spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}.checkbox-group input{width:18px;height:18px;accent-color:var(--color-primary)}.badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;align-items:center;padding:4px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-default{background-color:var(--color-accent4);color:var(--color-accent1)}.badge-success{color:var(--color-success);background-color:#04a24c26}.badge-warning{color:#c4aa00;background-color:#fcdc0c33}.badge-error{color:var(--color-error);background-color:#e21c3d1a}.badge-info{color:var(--color-info);background-color:#1c44941a}.table-container{border:1px solid var(--color-line);border-radius:var(--radius-md);background-color:var(--color-secondary-bg);width:100%;box-shadow:var(--shadow-sm);overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th{background-color:var(--color-primary-bg);color:var(--color-secondary-text);padding:14px var(--spacing-md);border-bottom:1px solid var(--color-line);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:600}.data-table td{padding:14px var(--spacing-md);border-bottom:1px solid var(--color-line);font-size:.95rem}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background-color:#f1f4f880}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;padding:var(--spacing-md);background-color:#0d121d99;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--color-secondary-bg);border:1px solid var(--color-line);border-radius:var(--radius-lg);width:100%;max-width:600px;box-shadow:var(--shadow-xl);flex-direction:column;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;display:flex;overflow:hidden}.modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:center;display:flex}.modal-body{padding:var(--spacing-lg);max-height:70vh;overflow-y:auto}.modal-footer{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-line);background-color:var(--color-primary-bg);justify-content:flex-end;gap:var(--spacing-sm);display:flex}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.grid-container{gap:var(--spacing-lg);display:grid}.flex-center{justify-content:center;align-items:center;display:flex}.text-center{text-align:center}.text-error{color:var(--color-error)}.mt-md{margin-top:var(--spacing-md)}.mb-md{margin-bottom:var(--spacing-md)}.skeleton{background:linear-gradient(90deg, var(--color-accent4) 25%, var(--color-line) 50%, var(--color-accent4) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}
