@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{color:#262626;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#edf0f3;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:#edf0f3;min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img,svg{max-width:100%;display:block}.loading-screen{background:radial-gradient(circle at top,#69696924,#0000 45%),linear-gradient(#eef0f3 0%,#e1e4e8 100%);place-items:center;min-height:100vh;display:grid}.loading-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffc7;border:1px solid #69696924;border-radius:24px;justify-items:center;gap:1rem;padding:2rem 2.4rem;display:grid;box-shadow:0 24px 60px #1414141f}.spinner{border:4px solid #6969692e;border-top-color:#696969;border-radius:50%;width:42px;height:42px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{background:radial-gradient(circle at 0 0,#69696929,#0000 42%),linear-gradient(#f5f6f7 0%,#edf0f3 100%);grid-template-columns:290px minmax(0,1fr);height:100vh;display:grid;overflow:hidden}.sidebar{color:#f2f2f2;background:linear-gradient(#1f1f1ff2 0%,#161616fa 100%);flex-direction:column;gap:1.4rem;padding:1.4rem;display:flex}.brand-block{background:#ffffff0a;border:1px solid #ffffff14;border-radius:20px;align-items:center;gap:.9rem;padding:.9rem;display:flex}.brand-mark{color:#fff;background:linear-gradient(135deg,#8b8b8b,#4f4f4f);border-radius:16px;place-items:center;width:52px;height:52px;font-size:1.35rem;font-weight:800;display:grid;box-shadow:inset 0 1px #ffffff2e}.brand-mark-image,.topbar-logo,.brand-logo{object-fit:contain;background:#fff}.brand-mark-image{padding:.25rem}.brand-company{color:#f6830f;margin-top:.15rem;font-size:.88rem;font-weight:700;display:inline-flex}.brand-block strong{font-size:1.05rem}.brand-block p,.sidebar-card p,.sidebar-footer p,.topbar p,.panel-header p,.stat-card p,.empty-state p,.auth-description,.field-hint,.upload-box small,.modal-header p{color:#a6a6a6}.sidebar-section{gap:.7rem;display:grid}.sidebar-label{letter-spacing:.12em;text-transform:uppercase;color:#b8b8b8;font-size:.75rem}.sidebar-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:18px;gap:.8rem;padding:1rem;display:grid}.sidebar-card>div{flex-direction:column;gap:.2rem;display:flex}.sidebar-kpi{color:#fff;font-size:1.65rem;font-weight:800}.nav-list{gap:.45rem;display:grid}.nav-item{color:#ededed;text-align:left;background:#ffffff0a;border:1px solid #0000;border-radius:14px;padding:.9rem 1rem;transition:all .18s}.nav-item:hover,.nav-item.active{background:#69696947;border-color:#ffffff14}.sidebar-footer{background:#ffffff0d;border:1px solid #ffffff14;border-radius:18px;gap:1rem;margin-top:auto;padding:1rem;display:grid}.main-area{flex-direction:column;gap:1.25rem;min-width:0;height:100%;padding:1.4rem;display:flex;overflow:hidden}.topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffc7;border:1px solid #6969691f;border-radius:26px;justify-content:space-between;align-items:flex-end;gap:1rem;padding:1.15rem 1.25rem;display:flex;box-shadow:0 18px 40px #1818180f}.topbar-brand{align-items:center;gap:.95rem;display:flex}.topbar-logo{background:#fff;border:1px solid #f6830f2e;border-radius:16px;width:56px;height:56px;padding:.22rem;box-shadow:0 10px 25px #f6830f14}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#5b3b10;background:#f6830f24;border-radius:999px;padding:.34rem .72rem;font-size:.76rem;display:inline-flex}.topbar h2{margin-top:.55rem;font-size:1.45rem}.topbar p{max-width:60ch;margin-top:.35rem}.topbar-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.stats-grid{flex-shrink:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.stat-card,.panel,.modal-card,.auth-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd1;border:1px solid #6969691f;box-shadow:0 18px 45px #18181814}.stat-card{border-radius:22px;gap:.3rem;padding:1.15rem;display:grid}.stat-card span{color:#6e6e6e;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem}.stat-card strong{color:#262626;font-size:2rem;font-weight:800}.panel{border-radius:28px;flex-direction:column;flex:1;min-height:0;padding:1.2rem;display:flex}.panel-header{flex-shrink:0;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.filters{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.search-input{min-width:280px}.table-wrap{border:1px solid #6969691f;border-radius:22px;flex:1;min-height:0;overflow:auto}table{border-collapse:collapse;background:#ffffffb8;width:100%;min-width:100%}thead th{text-align:left;text-transform:uppercase;letter-spacing:.09em;color:#676767;z-index:1;background:#6969690d;border-bottom:1px solid #6969691f;padding:.9rem 1rem;font-size:.77rem;position:sticky;top:0}tbody td{vertical-align:middle;border-bottom:1px solid #69696914;padding:.95rem 1rem}tbody tr:hover{background:#69696909}.username-pill{color:#383838;background:#69696914;border:1px solid #6969691f;border-radius:999px;padding:.35rem .65rem;font-size:.9rem;display:inline-flex}.row-actions{flex-wrap:wrap;gap:.5rem;display:flex}.empty-state{text-align:center;padding:2rem 1rem}.auth-screen{background:radial-gradient(circle at top,#69696929,#0000 42%),linear-gradient(#f5f6f7 0%,#edf0f3 100%);place-items:center;min-height:100vh;padding:1rem;display:grid}.auth-card{border-radius:30px;width:min(100%,470px);padding:2rem}.brand-login{align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.brand-logo{border:1px solid #f6830f29;border-radius:18px;width:72px;height:72px;padding:.25rem;box-shadow:0 14px 30px #f6830f14}.auth-badge{letter-spacing:.13em;text-transform:uppercase;color:#5b3b10;background:#f6830f24;border-radius:999px;padding:.34rem .72rem;font-size:.74rem;display:inline-flex}.auth-card h1{color:#262626;margin:.6rem 0 .25rem;font-size:2rem}.company-name{color:#696969;margin:0 0 1rem;font-size:1rem;font-weight:800}.auth-description{margin-bottom:1.4rem}.auth-form,.form-grid,.bulk-form{gap:1rem;display:grid}.auth-form label,.form-grid label{color:#353535;gap:.45rem;font-size:.92rem;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inline-field{align-items:center;gap:.7rem;display:flex}.inline-field input{flex:1}.toggle-field{background:#6969690d;border:1px solid #69696914;border-radius:16px;align-self:end;align-items:center;gap:.6rem;padding:.85rem 1rem;display:flex!important}.toggle-field input{width:18px;height:18px}.field-hint{font-size:.8rem}.upload-box{background:#6969690d;border:1px dashed #69696942;border-radius:18px;gap:.4rem;padding:1rem;display:grid}.template-list{gap:.75rem;display:grid}.template-list>div{flex-wrap:wrap;gap:.5rem;display:flex}.bulk-result{gap:1rem;margin-top:1rem;display:grid}.bulk-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.bulk-summary>div,.error-card{background:#6969690d;border:1px solid #69696914;border-radius:18px;padding:1rem}.bulk-summary strong{color:#262626;font-size:1.4rem;display:block}.bulk-summary span{color:#7a7a7a}.error-list{gap:.75rem;display:grid}.error-card small{color:#646464}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1212128f;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-card{border-radius:28px;width:min(100%,860px);padding:1.25rem}.modal-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.modal-header h3{color:#262626;margin:0;font-size:1.35rem}.modal-body{gap:1rem;display:grid}.modal-footer{border-top:1px solid #6969691f;justify-content:flex-end;gap:.75rem;margin-top:1.15rem;padding-top:1rem;display:flex}.icon-button{color:#333;background:#69696914;border-radius:12px;width:38px;height:38px}.btn{border:0;border-radius:14px;justify-content:center;align-items:center;gap:.4rem;padding:.82rem 1rem;font-weight:700;transition:transform .18s,box-shadow .18s,background .18s,color .18s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.7;cursor:progress;transform:none}.btn-primary{color:#fff;background:linear-gradient(135deg,#8a8a8a 0%,#696969 100%);box-shadow:0 10px 28px #69696947}.btn-primary:hover{background:linear-gradient(135deg,#f6830f 0%,#d76f0b 100%)}.btn-secondary{color:#303030;background:#69696914;border:1px solid #6969691f}.btn-secondary:hover{background:#f6830f1f;border-color:#f6830f38}.btn-ghost{color:#454545;background:0 0;border:1px solid #6969692e}.btn-ghost:hover{background:#f6830f14;border-color:#f6830f3d}.btn-danger{color:#fff;background:linear-gradient(135deg,#c86b34 0%,#a94f12 100%)}.btn-danger:hover{background:linear-gradient(135deg,#f6830f 0%,#d76f0b 100%)}.btn-sm{border-radius:12px;padding:.52rem .8rem;font-size:.84rem}.btn-block{color:#fff;width:100%}input,select{color:#222;background:#ffffffdb;border:1px solid #6969692e;border-radius:14px;width:100%;padding:.88rem 1rem;transition:border-color .18s,box-shadow .18s,background .18s}input:focus,select:focus{border-color:#69696980;outline:none;box-shadow:0 0 0 4px #6969691f}code{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.badge{letter-spacing:.02em;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:.35rem .65rem;font-size:.78rem;font-weight:700;display:inline-flex}.badge-neutral{color:#454545;background:#69696914;border-color:#6969691a}.badge-accent,.badge-admin{color:#fff;background:linear-gradient(135deg,#f6830f 0%,#d76f0b 100%)}.badge-info,.badge-professor{color:#fff;background:linear-gradient(135deg,#8a8a8a 0%,#696969 100%)}.badge-student{color:#2f2f2f;background:linear-gradient(135deg,#f0f0f0 0%,#d9d9d9 100%);border-color:#69696924}.badge-success{color:#fff;background:#f6830f}.badge-danger{color:#fff;background:#696969}.form-alert{border:1px solid #0000;border-radius:16px;padding:.95rem 1rem}.form-alert-success{color:#264d33;background:#78916b29;border-color:#78916b47}.form-alert-warning{color:#5d4a18;background:#d1a74529;border-color:#d1a74547}.form-alert-error{color:#7a2d2d;background:#ba6f6f24;border-color:#ba6f6f3d}.form-alert-neutral{color:#353535;background:#69696914;border-color:#6969691f}@media (width<=1180px){.app-shell{grid-template-columns:1fr;height:auto;min-height:100vh;overflow:auto}.sidebar{border-bottom:1px solid #ffffff14}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:1fr}.main-area{height:auto;overflow:visible}}@media (width<=760px){.main-area,.sidebar{padding:1rem}.topbar,.panel-header,.modal-footer,.topbar-actions,.filters,.row-actions{flex-direction:column;align-items:stretch}.bulk-summary,.stats-grid{grid-template-columns:1fr}.search-input{min-width:0}.inline-field{flex-direction:column}.brand-login,.topbar-brand{align-items:flex-start}}
