@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root,[data-theme=dark]{--color-brand-50: #fdf2f5;--color-brand-100: #fce4ec;--color-brand-200: #f8b4c8;--color-brand-300: #f1789c;--color-brand-400: #e54674;--color-brand-500: #b71c50;--color-brand-600: #9e1844;--color-brand-700: #801235;--color-brand-800: #64102c;--color-brand-900: #490e22;--color-surface: #18181a;--color-surface-2: #222226;--color-surface-3: #2a2a2e;--color-surface-4: #333334;--color-border: #333334;--color-text-1: #f5f5f7;--color-text-2: #d0d0d5;--color-text-3: #8f8f8f;--color-success: #22c55e;--color-warning: #f59e0b;--color-danger: #b71c50;--color-info: #3b82f6}[data-theme=light]{--color-surface: #f4f5f8;--color-surface-2: #ffffff;--color-surface-3: #eaecee;--color-surface-4: #d8dade;--color-border: #e0e2e6;--color-text-1: #18181a;--color-text-2: #4a4a4e;--color-text-3: #75757a;--color-brand-500: #b71c50;--color-brand-600: #9e1844}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:Inter,system-ui,sans-serif;background-color:var(--color-surface);color:var(--color-text-1);line-height:1.6;min-height:100vh}#root{display:flex;min-height:100vh}.login-page{width:100%;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:flex-end;padding:clamp(1.5rem,5vw,4rem);position:relative;overflow-x:hidden;overflow-y:auto;isolation:isolate;background-color:#08090b;background-image:url(/campus-bg.jpg);background-position:left center;background-repeat:no-repeat;background-size:cover;font-family:Inter,system-ui,sans-serif}.login-page__overlay{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(to right,#0c0c0e38,#0c0c0e6b 58%,#0c0c0ec7)}.login-card{position:relative;z-index:1;width:min(100%,410px);padding:2.25rem 2rem;color:#f0f0f2;background:#141418c7;border:1px solid rgba(255,255,255,.12);border-radius:20px;box-shadow:0 30px 60px -12px #000000b3,0 0 30px #b71c501f;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}@media(max-width:900px){.login-page{justify-content:center;padding:clamp(1.25rem,5vw,2.5rem);background-position:56% center}.login-page__overlay{background:#08090b7a}}@media(max-width:600px){.login-page{padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));background-position:58% center}.login-page__overlay{background:#08090b8f}.login-card{padding:1.75rem 1.5rem;border-radius:16px}}@media(max-width:360px),(max-height:620px){.login-page{align-items:flex-start}.login-card{padding:1.5rem 1.25rem}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-surface-2)}::-webkit-scrollbar-thumb{background:var(--color-surface-4);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-brand-700)}:focus-visible{outline:2px solid var(--color-brand-500);outline-offset:2px}*{transition-property:background-color,border-color,color,opacity,box-shadow,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.card{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;font-size:.75rem;font-weight:500}.badge-success{background:#22c55e26;color:var(--color-success)}.badge-warning{background:#f59e0b26;color:var(--color-warning)}.badge-danger{background:#ef444426;color:var(--color-danger)}.badge-info{background:#3b82f626;color:var(--color-info)}.badge-neutral{background:var(--color-surface-4);color:var(--color-text-2)}.btn{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;border:none;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-brand-600);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-brand-500)}.btn-ghost{background:transparent;color:var(--color-text-2);border:1px solid var(--color-border)}.btn-ghost:hover:not(:disabled){background:var(--color-surface-3);color:var(--color-text-1)}.btn-danger{background:#ef44441f;color:var(--color-danger);border:1px solid rgba(239,68,68,.25)}.btn-danger:hover:not(:disabled){background:#ef444438}.input{width:100%;background:var(--color-surface-3);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-1);font-size:.875rem;padding:10px 14px;outline:none;font-family:inherit}.input::placeholder{color:var(--color-text-3)}.input:focus{border-color:var(--color-brand-500);box-shadow:0 0 0 3px #2a6ef52e}.label{display:block;font-size:.8125rem;font-weight:500;color:var(--color-text-2);margin-bottom:6px}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse}thead tr{border-bottom:1px solid var(--color-border)}th{text-align:left;font-size:.75rem;font-weight:600;color:var(--color-text-3);text-transform:uppercase;letter-spacing:.05em;padding:10px 16px}td{padding:12px 16px;font-size:.875rem;color:var(--color-text-2);border-bottom:1px solid var(--color-surface-3)}tbody tr:hover{background:var(--color-surface-3)}tbody tr:last-child td{border-bottom:none}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.page-title{font-size:1.5rem;font-weight:700;color:var(--color-text-1)}.page-subtitle{font-size:.875rem;color:var(--color-text-3);margin-top:2px}.stat-card{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:12px;padding:1.25rem 1.5rem;display:flex;align-items:flex-start;gap:1rem}.stat-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-value{font-size:1.75rem;font-weight:800;color:var(--color-text-1);line-height:1}.stat-label{font-size:.8125rem;color:var(--color-text-3);margin-top:4px}.sidebar{width:256px;min-height:100vh;background:var(--color-surface-2);border-right:1px solid var(--color-border);display:flex;flex-direction:column;flex-shrink:0;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar.collapsed{width:64px}.sidebar-logo{padding:1.25rem 1rem;display:flex;align-items:center;gap:.75rem;border-bottom:1px solid var(--color-border)}.sidebar-nav{padding:.75rem .5rem;flex:1}.nav-group-label{font-size:.6875rem;font-weight:700;color:var(--color-text-3);text-transform:uppercase;letter-spacing:.08em;padding:.75rem .75rem .375rem}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:8px;font-size:.875rem;font-weight:500;color:var(--color-text-2);cursor:pointer;text-decoration:none;margin-bottom:2px}.nav-item:hover{background:var(--color-surface-3);color:var(--color-text-1)}.nav-item.active{background:#2a6ef51f;color:var(--color-brand-400)}.nav-item-icon{width:18px;height:18px;flex-shrink:0}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.5rem;border-bottom:1px solid var(--color-border);background:var(--color-surface-2);gap:1rem;position:sticky;top:0;z-index:10}.topbar-title{font-size:1.0625rem;font-weight:700;color:var(--color-text-1);white-space:nowrap}.topbar-actions{display:flex;align-items:center;gap:.75rem;margin-left:auto;min-width:0}.tenant-selector-button{display:flex;align-items:center;gap:.55rem;max-width:280px;padding:.4rem .65rem;border:1px solid var(--color-border);border-radius:9px;cursor:pointer;color:var(--color-text-2);background:var(--color-surface-3);font:inherit;text-align:left}.tenant-selector-button:hover{border-color:var(--color-brand-500);color:var(--color-text-1)}.tenant-selector-button>svg:first-child{flex:0 0 auto;color:var(--color-brand-400)}.tenant-selector-button>span{display:grid;min-width:0;flex:1}.tenant-selector-button strong,.tenant-selector-button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-selector-button strong{font-size:.75rem}.tenant-selector-button small{color:var(--color-text-3);font-size:.62rem}.topbar-search{display:flex;align-items:center;gap:8px;min-width:190px;padding:6px 12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-3)}.topbar-search svg{flex:0 0 auto;color:var(--color-text-3)}.topbar-search input{width:100%;border:0;outline:0;color:var(--color-text-1);background:transparent;font:inherit;font-size:.8125rem}.topbar-icon-button{padding:7px}.notification-button{position:relative}.notification-button span{position:absolute;top:4px;right:4px;width:7px;height:7px;border:1.5px solid var(--color-surface-2);border-radius:50%;background:var(--color-danger)}.topbar-user{display:flex;align-items:center;gap:8px}.topbar-user>span{display:grid;line-height:1.2}.topbar-user strong{color:var(--color-text-1);font-size:.8125rem}.topbar-user small{color:#f43f5e;font-size:.6875rem;font-weight:500}.page-content{padding:2rem 1.5rem;flex:1;overflow-y:auto}.grid-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--color-brand-600),var(--color-brand-800));display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;color:#fff;flex-shrink:0}.person-avatar{overflow:hidden}.person-avatar img{width:100%;height:100%;object-fit:cover}.person-row{display:flex;align-items:center;gap:.75rem}.person-row strong{color:var(--color-text-1)}.person-profile-header{position:relative;display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.person-profile-header>div:first-child{flex:1 1 260px;min-width:0}.person-profile-header h3{margin:.2rem 0}.profile-close{position:absolute;top:0;right:0}.profile-header-actions{display:flex;flex:0 1 auto;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.5rem;margin-left:auto}.profile-header-actions .btn{white-space:nowrap}.profile-header-actions .profile-close{position:static}.student-pass-error{margin:.5rem 0}.student-pass-modal{width:min(900px,100%)}.student-pass-actions{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;margin-bottom:1rem}.student-pass-actions>div{display:grid;margin-right:auto}.student-pass-actions small{color:var(--color-text-3);font-size:.68rem}.printed-student-pass{display:grid;grid-template-rows:auto 1fr auto;width:min(856px,100%);aspect-ratio:85.6 / 53.98;box-sizing:border-box;margin:auto;overflow:hidden;border:6px solid #22c55e;border-radius:24px;color:#172033;background:#fff;print-color-adjust:exact;-webkit-print-color-adjust:exact}.printed-student-pass.status-attention{border-color:#e9ad28}.printed-student-pass.status-restricted{border-color:#dc2626}.printed-student-pass>header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1.25rem 1.5rem;color:#fff;background:#172033}.printed-student-pass header div:nth-child(2){display:grid;min-width:0;gap:.15rem}.printed-student-pass header span,.printed-student-pass header em{font-size:.68rem;font-style:normal;letter-spacing:.1em}.printed-student-pass header strong{overflow:hidden;font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.printed-student-pass>main{display:grid;grid-template-columns:150px minmax(0,1fr) 160px;align-items:center;gap:1.25rem;min-height:0;padding:2rem 1.5rem}.printed-pass-photo{display:grid;place-items:center;width:145px;height:175px;overflow:hidden;border:2px solid #e2e8f0;border-radius:12px;color:#fff;background:#b71c50;font-size:2rem;font-weight:800}.printed-pass-photo img{width:100%;height:100%;object-fit:cover}.printed-pass-data small,.printed-pass-data dt{color:#64748b;font-size:.62rem;text-transform:uppercase}.printed-pass-data{min-width:0}.printed-pass-data h3{margin:.25rem 0 1rem;overflow-wrap:anywhere;color:#172033;font-size:clamp(.82rem,2vw,1.2rem);line-height:1.15}.printed-pass-data dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:0}.printed-pass-data dd{margin:.15rem 0 0;overflow-wrap:anywhere;font-size:.78rem;font-weight:700}.printed-pass-data p{display:flex;align-items:center;gap:.35rem;margin:.8rem 0 0;color:#92400e;font-size:.7rem}.printed-pass-qr{display:grid;min-width:0;justify-items:center;gap:.35rem}.printed-pass-qr svg{display:block;max-width:100%;height:auto}.printed-pass-qr span{color:#64748b;font-size:.6rem}.printed-student-pass>footer{display:flex;justify-content:space-between;gap:1rem;min-width:0;padding:1rem 1.5rem;border-top:1px solid #e2e8f0;color:#64748b;font-size:.65rem}.printed-student-pass>footer>*{min-width:0;overflow-wrap:anywhere}.photo-picker{display:flex;align-items:center;gap:.75rem;min-height:62px;padding:.75rem;border:1px dashed var(--color-border);border-radius:9px;cursor:pointer;color:var(--color-brand-400);background:var(--color-surface-3)}.photo-picker:hover{border-color:var(--color-brand-500)}.photo-picker>span{display:grid;gap:.15rem;color:var(--color-text-1)}.photo-picker small{color:var(--color-text-3);font-size:.72rem}.photo-picker input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.photo-preview-picker{grid-column:1 / -1;display:flex;align-items:center;gap:1rem;padding:.85rem;border:1px dashed var(--color-border);border-radius:10px;background:var(--color-surface-3)}.photo-preview-picker.compact{width:100%;display:grid;justify-items:center;padding:0;border:0;background:transparent}.photo-preview-frame{display:grid;place-items:center;width:92px;height:92px;flex:0 0 auto;overflow:hidden;border:2px solid rgba(183,28,80,.3);border-radius:50%;color:var(--color-brand-400);background:#b71c501a}.photo-preview-picker.compact .photo-preview-frame{width:116px;height:116px}.photo-preview-frame img{width:100%;height:100%;object-fit:cover}.photo-preview-copy{display:grid;min-width:0;gap:.22rem;color:var(--color-text-1)}.photo-preview-copy strong{overflow-wrap:anywhere;font-size:.84rem}.photo-preview-copy small{color:var(--color-text-3);font-size:.72rem}.photo-preview-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.4rem}.photo-preview-actions .btn{min-height:34px;font-size:.72rem}.photo-preview-actions input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.social-grid{margin-top:1rem}.social-links-preview{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.social-links-preview a{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .6rem;border:1px solid var(--color-border);border-radius:999px;color:var(--color-brand-400);font-size:.75rem;text-decoration:none}.form-help{margin-top:.75rem;color:var(--color-text-3);font-size:.72rem}.guardian-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.guardian-cards article{display:flex;align-items:center;gap:.75rem;padding:.8rem;border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface-3)}.guardian-cards article>div{display:grid;min-width:0;gap:.15rem}.guardian-cards strong{overflow:hidden;color:var(--color-text-1);text-overflow:ellipsis;white-space:nowrap}.guardian-cards small,.guardian-cards span{color:var(--color-text-3);font-size:.72rem}.list-search{display:flex;align-items:center;gap:8px;max-width:520px;margin:1rem 1.25rem;padding:7px 12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-3)}.list-search svg{color:var(--color-text-3)}.list-search .input{padding:0;border:0;background:transparent}.pagination-row{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem}.pagination-row>span{color:var(--color-text-3);font-size:.8rem}.pagination-row>div{display:flex;gap:.5rem}.student-list-toolbar{display:flex;align-items:center;gap:.6rem;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border)}.student-list-search{display:flex;align-items:center;flex:1 1 420px;min-width:180px;max-width:680px;gap:.5rem;padding:.48rem .75rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-3)}.student-list-search>svg{flex:0 0 auto;color:var(--color-text-3)}.student-list-search .input{min-width:0;padding:0;border:0;background:transparent}.student-list-toolbar .btn.active{border-color:var(--color-brand-500);color:var(--color-brand-400);background:#b71c5014}.filter-count{display:grid;min-width:18px;height:18px;place-items:center;padding:0 .3rem;border-radius:999px;color:#fff;background:var(--color-brand-500);font-size:.65rem}.student-advanced-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface-3) 55%,transparent)}.student-advanced-filters label{display:grid;align-content:start;gap:.35rem;min-width:0}.enrollment-summary{display:grid;gap:.15rem}.enrollment-summary strong{color:var(--color-text-1);font-size:.8rem}.enrollment-summary small{max-width:340px;overflow:hidden;color:var(--color-text-3);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.student-pagination{display:grid;grid-template-columns:minmax(150px,1fr) auto auto;align-items:center;gap:1rem;padding:1rem 1.25rem}.student-pagination>span,.student-pagination label>span{color:var(--color-text-3);font-size:.76rem}.student-pagination label{display:flex;align-items:center;gap:.5rem}.student-pagination select.input{width:72px;min-height:34px;padding:.35rem .5rem}.pagination-buttons{display:flex;gap:.35rem}.pagination-buttons .btn{min-width:34px;padding-inline:.5rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .2s ease forwards}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:20px;height:20px;border:2px solid var(--color-surface-4);border-top-color:var(--color-brand-500);border-radius:50%;animation:spin .65s linear infinite}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:var(--color-text-3);text-align:center;gap:.75rem}.empty-state-icon{width:48px;height:48px;opacity:.4}.modal-backdrop{position:fixed;inset:0;z-index:50;padding:1rem;display:grid;place-items:center;background:#000000ad}.modal-card{width:min(620px,100%);max-height:90vh;overflow-y:auto;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:14px;padding:1.5rem;box-shadow:0 24px 70px #0006}.details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.details-grid div{padding:.875rem;border-radius:8px;background:var(--color-surface-3)}.details-grid dt{font-size:.72rem;color:var(--color-text-3);text-transform:uppercase;letter-spacing:.04em}.details-grid dd{margin-top:.25rem;color:var(--color-text-1);font-weight:600}.filters-grid{display:grid;grid-template-columns:minmax(220px,2fr) repeat(4,minmax(150px,1fr));gap:.75rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.feedback-success{margin-bottom:1rem;padding:.75rem 1rem;border-radius:8px;color:var(--color-success);background:#22c55e1f;border:1px solid rgba(34,197,94,.25);font-size:.875rem}.feedback-danger{margin-bottom:1rem;padding:.75rem 1rem;border-radius:8px;color:#ef6b7e;background:#b71c501f;border:1px solid rgba(183,28,80,.25);font-size:.875rem}.settings-heading{margin-bottom:1rem}.company-context-badge{padding:.45rem .7rem;border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-2);background:var(--color-surface-3);font-size:.75rem;font-weight:700}.settings-tabs{display:flex;gap:.35rem;margin-bottom:1rem;padding:.35rem;overflow-x:auto;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-2)}.settings-tabs button{display:inline-flex;align-items:center;gap:.45rem;flex:0 0 auto;padding:.65rem .85rem;border:0;border-radius:7px;cursor:pointer;color:var(--color-text-3);background:transparent;font:inherit;font-size:.82rem;font-weight:700}.settings-tabs button:hover{color:var(--color-text-1);background:var(--color-surface-3)}.settings-tabs button.active{color:#fff;background:var(--color-brand-600)}.settings-stack{display:grid;gap:1rem}.import-type-tabs{display:flex;flex-wrap:wrap;gap:.45rem}.import-type-tabs button{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-2);background:var(--color-surface-2);cursor:pointer}.import-type-tabs button.active{border-color:var(--color-brand-500);color:#fff;background:var(--color-brand-600)}.charge-item-chips.catalog-readonly>div{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem;border:1px solid var(--color-border);border-radius:9px}.charge-item-chips.catalog-readonly>div span{display:grid}.settings-panel{padding:1.25rem}.settings-panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.settings-panel-title h3{margin:.25rem 0;color:var(--color-text-1)}.settings-panel-title p{max-width:760px;color:var(--color-text-3);font-size:.85rem;line-height:1.5}.erp-integration-panel{display:grid;gap:1rem}.erp-connection-grid{display:grid;grid-template-columns:1.25fr .7fr 1.25fr auto;gap:.75rem;align-items:end}.erp-master-switch{display:flex;align-items:flex-start;gap:.75rem;padding:.85rem;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-2)}.erp-master-switch input{margin-top:.2rem}.erp-master-switch span,.erp-company-context{display:grid;gap:.2rem}.erp-master-switch small,.erp-company-context small,.erp-article-search small{color:var(--color-text-3);font-size:.72rem;line-height:1.4}.erp-company-context{padding:.72rem .85rem;border:1px solid var(--color-border);border-radius:10px}.erp-company-context span{color:var(--color-text-3);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}.erp-endpoints{display:flex;gap:.5rem;flex-wrap:wrap}.erp-endpoints span{display:flex;gap:.35rem;padding:.4rem .6rem;border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-3);font-size:.68rem;overflow-wrap:anywhere}.erp-endpoints b{color:var(--color-text-2)}.erp-article-search{display:grid;grid-template-columns:1fr minmax(280px,420px) auto;align-items:end;gap:.75rem;padding:1rem;border:1px solid var(--color-border);border-radius:11px;background:var(--color-surface-2)}.erp-article-search>div:first-child{display:grid;gap:.25rem}.erp-mapping-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.erp-mapping-card{display:grid;gap:.75rem;padding:.9rem;border:1px solid var(--color-border);border-radius:11px;background:var(--color-surface-2);opacity:.78}.erp-mapping-card.enabled{border-color:#b71c5073;opacity:1}.erp-mapping-card header,.erp-mapping-card header label,.erp-mapping-card footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.erp-mapping-card header label{justify-content:flex-start}.erp-mapping-card header span{display:grid;gap:.15rem}.erp-mapping-card header small{color:var(--color-text-3);font-size:.65rem}.erp-mapping-fields{display:grid;grid-template-columns:1.25fr 1.25fr .6fr .9fr;gap:.6rem}.erp-mapping-card footer{padding-top:.65rem;border-top:1px solid var(--color-border);color:var(--color-text-3);font-size:.7rem}.erp-mapping-card footer label{display:flex;align-items:center;gap:.4rem}.erp-dispatch-history{display:grid;gap:.75rem;padding-top:1rem;border-top:1px solid var(--color-border)}.erp-dispatch-error{display:block;max-width:280px;margin-top:.3rem;color:var(--color-danger);font-size:.68rem;white-space:normal}.permission-column button:disabled{cursor:not-allowed;opacity:.58}.eyebrow{color:var(--color-brand-400);font-size:.68rem;font-weight:800;letter-spacing:.1em}.profile-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.25rem}.profile-settings-grid>label{display:grid;gap:.55rem;padding:1rem;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-3)}.profile-settings-grid strong{color:var(--color-text-1)}.profile-settings-grid small{min-height:2.2em;color:var(--color-text-3)}.profile-settings-grid em{display:flex;align-items:center;gap:.35rem;color:var(--color-success);font-size:.72rem;font-style:normal}.profile-setting-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;color:var(--color-brand-400);background:#b71c5021}.profile-setting-icon svg{width:19px}.settings-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.25rem}.settings-actions>span{color:var(--color-text-3);font-size:.78rem}.settings-notice{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem;border-radius:8px;font-size:.82rem}.settings-notice.success{color:var(--color-success);background:#22c55e1a}.settings-notice.error{color:#ef6b7e;background:#b71c501f}.password-field{position:relative}.password-field .input{width:100%;padding-right:2.75rem}.password-toggle{position:absolute;top:50%;right:.65rem;transform:translateY(-50%);display:grid;place-items:center;padding:.25rem;border:0;background:transparent;color:var(--text-muted);cursor:pointer}.settings-coming{min-height:220px}.assessment-settings-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:1rem;align-items:start}.assessment-model-list{position:sticky;top:76px;display:grid;gap:.55rem;padding:.8rem}.assessment-model-list>div{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.2rem .15rem .5rem}.assessment-model-list>button{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.65rem;width:100%;padding:.75rem;border:1px solid transparent;border-radius:9px;color:var(--color-text-2);background:transparent;cursor:pointer;text-align:left}.assessment-model-list>button:hover,.assessment-model-list>button.active{border-color:var(--color-brand-500);background:var(--color-surface-3)}.assessment-model-list>button>svg{margin-top:.2rem;color:var(--color-brand-400)}.assessment-model-list>button>span{display:grid;gap:.12rem;min-width:0}.assessment-model-list>button strong{overflow:hidden;color:var(--color-text-1);font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.assessment-model-list>button small{color:var(--color-text-3);font-size:.67rem}.assessment-model-list>button em{grid-column:2;justify-self:start;font-style:normal}.assessment-empty{padding:1rem .4rem;color:var(--color-text-3);font-size:.75rem;line-height:1.5}.assessment-editor{display:grid;gap:1rem;min-width:0}.assessment-version-history{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;margin-top:1rem;padding:.65rem;border-radius:8px;color:var(--color-text-3);background:var(--color-surface-3)}.assessment-basics{margin-top:1rem}.assessment-scale-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:.75rem;margin-top:1rem}.qualitative-bands{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem;margin-top:.75rem}.qualitative-bands label{display:grid;grid-template-columns:1fr 78px;gap:.35rem}.assessment-weight-total{display:grid;min-width:130px;padding:.55rem .75rem;border:1px solid;border-radius:9px;text-align:right}.assessment-weight-total strong{font-size:1.05rem}.assessment-weight-total span{font-size:.65rem}.assessment-weight-total.valid{color:var(--color-success);background:#22c55e1a;border-color:#22c55e40}.assessment-weight-total.invalid{color:#ef6b7e;background:#b71c501a;border-color:#b71c5040}.assessment-components{display:grid;margin-top:1rem;overflow-x:auto}.assessment-components>header,.assessment-components>div{display:grid;grid-template-columns:100px minmax(190px,1.5fr) minmax(150px,1fr) 110px 140px 44px;gap:.55rem;align-items:center;min-width:820px}.assessment-components>header{padding:.4rem .2rem;color:var(--color-text-3);font-size:.65rem;font-weight:700;text-transform:uppercase}.assessment-components>div{padding:.55rem .2rem;border-top:1px solid var(--color-border)}.assessment-weight-input{position:relative}.assessment-weight-input input{padding-right:28px}.assessment-weight-input span{position:absolute;right:10px;top:9px;color:var(--color-text-3);font-size:.75rem}.assessment-teacher-toggle{display:flex;align-items:center;gap:.45rem;color:var(--color-text-2);font-size:.72rem}.assessment-teacher-toggle input,.assessment-normalize input{accent-color:var(--color-brand-500)}.assessment-add-component{margin-top:.8rem}.assessment-rules-grid{display:grid;grid-template-columns:2fr 1fr 2fr;gap:.75rem;align-items:end;margin-top:1rem}.assessment-normalize{display:flex;align-items:flex-start;gap:.65rem;padding:.65rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-3)}.assessment-normalize>span{display:grid;gap:.1rem}.assessment-normalize strong{color:var(--color-text-1);font-size:.75rem}.assessment-normalize small{color:var(--color-text-3);font-size:.67rem;line-height:1.35}.assessment-participation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.assessment-save-bar{position:sticky;bottom:.75rem;z-index:5;display:flex;align-items:center;justify-content:flex-end;gap:.65rem;padding:.8rem;border:1px solid var(--color-border);border-radius:11px;background:color-mix(in srgb,var(--color-surface-2) 94%,transparent);box-shadow:0 12px 35px #00000040;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.assessment-save-bar>span{margin-right:auto;color:var(--color-text-3);font-size:.75rem}.profile-permission-grid{display:grid;gap:1rem;margin-top:1.25rem}.profile-permission-card{padding:1rem;border:1px solid var(--color-border);border-radius:11px;background:var(--color-surface-3)}.profile-permission-heading{display:flex;align-items:center;gap:.75rem;margin-bottom:.9rem}.profile-permission-heading>div{display:grid;gap:.2rem}.profile-permission-heading strong{color:var(--color-text-1)}.profile-permission-heading small{color:var(--color-text-3);font-size:.77rem}.profile-permission-card>label{display:grid;gap:.4rem;max-width:620px}.profile-status{display:flex;align-items:center;gap:.35rem;margin-top:.5rem;color:var(--color-success);font-size:.72rem}.entity-permission-scope{display:flex;gap:.6rem;margin:1rem 0 .75rem;padding:.7rem;border-radius:8px;color:var(--color-brand-300);background:#2a6ef514}.entity-permission-scope>span{display:grid;gap:.15rem}.entity-permission-scope strong{color:var(--color-text-1);font-size:.78rem}.entity-permission-scope small{color:var(--color-text-3);font-size:.72rem}.permission-transfer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.permission-column{overflow:hidden;min-height:170px;border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface-2)}.permission-column>header{display:flex;align-items:center;justify-content:space-between;padding:.65rem .75rem;border-bottom:1px solid var(--color-border);color:var(--color-text-1);font-size:.75rem}.permission-column>header span{display:grid;place-items:center;min-width:23px;height:23px;border-radius:999px;color:var(--color-text-2);background:var(--color-surface-4)}.permission-column>div{display:grid;gap:.4rem;padding:.5rem}.permission-column button{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;padding:.65rem;border:1px solid transparent;border-radius:7px;cursor:pointer;color:var(--color-text-2);background:transparent;font:inherit;text-align:left}.permission-column button:hover{border-color:var(--color-brand-500);background:var(--color-surface-3)}.permission-column button>span{display:grid;gap:.12rem}.permission-column button strong{color:var(--color-text-1);font-size:.74rem}.permission-column button small{color:var(--color-text-3);font-size:.68rem}.permission-column button em{color:var(--color-brand-400);font-size:.62rem;font-style:normal}.permission-empty{padding:1.25rem .75rem;color:var(--color-text-3);font-size:.72rem;text-align:center}.permission-loading{display:flex;align-items:center;justify-content:center;gap:.6rem;min-height:170px;color:var(--color-text-3);font-size:.78rem}.permission-loading .spinner{width:16px;height:16px}.school-selector-modal{width:min(760px,100%);padding:0;overflow:hidden}.school-selector-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem;border-bottom:1px solid var(--color-border)}.school-selector-heading>div{display:flex;align-items:center;gap:.75rem}.school-selector-heading h2{margin:0;color:var(--color-text-1);font-size:1.1rem}.school-selector-heading p{margin-top:.2rem;color:var(--color-text-3);font-size:.76rem}.school-selector-tools{display:flex;align-items:stretch;gap:.65rem;margin:1rem 1.25rem}.school-selector-search{display:flex;align-items:center;flex:1;gap:.55rem;margin:0;padding:.7rem .8rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-3)}.school-selector-search svg{color:var(--color-text-3)}.school-selector-search input{width:100%;border:0;outline:0;color:var(--color-text-1);background:transparent;font:inherit;font-size:.82rem}.school-selector-modal .feedback-danger{margin:0 1.25rem 1rem}.school-selector-list{display:grid;gap:.5rem;max-height:52vh;overflow-y:auto;padding:0 1.25rem 1rem}.school-option-wrap{display:grid;border-radius:9px}.school-option{display:flex;align-items:center;gap:.75rem;width:100%;padding:.8rem;border:1px solid var(--color-border);border-radius:9px;cursor:pointer;color:var(--color-text-2);background:var(--color-surface-3);font:inherit;text-align:left}.school-option:hover:not(:disabled),.school-option.selected{border-color:var(--color-brand-500);background:#2a6ef514}.school-option:disabled{cursor:not-allowed;opacity:.62}.school-option-wrap.blocked .school-option{border-radius:9px 9px 0 0}.school-commercial-action{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .8rem;border:1px solid var(--color-border);border-top:0;border-radius:0 0 9px 9px;color:var(--color-text-2);background:#b71c5012;font-size:.7rem;line-height:1.4}.school-commercial-action .btn{flex:0 0 auto;min-height:32px;padding:.4rem .65rem;text-decoration:none}.school-license-refresh{white-space:nowrap}.spin{animation:spin .8s linear infinite}.school-option-check{display:grid;place-items:center;flex:0 0 auto;width:32px;height:32px;border-radius:8px;color:var(--color-brand-400);background:#b71c501f}.school-option-copy{display:grid;min-width:0;flex:1;gap:.08rem}.school-option-copy strong,.school-option-copy small,.school-option-copy em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.school-option-copy strong{color:var(--color-text-1);font-size:.8rem}.school-option-copy small{color:var(--color-text-3);font-size:.7rem}.school-option-copy em{color:var(--color-text-2);font-size:.66rem;font-style:normal}.license-chip{flex:0 0 auto;max-width:190px;padding:.35rem .5rem;border-radius:999px;color:var(--color-text-2);background:var(--color-surface-4);font-size:.62rem;text-align:center}.license-chip.valid{color:var(--color-success);background:#22c55e1f}.license-chip.expired{color:#f59e0b;background:#f59e0b1f}.license-chip.unavailable{color:#ef6b7e;background:#b71c501f}.school-selector-empty{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:160px;color:var(--color-text-3);font-size:.8rem}.school-selector-empty .spinner{width:16px;height:16px}.school-selector-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1.25rem;border-top:1px solid var(--color-border);color:var(--color-text-3);font-size:.72rem}.table-subtitle{display:block;margin-top:.18rem;color:var(--color-text-3);font-size:.7rem;font-weight:400}.field-button{display:flex;align-items:flex-end}.occupancy{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}.curriculum-manager{margin-top:1rem}.curriculum-list{display:grid;gap:.45rem;margin-bottom:1rem}.curriculum-list>div{display:flex;justify-content:space-between;gap:1rem;padding:.65rem .75rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-3)}.curriculum-list>div>div{display:grid;gap:.15rem}.curriculum-list select{width:auto;min-width:120px}.curriculum-list strong{color:var(--color-text-1);font-size:.78rem}.curriculum-list span{color:var(--color-text-3);font-size:.7rem}.feedback-warning{margin-bottom:1rem;padding:.75rem .9rem;border:1px solid rgba(245,158,11,.3);border-radius:8px;color:#d49314;background:#f59e0b17;font-size:.78rem}.enrollment-filters{padding:1rem 1.25rem;border-bottom:1px solid var(--color-border)}.filter-actions{display:flex;justify-content:flex-end;margin-top:.75rem}.search-input{display:flex;align-items:center;gap:.5rem;min-height:39px;padding:.55rem .7rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-3)}.search-input svg{flex:0 0 auto;color:var(--color-text-3)}.search-input input{width:100%;border:0;outline:0;color:var(--color-text-1);background:transparent;font:inherit;font-size:.8rem}.student-search-results{display:grid;gap:.35rem;max-height:230px;margin-top:.75rem;overflow-y:auto}.student-search-results button{display:grid;gap:.18rem;padding:.7rem .8rem;border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-1);background:var(--color-surface-3);font:inherit;text-align:left;cursor:pointer}.student-search-results button:hover{border-color:var(--color-brand-500);background:#b71c5012}.student-search-results button span{font-size:.8rem;font-weight:700}.student-search-results button small,.student-result-empty{color:var(--color-text-3);font-size:.7rem}.student-result-empty{display:flex;align-items:center;justify-content:center;gap:.45rem;min-height:72px}.student-result-empty .spinner{width:15px;height:15px}.selected-student-card{display:flex;align-items:center;gap:.75rem;margin-top:.8rem;padding:.8rem;border:1px solid rgba(34,197,94,.3);border-radius:9px;background:#22c55e14}.selected-student-card .student-avatar{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:10px;color:#fff;background:var(--color-brand-600);font-size:.72rem;font-weight:800}.selected-student-card>div:nth-child(2){display:grid;flex:1;gap:.15rem;min-width:0}.selected-student-card strong{color:var(--color-text-1);font-size:.82rem}.selected-student-card span{overflow:hidden;color:var(--color-text-3);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.enrollment-review{display:grid;gap:.25rem;margin-top:1rem;padding:.8rem .9rem;border-left:3px solid var(--color-brand-500);border-radius:6px;background:var(--color-surface-3)}.enrollment-review strong{color:var(--color-text-1);font-size:.75rem}.enrollment-review span{color:var(--color-text-2);font-size:.75rem}.enrollment-document-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-bottom:1rem}.enrollment-print-document{color:#172033;background:#fff}.enrollment-print-document>header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding-bottom:1rem;border-bottom:2px solid #b71c50}.document-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;color:#fff;background:#b71c50;font-size:1.35rem;font-weight:900}.enrollment-print-document header p{margin:0 0 .15rem;color:#b71c50;font-size:.66rem;font-weight:800;letter-spacing:.09em}.enrollment-print-document header h2{margin:0;color:#172033;font-size:1.1rem}.enrollment-print-document header span{color:#64748b;font-size:.68rem}.enrollment-print-document header>strong{color:#172033;font:700 .78rem monospace}.document-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin:1rem 0}.document-summary>div{display:grid;gap:.2rem;padding:.65rem;border-radius:7px;background:#f1f5f9}.document-summary span,.document-grid dt{color:#64748b;font-size:.62rem;text-transform:uppercase;letter-spacing:.04em}.document-summary strong{color:#172033;font-size:.76rem}.enrollment-print-document section{margin-top:1rem}.enrollment-print-document section h3{display:flex;align-items:center;gap:.4rem;margin:0 0 .55rem;padding-bottom:.35rem;border-bottom:1px solid #e2e8f0;color:#b71c50;font-size:.78rem}.document-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.45rem .9rem;margin:0}.document-grid>div{min-width:0}.document-grid dd{margin:.12rem 0 0;color:#172033;font-size:.74rem;font-weight:600;overflow-wrap:anywhere}.enrollment-print-document footer{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:2.5rem}.enrollment-print-document footer>div{padding-top:.45rem;border-top:1px solid #64748b;color:#64748b;font-size:.65rem;text-align:center}.enrollment-print-document footer p{grid-column:1 / -1;margin:1rem 0 0;color:#94a3b8;font-size:.58rem;text-align:center}@media print{@page{size:A4;margin:14mm}body *{visibility:hidden!important}.enrollment-document-modal,.enrollment-document-modal *,.student-pass-modal,.student-pass-modal *{visibility:visible!important}.enrollment-document-backdrop{position:static;display:block;padding:0;background:#fff}.enrollment-document-modal{position:absolute;inset:0;width:100%;max-width:none;max-height:none;margin:0;padding:0;overflow:visible;border:0;box-shadow:none;background:#fff}.student-pass-backdrop{position:static;display:block;padding:0;background:#fff}.student-pass-modal{position:absolute;inset:0;width:100%;max-width:none;max-height:none;margin:0;padding:0;overflow:visible;border:0;box-shadow:none;background:#fff}.printed-student-pass{width:85.6mm;height:53.98mm;aspect-ratio:auto;border-width:1mm;border-radius:3.18mm}.printed-student-pass>header{gap:2mm;padding:2mm 3mm}.printed-student-pass .document-mark{width:7mm;height:7mm;font-size:3mm}.printed-student-pass header span,.printed-student-pass header em{font-size:1.6mm}.printed-student-pass header strong{font-size:2.5mm}.printed-student-pass>main{grid-template-columns:18mm 1fr 20mm;gap:2.5mm;min-height:0;padding:2.5mm 3mm}.printed-pass-photo{width:17mm;height:22mm;border-radius:1.5mm}.printed-pass-data small,.printed-pass-data dt{font-size:1.45mm}.printed-pass-data h3{margin:.5mm 0 1.5mm;font-size:2.8mm}.printed-pass-data dl{gap:.8mm}.printed-pass-data dd{font-size:1.75mm}.printed-pass-data p{margin-top:1mm;font-size:1.55mm}.printed-pass-qr svg{width:18mm;height:18mm}.printed-pass-qr span{font-size:1.35mm}.printed-student-pass>footer{padding:1.3mm 3mm;font-size:1.45mm}.document-template-renderer{box-shadow:none}.document-template-renderer.page-format{width:var(--template-page-width)!important;height:var(--template-page-height)!important;aspect-ratio:auto}.document-template-renderer.card-format{width:85.6mm;height:53.98mm;aspect-ratio:auto;border-radius:3.18mm}.print-hidden{display:none!important}.enrollment-print-document{min-height:260mm;print-color-adjust:exact;-webkit-print-color-adjust:exact}}.pre-portal{min-height:100vh;width:100%;display:grid;grid-template-columns:minmax(310px,.78fr) minmax(540px,1.22fr);background:var(--color-surface)}.pre-hero{position:sticky;top:0;height:100vh;padding:clamp(2rem,5vw,5rem);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;color:#fff;background:radial-gradient(circle at 85% 18%,rgba(225,29,72,.35),transparent 32%),linear-gradient(145deg,#121217,#21111a 58%,#3b0d1e)}.pre-hero:after{content:"";position:absolute;width:440px;height:440px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-210px;bottom:-150px;box-shadow:0 0 0 70px #ffffff06,0 0 0 140px #ffffff05}.pre-brand{position:relative;z-index:1;display:flex;align-items:center;gap:.8rem;color:#fff;text-decoration:none;font-size:1.15rem;font-weight:750}.pre-brand b{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#fff;color:#b71c50;font-size:1.35rem}.pre-brand span{display:flex;flex-direction:column;line-height:1.1}.pre-brand strong{color:#fb7185;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.pre-hero>div{position:relative;z-index:1;max-width:570px}.pre-hero h1{margin:.8rem 0 1.25rem;font-size:clamp(2.55rem,5vw,5rem);line-height:.98;letter-spacing:-.055em}.pre-hero p{color:#d6cbd1;font-size:1rem;line-height:1.7}.pre-trust{display:flex;align-items:center;gap:.65rem;font-size:.8rem;color:#f3b5c7}.pre-workspace{min-width:0;padding:clamp(1.25rem,4vw,4.5rem);display:flex;flex-direction:column;justify-content:center}.pre-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:.45rem;margin:0 auto 1.25rem;width:min(100%,920px)}.pre-progress span{display:flex;align-items:center;gap:.45rem;color:var(--color-text-3);font-size:.7rem;font-weight:650;white-space:nowrap}.pre-progress b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--color-surface-3)}.pre-progress .active{color:var(--color-text-1)}.pre-progress .active b{background:var(--color-brand-500);color:#fff}.pre-progress .done b{background:var(--color-success);color:#fff}.pre-panel{width:min(100%,920px);margin:0 auto;padding:clamp(1.25rem,3vw,2.25rem);border:1px solid var(--color-border);border-radius:22px;background:var(--color-surface-2);box-shadow:0 24px 80px #00000029}.pre-panel-heading{display:flex;align-items:flex-start;gap:.9rem;margin-bottom:1.5rem}.pre-panel-heading>svg{padding:.65rem;width:43px;height:43px;border-radius:12px;background:#e11d481f;color:#fb7185}.pre-panel-heading h2{font-size:1.45rem;line-height:1.2}.pre-panel-heading p{margin-top:.3rem;color:var(--color-text-3);font-size:.86rem}.pre-identity{display:grid;grid-template-columns:1fr auto;align-items:end;gap:.8rem}.pre-identity .btn{min-height:44px}.pre-tracking{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--color-border)}.pre-tracking>button{border:0;background:transparent;color:#fb7185;cursor:pointer;font:inherit;font-size:.8rem}.pre-tracking>div{margin-top:.8rem;display:grid;grid-template-columns:1fr 1.5fr auto;gap:.55rem}.pre-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.pre-form-grid>.btn{align-self:end;min-height:44px}.pre-form-grid small{display:block;margin-top:.35rem;color:var(--color-text-3)}.pre-school-grid,.pre-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1.35rem}.pre-school-card,.pre-option-card{border:1px solid var(--color-border);border-radius:14px;padding:1rem;background:var(--color-surface-3);color:var(--color-text-1);text-align:left;cursor:pointer}.pre-school-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem}.pre-school-card>svg:first-child{color:#fb7185}.pre-school-card span{min-width:0;display:flex;flex-direction:column}.pre-school-card small,.pre-option-card small,.pre-option-card p{color:var(--color-text-3)}.pre-school-card:hover,.pre-option-card:hover,.pre-option-card.selected{border-color:var(--color-brand-400);transform:translateY(-1px)}.pre-option-card h3{margin:.65rem 0 .2rem;font-size:1rem}.pre-option-card p{margin:0 0 .3rem;font-size:.8rem}.pre-empty{grid-column:1/-1;padding:2rem;text-align:center;color:var(--color-text-3)}.pre-actions{display:flex;justify-content:space-between;gap:.75rem;margin-top:1.5rem}.pre-check{margin:1.25rem 0;padding:1rem;display:flex;align-items:flex-start;gap:.75rem;border:1px solid var(--color-border);border-radius:12px}.pre-check span{display:flex;flex-direction:column}.pre-check small{color:var(--color-text-3)}.pre-subsection{padding:1rem;margin-bottom:1rem;border-radius:14px;background:var(--color-surface-3)}.pre-review{margin-top:1.25rem;padding:1rem;display:flex;flex-wrap:wrap;gap:.55rem 1.2rem;border-radius:12px;background:#e11d4814;color:var(--color-text-2);font-size:.82rem}.pre-result{text-align:center}.pre-result>svg{width:62px;height:62px;margin-bottom:1rem;color:var(--color-success)}.pre-result h2{margin:1rem 0 .5rem}.pre-result>p{color:var(--color-text-3)}.pre-code,.pre-key{margin:1.25rem auto;padding:1rem;max-width:620px;display:flex;flex-direction:column;gap:.3rem;border:1px dashed var(--color-border);border-radius:12px}.pre-code strong{font-size:1.4rem;letter-spacing:.08em}.pre-key code{overflow-wrap:anywhere;color:#fb7185}.pre-key small{color:var(--color-text-3)}.pre-admin-modal{max-height:calc(100vh - 2rem);overflow-y:auto}.pre-admin-status{display:flex;gap:.8rem;align-items:center;margin-bottom:1rem}.pre-admin-actions{position:sticky;bottom:-1.5rem;margin:1.5rem -1.5rem -1.5rem;padding:1rem 1.5rem;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.6rem;border-top:1px solid var(--color-border);background:var(--color-surface-2)}.pre-documents{display:flex;flex-wrap:wrap;gap:.5rem}@media(max-width:900px){.pre-portal{grid-template-columns:1fr}.pre-hero{position:relative;height:auto;min-height:330px;padding:2rem}.pre-hero h1{font-size:2.8rem}.pre-workspace{padding:1rem}.pre-progress span{font-size:0;justify-content:center}.pre-progress b{font-size:.7rem}.pre-panel{border-radius:16px}.pre-tracking>div,.pre-identity,.pre-form-grid,.pre-school-grid,.pre-option-grid{grid-template-columns:1fr}.pre-form-grid .span-2{grid-column:auto}.pre-admin-actions{position:static;margin:1.5rem 0 0;padding:1rem 0 0}.pre-admin-actions .btn{flex:1 1 45%}}@media(max-width:520px){.pre-hero{min-height:280px}.pre-hero h1{font-size:2.25rem}.pre-hero p{font-size:.9rem}.pre-workspace{padding:.7rem}.pre-panel{padding:1rem}.pre-portal input,.pre-portal select,.pre-portal textarea{font-size:16px}.pre-actions{flex-direction:column-reverse}.pre-actions .btn{width:100%;justify-content:center}}.modal-card-wide{width:min(780px,100%)}.student-profile-modal{width:min(1040px,100%);overflow-x:hidden}.form-section{margin:0 0 1rem;padding:1rem;border:1px solid var(--color-border);border-radius:10px}.form-section legend{padding:0 .4rem;color:var(--color-text-1);font-size:.8rem;font-weight:800}.switch-row{display:flex;align-items:flex-start;gap:.7rem;margin:1rem 0;padding:.85rem 1rem;border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface-3);cursor:pointer}.switch-row input{margin-top:.2rem;accent-color:var(--color-brand-500)}.switch-row span{display:grid;gap:.2rem}.switch-row strong{color:var(--color-text-1);font-size:.85rem}.switch-row small{color:var(--color-text-3);font-size:.75rem}.check-stack{display:grid;align-content:end;gap:.6rem;padding-bottom:.45rem;color:var(--color-text-2);font-size:.82rem}.check-stack label{display:flex;align-items:center;gap:.5rem}.check-stack input{accent-color:var(--color-brand-500)}.student-profile-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:1.25rem;align-items:start}.student-profile-layout>*,.student-profile-main,.student-profile-main>*{min-width:0}.student-profile-main{display:grid;gap:1rem}.student-profile-main>.form-section{margin:0}.student-profile-photo{display:grid;justify-items:stretch;gap:.85rem;padding:1rem;overflow:hidden;border:1px solid var(--color-border);border-radius:11px;background:var(--color-surface-3)}.photo-picker.compact{width:100%;min-height:0;justify-content:center;padding:.6rem}.photo-preview-picker.compact strong,.photo-preview-picker.compact small{max-width:100%;overflow-wrap:anywhere;text-align:center}.student-profile-modal .details-grid{gap:.75rem}.student-profile-modal .details-grid div{min-width:0}.student-profile-modal .details-grid dd{overflow-wrap:anywhere}.student-profile-modal .form-section{min-width:0}.student-profile-modal .form-section legend{max-width:calc(100% - 1rem);background:var(--color-surface-2);white-space:normal}.student-profile-modal .form-help,.student-profile-modal .page-subtitle{overflow-wrap:anywhere;line-height:1.45}.student-create-photo{grid-column:1 / -1;display:flex;align-items:center;gap:.75rem;padding:.8rem;border:1px dashed var(--color-border);border-radius:9px;cursor:pointer;background:var(--color-surface-3)}.student-create-photo>span:not(.student-create-avatar){display:grid;gap:.2rem}.student-create-photo strong{color:var(--color-text-1);font-size:.82rem}.student-create-photo small{color:var(--color-text-3);font-size:.72rem}.student-create-photo input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.student-create-avatar{display:grid;place-items:center;width:48px;height:48px;flex:0 0 auto;border-radius:50%;color:var(--color-brand-400);background:#b71c5021}.contact-links-editor{display:grid;gap:.65rem}.contact-link-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem}.contact-link-row>svg{color:var(--color-text-3)}.contact-link-empty{padding:.8rem;border:1px dashed var(--color-border);border-radius:8px;color:var(--color-text-3);font-size:.76rem;text-align:center}.first-institution-setup{display:grid;justify-items:start;gap:1rem;padding:1.25rem;border:1px solid var(--color-border);border-radius:11px;background:var(--color-surface-3)}.first-institution-setup>svg{color:var(--color-brand-400)}.first-institution-setup h4{margin:0 0 .25rem;color:var(--color-text-1)}.first-institution-setup p{margin:0;color:var(--color-text-3);font-size:.82rem}.first-institution-setup .form-grid{width:100%}.identity-lookup-field{grid-column:1 / -1}.identity-step{border-color:#2a6ef559;background:#2a6ef50b}.identity-step-intro{margin:0 0 .8rem;color:var(--color-text-3);font-size:.78rem;line-height:1.5}.identity-step .lookup-result{margin:.9rem 0 0}.input-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem}.lookup-result{display:grid;gap:.75rem;margin:0 0 1rem;padding:1rem;border:1px solid rgba(34,197,94,.28);border-radius:10px;background:#22c55e12}.lookup-result>div{display:grid;gap:.2rem}.lookup-result strong{color:var(--color-text-1)}.lookup-result small{color:var(--color-text-3)}.lookup-result dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.55rem;margin:0}.lookup-result dl div{padding:.55rem;border-radius:7px;background:var(--color-surface-3)}.lookup-result dt{color:var(--color-text-3);font-size:.68rem;text-transform:uppercase}.lookup-result dd{margin:.15rem 0 0;overflow-wrap:anywhere;color:var(--color-text-1);font-size:.78rem}.lookup-result .btn{justify-self:start}.form-section legend{display:inline-flex;align-items:center;gap:.4rem}.form-grid .span-2{grid-column:1 / -1}.required-mark{margin-left:.35rem;padding:.12rem .35rem;border-radius:999px;color:#fda4af;background:#b71c5029;font-size:.58rem;font-style:normal;text-transform:uppercase}.student-private-editor{display:grid;gap:.15rem;margin-top:1rem}.coordinate-pair{display:grid;gap:.4rem;padding:.7rem;border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface-3)}.coordinate-pair>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.coordinate-pair label{display:grid;gap:.3rem;min-width:0;color:var(--color-text-3);font-size:.68rem}.coordinate-pair .coordinate-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.gps-picker-button{flex:0 0 auto;padding:.42rem .65rem}.gps-map-backdrop{z-index:90}.gps-map-modal{width:min(920px,100%);padding:0;overflow:hidden}.gps-map-modal>header,.gps-map-modal>footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem}.gps-map-modal>header{border-bottom:1px solid var(--color-border)}.gps-map-modal>header h3{margin:.2rem 0 0;color:var(--color-text-1)}.gps-map-modal>header p{margin:.25rem 0 0;color:var(--color-text-3);font-size:.76rem}.gps-map-modal>footer{justify-content:flex-end;border-top:1px solid var(--color-border)}.gps-map-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem;padding:.85rem 1.2rem}.gps-map-canvas{width:100%;height:min(55vh,510px);min-height:330px;background:#dce3e9}.gps-map-status{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:.7rem 1.2rem;color:var(--color-text-3);font-size:.74rem}.gps-map-status strong{color:var(--color-text-1);font-variant-numeric:tabular-nums}.gps-map-modal .leaflet-control-attribution{font-size:9px}.dashboard-welcome{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.75rem;padding:1.5rem 2rem;border:1px solid rgba(42,110,245,.18);border-radius:16px;background:linear-gradient(135deg,#2a6ef51f,#1530af14)}.dashboard-welcome h2{margin:.35rem 0 0;color:var(--color-text-1);font-size:1.375rem;letter-spacing:-.03em}.dashboard-welcome p{margin:.3rem 0 0;color:var(--color-text-3);font-size:.82rem}.dashboard-live{display:flex;align-items:center;gap:.4rem;flex:0 0 auto;padding:.45rem .7rem;border:1px solid rgba(34,197,94,.2);border-radius:8px;color:var(--color-success);background:#22c55e1a;font-size:.72rem;font-weight:700}.dashboard-live span{color:var(--color-text-3);font-weight:500}.dashboard-stats{margin-bottom:1.5rem}.dashboard-stat-card{border-radius:14px}.dashboard-stat-trend{display:flex;align-items:center;gap:.25rem;margin-top:.4rem;color:var(--color-text-3);font-size:.69rem}.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:1.25rem;margin-bottom:1.25rem}.dashboard-side{display:grid;align-content:start;gap:1.25rem}.dashboard-panel{border-radius:14px}.dashboard-panel>header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1.1rem}.dashboard-panel>header>div{display:flex;align-items:center;gap:.5rem}.dashboard-panel h3{margin:0;color:var(--color-text-1);font-size:.9375rem}.dashboard-panel header svg,.dashboard-panel header small{color:var(--color-text-3)}.dashboard-panel header small{font-size:.68rem}.dashboard-activity,.dashboard-calendar,.dashboard-courses{display:grid;gap:.75rem}.dashboard-activity article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.75rem}.dashboard-activity article>span{width:8px;height:8px;margin-top:.3rem;border-radius:50%}.dashboard-activity article>div,.dashboard-calendar article>div{display:grid;min-width:0;gap:.16rem}.dashboard-activity strong,.dashboard-calendar strong,.dashboard-courses strong{color:var(--color-text-1);font-size:.78rem}.dashboard-activity small,.dashboard-calendar small,.dashboard-courses small,.dashboard-activity time,.dashboard-calendar time{color:var(--color-text-3);font-size:.67rem}.dashboard-activity time,.dashboard-calendar time{white-space:nowrap}.dashboard-alert{border-color:#f59e0b33;background:#f59e0b0d}.dashboard-alert.success{border-color:#22c55e33;background:#22c55e0d}.dashboard-alert>div{display:flex;align-items:flex-start;gap:.75rem}.dashboard-alert svg{flex:0 0 auto;color:var(--color-warning)}.dashboard-alert.success svg{color:var(--color-success)}.dashboard-alert strong{color:var(--color-text-1);font-size:.85rem}.dashboard-alert p{margin:.3rem 0 .65rem;color:var(--color-text-3);font-size:.75rem;line-height:1.5}.dashboard-calendar article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:.55rem .7rem;border-radius:8px;background:var(--color-surface-3)}.dashboard-calendar article>span{width:7px;height:7px;border-radius:50%;background:var(--color-info)}.dashboard-calendar article>span.assessment{background:var(--color-warning)}.dashboard-courses article{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.7rem}.dashboard-courses article>span{display:grid;place-items:center;width:23px;height:23px;border-radius:7px;color:var(--color-text-3);background:var(--color-surface-3);font-size:.68rem;font-weight:800}.dashboard-courses article>div{display:grid;gap:.45rem}.dashboard-courses article>div>div{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.dashboard-progress{height:4px;overflow:hidden;border-radius:999px;background:var(--color-surface-4)}.dashboard-progress span{display:block;height:100%;border-radius:inherit;background:var(--color-brand-500);transition:width .5s ease}.dashboard-empty{display:grid;place-items:center;gap:.55rem;min-height:150px;padding:1rem;color:var(--color-text-3);font-size:.75rem;text-align:center}.dashboard-empty.compact{min-height:90px}.sensitive-section{border-color:#f59e0b40;background:#f59e0b06}.privacy-inline,.privacy-note{display:flex;align-items:center;gap:.5rem;margin:0 0 .9rem;padding:.65rem .75rem;border-radius:8px;color:var(--color-text-3);background:var(--color-surface-3);font-size:.72rem;line-height:1.45}.privacy-inline svg{flex:0 0 auto;color:#f59e0b}.private-save{margin:-.35rem 0 1rem}.private-access-note{display:flex;align-items:flex-start;gap:.75rem;margin-top:1rem;padding:1rem;border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-3);background:var(--color-surface-3)}.private-access-note svg{flex:0 0 auto;color:#f59e0b}.private-access-note strong{color:var(--color-text-1)}.private-access-note p{margin:.2rem 0 0;font-size:.75rem}.document-upload{display:grid;grid-template-columns:minmax(130px,.55fr) minmax(220px,1fr) auto;gap:.65rem;align-items:end}.file-control{display:flex;align-items:center;gap:.55rem;min-height:38px;padding:.55rem .7rem;overflow:hidden;border:1px dashed var(--color-border);border-radius:8px;cursor:pointer;color:var(--color-text-2);background:var(--color-surface-3);font-size:.75rem}.file-control span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-control input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.document-list{display:grid;gap:.5rem;margin-top:.85rem}.document-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.65rem;padding:.65rem .75rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-3)}.document-list article>svg{color:var(--color-brand-400)}.document-list article div{display:grid;min-width:0;gap:.15rem}.document-list strong{overflow:hidden;color:var(--color-text-1);font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.document-list small{color:var(--color-text-3);font-size:.66rem}.icon-button{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--color-border);border-radius:7px;cursor:pointer;color:var(--color-text-2);background:transparent}.icon-button:hover{color:var(--color-brand-400);border-color:var(--color-brand-500)}.icon-button.danger:hover{color:#ef6b7e;border-color:#ef6b7e}.selected-files{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.65rem}.selected-files span,.route-chips span{padding:.35rem .55rem;border-radius:999px;color:var(--color-text-2);background:var(--color-surface-3);font-size:.68rem}.fixed-fields-note{display:flex;align-items:flex-start;gap:.75rem;margin:1.1rem 0;padding:.9rem;border:1px solid rgba(42,110,245,.25);border-radius:9px;background:#2a6ef50f}.fixed-fields-note svg{flex:0 0 auto;color:var(--color-brand-400)}.fixed-fields-note strong{color:var(--color-text-1);font-size:.82rem}.fixed-fields-note p{margin:.2rem 0 0;color:var(--color-text-3);font-size:.74rem}.required-field-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.required-field-groups fieldset{padding:.75rem;border:1px solid var(--color-border);border-radius:9px}.required-field-groups legend{padding:0 .35rem;color:var(--color-text-2);font-size:.72rem;font-weight:800}.required-field-groups fieldset>div{display:grid;gap:.45rem}.required-field-groups label{display:flex;align-items:flex-start;gap:.55rem;padding:.55rem;border-radius:7px;cursor:pointer;background:var(--color-surface-3)}.required-field-groups label.selected{outline:1px solid rgba(42,110,245,.4);background:#2a6ef512}.required-field-groups input{margin-top:.18rem;accent-color:var(--color-brand-500)}.required-field-groups span{display:grid;gap:.12rem}.required-field-groups strong{color:var(--color-text-1);font-size:.75rem}.required-field-groups small{color:var(--color-text-3);font-size:.64rem}.privacy-note{margin-top:.85rem}.transport-settings-panel .route-chips{margin-top:.5rem}.route-management-list,.configuration-management-list,.configuration-history{display:grid;gap:.55rem;margin:.9rem 0}.route-management-list>article,.configuration-management-list>article{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:.75rem;padding:.75rem;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-2)}.route-management-list article.inactive,.configuration-management-list article.inactive{opacity:.58}.route-management-list article>div:first-child,.configuration-management-list article>span{display:grid;gap:.15rem}.route-management-list small,.configuration-management-list small{color:var(--color-text-3)}.configuration-row-actions{display:flex;gap:.35rem;flex-wrap:wrap}.configuration-history article{display:flex;justify-content:space-between;gap:1rem;padding:.65rem;border-bottom:1px solid var(--color-border)}.route-price-grid{grid-template-columns:.55fr 1fr 1.3fr .75fr 1fr auto auto}.route-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin:.85rem 0}.route-chips span{display:inline-flex;align-items:center;gap:.4rem}.route-chips strong{color:var(--color-brand-300)}.route-create-grid{display:grid;grid-template-columns:.55fr 1fr 1.3fr auto;gap:.65rem;align-items:end}.import-panel{display:grid;gap:1.15rem}.import-step{flex:0 0 auto;padding:.45rem .65rem;border-radius:999px;color:var(--color-brand-300);background:#2a6ef51a;font-size:.7rem;font-weight:800}.import-upload,.import-success{display:grid;justify-items:center;gap:.65rem;padding:2.25rem 1rem;border:1px dashed var(--color-border);border-radius:11px;color:var(--color-text-3);text-align:center;background:var(--color-surface-3)}.import-upload>svg,.import-success>svg{color:var(--color-brand-400)}.import-upload strong,.import-success h3{margin:0;color:var(--color-text-1)}.import-upload span,.import-success p{font-size:.8rem}.import-upload input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.import-source-summary,.import-summary{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem;padding:.75rem;border-radius:8px;background:var(--color-surface-3)}.import-source-summary{justify-content:space-between}.import-source-summary strong{color:var(--color-text-1)}.import-source-summary span,.import-summary>span:not(.badge){color:var(--color-text-3);font-size:.75rem}.import-mapping-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.import-preview{max-height:420px;overflow:auto;border:1px solid var(--color-border);border-radius:9px}.import-preview table{min-width:720px}.import-row-invalid{background:#b71c500f}.import-valid{display:inline-flex;align-items:center;gap:.3rem;color:var(--color-success)}.import-select-all{justify-self:start;margin-top:-3.65rem}.student-card-settings{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(320px,1.35fr);gap:1rem;margin:1.1rem 0}.student-card-settings>label,.student-card-settings fieldset{display:grid;align-content:start;gap:.45rem;padding:1rem;margin:0;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-3)}.student-card-settings small{color:var(--color-text-3);font-size:.7rem}.student-card-settings legend{padding:0 .3rem;color:var(--color-text-1);font-size:.78rem;font-weight:800}.settings-check{display:flex;align-items:center;gap:.7rem;padding:.55rem;border-radius:7px;cursor:pointer}.settings-check:hover{background:var(--color-surface-2)}.settings-check input{accent-color:var(--color-brand-500)}.settings-check span{display:grid;gap:.1rem}.settings-check strong{color:var(--color-text-1);font-size:.76rem}.scanner-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:1rem;align-items:start}.scanner-camera{display:grid;place-items:center;min-height:260px;margin:1rem 0;overflow:hidden;border:1px dashed var(--color-border);border-radius:12px;color:var(--color-brand-400);background:#080a0f}.scanner-camera video{width:100%;max-height:420px;object-fit:cover}.scan-result{display:grid;justify-items:center;gap:.6rem;padding:1.5rem;border:3px solid var(--color-success);border-radius:14px;text-align:center;background:var(--color-surface-2)}.scan-result.status-attention{border-color:#e9ad28}.scan-result.status-restricted{border-color:var(--color-danger)}.scan-result img{width:92px;height:92px;border-radius:50%;object-fit:cover}.scan-result h3,.scan-result p{margin:0}.scan-result small{color:var(--color-text-3)}.student-submit-error{position:sticky;z-index:3;bottom:.5rem;margin-top:1rem;box-shadow:0 8px 28px #00000047}.card-verification-page{width:100vw;min-height:100vh;flex:1 0 100%;display:grid;place-items:center;padding:1.25rem;background:radial-gradient(circle at top,rgba(183,28,80,.18),transparent 35%),#111217}.card-verification-panel{width:min(480px,100%);overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:18px;color:#f7f7f8;background:#202126;box-shadow:0 24px 80px #00000080}.card-verification-brand{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.08)}.card-verification-brand>span{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,#d81b60,#8f123d);font-weight:800}.card-verification-brand>div{display:grid;gap:.15rem}.card-verification-brand small{color:#9fa1aa}.card-verification-state{display:grid;justify-items:center;gap:.55rem;padding:2rem 1.25rem;text-align:center}.card-verification-state>svg{color:#ef6b7e}.card-verification-state.valid>svg{color:#22c55e}.card-verification-state h1{margin:.2rem 0 0;font-size:1.45rem}.card-verification-state p,.card-verification-state small{margin:0;color:#b9bbc3;line-height:1.5}.card-verification-state dl{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:1rem 0 0;text-align:left}.card-verification-state dl div{min-width:0;padding:.75rem;border-radius:9px;background:#292a30}.card-verification-state dt{color:#8f919b;font-size:.65rem;text-transform:uppercase}.card-verification-state dd{margin:.25rem 0 0;overflow-wrap:anywhere;font-size:.82rem;font-weight:700}.card-verification-panel>footer{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.85rem 1rem;border-top:1px solid rgba(255,255,255,.08);color:#8f919b;font-size:.7rem;text-align:center}.draft-dialog-backdrop{z-index:1200}.draft-dialog{position:relative;width:min(500px,calc(100vw - 2rem));display:grid;grid-template-columns:auto 1fr;gap:1rem;padding:1.4rem;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface-1);box-shadow:0 28px 90px #0000008c}.draft-dialog h3{margin:.2rem 0 .45rem;color:var(--color-text-1);font-size:1.15rem}.draft-dialog p{margin:0;color:var(--color-text-2);font-size:.82rem;line-height:1.55}.draft-dialog small{display:block;margin-top:.65rem;color:#e9ad28;font-size:.7rem}.draft-dialog-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;color:var(--color-brand-300);background:#2a6ef51f}.draft-dialog-icon.warning{color:#e9ad28;background:#e9ad281f}.draft-dialog-close{position:absolute;top:.8rem;right:.8rem;border:0;color:var(--color-text-3);background:transparent;cursor:pointer}.draft-dialog-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.65rem;padding-top:.35rem}.danger-text{color:var(--color-danger)!important}@media(max-width:640px){.person-profile-header{align-items:flex-start;padding-right:0;padding-top:2.75rem}.profile-close{top:0}.guardian-cards,.social-grid,.student-profile-layout{grid-template-columns:1fr}.student-profile-photo{justify-items:start}.input-action,.document-upload,.route-create-grid,.required-field-groups{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.coordinate-pair>div{grid-template-columns:1fr}.coordinate-pair .coordinate-heading{align-items:stretch}.gps-map-search,.gps-map-status{grid-template-columns:1fr}.gps-map-canvas{min-height:50vh}.photo-preview-picker{align-items:flex-start;flex-direction:column}.photo-preview-frame{width:108px;height:108px}}@media(max-width:760px){.page-header{align-items:flex-start;gap:1rem;flex-direction:column}.student-list-toolbar{align-items:stretch;flex-wrap:wrap}.student-list-search{flex-basis:100%;max-width:none}.student-list-toolbar>.btn{flex:1;justify-content:center}.student-advanced-filters{grid-template-columns:1fr}.student-pagination{grid-template-columns:1fr;justify-items:stretch}.student-pagination label{justify-content:space-between}.pagination-buttons{display:grid;grid-template-columns:repeat(4,1fr)}.pagination-buttons .btn{justify-content:center}.details-grid{grid-template-columns:1fr}.topbar{align-items:flex-start;overflow:visible;padding:.75rem}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.tenant-selector-button{order:-2;max-width:min(260px,72vw)}.topbar-search{display:none}.topbar-user>span{display:none}.filters-grid,.form-grid{grid-template-columns:1fr}.input,.search-input input{font-size:16px}.document-summary,.document-grid{grid-template-columns:1fr}.enrollment-print-document>header{grid-template-columns:auto 1fr}.enrollment-print-document header>strong{grid-column:1 / -1}.selected-student-card,.curriculum-list>div{align-items:stretch;flex-direction:column}.curriculum-list select{width:100%}.profile-settings-grid{grid-template-columns:1fr}.settings-panel-title,.settings-actions{align-items:stretch;flex-direction:column}.settings-actions .btn{width:100%;justify-content:center}.permission-transfer,.import-mapping-grid{grid-template-columns:1fr}.import-select-all{justify-self:stretch;margin-top:0}.dashboard-welcome{align-items:flex-start;padding:1.2rem;flex-direction:column}.dashboard-live{align-items:flex-start;flex-wrap:wrap}.dashboard-main-grid{grid-template-columns:1fr}.dashboard-panel>header{align-items:flex-start;flex-direction:column}.dashboard-activity article{grid-template-columns:auto minmax(0,1fr)}.dashboard-activity time{grid-column:2}.school-option{align-items:flex-start;flex-wrap:wrap}.license-chip{margin-left:2.75rem;max-width:calc(100% - 2.75rem)}.school-selector-tools,.school-commercial-action{align-items:stretch;flex-direction:column}.school-license-refresh,.school-commercial-action .btn{justify-content:center;width:100%}.student-card-settings,.scanner-layout,.draft-dialog{grid-template-columns:1fr}.draft-dialog-actions{flex-direction:column-reverse}.draft-dialog-actions .btn{justify-content:center;width:100%}.assessment-settings-layout{grid-template-columns:1fr}.assessment-model-list{position:static}.assessment-scale-grid,.assessment-rules-grid,.assessment-participation-grid{grid-template-columns:1fr}.assessment-save-bar{position:static;align-items:stretch;flex-direction:column}.assessment-save-bar>span{margin-right:0}.assessment-save-bar .btn{justify-content:center;width:100%}}@media(min-width:761px)and (max-width:1180px){.filters-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.finance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.finance-summary article{display:grid;grid-template-columns:auto 1fr;gap:.35rem .65rem;align-items:center;padding:1rem}.finance-summary article svg{grid-row:1/3;color:var(--color-brand-400)}.finance-summary span{color:var(--color-text-3);font-size:.72rem}.finance-summary strong{color:var(--color-text-1);font-size:1.15rem}.finance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.finance-notify,.finance-actions,.finance-cycle-controls{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin:.85rem 0}.finance-notify label,.finance-item-form label{display:flex;gap:.45rem;align-items:center;color:var(--color-text-2);font-size:.75rem}.finance-notify input,.finance-item-form input[type=checkbox],.charge-item-chips input{accent-color:var(--color-brand-500)}.modifier-list{display:grid;gap:.5rem;margin-top:.75rem}.modifier-list>div{display:grid;grid-template-columns:1.4fr 1fr .65fr auto;gap:.45rem}.finance-list{display:grid;gap:.4rem;margin-top:.8rem;max-height:190px;overflow:auto}.finance-list button{display:flex;justify-content:space-between;align-items:center;padding:.65rem;border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-1);background:var(--color-surface-2);cursor:pointer;text-align:left}.finance-list span{display:grid;gap:.15rem}.finance-list small{color:var(--color-text-3)}.finance-item-form{display:grid;grid-template-columns:.55fr 1.2fr .8fr .8fr .55fr auto auto;gap:.55rem;align-items:center}.charge-item-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin-top:1rem}.charge-item-chips label{display:grid;grid-template-columns:auto 1fr auto;gap:.6rem;align-items:center;padding:.7rem;border:1px solid var(--color-border);border-radius:9px;cursor:pointer}.charge-item-chips label.selected{border-color:var(--color-brand-500);background:#e11d4814}.charge-item-chips span{display:grid;gap:.15rem}.charge-item-chips small{color:var(--color-text-3);font-size:.65rem}.finance-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin:1rem 0}.finance-preview>div{display:grid;gap:.2rem;padding:.8rem;border:1px solid var(--color-border);border-radius:9px}.finance-preview strong{font-size:1.05rem}.finance-preview span{color:var(--color-text-3);font-size:.7rem}.finance-cycles{display:grid;gap:.45rem}.finance-cycles article{display:grid;grid-template-columns:auto 1fr auto auto;gap:.65rem;align-items:center;padding:.7rem;border:1px solid var(--color-border);border-radius:9px}.finance-cycles article>span{display:grid}.finance-cycles small{color:var(--color-text-3)}.finance-table{overflow:auto}.finance-table table{width:100%;border-collapse:collapse;white-space:nowrap}.finance-table th,.finance-table td{padding:.7rem;border-bottom:1px solid var(--color-border);text-align:left;font-size:.72rem}.finance-table th{color:var(--color-text-3)}.finance-status{padding:.25rem .45rem;border-radius:20px;background:var(--color-surface-2)}.finance-status.paid{color:var(--color-success)}.finance-status.overdue{color:var(--color-danger)}.finance-doc-actions{display:flex;align-items:center;gap:.3rem}.finance-doc-actions .btn{min-width:34px;justify-content:center;padding:.35rem .45rem}@media(max-width:980px){.finance-summary,.finance-grid,.finance-item-form,.charge-item-chips{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.finance-summary,.finance-grid,.finance-preview,.charge-item-chips,.finance-item-form{grid-template-columns:1fr}.modifier-list>div,.finance-cycles article{grid-template-columns:1fr}.finance-cycle-controls .btn,.finance-cycle-controls .input{width:100%;justify-content:center}}@media(max-width:900px){.route-management-list>article,.configuration-management-list>article{grid-template-columns:1fr}.route-price-grid{grid-template-columns:1fr}}.document-template-editor{overflow:hidden}.template-page-help{margin-bottom:1rem;overflow:hidden;border:1px solid rgba(229,70,116,.28);border-radius:10px;background:#e546740b}.template-page-help>summary{display:flex;align-items:center;gap:.65rem;padding:.8rem .9rem;color:var(--color-text-1);cursor:pointer;list-style:none}.template-page-help>summary::-webkit-details-marker{display:none}.template-page-help>summary svg{flex:0 0 auto;color:var(--color-brand-400)}.template-page-help>summary span{display:grid;gap:.12rem}.template-page-help>summary small{color:var(--color-text-3);font-size:.68rem;font-weight:400}.template-page-help[open]>summary{border-bottom:1px solid var(--color-border)}.template-page-help-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;padding:.85rem}.template-page-help-content article{padding:.8rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-2)}.template-page-help-content article:last-child{grid-column:1/-1}.template-page-help-content h4{margin:0 0 .55rem;font-size:.8rem}.template-page-help-content ul{display:grid;gap:.38rem;margin:0;padding-left:1.05rem;color:var(--color-text-2);font-size:.7rem;line-height:1.45}.template-toolbar{display:grid;grid-template-columns:1fr 1fr 1.2fr auto auto;align-items:end;gap:.55rem;margin-bottom:1rem}.template-toolbar label{display:grid;gap:.3rem}.template-page-settings{display:grid;grid-template-columns:minmax(190px,1.2fr) repeat(3,minmax(125px,.7fr)) minmax(220px,1.4fr) auto minmax(140px,.8fr) auto;align-items:end;gap:.55rem;margin-bottom:1rem;padding:.8rem;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-2)}.template-page-settings-title{grid-column:1/-1;display:flex;align-items:baseline;gap:.7rem}.template-page-settings-title small{color:var(--color-text-3);font-size:.64rem}.template-page-settings label:not(.template-background-upload){display:grid;gap:.3rem}.template-background-url{min-width:220px}.template-background-upload{position:relative;min-height:39px}.template-background-upload input{position:absolute;width:1px;height:1px;opacity:0}.template-page-settings>.btn{white-space:nowrap}.template-workspace{display:grid;grid-template-columns:265px minmax(420px,1fr) 250px;gap:.75rem;min-height:720px}.template-palette,.template-properties{display:grid;align-content:start;gap:.45rem;padding:.75rem;overflow:auto;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-2)}.template-palette>button,.template-palette details button{display:flex;align-items:center;gap:.4rem;width:100%;padding:.45rem;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-2);background:var(--color-surface-3);cursor:pointer;text-align:left;font-size:.68rem}.template-palette details{color:var(--color-text-2);font-size:.7rem}.template-palette summary{display:grid;gap:.15rem;padding:.48rem 0;cursor:pointer}.template-palette summary span{color:var(--color-text-1);font-size:.74rem;font-weight:700}.template-palette summary small,.parameter-help{margin:0;color:var(--color-text-3);font-size:.62rem;line-height:1.4}.template-palette details button{margin:.25rem 0;overflow:hidden;font-size:.62rem}.template-palette .parameter-option{align-items:flex-start;padding:.55rem}.template-palette .parameter-option>span{display:grid;gap:.16rem;min-width:0}.template-palette .parameter-option strong{color:var(--color-text-1);font-size:.68rem;line-height:1.3}.template-palette .parameter-option small{color:var(--color-text-3);font-size:.59rem;line-height:1.35}.template-palette .parameter-option code{overflow:hidden;color:var(--color-primary);font-family:monospace;font-size:.56rem;text-overflow:ellipsis;white-space:nowrap}.template-palette .parameter-option em{color:var(--color-text-2);font-size:.57rem;font-style:normal}.template-dimensions label span{min-height:2.2em;line-height:1.1}.template-canvas-wrap{overflow:auto;padding:1rem;border-radius:10px;background:#30343b}.template-canvas{position:relative;width:min(100%,620px);aspect-ratio:794 / 1123;margin:auto;overflow:hidden;color:#202124;background:#fff;box-shadow:0 12px 35px #00000059}.template-canvas.card-format{width:min(100%,720px);aspect-ratio:85.6 / 53.98;border-radius:3.18%/5%}.template-default-option{display:flex;align-items:center;gap:.55rem;min-height:42px;color:var(--color-text-2);font-size:.68rem}.document-template-renderer{--template-primary:#b71c50;--template-secondary:#f5f5f5;position:relative;width:min(100%,794px);margin:auto;overflow:hidden;box-sizing:border-box;color:#202124;background:#fff;box-shadow:0 12px 35px #00000047;print-color-adjust:exact;-webkit-print-color-adjust:exact}.document-template-renderer.page-format{aspect-ratio:794/1123}.document-template-renderer.card-format{width:min(100%,856px);aspect-ratio:85.6/53.98;border-radius:24px}.document-template-rendered-element{position:absolute;display:flex;overflow:hidden;box-sizing:border-box;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.3}.document-template-rendered-element.type-logo,.document-template-rendered-element.type-image,.document-template-rendered-element.type-qr{align-items:center;justify-content:center}.document-template-rendered-element.type-logo img,.document-template-rendered-element.type-image img{width:100%;height:100%;object-fit:contain}.document-template-rendered-element.type-qr svg{width:100%;height:100%}.document-template-rendered-element.type-line{border-top:2px solid var(--template-primary)}.document-template-placeholder{display:grid;width:100%;height:100%;place-items:center;color:#64748b;border:1px dashed #94a3b8;font-size:.7em}.template-element{position:absolute;display:flex;align-items:center;overflow:hidden;padding:.25rem;border:1px dashed transparent;cursor:move;white-space:pre-line;-webkit-user-select:none;user-select:none}.template-element.selected{border-color:#2563eb!important;outline:2px solid rgba(37,99,235,.2)}.template-element.type-logo,.template-element.type-image,.template-element.type-qr{justify-content:center}.template-element img{max-width:100%;max-height:100%;object-fit:contain}.template-table-sample{display:grid;grid-template-columns:1fr 70px;width:100%;border-top:1px solid #94a3b8;border-left:1px solid #94a3b8}.template-table-sample>*{padding:.25rem;border-right:1px solid #94a3b8;border-bottom:1px solid #94a3b8}.template-properties label{display:grid;gap:.25rem}.template-properties textarea{resize:vertical}.template-dimensions{display:grid;grid-template-columns:repeat(2,1fr);gap:.35rem}.template-dimensions label{color:var(--color-text-3);font-size:.6rem}.template-branding{display:grid;grid-template-columns:minmax(240px,1fr) repeat(3,auto);align-items:end;gap:.75rem;margin-top:.8rem;padding:.75rem;border:1px solid var(--color-border);border-radius:9px}.template-branding label{display:grid;gap:.3rem;color:var(--color-text-3);font-size:.65rem;text-transform:capitalize}.template-branding input[type=color]{width:48px;height:38px;border:1px solid var(--color-border);border-radius:6px;background:transparent}@media(max-width:1100px){.template-workspace{grid-template-columns:150px minmax(380px,1fr)}.template-properties{grid-column:1/-1}.template-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.template-page-settings{grid-template-columns:repeat(3,minmax(0,1fr))}.template-background-url{grid-column:span 2}}@media(max-width:700px){.profile-header-actions{align-items:stretch;flex-direction:column}.template-page-help-content{grid-template-columns:1fr}.template-page-help-content article:last-child{grid-column:auto}.template-workspace{grid-template-columns:1fr}.template-canvas-wrap{min-height:320px}.template-toolbar,.template-branding,.template-page-settings{grid-template-columns:1fr}.template-background-url{grid-column:auto}.student-pass-modal{overflow:auto}.printed-student-pass>main{grid-template-columns:18% minmax(0,1fr) 22%;gap:2.5%;padding:3%}.printed-pass-photo{width:100%;height:auto;aspect-ratio:4/5}.printed-pass-qr svg{width:100%;height:auto}.printed-pass-data h3{font-size:clamp(.65rem,3vw,1.2rem)}}@media(max-width:500px){.printed-student-pass{border-width:3px;border-radius:12px}.printed-student-pass>header{gap:2%;padding:2% 3%}.printed-student-pass .document-mark{width:24px;height:24px;font-size:.65rem}.printed-student-pass header span,.printed-student-pass header em{font-size:.36rem}.printed-student-pass header strong{font-size:.55rem}.printed-pass-data small,.printed-pass-data dt{font-size:.35rem}.printed-pass-data h3{margin:1% 0 3%;font-size:.58rem}.printed-pass-data dl{gap:2%}.printed-pass-data dd{margin-top:0;font-size:.42rem}.printed-pass-data p{margin-top:2%;font-size:.38rem}.printed-pass-qr{gap:1%}.printed-pass-qr span{font-size:.34rem}.printed-student-pass>footer{padding:1.5% 3%;font-size:.34rem}}.enrollment-wizard-modal{max-width:1080px}.wizard-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.35rem;margin:.75rem 0 1rem}.wizard-steps span{display:grid;justify-items:center;gap:.3rem;padding:.55rem .25rem;color:var(--color-text-3);border-bottom:2px solid var(--color-border);font-size:.65rem;text-align:center}.wizard-steps b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;color:var(--color-text-2);background:var(--color-surface-3)}.wizard-steps span.active{color:var(--color-text-1);border-color:var(--color-brand-500)}.wizard-steps span.active b{color:#fff;background:var(--color-brand-500)}.wizard-steps span.done b{color:#fff;background:var(--color-success)}.wizard-body{min-height:430px;display:flex;flex-direction:column}.wizard-body>.form-section{flex:1}.form-section h4{display:flex;align-items:center;gap:.45rem;margin:0 0 .8rem;color:var(--color-text-1)}.wizard-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding-top:.8rem;border-top:1px solid var(--color-border)}.wizard-actions>span{color:var(--color-text-3);font-size:.7rem}.contract-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:1rem}.contract-option-grid label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.65rem;padding:.75rem;border:1px solid var(--color-border);border-radius:9px}.contract-option-grid label.selected{border-color:var(--color-brand-500);background:#e11d480f}.contract-option-grid span{display:grid;gap:.2rem}.contract-option-grid small{color:var(--color-text-3)}.contract-item-editor{display:grid;gap:.55rem;margin-top:1rem}.contract-item-editor label{display:grid;grid-template-columns:auto minmax(180px,1fr) 150px 140px;align-items:center;gap:.65rem;padding:.7rem;border:1px solid var(--color-border);border-radius:9px}.contract-item-editor label.selected{border-color:var(--color-brand-500);background:#e11d480f}.contract-item-editor span{display:grid;gap:.15rem}.contract-item-editor small{color:var(--color-text-3);font-size:.65rem}.contract-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.contract-summary article{display:grid;gap:.35rem;padding:.9rem;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-2)}.contract-summary span{color:var(--color-text-3);font-size:.68rem}.contract-summary strong{font-size:1.05rem}.contract-review-lines,.contract-line-list{display:grid;gap:.35rem;margin-top:.8rem}.contract-review-lines span,.contract-line-list span{padding:.4rem .6rem;border-radius:6px;background:var(--color-surface-2);color:var(--color-text-2);font-size:.72rem}.contract-confirmation{max-width:720px;margin:1rem auto;color:var(--color-text-2)}.contract-confirmation li{margin:.4rem 0}.contract-integrity-strip{display:flex;align-items:center;gap:1.25rem;margin-bottom:1rem;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-1)}.contract-integrity-strip span{display:flex;align-items:center;gap:.4rem}.contract-integrity-strip span.warning{color:var(--color-warning)}.contract-integrity-strip small{margin-left:auto;color:var(--color-text-3)}.contract-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr)) auto;align-items:end;gap:.65rem;margin:1rem 0}.contract-filter-grid label{display:grid;gap:.3rem}.contract-student-filter{min-height:39px;max-height:74px}.filter-button-group{display:flex;gap:.4rem}.contract-preview-warnings{display:grid;gap:.35rem;margin-bottom:.8rem}.contract-preview-warnings span{padding:.45rem .6rem;border-left:3px solid var(--color-warning);background:#f59e0b12;font-size:.7rem}.campaign-history{display:grid;gap:.45rem}.campaign-history article{display:grid;grid-template-columns:auto minmax(180px,1fr) auto auto;align-items:center;gap:.7rem;padding:.7rem;border:1px solid var(--color-border);border-radius:9px}.campaign-history span{display:grid}.campaign-history small{color:var(--color-text-3)}.campaign-history em{color:var(--color-text-3);font-size:.68rem;font-style:normal}.campaign-target-summary{display:flex;flex-wrap:wrap;gap:.5rem;margin:.8rem 0}.campaign-target-summary span{padding:.4rem .6rem;border-radius:20px;background:var(--color-surface-2);font-size:.68rem}.contract-version-timeline{display:grid;gap:.8rem;max-height:70vh;overflow:auto}.contract-version-timeline article{padding:.85rem;border:1px solid var(--color-border);border-left:3px solid var(--color-brand-500);border-radius:9px}.contract-version-timeline header{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem}.contract-version-timeline header b{padding:.25rem .5rem;border-radius:20px;color:#fff;background:var(--color-brand-500)}.contract-version-timeline header em{margin-left:auto;color:var(--color-text-3);font-size:.65rem;font-style:normal}.contract-version-timeline article>div{display:grid;gap:.25rem;margin:.55rem 0}.contract-version-timeline article>div span{display:flex;justify-content:space-between;padding:.35rem .5rem;background:var(--color-surface-2);font-size:.7rem}.contract-version-timeline footer{color:var(--color-text-3);font-size:.68rem}.teacher-contract-panel{display:grid;gap:1rem}.teacher-finance-summary{margin-bottom:0}.teacher-contract-current{border-left:3px solid var(--color-brand-500)}.teacher-contract-terms{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:1rem 0}.teacher-contract-terms>div{display:grid;gap:.25rem;padding:.75rem;border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface-2)}.teacher-contract-terms span{color:var(--color-text-3);font-size:.68rem}.teacher-contract-terms strong{color:var(--color-text-1);font-size:.82rem}.teacher-payroll-section{display:grid;gap:1rem;margin-top:1.5rem}.teacher-payroll-controls{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(220px,1fr) auto auto;align-items:end;gap:.65rem}.teacher-payroll-controls label{display:grid;gap:.3rem}.teacher-payroll-summary{margin-bottom:0}.teacher-payroll-history{padding:1rem}@media(max-width:800px){.teacher-contract-terms{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1000px){.wizard-steps{grid-template-columns:repeat(3,1fr)}.contract-filter-grid,.contract-summary{grid-template-columns:repeat(2,1fr)}.contract-integrity-strip{align-items:flex-start;flex-direction:column}.contract-integrity-strip small{margin-left:0}}@media(max-width:650px){.wizard-steps,.contract-option-grid,.contract-summary,.contract-filter-grid,.teacher-contract-terms{grid-template-columns:1fr}.contract-item-editor label{grid-template-columns:auto 1fr}.contract-item-editor label>.input{grid-column:2}.wizard-actions{align-items:stretch;flex-direction:column}.wizard-actions .btn{justify-content:center;width:100%}.campaign-history article{grid-template-columns:auto 1fr}.campaign-history article>b,.campaign-history article>em{grid-column:2}.filter-button-group{display:grid}.contract-integrity-strip{gap:.6rem}}@media(max-width:980px){.teacher-payroll-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.teacher-payroll-controls{grid-template-columns:1fr}.teacher-payroll-controls .btn{justify-content:center;width:100%}}.guide-backdrop,.guide-drawer-backdrop{position:fixed;inset:0;z-index:1200;background:#030408b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.guide-backdrop{display:grid;place-items:center;padding:1rem}.guide-welcome{width:min(520px,100%);padding:2rem;border:1px solid rgba(229,70,116,.35);border-radius:18px;background:var(--color-surface-2);box-shadow:0 30px 80px #00000073;text-align:center}.guide-welcome-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 1rem;border-radius:18px;color:#fff;background:linear-gradient(135deg,var(--color-brand-400),var(--color-brand-700));box-shadow:0 0 34px #e5467466}.guide-welcome h2{margin:.3rem 0 .65rem;font-size:1.55rem}.guide-welcome>p{color:var(--color-text-2)}.guide-welcome-actions{display:flex;justify-content:center;gap:.7rem;margin:1.5rem 0 1rem}.guide-welcome>small{display:flex;align-items:center;justify-content:center;gap:.25rem;color:var(--color-text-3)}.guide-drawer-backdrop{display:flex;justify-content:flex-end}.guide-drawer{display:flex;flex-direction:column;width:min(460px,100%);height:100%;padding:1.35rem;background:var(--color-surface-2);border-left:1px solid var(--color-border);box-shadow:-24px 0 70px #00000059;animation:guide-drawer-in .2s ease-out}.guide-drawer>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.guide-drawer h2{display:flex;align-items:center;gap:.55rem;margin:.2rem 0;font-size:1.3rem}.guide-drawer header p{color:var(--color-text-3);font-size:.82rem}.guide-search{display:flex;align-items:center;gap:.5rem;margin:1.2rem 0 .7rem;padding:.65rem .8rem;border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface-3);color:var(--color-text-3)}.guide-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--color-text-1);font:inherit}.guide-tour-button{justify-content:center;width:100%}.guide-topic-list{display:flex;flex-direction:column;gap:.65rem;margin-top:1rem;overflow:auto;padding:0 .2rem .5rem}.guide-topic-list>button{display:grid;gap:.22rem;padding:1rem;text-align:left;border:1px solid var(--color-border);border-radius:11px;background:var(--color-surface-3);color:inherit;cursor:pointer}.guide-topic-list>button:hover{border-color:var(--color-brand-400);transform:translateY(-1px);box-shadow:0 8px 24px #00000026}.guide-topic-list span{font-size:.65rem;font-weight:800;letter-spacing:.08em;color:var(--color-brand-400);text-transform:uppercase}.guide-topic-list strong{font-size:.9rem}.guide-topic-list p{font-size:.78rem;line-height:1.45;color:var(--color-text-3)}.guide-topic-list small{font-size:.66rem;color:var(--color-brand-400)}.guide-topic-list em{display:flex;align-items:center;gap:.3rem;margin-top:.2rem;font-size:.72rem;font-style:normal;font-weight:700;color:var(--color-text-2)}.guide-empty{padding:2rem;text-align:center;color:var(--color-text-3)}.guide-drawer>footer{padding-top:.8rem;border-top:1px solid var(--color-border);font-size:.68rem;text-align:right;color:var(--color-text-3)}.guide-focus-card{position:fixed;right:1.25rem;bottom:1.25rem;z-index:1250;width:min(430px,calc(100vw - 2rem));max-height:calc(100vh - 2.5rem);overflow:auto;padding:1.1rem;border:1px solid rgba(229,70,116,.45);border-radius:14px;background:var(--color-surface-2);box-shadow:0 18px 55px #0006,0 0 30px #b71c5026}.guide-focus-card>header{display:flex;justify-content:space-between;align-items:center}.guide-focus-card>header span{font-size:.68rem;font-weight:800;letter-spacing:.07em;color:var(--color-brand-400);text-transform:uppercase}.guide-focus-card>header button{border:0;background:transparent;color:var(--color-text-3);cursor:pointer}.guide-focus-card h3{margin:.35rem 0;font-size:1rem}.guide-focus-card p{font-size:.8rem;line-height:1.5;color:var(--color-text-2)}.guide-focus-card>div{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.guide-topic-details{display:grid;gap:.4rem;margin:.7rem 0 0;padding:.7rem .7rem .7rem 1.7rem;border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface-3);color:var(--color-text-2);font-size:.7rem;line-height:1.4}.campus-guide-glow{position:relative!important;z-index:1100!important;border-radius:10px!important;animation:campus-guide-pulse 1.25s ease-in-out infinite!important;box-shadow:0 0 0 4px #e54674b3,0 0 34px 12px #e5467473!important}@keyframes campus-guide-pulse{0%,to{box-shadow:0 0 0 4px #e54674a6,0 0 26px 9px #e5467459}50%{box-shadow:0 0 0 7px #e5467466,0 0 45px 18px #e546748c}}@keyframes guide-drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}@media(max-width:640px){.guide-welcome{padding:1.4rem}.guide-welcome-actions{flex-direction:column}.guide-welcome-actions .btn{justify-content:center}.guide-focus-card{right:1rem;bottom:1rem}.guide-drawer{padding:1rem}.guide-focus-card>div{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.campus-guide-glow{animation:none!important}.guide-drawer{animation:none}}.filter-panel{display:grid;grid-template-columns:minmax(250px,1.4fr) repeat(4,minmax(150px,1fr));gap:.7rem;align-items:end}.filter-panel .input{width:100%}.search-field{display:flex;align-items:center;gap:.5rem;min-height:42px;padding:0 .75rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-2);color:var(--color-text-3)}.search-field input{width:100%;border:0;outline:0;background:transparent;color:var(--color-text-1);font:inherit}.table-actions{display:flex;flex-wrap:wrap;gap:.25rem}.coordination-manager{display:grid;gap:1rem;margin-top:1rem}.coordination-current{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid rgba(34,197,94,.3);border-radius:10px;background:#22c55e12}.coordination-current>div{display:grid;gap:.2rem}.coordination-current small,.coordination-history small{color:var(--color-text-3)}.coordination-end{display:grid;grid-template-columns:1fr auto;align-items:end;gap:.7rem}.coordination-end label{display:grid;gap:.3rem}.coordination-end textarea{min-height:72px;resize:vertical}.coordination-history{display:grid;gap:.45rem;padding-top:.8rem;border-top:1px solid var(--color-border)}.coordination-history>.label{display:flex;align-items:center;gap:.35rem}.coordination-history>div{display:flex;justify-content:space-between;gap:1rem;padding:.55rem .7rem;border-radius:7px;background:var(--color-surface-3);font-size:.78rem}.coordination-history>div small{text-align:right}@media(max-width:1100px){.filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.filter-panel{grid-template-columns:1fr}.coordination-current,.coordination-history>div{align-items:flex-start;flex-direction:column}.coordination-end{grid-template-columns:1fr}.coordination-history>div small{text-align:left}}.page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0 0 1rem}.toolbar-actions{display:flex;flex-wrap:wrap;gap:.45rem}.toolbar-search{display:flex;align-items:center;gap:.5rem;min-width:min(360px,100%);padding:0 .75rem;border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface-3);color:var(--color-text-3)}.toolbar-search .input{padding:.6rem 0;border:0;background:transparent;box-shadow:none}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.summary-card{display:grid;gap:.2rem;padding:1rem 1.1rem;border:1px solid var(--color-border);border-radius:11px;background:var(--color-surface-2)}.summary-card span,.summary-card small{color:var(--color-text-3);font-size:.72rem}.summary-card strong{font-size:1.45rem;line-height:1.15}.feedback-info{display:flex;align-items:flex-start;gap:.5rem;margin:.75rem 0;padding:.75rem 1rem;border:1px solid rgba(59,130,246,.25);border-radius:9px;background:#3b82f614;color:var(--color-text-2)}.table-subtitle{display:block;margin-top:.15rem;color:var(--color-text-3);font-size:.7rem}.modal-card .table-wrapper{max-height:55vh;overflow:auto}.modal-card td .input{min-width:140px}@media(max-width:1200px){.erp-connection-grid{grid-template-columns:1fr 1fr}.erp-mapping-list{grid-template-columns:1fr}.erp-mapping-fields{grid-template-columns:1fr 1fr}}@media(max-width:720px){.erp-connection-grid,.erp-article-search,.erp-mapping-fields{grid-template-columns:1fr}.erp-mapping-card footer{align-items:flex-start;flex-direction:column}.erp-endpoints span{border-radius:8px}.erp-dispatch-history .table-wrapper{max-width:calc(100vw - 3rem)}}@media(max-width:760px){.page-toolbar{align-items:stretch;flex-direction:column}.toolbar-search{width:100%;min-width:0}.summary-grid{grid-template-columns:1fr}.modal-card td .input{min-width:110px}}.enrollment-management-modal{width:min(1120px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto}.enrollment-management-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.enrollment-management-header .form-actions{margin:0}.enrollment-management-tabs{display:flex;gap:.35rem;overflow-x:auto;border-bottom:1px solid var(--color-border);margin:0 0 1rem}.enrollment-management-tabs button{appearance:none;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--color-text-3);padding:.75rem .9rem;white-space:nowrap;cursor:pointer;font:inherit;font-weight:600}.enrollment-management-tabs button.active{color:var(--color-brand-500);border-bottom-color:var(--color-brand-500)}.enrollment-management-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem}.management-details{display:grid;gap:.65rem;margin:0}.management-details>div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:.75rem;padding-bottom:.65rem;border-bottom:1px solid var(--color-border)}.management-details dt{color:var(--color-text-3);font-size:.78rem}.management-details dd{margin:0;font-weight:600;overflow-wrap:anywhere}.lifecycle-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.lifecycle-actions .danger{color:var(--color-danger)}.management-subjects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:1rem 0}.management-subjects>strong{grid-column:1 / -1}.management-subjects label{display:flex;gap:.55rem;align-items:center;padding:.65rem;border:1px solid var(--color-border);border-radius:.5rem}.contract-summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;margin-bottom:1rem;border-radius:.5rem;background:var(--color-surface-3)}.enrollment-history{display:grid;gap:.75rem}.enrollment-history article{border-left:3px solid var(--color-brand-500);padding:.25rem 0 .25rem 1rem}.enrollment-history article>div{display:flex;justify-content:space-between;gap:1rem}.enrollment-history article p{margin:.35rem 0}.enrollment-history article time,.enrollment-history article small{color:var(--color-text-3);font-size:.75rem}@media(max-width:760px){.enrollment-management-modal{width:calc(100vw - 1rem);max-height:calc(100vh - 1rem);padding:1rem}.enrollment-management-header{flex-direction:column}.enrollment-management-grid,.management-subjects{grid-template-columns:1fr}.management-details>div{grid-template-columns:105px minmax(0,1fr)}.contract-summary{align-items:flex-start;flex-direction:column}}
