*{box-sizing:border-box}:root,[data-theme=light]{color-scheme:light;--mobile-page-gutter: clamp(1rem, 5vw, 1.25rem);--color-background: #f5f8fc;--color-shell: #f7faff;--color-surface: #ffffff;--color-surface-strong: rgba(255, 255, 255, .94);--color-text: #111827;--color-heading: #0f172a;--color-muted: #52657d;--color-label: #26384f;--color-border: #d7e0ec;--color-primary: #1269ff;--color-primary-hover: #0b55d9;--color-primary-soft: rgba(18, 105, 255, .14);--color-logo-secondary: #0b0f19;--color-danger: #b42318;--color-danger-border: #f2b8b5;--color-danger-surface: #fff1f1;--color-danger-text: #8f1d15;--color-success: #16803c;--color-success-border: #b7e3c2;--color-success-surface: #edf9f0;--color-success-text: #115c2d;--color-warning: #b77700;--color-warning-border: #f2d48a;--color-warning-surface: #fff8e6;--color-warning-text: #855400;--color-toast-surface: #ffffff;--color-toast-info-surface: #edf4ff;--color-toast-danger-surface: #fff1f1;--color-toast-success-surface: #edf9f0;--color-toast-warning-surface: #fff8e6;--shadow-card: 0 1.5rem 4rem rgba(18, 38, 63, .12);--shadow-soft: 0 1rem 2.5rem rgba(18, 38, 63, .08);--shadow-medium: 0 1.25rem 3rem rgba(18, 38, 63, .16);--login-background: radial-gradient(circle at 20% 20%, rgba(18, 105, 255, .15), transparent 28rem), linear-gradient(135deg, #f7faff 0%, #edf4ff 45%, #f8fafc 100%)}[data-theme=dark]{color-scheme:dark;--color-background: #0e1420;--color-shell: #101827;--color-surface: #141c2b;--color-surface-strong: rgba(20, 28, 43, .94);--color-text: #e6edf7;--color-heading: #f8fafc;--color-muted: #a5b4c8;--color-label: #d6e0ee;--color-border: #2b3950;--color-primary: #4d8dff;--color-primary-hover: #73a6ff;--color-primary-soft: rgba(77, 141, 255, .18);--color-logo-secondary: #f8fafc;--color-danger: #ffb4a9;--color-danger-border: #8a2f27;--color-danger-surface: rgba(180, 35, 24, .18);--color-danger-text: #ffd5cd;--color-success: #41c36f;--color-success-border: #1f6d3d;--color-success-surface: rgba(22, 128, 60, .22);--color-success-text: #d8f7e2;--color-warning: #f4c14f;--color-warning-border: #8f6a12;--color-warning-surface: rgba(183, 119, 0, .22);--color-warning-text: #ffe7af;--color-toast-surface: #141c2b;--color-toast-info-surface: #182844;--color-toast-danger-surface: #2d1b20;--color-toast-success-surface: #162b21;--color-toast-warning-surface: #302717;--shadow-card: 0 1.5rem 4rem rgba(0, 0, 0, .35);--shadow-soft: 0 1rem 2.5rem rgba(0, 0, 0, .26);--shadow-medium: 0 1.25rem 3rem rgba(0, 0, 0, .4);--login-background: radial-gradient(circle at 20% 20%, rgba(77, 141, 255, .2), transparent 28rem), linear-gradient(135deg, #0f172a 0%, #111f33 45%, #0e1420 100%)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--color-background: #0e1420;--color-shell: #101827;--color-surface: #141c2b;--color-surface-strong: rgba(20, 28, 43, .94);--color-text: #e6edf7;--color-heading: #f8fafc;--color-muted: #a5b4c8;--color-label: #d6e0ee;--color-border: #2b3950;--color-primary: #4d8dff;--color-primary-hover: #73a6ff;--color-primary-soft: rgba(77, 141, 255, .18);--color-logo-secondary: #f8fafc;--color-danger: #ffb4a9;--color-danger-border: #8a2f27;--color-danger-surface: rgba(180, 35, 24, .18);--color-danger-text: #ffd5cd;--color-success: #41c36f;--color-success-border: #1f6d3d;--color-success-surface: rgba(22, 128, 60, .22);--color-success-text: #d8f7e2;--color-warning: #f4c14f;--color-warning-border: #8f6a12;--color-warning-surface: rgba(183, 119, 0, .22);--color-warning-text: #ffe7af;--color-toast-surface: #141c2b;--color-toast-info-surface: #182844;--color-toast-danger-surface: #2d1b20;--color-toast-success-surface: #162b21;--color-toast-warning-surface: #302717;--shadow-card: 0 1.5rem 4rem rgba(0, 0, 0, .35);--shadow-soft: 0 1rem 2.5rem rgba(0, 0, 0, .26);--shadow-medium: 0 1.25rem 3rem rgba(0, 0, 0, .4);--login-background: radial-gradient(circle at 20% 20%, rgba(77, 141, 255, .2), transparent 28rem), linear-gradient(135deg, #0f172a 0%, #111f33 45%, #0e1420 100%)}}:root{--surface-page: var(--color-background);--surface-card: var(--color-surface);--text-strong: var(--color-heading);--text-muted: var(--color-muted);--warning-border: var(--color-warning-border)}html,body{height:100%;min-height:100%;margin:0}body.mobile-menu-open{overflow:hidden}body{background:var(--color-background);color:var(--color-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}:focus-visible{outline:.2rem solid var(--color-primary);outline-offset:.15rem}.status-badge{display:inline-flex;border:1px solid var(--color-border);border-radius:999px;background:var(--color-primary-soft);color:var(--color-primary);font-size:.78rem;font-weight:800;padding:.25rem .6rem;white-space:nowrap}.status-badge[data-status=Active]{border-color:var(--color-success-border);background:var(--color-success-surface);color:var(--color-success-text)}.status-badge[data-status=Inactive]{border-color:var(--color-border);background:var(--color-surface);color:var(--color-muted)}.crud-filters,.crud-message{border:1px solid var(--color-border);border-radius:.75rem;background:var(--color-surface);box-shadow:var(--shadow-soft)}.crud-filters{padding:1rem}.crud-filters__heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;list-style:none;outline:none}.crud-filters__heading::-webkit-details-marker{display:none}.crud-filters[open] .crud-filters__heading{margin-bottom:.85rem}.crud-filters__heading h2,.crud-filters__heading p{margin:0}.crud-filters__heading h2{color:var(--color-heading);font-size:1rem}.crud-filters__heading p{color:var(--color-muted);font-size:.82rem}.crud-filters:not([open]) .crud-filters__heading p{display:none}.crud-filters__toggle{display:inline-grid;width:2.25rem;height:2.25rem;flex:0 0 auto;place-items:center;border:1px solid var(--color-border);border-radius:.5rem;background:var(--color-shell);color:var(--color-primary);transition:border-color .16s ease,background .16s ease,transform .16s ease}.crud-filters__toggle:before{width:.48rem;height:.48rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;content:"";transform:translateY(-.12rem) rotate(45deg)}.crud-filters__heading:hover .crud-filters__toggle,.crud-filters__heading:focus-visible .crud-filters__toggle{border-color:var(--color-primary);background:var(--color-primary-soft)}.crud-filters[open] .crud-filters__toggle{transform:rotate(180deg)}.crud-filter-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));align-items:end;gap:.8rem}.crud-field{display:grid;min-width:0;gap:.35rem}.crud-field>span{color:var(--color-label);font-size:.84rem;font-weight:800}.crud-field input,.crud-field select,.crud-field textarea{width:100%;max-width:100%;min-width:0;box-sizing:border-box;min-height:2.65rem;border:1px solid var(--color-border);border-radius:.6rem;background:var(--color-shell);color:var(--color-text);outline:none;padding:.65rem .8rem}.crud-field textarea{min-height:6.5rem;resize:vertical}.crud-field input:focus,.crud-field select:focus,.crud-field textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 .2rem var(--color-primary-soft)}.crud-check{display:flex;min-height:2.65rem;align-items:center;gap:.6rem;color:var(--color-label);font-size:.88rem;font-weight:700}.crud-check input{width:1rem;height:1rem;accent-color:var(--color-primary)}.crud-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.65rem}.crud-button{display:inline-flex;min-height:2.75rem;align-items:center;justify-content:center;gap:.45rem;border:1px solid var(--color-primary);border-radius:.6rem;background:var(--color-primary);color:#fff;cursor:pointer;font:inherit;font-weight:800;padding:0 .95rem;text-decoration:none}.crud-button:hover:not(:disabled){background:var(--color-primary-hover)}.crud-button--secondary{border-color:var(--color-border);background:var(--color-surface);color:var(--color-label)}.crud-button--secondary:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.crud-button:disabled{cursor:not-allowed;opacity:.5}.crud-button svg{width:1rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.crud-message{color:var(--color-muted);padding:.8rem .95rem}.crud-message--error{border-color:var(--color-danger-border);background:var(--color-danger-surface);color:var(--color-danger-text)}.crud-message--warning{border-color:var(--color-warning-border);background:var(--color-warning-surface);color:var(--color-warning-text)}.crud-message--success{border-color:var(--color-success-border);background:var(--color-success-surface);color:var(--color-success-text)}.record-form{display:grid;gap:1rem}.record-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.record-form__full{grid-column:1/-1}.record-form__footer{position:sticky;bottom:calc(0rem - var(--record-form-gutter, 1.25rem));display:flex;justify-content:flex-end;gap:.65rem;margin:0 calc(0rem - var(--record-form-gutter, 1.25rem)) calc(0rem - var(--record-form-gutter, 1.25rem));border-top:1px solid var(--color-border);background:var(--color-surface-strong);padding:1rem var(--record-form-gutter, 1.25rem);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.entity-primary{color:var(--color-heading)}.entity-secondary{margin-top:.2rem;color:var(--color-muted);font-size:.84rem}@media(max-width:720px){.crud-filter-form,.record-form__grid{grid-template-columns:1fr}.record-form__full{grid-column:auto}.record-form__footer{display:grid;grid-template-columns:1fr;padding-bottom:max(1rem,env(safe-area-inset-bottom))}input,select,textarea{font-size:1rem}}.training-content-editor,.training-content-readonly,.session-reviews{display:grid;gap:.65rem;padding:1rem;border:1px solid var(--color-border);border-radius:.8rem;background:var(--color-surface)}.training-content-editor h2,.training-content-readonly h2,.session-reviews h2{margin:0;color:var(--color-heading);font-size:1rem}.training-content-editor h2 small{color:var(--color-muted);font-weight:500}.training-content-editor>div,.session-reviews>div{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.training-content-editor button{min-height:2.75rem;padding:.6rem .85rem;border:0;border-radius:.6rem;background:var(--color-primary);color:#fff;font:inherit;font-weight:800}.training-content-editor p{margin:0;color:var(--color-success-text)}.training-content-readonly p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.session-reviews ul{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}.session-reviews li{display:grid;gap:.15rem;padding:.65rem;border-radius:.5rem;background:var(--color-page)}.session-reviews li span,.session-reviews li small{color:var(--color-muted)}.session-times{display:grid;gap:.85rem;padding:1rem;border:1px solid var(--color-border);border-radius:.85rem;background:var(--color-surface)}.session-times h2,.session-times h3,.session-times dl,.session-times dd{margin:0}.session-times h2{color:var(--color-heading);font-size:1.1rem}.session-times dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.session-times dl>div{display:grid;gap:.2rem;padding:.75rem;border-radius:.65rem;background:var(--color-background)}.session-times dt,.session-times small{color:var(--color-muted);font-size:.8rem}.session-times dd{display:grid;gap:.2rem;color:var(--color-heading);font-weight:700}.schedule-editor{display:grid;grid-template-columns:auto minmax(8rem,1fr);align-items:center;gap:.5rem .75rem;padding-top:.85rem;border-top:1px solid var(--color-border)}.schedule-editor h3,.schedule-editor button,.schedule-editor .field-error,.schedule-message{grid-column:1/-1}.schedule-editor button{min-height:2.75rem;border:0;border-radius:.6rem;background:var(--color-primary);color:#fff;font-weight:800}.schedule-editor .field-error,.schedule-message{margin:0}.schedule-editor .field-error{color:var(--color-danger, #b42318)}.schedule-message{color:var(--color-success-text)}@media(max-width:600px){.session-times dl,.schedule-editor{grid-template-columns:1fr}.schedule-editor h3,.schedule-editor button,.schedule-editor .field-error,.schedule-message{grid-column:auto}}.migration-backdrop{position:fixed;z-index:1000;inset:0;display:grid;align-items:end;justify-items:center;padding:max(.75rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left));background:#020817ad}.migration-dialog{display:grid;gap:1rem;width:min(100%,52rem);max-height:calc(100dvh - 1.5rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;border:1px solid var(--color-border);border-radius:1rem;background:var(--color-surface);color:var(--color-text);padding:clamp(.9rem,3vw,1.4rem);box-shadow:var(--shadow-card)}.migration-dialog>header,.migration-dialog>footer,.migration-section li{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.migration-dialog h2,.migration-dialog h3,.migration-dialog p{margin:0}.migration-dialog header p,.migration-section>p{margin-top:.3rem;color:var(--color-label)}.migration-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.migration-summary article{display:grid;gap:.1rem;border:1px solid var(--color-border);border-radius:.7rem;background:var(--color-surface-muted);padding:.75rem}.migration-summary strong{font-size:1.35rem}.migration-summary span{color:var(--color-label);font-size:.82rem}.migration-information,.migration-blocker{border-left:3px solid var(--color-primary);border-radius:.35rem;background:var(--color-surface-muted);padding:.75rem}.migration-section{display:grid;gap:.65rem}.migration-section ul,.migration-blocker ul{display:grid;gap:.45rem;margin:0;padding-left:1.2rem}.migration-section li{justify-content:flex-start;flex-wrap:wrap}.migration-section li strong{margin-left:auto}.migration-conflicts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.migration-blocker{border-left-color:var(--color-danger)}.migration-dialog>footer{justify-content:flex-end;position:sticky;bottom:0;border-top:1px solid var(--color-border);background:var(--color-surface);padding-top:.8rem}@media(max-width:640px){.migration-conflicts{grid-template-columns:minmax(0,1fr)}.migration-dialog>footer{display:grid;grid-template-columns:minmax(0,1fr)}.migration-dialog>footer .crud-button{width:100%}}@media(max-width:360px){.migration-summary{grid-template-columns:minmax(0,1fr)}}
