:root{--color-bg:#f4f6fa;--color-surface:#fff;--color-text:#1e2530;--color-text-muted:#667085;--color-border:#e4e7ec;--color-primary:#4f46e5;--color-primary-hover:#4338ca;--color-highlight:#eef2ff;--color-on-primary:#fff;--color-accent:#4f46e5;--color-accent-hover:#4338ca;--color-on-accent:#fff;--color-heading:var(--color-text);--radius:12px;--spacing:16px;--font-sans:system-ui, "Segoe UI", Roboto, sans-serif;--shadow-sm:0 1px 2px #1018280d, 0 1px 3px #1018280f;--shadow-md:0 4px 8px #1018280f, 0 8px 16px #10182814;--transition-base:all .2s ease-in-out;--mobile-nav-height:53px;--mobile-topbar-height:46px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-bg:#071528;--color-surface:#0b1f3a;--color-text:#f3efe3;--color-text-muted:#b9b29b;--color-border:#a66a00;--color-primary:#d4af37;--color-primary-hover:#f5de85;--color-highlight:#fff3c2;--color-on-primary:#071528;--color-accent:#d4af37;--color-accent-hover:#f5de85;--color-on-accent:#071528;--color-heading:var(--color-accent);--shadow-sm:0 4px 15px #0000004d;--shadow-md:0 8px 25px #0006}}:root[data-theme=dark]{--color-bg:#071528;--color-surface:#0b1f3a;--color-text:#f3efe3;--color-text-muted:#b9b29b;--color-border:#a66a00;--color-primary:#d4af37;--color-primary-hover:#f5de85;--color-highlight:#fff3c2;--color-on-primary:#071528;--color-accent:#d4af37;--color-accent-hover:#f5de85;--color-on-accent:#071528;--color-heading:var(--color-accent);--shadow-sm:0 4px 15px #0000004d;--shadow-md:0 8px 25px #0006}:root[data-theme=light]{--color-bg:#f4f6fa;--color-surface:#fff;--color-text:#1e2530;--color-text-muted:#667085;--color-border:#e4e7ec;--color-primary:#4f46e5;--color-primary-hover:#4338ca;--color-highlight:#eef2ff;--color-on-primary:#fff;--color-accent:#4f46e5;--color-accent-hover:#4338ca;--color-on-accent:#fff;--color-heading:var(--color-text);--shadow-sm:0 1px 2px #1018280d, 0 1px 3px #1018280f;--shadow-md:0 4px 8px #1018280f, 0 8px 16px #10182814}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}html,body,#root{height:100%;margin:0}:focus{outline:none}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s,color .3s}h1,h2,h3,p{margin:0}h1{color:var(--color-heading)}button,input,select,textarea{font:inherit;color:inherit;transition:var(--transition-base)}input:not([type=checkbox]):not([type=radio]),select,textarea{appearance:none;-webkit-user-select:text;user-select:text;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface)}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 25%, transparent);outline:none}button{border-radius:var(--radius);border:none}button:not(:disabled){cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6;pointer-events:none}button:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}button:active{transform:scale(.96)}@keyframes submit-button-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.75;transform:scale(.97)}}button[type=submit][aria-busy=true]{animation:1.1s ease-in-out infinite submit-button-pulse}@keyframes deep-link-highlight-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--color-accent) 0%, transparent)}20%,60%{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 55%, transparent)}}.deep-link-highlight{animation:2.2s ease-in-out deep-link-highlight-pulse}img,svg{max-width:100%;display:block}.auth-loading{min-height:100svh;color:var(--color-text-muted);justify-content:center;align-items:center;display:flex}.custom-dropdown{width:100%;position:relative}.custom-dropdown-trigger{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);width:100%;color:var(--color-text);cursor:pointer;transition:var(--transition-base);text-align:left;justify-content:space-between;align-items:center;gap:8px;padding:11px 14px;display:flex}.custom-dropdown-trigger:hover:not(:disabled){box-shadow:var(--shadow-sm)}.custom-dropdown-trigger-open{outline:2px solid var(--color-primary);outline-offset:1px}.custom-dropdown-trigger:disabled{opacity:.6;cursor:not-allowed}.custom-dropdown-value{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.custom-dropdown-placeholder{color:var(--color-text-muted);font-size:14px}.custom-dropdown-chevron{color:var(--color-text-muted);flex-shrink:0;transition:transform .15s}.custom-dropdown-trigger-open .custom-dropdown-chevron{transform:rotate(180deg)}.custom-dropdown-panel{z-index:30;border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-md);flex-direction:column;display:flex;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden}.custom-dropdown-panel-above{top:auto;bottom:calc(100% + 6px)}.custom-dropdown-search{border-bottom:1px solid var(--color-border);color:var(--color-text-muted);flex-shrink:0;align-items:center;gap:8px;padding:10px 12px;display:flex}.custom-dropdown-search input{color:var(--color-text);background:0 0;border:none;flex:1;font-size:13px}.custom-dropdown-search input:focus{outline:none}.custom-dropdown-options{margin:0;padding:6px;list-style:none;overflow-y:auto}.custom-dropdown-empty{text-align:center;color:var(--color-text-muted);padding:12px;font-size:13px}.custom-dropdown-option{border-radius:var(--radius);width:100%;color:var(--color-text);cursor:pointer;text-align:left;transition:var(--transition-base);background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;display:flex}.custom-dropdown-option:hover{background:var(--color-bg)}.custom-dropdown-option-selected{background:color-mix(in srgb, var(--color-accent) 12%, transparent);color:var(--color-accent);font-weight:600}.custom-dropdown-option-text{flex-direction:column;gap:1px;min-width:0;display:flex}.custom-dropdown-option-text>span:first-child{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.custom-dropdown-option-description{color:var(--color-text-muted);font-size:11px}.school-switcher-picker-page{min-height:100svh;padding:var(--spacing);background:var(--color-bg);justify-content:center;align-items:center;display:flex}.school-switcher-picker-card{text-align:center;background:var(--color-surface);border-radius:var(--radius);width:100%;max-width:420px;box-shadow:var(--shadow-md);color:var(--color-primary);padding:32px}.school-switcher-picker-card h1{color:var(--color-text);margin-top:12px;font-size:22px}.school-switcher-picker-card p{color:var(--color-text-muted);margin-top:4px;font-size:14px}.school-switcher-empty{margin-top:20px}.school-switcher-list{flex-direction:column;gap:8px;margin:20px 0 0;padding:0;list-style:none;display:flex}.school-switcher-list button{border-radius:var(--radius);background:var(--color-bg);width:100%;color:var(--color-text);box-shadow:var(--shadow-sm);transition:var(--transition-base);border:none;justify-content:space-between;align-items:center;padding:12px 16px;font-weight:600;display:flex}.school-switcher-picker-tools{border-top:1px solid var(--color-border,#00000014);flex-direction:column;gap:8px;margin-top:24px;padding-top:20px;display:flex}.school-switcher-picker-tools a{border-radius:var(--radius);border:1px solid var(--color-primary);color:var(--color-primary);transition:var(--transition-base);background:0 0;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:600;display:flex}.school-switcher-picker-tools a:hover{background:var(--color-primary);color:var(--color-surface,#fff)}.school-switcher-suspended,.school-switcher-locked{text-transform:uppercase;color:#dc2626;font-size:11px;font-weight:700}.school-switcher-dropdown{border-radius:var(--radius);background:var(--color-bg);color:var(--color-text-muted);flex-shrink:0;align-items:center;gap:8px;margin-bottom:8px;padding:8px 10px;display:flex}.school-switcher-dropdown select{color:var(--color-text);background:0 0;border:none;flex:1;font-size:13px;font-weight:600}.school-switcher-dropdown select:focus{outline:none}.network-image{background:var(--color-bg);display:inline-block;position:relative;overflow:hidden}:where(.network-image){width:100%;height:100%}.network-image-img{object-fit:cover;width:100%;height:100%;animation:.25s network-image-fade-in;display:block}@keyframes network-image-fade-in{0%{opacity:0}to{opacity:1}}.network-image-skeleton{background:linear-gradient(90deg, var(--color-bg) 25%, color-mix(in srgb, var(--color-border) 70%, transparent) 50%, var(--color-bg) 75%);background-size:200% 100%;animation:1.4s ease-in-out infinite network-image-shimmer;position:absolute;inset:0}@keyframes network-image-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.network-image-fallback{color:var(--color-text-muted);background:var(--color-bg);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ui-modal-backdrop{z-index:100;background:#071528a6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.ui-modal{color:#f3efe3;border:1px solid var(--color-primary);border-radius:var(--radius);width:100%;max-width:480px;max-height:90vh;box-shadow:var(--shadow-md);background:#0b1f3a;padding:24px;overflow-y:auto}.ui-modal-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.ui-modal-title{color:var(--color-primary);font-size:18px;font-weight:600}.ui-modal-close{border-radius:var(--radius);color:#f3efe3;cursor:pointer;width:32px;height:32px;transition:var(--transition-base);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.ui-modal-close:hover{color:var(--color-primary);background:#d4af3726}.ui-modal-body{font-size:14px;line-height:1.5}.ui-modal-body input:not([type=checkbox]):not([type=radio]),.ui-modal-body select,.ui-modal-body textarea{color:#f3efe3;background:#ffffff14;border:1px solid #d4af3766}.ui-modal-body input:not([type=checkbox]):not([type=radio]):focus,.ui-modal-body select:focus,.ui-modal-body textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #d4af3740}.ui-modal-body option{color:#071528}.ui-input{flex-direction:column;width:100%;display:flex;position:relative}.ui-input-field{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);width:100%;color:var(--color-text);padding:21px 14px 9px;font-size:14px}.ui-input-field-icon{padding-left:40px}.ui-input-field-trailing{padding-right:40px}.ui-input-trailing-button{border-radius:var(--radius);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;transition:var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.ui-input-trailing-button:hover{color:var(--color-primary-hover);background:#d4af371f}.ui-input-icon{color:var(--color-text-muted);pointer-events:none;position:absolute;top:22px;left:14px}.ui-input-label{color:var(--color-text-muted);pointer-events:none;font-size:14px;transition:top .15s,font-size .15s,color .15s;position:absolute;top:17px;left:14px}.ui-input-field-icon~.ui-input-label{left:40px}.ui-input-field:focus~.ui-input-label,.ui-input-field:not(:placeholder-shown)~.ui-input-label{color:var(--color-primary);font-size:11px;top:6px}.ui-input-field:focus{border-color:var(--color-primary);outline:none}.ui-input-field::placeholder{color:var(--color-text-muted);opacity:0;transition:opacity .15s}.ui-input-field:focus::placeholder{opacity:.6}.ui-input-underline{background:var(--color-primary);border-radius:0 0 var(--radius) var(--radius);transform-origin:50%;pointer-events:none;height:2px;transition:transform .15s;position:absolute;bottom:1px;left:1px;right:1px;transform:scaleX(0)}.ui-input-field:focus~.ui-input-underline{transform:scaleX(1)}.change-password-form{flex-direction:column;gap:16px;display:flex}.change-password-rail-viewport{overflow:hidden}.change-password-rail{width:400%;transition:transform .32s cubic-bezier(.65,0,.35,1);display:flex}.change-password-panel{box-sizing:border-box;flex:0 0 25%;width:25%;min-width:0;padding:2px}.change-password-step-label{letter-spacing:.05em;text-transform:uppercase;color:var(--color-primary);opacity:.85;margin-bottom:8px;font-size:11px;font-weight:700}.change-password-success{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:24px 8px 12px;display:flex}@keyframes change-password-success-pop{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.change-password-success-icon{color:#16a34a;animation:.45s cubic-bezier(.34,1.56,.64,1) change-password-success-pop}.change-password-success-text{color:#f3efe3d9;max-width:320px;font-size:14px}.change-password-error{color:#f87171;font-size:13px;font-weight:600}.change-password-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:4px;display:grid}.change-password-actions-single{justify-content:center;display:flex}.change-password-actions-single .change-password-primary{min-width:160px}.change-password-secondary{border-radius:var(--radius);color:#f3efe3;cursor:pointer;transition:var(--transition-base);background:0 0;border:1px solid #d4af3766;padding:10px 16px;font-size:13px;font-weight:600}.change-password-secondary:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.change-password-primary{border-radius:var(--radius);background:var(--color-primary);color:#071528;cursor:pointer;transition:var(--transition-base);border:none;padding:10px 16px;font-size:13px;font-weight:700}.change-password-primary:hover:not(:disabled){background:var(--color-primary-hover)}.change-password-secondary:disabled,.change-password-primary:disabled{opacity:.5;cursor:not-allowed}.sidebar{background:var(--color-surface);width:240px;height:100svh;box-shadow:var(--shadow-md);z-index:5;flex-direction:column;flex-shrink:0;padding:24px 16px;display:flex;position:sticky;top:0}.sidebar-brand{color:var(--color-primary);flex-shrink:0;padding:0 8px 24px;font-size:20px;font-weight:700}.sidebar-brand-school{align-items:center;gap:10px;display:flex}.sidebar-brand-school span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-view-mode-toggle{border-radius:var(--radius);background:var(--color-bg);flex-shrink:0;gap:4px;margin:0 8px 16px;padding:4px;display:flex}.sidebar-view-mode-button{border-radius:calc(var(--radius) - 2px);color:var(--color-text-muted);cursor:pointer;transition:var(--transition-base);background:0 0;border:none;flex:1;padding:7px 4px;font-size:11px;font-weight:700}.sidebar-view-mode-button:hover{color:var(--color-text)}.sidebar-view-mode-button-active{background:var(--color-primary);color:var(--color-on-primary)}.sidebar-brand-logo{object-fit:cover;border-radius:6px;flex-shrink:0;width:32px;height:32px}.sidebar-scroll{scrollbar-width:thin;scrollbar-color:var(--color-primary) transparent;flex:1;min-height:0;overflow-y:auto}.sidebar-scroll::-webkit-scrollbar{width:6px}.sidebar-scroll::-webkit-scrollbar-track{background:0 0}.sidebar-scroll::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:999px}.sidebar-scroll::-webkit-scrollbar-thumb:hover{background:var(--color-primary-hover)}.sidebar-links{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.sidebar-section{margin-top:20px}.sidebar-section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);padding:0 12px 6px;font-size:11px;font-weight:700}.sidebar-link{border-radius:var(--radius);color:var(--color-text);transition:var(--transition-base);align-items:center;gap:10px;padding:10px 12px;font-size:15px;font-weight:500;text-decoration:none;display:flex;position:relative;overflow:hidden}.sidebar-link-icon-wrap{flex-shrink:0;display:inline-flex;position:relative}.sidebar-link-icon{flex-shrink:0}.sidebar-link-badge{background:var(--color-primary);min-width:16px;height:16px;color:var(--color-on-primary);text-align:center;border-radius:999px;padding:0 3px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:-6px;right:-8px}.sidebar-link:hover{background:color-mix(in srgb, var(--color-accent) 12%, transparent);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.sidebar-link-active{background:var(--color-accent);color:var(--color-on-accent)}.sidebar-footer{flex-direction:column;flex-shrink:0;gap:8px;padding-top:16px;display:flex}.sidebar-scroll-nav{z-index:2;pointer-events:none;justify-content:center;display:flex;position:sticky}.sidebar-scroll-nav-up{background:linear-gradient(to bottom, var(--color-surface) 40%, transparent);padding-bottom:10px;top:0}.sidebar-scroll-nav-down{background:linear-gradient(to top, var(--color-surface) 40%, transparent);padding-top:10px;bottom:0}.sidebar-scroll-nav-button{background:var(--color-primary);width:34px;height:34px;color:var(--color-on-primary);box-shadow:var(--shadow-md);cursor:pointer;opacity:0;pointer-events:none;border:none;border-radius:50%;justify-content:center;align-items:center;transition:opacity .25s,transform .25s;display:flex;transform:scale(.85)}.sidebar-scroll-nav-button-visible{opacity:1;pointer-events:auto;transform:scale(1)}.sidebar-scroll-nav-button:hover{background:var(--color-primary-hover)}.sidebar-storage-link,.sidebar-theme-toggle,.sidebar-logout{border-radius:var(--radius);color:var(--color-text);cursor:pointer;text-align:left;transition:var(--transition-base);background:0 0;border:none;align-items:center;gap:10px;padding:10px 12px;font-weight:500;text-decoration:none;display:flex}.sidebar-storage-link:hover,.sidebar-theme-toggle:hover,.sidebar-logout:hover{background:var(--color-bg);box-shadow:var(--shadow-sm)}.sidebar-storage-link-active{background:var(--color-primary);color:var(--color-on-primary)}.sidebar-theme-toggle,.sidebar-logout{color:#1e2530;border:1px solid var(--color-primary);background:#fff}.sidebar-theme-toggle:hover,.sidebar-logout:hover{background:#fff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .sidebar-theme-toggle,:root:not([data-theme=light]) .sidebar-logout{background:color-mix(in srgb, var(--color-accent) 14%, var(--color-surface));color:var(--color-accent);border-color:var(--color-accent)}:root:not([data-theme=light]) .sidebar-theme-toggle:hover,:root:not([data-theme=light]) .sidebar-logout:hover{background:color-mix(in srgb, var(--color-accent) 22%, var(--color-surface))}}:root[data-theme=dark] .sidebar-theme-toggle,:root[data-theme=dark] .sidebar-logout{background:color-mix(in srgb, var(--color-accent) 14%, var(--color-surface));color:var(--color-accent);border-color:var(--color-accent)}:root[data-theme=dark] .sidebar-theme-toggle:hover,:root[data-theme=dark] .sidebar-logout:hover{background:color-mix(in srgb, var(--color-accent) 22%, var(--color-surface))}.sidebar-menu-sheet-account-button{width:100%;margin-top:4px}.sidebar-mobile-tabs{display:none}@media (width<=768px){.sidebar{width:0;height:0;box-shadow:none;padding:0;position:fixed;inset:auto;overflow:visible}.sidebar-brand,.sidebar-scroll,.sidebar-section,.sidebar-footer{display:none}.sidebar-mobile-tabs{display:block}.sidebar-fixed-tab{bottom:env(safe-area-inset-bottom);border-radius:var(--radius);border:1px solid var(--color-border);color:#1e2530;text-align:center;width:68px;box-shadow:var(--shadow-md);cursor:pointer;z-index:10;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:7px 4px;font-size:10px;text-decoration:none;transition:bottom .25s;display:flex;position:fixed;transform:translate(-50%)}.sidebar-fixed-tab:hover{transform:translate(-50%)}:root[data-theme=dark] .sidebar-fixed-tab:not(.sidebar-fixed-tab-active):not(.sidebar-menu-button){background:color-mix(in srgb, var(--color-accent) 14%, var(--color-surface));color:var(--color-accent);border-color:var(--color-accent)}.sidebar-fixed-tab-active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.sidebar-fixed-tab .sidebar-link-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.sidebar-menu-button{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.sidebar-menu-button:hover{background:var(--color-primary-hover)}.sidebar-menu-sheet-backdrop{z-index:15;background:#0f172a73;position:fixed;inset:0}.sidebar-menu-sheet{background:var(--color-surface);max-height:80svh;box-shadow:var(--shadow-md);z-index:16;padding:16px 16px calc(16px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0}.sidebar-menu-sheet-header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:12px;display:flex}.sidebar-menu-sheet-header h2{font-size:16px;font-weight:700}.sidebar-menu-sheet-close{background:var(--color-bg);width:32px;height:32px;color:var(--color-text);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.sidebar-menu-sheet-content{flex:1;overflow-y:auto}.sidebar-menu-sheet-content .sidebar-section{display:block}.sidebar-menu-sheet-content .sidebar-link{text-align:left;flex-direction:row;padding:10px 12px;font-size:15px}.sidebar-menu-sheet-content .sidebar-link:hover{transform:none}}@media (width<=768px) and (prefers-color-scheme:dark){:root:not([data-theme=light]) .sidebar-fixed-tab:not(.sidebar-fixed-tab-active):not(.sidebar-menu-button){background:color-mix(in srgb, var(--color-accent) 14%, var(--color-surface));color:var(--color-accent);border-color:var(--color-accent)}}.notification-bell{position:relative}.notification-bell-toggle{background:var(--color-surface);width:42px;height:42px;color:var(--color-text);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.notification-bell-toggle:hover{box-shadow:var(--shadow-md);color:var(--color-primary-hover)}.notification-bell-badge{color:#fff;background:#dc2626;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:11px;font-weight:700;line-height:1;display:flex;position:absolute;top:-2px;right:-2px}.notification-bell-panel{border-radius:var(--radius);background:var(--color-surface);width:320px;max-height:420px;box-shadow:var(--shadow-md);z-index:50;flex-direction:column;display:flex;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden}@media (width<=768px){.notification-bell-panel{top:calc(var(--mobile-topbar-height) + env(safe-area-inset-top) + 8px);width:min(320px,100vw - 24px);max-height:70svh;position:fixed;left:50%;right:auto;transform:translate(-50%)}}.notification-bell-header{border-bottom:1px solid var(--color-border);color:var(--color-text);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 14px;font-weight:700;display:flex}.notification-bell-header button{color:var(--color-primary-hover);cursor:pointer;background:0 0;border:none;font-size:12px;font-weight:600}.notification-bell-empty{text-align:center;color:var(--color-text-muted);padding:24px 14px;font-size:13px}.notification-bell-list{margin:0;padding:6px;list-style:none;overflow-y:auto}.notification-bell-item{border-radius:var(--radius);text-align:left;cursor:pointer;width:100%;transition:var(--transition-base);background:0 0;border:none;flex-direction:column;gap:2px;padding:10px;display:flex}.notification-bell-item:hover{background:var(--color-bg)}.notification-bell-item-unread{background:color-mix(in srgb, var(--color-accent) 8%, transparent)}.notification-bell-item-title{color:var(--color-text);font-size:13px;font-weight:700}.notification-bell-item-body{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.notification-bell-item-time{color:var(--color-text-muted);margin-top:2px;font-size:11px}.notification-bell-invitation{cursor:default}.notification-bell-invitation-actions{gap:8px;margin-top:8px;display:flex}.notification-bell-invitation-actions button{border-radius:var(--radius);cursor:pointer;transition:var(--transition-base);border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:7px 10px;font-size:12px;font-weight:700;display:flex}.notification-bell-invitation-accept{background:var(--color-primary);color:var(--color-on-primary)}.notification-bell-invitation-accept:hover:not(:disabled){background:var(--color-primary-hover)}.notification-bell-invitation-decline{background:var(--color-bg);color:var(--color-text-muted)}.notification-bell-invitation-decline:hover:not(:disabled){color:#dc2626;background:#dc262626}.notification-bell-invitation-actions button:disabled{opacity:.5;cursor:not-allowed}.topnav{display:none}@media (width<=768px){.topnav{min-height:46px;padding:4px 14px;padding-top:max(4px, env(safe-area-inset-top));color:#f3efe3;z-index:25;background:#0b1f3a;justify-content:space-between;align-items:center;gap:12px;transition:padding-top .25s,min-height .25s,transform .2s;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 10px #0000004d}.topnav-hidden{transform:translateY(-100%)}.topnav-brand{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;min-width:0;font-size:16px;font-weight:700;display:flex;overflow:hidden}.topnav-logo-wrap{background:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex;overflow:hidden}.topnav-logo-wrap .network-image,.topnav-logo-wrap .network-image-img{width:100%;height:100%}.topnav-logo-wrap .network-image-img{object-fit:contain;padding:2px}.topnav-logo-fallback{color:#f3efe3;background:#f3efe326;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.topnav-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.topnav-icon-button{color:#f3efe3;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;text-decoration:none;display:flex}.topnav-icon-button:hover{color:#d4af37}.topnav .notification-bell-toggle{color:#f3efe3;box-shadow:none;background:0 0}.topnav .notification-bell-toggle:hover{color:#d4af37}}.update-checker-banner{border-radius:var(--radius);color:#2563eb;background:#2563eb1f;align-items:center;gap:10px;margin-bottom:20px;padding:14px 16px;display:flex}.update-checker-banner svg{flex-shrink:0}.update-checker-banner span{flex:1}.update-checker-banner button{border-radius:var(--radius);color:#fff;cursor:pointer;transition:var(--transition-base);background:#2563eb;border:none;flex-shrink:0;padding:8px 18px;font-size:13px;font-weight:600}.update-checker-banner button:hover:not(:disabled){background:#1d4ed8}.update-checker-banner button:disabled{opacity:.6;cursor:not-allowed}.school-locked-page{min-height:100svh;padding:var(--spacing);background:var(--color-bg);justify-content:center;align-items:center;display:flex}.school-locked-card{text-align:center;background:var(--color-surface);border-radius:var(--radius);width:100%;max-width:440px;box-shadow:var(--shadow-md);color:#dc2626;padding:32px}.school-locked-card h1{color:var(--color-text);margin-top:12px;font-size:22px}.school-locked-card p{color:var(--color-text-muted);margin-top:12px;font-size:14px;line-height:1.5}.school-locked-card a{color:var(--color-primary);font-weight:600}.school-locked-card button{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;transition:var(--transition-base);border:none;align-items:center;gap:8px;margin-top:24px;padding:10px 20px;font-weight:600;display:inline-flex}.school-locked-card button:hover{background:var(--color-primary-hover)}.user-locked-page{min-height:100svh;padding:var(--spacing);background:var(--color-bg);justify-content:center;align-items:center;display:flex}.user-locked-card{text-align:center;background:var(--color-surface);border-radius:var(--radius);width:100%;max-width:440px;box-shadow:var(--shadow-md);color:#dc2626;padding:32px}.user-locked-card h1{color:var(--color-text);margin-top:12px;font-size:22px}.user-locked-card p{color:var(--color-text-muted);margin-top:12px;font-size:14px;line-height:1.5}.user-locked-logout-button{border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);cursor:pointer;transition:var(--transition-base);border:none;justify-content:center;align-items:center;gap:8px;margin-top:24px;padding:10px 20px;font-weight:600;display:inline-flex}.user-locked-logout-button:hover{background:var(--color-border)}.account-deleted-page{min-height:100svh;padding:var(--spacing);background:var(--color-bg);justify-content:center;align-items:center;display:flex}.account-deleted-card{text-align:center;background:var(--color-surface);border-radius:var(--radius);width:100%;max-width:440px;box-shadow:var(--shadow-md);color:#dc2626;padding:32px}.account-deleted-card h1{color:var(--color-text);margin-top:12px;font-size:22px}.account-deleted-card p{color:var(--color-text-muted);margin-top:12px;font-size:14px;line-height:1.5}.account-deleted-actions{flex-direction:column;gap:10px;margin-top:24px;display:flex}.account-deleted-restore-button,.account-deleted-logout-button{border-radius:var(--radius);cursor:pointer;transition:var(--transition-base);border:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-weight:600;display:inline-flex}.account-deleted-restore-button{background:var(--color-primary);color:var(--color-on-primary)}.account-deleted-restore-button:hover:not(:disabled){background:var(--color-primary-hover)}.account-deleted-restore-button:disabled{opacity:.6;cursor:not-allowed}.account-deleted-logout-button{background:var(--color-bg);color:var(--color-text)}.account-deleted-logout-button:hover{background:var(--color-border)}.onboarding-audio-button{border:1px solid var(--color-primary);color:var(--color-primary);cursor:pointer;transition:var(--transition-base);background:0 0;border-radius:999px;align-items:center;gap:8px;margin-bottom:16px;padding:8px 14px;font-size:13px;font-weight:600;display:flex}.onboarding-audio-button:hover{background:#d4af3726}.onboarding-modal-intro{opacity:.85;margin-bottom:12px}.onboarding-modal-steps{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.onboarding-modal-step{align-items:flex-start;gap:12px;display:flex}.onboarding-modal-step-number{background:var(--color-primary);width:22px;height:22px;color:var(--color-on-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.onboarding-modal-step-icon{color:var(--color-primary);flex-shrink:0;margin-top:1px}.onboarding-modal-step-text{flex-direction:column;gap:2px;display:flex}.onboarding-modal-step-title{color:inherit;font-weight:600;text-decoration:none}a.onboarding-modal-step-title:hover{text-decoration:underline}.onboarding-modal-step-description{opacity:.8;font-size:13px}.onboarding-guidance-list{flex-direction:column;gap:6px;margin:0;padding-left:18px;display:flex}.page-guidance-button{right:24px;bottom:calc(24px + env(safe-area-inset-bottom));z-index:20;background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-md);cursor:pointer;border:none;border-radius:999px;align-items:center;gap:6px;padding:10px 16px;font-size:13px;font-weight:600;display:flex;position:fixed}@media (width<=768px){.page-guidance-button{bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 16px)}}.ui-page-title{border-bottom:1px solid var(--color-border);align-items:center;gap:14px;margin-bottom:20px;padding-bottom:16px;display:flex}.ui-page-title-icon{border-radius:var(--radius);background:color-mix(in srgb, var(--color-primary) 15%, transparent);width:44px;height:44px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.ui-page-title-text{flex-direction:column;gap:2px;min-width:0;display:flex}.ui-page-title-text h1{color:var(--color-heading);font-size:24px;font-weight:600;line-height:1.2}.ui-page-title-subtitle{color:var(--color-text-muted);font-size:13px}.admin-page h1{font-size:24px;font-weight:600}.admin-subtitle{color:var(--color-text-muted);margin-top:8px}.admin-form{background:var(--color-surface);border-radius:var(--radius);max-width:420px;box-shadow:var(--shadow-sm);transition:var(--transition-base);flex-direction:column;gap:14px;margin-top:24px;padding:20px;display:flex}.admin-field{flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.admin-field input,.admin-field select{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);padding:10px 12px}.admin-field input:focus,.admin-field select:focus{outline:2px solid var(--color-primary);outline-offset:1px}.admin-wizard-hint{border-radius:var(--radius);background:color-mix(in srgb, var(--color-primary) 12%, transparent);width:fit-content;color:var(--color-primary-hover);transition:var(--transition-base);align-items:center;gap:8px;margin-top:16px;padding:10px 16px;font-size:13px;font-weight:600;text-decoration:none;display:flex}.admin-wizard-hint:hover{box-shadow:var(--shadow-sm)}.admin-field-hint{color:var(--color-text-muted);margin-top:-6px;font-size:12px;font-weight:400}.admin-grades-link{margin-top:10px;padding:6px 12px;font-size:12px}.admin-requirements-checklist{border-radius:var(--radius);background:#f59e0b1a;flex-direction:column;gap:6px;margin-top:10px;padding:10px 12px;display:flex}.admin-requirements-checklist-title{text-transform:uppercase;letter-spacing:.04em;color:#b45309;align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.class-classify-inline{border-radius:var(--radius);background:#dc262614;flex-direction:column;gap:8px;margin-top:10px;padding:10px;display:flex}.class-classify-inline-title{color:var(--color-text-muted);font-size:12px}.class-classify-inline-fields{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.class-classify-inline-fields>*{min-width:200px}.class-classify-inline-save{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;border:none;flex-shrink:0;padding:8px 14px;font-size:12px;font-weight:700}.class-classify-inline-save:disabled{opacity:.5;cursor:not-allowed}.class-requirements-editor{border-top:1px dashed var(--color-border);flex-direction:column;gap:8px;margin-top:10px;padding-top:10px;display:flex}.class-requirements-title{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.class-requirements-tags{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.class-requirements-tags li{background:var(--color-bg);color:var(--color-text);border-radius:999px;align-items:center;gap:6px;padding:4px 6px 4px 10px;font-size:12px;display:flex}.class-requirements-tags button{width:16px;height:16px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.class-requirements-tags button:hover{color:#dc2626;background:#dc262626}.class-requirements-add-form{gap:6px;max-width:320px;display:flex}.class-requirements-add-form input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);flex:1;padding:7px 10px;font-size:12px}.class-requirements-add-form button{border-radius:var(--radius);background:var(--color-primary);width:30px;color:var(--color-on-primary);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.class-requirements-add-form button:disabled{opacity:.5;cursor:not-allowed}.admin-checkbox-list{max-height:180px;box-shadow:var(--shadow-sm);border-radius:var(--radius);background:var(--color-bg);flex-direction:column;gap:8px;padding:10px 12px;display:flex;overflow-y:auto}.admin-checkbox{cursor:pointer;align-items:center;gap:8px;font-weight:400;display:flex}.admin-checkbox input{width:auto;accent-color:var(--color-primary)}.admin-error{border-radius:var(--radius);color:#dc2626;background:#dc26261a;margin:0;padding:10px 12px;font-size:14px}.admin-success{border-radius:var(--radius);background:color-mix(in srgb, var(--color-primary) 15%, transparent);color:var(--color-text);margin:0;padding:10px 12px;font-size:14px}.admin-success strong{font-family:ui-monospace,Consolas,monospace}.admin-submit{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);border:none;align-self:flex-start;padding:10px 24px;font-weight:600}.admin-submit:hover:not(:disabled){background:var(--color-primary-hover)}.admin-submit:disabled{opacity:.5;cursor:not-allowed}.admin-list-section{max-width:560px;margin-top:32px}.admin-list-section h2{margin-bottom:12px;font-size:18px;font-weight:600}.admin-empty{color:var(--color-text-muted)}.admin-group{margin-top:20px}.admin-group-title{color:var(--color-text-muted);margin-bottom:8px;font-size:14px;font-weight:600}.admin-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.admin-list-item{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:var(--transition-base);flex-direction:column;gap:2px;padding:12px 14px;display:flex}.admin-list-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.admin-list-item-title{flex:1;min-width:0;font-weight:600}.admin-list-item-header{align-items:center;gap:8px;display:flex}.admin-list-item-delete,.admin-list-item-icon-button{border-radius:var(--radius);width:26px;height:26px;color:var(--color-text-muted);cursor:pointer;transition:var(--transition-base);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.admin-list-item-delete:hover{color:#dc2626;background:#dc262626}.admin-list-item-icon-button:hover:not(:disabled){background:color-mix(in srgb, var(--color-primary) 15%, transparent);color:var(--color-primary)}.admin-list-item-icon-button:disabled{opacity:.5;cursor:not-allowed}.admin-list-item-locked{color:#dc2626}.admin-list-item-locked:hover:not(:disabled){color:#dc2626;background:#dc262626}.admin-list-item-icon-button-active{color:#16a34a;background:#16a34a26}.admin-list-item-icon-button-active:hover:not(:disabled){color:#16a34a;background:#16a34a38}.admin-inline-edit-form{border-radius:var(--radius);background:var(--color-bg);flex-direction:column;gap:10px;max-width:320px;margin-top:10px;padding:12px;display:flex}.admin-inline-edit-actions{gap:8px;display:flex}.admin-cancel{border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);cursor:pointer;transition:var(--transition-base);background:0 0;padding:10px 20px;font-weight:600}.admin-cancel:hover{background:var(--color-border)}.admin-list-item-meta{color:var(--color-text-muted);font-size:13px}.admin-inline-field{align-items:center;gap:8px;margin-top:8px;font-size:13px;font-weight:500;display:flex}.admin-photo-upload-label{border-radius:var(--radius);background:var(--color-bg);width:fit-content;color:var(--color-text);cursor:pointer;transition:var(--transition-base);align-items:center;gap:6px;margin-top:8px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.admin-photo-upload-label:hover{background:color-mix(in srgb, var(--color-primary) 12%, transparent);color:var(--color-primary-hover)}.admin-inline-field select{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);padding:6px 10px}.ui-search-bar{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);max-width:420px;color:var(--color-text-muted);align-items:center;gap:8px;margin-bottom:16px;padding:6px 14px;display:flex}.ui-search-bar input.ui-search-bar-field{height:30px;color:var(--color-text);background:0 0;border:none;flex:1;font-size:14px}.ui-search-bar input.ui-search-bar-field:focus{outline:none}.search-grid-picker{flex-direction:column;gap:12px;display:flex}.search-grid-picker-empty{color:var(--color-text-muted);font-size:13px}.search-grid-picker-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;max-height:340px;padding:2px;display:grid;overflow-y:auto}.search-grid-picker-card{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-text);text-align:center;cursor:pointer;transition:var(--transition-base);border:1px solid #d4af374d;flex-direction:column;align-items:center;gap:6px;padding:14px 10px;display:flex;position:relative}.search-grid-picker-card:hover{background:color-mix(in srgb, var(--color-primary) 12%, transparent);border-color:var(--color-primary)}.search-grid-picker-card-selected{background:color-mix(in srgb, var(--color-primary) 18%, transparent);border-color:var(--color-primary)}.search-grid-picker-check{background:var(--color-bg);width:18px;height:18px;color:var(--color-primary);border:1px solid #d4af3780;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:8px;right:8px}.search-grid-picker-check-on{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.teacher-wizard-page h1{font-size:24px;font-weight:600}.teacher-wizard-subtitle{color:var(--color-text-muted);max-width:620px;margin-top:8px}.teacher-wizard-stepper{align-items:center;max-width:640px;margin-top:28px;display:flex}.teacher-wizard-step-wrap{flex:1;align-items:center;display:flex}.teacher-wizard-step-wrap:last-child{flex:none}.teacher-wizard-step{background:var(--color-surface);color:var(--color-text-muted);white-space:nowrap;transition:var(--transition-base);border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:600;display:flex}.teacher-wizard-step-icon{background:var(--color-bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.teacher-wizard-step-active{background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm)}.teacher-wizard-step-active .teacher-wizard-step-icon{background:#ffffff40}.teacher-wizard-step-done{color:var(--color-accent)}.teacher-wizard-step-done .teacher-wizard-step-icon{background:color-mix(in srgb, var(--color-accent) 18%, transparent);color:var(--color-accent)}.teacher-wizard-step-line{background:var(--color-border);flex:1;min-width:16px;height:2px;margin:0 6px}@media (width<=768px){.teacher-wizard-step-label{display:none}.teacher-wizard-step{padding:8px}.teacher-wizard-step-line{min-width:8px;margin:0 4px}}.teacher-wizard-layout{grid-template-columns:1fr 300px;align-items:start;gap:24px;margin-top:24px;display:grid}@media (width<=900px){.teacher-wizard-layout{grid-template-columns:1fr}}.teacher-wizard-main{min-width:0}.teacher-wizard-card{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);padding:24px}.teacher-wizard-card h2{color:var(--color-heading);align-items:center;gap:8px;font-size:17px;font-weight:700;display:flex}.teacher-wizard-card-hint{color:var(--color-text-muted);margin-top:6px;font-size:13px}.teacher-wizard-empty{color:var(--color-text-muted);margin-top:16px}.teacher-wizard-field-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:20px;display:grid}.teacher-wizard-field{flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.teacher-wizard-field input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);padding:11px 14px}.teacher-wizard-password-row{gap:8px;display:flex}.teacher-wizard-password-row input{font-variant-numeric:tabular-nums;flex:1}.teacher-wizard-password-row button{border-radius:var(--radius);background:var(--color-bg);width:42px;color:var(--color-text-muted);cursor:pointer;transition:var(--transition-base);border:none;flex-shrink:0}.teacher-wizard-password-row button:hover{color:var(--color-primary-hover)}.teacher-wizard-class-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-top:20px;display:grid}.teacher-wizard-class-card{border:2px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);cursor:pointer;text-align:left;transition:var(--transition-base);flex-direction:column;align-items:flex-start;gap:8px;padding:16px;display:flex;position:relative}.teacher-wizard-class-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.teacher-wizard-class-card-selected{border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 8%, var(--color-bg))}.teacher-wizard-class-card-check{border:2px solid var(--color-border);width:20px;height:20px;color:var(--color-on-accent);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:10px;right:10px}.teacher-wizard-class-card-selected .teacher-wizard-class-card-check{background:var(--color-accent);border-color:var(--color-accent)}.teacher-wizard-class-card-icon{color:var(--color-primary-hover)}.teacher-wizard-class-card-name{color:var(--color-text);font-size:14px;font-weight:700}.teacher-wizard-class-card-meta{color:var(--color-text-muted);font-size:12px}.teacher-wizard-subjects-title{color:var(--color-heading);align-items:center;gap:8px;font-size:17px;font-weight:700;display:flex}.teacher-wizard-class-panel{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);margin-top:18px;padding:20px}.teacher-wizard-class-panel-header{color:var(--color-text);align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.teacher-wizard-class-panel-badge{background:var(--color-highlight);color:#071528;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700}.teacher-wizard-classify-row{border-radius:var(--radius);background:var(--color-bg);flex-wrap:wrap;gap:14px;margin-top:14px;padding:14px;display:flex}.teacher-wizard-classify-field{min-width:220px;color:var(--color-text-muted);flex-direction:column;flex:1;gap:6px;font-size:13px;font-weight:600;display:flex}.teacher-wizard-subject-grid{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.teacher-wizard-subject-chip{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);cursor:pointer;transition:var(--transition-base);border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:500;display:flex}.teacher-wizard-subject-chip:hover{border-color:var(--color-primary)}.teacher-wizard-subject-chip-selected{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary);font-weight:700}.teacher-wizard-subject-chip-max{opacity:.7;font-weight:400}.teacher-wizard-subject-chip-tag{border-radius:999px;align-items:center;gap:3px;padding:2px 7px;font-size:10px;font-weight:700;display:flex}.teacher-wizard-subject-chip-tag-new{color:#16a34a;background:#22c55e2e}.teacher-wizard-subject-chip-selected .teacher-wizard-subject-chip-tag-new{color:inherit;background:#ffffff40}.teacher-wizard-subject-chip-tag-taken{color:#b45309;background:#f59e0b2e}.teacher-wizard-subject-chip-selected .teacher-wizard-subject-chip-tag-taken{color:inherit;background:#ffffff40}.teacher-wizard-summary{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-md);padding:20px;position:sticky;top:20px}.teacher-wizard-summary h3{color:var(--color-heading);align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.teacher-wizard-summary-name{color:var(--color-text);margin-top:10px;font-size:16px;font-weight:700}.teacher-wizard-summary-list{flex-direction:column;gap:12px;margin:14px 0 0;padding:0;list-style:none;display:flex}.teacher-wizard-summary-list li{border-left:3px solid var(--color-primary);padding-left:12px}.teacher-wizard-summary-class{color:var(--color-text);font-size:13px;font-weight:700;display:block}.teacher-wizard-summary-subjects{color:var(--color-text-muted);margin-top:2px;font-size:12px;line-height:1.5;display:block}.teacher-wizard-nav{justify-content:space-between;margin-top:24px;display:flex}.teacher-wizard-back,.teacher-wizard-next{border-radius:var(--radius);cursor:pointer;transition:var(--transition-base);border:none;align-items:center;gap:8px;padding:11px 22px;font-weight:700;display:flex}.teacher-wizard-back{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.teacher-wizard-back:disabled{opacity:.4;cursor:not-allowed}.teacher-wizard-next{background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm);margin-left:auto}.teacher-wizard-next:hover:not(:disabled){background:var(--color-primary-hover)}.teacher-wizard-next:disabled{opacity:.5;cursor:not-allowed}.teacher-wizard-confirmation{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:48px 24px;display:flex}.teacher-wizard-confirmation-icon{background:color-mix(in srgb, var(--color-accent) 18%, transparent);width:56px;height:56px;color:var(--color-accent);border-radius:50%;justify-content:center;align-items:center;margin-bottom:8px;display:flex}.teacher-wizard-confirmation h2{font-size:20px;font-weight:700}.teacher-wizard-confirmation p{color:var(--color-text-muted);max-width:400px}.teacher-wizard-confirmation-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:20px;display:flex}.teacher-wizard-confirmation-actions button{border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);border:none;padding:11px 20px;font-weight:600}.teacher-wizard-confirmation-primary{background:var(--color-primary)!important;color:var(--color-on-primary)!important}.teacher-wizard-confirmation-primary:hover{background:var(--color-primary-hover)!important}.ui-select{flex-direction:column;gap:6px;width:100%;display:flex}.ui-select-label{color:var(--color-text-muted);padding-left:2px;font-size:12px;font-weight:600}.ui-avatar-photo{object-fit:cover;border-radius:50%;flex-shrink:0}.ui-avatar-initials{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.enroll-page h1{font-size:24px;font-weight:600}.enroll-subtitle{color:var(--color-text-muted);max-width:620px;margin-top:8px}.enroll-totals{flex-wrap:wrap;gap:16px;margin:24px 0;display:flex}.enroll-total-card{border:1px solid var(--color-accent);border-radius:var(--radius);background:var(--color-surface);min-width:220px;box-shadow:var(--shadow-sm);flex-direction:column;flex:1;gap:6px;padding:18px 20px;display:flex}.enroll-total-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.enroll-total-value{color:var(--color-accent);font-size:24px;font-weight:800}.enroll-card{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);margin-bottom:20px;padding:24px}.enroll-card h2{color:var(--color-heading);align-items:center;gap:8px;font-size:17px;font-weight:700;display:flex}.enroll-card-hint{color:var(--color-text-muted);margin-top:6px;font-size:12px}.enroll-field-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:20px;display:grid}.enroll-photo-field{align-items:center;gap:14px;margin-top:20px;display:flex}.enroll-photo-upload-label{border-radius:var(--radius);background:var(--color-bg);width:fit-content;color:var(--color-text);cursor:pointer;transition:var(--transition-base);align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.enroll-photo-upload-label:hover{background:color-mix(in srgb, var(--color-primary) 12%, transparent);color:var(--color-primary-hover)}.enroll-field{flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.enroll-field input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);padding:11px 14px}.enroll-password-row{align-items:flex-start;gap:8px;display:flex}.enroll-password-row .ui-input{flex:1}.enroll-password-row .ui-input-field{font-variant-numeric:tabular-nums}.enroll-password-row button{border-radius:var(--radius);background:var(--color-bg);width:42px;color:var(--color-text-muted);cursor:pointer;border:none;flex-shrink:0;margin-top:3px}.enroll-password-row button:hover{color:var(--color-primary-hover)}.enroll-toggle{gap:8px;display:flex}.enroll-toggle-button{border:2px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text-muted);cursor:pointer;transition:var(--transition-base);flex:1;padding:10px;font-size:13px;font-weight:600}.enroll-toggle-button:hover{border-color:var(--color-primary)}.enroll-toggle-button-active{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 14%, transparent);color:var(--color-primary-hover)}.enroll-existing-parent-toggle{color:var(--color-text);cursor:pointer;align-items:center;gap:8px;margin-top:16px;font-size:13px;font-weight:600;display:flex}.enroll-existing-parent-lookup{max-width:360px;margin-top:16px}.enroll-existing-parent-found,.enroll-existing-parent-not-found{align-items:center;gap:6px;margin-top:10px;font-size:13px;font-weight:600;display:flex}.enroll-existing-parent-found{color:#16a34a}.enroll-existing-parent-not-found{color:#dc2626}.enroll-requirements{border-top:1px dashed var(--color-border);margin-top:20px;padding-top:18px}.enroll-requirements-title{color:var(--color-text);align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.enroll-requirements-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin-top:12px;display:grid}.enroll-requirement-checkbox{border-radius:var(--radius);background:var(--color-bg);cursor:pointer;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.enroll-submit{border-radius:var(--radius);background:var(--color-primary);width:100%;max-width:320px;color:var(--color-on-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);border:none;justify-content:center;align-items:center;gap:8px;padding:14px;font-size:15px;font-weight:700;display:flex}.enroll-submit:hover:not(:disabled){background:var(--color-primary-hover)}.enroll-submit:disabled{opacity:.5;cursor:not-allowed}.timetable-grid-scroll{-webkit-overflow-scrolling:touch;border-radius:var(--radius);box-shadow:var(--shadow-md);background:var(--color-surface);max-width:100%;overflow-x:auto}.timetable-grid-table{border-collapse:separate;border-spacing:0;width:100%}.timetable-grid-corner,.timetable-grid-day-header{z-index:2;background:var(--color-surface);text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary);border-bottom:2px solid var(--color-primary);white-space:nowrap;text-align:left;padding:12px 18px;font-size:12px;font-weight:800;position:sticky;top:0}.timetable-grid-corner{z-index:3;min-width:96px;left:0}.timetable-grid-row-header{z-index:1;background:var(--color-bg);color:var(--color-text);text-align:left;white-space:nowrap;border-right:2px solid var(--color-primary);border-bottom:1px solid var(--color-border);padding:10px 18px;font-size:12px;font-weight:700;position:sticky;left:0}.timetable-grid-table tr:last-child .timetable-grid-cell,.timetable-grid-table tr:last-child .timetable-grid-row-header{border-bottom:none}.timetable-grid-cell{border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);vertical-align:top;min-width:136px;padding:6px}.timetable-grid-table th:last-child,.timetable-grid-table td.timetable-grid-cell:last-child{border-right:none}.timetable-cell-empty{border:1.5px dashed var(--color-border);border-radius:var(--radius);width:100%;min-height:56px;color:var(--color-text-muted);cursor:pointer;transition:var(--transition-base);background:0 0;justify-content:center;align-items:center;font-size:20px;font-weight:300;display:flex}.timetable-cell-empty:hover{border-color:var(--color-primary);color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 8%, transparent)}.timetable-cell-disabled{width:100%;min-height:56px;color:var(--color-text-muted);opacity:.35;justify-content:center;align-items:center;font-size:13px;display:flex}.timetable-cell-filled{border-radius:var(--radius);background:color-mix(in srgb, var(--color-primary) 10%, transparent);text-align:left;cursor:pointer;width:100%;min-height:56px;transition:var(--transition-base);border:none;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.timetable-cell-filled:hover{background:color-mix(in srgb, var(--color-primary) 18%, transparent)}.timetable-cell-static{border-radius:var(--radius);background:color-mix(in srgb, var(--color-primary) 10%, transparent);flex-direction:column;gap:2px;width:100%;min-height:56px;padding:8px 10px;display:flex}.timetable-cell-time{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:10px;font-weight:700}.timetable-cell-primary{color:var(--color-heading);font-size:13px;font-weight:800;line-height:1.25}.timetable-cell-secondary{color:var(--color-text-muted);font-size:12px;font-weight:500;line-height:1.25}@media (width<=640px){.timetable-grid-corner,.timetable-grid-row-header{min-width:76px;padding:8px 10px;font-size:11px}.timetable-grid-day-header{padding:10px 12px;font-size:11px}.timetable-grid-cell{min-width:112px}}.ui-spinner{border:2.5px solid color-mix(in srgb, var(--color-primary) 25%, transparent);border-top-color:var(--color-primary);border-radius:50%;animation:.7s linear infinite ui-spinner-rotate;display:inline-block}@keyframes ui-spinner-rotate{to{transform:rotate(360deg)}}.download-pdf-button{border:1px solid var(--color-primary);border-radius:var(--radius);color:var(--color-primary);cursor:pointer;background:0 0;align-items:center;gap:8px;padding:10px 24px;font-weight:600;transition:background-color .15s,color .15s;display:inline-flex}.download-pdf-button:hover:not(:disabled){background:var(--color-primary);color:var(--color-on-primary)}.download-pdf-button:disabled{opacity:.6;cursor:not-allowed}.timetable-page h1{font-size:24px;font-weight:600}.timetable-subtitle{color:var(--color-text-muted);margin-top:8px}.timetable-select-field{flex-direction:column;gap:6px;max-width:280px;margin-top:20px;font-size:14px;font-weight:500;display:flex}.timetable-select-field select,.timetable-select-field input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:var(--transition-base);color:var(--color-text);padding:10px 12px}.timetable-select-field select:focus,.timetable-select-field input:focus{outline:2px solid var(--color-primary);outline-offset:1px}.timetable-empty{color:var(--color-text-muted);margin-top:20px}.timetable-hint{color:var(--color-text-muted);margin:0;font-size:13px;line-height:1.5}.timetable-hours-form{background:var(--color-surface);border-radius:var(--radius);max-width:420px;box-shadow:var(--shadow-sm);flex-direction:column;gap:14px;margin-top:20px;padding:20px;display:flex}.timetable-hours-form .timetable-select-field{max-width:none;margin-top:0}.timetable-submit{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);border:none;align-self:flex-start;padding:10px 24px;font-weight:600}.timetable-submit:hover:not(:disabled){background:var(--color-primary-hover)}.timetable-submit:disabled{opacity:.6;cursor:not-allowed}.timetable-page>.timetable-grid-scroll{margin-top:24px}.timetable-add-day-row{margin-top:14px}.timetable-add-day-button{border:1.5px dashed var(--color-primary);border-radius:var(--radius);color:var(--color-primary);cursor:pointer;transition:var(--transition-base);background:0 0;padding:9px 20px;font-size:13px;font-weight:700}.timetable-add-day-button:hover{background:color-mix(in srgb, var(--color-primary) 10%, transparent)}.timetable-cell-form{flex-direction:column;gap:16px;display:flex}.timetable-legacy-days{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:20px;display:grid}.timetable-day-column{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);padding:14px}.timetable-day-column h2{text-transform:uppercase;letter-spacing:.04em;color:var(--color-primary);margin-bottom:10px;font-size:14px;font-weight:700}.timetable-day-empty{color:var(--color-text-muted);font-size:13px}.timetable-slot-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.timetable-slot-card{border-radius:var(--radius);background:var(--color-bg);box-shadow:var(--shadow-sm);flex-direction:column;gap:2px;padding:8px 10px;display:flex}.timetable-slot-time{color:var(--color-primary-hover);font-size:12px;font-weight:700}.timetable-slot-subject{font-size:14px;font-weight:600}.timetable-view-tabs{gap:8px;margin-top:20px;display:flex}.timetable-view-tab{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;transition:var(--transition-base);align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;display:inline-flex}.timetable-view-tab-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.timetable-cancel{border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);cursor:pointer;background:0 0;padding:10px 20px;font-weight:600}.timetable-cancel:hover{background:var(--color-border)}.exam-timetable{margin-top:20px}.exam-timetable-actions{gap:10px;margin-bottom:14px;display:flex}.exam-timetable-print-button{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:var(--transition-base);padding:9px 20px;font-size:13px;font-weight:600}.exam-timetable-print-button:hover{background:var(--color-border)}.exam-timetable-list{flex-direction:column;gap:8px;max-width:560px;margin:0;padding:0;list-style:none;display:flex}.exam-timetable-item{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);align-items:center;gap:14px;padding:10px 14px;display:flex}.exam-timetable-item-date{min-width:90px;font-weight:700}.exam-timetable-item-time{color:var(--color-text-muted);min-width:90px;font-size:13px}.exam-timetable-item-subject{flex:1;font-weight:600}.exam-timetable-item-delete{border-radius:var(--radius);width:26px;height:26px;color:var(--color-text-muted);cursor:pointer;transition:var(--transition-base);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.exam-timetable-item-delete:hover{color:#dc2626;background:#dc262626}.exam-timetable-add-button{border:1.5px dashed var(--color-primary);border-radius:var(--radius);color:var(--color-primary);cursor:pointer;transition:var(--transition-base);background:0 0;align-items:center;gap:8px;margin-top:14px;padding:9px 20px;font-size:13px;font-weight:700;display:inline-flex}.exam-timetable-add-button:hover{background:color-mix(in srgb, var(--color-primary) 10%, transparent)}.exam-timetable-form-actions{gap:10px;display:flex}@media print{@page{size:A4;margin:10mm}.sidebar,.no-print{display:none!important}.dashboard-layout,.dashboard-layout-content{background:#fff!important;padding:0!important;display:block!important}.exam-timetable-item{box-shadow:none;break-inside:avoid;border:1px solid #ddd}}.ui-help-text{border-radius:var(--radius);background:color-mix(in srgb, var(--color-primary) 8%, var(--color-surface));border:1px solid color-mix(in srgb, var(--color-primary) 18%, transparent);color:var(--color-text-muted);align-items:flex-start;gap:8px;margin:8px 0 0;padding:10px 12px;font-size:13px;line-height:1.4;display:flex}.ui-help-text svg{color:var(--color-primary);flex-shrink:0;margin-top:1px}.fee-setup-class-name,.fee-setup-student-name{font-size:13px;font-weight:700}.fee-setup-student-class{color:var(--color-text-muted);font-size:11px}.fee-setup-overdue-badge{color:#dc2626;text-transform:uppercase;letter-spacing:.03em;background:#dc262626;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:700}.settings-logo-section{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);margin:20px 0 28px;padding:20px}.settings-logo-section-title{color:var(--color-heading);margin-bottom:4px;font-size:15px;font-weight:700;display:block}.settings-logo-section .admin-field-hint{margin-top:0}.settings-short-name-editor{flex-direction:column;gap:10px;max-width:320px;margin:14px 0;display:flex}.settings-short-name-editor input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);width:100%;color:var(--color-text);box-sizing:border-box;padding:10px 12px}.settings-short-name-save-button{border-radius:var(--radius);background:var(--color-primary);width:100%;color:var(--color-on-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);box-sizing:border-box;border:none;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-size:13px;font-weight:700;display:flex}.settings-short-name-save-button:hover:not(:disabled){background:var(--color-primary-hover)}.settings-short-name-save-button:disabled{opacity:.6;cursor:not-allowed}.settings-school-days{flex-wrap:wrap;gap:10px 16px;display:flex}.settings-school-day-option{cursor:pointer;align-items:center;gap:6px;font-size:14px;font-weight:500;display:inline-flex}.settings-logo-editor{flex-wrap:wrap;align-items:center;gap:20px;margin-top:14px;display:flex}.settings-logo-preview{background:var(--color-bg);border:1px solid var(--color-border);width:88px;height:88px;color:var(--color-text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative;overflow:visible}.settings-logo-preview img{object-fit:cover;border-radius:50%;width:100%;height:100%}.settings-logo-edit-button{border:2px solid var(--color-surface);background:var(--color-primary);width:30px;height:30px;color:var(--color-on-primary);cursor:pointer;box-shadow:var(--shadow-sm);transition:var(--transition-base);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:-2px;right:-2px}.settings-logo-edit-button:hover{background:var(--color-primary-hover)}.settings-logo-confirm{flex:1;min-width:220px}.settings-logo-confirm-actions{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.settings-logo-confirm-button,.settings-logo-cancel-button{border-radius:var(--radius);cursor:pointer;transition:var(--transition-base);border:none;align-items:center;gap:6px;padding:9px 16px;font-size:13px;font-weight:700;display:flex}.settings-logo-confirm-button{background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm)}.settings-logo-confirm-button:hover:not(:disabled){background:var(--color-primary-hover)}.settings-logo-confirm-button:disabled,.settings-logo-cancel-button:disabled{opacity:.6;cursor:not-allowed}.settings-logo-cancel-button{background:var(--color-bg);color:var(--color-text)}.settings-logo-cancel-button:hover:not(:disabled){background:color-mix(in srgb, var(--color-border) 60%, transparent)}.setup-wizard-loading{min-height:100vh;color:var(--color-text-muted);background:var(--color-bg);justify-content:center;align-items:center;display:flex}.setup-wizard{background:var(--color-bg);flex-direction:column;min-height:100vh;padding-bottom:88px;display:flex}.setup-wizard-stepper{background:var(--color-surface);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:4px;padding:24px 16px 8px;display:flex}.setup-wizard-step-icon{width:84px;color:var(--color-text-muted);cursor:pointer;transition:var(--transition-base);background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;padding:6px 4px 10px;display:flex}.setup-wizard-step-icon:disabled{cursor:not-allowed;opacity:.4}.setup-wizard-step-icon-badge{border:2px solid var(--color-border);background:var(--color-bg);width:36px;height:36px;transition:var(--transition-base);border-radius:50%;justify-content:center;align-items:center;display:flex}.setup-wizard-step-icon:not(:disabled):hover .setup-wizard-step-icon-badge{border-color:var(--color-primary)}.setup-wizard-step-icon-current .setup-wizard-step-icon-badge{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.setup-wizard-step-icon-done .setup-wizard-step-icon-badge{color:#fff;background:#16a34a;border-color:#16a34a}.setup-wizard-step-number{text-align:center;font-size:11px;font-weight:700;line-height:1.3}.setup-wizard-banner{width:100%;max-width:760px;margin:24px auto 0;padding:0 20px}.setup-wizard-banner h1{color:var(--color-heading);margin-bottom:10px;font-size:22px;font-weight:800}.setup-wizard-banner p{color:var(--color-text-muted);margin-bottom:8px;font-size:14px;line-height:1.6}.setup-wizard-step-content{background:var(--color-surface);border-radius:var(--radius);width:100%;max-width:760px;box-shadow:var(--shadow-sm);margin:8px auto 0;padding:20px}.setup-wizard-actions{background:var(--color-surface);border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 12px #1018280f}.setup-wizard-prev-button,.setup-wizard-next-button,.setup-wizard-finish-button{border-radius:var(--radius);cursor:pointer;transition:var(--transition-base);border:none;align-items:center;gap:6px;padding:11px 22px;font-size:14px;font-weight:700;display:flex}.setup-wizard-prev-button{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border)}.setup-wizard-prev-button:disabled{opacity:.4;cursor:not-allowed}.setup-wizard-next-button,.setup-wizard-finish-button{background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm);margin-left:auto}.setup-wizard-next-button:hover:not(:disabled),.setup-wizard-finish-button:hover:not(:disabled){background:var(--color-primary-hover)}.setup-wizard-next-button:disabled{opacity:.5;cursor:not-allowed}.error-boundary-page{min-height:100svh;padding:var(--spacing);background:var(--color-bg);justify-content:center;align-items:center;display:flex}.error-boundary-card{text-align:center;background:var(--color-surface);border-radius:var(--radius);width:100%;max-width:440px;box-shadow:var(--shadow-md);padding:32px}.error-boundary-card h1{color:var(--color-text);font-size:22px}.error-boundary-card p{color:var(--color-text-muted);margin-top:12px;font-size:14px;line-height:1.5}.error-boundary-card button{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;transition:var(--transition-base);border:none;align-items:center;gap:8px;margin-top:24px;padding:10px 20px;font-weight:600;display:inline-flex}.error-boundary-card button:hover{background:var(--color-primary-hover)}.dashboard-layout{background:var(--color-bg);min-height:100svh;color:var(--color-text);display:flex}.dashboard-layout-content{flex:1;min-width:0;padding:32px;position:relative}.dashboard-layout-notifications{z-index:20;position:fixed;top:20px;right:24px}.dashboard-expiry-banner{border-radius:var(--radius);color:#d97706;background:#d977061f;align-items:center;gap:10px;margin-bottom:20px;padding:14px 16px;display:flex}.dashboard-expiry-banner svg{flex-shrink:0}@media (width<=768px){.dashboard-layout{flex-direction:column}.dashboard-layout-content{padding:16px;padding-top:calc(var(--mobile-topbar-height) + env(safe-area-inset-top) + 20px);padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 16px)}.dashboard-layout-notifications{display:none}}.ui-list-end-sentinel{justify-content:center;align-items:center;min-height:32px;margin-top:16px;display:flex}.ui-list-end-message{color:var(--color-text-muted);font-size:13px;font-style:italic}.video-player{background:#000;border:none;width:100%;padding:0;display:block;position:relative;overflow:hidden}.video-player-poster{aspect-ratio:16/9;cursor:pointer}.video-player-compact{aspect-ratio:auto;width:100%;height:100%}.video-player-poster-fallback{background:#1e2530;position:absolute;inset:0}.video-player-play-overlay{color:#fff;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.video-player-play-overlay svg{filter:drop-shadow(0 1px 4px #00000080)}.video-player-active video{cursor:pointer;width:100%;height:auto;display:block}.video-player-controls{color:#fff;background:linear-gradient(#0000,#000000bf);align-items:center;gap:8px;padding:6px 10px;display:flex;position:absolute;bottom:0;left:0;right:0}.video-player-toggle{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.video-player-time{font-variant-numeric:tabular-nums;flex-shrink:0;min-width:30px;font-size:11px}.video-player-seek-track{background:#ffffff4d;border-radius:2px;flex:1;height:4px;position:relative}.video-player-seek-buffered{pointer-events:none;background:#ffffff8c;border-radius:2px;position:absolute;top:0;bottom:0;left:0}.video-player-seek-input{appearance:none;cursor:pointer;background:0 0;width:100%;height:16px;margin:0;position:absolute;top:50%;left:0;transform:translateY(-50%)}.video-player-seek-input::-webkit-slider-runnable-track{background:0 0;height:100%}.video-player-seek-input::-webkit-slider-thumb{appearance:none;background:#fff;border-radius:50%;width:12px;height:12px;margin-top:2px;box-shadow:0 1px 3px #0006}.video-player-seek-input::-moz-range-track{background:0 0;height:100%}.video-player-seek-input::-moz-range-thumb{background:#fff;border:none;border-radius:50%;width:12px;height:12px;box-shadow:0 1px 3px #0006}.reply-modal-form{flex-direction:column;gap:14px;display:flex}.reply-modal-textarea{resize:vertical;border-radius:var(--radius);width:100%;min-height:90px;font:inherit;padding:10px 12px}.reply-modal-stickers{flex-wrap:wrap;gap:6px;display:flex}.reply-modal-sticker{cursor:pointer;width:38px;height:38px;transition:var(--transition-base);background:#ffffff14;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:18px;display:flex}.reply-modal-sticker:hover:not(:disabled){background:#d4af3740}.reply-modal-sticker:disabled{opacity:.5;cursor:not-allowed}.reply-modal-send-button{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;transition:var(--transition-base);border:none;align-self:flex-end;align-items:center;gap:8px;padding:10px 22px;font-weight:700;display:inline-flex}.reply-modal-send-button:hover:not(:disabled){background:var(--color-primary-hover)}.reply-modal-send-button:disabled{opacity:.5;cursor:not-allowed}.stories-modal-backdrop{z-index:20;background:#071528bf;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.stories-modal{background:var(--color-surface);border-radius:var(--radius);width:100%;max-width:480px;max-height:90svh;padding:16px;overflow-y:auto}.stories-modal-close{box-shadow:var(--shadow-sm);border-radius:var(--radius);color:var(--color-text);cursor:pointer;background:0 0;margin-bottom:12px;padding:8px 16px}.post-viewer-author{color:var(--color-text-muted);margin:0 0 10px;font-size:13px;font-weight:600}.post-viewer-caption{color:var(--color-text);white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 12px;font-size:14px;line-height:1.5}.stories-modal-media{flex-direction:column;gap:12px;display:flex}.stories-modal-media img,.stories-modal-media video,.stories-modal-media .video-player{border-radius:var(--radius);width:100%}.stories-modal-media .network-image{border-radius:var(--radius);height:auto;min-height:200px}.stories-modal-media .network-image-img{object-fit:contain;height:auto}.stories-modal-actions{align-items:center;gap:10px;margin-top:14px;display:flex}.stories-like-button{background:var(--color-bg);color:var(--color-text-muted);cursor:pointer;transition:var(--transition-base);border:none;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:10px 14px;font-size:14px;font-weight:700;display:flex}.stories-like-button:hover{box-shadow:var(--shadow-sm)}.stories-like-button-active{color:#dc2626;background:#dc26261f}.stories-download-button,.stories-reshare-button,.stories-share-button,.stories-visibility-swap-button,.stories-delete-button{background:var(--color-bg);width:40px;height:40px;color:var(--color-text-muted);cursor:pointer;transition:var(--transition-base);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.stories-download-button:hover,.stories-reshare-button:hover,.stories-share-button:hover,.stories-visibility-swap-button:hover{box-shadow:var(--shadow-sm);color:var(--color-primary-hover)}.stories-reshare-button:disabled,.stories-visibility-swap-button:disabled,.stories-delete-button:disabled{opacity:.5;cursor:not-allowed}.stories-delete-button{color:#dc2626;margin-left:auto}.stories-delete-button:hover{box-shadow:var(--shadow-sm);background:#dc26261f}.stories-reply-button{background:var(--color-bg);color:var(--color-text-muted);cursor:pointer;transition:var(--transition-base);border:none;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:10px 14px;font-size:14px;font-weight:700;display:flex}.stories-reply-button:hover{box-shadow:var(--shadow-sm);color:var(--color-primary-hover)}.feed-post-card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:14px 16px;display:flex}.feed-post-card-header{align-items:center;gap:10px;display:flex}.feed-post-card-author{flex-direction:column;min-width:0;display:flex}.feed-post-card-author-name{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.feed-post-card-reshare-tag{color:var(--color-text-muted);font-weight:400}.feed-post-card-meta{color:var(--color-text-muted);font-size:12px}.feed-post-card-caption{color:var(--color-text);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.5}.feed-post-card-media{border-radius:var(--radius);cursor:pointer;background:var(--color-bg);border:none;width:100%;padding:0;position:relative;overflow:hidden}.feed-post-card-media .network-image{aspect-ratio:16/9;width:100%}.feed-post-card-media .network-image-img{object-fit:cover}.feed-post-card-media .video-player{aspect-ratio:16/9;width:100%;height:auto}.feed-post-card-media-count{color:#fff;background:#0009;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700;position:absolute;bottom:8px;right:8px}.feed-post-card-footer{gap:8px;display:flex}.feed-post-card-action{background:var(--color-bg);color:var(--color-text-muted);cursor:pointer;transition:var(--transition-base);border:none;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:700;display:flex}.feed-post-card-action:hover{box-shadow:var(--shadow-sm)}.feed-post-card-action-active{color:#dc2626;background:#dc26261f}.post-feed{max-width:600px;margin:28px auto}.post-feed-composer{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:16px;display:flex}.post-feed-file-picker{border:1px solid var(--color-primary);border-radius:var(--radius);color:var(--color-primary);cursor:pointer;align-self:flex-start;padding:8px 14px;font-size:13px;font-weight:600;transition:background-color .15s,color .15s}.post-feed-file-picker:hover{background:var(--color-primary);color:var(--color-on-primary)}.post-feed-preview-row{flex-wrap:wrap;gap:8px;display:flex}.post-feed-preview-thumb{border-radius:var(--radius);width:64px;height:64px;box-shadow:var(--shadow-sm);overflow:hidden}.post-feed-preview-thumb img,.post-feed-preview-thumb video{object-fit:cover;width:100%;height:100%}.post-feed-caption-field{resize:vertical;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);width:100%;min-height:48px;color:var(--color-text);font:inherit;transition:var(--transition-base);padding:10px 12px}.post-feed-composer-footer{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.post-feed-caption-count{color:var(--color-text-muted);font-size:12px}.post-feed-visibility-toggle{gap:8px;margin-left:auto;display:flex}.post-feed-visibility-option{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);cursor:pointer;transition:var(--transition-base);border-radius:999px;align-items:center;gap:4px;padding:7px 14px;font-size:13px;font-weight:600;display:flex}.post-feed-visibility-option-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.post-feed-publish{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);border:none;padding:9px 22px;font-weight:600}.post-feed-publish:hover:not(:disabled){background:var(--color-primary-hover)}.post-feed-publish:disabled{opacity:.5;cursor:not-allowed}.post-feed-list{flex-direction:column;gap:16px;margin-top:20px;display:flex}.post-feed-empty{color:var(--color-text-muted)}.profile-card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);align-items:center;gap:18px;margin:24px 0;padding:20px;display:flex}.profile-card-photo-wrap{flex-shrink:0;position:relative}.profile-card-badge{border:2px solid var(--color-surface);background:#fff;border-radius:50%;width:32px;height:32px;position:absolute;bottom:-2px;right:-2px;overflow:hidden}.profile-card-badge .network-image-img{object-fit:contain;padding:3px}.profile-card-info{flex-direction:column;gap:4px;min-width:0;display:flex}.profile-card-name{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:22px;font-weight:700;overflow:hidden}.profile-card-detail{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}@media (width<=480px){.profile-card{text-align:center;flex-direction:column}.profile-card-name,.profile-card-detail{white-space:normal}}.dashboard-page h1{font-size:24px;font-weight:600}.dashboard-subtitle{color:var(--color-text-muted);margin-top:8px}.dashboard-stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-top:24px;display:grid}.dashboard-stat-card{border:1px solid var(--color-border);border-left:4px solid var(--tone-icon,var(--color-primary));border-radius:var(--radius);background:color-mix(in srgb, var(--tone-icon,var(--color-primary)) 8%, var(--color-surface));box-shadow:var(--shadow-sm);transition:var(--transition-base);flex-direction:column;gap:6px;padding:18px 20px;display:flex}.dashboard-stat-card[data-tone=blue]{--tone-icon:#2563eb}.dashboard-stat-card[data-tone=purple]{--tone-icon:#7c3aed}.dashboard-stat-card[data-tone=amber]{--tone-icon:#d97706}.dashboard-stat-card[data-tone=red]{--tone-icon:#dc2626}.dashboard-stat-card[data-tone=green]{--tone-icon:#16a34a}.dashboard-stat-card:hover{box-shadow:var(--shadow-md)}.dashboard-presence-rows{flex-direction:column;gap:6px;margin-top:4px;display:flex}.dashboard-presence-row{color:var(--color-text-muted);justify-content:space-between;align-items:baseline;gap:10px;font-size:13px;display:flex}.dashboard-presence-row strong{color:var(--color-text);font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.dashboard-presence-row strong em{color:var(--color-text-muted);font-size:12px;font-style:normal;font-weight:600}.dashboard-charts-section{max-width:1100px;margin-top:32px}.dashboard-charts-section h2{margin-bottom:12px;font-size:18px;font-weight:600}.dashboard-charts-row{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.dashboard-chart-card{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);padding:18px 20px 8px}.dashboard-chart-card h3{color:var(--color-text);margin-bottom:4px;font-size:14px;font-weight:700}.dashboard-stat-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-size:12px;font-weight:700}.dashboard-stat-value{color:var(--tone-icon,var(--color-primary-hover));font-size:26px;font-weight:700}.dashboard-section{max-width:640px;margin-top:32px}.dashboard-teacher-cards-row{grid-template-columns:repeat(auto-fill,minmax(172px,1fr));gap:14px;display:grid}.dashboard-teacher-card{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-text);transition:var(--transition-base);flex-direction:column;gap:12px;padding:18px;text-decoration:none;display:flex;position:relative;overflow:hidden}.dashboard-teacher-card:before{content:"";background:var(--tone-icon,var(--color-primary));width:4px;position:absolute;inset:0 auto 0 0}.dashboard-teacher-card:after{content:"";border-top:2px solid var(--color-border);border-right:2px solid var(--color-border);width:8px;height:8px;transition:var(--transition-base);position:absolute;bottom:14px;right:14px;transform:rotate(45deg)}.dashboard-teacher-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.dashboard-teacher-card:hover:after{border-color:var(--tone-icon,var(--color-primary));right:10px}.dashboard-teacher-card[data-tone=blue]{--tone-icon:#2563eb}.dashboard-teacher-card[data-tone=purple]{--tone-icon:#7c3aed}.dashboard-teacher-card[data-tone=teal]{--tone-icon:#0891b2}.dashboard-teacher-card[data-tone=amber]{--tone-icon:#d97706}.dashboard-teacher-card-icon{background:color-mix(in srgb, var(--tone-icon,var(--color-primary)) 15%, transparent);width:42px;height:42px;color:var(--tone-icon,var(--color-primary));border-radius:12px;justify-content:center;align-items:center;display:flex}.dashboard-teacher-card-title{color:var(--color-text);padding-right:14px;font-size:14px;font-weight:700;line-height:1.3}.dashboard-teacher-card-subtitle{color:var(--color-text-muted);font-size:12px;font-weight:600}.dashboard-children-row{flex-wrap:wrap;gap:18px;display:flex}.dashboard-child-preview{text-align:center;width:78px;color:var(--color-text);flex-direction:column;align-items:center;gap:6px;text-decoration:none;display:flex}.dashboard-child-preview .ui-avatar-photo,.dashboard-child-preview .ui-avatar-initials{transition:var(--transition-base)}.dashboard-child-preview:hover .ui-avatar-photo,.dashboard-child-preview:hover .ui-avatar-initials{box-shadow:0 0 0 3px var(--color-primary)}.dashboard-child-preview-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.dashboard-section h2{margin-bottom:12px;font-size:18px;font-weight:600}.dashboard-empty{color:var(--color-text-muted)}.dashboard-announcement-list,.dashboard-plan-list{flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.dashboard-announcement-item,.dashboard-plan-item{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:var(--transition-base);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.dashboard-announcement-item:hover,.dashboard-plan-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.dashboard-announcement-title,.dashboard-plan-title{font-weight:500}.dashboard-plan-date{color:var(--color-text-muted);flex-shrink:0;font-size:13px}.dashboard-priority-badge{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;padding:4px 10px;font-size:11px;font-weight:700}.dashboard-link{color:var(--color-primary-hover);align-items:center;gap:4px;margin-top:4px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.dashboard-link:hover{text-decoration:underline}.dashboard-stat-icon{color:var(--tone-icon,var(--color-accent));margin-bottom:2px}.dashboard-shortcut-row{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.dashboard-shortcut-row .dashboard-shortcut-button{margin-top:0}.dashboard-shortcut-button{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm);transition:var(--transition-base);align-items:center;gap:8px;margin-top:24px;padding:12px 24px;font-weight:600;text-decoration:none;display:inline-flex}.dashboard-shortcut-button:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.dashboard-sick-report-card{margin-top:24px}.dashboard-sick-report-button{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);cursor:pointer;transition:var(--transition-base);align-items:center;gap:6px;padding:9px 16px;font-size:13px;font-weight:600;display:inline-flex}.dashboard-sick-report-button:hover:not(:disabled){color:#dc2626;border-color:#dc2626}.dashboard-sick-report-button:disabled{opacity:.6;cursor:not-allowed}.dashboard-sick-report-pending,.dashboard-sick-report-confirmed{border-radius:var(--radius);align-items:center;gap:6px;padding:9px 16px;font-size:13px;font-weight:600;display:inline-flex}.dashboard-sick-report-pending{color:#c2410c;background:#ea580c1f}.dashboard-sick-report-confirmed{color:#b45309;background:#f59e0b1f}.dashboard-due-card{border:1px solid var(--color-border);border-radius:var(--radius);background:color-mix(in srgb, #dc2626 8%, var(--color-surface));box-shadow:var(--shadow-sm);transition:var(--transition-base);cursor:pointer;text-align:left;border-left:4px solid #dc2626;flex-direction:column;align-items:flex-start;gap:6px;padding:18px 20px;display:flex}.dashboard-due-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.dashboard-due-modal-hint{color:var(--color-text-muted);font-size:13px}.dashboard-due-child-list{flex-direction:column;gap:8px;max-height:260px;margin:14px 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.dashboard-due-child-checkbox{border-radius:var(--radius);cursor:pointer;background:#ffffff0f;align-items:center;gap:10px;padding:8px 10px;display:flex}.dashboard-due-child-checkbox input{width:auto;accent-color:var(--color-primary)}.dashboard-due-modal-total{border-top:1px solid #d4af374d;flex-direction:column;align-items:center;gap:4px;margin-top:18px;padding-top:14px;display:flex}.dashboard-due-modal-total-cdf{color:var(--color-primary);font-size:22px;font-weight:800}.dashboard-due-modal-total-usd{color:#cbbfa3;font-size:13px}.dashboard-school-picker .school-switcher-picker-page{background:0 0;justify-content:flex-start;min-height:0;padding:0}.dashboard-school-picker .school-switcher-picker-card{text-align:left;max-width:100%;padding:20px}.login-page{grid-template-columns:1fr 1fr;min-height:100svh;display:grid}.login-visual{background-image:url(https://images.unsplash.com/photo-1523240795612-9a054b0db644?q=80&w=1000);background-position:50%;background-size:cover;justify-content:center;align-items:center;padding:48px;display:flex;position:relative}.login-visual-overlay{background:linear-gradient(#0715288c 0%,#071528e0 100%);position:absolute;inset:0}.login-visual-content{z-index:1;text-align:center;max-width:460px;position:relative}.login-slogan{color:#fff;text-shadow:0 2px 12px #00000059;font-size:28px;font-weight:700;line-height:1.4}.login-slogan span{color:var(--color-primary)}.login-form-panel{padding:var(--spacing);background:var(--color-bg);justify-content:center;align-items:center;display:flex}.login-card{background:var(--color-surface);border-radius:var(--radius);width:100%;max-width:400px;box-shadow:var(--shadow-md);transition:var(--transition-base);padding:32px}.login-logo{object-fit:contain;border-radius:var(--radius);width:72px;height:72px;margin:0 auto 20px}.login-title{text-align:center;font-size:24px;font-weight:600}.login-subtitle{text-align:center;color:var(--color-text-muted);margin-top:4px;font-size:14px}.login-job-board-button{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);transition:var(--transition-base);justify-content:center;align-items:center;gap:8px;margin-top:18px;padding:10px 16px;font-size:14px;font-weight:700;text-decoration:none;display:flex}.login-job-board-button:hover{border-color:var(--color-primary);color:var(--color-primary-hover)}.login-job-board-badge{color:#fff;background:#dc2626;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:12px;font-weight:700;display:inline-flex}.login-form{flex-direction:column;gap:16px;margin-top:24px;display:flex}.login-field{flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.login-field input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);padding:10px 12px}.login-field input:focus{outline:2px solid var(--color-primary);outline-offset:1px}.login-error{border-radius:var(--radius);color:#dc2626;background:#dc26261a;margin:0;padding:10px 12px;font-size:14px}.login-submit{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);border:none;padding:12px;font-weight:600}.login-submit:hover:not(:disabled){background:var(--color-primary-hover)}.login-submit:disabled{opacity:.6;cursor:not-allowed}.login-legal-links{text-align:center;color:var(--color-text-muted);margin-top:20px;font-size:12px}.login-legal-links a{color:var(--color-text-muted);text-decoration:underline}.login-legal-links a:hover{color:var(--color-primary)}@media (width<=900px){.login-page{grid-template-columns:1fr}.login-visual{display:none}}.job-board-page{background:var(--color-bg);max-width:720px;min-height:100vh;color:var(--color-text);margin:0 auto;padding:32px 20px 60px}.job-board-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.job-board-logo{object-fit:contain;border-radius:var(--radius);width:40px;height:40px}.job-board-back{color:var(--color-text-muted);align-items:center;gap:6px;margin-bottom:16px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.job-board-back:hover{color:var(--color-primary-hover)}.job-board-page h1{align-items:center;gap:10px;font-size:26px;font-weight:700;display:flex}.job-board-subtitle{color:var(--color-text-muted);margin-top:6px}.job-board-description{white-space:pre-wrap;margin-top:12px}.job-board-empty{color:var(--color-text-muted);margin-top:24px}.job-board-list{flex-direction:column;gap:12px;margin:24px 0 0;padding:0;list-style:none;display:flex}.job-post-card{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:var(--transition-base);flex-direction:column;gap:14px;padding:20px;display:flex}.job-post-card:hover{box-shadow:var(--shadow-md)}.job-post-header{align-items:center;gap:10px;display:flex}.job-post-header-text{flex-direction:column;gap:1px;min-width:0;display:flex}.job-post-school-name{color:var(--color-text);font-size:14px;font-weight:700}.job-post-school-email{color:var(--color-text-muted);font-size:12px}.job-post-title{color:var(--color-heading);font-size:19px;font-weight:800;line-height:1.3}.job-post-description-box{border-radius:var(--radius);background:var(--color-bg);box-shadow:var(--shadow-sm);padding:14px 16px}.job-post-description-box p{color:var(--color-text);white-space:pre-wrap;font-size:14px;line-height:1.6}.job-post-tags{flex-wrap:wrap;gap:8px;display:flex}.job-post-tag{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:4px 12px;font-size:11px;font-weight:800}.job-post-tag[data-tone=pdf]{color:#dc2626;background:#dc262624}.job-post-tag[data-tone=docx]{color:#2563eb;background:#2563eb24}.job-post-tag[data-tone=image]{color:#16a34a;background:#16a34a24}.job-post-tag[data-tone=text]{color:#d97706;background:#d9770624}.job-post-tag[data-tone=cv]{color:#7c3aed;background:#7c3aed24}.job-post-tag[data-tone=cover-letter]{color:#0891b2;background:#0891b224}.job-post-apply-button{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);transition:var(--transition-base);justify-content:center;align-items:center;gap:8px;margin-top:4px;padding:13px;font-size:14px;font-weight:700;text-decoration:none;display:flex}.job-post-apply-button:hover{background:var(--color-primary-hover)}.job-board-apply-form{flex-direction:column;gap:16px;margin-top:28px;display:flex}.job-board-field{flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.job-board-field input,.job-board-field textarea{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);padding:10px 12px;font-family:inherit}.job-board-submit{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;transition:var(--transition-base);border:none;margin-top:8px;padding:12px;font-weight:700}.job-board-submit:hover:not(:disabled){background:var(--color-primary-hover)}.job-board-submit:disabled{opacity:.6;cursor:not-allowed}.job-board-auth-required{border-radius:var(--radius);background:color-mix(in srgb, var(--color-primary) 10%, transparent);color:var(--color-text);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-size:13px;display:flex}.job-board-auth-required-actions{flex-shrink:0;gap:8px;display:flex}.job-board-auth-required-actions a{border:1px solid var(--color-primary);border-radius:var(--radius);color:var(--color-primary-hover);white-space:nowrap;background:0 0;padding:7px 14px;font-weight:700;text-decoration:none}.job-board-auth-required-actions a:first-child{background:var(--color-primary);color:var(--color-on-primary)}.job-board-success{text-align:center;color:var(--color-primary-hover);flex-direction:column;align-items:center;gap:10px;margin-top:40px;display:flex}.job-board-success h1{color:var(--color-text)}.job-board-success p{color:var(--color-text-muted);max-width:460px}@keyframes job-board-success-pop{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.job-board-success-animate svg{color:#16a34a;animation:.45s cubic-bezier(.34,1.56,.64,1) job-board-success-pop}.job-board-success-notice{border-radius:var(--radius);background:color-mix(in srgb, var(--color-primary) 8%, transparent);text-align:left;margin-top:8px;padding:14px 16px}.job-board-success-notice p{max-width:none;font-size:13px;line-height:1.6}.job-board-success-notice p+p{margin-top:8px}.my-applications-list{flex-direction:column;gap:12px;margin:20px 0 0;padding:0;list-style:none;display:flex}.my-applications-card{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;padding:16px 20px;display:flex}.my-applications-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.my-applications-title{color:var(--color-heading);font-size:15px;font-weight:700}.my-applications-school{color:var(--color-text-muted);font-size:13px}.my-applications-status{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-flex}.my-applications-status[data-tone=new]{color:#2563eb;background:#2563eb24}.my-applications-status[data-tone=consulted]{color:#d97706;background:#d9770624}.my-applications-status[data-tone=selected]{color:#16a34a;background:#16a34a24}.my-applications-date{color:var(--color-text-muted);font-size:12px}.my-applications-withdraw{border:1px solid var(--color-border);border-radius:var(--radius);color:#dc2626;cursor:pointer;transition:var(--transition-base);background:0 0;align-self:flex-start;align-items:center;gap:6px;margin-top:4px;padding:7px 12px;font-size:13px;font-weight:600;display:inline-flex}.my-applications-withdraw:hover{background:#dc262614;border-color:#dc2626}.file-dropzone{flex-direction:column;gap:6px;width:100%;display:flex}.file-dropzone-label{color:var(--color-text-muted);padding-left:2px;font-size:12px;font-weight:600}.file-dropzone-zone{border:2px dashed var(--color-border);border-radius:var(--radius);background:var(--color-bg);width:100%;min-height:100px;color:var(--color-text-muted);cursor:pointer;justify-content:center;align-items:center;transition:border-color .15s,background .15s;display:flex;position:relative;overflow:hidden}.file-dropzone-zone:hover:not(:disabled){border-color:var(--color-primary)}.file-dropzone-zone-dragover{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 8%, var(--color-bg))}.file-dropzone-zone:disabled{cursor:not-allowed;opacity:.6}.file-dropzone-empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:18px;font-size:13px;font-weight:500;display:flex}.file-dropzone-filename{color:var(--color-text);word-break:break-all;align-items:center;gap:8px;padding:14px 18px;font-size:13px;font-weight:600;display:flex}.file-dropzone-preview{object-fit:cover;width:100%;height:140px;display:block}.file-dropzone-clear{color:#dc2626;cursor:pointer;background:#dc26261a;border:none;border-radius:999px;align-self:flex-start;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:700;display:flex}.file-dropzone-clear:hover{background:#dc26262e}.rich-text-input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);transition:var(--transition-base);overflow:hidden}.rich-text-input:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-primary) 20%, transparent)}.rich-text-toolbar{border-bottom:1px solid var(--color-border);background:var(--color-bg);gap:2px;padding:6px;display:flex}.rich-text-toolbar button{width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;transition:var(--transition-base);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex}.rich-text-toolbar button:hover{background:var(--color-surface);color:var(--color-primary)}.rich-text-editor-wrapper{position:relative}.rich-text-editor{min-height:120px;max-height:320px;color:var(--color-text);outline:none;padding:10px 12px;font-size:14px;line-height:1.6;overflow-y:auto}.rich-text-placeholder{color:var(--color-text-muted);pointer-events:none;font-size:14px;position:absolute;top:10px;left:12px}.legal-page{background:var(--color-bg);min-height:100svh}.legal-header{padding:20px var(--spacing);background:var(--color-surface);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.legal-back-link{color:var(--color-text);transition:var(--transition-base);align-items:center;gap:6px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.legal-back-link:hover{color:var(--color-primary)}.legal-brand{color:var(--color-primary);align-items:center;gap:8px;font-weight:700;display:flex}.legal-brand img{object-fit:contain;border-radius:6px;width:28px;height:28px}.legal-content{max-width:760px;padding:40px var(--spacing) 80px;color:var(--color-text);margin:0 auto;line-height:1.7}.legal-content h1{font-size:26px;font-weight:700}.legal-updated{color:var(--color-text-muted);margin-top:6px;font-size:13px}.legal-content h2{color:var(--color-primary);margin-top:36px;font-size:18px;font-weight:700}.legal-content h3{margin-top:20px;font-size:15px;font-weight:700}.legal-content p{margin-top:12px;font-size:15px}.legal-content ul,.legal-content ol{margin-top:12px;padding-left:22px;font-size:15px}.legal-content li{margin-top:6px}.legal-content a{color:var(--color-primary);font-weight:600}.legal-content strong{color:var(--color-text)}.legal-cross-link{border-top:1px solid var(--color-border,#00000014);margin-top:48px;padding-top:20px;font-size:14px}.job-postings-form{max-width:560px}.job-postings-field-builder{border-top:1px dashed var(--color-border);flex-direction:column;gap:10px;padding-top:10px;display:flex}.job-postings-field-type{color:var(--color-text-muted);font-size:11px}.job-postings-field-required{color:#dc2626;margin-left:2px;font-weight:700}.job-postings-add-field-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.job-postings-add-field-row input[type=text]{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);min-width:200px;color:var(--color-text);flex:1;padding:9px 12px;font-size:13px}.job-postings-required-checkbox{white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.job-postings-required-checkbox input{width:auto;accent-color:var(--color-primary)}.job-postings-item-actions{align-items:center;gap:10px;margin-top:8px;display:flex}.job-postings-item-link{color:var(--color-primary-hover);font-size:13px;font-weight:600;text-decoration:none}.job-postings-item-link:hover{text-decoration:underline}.job-postings-item-toggle{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);cursor:pointer;transition:var(--transition-base);padding:6px 12px;font-size:12px;font-weight:600}.job-postings-item-toggle:hover{border-color:var(--color-primary);color:var(--color-primary-hover)}.job-applications-selected{border:1px solid var(--color-primary)}.job-applications-selected-icon{color:var(--color-primary-hover);vertical-align:middle;margin-right:4px}.job-applications-viewed-icon{color:var(--color-text-muted);vertical-align:middle;margin-right:4px}.job-applications-applicant{border-radius:var(--radius);background:var(--color-bg);flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;padding:8px 10px;font-size:13px;display:flex}.job-applications-answers{flex-direction:column;gap:4px;margin:10px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.job-applications-answer-link{color:var(--color-primary-hover);align-items:center;gap:5px;text-decoration:none;display:inline-flex}.job-applications-answer-link:hover{text-decoration:underline}.job-applications-delete-all{border-radius:var(--radius);color:#dc2626;cursor:pointer;transition:var(--transition-base);background:#dc26261f;border:none;align-items:center;gap:8px;margin-top:20px;padding:10px 18px;font-weight:700;display:flex}.job-applications-delete-all:hover{background:#dc262633}.prolonged-absences-page h1{font-size:24px;font-weight:600}.prolonged-absences-subtitle{max-width:640px;color:var(--color-text-muted);margin-top:8px}.prolonged-absences-list{flex-direction:column;gap:8px;max-width:700px;margin-top:20px;padding:0;list-style:none;display:flex}.prolonged-absences-empty{color:var(--color-text-muted);margin-top:20px}.prolonged-absences-item{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.prolonged-absences-item-title{font-weight:600;display:block}.prolonged-absences-item-meta{color:var(--color-text-muted);font-size:13px;display:block}.prolonged-absences-remove-button{border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);cursor:pointer;transition:var(--transition-base);border:none;flex-shrink:0;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:600;display:flex}.prolonged-absences-remove-button:hover:not(:disabled){color:#fff;background:#dc2626}.prolonged-absences-remove-button:disabled{opacity:.5;cursor:not-allowed}.expulsions-page h1{font-size:24px;font-weight:600}.expulsions-subtitle{max-width:640px;color:var(--color-text-muted);margin-top:8px}.expulsions-bulk-card{border-radius:var(--radius);background:var(--color-surface);max-width:760px;box-shadow:var(--shadow-sm);color:#dc2626;flex-wrap:wrap;align-items:center;gap:16px;margin-top:24px;padding:20px;display:flex}.expulsions-bulk-card h2{color:var(--color-text);font-size:16px;font-weight:700}.expulsions-bulk-card p{color:var(--color-text-muted);margin-top:4px;font-size:13px}.expulsions-bulk-card>div{flex:1;min-width:240px}.expulsions-bulk-card button{border-radius:var(--radius);color:#fff;cursor:pointer;transition:var(--transition-base);background:#dc2626;border:none;flex-shrink:0;padding:10px 18px;font-weight:600}.expulsions-bulk-card button:hover:not(:disabled){background:#b91c1c}.expulsions-bulk-card button:disabled{opacity:.6;cursor:not-allowed}.expulsions-manual-card{border-radius:var(--radius);background:var(--color-surface);max-width:760px;box-shadow:var(--shadow-sm);margin-top:20px;padding:20px}.expulsions-manual-card h2{font-size:16px;font-weight:700}.expulsions-manual-card form{flex-direction:column;gap:16px;margin-top:16px;display:flex}.expulsions-field{flex-direction:column;gap:8px;font-size:14px;font-weight:500;display:flex}.expulsions-field textarea{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);resize:vertical;padding:10px 12px;font-family:inherit}.expulsions-selected-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.expulsions-selected-list li{background:var(--color-primary);color:var(--color-on-primary);border-radius:999px;align-items:center;gap:6px;padding:4px 6px 4px 10px;font-size:12px;font-weight:600;display:flex}.expulsions-selected-list button{color:inherit;cursor:pointer;background:#ffffff40;border:none;border-radius:999px;padding:2px 8px;font-size:11px}.expulsions-student-picker{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);max-height:220px;margin:0;padding:4px;list-style:none;overflow-y:auto}.expulsions-student-picker li{padding:2px 0}.expulsions-student-picker label{border-radius:var(--radius);cursor:pointer;align-items:center;gap:8px;padding:6px 8px;font-weight:400;display:flex}.expulsions-student-picker label:hover{background:var(--color-surface)}.expulsions-checkbox-field{cursor:pointer;align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.expulsions-submit{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;box-shadow:var(--shadow-sm);transition:var(--transition-base);border:none;align-self:flex-start;align-items:center;gap:8px;padding:10px 20px;font-weight:600;display:flex}.expulsions-submit:hover:not(:disabled){background:var(--color-primary-hover)}.expulsions-submit:disabled{opacity:.5;cursor:not-allowed}.expulsions-history-section{max-width:760px;margin-top:32px}.expulsions-history-section h2{margin-bottom:12px;font-size:18px;font-weight:600}.expulsions-empty{color:var(--color-text-muted);margin-top:20px}.expulsions-history-list{flex-direction:column;gap:8px;margin-top:12px;padding:0;list-style:none;display:flex}.expulsions-history-item{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.expulsions-history-item-title{font-weight:600;display:block}.expulsions-history-item-meta{color:var(--color-text-muted);font-size:13px;display:block}.expulsions-badge{background:var(--color-bg);color:var(--color-text-muted);text-transform:uppercase;border-radius:999px;flex-shrink:0;padding:4px 10px;font-size:11px;font-weight:700}.expulsions-badge-unpaid{color:#dc2626;background:#fee2e2}.progress-bar-wrapper{flex-direction:column;gap:6px;width:100%;display:flex}.progress-bar-header{justify-content:space-between;align-items:center;font-size:13px;display:flex}.progress-bar-label{color:var(--color-text);font-weight:600}.progress-bar-percentage{color:var(--color-primary-hover);font-weight:700}.progress-bar-track{background:var(--color-border);border-radius:999px;width:100%;height:10px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--color-primary), var(--color-primary-hover));border-radius:999px;height:100%;transition:width .4s}.progress-bar-track-indeterminate .progress-bar-fill{width:40%;animation:1.1s ease-in-out infinite progress-bar-indeterminate-slide}@keyframes progress-bar-indeterminate-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}.storage-page h1{font-size:24px;font-weight:600}.storage-subtitle{color:var(--color-text-muted);margin-top:8px}.storage-section{max-width:640px;margin-top:28px}.storage-section h2{margin-bottom:12px;font-size:18px;font-weight:600}.storage-hint{color:var(--color-text-muted);margin-top:8px;font-size:13px}.storage-empty{color:var(--color-text-muted)}.storage-thumbnail-cache{border-top:1px dashed var(--color-border);margin-top:20px;padding-top:16px}.storage-thumbnail-cache .storage-hint{margin-top:0}.storage-clear-thumbnails-button{margin-top:10px}.storage-clear-button{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);cursor:pointer;transition:var(--transition-base);align-items:center;gap:6px;margin-top:16px;padding:9px 16px;font-size:13px;font-weight:600;display:inline-flex}.storage-clear-button:hover:not(:disabled){color:#dc2626;border-color:#dc2626}.storage-clear-button:disabled{opacity:.6;cursor:not-allowed}.storage-queue-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.storage-queue-item{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding:12px 14px;display:flex}.storage-queue-item-title{font-weight:600;display:block}.storage-queue-item-meta{color:var(--color-text-muted);font-size:13px;display:block}.storage-queue-item-actions{flex-shrink:0;gap:8px;display:flex}.storage-queue-item-actions button,.storage-scan-link{border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);cursor:pointer;transition:var(--transition-base);border:none;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:600;text-decoration:none;display:flex}.storage-queue-item-actions button:hover:not(:disabled){background:var(--color-primary);color:var(--color-on-primary)}.storage-queue-item-actions button:disabled{opacity:.5;cursor:not-allowed}.storage-queue-item-cancel:hover:not(:disabled){color:#fff!important;background:#dc2626!important}.storage-scan-link:hover{background:var(--color-primary);color:var(--color-on-primary)}.account-settings-page h1{font-size:24px;font-weight:600}.account-settings-subtitle{color:var(--color-text-muted);margin-top:8px}.account-settings-section{border-radius:var(--radius);background:var(--color-surface);max-width:480px;box-shadow:var(--shadow-sm);margin-top:28px;padding:20px}.account-settings-section h2{margin-bottom:14px;font-size:16px;font-weight:600}.account-settings-hint{color:var(--color-text-muted);margin-bottom:14px;font-size:13px}.account-settings-primary-button,.account-settings-theme-toggle,.account-settings-logout-button{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;transition:var(--transition-base);border:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-weight:600;display:inline-flex}.account-settings-primary-button:hover:not(:disabled),.account-settings-theme-toggle:hover,.account-settings-logout-button:hover{background:var(--color-primary-hover)}.account-settings-primary-button:disabled{opacity:.6;cursor:not-allowed}.account-settings-theme-toggle,.account-settings-logout-button{background:var(--color-bg);width:100%;color:var(--color-text)}.account-settings-theme-toggle:hover,.account-settings-logout-button:hover{background:var(--color-border)}.account-settings-links{flex-direction:column;gap:8px;display:flex}.account-settings-link{border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);transition:var(--transition-base);align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.account-settings-link:hover{background:var(--color-border)}.account-settings-danger-zone{border:1px solid #dc26264d}.account-settings-danger-zone h2{color:#dc2626}.account-settings-delete-button{border-radius:var(--radius);color:#dc2626;cursor:pointer;background:0 0;border:1px solid #dc2626;align-items:center;gap:8px;padding:10px 20px;font-weight:600;transition:background-color .15s,color .15s;display:inline-flex}.account-settings-delete-button:hover:not(:disabled){color:#fff;background:#dc2626}.account-settings-delete-button:disabled{opacity:.6;cursor:not-allowed}.image-lightbox{z-index:1000;background:#000;flex-direction:column;display:flex;position:fixed;inset:0}.image-lightbox-close{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));z-index:1;color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:absolute}.image-lightbox-close:hover{background:#ffffff38}.image-lightbox-stage{touch-action:none;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:hidden}.image-lightbox-img{object-fit:contain;will-change:transform;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:100%;max-height:100%;transition:transform 50ms linear}.chat-video-player{border-radius:var(--radius);background:#000;width:100%;display:block;position:relative;overflow:hidden}.chat-video-player video{cursor:pointer;width:100%;height:auto;display:block}.chat-video-player-controls{color:#fff;background:linear-gradient(#0000,#000000bf);align-items:center;gap:8px;padding:6px 10px;display:flex;position:absolute;bottom:0;left:0;right:0}.chat-video-player-toggle,.chat-video-player-download{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.chat-video-player-time{font-variant-numeric:tabular-nums;flex-shrink:0;min-width:30px;font-size:11px}.chat-video-player-seek-track{background:#ffffff4d;border-radius:2px;flex:1;height:4px;position:relative}.chat-video-player-seek-buffered{pointer-events:none;background:#ffffff8c;border-radius:2px;position:absolute;top:0;bottom:0;left:0}.chat-video-player-seek-input{appearance:none;cursor:pointer;background:0 0;width:100%;height:16px;margin:0;position:absolute;top:50%;left:0;transform:translateY(-50%)}.chat-video-player-seek-input::-webkit-slider-runnable-track{background:0 0;height:100%}.chat-video-player-seek-input::-webkit-slider-thumb{appearance:none;background:#fff;border-radius:50%;width:12px;height:12px;margin-top:2px;box-shadow:0 1px 3px #0006}.chat-video-player-seek-input::-moz-range-track{background:0 0;height:100%}.chat-video-player-seek-input::-moz-range-thumb{background:#fff;border:none;border-radius:50%;width:12px;height:12px;box-shadow:0 1px 3px #0006}.chat-media-caption{margin-top:6px;font-size:14px}.chat-media-spin{animation:.9s linear infinite chat-media-spin}@keyframes chat-media-spin{to{transform:rotate(360deg)}}.chat-media-card{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);cursor:default;text-align:left;min-width:220px;color:var(--color-text);border:none;align-items:center;gap:10px;padding:10px 14px;font-size:14px;display:flex}.chat-media-card-scanning{color:var(--color-text-muted)}.chat-media-card-rejected{color:#dc2626;background:#dc262614}.chat-media-card-expired{color:var(--color-text-muted);font-style:italic}.chat-media-card-locked{cursor:pointer;transition:var(--transition-base);flex-wrap:wrap}.chat-media-card-locked:hover:not(:disabled){box-shadow:var(--shadow-md)}.chat-media-card-locked:disabled{cursor:wait;opacity:.8}.chat-media-hint{width:100%;color:var(--color-text-muted);font-size:11px}.chat-media-image-wrap{max-width:min(260px,100%);display:inline-block;position:relative}.chat-media-image{border-radius:var(--radius);max-width:100%;max-height:320px;box-shadow:var(--shadow-sm);cursor:zoom-in;display:block}.chat-media-image-download{color:#fff;cursor:pointer;background:#0000008c;border:none;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;display:flex;position:absolute;bottom:6px;right:6px}.chat-media-image-download:hover{background:#000000bf}.chat-media-video-wrap{border-radius:var(--radius);max-width:280px;box-shadow:var(--shadow-md);overflow:hidden}.chat-media-poster{border-radius:var(--radius);cursor:pointer;background:linear-gradient(135deg, var(--color-accent), var(--color-accent-hover));width:220px;height:140px;color:var(--color-on-accent);box-shadow:var(--shadow-md);transition:var(--transition-base);border:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:relative}.chat-media-poster:hover:not(:disabled){transform:scale(1.02)}.chat-media-poster:disabled{cursor:wait}.chat-media-poster-play{background:#ffffff40;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.chat-media-poster-meta{opacity:.9;align-items:center;gap:6px;font-size:12px;display:flex}.chat-media-poster .chat-media-hint{color:inherit;opacity:.85;text-align:center}.chat-media-voice{border-radius:999px;align-items:center;gap:10px;min-width:220px;padding:8px 14px 8px 8px;display:flex}.chat-media-voice-wrap{align-items:flex-end;gap:8px;display:flex}.chat-media-voice-play{background:var(--color-primary);width:34px;height:34px;color:var(--color-on-primary);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-media-voice-play:disabled{cursor:wait;opacity:.7}.chat-media-voice-track{background:var(--color-border);border-radius:999px;flex:1;height:6px;overflow:hidden}.chat-media-voice-fill{background:var(--color-primary);height:100%;transition:width .15s linear}.chat-media-voice-time{color:var(--color-text-muted);text-align:right;white-space:nowrap;min-width:34px;font-size:12px}.chat-media-voice-sent-time{opacity:.75}.chat-media-voice-download{width:26px;height:26px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-media-voice-download:hover{color:var(--color-primary-hover)}.chat-bubble-own .chat-media-voice-time,.chat-bubble-own .chat-media-voice-download{color:var(--color-on-primary);opacity:.75}.chat-media-document{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);cursor:pointer;min-width:240px;color:var(--color-text);transition:var(--transition-base);border:none;align-items:center;gap:12px;padding:10px 14px;display:flex}.chat-media-document:hover:not(:disabled){box-shadow:var(--shadow-md)}.chat-media-document:disabled{cursor:default}.chat-media-document-icon{border-radius:var(--radius);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.chat-media-document-info{text-align:left;flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.chat-media-document-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.chat-media-document-size{color:var(--color-text-muted);font-size:12px}.message-action-menu-wrap{z-index:5;position:absolute;top:-12px;right:4px}.message-action-menu-trigger{border:1px solid var(--color-border);background:var(--color-surface);width:24px;height:24px;color:var(--color-text-muted);box-shadow:var(--shadow-sm);cursor:pointer;opacity:0;border-radius:50%;justify-content:center;align-items:center;transition:opacity .15s;display:flex}.chat-bubble:hover .message-action-menu-trigger,.message-action-menu-wrap-open .message-action-menu-trigger{opacity:1}@media (hover:none){.message-action-menu-trigger{opacity:.6}}.message-action-menu-trigger:hover{color:var(--color-primary-hover)}.message-action-menu-backdrop{z-index:9;position:fixed;inset:0}.message-action-menu{z-index:10;border-radius:var(--radius);background:var(--color-surface);min-width:160px;box-shadow:var(--shadow-md);flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.message-action-menu button[role=menuitem]{border-radius:var(--radius);color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:9px 12px;font-size:14px;display:flex}.message-action-menu button[role=menuitem]:hover{background:var(--color-bg)}.message-action-menu-danger{color:#dc2626!important}.message-action-menu-danger:hover{background:#dc26261a!important}.image-composer{z-index:200;background-color:#000;background-position:50%;background-repeat:no-repeat;background-size:contain;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0}.image-composer-scrim{pointer-events:none;background:linear-gradient(#00000080 0%,#0000 18% 70%,#000000a6 100%);position:absolute;inset:0}.image-composer-close{top:calc(16px + env(safe-area-inset-top));z-index:1;color:#fff;cursor:pointer;background:#00000073;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:absolute;left:16px}.image-composer-bar{z-index:1;padding:12px 12px calc(12px + env(safe-area-inset-bottom));align-items:flex-end;gap:10px;display:flex;position:relative}.image-composer-bar textarea{color:#071528;max-height:120px;font:inherit;resize:none;background:#fffffff2;border:none;border-radius:22px;flex:1;padding:12px 16px}.image-composer-bar textarea:focus{outline:none}.image-composer-send{background:var(--color-primary);width:44px;height:44px;color:var(--color-on-primary);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.image-composer-send:disabled{opacity:.6;cursor:not-allowed}.image-composer-spin{animation:.9s linear infinite image-composer-spin}@keyframes image-composer-spin{to{transform:rotate(360deg)}}.chat-room{flex-direction:column;width:100%;min-height:0;display:flex}.chat-room-header{border-bottom:1px solid var(--color-border);align-items:center;gap:12px;padding:16px;display:flex}.chat-room-header .ui-avatar-photo,.chat-room-header .ui-avatar-initials{flex-shrink:0}.chat-room-header-title{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.chat-room-header h2{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:600;overflow:hidden}.chat-room-subtitle{opacity:.75;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;font-size:12px;display:flex;overflow:hidden}.chat-room-subtitle-online{opacity:1;color:#22c55e}.chat-room-online-dot{background:#22c55e;border-radius:50%;flex-shrink:0;width:7px;height:7px}.chat-room-header-profile{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:10px;padding:0;display:flex}.chat-room-back-icon{color:var(--color-text-muted);flex-shrink:0}.chat-room-header-profile:hover .chat-room-back-icon{color:var(--color-primary-hover)}.chat-room-header-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.chat-room-leave{width:36px;height:36px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-room-leave:hover{color:#dc2626;background:#dc26261a}.chat-room-icon-button{width:36px;height:36px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-room-icon-button:hover{background:var(--color-bg);color:var(--color-primary-hover)}.chat-room-background-wrap{position:relative}.chat-room-background-picker{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-md);z-index:10;grid-template-columns:repeat(4,1fr);gap:6px;padding:10px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.chat-room-background-swatch{border:1px solid var(--color-border);cursor:pointer;border-radius:50%;width:28px;height:28px}.chat-room-background-swatch:hover{box-shadow:0 0 0 2px var(--color-primary)}.chat-room-background-import{border:none;border-top:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);white-space:nowrap;cursor:pointer;background:0 0;grid-column:1/-1;align-items:center;gap:8px;padding:8px 6px;font-size:13px;display:flex}.chat-room-background-import:hover{background:var(--color-bg);color:var(--color-primary-hover)}.chat-room-messages{flex-direction:column;flex:1;gap:10px;padding:16px;display:flex;overflow-y:auto}.chat-message-row{align-items:flex-end;gap:6px;max-width:70%;display:flex}.chat-message-row-other{align-self:flex-start}.chat-message-row-own{align-self:flex-end}.chat-message-row .ui-avatar-photo,.chat-message-row .ui-avatar-initials{flex-shrink:0}.chat-bubble{border-radius:var(--radius);flex-direction:column;gap:2px;min-width:0;padding:8px 12px;display:flex;position:relative}.chat-bubble p{white-space:pre-wrap;word-break:break-word}.chat-bubble-sender-label{text-transform:uppercase;letter-spacing:.04em;opacity:.75;font-size:10px;font-weight:700}.chat-post-reply{align-items:flex-start;gap:10px;display:flex}.chat-post-reply-thumb{object-fit:cover;border-radius:6px;flex-shrink:0;width:44px;height:44px}.chat-post-reply-body{flex-direction:column;gap:2px;min-width:0;display:flex}.chat-post-reply-label{text-transform:uppercase;letter-spacing:.03em;opacity:.7;font-size:11px;font-weight:700}.chat-post-reply-body p{white-space:pre-wrap;word-break:break-word}.chat-post-reply-copy{color:var(--color-text-muted);opacity:.7;background:0 0;border:none;align-self:flex-start;align-items:center;gap:4px;margin-top:2px;padding:0;display:flex}.chat-post-reply-copy:hover{opacity:1;color:var(--color-primary-hover)}.chat-bubble-time{color:var(--color-text-muted);align-self:flex-end;align-items:center;gap:3px;font-size:11px;display:inline-flex}.chat-bubble-status{flex-shrink:0}.chat-bubble-status-pending{opacity:.6}.chat-bubble-status-read{color:#38bdf8}.chat-bubble-deleted{color:var(--color-text-muted);font-style:italic}.chat-bubble-own .chat-bubble-deleted{color:inherit;opacity:.7}.chat-bubble-other{background:var(--color-bg);box-shadow:var(--shadow-sm)}.chat-bubble-own{background:var(--color-primary);color:var(--color-on-primary)}.chat-bubble-own .chat-bubble-time{color:var(--color-on-primary);opacity:.7}.chat-room-composer{border-top:1px solid var(--color-border);align-items:center;gap:8px;padding:16px;display:flex}.chat-room-input-wrap{flex:1;align-items:center;min-width:0;display:flex;position:relative}.chat-room-composer-input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);min-width:0;max-height:120px;color:var(--color-text);white-space:pre-wrap;word-break:break-word;flex:1;padding:10px 12px 10px 42px;overflow-y:auto}.chat-room-composer-input:focus{outline:2px solid var(--color-primary);outline-offset:1px}.chat-room-composer-input[contenteditable=false]{opacity:.6}.chat-room-composer-input:empty:before{content:attr(data-placeholder);color:var(--color-text-muted);pointer-events:none}.chat-room-composer>button[type=submit]{background:var(--color-primary);width:42px;height:42px;color:var(--color-on-primary);box-shadow:var(--shadow-sm);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-room-composer>button[type=submit]:hover:not(:disabled){background:var(--color-primary-hover)}.chat-room-composer>button:disabled{opacity:.5;cursor:not-allowed}.chat-room-mic{background:var(--color-primary);width:42px;height:42px;color:var(--color-on-primary);box-shadow:var(--shadow-sm);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-room-mic:hover:not(:disabled){background:var(--color-primary-hover)}.chat-room-attach{z-index:1;flex-shrink:0;position:absolute;top:50%;left:4px;transform:translateY(-50%)}.chat-room-attach-toggle{width:34px;height:34px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.chat-room-attach-toggle:hover:not(:disabled){background:var(--color-bg);color:var(--color-primary-hover)}.chat-room-attach-menu{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-md);z-index:10;flex-direction:column;gap:2px;min-width:150px;padding:6px;display:flex;position:absolute;bottom:calc(100% + 8px);left:0}.chat-room-attach-menu button{border-radius:var(--radius);color:var(--color-text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:8px 12px;font-size:14px;display:flex}.chat-room-attach-menu button:hover{background:var(--color-bg);color:var(--color-primary-hover)}.chat-room-upload{padding:0 16px 12px}.chat-room-recording{border-top:1px solid var(--color-border);align-items:center;gap:10px;padding:16px;display:flex}.chat-room-recording-dot{background:#dc2626;border-radius:50%;flex-shrink:0;width:10px;height:10px;animation:1.2s ease-in-out infinite chat-room-pulse}@keyframes chat-room-pulse{0%,to{opacity:1}50%{opacity:.3}}.chat-room-recording-time{font-variant-numeric:tabular-nums;color:var(--color-text);font-weight:600}.chat-room-recording-label{color:var(--color-text-muted);flex:1;font-size:13px}.chat-room-recording-cancel,.chat-room-recording-send{cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.chat-room-recording-cancel{color:var(--color-text-muted);background:0 0}.chat-room-recording-cancel:hover{color:#dc2626;background:#dc26261a}.chat-room-recording-send{background:var(--color-primary);color:var(--color-on-primary)}.chat-room-recording-send:hover{background:var(--color-primary-hover)}.chat-room-blocked-banner{border-top:1px solid var(--color-border);color:var(--color-text-muted);justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;font-size:14px;display:flex}.chat-room-blocked-banner button{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;border:none;flex-shrink:0;padding:8px 14px;font-weight:600}.chat-room-editing-banner{background:var(--color-highlight);color:var(--color-primary);align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:600;display:flex}.chat-room-editing-banner span{flex:1}.chat-room-editing-banner button{color:inherit;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.messages-page{gap:24px;height:calc(100svh - 64px);display:flex}.messages-list-pane{flex-direction:column;flex-shrink:0;gap:16px;width:320px;min-height:0;display:flex}.messages-list-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.messages-list-header h1{font-size:24px;font-weight:600}.messages-new-chat-button{border-radius:var(--radius);background:var(--color-primary);width:36px;height:36px;color:var(--color-on-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.messages-new-chat-button:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.messages-empty{color:var(--color-text-muted)}.messages-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.messages-list-item{text-align:left;border-radius:var(--radius);background:var(--color-surface);width:100%;box-shadow:var(--shadow-sm);transition:var(--transition-base);color:var(--color-text);cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;font-weight:500;display:flex}.messages-list-item:hover{background:color-mix(in srgb, var(--color-primary) 12%, transparent)}.messages-list-item>.ui-avatar-photo,.messages-list-item>.ui-avatar-initials{flex-shrink:0}.messages-list-item-active{background:var(--color-primary);color:var(--color-on-primary)}.messages-list-item-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.messages-list-item-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.messages-list-item-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.messages-list-item-meta{flex-shrink:0;align-items:center;gap:6px;display:flex}.messages-list-item-type{text-transform:uppercase;letter-spacing:.04em;opacity:.7;font-size:11px;font-weight:700}.messages-list-item-time{opacity:.55;white-space:nowrap;font-size:11px}.messages-list-item-subtitle{opacity:.75;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.messages-list-item-preview{text-overflow:ellipsis;white-space:nowrap;opacity:.75;align-items:center;gap:4px;font-size:12px;font-weight:400;display:flex;overflow:hidden}.messages-list-item-preview-media{text-transform:capitalize}.messages-list-item-invite{font-style:italic}.messages-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin:4px 0 0;font-size:12px;font-weight:700}.messages-list-item-badge{background:var(--color-accent);min-width:20px;height:20px;color:var(--color-on-accent);text-align:center;border-radius:999px;flex-shrink:0;padding:0 6px;font-size:11px;font-weight:700;line-height:20px}.messages-list-item-active .messages-list-item-badge{background:var(--color-on-primary);color:var(--color-primary)}.messages-room-pane{border-radius:var(--radius);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-sm);transition:var(--transition-base);flex:1;display:flex;overflow:hidden}.messages-room-placeholder{color:var(--color-text-muted);margin:auto}.messages-modal-form{flex-direction:column;gap:14px;display:flex}.messages-modal-field{flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.messages-modal-field input,.messages-modal-field select{border-radius:var(--radius);padding:10px 12px}.messages-checkbox-list{border-radius:var(--radius);background:#ffffff0d;flex-direction:column;gap:8px;max-height:180px;padding:10px 12px;display:flex;overflow-y:auto}.messages-checkbox{cursor:pointer;align-items:center;gap:8px;font-weight:400;display:flex}.messages-checkbox input{width:auto;accent-color:var(--color-primary)}.messages-modal-submit{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;transition:var(--transition-base);border:none;align-self:flex-start;padding:10px 24px;font-weight:600}.messages-modal-submit:hover:not(:disabled){background:var(--color-primary-hover)}.messages-modal-submit:disabled{opacity:.5;cursor:not-allowed}@media (width<=768px){.messages-page{height:auto}.messages-room-pane,.messages-page-detail-open .messages-list-pane{display:none}.messages-page-detail-open .messages-room-pane{z-index:26;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);border-radius:0;display:flex;position:fixed;inset:0}}.post-card-wrap{flex-direction:column;flex:none;align-items:center;gap:6px;width:120px;display:flex;position:relative}.post-card{border:3px solid var(--color-primary);background:var(--color-surface);cursor:pointer;border-radius:50%;width:120px;height:120px;padding:3px;overflow:hidden}.post-card img,.post-card video{object-fit:cover;border-radius:50%;width:100%;height:100%}.post-card-like-badge{color:#fff;box-shadow:var(--shadow-sm);background:#dc2626;border-radius:999px;align-items:center;gap:3px;padding:2px 7px;font-size:11px;font-weight:700;display:flex;position:absolute;bottom:22px;right:2px}.post-card-label{color:var(--color-text);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:12px;font-weight:600;overflow:hidden}.stories-page h1{font-size:24px;font-weight:600}.stories-subtitle{color:var(--color-text-muted);margin-top:8px}.stories-upload{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:var(--transition-base);flex-direction:column;gap:12px;margin-top:24px;padding:20px;display:flex}.stories-file-picker{border:1px solid var(--color-primary);border-radius:var(--radius);color:var(--color-primary);cursor:pointer;align-self:flex-start;padding:10px 16px;font-weight:600;transition:background-color .15s,color .15s}.stories-file-picker:hover{background:var(--color-primary);color:var(--color-on-primary)}.stories-selection-label{color:var(--color-text-muted);font-size:13px}.stories-preview-row{flex-wrap:wrap;gap:8px;display:flex}.stories-preview-thumb{border-radius:var(--radius);width:72px;height:72px;box-shadow:var(--shadow-sm);overflow:hidden}.stories-preview-thumb img,.stories-preview-thumb video{object-fit:cover;width:100%;height:100%}.stories-caption-field{resize:vertical;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);width:100%;min-height:60px;color:var(--color-text);font:inherit;transition:var(--transition-base);padding:10px 12px}.stories-caption-count{color:var(--color-text-muted);align-self:flex-end;font-size:12px}.stories-error{border-radius:var(--radius);color:#dc2626;background:#dc26261a;margin:0;padding:10px 12px;font-size:14px}.stories-publish{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);border:none;align-self:flex-start;padding:10px 24px;font-weight:600}.stories-publish:hover:not(:disabled){background:var(--color-primary-hover)}.stories-publish:disabled{opacity:.5;cursor:not-allowed}.stories-feed{margin-top:32px}.stories-empty{color:var(--color-text-muted)}.stories-row{gap:16px;padding-bottom:8px;display:flex;overflow-x:auto}.stories-visibility-toggle{gap:8px;display:flex}.stories-visibility-option{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);cursor:pointer;transition:var(--transition-base);border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;display:inline-flex}.stories-visibility-option-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.curriculum-audit-page h1{font-size:24px;font-weight:600}.curriculum-audit-subtitle{max-width:680px;color:var(--color-text-muted);margin-top:8px}.curriculum-audit-refresh{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-text);cursor:pointer;transition:var(--transition-base);align-items:center;gap:8px;margin-top:16px;padding:9px 16px;font-size:13px;font-weight:600;display:inline-flex}.curriculum-audit-refresh:hover:not(:disabled){background:var(--color-bg)}.curriculum-audit-refresh:disabled{opacity:.6;cursor:not-allowed}.curriculum-audit-spin{animation:1s linear infinite curriculum-audit-spin}@keyframes curriculum-audit-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.curriculum-audit-empty{color:var(--color-text-muted);margin-top:20px}.curriculum-audit-stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;max-width:900px;margin-top:20px;display:grid}.curriculum-audit-stat-card{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);flex-direction:column;gap:4px;padding:16px;display:flex}.curriculum-audit-stat-value{font-variant-numeric:tabular-nums;font-size:26px;font-weight:700}.curriculum-audit-stat-label{color:var(--color-text-muted);font-size:12px}.curriculum-audit-stat-danger .curriculum-audit-stat-value{color:#dc2626}.curriculum-audit-stat-warning .curriculum-audit-stat-value{color:#d97706}.curriculum-audit-stat-ok .curriculum-audit-stat-value{color:#16a34a}.curriculum-audit-footnote{max-width:680px;color:var(--color-text-muted);margin-top:10px;font-size:12px}.curriculum-audit-banner{border-radius:var(--radius);align-items:center;gap:10px;max-width:900px;margin-top:20px;padding:14px 16px;font-size:14px;font-weight:600;display:flex}.curriculum-audit-banner svg{flex-shrink:0}.curriculum-audit-banner-danger{color:#dc2626;background:#dc26261f}.curriculum-audit-banner-warning{color:#d97706;background:#d977061f}.curriculum-audit-banner-ok{color:#16a34a;background:#16a34a1f}.curriculum-audit-list{flex-direction:column;gap:12px;max-width:900px;margin-top:20px;padding:0;list-style:none;display:flex}.curriculum-audit-item{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);padding:14px 16px}.curriculum-audit-item-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.curriculum-audit-item-title{font-weight:700;display:block}.curriculum-audit-item-meta{color:var(--color-text-muted);margin-top:2px;font-size:12px;display:block}.curriculum-audit-badge{white-space:nowrap;border-radius:999px;flex-shrink:0;padding:4px 10px;font-size:11px;font-weight:700}.curriculum-audit-badge-danger{color:#dc2626;background:#dc262626}.curriculum-audit-badge-warning{color:#d97706;background:#d9770626}.curriculum-audit-item-detail{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:12px;display:grid}.curriculum-audit-item-detail h4{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.02em;margin-bottom:6px;font-size:12px;font-weight:700}.curriculum-audit-item-detail ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.curriculum-audit-item-detail li{border-radius:var(--radius);background:var(--color-bg);flex-direction:column;gap:3px;padding:8px 10px;font-size:13px;display:flex}.curriculum-audit-item-tag{color:var(--color-text-muted);font-size:11px}.curriculum-audit-item-tag-danger{color:#dc2626;font-weight:700}.curriculum-audit-provision{border-top:1px dashed var(--color-border);margin-top:12px;padding-top:12px}.curriculum-audit-bulk-provision{max-width:900px;margin-top:16px}.curriculum-audit-bulk-provision-button{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.curriculum-audit-bulk-provision-button:hover{background:var(--color-primary-hover);color:var(--color-on-primary)}.curriculum-audit-provision-button{border:1px solid var(--color-primary);border-radius:var(--radius);color:var(--color-primary);cursor:pointer;transition:var(--transition-base);background:0 0;align-items:center;gap:7px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.curriculum-audit-provision-button:hover{background:var(--color-primary);color:var(--color-on-primary)}.curriculum-audit-confirm{border-radius:var(--radius);background:var(--color-bg);flex-direction:column;gap:10px;padding:12px 14px;font-size:13px;display:flex}.curriculum-audit-confirm-warning{color:#d97706;font-weight:600}.curriculum-audit-confirm-actions{gap:10px;display:flex}.curriculum-audit-confirm-button{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;transition:var(--transition-base);border:none;padding:8px 16px;font-size:13px;font-weight:700}.curriculum-audit-confirm-button:hover:not(:disabled){background:var(--color-primary-hover)}.curriculum-audit-confirm-button:disabled{opacity:.6;cursor:not-allowed}.curriculum-audit-cancel-button{border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);cursor:pointer;background:0 0;padding:8px 16px;font-size:13px;font-weight:600}.password-confirm-form{flex-direction:column;gap:14px;display:flex}.password-confirm-description{border-radius:var(--radius);background:#ffffff0f;border:1px solid #d4af374d;padding:14px;font-size:13px}.password-confirm-hint{color:#f3efe3bf;align-items:center;gap:6px;font-size:13px;display:flex}.password-confirm-error{color:#f87171;font-size:13px;font-weight:600}.password-confirm-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:4px;display:grid}.password-confirm-cancel{border-radius:var(--radius);color:#f3efe3;cursor:pointer;transition:var(--transition-base);background:0 0;border:1px solid #d4af3766;padding:10px 16px;font-size:13px;font-weight:600}.password-confirm-cancel:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.password-confirm-submit{border-radius:var(--radius);background:var(--color-primary);color:#071528;cursor:pointer;transition:var(--transition-base);border:none;padding:10px 16px;font-size:13px;font-weight:700}.password-confirm-submit:hover:not(:disabled){background:var(--color-primary-hover)}.password-confirm-cancel:disabled,.password-confirm-submit:disabled{opacity:.5;cursor:not-allowed}.assessments-page h1{font-size:24px;font-weight:600}.assessments-subtitle{color:var(--color-text-muted);margin-top:8px}.assessments-selectors{flex-wrap:wrap;gap:16px;margin-top:24px;display:flex}.assessments-select-field{flex-direction:column;gap:6px;min-width:220px;font-size:14px;font-weight:500;display:flex}.assessments-select-field select{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:var(--transition-base);color:var(--color-text);padding:10px 12px}.assessments-select-field select:focus{outline:2px solid var(--color-primary);outline-offset:1px}.assessments-select-field select:disabled{opacity:.5;cursor:not-allowed}.assessments-empty{color:var(--color-text-muted);margin-top:20px}.assessments-section{max-width:640px;margin-top:32px}.assessments-section h2{margin-bottom:12px;font-size:18px;font-weight:600}.assessments-list{flex-wrap:wrap;gap:8px;margin:0 0 20px;padding:0;list-style:none;display:flex}.assessments-list-item{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:var(--transition-base);color:var(--color-text);cursor:pointer;align-items:center;gap:8px;padding:10px 16px;font-weight:500;display:flex}.assessments-list-item:hover{background:color-mix(in srgb, var(--color-primary) 12%, transparent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.assessments-list-item-active{background:var(--color-primary);color:var(--color-on-primary)}.assessments-list-item-meta{opacity:.8;font-size:12px}.assessments-list-item-title{align-items:center;gap:6px;display:inline-flex}.assessments-type-badge{background:color-mix(in srgb, currentColor 15%, transparent);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.assessments-new-form{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:var(--transition-base);flex-wrap:wrap;align-items:flex-end;gap:14px;padding:16px;display:flex}.assessments-field{flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.assessments-field input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);padding:10px 12px}.assessments-field input:focus{outline:2px solid var(--color-primary);outline-offset:1px}.assessments-create-button{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);border:none;padding:10px 20px;font-weight:600}.assessments-create-button:hover:not(:disabled){background:var(--color-primary-hover)}.assessments-create-button:disabled{opacity:.5;cursor:not-allowed}.assessments-grade-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.assessments-grade-row{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:var(--transition-base);justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.assessments-student-name{font-weight:500}.assessments-input-group{flex-shrink:0;align-items:center;gap:8px;display:flex}.assessments-input-group input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);width:80px;color:var(--color-text);text-align:right;padding:8px 10px}.assessments-input-group input:focus{outline:2px solid var(--color-primary);outline-offset:1px}.assessments-max-indicator{color:var(--color-text-muted);white-space:nowrap;font-size:13px}.assessments-save-button{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);border:none;margin-top:20px;padding:10px 24px;font-weight:600}.assessments-save-button:hover:not(:disabled){background:var(--color-primary-hover)}.assessments-save-button:disabled{opacity:.5;cursor:not-allowed}.teacher-exams-page h1{font-size:24px;font-weight:600}.teacher-exams-subtitle{color:var(--color-text-muted);margin-top:8px}.teacher-exams-selectors{flex-wrap:wrap;gap:16px;margin-top:24px;display:flex}.teacher-exams-select-field{flex-direction:column;gap:6px;min-width:220px;font-size:14px;font-weight:500;display:flex}.teacher-exams-empty{color:var(--color-text-muted);margin-top:20px}.teacher-exams-section{max-width:680px;margin-top:32px}.teacher-exams-section h2{margin-bottom:12px;font-size:18px;font-weight:600}.teacher-exams-list{flex-direction:column;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.teacher-exams-list-item{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.teacher-exams-list-item-main{flex-direction:column;gap:4px;min-width:0;display:flex}.teacher-exams-list-item-title{flex-wrap:wrap;align-items:center;gap:6px;font-weight:600;display:inline-flex}.teacher-exams-list-item-meta{color:var(--color-text-muted);font-size:12px}.teacher-exams-type-badge{background:color-mix(in srgb, var(--color-primary) 15%, transparent);color:var(--color-primary);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.teacher-exams-status-badge{color:#d97706;white-space:nowrap;background:#d977061f;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.teacher-exams-status-submitted{color:#2563eb;background:#2563eb1f}.teacher-exams-status-printed{color:#16a34a;background:#16a34a1f}.teacher-exams-list-item-actions{flex-shrink:0;gap:4px;display:flex}.teacher-exams-icon-button{border-radius:var(--radius);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;transition:var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.teacher-exams-icon-button:hover{background:color-mix(in srgb, var(--color-primary) 12%, transparent);color:var(--color-primary)}.teacher-exams-delete:hover{color:#dc2626;background:#dc262626}.teacher-exams-new-button{border:1.5px dashed var(--color-primary);border-radius:var(--radius);color:var(--color-primary);cursor:pointer;transition:var(--transition-base);background:0 0;align-items:center;gap:8px;padding:9px 20px;font-size:13px;font-weight:700;display:inline-flex}.teacher-exams-new-button:hover{background:color-mix(in srgb, var(--color-primary) 10%, transparent)}.teacher-exams-form{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);flex-direction:column;gap:16px;margin-top:16px;padding:20px;display:flex}.teacher-exams-field{flex-direction:column;gap:6px;max-width:320px;font-size:14px;font-weight:500;display:flex}.teacher-exams-field input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);padding:10px 12px}.teacher-exams-field input:focus{outline:2px solid var(--color-primary);outline-offset:1px}.teacher-exams-questions{flex-direction:column;gap:8px;display:flex}.teacher-exams-questions-label{font-size:14px;font-weight:500}.teacher-exams-question-row{align-items:center;gap:8px;display:flex}.teacher-exams-question-text{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);flex:1;padding:9px 12px}.teacher-exams-question-points{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);width:70px;color:var(--color-text);text-align:right;padding:9px 10px}.teacher-exams-question-text:focus,.teacher-exams-question-points:focus{outline:2px solid var(--color-primary);outline-offset:1px}.teacher-exams-add-question{border:1px dashed var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);cursor:pointer;transition:var(--transition-base);background:0 0;align-self:flex-start;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:600;display:inline-flex}.teacher-exams-add-question:hover{border-color:var(--color-primary);color:var(--color-primary)}.teacher-exams-form-actions{flex-wrap:wrap;gap:10px;display:flex}.teacher-exams-cancel{border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);cursor:pointer;background:0 0;padding:10px 20px;font-weight:600}.teacher-exams-cancel:hover{background:var(--color-border)}.teacher-exams-save-draft{border:1px solid var(--color-primary);border-radius:var(--radius);color:var(--color-primary);cursor:pointer;transition:var(--transition-base);background:0 0;padding:10px 20px;font-weight:600}.teacher-exams-save-draft:hover:not(:disabled){background:color-mix(in srgb, var(--color-primary) 10%, transparent)}.teacher-exams-submit{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);border:none;align-items:center;gap:8px;padding:10px 20px;font-weight:600;display:inline-flex}.teacher-exams-submit:hover:not(:disabled){background:var(--color-primary-hover)}.teacher-exams-save-draft:disabled,.teacher-exams-submit:disabled{opacity:.5;cursor:not-allowed}.teacher-exams-review-list{flex-direction:column;gap:10px;max-width:760px;margin:20px 0 0;padding:0;list-style:none;display:flex}.teacher-exams-review-item{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:14px 18px;display:flex}.teacher-exams-review-item-main{flex-direction:column;gap:4px;min-width:240px;display:flex}.teacher-exams-review-item-title{flex-wrap:wrap;align-items:center;gap:6px;font-weight:600;display:inline-flex}.teacher-exams-review-item-meta{color:var(--color-text-muted);font-size:13px}.teacher-exams-review-item-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.teacher-exams-review-period{min-width:140px}.teacher-exams-review-print-button{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);white-space:nowrap;border:none;align-items:center;gap:8px;padding:9px 18px;font-size:13px;font-weight:600;display:inline-flex}.teacher-exams-review-print-button:hover:not(:disabled){background:var(--color-primary-hover)}.teacher-exams-review-print-button:disabled{opacity:.5;cursor:not-allowed}.teacher-exams-review-manual-link{color:var(--color-text-muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.teacher-exams-review-manual-link:hover{color:var(--color-primary)}.status-override-form{flex-direction:column;gap:14px;display:flex}.status-override-hint{color:var(--color-text-muted);font-size:13px}.status-override-presets{flex-direction:column;gap:8px;display:flex}.status-override-presets button{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);text-align:left;cursor:pointer;transition:var(--transition-base);padding:10px 12px;font-size:13px}.status-override-presets button:hover:not(:disabled){box-shadow:var(--shadow-sm);border-color:var(--color-primary)}.status-override-custom{gap:8px;display:flex}.status-override-custom input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);flex:1;padding:10px 12px}.status-override-custom button{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;border:none;padding:10px 16px;font-weight:600}.status-override-custom button:disabled{opacity:.5;cursor:not-allowed}.status-override-clear{border-radius:var(--radius);color:#dc2626;cursor:pointer;text-align:center;background:0 0;border:none;padding:10px 12px;font-size:13px;font-weight:600}.status-override-clear:hover:not(:disabled){background:#dc262614}.attendance-page h1{font-size:24px;font-weight:600}.attendance-subtitle{color:var(--color-text-muted);margin-top:8px}.attendance-class-select{flex-direction:column;gap:6px;max-width:320px;margin-top:24px;font-size:14px;font-weight:500;display:flex}.attendance-class-select select{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:var(--transition-base);color:var(--color-text);padding:10px 12px}.attendance-class-select select:focus{outline:2px solid var(--color-primary);outline-offset:1px}.attendance-empty{color:var(--color-text-muted);margin-top:20px}.attendance-summary{color:var(--color-text-muted);margin-top:20px;font-weight:600}.attendance-list{flex-direction:column;gap:8px;max-width:720px;margin:12px 0 0;padding:0;list-style:none;display:flex}.attendance-row{border-left:4px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:var(--transition-base);justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.attendance-row-present{border-left-color:#22c55e}.attendance-row-absent{border-left-color:#dc2626}.attendance-row-sick{border-left-color:#f59e0b}.attendance-row-expelled{border-left-color:#7c3aed}.attendance-row-pending{border-left-color:#ea580c}.attendance-student-name{font-weight:500}.attendance-times{flex-shrink:0;align-items:center;gap:20px;display:flex}.attendance-time-field{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.attendance-time-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-size:11px;font-weight:700}.attendance-time-value{font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.attendance-status-badge{border-radius:var(--radius);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;padding:4px 12px;font-size:12px;font-weight:700}.attendance-status-present{color:#16a34a;background:#22c55e26}.attendance-status-absent{color:#dc2626;background:#dc26261f}.attendance-status-sick{color:#b45309;background:#f59e0b26}.attendance-status-expelled{color:#6d28d9;background:#7c3aed26}.attendance-status-pending{color:#c2410c;background:#ea580c26}.attendance-status-override-button{border-radius:var(--radius);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:flex}.attendance-status-override-button:hover{background:var(--color-bg);color:var(--color-primary-hover)}.scanner-page h1{font-size:24px;font-weight:600}.scanner-subtitle{color:var(--color-text-muted);margin-top:8px}.scanner-context-toggle{gap:12px;max-width:420px;margin-top:28px;display:flex}.scanner-context-button{border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);flex:1;justify-content:center;align-items:center;gap:8px;padding:14px;font-weight:600;display:flex}.scanner-context-button:hover{box-shadow:var(--shadow-md)}.scanner-context-button-active{background:var(--color-primary);color:var(--color-on-primary)}.scanner-activate-button{border-radius:var(--radius);background:var(--color-primary);width:100%;max-width:420px;color:var(--color-on-primary);box-shadow:var(--shadow-md);cursor:pointer;transition:var(--transition-base);border:none;flex-direction:column;justify-content:center;align-items:center;gap:12px;margin-top:32px;padding:48px 24px;font-size:18px;font-weight:700;display:flex}.scanner-activate-button:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-2px)}.scanner-activate-button:disabled{opacity:.6;cursor:not-allowed}.scanner-last-scan{border-radius:var(--radius);background:var(--color-surface);max-width:420px;box-shadow:var(--shadow-sm);flex-direction:column;gap:4px;margin-top:24px;padding:16px 20px;display:flex}.scanner-last-scan-name{font-size:16px;font-weight:700}.scanner-last-scan-meta{color:var(--color-text-muted);font-size:13px}.scanner-select-field{flex-direction:column;gap:6px;max-width:420px;margin-top:16px;font-size:14px;font-weight:500;display:flex}.scanner-select-field select{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);padding:10px 12px}.scanner-locked{border-radius:var(--radius);background:var(--color-surface);max-width:420px;box-shadow:var(--shadow-sm);color:var(--color-text-muted);text-align:center;flex-direction:column;align-items:center;gap:10px;margin-top:32px;padding:32px 24px;display:flex}.scanner-pending-section{max-width:420px;margin-top:28px}.scanner-pending-section h2{font-size:16px;font-weight:700}.scanner-pending-empty{color:var(--color-text-muted);margin-top:8px;font-size:13px}.scanner-pending-list{flex-direction:column;gap:4px;max-height:220px;margin:12px 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.scanner-pending-list li{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;display:flex}.scanner-pending-actions{gap:10px;margin-top:14px;display:flex}.scanner-pending-actions button{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;transition:var(--transition-base);border:none;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px;font-weight:600;display:flex}.scanner-pending-actions button:hover:not(:disabled){background:var(--color-primary-hover)}.scanner-pending-actions button:disabled{opacity:.5;cursor:not-allowed}.scanner-close-button{box-shadow:inset 0 0 0 1px #dc2626;color:#dc2626!important;background:0 0!important}.scanner-close-button:hover:not(:disabled){background:#dc262614!important}.scanner-stats-section{max-width:480px;margin-top:32px}.scanner-stats-section h2{font-size:16px;font-weight:700}.scanner-stats-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px;display:grid}.scanner-stat-card{border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;gap:4px;padding:16px 8px;display:flex}.scanner-stat-value{font-size:24px;font-weight:800}.scanner-stat-label{text-align:center;font-size:12px;font-weight:600}.scanner-stat-ontime{color:#16a34a;background:#22c55e26}.scanner-stat-late{color:#b45309;background:#f59e0b26}.scanner-stat-absent{color:#dc2626;background:#dc262626}.presence-history-page h1{font-size:24px;font-weight:600}.presence-history-subtitle{color:var(--color-text-muted);margin-top:8px}.presence-history-filters{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:flex-end;gap:16px;margin-top:24px;padding:16px;display:flex}.presence-history-filter{flex-direction:column;gap:6px;min-width:220px;font-size:14px;font-weight:500;display:flex}.presence-history-filter input,.presence-history-filter select{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);padding:10px 12px}.presence-history-show-all{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;transition:var(--transition-base);border:none;align-items:center;gap:8px;padding:11px 18px;font-weight:700;display:flex}.presence-history-show-all:hover{background:var(--color-primary-hover)}.presence-history-empty{color:var(--color-text-muted);margin-top:20px}.presence-history-section{max-width:720px;margin-top:28px}.presence-history-section h2{margin-bottom:12px;font-size:18px;font-weight:600}.presence-history-back{border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);cursor:pointer;transition:var(--transition-base);border:none;margin-bottom:12px;padding:8px 14px;font-size:13px;font-weight:600}.presence-history-back:hover{background:color-mix(in srgb, var(--color-primary) 12%, transparent);color:var(--color-primary-hover)}.presence-history-table-wrapper{border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow-x:auto}.presence-history-table{border-collapse:collapse;background:var(--color-surface);width:100%}.presence-history-table th,.presence-history-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:10px 14px;font-size:14px}.presence-history-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-size:12px;font-weight:700}.presence-history-table-row{cursor:pointer;transition:var(--transition-base)}.presence-history-table-row:hover{background:color-mix(in srgb, var(--color-primary) 8%, transparent)}.presence-history-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.presence-history-item{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);align-items:center;gap:12px;padding:12px 14px;font-size:14px;display:flex}.presence-history-item-name,.presence-history-item-date{min-width:110px;font-weight:700}.presence-history-item-label{color:var(--color-text);flex:1}.presence-history-item-time{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:13px}.idcards-page h1{font-size:24px;font-weight:600}.idcards-subtitle{color:var(--color-text-muted);margin-top:8px}.idcards-mode-toggle{gap:8px;margin-top:20px;display:flex}.idcards-mode-button{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;transition:var(--transition-base);padding:8px 18px;font-size:13px;font-weight:600}.idcards-mode-button-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.idcards-select-field{flex-direction:column;gap:6px;max-width:320px;margin-top:24px;font-size:14px;font-weight:500;display:flex}.idcards-select-field select{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:var(--transition-base);color:var(--color-text);padding:10px 12px}.idcards-empty{color:var(--color-text-muted);margin-top:20px}.idcards-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.idcards-print-button{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);border:none;align-items:center;gap:8px;padding:10px 24px;font-weight:600;display:inline-flex}.idcards-print-button:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.idcards-grid{grid-template-columns:repeat(auto-fill,85.6mm);gap:8mm;margin-top:28px;display:grid}.idcard{color:#0f172a;width:85.6mm;height:53.9mm;box-shadow:var(--shadow-md);background:#fff;border:.2mm solid #cbd5e1;border-radius:2.5mm;flex-direction:column;gap:1.5mm;padding:3mm;display:flex;overflow:hidden}.idcard-header{flex-shrink:0;align-items:center;gap:2.5mm;display:flex}.idcard-logo{object-fit:contain;border-radius:1.5mm;flex-shrink:0;width:8mm;height:8mm}.idcard-school-name{letter-spacing:.04em;color:#b8932e;text-overflow:ellipsis;white-space:nowrap;flex-direction:column;min-width:0;font-size:3.4mm;font-weight:700;display:flex;overflow:hidden}.idcard-school-name span{letter-spacing:normal;color:#475569;text-transform:none;font-size:2.2mm;font-weight:400}.idcard-middle{flex:1;justify-content:center;align-items:center;gap:4mm;min-height:0;display:flex}.idcard-photo-box{background:#e2e8f0;border-radius:2mm;flex-shrink:0;width:24mm;height:24mm;overflow:hidden}.idcard-photo-box .ui-avatar-photo,.idcard-photo-box .ui-avatar-initials{border-radius:0!important;width:100%!important;height:100%!important}.idcard-qr{flex-shrink:0;width:24mm!important;height:24mm!important}.idcard-footer{text-align:center;border-top:.15mm dashed #cbd5e1;flex-direction:column;flex-shrink:0;gap:.5mm;padding-top:1mm;display:flex}.idcard-student-name{overflow-wrap:break-word;font-size:3mm;font-weight:700}.idcard-student-class{color:#64748b;font-size:2.2mm}@media print{@page{size:A4;margin:10mm}.sidebar,.no-print{display:none!important}.dashboard-layout,.dashboard-layout-content{background:#fff!important;padding:0!important;display:block!important}.idcards-grid{margin-top:0}.idcard{-webkit-print-color-adjust:exact;print-color-adjust:exact;box-shadow:none;page-break-inside:avoid;break-inside:avoid;border:.3mm solid #b8932e}}.enrollment-select-field{flex-direction:column;gap:6px;max-width:320px;margin-top:24px;font-size:14px;font-weight:500;display:flex}.enrollment-select-field select{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:var(--transition-base);color:var(--color-text);padding:10px 12px}.enrollment-print-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.enrollment-print-button{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);border:none;align-items:center;gap:8px;padding:10px 24px;font-weight:600;display:inline-flex}.enrollment-print-button:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.enrollment-sheets{grid-template-columns:1fr;gap:8mm;margin-top:28px;display:grid}.enrollment-sheet{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);padding:6mm}.enrollment-sheet-header{border-bottom:1px solid var(--color-border);align-items:center;gap:3mm;margin-bottom:4mm;padding-bottom:3mm;display:flex}.enrollment-sheet-logo{object-fit:contain;flex-shrink:0;width:12mm;height:12mm}.enrollment-sheet-titles{flex-direction:column;display:flex}.enrollment-sheet-title{font-size:4mm;font-weight:700}.enrollment-sheet-meta{color:var(--color-text-muted);font-size:3mm}.enrollment-sheet-body{gap:6mm;display:flex}.enrollment-sheet-columns{flex:1;grid-template-columns:1fr 1fr;gap:6mm;min-width:0;display:grid}.enrollment-sheet-columns h3{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:2mm;font-size:3.4mm;font-weight:700}.enrollment-sheet-columns dl{flex-direction:column;gap:1.5mm;margin:0 0 3mm;display:flex}.enrollment-sheet-columns dl div{gap:2mm;font-size:3.2mm;display:flex}.enrollment-sheet-columns dt{width:32mm;color:var(--color-text-muted);flex-shrink:0}.enrollment-sheet-columns dd{margin:0;font-weight:500}.enrollment-sheet-empty{color:var(--color-text-muted);font-size:3.2mm}@media print{@page{size:A4;margin:10mm}.sidebar,.no-print{display:none!important}.dashboard-layout,.dashboard-layout-content{background:#fff!important;padding:0!important;display:block!important}.enrollment-sheets{gap:6mm;margin-top:0}.enrollment-sheet{box-shadow:none;border:.3mm solid var(--color-border);page-break-inside:avoid;break-inside:avoid}}.staff-presence-page h1{font-size:24px;font-weight:600}.staff-presence-subtitle{max-width:640px;color:var(--color-text-muted);margin-top:8px}.staff-presence-stats-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;max-width:600px;margin-top:20px;display:grid}.staff-presence-stat-card{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);flex-direction:column;gap:4px;padding:16px;display:flex}.staff-presence-stat-value{font-size:26px;font-weight:700}.staff-presence-stat-label{color:var(--color-text-muted);font-size:12px}.staff-presence-stat-ontime .staff-presence-stat-value{color:#16a34a}.staff-presence-stat-late .staff-presence-stat-value{color:#d97706}.staff-presence-stat-absent .staff-presence-stat-value{color:#dc2626}.staff-presence-list{flex-direction:column;gap:8px;max-width:720px;margin-top:24px;padding:0;list-style:none;display:flex}.staff-presence-item{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.staff-presence-item-name{font-weight:600;display:block}.staff-presence-item-meta{color:var(--color-text-muted);font-size:12px;display:block}.staff-presence-item-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.staff-presence-status{border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.staff-presence-status-ontime{color:#16a34a;background:#16a34a26}.staff-presence-status-late{color:#d97706;background:#d9770626}.staff-presence-status-pending{background:var(--color-bg);color:var(--color-text-muted)}.staff-presence-status-absent{color:#dc2626;background:#dc262626}.staff-presence-item-actions button{border:1px solid var(--color-primary);border-radius:var(--radius);color:var(--color-primary);cursor:pointer;transition:var(--transition-base);background:0 0;padding:7px 14px;font-size:12px;font-weight:600}.staff-presence-item-actions button:hover{background:var(--color-primary);color:var(--color-on-primary)}.staff-presence-modal-backdrop{z-index:20;background:#071528bf;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.staff-presence-modal{background:var(--color-surface);border-radius:var(--radius);flex-direction:column;gap:18px;width:100%;max-width:520px;max-height:90svh;padding:20px;display:flex;overflow-y:auto}.staff-presence-modal-header{justify-content:space-between;align-items:center;display:flex}.staff-presence-modal-header h2{font-size:18px;font-weight:700}.staff-presence-modal-header button{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;display:flex}.staff-presence-modal-loading{color:var(--color-text-muted)}.staff-presence-modal h3{margin-bottom:8px;font-size:14px;font-weight:700}.staff-presence-empty{color:var(--color-text-muted);font-size:13px}.staff-presence-slots-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.staff-presence-slots-list li{border-radius:var(--radius);background:var(--color-bg);align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.staff-presence-slot-ok{color:#16a34a;flex-shrink:0}.staff-presence-slot-missed{color:#dc2626;flex-shrink:0}.staff-presence-slot-status{color:var(--color-text-muted);margin-left:auto;font-size:11px;font-weight:700}.staff-presence-modal-stats-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}.staff-presence-modal-stats-grid>div{border-radius:var(--radius);background:var(--color-bg);flex-direction:column;gap:2px;padding:10px 12px;display:flex}.staff-presence-modal-stat-value{font-size:20px;font-weight:700}.staff-presence-modal-stat-label{color:var(--color-text-muted);font-size:11px}.staff-presence-rating{border-radius:var(--radius);background:color-mix(in srgb, var(--color-primary) 10%, transparent);color:var(--color-text);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;font-size:13px;display:flex}.staff-presence-stars{color:#d4af37;gap:2px;display:flex}.receipt{flex-direction:column;gap:16px;max-width:320px;margin:0 auto;display:flex}.receipt-line-items{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.receipt-line-item{border-bottom:1px dashed var(--color-border);padding-bottom:8px}.receipt-line-item-row{justify-content:space-between;align-items:baseline;gap:12px;font-size:13px;display:flex}.receipt-line-item-row strong{font-variant-numeric:tabular-nums;flex-shrink:0}.receipt-line-item-solde{color:#dc2626;margin-top:2px;font-size:11px;font-weight:600}.receipt-divider{border-top:1px dashed var(--color-border)}.receipt-row-solde{border-radius:var(--radius);background:#dc26261a;border:none;padding:10px 12px}.receipt-row-solde strong{color:#dc2626}.receipt-header{border-bottom:1px dashed var(--color-border);text-align:center;flex-direction:column;align-items:center;gap:2px;padding-bottom:14px;display:flex}.receipt-logo{object-fit:contain;width:56px;height:56px;margin-bottom:4px}.receipt-school-name{color:var(--color-heading);font-size:18px;font-weight:800}.receipt-header span:not(.receipt-school-name){color:var(--color-text-muted);font-size:12px}.receipt-meta{color:var(--color-text-muted);justify-content:space-between;font-size:13px;font-weight:600;display:flex}.receipt-body{flex-direction:column;gap:10px;display:flex}.receipt-row{border-bottom:1px solid var(--color-border);color:var(--color-text-muted);justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:8px;font-size:13px;display:flex}.receipt-row strong{color:var(--color-text);text-align:right}.receipt-row-amount{border-radius:var(--radius);background:#4f46e51f;border:none;padding:10px 12px}.receipt-row-amount strong{color:var(--color-primary-hover);font-size:16px}.receipt-footer{text-align:center;color:var(--color-text-muted);font-size:12px;font-style:italic}.receipt-signature{color:var(--color-text-muted);flex-direction:column;align-items:center;gap:6px;margin-top:8px;font-size:12px;display:flex}.receipt-signature-line{border-bottom:1px solid var(--color-border);width:60%;height:34px}.receipt-actions{gap:8px;display:flex}.receipt-print-button{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;border:none;flex:1;justify-content:center;align-items:center;gap:8px;padding:11px;font-weight:700;display:flex}.receipt-print-button:hover{background:var(--color-primary-hover)}.receipt-actions .download-pdf-button{flex:1;justify-content:center}@media print{.sidebar,.no-print,.dashboard-layout-notifications{display:none!important}.dashboard-layout,.dashboard-layout-content{background:#fff!important;padding:0!important;display:block!important}body:has(.ui-modal-backdrop) .dashboard-layout-content{visibility:hidden!important}:is(body:has(.ui-modal-backdrop) .ui-modal-backdrop,body:has(.ui-modal-backdrop) .ui-modal-backdrop *){visibility:visible!important}.ui-modal-backdrop{background:0 0!important;padding:0!important;position:fixed!important;inset:0!important}.ui-modal{box-shadow:none!important;max-width:100%!important;max-height:none!important}.ui-modal-header .ui-modal-close{display:none!important}}.cart-flow{flex-direction:column;gap:24px;display:flex}.cart-flow-field{flex-direction:column;gap:10px;font-size:14px;font-weight:600;display:flex}.cart-flow-card-name{font-size:13px;font-weight:700}.cart-flow-selected-parent{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);align-items:center;gap:10px;padding:10px 14px;display:flex}.cart-flow-selected-parent .cart-flow-card-name{flex:1}.cart-flow-change-parent{border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);cursor:pointer;transition:var(--transition-base);background:0 0;flex-shrink:0;padding:6px 12px;font-size:12px;font-weight:600}.cart-flow-change-parent:hover{border-color:var(--color-primary);color:var(--color-primary-hover)}.cart-flow-months-hint{color:var(--color-text-muted);font-size:13px;font-weight:400}.cart-flow-child-block{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:14px;display:flex}.cart-flow-child-block h3{font-size:15px;font-weight:700}.cart-flow-currency-toggle{border-radius:var(--radius);background:var(--color-bg);gap:6px;width:fit-content;padding:3px;display:inline-flex}.cart-flow-currency-button{border-radius:var(--radius);color:var(--color-text-muted);cursor:pointer;transition:var(--transition-base);background:0 0;border:none;padding:5px 12px;font-size:12px;font-weight:700}.cart-flow-currency-button-active{background:var(--color-primary);color:var(--color-on-primary)}.cart-flow-item-list{flex-direction:column;gap:6px;display:flex}.cart-flow-item{border-radius:var(--radius);background:var(--color-bg);cursor:pointer;transition:var(--transition-base);align-items:center;gap:10px;padding:8px 10px;font-size:13px;font-weight:400;display:flex}.cart-flow-item input{width:auto;accent-color:var(--color-primary)}.cart-flow-item-checked{background:color-mix(in srgb, var(--color-primary) 14%, transparent)}.cart-flow-item-label{flex:1;align-items:center;gap:6px;display:flex}.cart-flow-item-amount{font-variant-numeric:tabular-nums;font-weight:700}.cart-flow-overdue-badge{color:#dc2626;text-transform:uppercase;background:#dc262626;border-radius:999px;padding:1px 7px;font-size:10px;font-weight:700}.cart-flow-due-badge{color:#d97706;text-transform:uppercase;background:#d9770626;border-radius:999px;padding:1px 7px;font-size:10px;font-weight:700}.cart-flow-advance-badge{background:color-mix(in srgb, var(--color-primary) 16%, transparent);color:var(--color-primary);text-transform:uppercase;border-radius:999px;padding:1px 7px;font-size:10px;font-weight:700}.cart-flow-empty{color:var(--color-text-muted);font-size:13px}.cart-flow-cart{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-md);flex-direction:column;gap:14px;padding:18px;display:flex}.cart-flow-cart-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.cart-flow-cart-item{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;font-size:13px;display:flex}.cart-flow-solde-tag{color:#dc2626;font-weight:600}.cart-flow-received-fields{flex-wrap:wrap;gap:12px;display:flex}.cart-flow-field-inline{flex-direction:column;flex:1;gap:6px;min-width:160px;font-size:13px;font-weight:600;display:flex}.cart-flow-field-inline input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);padding:10px 12px}.cart-flow-total{font-variant-numeric:tabular-nums;flex-direction:column;gap:4px;font-size:14px;font-weight:700;display:flex}.cart-flow-total-solde{color:#dc2626}.cart-flow-submit{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;transition:var(--transition-base);border:none;align-self:flex-start;align-items:center;gap:8px;padding:12px 24px;font-weight:700;display:flex}.cart-flow-submit:hover{background:var(--color-primary-hover)}.cart-flow-confirm-summary ul{flex-direction:column;gap:4px;margin:8px 0;padding-left:18px;font-size:13px;display:flex}.payments-page h1{font-size:24px;font-weight:600}.payments-subtitle{color:var(--color-text-muted);max-width:640px;margin-top:8px}.payments-form{background:var(--color-surface);border-radius:var(--radius);max-width:420px;box-shadow:var(--shadow-sm);transition:var(--transition-base);flex-direction:column;gap:14px;margin-top:24px;padding:20px;display:flex}.payments-field{flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.payments-field input,.payments-field select{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);padding:10px 12px}.payments-field input:focus,.payments-field select:focus{outline:2px solid var(--color-primary);outline-offset:1px}.payments-error{border-radius:var(--radius);color:#dc2626;background:#dc26261a;margin:0;padding:10px 12px;font-size:14px}.payments-submit{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);border:none;align-self:flex-start;padding:10px 24px;font-weight:600}.payments-submit:hover:not(:disabled){background:var(--color-primary-hover)}.payments-submit:disabled{opacity:.5;cursor:not-allowed}.payments-list-section{max-width:640px;margin-top:32px}.payments-list-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.payments-list-section h2{font-size:18px;font-weight:600}.payments-export-button{border:1px solid var(--color-primary);border-radius:var(--radius);color:var(--color-primary-hover);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);background:0 0;flex-shrink:0;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:600;display:inline-flex}.payments-export-button:hover{background:color-mix(in srgb, var(--color-primary) 12%, transparent);box-shadow:var(--shadow-md)}.payments-empty{color:var(--color-text-muted)}.payments-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.payments-list-item{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:var(--transition-base);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.payments-list-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.payments-list-item-info{flex-direction:column;gap:2px;min-width:0;display:flex}.payments-list-item-title{font-weight:600}.payments-list-item-meta{color:var(--color-text-muted);font-size:13px}.payments-receipt-button{border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);cursor:pointer;transition:var(--transition-base);background:0 0;flex-shrink:0;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:600;display:flex}.payments-receipt-button:hover{border-color:var(--color-primary);color:var(--color-primary-hover)}.payments-fee-card{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:var(--transition-base);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex}.payments-fee-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.payments-mobile-money{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);border:none;flex-shrink:0;padding:10px 18px;font-size:13px;font-weight:600}.payments-mobile-money:hover{background:var(--color-primary-hover)}.payments-monthly-due{margin-bottom:12px}.payments-monthly-due h3{margin-bottom:6px;font-size:14px;font-weight:700}.payments-overdue-badge,.payments-voided-badge{color:#dc2626;text-transform:uppercase;letter-spacing:.03em;background:#dc262626;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:700}.payments-list-item-voided{opacity:.55}.payments-list-item-actions{flex-shrink:0;gap:8px;display:flex}.payments-delete-button{border-radius:var(--radius);color:#dc2626;cursor:pointer;transition:var(--transition-base);background:0 0;border:1px solid #dc262666;flex-shrink:0;padding:7px 14px;font-size:12px;font-weight:600}.payments-delete-button:hover{background:#dc26261f}.payments-paid-badge{border-radius:var(--radius);background:color-mix(in srgb, var(--color-primary) 15%, transparent);color:var(--color-text);flex-shrink:0;padding:6px 14px;font-size:13px;font-weight:600}.student-financial-profile-page{flex-direction:column;gap:24px;max-width:640px;display:flex}.student-financial-profile-empty{color:var(--color-text-muted)}.student-financial-profile-header{align-items:center;gap:16px;display:flex}.student-financial-profile-header h2{font-size:20px;font-weight:700}.student-financial-profile-meta{color:var(--color-text-muted);font-size:13px}.student-financial-profile-section h3{margin-bottom:10px;font-size:15px;font-weight:700}.student-financial-profile-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.student-financial-profile-item{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-size:13px;display:flex}.student-financial-profile-overdue-badge{color:#dc2626;text-transform:uppercase;background:#dc262626;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:700}.student-financial-profile-pay-button{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;transition:var(--transition-base);border:none;flex-shrink:0;padding:8px 14px;font-size:12px;font-weight:700}.student-financial-profile-pay-button:hover{background:var(--color-primary-hover)}.student-financial-profile-paid{color:var(--color-text-muted);font-weight:600}.admin-field textarea{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);resize:vertical;padding:10px 12px;font-family:inherit}.admin-field textarea:focus{outline:2px solid var(--color-primary);outline-offset:1px}.fee-plan-scope-toggle{border-radius:var(--radius);background:var(--color-bg);gap:6px;width:fit-content;padding:4px;display:inline-flex}.fee-plan-scope-button{border-radius:var(--radius);color:var(--color-text-muted);cursor:pointer;transition:var(--transition-base);background:0 0;border:none;padding:8px 14px;font-size:13px;font-weight:600}.fee-plan-scope-button-active{background:var(--color-primary);color:var(--color-on-primary)}.fee-plan-student-name{font-size:13px;font-weight:700}.fee-plan-student-class{color:var(--color-text-muted);font-size:11px}.fee-plan-class-grid{border-radius:var(--radius);background:var(--color-bg);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;max-height:220px;padding:10px 12px;display:grid;overflow-y:auto}.fee-plan-class-checkbox{cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:400;display:flex}.fee-plan-class-checkbox input{width:auto;accent-color:var(--color-primary)}.fee-plan-card-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.fee-plan-card{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:var(--transition-base)}.fee-plan-card-button{text-align:left;cursor:pointer;border-radius:var(--radius);background:0 0;border:none;flex-direction:column;gap:4px;width:100%;padding:16px;display:flex}.fee-plan-card-button:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.fee-plan-card-title{color:var(--color-primary-hover);font-size:20px;font-weight:700}.fee-plan-card-meta{color:var(--color-text-muted);font-size:12px}.fee-plan-card-classes{margin-top:6px;font-size:13px}.fee-plan-card-edit-form{flex-direction:column;gap:12px;padding:16px;display:flex}.fee-plan-card-edit-actions{flex-wrap:wrap;gap:8px;display:flex}.fee-plan-card-cancel,.fee-plan-card-delete{border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);cursor:pointer;transition:var(--transition-base);border:none;padding:10px 16px;font-weight:600}.fee-plan-card-delete:hover{color:#dc2626;background:#dc262626}.other-requirements-class-name,.other-requirements-student-name{font-size:13px;font-weight:700}.other-requirements-overdue-badge{color:#dc2626;text-transform:uppercase;letter-spacing:.03em;background:#dc262626;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:700}.parent-fee-due-page h1{font-size:24px;font-weight:600}.parent-fee-due-subtitle{color:var(--color-text-muted);margin-top:8px}.parent-fee-due-selector{flex-direction:column;gap:6px;max-width:220px;margin-top:20px;font-size:14px;font-weight:500;display:flex}.parent-fee-due-empty{color:var(--color-text-muted);margin-top:20px}.parent-fee-due-total-card{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-md);flex-direction:column;align-items:center;gap:4px;margin-top:24px;padding:24px;display:flex}.parent-fee-due-total-cdf{color:var(--color-primary-hover);font-size:28px;font-weight:800}.parent-fee-due-total-usd{color:var(--color-text-muted);font-size:14px;font-weight:500}.parent-fee-due-children-list{flex-direction:column;gap:10px;max-width:560px;margin:20px 0 0;padding:0;list-style:none;display:flex}.parent-fee-due-child-row{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.parent-fee-due-child-name{font-weight:600;display:block}.parent-fee-due-child-meta{color:var(--color-text-muted);font-size:12px;display:block}.parent-fee-due-child-amount{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.parent-fee-due-child-amount .parent-fee-due-total-cdf{font-size:16px}.parent-fee-due-omitted{color:var(--color-text-muted);margin-top:12px;font-size:13px}.grade-entry-grid-empty{color:var(--color-text-muted)}.grade-entry-grid-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.grade-entry-grid-row{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:var(--transition-base);justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.grade-entry-grid-student-name{font-weight:500}.grade-entry-grid-input-group{flex-shrink:0;align-items:center;gap:8px;display:flex}.grade-entry-grid-input-group input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);width:80px;color:var(--color-text);text-align:right;padding:8px 10px}.grade-entry-grid-input-group input:focus{outline:2px solid var(--color-primary);outline-offset:1px}.grade-entry-grid-max-indicator{color:var(--color-text-muted);white-space:nowrap;font-size:13px}.grade-entry-grid-save-button{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);border:none;margin-top:20px;padding:10px 24px;font-weight:600}.grade-entry-grid-save-button:hover:not(:disabled){background:var(--color-primary-hover)}.grade-entry-grid-save-button:disabled{opacity:.5;cursor:not-allowed}.gradebook-page h1{font-size:24px;font-weight:600}.gradebook-subtitle{color:var(--color-text-muted);margin-top:8px}.gradebook-teacher-select{flex-direction:column;gap:6px;max-width:320px;margin-top:20px;font-size:14px;font-weight:500;display:flex}.gradebook-teacher-select select{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-text);padding:10px 12px}.gradebook-empty{color:var(--color-text-muted);margin-top:12px}.gradebook-subject-section{max-width:900px;margin-top:28px}.gradebook-subject-section h2{margin-bottom:12px;font-size:18px;font-weight:600}.gradebook-columns{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.gradebook-column h3{color:var(--color-text-muted);margin-bottom:8px;font-size:14px;font-weight:600}.gradebook-item-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.gradebook-item{border-radius:var(--radius);background:var(--color-surface);width:100%;box-shadow:var(--shadow-sm);color:var(--color-text);text-align:left;cursor:pointer;transition:var(--transition-base);border:none;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 14px;display:flex}.gradebook-item:hover:not(:disabled){background:color-mix(in srgb, var(--color-primary) 12%, transparent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.gradebook-item:disabled{opacity:.5;cursor:not-allowed}.gradebook-item-active{background:var(--color-primary);color:var(--color-on-primary)}.gradebook-item-title{align-items:center;gap:6px;font-weight:500;display:inline-flex}.gradebook-item-meta{opacity:.8;font-size:12px}.gradebook-type-badge{background:color-mix(in srgb, currentColor 15%, transparent);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.gradebook-grading-section{max-width:640px;margin-top:32px}.gradebook-grading-section h2{margin-bottom:12px;font-size:18px;font-weight:600}.student-grades-page h1{font-size:24px;font-weight:600}.student-grades-subtitle{color:var(--color-text-muted);margin-top:8px}.student-grades-empty{color:var(--color-text-muted);margin-top:12px}.student-grades-subject-section{max-width:900px;margin-top:28px}.student-grades-subject-section h2{margin-bottom:12px;font-size:18px;font-weight:600}.student-grades-columns{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.student-grades-column h3{color:var(--color-text-muted);margin-bottom:8px;font-size:14px;font-weight:600}.student-grades-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.student-grades-row{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.student-grades-item-title{align-items:center;gap:6px;font-weight:500;display:inline-flex}.student-grades-item-meta{color:var(--color-text-muted);font-size:12px}.student-grades-score{white-space:nowrap;font-weight:600}.student-grades-type-badge{background:color-mix(in srgb, currentColor 15%, transparent);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.bulletin-page h1{font-size:24px;font-weight:600}.bulletin-subtitle{color:var(--color-text-muted);margin-top:8px}.bulletin-selectors{flex-wrap:wrap;gap:16px;margin-top:24px;display:flex}.bulletin-select-field{flex-direction:column;gap:6px;min-width:220px;max-width:100%;font-size:14px;font-weight:500;display:flex}.bulletin-select-field select{text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);width:100%;box-shadow:var(--shadow-sm);transition:var(--transition-base);color:var(--color-text);padding:10px 12px;overflow:hidden}.bulletin-select-field select:focus{outline:2px solid var(--color-primary);outline-offset:1px}.bulletin-select-field select:disabled{opacity:.5;cursor:not-allowed}.bulletin-empty{color:var(--color-text-muted);margin-top:20px}.bulletin-report{border-radius:var(--radius);background:var(--color-surface);max-width:720px;box-shadow:var(--shadow-sm);transition:var(--transition-base);margin-top:28px;padding:24px}.bulletin-institution-header{text-align:center;border-bottom:2px solid var(--color-primary);margin-bottom:20px;padding-bottom:16px}.bulletin-institution-name{letter-spacing:.04em;text-transform:uppercase;color:var(--color-primary-hover);font-size:22px;font-weight:700}.bulletin-institution-year{color:var(--color-text-muted);margin-top:4px;font-size:13px}.bulletin-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.bulletin-header h2{font-size:20px;font-weight:600}.bulletin-header-meta{color:var(--color-text-muted);margin-top:4px;font-size:14px}.bulletin-header-actions{flex-shrink:0;gap:8px;display:flex}.bulletin-print{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);border:none;flex-shrink:0;padding:10px 20px;font-weight:600}.bulletin-print:hover{background:var(--color-primary-hover)}.bulletin-conduct{align-items:center;gap:10px;margin-bottom:16px;font-size:14px;font-weight:500;display:flex}.bulletin-conduct-value{color:var(--color-text-muted)}.bulletin-conduct-input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);padding:6px 10px;font-size:14px}.bulletin-conduct-input-number{width:80px}.bulletin-conduct-print-only{display:none}.bulletin-rank-row td{color:var(--color-primary-hover);font-weight:700}.bulletin-table-wrapper{overflow-x:auto}.bulletin-table{border-collapse:collapse;width:100%}.bulletin-table th,.bulletin-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:10px 12px}.bulletin-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-size:13px;font-weight:700}.bulletin-table td:not(:first-child),.bulletin-table th:not(:first-child){text-align:right}.bulletin-table tfoot td{border-bottom:none;border-top:2px solid var(--color-primary);font-weight:700}@media print{@page{size:A4;margin:15mm}.sidebar,.no-print{display:none!important}.dashboard-layout,.dashboard-layout-content{background:#fff!important;padding:0!important;display:block!important}.bulletin-page{color:#000!important}.bulletin-report{border:none;max-width:none;margin:0;padding:0;background:#fff!important}.bulletin-table-wrapper{overflow-x:visible}.bulletin-institution-header{border-bottom-color:#000}.bulletin-institution-name{color:#000!important}.bulletin-institution-year,.bulletin-header-meta{color:#333!important}.bulletin-conduct-print-only{margin:-8px 0 16px;font-size:13px;font-weight:600;display:block;color:#000!important}.bulletin-table th,.bulletin-table td{border-bottom:1px solid #000;color:#000!important}.bulletin-table th{color:#000!important}.bulletin-table tfoot td{border-top:2px solid #000}}.bulletin-missing-fields-list{color:var(--color-primary);margin:12px 0;padding-left:20px;font-weight:600}.bulletin-missing-fields-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.bulletin-missing-fields-fill,.bulletin-missing-fields-print{border-radius:var(--radius);cursor:pointer;min-width:160px;transition:var(--transition-base);border:none;flex:1;padding:11px 16px;font-weight:700}.bulletin-missing-fields-fill{background:var(--color-primary);color:#071528}.bulletin-missing-fields-fill:hover{background:var(--color-primary-hover)}.bulletin-missing-fields-print{color:#f3efe3;background:#ffffff1a;border:1px solid #d4af3766}.bulletin-missing-fields-print:hover{background:#ffffff2e}.official-bulletin{color:#000;box-sizing:border-box;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;border:.6mm solid #000;width:190mm;margin:0 auto;font-family:Arial,Helvetica Neue,sans-serif;position:relative;overflow:hidden}.official-bulletin-sheet{z-index:1;position:relative}.official-bulletin-masthead{text-align:center;background-position:50%;background-size:cover;border-bottom:.5mm solid #000;grid-template-columns:24mm 1fr 24mm;align-items:center;gap:2mm;padding:2mm 3mm;font-size:8.5pt;font-weight:700;line-height:1.3;display:grid}.official-bulletin-flag{object-fit:contain;justify-self:start;width:22mm;height:13mm}.official-bulletin-coat{object-fit:contain;border-radius:50%;justify-self:end;width:15mm;height:15mm}.official-bulletin-identity{border-bottom:.5mm solid #000;grid-template-columns:1fr 1fr;font-size:8pt;display:grid}.official-bulletin-identity-col{padding:1.5mm 3mm}.official-bulletin-identity-col:first-child{border-right:.5mm solid #000}.official-bulletin-identity-line{gap:1.5mm;padding:.6mm 0;display:flex}.official-bulletin-identity-label{white-space:nowrap;font-weight:700}.official-bulletin-identity-value{color:#2563eb;border-bottom:.2mm dotted #666;flex:1;min-height:3mm;font-family:Courier New,Courier,monospace}.official-bulletin-title-strip{text-align:center;border-bottom:.5mm solid #000;justify-content:space-between;align-items:center;gap:3mm;padding:1.5mm 3mm;font-size:9pt;font-weight:700;display:flex}.bulletin-grid-row{grid-template-columns:var(--bulletin-grid-template);border-bottom:.4mm solid #000;display:grid}.bulletin-grid-cell{text-align:center;border-right:.4mm solid #000;justify-content:center;align-items:center;padding:.5mm .8mm;font-size:6.6pt;line-height:1.2;display:flex;overflow:hidden}.bulletin-grid-cell:last-child{border-right:none}.bulletin-grid-label{text-align:left;justify-content:flex-start;padding-left:1.5mm;font-size:7pt;font-weight:500}.bulletin-grid-header .bulletin-grid-cell{background:#f2f2f2;font-size:6.2pt;font-weight:700}.bulletin-grid-group-title{background:#f2f2f2;border-right:.4mm solid #000;grid-column:span 7;font-size:7pt;font-weight:700}.bulletin-grid-annual-title{background:#f2f2f2;grid-column:span 2;font-size:6.6pt;font-weight:700}.bulletin-grid-max{font-weight:700;color:#000!important}.bulletin-grid-score-blue{color:#2563eb}.bulletin-grid-score-red{color:#dc2626;font-weight:700}.bulletin-grid-domain{text-align:center;background:#c7dff7;border-bottom:.4mm solid #000;grid-column:1/-1;justify-content:center;align-items:center;padding:.8mm;font-size:7.5pt;font-weight:700;display:flex}.bulletin-grid-subdomain{text-align:center;background:#e5e5e5;border-bottom:.4mm solid #000;grid-column:1/-1;justify-content:center;align-items:center;padding:.6mm;font-size:7pt;font-weight:600;display:flex}.bulletin-grid-subtotal .bulletin-grid-cell,.bulletin-grid-maxima .bulletin-grid-cell,.bulletin-grid-summary .bulletin-grid-cell{font-weight:700}.bulletin-grid-maxima .bulletin-grid-cell:not(.bulletin-grid-label){color:#000!important}.official-bulletin-conduct-table{border-collapse:collapse;border-top:.5mm solid #000;width:100%;margin-top:2mm;font-size:7pt}.official-bulletin-conduct-table th,.official-bulletin-conduct-table td{text-align:center;border:.3mm solid #000;padding:1mm 1.5mm}.official-bulletin-conduct-table th{white-space:nowrap;background:#f2f2f2;font-weight:700}.official-bulletin-footer{background-position:50%;background-size:cover;border-top:.5mm solid #000;grid-template-columns:1fr 1fr;gap:3mm;padding:3mm;font-size:7.5pt;display:grid}.official-bulletin-footer-block{min-height:14mm}.official-bulletin-footer-legal{border-top:.3mm solid #000;grid-column:1/-1;justify-content:space-between;gap:3mm;padding-top:1.5mm;font-size:6.5pt;display:flex}.official-bulletin-empty{color:var(--color-text-muted,#667);padding:20px}@media print{@page{size:A4;margin:10mm}.no-print{display:none!important}.official-bulletin{box-shadow:none;border:.6mm solid #000}.bulletin-grid-cell{font-size:6.2pt}}.official-bulletin-page h1{font-size:24px;font-weight:600}.official-bulletin-page-subtitle{color:var(--color-text-muted);margin-top:8px}.official-bulletin-selectors{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-top:24px;margin-bottom:28px;display:flex}.official-bulletin-select-field{flex-direction:column;gap:6px;min-width:220px;font-size:14px;font-weight:500;display:flex}.official-bulletin-select-field select{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-text);padding:10px 12px}.official-bulletin-select-field select:disabled{opacity:.5;cursor:not-allowed}.official-bulletin-print-button{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;box-shadow:var(--shadow-sm);transition:var(--transition-base);border:none;align-items:center;gap:8px;padding:11px 20px;font-weight:700;display:flex}.official-bulletin-print-button:hover{background:var(--color-primary-hover)}.official-bulletin-empty{color:var(--color-text-muted);margin-top:20px}.official-bulletin-zoom-bar{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);width:fit-content;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;gap:10px;margin:16px auto 0;padding:8px 12px;display:flex}.official-bulletin-zoom-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.official-bulletin-zoom-bar button{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);width:30px;height:30px;color:var(--color-text);cursor:pointer;transition:var(--transition-base);justify-content:center;align-items:center;display:flex}.official-bulletin-zoom-bar button:hover:not(:disabled){background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.official-bulletin-zoom-bar button:disabled{opacity:.4;cursor:not-allowed}.official-bulletin-zoom-value{text-align:center;font-variant-numeric:tabular-nums;min-width:44px;font-weight:700}.official-bulletin-zoom-reset{padding:0 12px;font-size:12px;font-weight:600;width:auto!important}.official-bulletin-zoom-viewport{max-width:100%;margin-top:16px;overflow:auto}.official-bulletin-zoom-target{transform-origin:top;width:fit-content;margin:0 auto}@media print{.official-bulletin-page h1,.official-bulletin-page-subtitle{display:none}.official-bulletin-page{padding:0}.official-bulletin-zoom-viewport{margin-top:0;overflow:visible}.official-bulletin-zoom-target{width:auto;transform:none!important}}.analytics-page h1{font-size:24px;font-weight:600}.analytics-subtitle{color:var(--color-text-muted);margin-top:8px}.analytics-selectors{flex-wrap:wrap;gap:16px;margin-top:24px;display:flex}.analytics-select-field{flex-direction:column;gap:6px;min-width:220px;font-size:14px;font-weight:500;display:flex}.analytics-select-field select{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:var(--transition-base);color:var(--color-text);padding:10px 12px}.analytics-select-field select:focus{outline:2px solid var(--color-primary);outline-offset:1px}.analytics-select-field select:disabled{opacity:.5;cursor:not-allowed}.analytics-empty{color:var(--color-text-muted);margin-top:20px}.analytics-stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-top:28px;display:grid}.analytics-stat-card{border:1px solid var(--color-primary);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:var(--transition-base);flex-direction:column;gap:6px;padding:20px;display:flex}.analytics-stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.analytics-stat-icon{color:var(--color-accent);margin-bottom:2px}.analytics-stat-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-size:12px;font-weight:700}.analytics-stat-value{color:var(--color-primary-hover);font-size:26px;font-weight:700}.analytics-pass-rate-bar{max-width:480px;margin-top:24px}.analytics-lists{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:32px;display:grid}.analytics-list-section{min-width:0}.analytics-list-title{align-items:center;gap:8px;margin-bottom:12px;font-size:16px;font-weight:600;display:flex}.analytics-list-title-success{color:#16a34a}.analytics-list-title-failure{color:#dc2626}.analytics-list-title-neutral{color:var(--color-text-muted)}.analytics-student-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.analytics-student-row{border-left:4px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:var(--transition-base);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.analytics-student-row-success{border-left-color:#22c55e}.analytics-student-row-failure{border-left-color:#dc2626}.analytics-student-row-neutral{border-left-color:var(--color-border);opacity:.75}.analytics-student-name{font-weight:500}.analytics-student-score{font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:700}.analytics-student-row-success .analytics-student-score{color:#16a34a}.analytics-student-row-failure .analytics-student-score{color:#dc2626}.analytics-student-row-neutral .analytics-student-score{color:var(--color-text-muted)}.announcements-page h1{font-size:24px;font-weight:600}.announcements-subtitle{color:var(--color-text-muted);margin-top:8px}.announcements-form{background:var(--color-surface);border-radius:var(--radius);max-width:480px;box-shadow:var(--shadow-sm);transition:var(--transition-base);flex-direction:column;gap:14px;margin-top:24px;padding:20px;display:flex}.announcements-field{flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.announcements-field input,.announcements-field select,.announcements-field textarea{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);resize:vertical;padding:10px 12px;font-family:inherit}.announcements-field input:focus,.announcements-field select:focus,.announcements-field textarea:focus{outline:2px solid var(--color-primary);outline-offset:1px}.announcements-error{border-radius:var(--radius);color:#dc2626;background:#dc26261a;margin:0;padding:10px 12px;font-size:14px}.announcements-submit{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);border:none;align-self:flex-start;padding:10px 24px;font-weight:600}.announcements-submit:hover{background:var(--color-primary-hover)}.announcements-feed{flex-direction:column;gap:12px;max-width:640px;margin-top:32px;display:flex}.announcements-empty{color:var(--color-text-muted)}.announcement-card{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:var(--transition-base);padding:16px}.announcement-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.announcement-card-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.announcement-card-header h2{font-size:16px;font-weight:600}.announcement-card-content{white-space:pre-wrap;color:var(--color-text);margin-top:8px}.announcement-card-date{color:var(--color-text-muted);margin-top:10px;font-size:13px}.announcement-card-high{border:2px solid var(--color-primary);background:var(--color-highlight)}.announcement-card-high .announcement-card-content,.announcement-card-high .announcement-card-header h2,.announcement-card-high .announcement-card-date{color:var(--color-on-primary)}.announcement-priority-badge{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;padding:4px 10px;font-size:12px;font-weight:700}.homework-page h1{font-size:24px;font-weight:600}.homework-subtitle{color:var(--color-text-muted);margin-top:8px}.homework-form{background:var(--color-surface);border-radius:var(--radius);max-width:480px;box-shadow:var(--shadow-sm);transition:var(--transition-base);flex-direction:column;gap:14px;margin-top:24px;padding:20px;display:flex}.homework-field{flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.homework-field input,.homework-field select,.homework-field textarea{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);resize:vertical;padding:10px 12px;font-family:inherit}.homework-field input:focus,.homework-field select:focus,.homework-field textarea:focus{outline:2px solid var(--color-primary);outline-offset:1px}.homework-field select:disabled{opacity:.5;cursor:not-allowed}.homework-error{border-radius:var(--radius);color:#dc2626;background:#dc26261a;margin:0;padding:10px 12px;font-size:14px}.homework-submit{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);border:none;align-self:flex-start;padding:10px 24px;font-weight:600}.homework-submit:hover{background:var(--color-primary-hover)}.homework-list-section{max-width:640px;margin-top:32px}.homework-list-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:12px;display:flex}.homework-list-header h2{font-size:18px;font-weight:600}.homework-filter{flex-direction:column;gap:4px;font-size:13px;font-weight:500;display:flex}.homework-filter select{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:var(--transition-base);color:var(--color-text);padding:6px 10px}.homework-empty{color:var(--color-text-muted)}.homework-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.homework-card{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:var(--transition-base);padding:14px 16px}.homework-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.homework-card-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.homework-card-header h3{font-size:15px;font-weight:600}.homework-card-meta{color:var(--color-text-muted);margin-top:4px;font-size:13px}.homework-card-description{white-space:pre-wrap;color:var(--color-text);margin-top:8px}.homework-card-score-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.homework-card-score-row button{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);cursor:pointer;transition:var(--transition-base);padding:6px 12px;font-size:12px;font-weight:600}.homework-card-score-row button:hover{background:var(--color-primary);color:var(--color-on-primary)}.homework-score-input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);width:90px;color:var(--color-text);padding:6px 10px}.homework-grade-link{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);padding:6px 12px;font-size:12px;font-weight:600;text-decoration:none}.homework-overdue-badge{border-radius:var(--radius);color:#dc2626;text-transform:uppercase;letter-spacing:.04em;background:#dc26261f;flex-shrink:0;padding:4px 10px;font-size:12px;font-weight:700}.library-page h1{font-size:24px;font-weight:600}.library-subtitle{color:var(--color-text-muted);margin-top:8px}.library-form{background:var(--color-surface);border-radius:var(--radius);max-width:420px;box-shadow:var(--shadow-sm);transition:var(--transition-base);flex-direction:column;gap:14px;margin-top:24px;padding:20px;display:flex}.library-field{flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.library-field input,.library-field select{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);padding:10px 12px}.library-field input:focus,.library-field select:focus{outline:2px solid var(--color-primary);outline-offset:1px}.library-error{border-radius:var(--radius);color:#dc2626;background:#dc26261a;margin:0;padding:10px 12px;font-size:14px}.library-submit{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);border:none;align-self:flex-start;padding:10px 24px;font-weight:600}.library-submit:hover{background:var(--color-primary-hover)}.library-catalog{margin-top:32px}.library-empty{color:var(--color-text-muted)}.library-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.library-card{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:var(--transition-base);padding:16px}.library-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.library-card h2{font-size:16px;font-weight:600}.library-author{color:var(--color-text-muted);margin-top:4px;font-size:14px}.library-isbn{color:var(--color-text-muted);margin-top:4px;font-size:12px}.library-availability{color:var(--color-primary-hover);margin-top:10px;font-weight:600}.library-manage-toggle{border:1px solid var(--color-primary);border-radius:var(--radius);color:var(--color-primary);cursor:pointer;background:0 0;margin-top:12px;padding:8px 14px;font-size:13px;font-weight:600}.library-manage-toggle:hover{background:var(--color-primary);color:var(--color-on-primary)}.library-borrow-panel{border-top:1px solid var(--color-border);flex-direction:column;gap:16px;margin-top:14px;padding-top:14px;display:flex}.library-checkout-fields{flex-direction:column;gap:10px;display:flex}.library-loans h3{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:8px;font-size:13px;font-weight:700}.library-loans-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.library-loan-item{box-shadow:var(--shadow-sm);border-radius:var(--radius);background:var(--color-bg);justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.library-return-button{box-shadow:var(--shadow-sm);border-radius:var(--radius);color:var(--color-text);cursor:pointer;background:0 0;flex-shrink:0;padding:6px 10px;font-size:12px}.library-return-button:hover{background:color-mix(in srgb, var(--color-primary) 12%, transparent)}.inventory-list-section{max-width:720px;margin-top:32px}.inventory-list-section h2{margin-bottom:12px;font-size:18px;font-weight:600}.inventory-table-wrapper{border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow-x:auto}.inventory-table{border-collapse:collapse;background:var(--color-surface);width:100%}.inventory-table th,.inventory-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:10px 12px}.inventory-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-size:12px;font-weight:700}.inventory-table tr:last-child td{border-bottom:none}.inventory-quantity-input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);width:80px;color:var(--color-text);padding:6px 8px}.inventory-quantity-input:focus{outline:2px solid var(--color-primary);outline-offset:1px}.inventory-condition-select{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);padding:6px 8px}.inventory-condition-select:focus{outline:2px solid var(--color-primary);outline-offset:1px}.lesson-planner-page h1{font-size:24px;font-weight:600}.lesson-planner-subtitle{color:var(--color-text-muted);margin-top:8px}.lesson-planner-form{background:var(--color-surface);border-radius:var(--radius);max-width:480px;box-shadow:var(--shadow-sm);transition:var(--transition-base);flex-direction:column;gap:14px;margin-top:24px;padding:20px;display:flex}.lesson-planner-field{flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.lesson-planner-field input,.lesson-planner-field select,.lesson-planner-field textarea{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);resize:vertical;padding:10px 12px;font-family:inherit}.lesson-planner-field input:focus,.lesson-planner-field select:focus,.lesson-planner-field textarea:focus{outline:2px solid var(--color-primary);outline-offset:1px}.lesson-planner-field select:disabled{opacity:.5;cursor:not-allowed}.lesson-planner-error{border-radius:var(--radius);color:#dc2626;background:#dc26261a;margin:0;padding:10px 12px;font-size:14px}.lesson-planner-submit{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);border:none;align-self:flex-start;padding:10px 24px;font-weight:600}.lesson-planner-submit:hover{background:var(--color-primary-hover)}.lesson-planner-list-section{max-width:640px;margin-top:32px}.lesson-planner-list-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:12px;display:flex}.lesson-planner-list-header h2{font-size:18px;font-weight:600}.lesson-planner-filter{flex-direction:column;gap:4px;font-size:13px;font-weight:500;display:flex}.lesson-planner-filter select{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:var(--transition-base);color:var(--color-text);padding:6px 10px}.lesson-planner-empty{color:var(--color-text-muted)}.lesson-planner-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.lesson-planner-card{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:var(--transition-base);padding:16px}.lesson-planner-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.lesson-planner-card-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.lesson-planner-card-header h3{font-size:16px;font-weight:600}.lesson-planner-card-date{color:var(--color-text-muted);flex-shrink:0;font-size:13px}.lesson-planner-card-meta{color:var(--color-text-muted);margin-top:4px;font-size:13px}.lesson-planner-card-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--color-primary-hover);margin-top:10px;font-size:12px;font-weight:700}.lesson-planner-card-text{white-space:pre-wrap;color:var(--color-text);margin-top:2px}.expenses-summary-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-top:24px;margin-bottom:24px;display:flex}.expenses-summary{flex-wrap:wrap;flex:1;gap:16px;display:flex}.expenses-export-button{border:1px solid var(--color-primary);border-radius:var(--radius);color:var(--color-primary-hover);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);background:0 0;flex-shrink:0;align-items:center;gap:8px;padding:10px 20px;font-weight:600;display:inline-flex}.expenses-export-button:hover{background:color-mix(in srgb, var(--color-primary) 12%, transparent);box-shadow:var(--shadow-md)}.expenses-summary-card{border:1px solid var(--color-primary);border-radius:var(--radius);background:var(--color-surface);min-width:200px;box-shadow:var(--shadow-sm);transition:var(--transition-base);flex-direction:column;flex:1;gap:6px;padding:20px;display:flex;position:relative;overflow:hidden}.expenses-summary-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.expenses-summary-card:before{content:"";background:var(--color-primary);height:4px;position:absolute;inset:0 0 auto}.expenses-summary-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-size:12px;font-weight:700}.expenses-summary-value{color:var(--color-primary-hover);font-size:28px;font-weight:700}.expenses-list-section{max-width:860px;margin-top:32px}.expenses-list-section h2{margin-bottom:12px;font-size:18px;font-weight:600}.expenses-list-filters{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.expenses-list-filters>:first-child{flex:1;min-width:220px}.expenses-table-wrapper{border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow-x:auto}.expenses-table{border-collapse:collapse;background:var(--color-surface);width:100%}.expenses-table th,.expenses-table td{text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap;padding:10px 12px}.expenses-table-wrap-cell{min-width:200px;white-space:normal!important}.expenses-solde-card{border-color:var(--color-accent)}.expenses-solde-card:before{background:var(--color-accent)}.expenses-solde-card .expenses-summary-label{align-items:center;gap:6px;display:flex}.expenses-solde-card .expenses-summary-value{color:var(--color-accent)}.expenses-summary-negative{color:#dc2626!important}.expenses-type-toggle{gap:10px;max-width:420px;margin-top:8px;display:flex}.expenses-type-button{border:2px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;transition:var(--transition-base);flex:1;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:13px;font-weight:600;display:flex}.expenses-type-button:hover{border-color:var(--color-primary)}.expenses-type-button-active{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 12%, transparent);color:var(--color-primary-hover)}.expenses-type-badge{background:var(--color-bg);color:var(--color-text-muted);border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700}.expenses-type-badge-staff{color:#2563eb;background:#2563eb24}.expenses-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-size:12px;font-weight:700}.expenses-table tr:last-child td{border-bottom:none}.download-excel-button{border:1px solid var(--color-primary);border-radius:var(--radius);color:var(--color-primary);cursor:pointer;background:0 0;align-items:center;gap:8px;padding:10px 24px;font-weight:600;transition:background-color .15s,color .15s;display:inline-flex}.download-excel-button:hover:not(:disabled){background:var(--color-primary);color:var(--color-on-primary)}.download-excel-button:disabled{opacity:.6;cursor:not-allowed}.ohada-subtitle-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.ohada-subtitle-row .admin-subtitle{flex:1;min-width:260px}.ohada-subtitle-actions{flex-shrink:0;gap:10px;display:flex}.ohada-result-grid{grid-template-columns:1fr 1fr;gap:24px;margin-top:24px;display:grid}@media (width<=860px){.ohada-result-grid{grid-template-columns:1fr}}.ohada-account-section{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:var(--transition-base);flex-direction:column;padding:24px;display:flex}.ohada-account-section:hover{box-shadow:var(--shadow-md)}.ohada-account-section-title{border-bottom:2px solid var(--color-border);align-items:center;gap:8px;margin-bottom:16px;padding-bottom:12px;font-size:16px;font-weight:700;display:flex}.ohada-title-charge{color:#dc2626}.ohada-title-produit{color:#16a34a}.ohada-account-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ohada-account-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.ohada-account-row:last-child{border-bottom:none}.ohada-account-info{align-items:baseline;gap:10px;min-width:0;display:flex}.ohada-account-code{background:var(--color-bg);color:var(--color-text-muted);font-variant-numeric:tabular-nums;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:700}.ohada-account-label{color:var(--color-text);font-size:14px}.ohada-account-amounts{font-variant-numeric:tabular-nums;flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.ohada-account-amount{color:var(--color-text);font-size:13px;font-weight:600}.ohada-account-empty{color:var(--color-text-muted);padding:16px 0;font-size:13px;font-style:italic}.ohada-account-total{border-top:2px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding-top:14px;font-size:14px;font-weight:700;display:flex}.ohada-total-charge{color:#dc2626}.ohada-total-produit{color:#16a34a}.ohada-net-result{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding:24px;display:flex;position:relative;overflow:hidden}.ohada-net-result:before{content:"";background:var(--color-primary);height:4px;position:absolute;inset:0 0 auto}.ohada-net-result-label{color:var(--color-heading);font-size:15px;font-weight:700}.ohada-net-result-amounts{flex-wrap:wrap;gap:20px;display:flex}.ohada-net-result-value{font-variant-numeric:tabular-nums;font-size:24px;font-weight:800}.ohada-net-positive{color:#16a34a}.ohada-net-negative{color:#dc2626}.mutuelle-page h1{font-size:24px;font-weight:600}.mutuelle-subtitle{color:var(--color-text-muted);margin-top:8px}.mutuelle-stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-top:24px;display:grid}.mutuelle-stat-card{border:1px solid var(--color-primary);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:var(--transition-base);flex-direction:column;gap:6px;padding:20px;display:flex}.mutuelle-stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.mutuelle-stat-icon{color:var(--color-accent);margin-bottom:2px}.mutuelle-stat-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-size:12px;font-weight:700}.mutuelle-stat-value{color:var(--color-primary-hover);font-size:22px;font-weight:700}.mutuelle-ratios{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;max-width:720px;margin-top:24px;display:grid}.mutuelle-section{margin-top:40px}.mutuelle-section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.mutuelle-section-header h2{font-size:18px;font-weight:600}.mutuelle-section-actions{flex-wrap:wrap;gap:12px;display:flex}.mutuelle-subsection-title{margin-top:24px;margin-bottom:12px;font-size:15px;font-weight:600}.mutuelle-action-button{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);border:none;align-items:center;gap:8px;padding:10px 20px;font-weight:600;display:inline-flex}.mutuelle-action-button:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.mutuelle-action-button-secondary{border:1px solid var(--color-primary);color:var(--color-primary-hover);background:0 0}.mutuelle-action-button-secondary:hover{background:color-mix(in srgb, var(--color-primary) 12%, transparent)}.mutuelle-empty{color:var(--color-text-muted)}.mutuelle-balances-table-wrapper{border-radius:var(--radius);box-shadow:var(--shadow-sm);max-width:640px;overflow-x:auto}.mutuelle-balances-table{border-collapse:collapse;background:var(--color-surface);width:100%}.mutuelle-balances-table th,.mutuelle-balances-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:10px 12px}.mutuelle-balances-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-size:12px;font-weight:700}.mutuelle-balances-table tr:last-child td{border-bottom:none}.mutuelle-loan-list{flex-direction:column;gap:12px;max-width:640px;margin:0;padding:0;list-style:none;display:flex}.mutuelle-loan-card{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:var(--transition-base);flex-direction:column;gap:10px;padding:16px;display:flex}.mutuelle-loan-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.mutuelle-loan-repaid{opacity:.75}.mutuelle-loan-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.mutuelle-loan-member{font-weight:600}.mutuelle-loan-meta{color:var(--color-text-muted);font-size:13px}.mutuelle-overdue-badge{border-radius:var(--radius);color:#dc2626;text-transform:uppercase;letter-spacing:.04em;background:#dc26261f;flex-shrink:0;padding:4px 10px;font-size:12px;font-weight:700}.mutuelle-repay-button{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);border:none;align-self:flex-start;padding:8px 18px;font-weight:600}.mutuelle-repay-button:hover{background:var(--color-primary-hover)}.mutuelle-modal-form{flex-direction:column;gap:14px;display:flex}.mutuelle-modal-field{flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.mutuelle-modal-field input,.mutuelle-modal-field select{border-radius:var(--radius);padding:10px 12px}.mutuelle-modal-hint{border-radius:var(--radius);background:#d4af371f;margin:0;padding:10px 12px;font-size:13px}.mutuelle-modal-submit{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;transition:var(--transition-base);border:none;align-self:flex-start;padding:10px 24px;font-weight:600}.mutuelle-modal-submit:hover:not(:disabled){background:var(--color-primary-hover)}.mutuelle-modal-submit:disabled{opacity:.5;cursor:not-allowed}.course-scanner-page h1{font-size:24px;font-weight:600}.course-scanner-subtitle{color:var(--color-text-muted);max-width:560px;margin-top:8px}.course-scanner-empty{color:var(--color-text-muted);margin-top:20px}.course-scanner-select-field{flex-direction:column;gap:6px;max-width:420px;margin-top:24px;font-size:14px;font-weight:500;display:flex}.course-scanner-select-field select{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);padding:10px 12px}.course-scanner-activate-button{border-radius:var(--radius);background:var(--color-primary);width:100%;max-width:420px;color:var(--color-on-primary);box-shadow:var(--shadow-md);cursor:pointer;transition:var(--transition-base);border:none;flex-direction:column;justify-content:center;align-items:center;gap:12px;margin-top:24px;padding:40px 24px;font-size:18px;font-weight:700;display:flex}.course-scanner-activate-button:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-2px)}.course-scanner-activate-button:disabled{opacity:.6;cursor:not-allowed}.course-scanner-list-section{max-width:480px;margin-top:28px}.course-scanner-list-section h2{font-size:16px;font-weight:700}.course-scanner-scanned-list{flex-direction:column;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.course-scanner-scanned-row{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;padding:10px 14px;font-size:14px;display:flex}.course-scanner-scanned-row button{border-radius:var(--radius);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:flex}.course-scanner-scanned-row button:hover:not(:disabled){background:var(--color-bg);color:var(--color-primary-hover)}.my-children-page h1{font-size:24px;font-weight:600}.my-children-subtitle{color:var(--color-text-muted);margin-top:8px}.my-children-empty{color:var(--color-text-muted);align-items:center;gap:8px;margin-top:24px;display:flex}.my-children-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:24px;display:grid}.child-status-card{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:var(--transition-base);border:2px solid #0000;flex-direction:column;gap:12px;padding:18px;display:flex}.child-status-card:hover{box-shadow:var(--shadow-md)}.child-confirm-banner{border-radius:var(--radius);color:#c2410c;background:#ea580c1f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.child-confirm-banner span{align-items:center;gap:6px;display:inline-flex}.child-confirm-button{border-radius:var(--radius);color:#fff;cursor:pointer;transition:var(--transition-base);background:#c2410c;border:none;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:700;display:inline-flex}.child-confirm-button:hover:not(:disabled){background:#9a3412}.child-confirm-button:disabled{opacity:.6;cursor:not-allowed}.child-status-card-unpaid{border-color:#dc2626}.child-status-card-paid{border-color:#16a34a}.child-status-card-main{align-items:center;gap:14px;display:flex}.child-fee-badge{border-radius:999px;align-items:center;width:fit-content;padding:3px 9px;font-size:11px;font-weight:700;display:inline-flex}.child-fee-badge-unpaid{color:#dc2626;background:#dc262626}.child-fee-badge-paid{color:#16a34a;background:#22c55e26}.child-status-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.child-locked-banner{border-radius:var(--radius);color:#dc2626;background:#dc26261a;flex-direction:column;align-items:flex-start;gap:8px;margin-top:12px;padding:14px;font-size:13px;line-height:1.4;display:flex}.child-locked-pay-button{border-radius:var(--radius);color:#fff;background:#dc2626;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;display:inline-flex}.child-grades-link,.child-report-sick-button{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);cursor:pointer;transition:var(--transition-base);align-self:flex-start;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.child-grades-link:hover{border-color:var(--color-primary);color:var(--color-primary)}.child-report-sick-button:hover:not(:disabled){color:#dc2626;border-color:#dc2626}.child-report-sick-button:disabled{opacity:.6;cursor:not-allowed}.child-requirements{border-top:1px dashed var(--color-border);flex-direction:column;gap:6px;padding-top:10px;display:flex}.child-requirements-title{text-transform:uppercase;letter-spacing:.03em;color:#b45309;align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.child-requirements ul{color:var(--color-text-muted);flex-direction:column;gap:2px;margin:0;padding-left:18px;font-size:12px;display:flex}.child-status-info-block{flex-direction:column;gap:8px;min-width:0;display:flex}.child-status-name{color:var(--color-text);font-size:15px;font-weight:700}.child-status-school-badge{background:var(--color-bg);width:fit-content;color:var(--color-text-muted);border-radius:999px;align-items:center;gap:5px;padding:3px 9px 3px 3px;font-size:11px;font-weight:600;display:inline-flex}.child-status-school-badge img{object-fit:cover;border-radius:50%;width:16px;height:16px}.grade-sheet-print-page h1{font-size:24px;font-weight:600}.grade-sheet-print-subtitle{color:var(--color-text-muted);max-width:620px;margin-top:8px}.grade-sheet-print-selectors{flex-wrap:wrap;gap:16px;margin-top:24px;display:flex}.grade-sheet-print-select-field{flex-direction:column;gap:6px;min-width:200px;font-size:14px;font-weight:500;display:flex}.grade-sheet-print-select-field select{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-text);padding:10px 12px}.grade-sheet-print-empty{color:var(--color-text-muted);margin-top:20px}.grade-sheet-print-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.grade-sheet-print-button{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);border:none;align-items:center;gap:8px;padding:10px 24px;font-weight:600;display:inline-flex}.grade-sheet-print-button:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.grade-sheet-print-guide-toggle{color:var(--color-primary-hover);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;margin-top:20px;padding:8px 0;font-size:13px;font-weight:600;display:flex}.grade-sheet-print-guide{border-radius:var(--radius);background:var(--color-surface);max-width:560px;box-shadow:var(--shadow-sm);margin-top:12px;padding:18px 20px}.grade-sheet-print-guide h2{font-size:15px;font-weight:700}.grade-sheet-print-guide p{color:var(--color-text-muted);margin-top:10px;font-size:13px;line-height:1.6}.grade-sheet-print-guide-note{font-style:italic}.grade-sheet-print-guide-example{border:1px dashed var(--color-border);border-radius:var(--radius);flex-direction:column;gap:10px;margin-top:14px;padding:16px;display:flex}.grade-sheet-print-guide-name{color:var(--color-text);font-size:13px}.grade-sheet-print-guide-box{border:2px solid var(--color-text);width:160px;height:70px;color:var(--color-text-muted);border-radius:4px;justify-content:center;align-items:center;font-size:12px;display:flex}.grade-sheet-print-grid{flex-direction:column;align-items:center;gap:24px;margin-top:28px;display:flex}.grade-sheet-card{box-sizing:border-box;border:1px solid var(--color-border);color:#071528;break-after:page;background:#fff;flex-direction:column;gap:10mm;width:210mm;height:297mm;padding:14mm;display:flex;overflow:hidden}.grade-sheet-print-grid .grade-sheet-card:last-child{break-after:auto}.grade-sheet-card-topband{border-bottom:1.5pt solid #071528;flex-shrink:0;align-items:center;gap:10mm;padding-bottom:6mm;display:flex}.grade-sheet-card-left{flex-shrink:0;align-items:flex-start;gap:4mm;display:flex}.grade-sheet-card-qr-block{flex-direction:column;flex-shrink:0;align-items:center;gap:3mm;display:flex}.grade-sheet-card-student-name{text-align:center;word-break:break-word;max-width:40mm;font-size:3mm;font-weight:600}.grade-sheet-card-mark-box{border:1.5pt solid #000;border-radius:2mm;flex-shrink:0;justify-content:center;align-items:flex-start;padding-top:2mm;display:flex}.grade-sheet-card-mark-label{text-transform:uppercase;letter-spacing:.06em;color:#999;font-size:2.6mm;font-weight:700}.grade-sheet-card-middle{text-align:center;flex-direction:column;flex:1;gap:1.5mm;min-width:0;display:flex}.grade-sheet-card-class{text-transform:uppercase;letter-spacing:.04em;color:#555;font-size:3.4mm;font-weight:700}.grade-sheet-card-assessment{font-size:4mm;font-weight:700}.grade-sheet-card-bareme{color:#333;font-size:3.4mm;font-weight:600}.grade-sheet-card-right{flex-shrink:0;justify-content:flex-end;display:flex}.grade-sheet-card-logo{object-fit:contain;width:20mm;height:20mm}.grade-sheet-card-answer-area{background-image:repeating-linear-gradient(#0000,#0000 9.5mm,#ccc 9.5mm 9.8mm);flex:1;min-height:0}@media print{@page{size:A4;margin:0}.sidebar,.no-print{display:none!important}.dashboard-layout,.dashboard-layout-content{background:#fff!important;padding:0!important;display:block!important}.grade-sheet-print-grid{gap:0;margin-top:0}.grade-sheet-card{-webkit-print-color-adjust:exact;print-color-adjust:exact;border:none}}.choose-photo-source-hint{color:#f3efe3bf;margin-bottom:16px}.choose-photo-source-actions{grid-template-columns:1fr 1fr;gap:12px;display:grid}.choose-photo-source-button{border-radius:var(--radius);color:#f3efe3;cursor:pointer;transition:var(--transition-base);background:#ffffff0f;border:1px solid #d4af3766;flex-direction:column;align-items:center;gap:8px;padding:20px 12px;font-size:13px;font-weight:600;display:flex}.choose-photo-source-button:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:#d4af3726}.choose-photo-source-button:disabled{opacity:.6;cursor:not-allowed}@media (width<=420px){.choose-photo-source-actions{grid-template-columns:1fr}}.choose-photo-source-camera{flex-direction:column;gap:12px;display:flex}.choose-photo-source-video{aspect-ratio:4/3;border-radius:var(--radius);object-fit:cover;background:#000;width:100%}.choose-photo-source-camera-error{border-radius:var(--radius);color:#f3efe3;background:#dc262626;padding:16px;font-size:13px}.choose-photo-source-camera-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.choose-photo-source-capture-button{border-radius:var(--radius);background:var(--color-primary);color:#071528;cursor:pointer;transition:var(--transition-base);border:none;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:700;display:flex}.choose-photo-source-capture-button:hover:not(:disabled){background:var(--color-primary-hover)}.choose-photo-source-capture-button:disabled{opacity:.5;cursor:not-allowed}.choose-photo-source-cancel-button{border-radius:var(--radius);color:#f3efe3;cursor:pointer;transition:var(--transition-base);background:0 0;border:1px solid #d4af3766;padding:10px 16px;font-size:13px;font-weight:600}.choose-photo-source-cancel-button:hover{border-color:var(--color-primary);color:var(--color-primary)}.roster-page .ui-select{max-width:360px;margin-top:16px}.roster-page .admin-empty{align-items:center;gap:6px;margin-top:20px;display:flex}.roster-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;margin-top:20px;display:grid}.roster-card{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;display:flex}.roster-card-name{color:var(--color-text);font-size:13px;font-weight:700}.roster-card-meta{color:var(--color-text-muted);font-size:11px}.roster-photo-upload-label{border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);cursor:pointer;transition:var(--transition-base);align-items:center;gap:5px;margin-top:4px;padding:5px 10px;font-size:11px;font-weight:600;display:inline-flex}.roster-photo-upload-label:hover{background:color-mix(in srgb, var(--color-primary) 12%, transparent);color:var(--color-primary-hover)}.roster-finance-button{border:1px solid var(--color-primary);border-radius:var(--radius);color:var(--color-primary);cursor:pointer;transition:var(--transition-base);background:0 0;align-items:center;gap:5px;margin-top:4px;padding:5px 10px;font-size:11px;font-weight:600;display:inline-flex}.roster-finance-button:hover{background:color-mix(in srgb, var(--color-primary) 12%, transparent)}.roster-contact-parent-button{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;transition:var(--transition-base);border:none;align-items:center;gap:5px;margin-top:4px;padding:5px 10px;font-size:11px;font-weight:600;display:inline-flex}.roster-contact-parent-button:hover:not(:disabled){background:var(--color-primary-hover)}.roster-contact-parent-button:disabled{background:var(--color-bg);color:var(--color-text-muted);cursor:not-allowed}.roster-existing-chats{flex-direction:column;gap:4px;width:100%;margin-top:4px;display:flex}.roster-existing-chat-link{border:1px solid var(--color-primary);border-radius:var(--radius);color:var(--color-primary);cursor:pointer;transition:var(--transition-base);background:0 0;justify-content:center;align-items:center;gap:5px;padding:4px 8px;font-size:10px;font-weight:600;display:inline-flex}.roster-existing-chat-link:hover{background:color-mix(in srgb, var(--color-primary) 12%, transparent)}.tcs-subtitle{color:var(--color-text-muted);margin-top:8px}.tcs-empty{color:var(--color-text-muted);margin-top:20px}.tcs-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:24px;display:grid}.tcs-card{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:16px;display:flex}.tcs-card-info{flex-direction:column;align-items:center;gap:6px;display:flex}.tcs-card-name{color:var(--color-text);font-size:14px;font-weight:700}.tcs-card-actions{flex-direction:column;align-items:center;gap:6px;width:100%;display:flex}.tcs-card-link{color:var(--color-primary);align-items:center;gap:5px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.tcs-card-link:hover{text-decoration:underline}.tcs-card-contact-button{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;transition:var(--transition-base);border:none;align-items:center;gap:5px;padding:7px 14px;font-size:12px;font-weight:700;display:inline-flex}.tcs-card-contact-button:hover:not(:disabled){background:var(--color-primary-hover)}.tcs-card-contact-button:disabled{opacity:.6;cursor:not-allowed}.child-status-badge{border-radius:999px;align-items:center;width:fit-content;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.child-status-good{color:#16a34a;background:#22c55e26}.child-status-info{color:#2563eb;background:#3b82f626}.child-status-warning{color:#b45309;background:#f59e0b26}.child-status-bad{color:#dc2626;background:#dc262626}.child-status-neutral{background:var(--color-bg);color:var(--color-text-muted)}.directory-layout{grid-template-columns:320px 1fr;gap:16px;height:65vh;min-height:420px;margin-top:20px;display:grid}.directory-list-pane{background:var(--color-surface);border-radius:var(--radius);min-height:0;box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;padding:12px;display:flex;overflow-y:auto}.directory-role-filters{flex-wrap:wrap;gap:6px;display:flex}.directory-role-chip{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);cursor:pointer;transition:var(--transition-base);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600}.directory-role-chip:hover{border-color:var(--color-primary)}.directory-role-chip-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.directory-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.directory-list-item{border-radius:var(--radius);width:100%;color:var(--color-text);text-align:left;cursor:pointer;transition:var(--transition-base);background:0 0;border:none;align-items:center;gap:10px;padding:10px;display:flex}.directory-list-item:hover{background:var(--color-bg)}.directory-list-item-active{background:color-mix(in srgb, var(--color-primary) 12%, transparent)}.directory-list-item-text{flex-direction:column;min-width:0;display:flex}.directory-list-item-name{font-size:13px;font-weight:700}.directory-list-item-role{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.directory-detail-pane{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px;overflow-y:auto}.directory-detail-pane .admin-empty{margin:auto}.directory-back{border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);box-shadow:var(--shadow-sm);cursor:pointer;border:none;margin-bottom:12px;padding:6px 10px;display:none}.directory-detail-header{align-items:center;gap:14px;display:flex}.directory-detail-header h2{font-size:18px;font-weight:700}.directory-detail-role{color:var(--color-text-muted);align-items:center;gap:6px;margin-top:4px;font-size:13px;display:flex}.directory-detail-line{color:var(--color-text);align-items:center;gap:8px;margin-top:14px;font-size:13px;display:flex}.directory-detail-courses{border-top:1px dashed var(--color-border);margin-top:18px;padding-top:14px}.directory-detail-courses-title{color:var(--color-text);align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.directory-detail-courses-list{color:var(--color-text);flex-direction:column;gap:4px;margin:10px 0 0;padding-left:20px;font-size:13px;display:flex}.directory-detail-pane .admin-photo-upload-label{margin-top:18px}@media (width<=768px){.directory-layout{height:auto;min-height:0;display:block}.directory-list-pane{max-height:none}.directory-detail-pane{display:none}.directory-back{display:inline-flex}.directory-page-detail-open .directory-list-pane{display:none}.directory-page-detail-open .directory-detail-pane{z-index:26;padding:20px 20px calc(20px + env(safe-area-inset-bottom));padding-top:calc(20px + env(safe-area-inset-top));border-radius:0;display:block;position:fixed;inset:0}}.ui-image-picker{flex-direction:column;gap:6px;width:100%;display:flex}.ui-image-picker-label{color:var(--color-text-muted);padding-left:2px;font-size:12px;font-weight:600}.ui-image-picker-zone{border:2px dashed var(--color-border);border-radius:var(--radius);background:var(--color-bg);width:100%;min-height:120px;color:var(--color-text-muted);cursor:pointer;justify-content:center;align-items:center;transition:border-color .15s,background .15s;display:flex;position:relative;overflow:hidden}.ui-image-picker-zone:hover:not(:disabled){border-color:var(--color-primary)}.ui-image-picker-zone-dragover{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 8%, var(--color-bg))}.ui-image-picker-zone:disabled{cursor:not-allowed;opacity:.6}.ui-image-picker-empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:20px;font-size:13px;font-weight:500;display:flex}.ui-image-picker-preview{object-fit:cover;width:100%;height:140px;display:block}.ui-image-picker-overlay{color:#fff;opacity:0;background:#00000073;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:600;transition:opacity .15s;display:flex;position:absolute;inset:0}.ui-image-picker-zone:hover .ui-image-picker-overlay{opacity:1}.school-mgmt-page h1{font-size:24px;font-weight:600}.school-mgmt-subtitle{color:var(--color-text-muted);margin-top:8px}.school-mgmt-create-button{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;box-shadow:var(--shadow-sm);transition:var(--transition-base);border:none;align-items:center;gap:8px;margin-top:20px;padding:10px 20px;font-weight:600;display:flex}.school-mgmt-create-button:hover{background:var(--color-primary-hover)}.school-mgmt-form{background:var(--color-surface);border-radius:var(--radius);max-width:760px;box-shadow:var(--shadow-sm);margin-top:20px;padding:24px}.school-mgmt-form h2{margin-bottom:16px;font-size:18px;font-weight:600}.school-mgmt-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);align-items:center;gap:6px;margin:20px 0 12px;font-size:13px;font-weight:700;display:flex}.school-mgmt-field-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.school-mgmt-form-actions{gap:10px;margin-top:22px;display:flex}.school-mgmt-cancel{border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);cursor:pointer;background:0 0;padding:10px 20px;font-weight:600}.school-mgmt-submit{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;box-shadow:var(--shadow-sm);transition:var(--transition-base);border:none;padding:10px 24px;font-weight:600}.school-mgmt-submit:hover:not(:disabled){background:var(--color-primary-hover)}.school-mgmt-submit:disabled{opacity:.5;cursor:not-allowed}.school-mgmt-list-section{max-width:640px;margin-top:32px}.school-mgmt-list-section h2{margin-bottom:12px;font-size:18px;font-weight:600}.school-mgmt-empty{color:var(--color-text-muted)}.school-mgmt-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.school-mgmt-list-item{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:var(--transition-base);justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.school-mgmt-list-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.school-mgmt-list-item-title{font-weight:600;display:block}.school-mgmt-list-item-meta{color:var(--color-text-muted);font-size:13px;display:block}.school-mgmt-list-item-actions{flex-shrink:0;gap:6px;display:flex}.school-mgmt-list-item-actions button{border-radius:var(--radius);background:var(--color-bg);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;transition:var(--transition-base);border:none;justify-content:center;align-items:center;display:flex}.school-mgmt-list-item-actions button:hover{background:var(--color-primary);color:var(--color-on-primary)}.school-mgmt-list-item-locked{color:#dc2626!important;background:#fee2e2!important}.school-mgmt-list-item-locked:hover{color:#fff!important;background:#dc2626!important}.trash-page h1{font-size:24px;font-weight:600}.trash-subtitle{max-width:640px;color:var(--color-text-muted);margin-top:8px}.trash-tabs{gap:8px;margin-top:20px;display:flex}.trash-tab{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;transition:var(--transition-base);align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;display:flex}.trash-tab-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.trash-list{flex-direction:column;gap:8px;max-width:700px;margin-top:20px;padding:0;list-style:none;display:flex}.trash-empty{color:var(--color-text-muted)}.trash-item{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.trash-item-title{font-weight:600;display:block}.trash-item-meta{color:var(--color-text-muted);font-size:13px;display:block}.trash-item-actions{flex-shrink:0;gap:8px;display:flex}.trash-item-actions button{border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);cursor:pointer;transition:var(--transition-base);border:none;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:600;display:flex}.trash-item-actions button:hover:not(:disabled){background:var(--color-primary);color:var(--color-on-primary)}.trash-item-actions button:disabled{opacity:.5;cursor:not-allowed}.trash-item-danger:hover:not(:disabled){color:#fff!important;background:#dc2626!important}.student-transfer-page h1{font-size:24px;font-weight:600}.student-transfer-subtitle{max-width:640px;color:var(--color-text-muted);margin-top:8px}.student-transfer-search{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);max-width:420px;color:var(--color-text-muted);align-items:center;gap:8px;margin-top:20px;padding:10px 14px;display:flex}.student-transfer-search input{color:var(--color-text);background:0 0;border:none;flex:1;font-size:14px}.student-transfer-search input:focus{outline:none}.student-transfer-list{flex-direction:column;gap:6px;max-width:420px;max-height:360px;margin-top:12px;padding:0;list-style:none;display:flex;overflow-y:auto}.student-transfer-empty{color:var(--color-text-muted)}.student-transfer-list button{border-radius:var(--radius);background:var(--color-surface);width:100%;color:var(--color-text);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);border:none;align-items:center;gap:10px;padding:10px 14px;display:flex}.student-transfer-list button:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.student-transfer-list-name{text-align:left;font-weight:600;display:block}.student-transfer-list-meta{color:var(--color-text-muted);text-align:left;font-size:12px;display:block}.student-transfer-form{background:var(--color-surface);border-radius:var(--radius);max-width:420px;box-shadow:var(--shadow-sm);flex-direction:column;gap:16px;margin-top:20px;padding:22px;display:flex}.student-transfer-selected{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:10px;padding-bottom:14px;display:flex}.student-transfer-selected-name{font-size:16px;font-weight:700;display:block}.student-transfer-selected-meta{color:var(--color-text-muted);font-size:13px;display:block}.student-transfer-selected button{border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);cursor:pointer;background:0 0;flex-shrink:0;padding:6px 12px;font-size:12px;font-weight:600}.student-transfer-field{flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.student-transfer-submit{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;box-shadow:var(--shadow-sm);transition:var(--transition-base);border:none;justify-content:center;align-items:center;gap:8px;padding:12px;font-weight:600;display:flex}.student-transfer-submit:hover:not(:disabled){background:var(--color-primary-hover)}.student-transfer-submit:disabled{opacity:.5;cursor:not-allowed}.platform-ann-page h1{font-size:24px;font-weight:600}.platform-ann-subtitle{color:var(--color-text-muted);margin-top:8px}.platform-ann-form{background:var(--color-surface);border-radius:var(--radius);max-width:520px;box-shadow:var(--shadow-sm);flex-direction:column;gap:14px;margin-top:20px;padding:20px;display:flex}.platform-ann-field{flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.platform-ann-field input,.platform-ann-field textarea{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);resize:vertical;padding:10px 12px;font-family:inherit}.platform-ann-field input:focus,.platform-ann-field textarea:focus{outline:2px solid var(--color-primary);outline-offset:1px}.platform-ann-file-picker{border:1px solid var(--color-primary);border-radius:var(--radius);color:var(--color-primary);cursor:pointer;transition:var(--transition-base);align-self:flex-start;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:600;display:flex}.platform-ann-file-picker:hover{background:var(--color-primary);color:var(--color-on-primary)}.platform-ann-file-count{color:var(--color-text-muted);font-size:12px}.platform-ann-submit{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);border:none;align-self:flex-start;align-items:center;gap:8px;padding:10px 24px;font-weight:600;display:flex}.platform-ann-submit:hover:not(:disabled){background:var(--color-primary-hover)}.platform-ann-submit:disabled{opacity:.5;cursor:not-allowed}.platform-ann-list-section{max-width:640px;margin-top:32px}.platform-ann-list-section h2{margin-bottom:12px;font-size:18px;font-weight:600}.platform-ann-empty{color:var(--color-text-muted)}.platform-ann-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.platform-ann-item{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);padding:14px 16px}.platform-ann-item-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.platform-ann-item-title{font-weight:600}.platform-ann-item-header button{border-radius:var(--radius);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;transition:var(--transition-base);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.platform-ann-item-header button:hover:not(:disabled){color:#dc2626;background:#dc262626}.platform-ann-item-body{color:var(--color-text);white-space:pre-wrap;margin:8px 0;font-size:14px}.platform-ann-item-meta{color:var(--color-text-muted);font-size:12px}.platform-inbox-page h1{font-size:24px;font-weight:600}.platform-inbox-subtitle{color:var(--color-text-muted);margin-top:8px}.platform-inbox-empty{color:var(--color-text-muted);margin-top:20px}.platform-inbox-list{flex-direction:column;gap:12px;max-width:640px;margin-top:20px;padding:0;list-style:none;display:flex}.platform-inbox-item{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);padding:16px}.platform-inbox-item-title{font-size:15px;font-weight:700}.platform-inbox-item-body{color:var(--color-text);white-space:pre-wrap;margin:8px 0 0;font-size:14px}.platform-inbox-attachments{flex-direction:column;gap:4px;margin:10px 0 0;padding:0;list-style:none;display:flex}.platform-inbox-attachments a{color:var(--color-primary);align-items:center;gap:6px;font-size:13px;display:inline-flex}.platform-inbox-attachments a:hover{text-decoration:underline}.school-dir-page h1{font-size:24px;font-weight:600}.school-dir-subtitle{color:var(--color-text-muted);margin-top:8px}.school-dir-search{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);max-width:420px;color:var(--color-text-muted);align-items:center;gap:8px;margin-top:20px;padding:10px 14px;display:flex}.school-dir-search input{color:var(--color-text);background:0 0;border:none;flex:1;font-size:14px}.school-dir-search input:focus{outline:none}.school-dir-empty{color:var(--color-text-muted);margin-top:20px}.school-dir-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin-top:20px;display:grid}.school-dir-card{border-radius:var(--radius);background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);text-align:center;border:none;flex-direction:column;align-items:center;gap:8px;padding:24px 16px;display:flex}.school-dir-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.school-dir-card-name{color:var(--color-text);font-size:14px;font-weight:700}.school-dir-card-meta{color:var(--color-text-muted);font-size:12px}.school-profile-header{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);color:var(--color-primary);flex-wrap:wrap;align-items:flex-start;gap:14px;padding:20px;display:flex}.school-profile-header h1{color:var(--color-text);font-size:22px;font-weight:700}.school-profile-slogan{color:var(--color-text-muted);margin-top:2px;font-size:14px;font-style:italic}.school-profile-meta{color:var(--color-text-muted);margin-top:6px;font-size:13px}.school-profile-contact{color:var(--color-text-muted);flex-wrap:wrap;gap:14px;margin-top:10px;font-size:12px;display:flex}.school-profile-contact span{align-items:center;gap:5px;display:flex}.school-profile-official-btn{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;box-shadow:var(--shadow-sm);transition:var(--transition-base);border:none;flex-shrink:0;align-items:center;gap:8px;margin-left:auto;padding:10px 16px;font-size:13px;font-weight:600;display:flex}.school-profile-official-btn:hover{background:var(--color-primary-hover)}.school-profile-section{margin-top:28px}.school-profile-section h2{margin-bottom:12px;font-size:16px;font-weight:600}.school-profile-empty{color:var(--color-text-muted)}.school-profile-row{gap:16px;padding-bottom:8px;display:flex;overflow-x:auto}.school-profile-invite-btn{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;transition:var(--transition-base);border:none;align-items:center;gap:8px;margin-top:14px;padding:10px 16px;font-size:13px;font-weight:600;display:flex}.school-profile-invite-btn:hover:not(:disabled){background:var(--color-primary-hover)}.school-profile-invite-btn:disabled{opacity:.5;cursor:not-allowed}.school-profile-invite-status{color:var(--color-text-muted);margin-top:14px;font-size:12px;font-weight:600;display:inline-block}.invitations-page h1{font-size:24px;font-weight:600}.invitations-subtitle{max-width:560px;color:var(--color-text-muted);margin-top:8px}.invitations-section{max-width:560px;margin-top:28px}.invitations-section h2{margin-bottom:10px;font-size:16px;font-weight:600}.invitations-empty{color:var(--color-text-muted);font-size:14px}.invitations-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.invitations-item{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.invitations-item-name{align-items:center;gap:6px;font-weight:600;display:flex}.invitations-item-meta{color:var(--color-text-muted);font-size:12px;display:block}.invitations-item-actions{flex-shrink:0;gap:8px;display:flex}.invitations-item-actions button{border-radius:var(--radius);cursor:pointer;transition:var(--transition-base);border:none;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:700;display:flex}.invitations-accept,.invitations-chat{background:var(--color-primary);color:var(--color-on-primary)}.invitations-accept:hover:not(:disabled),.invitations-chat:hover{background:var(--color-primary-hover)}.invitations-decline{background:var(--color-bg);color:var(--color-text-muted)}.invitations-decline:hover:not(:disabled){color:#dc2626;background:#dc262626}.invitations-item-actions button:disabled{opacity:.5;cursor:not-allowed}.official-msg-page h1{font-size:24px;font-weight:600}.official-msg-subtitle{color:var(--color-text-muted);margin-top:8px}.official-msg-layout{grid-template-columns:280px 1fr;gap:16px;height:60vh;min-height:420px;margin-top:20px;display:grid}.official-msg-list-pane{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:8px;overflow-y:auto}.official-msg-empty{color:var(--color-text-muted);padding:16px;font-size:13px}.official-msg-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.official-msg-list-item{border-radius:var(--radius);width:100%;color:var(--color-text);text-align:left;cursor:pointer;transition:var(--transition-base);background:0 0;border:none;align-items:center;gap:10px;padding:10px;display:flex}.official-msg-list-item:hover{background:var(--color-bg)}.official-msg-list-item-active{background:color-mix(in srgb, var(--color-primary) 12%, transparent)}.official-msg-list-item-name{font-size:13px;font-weight:600;display:block}.official-msg-list-item-preview{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:190px;font-size:12px;display:block;overflow:hidden}.official-msg-thread-pane{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;display:flex;overflow:hidden}.official-msg-thread-header{border-bottom:1px solid var(--color-border);align-items:center;gap:8px;padding:14px 16px;font-weight:700;display:flex}.official-msg-back{box-shadow:var(--shadow-sm);border-radius:var(--radius);color:var(--color-text);cursor:pointer;background:0 0;padding:6px 10px;display:none}.official-msg-thread-body{flex-direction:column;flex:1;gap:10px;padding:16px;display:flex;overflow-y:auto}.official-msg-placeholder{color:var(--color-text-muted);text-align:center;margin:auto;padding:20px}.official-msg-bubble{border-radius:var(--radius);background:var(--color-bg);align-self:flex-start;max-width:70%;padding:10px 14px}.official-msg-bubble-own{background:color-mix(in srgb, var(--color-primary) 15%, transparent);align-self:flex-end}.official-msg-bubble-school{text-transform:uppercase;letter-spacing:.03em;color:var(--color-primary);font-size:11px;font-weight:700;display:block}.official-msg-bubble-text{color:var(--color-text);white-space:pre-wrap;margin:4px 0 0;font-size:14px}.official-msg-bubble-author{color:var(--color-text-muted);margin-top:4px;font-size:11px;display:block}.official-msg-composer{border-top:1px solid var(--color-border);gap:8px;padding:12px 16px;display:flex}.official-msg-composer input{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:999px;flex:1;padding:10px 14px}.official-msg-composer button{background:var(--color-primary);width:40px;height:40px;color:var(--color-on-primary);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.official-msg-composer button:hover:not(:disabled){background:var(--color-primary-hover)}.official-msg-composer button:disabled{opacity:.5;cursor:not-allowed}@media (width<=768px){.official-msg-layout{height:auto;min-height:0;display:block}.official-msg-list-pane{max-height:none}.official-msg-thread-pane{display:none}.official-msg-back{display:inline-flex}.official-msg-page-detail-open .official-msg-list-pane{display:none}.official-msg-page-detail-open .official-msg-thread-pane{z-index:26;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);border-radius:0;display:flex;position:fixed;inset:0}}.help-center-page{max-width:760px}.help-center-subtitle{color:var(--color-text-muted);margin-top:8px;margin-bottom:16px}.help-center-empty{color:var(--color-text-muted);margin-top:16px}.help-center-replay-onboarding{border-radius:var(--radius);border:1px solid var(--color-primary);color:var(--color-primary);cursor:pointer;transition:var(--transition-base);background:0 0;align-items:center;gap:8px;margin-bottom:12px;padding:8px 14px;font-size:13px;font-weight:600;display:flex}.help-center-replay-onboarding:hover{background:#d4af3726}.help-center-index{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin:20px 0;padding:16px;display:grid}.help-center-index-section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:6px;font-size:11px;font-weight:700;display:block}.help-center-index ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.help-center-index-link{width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;text-decoration:none;display:block}.help-center-index-link:hover{color:var(--color-primary)}.help-center-section{margin-top:28px}.help-center-section h2{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:10px;font-size:15px;font-weight:700}.help-center-topic{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);margin-bottom:8px;padding:4px 16px}.help-center-topic summary{cursor:pointer;align-items:center;gap:10px;padding:12px 0;font-weight:600;list-style:none;display:flex}.help-center-topic summary::-webkit-details-marker{display:none}.help-center-topic summary svg{color:var(--color-primary);flex-shrink:0}.help-center-topic p,.help-center-topic-list{color:var(--color-text-muted);padding-bottom:14px;font-size:14px;line-height:1.5}.help-center-topic-list{flex-direction:column;gap:6px;margin:0;padding-bottom:14px;padding-left:20px;display:flex}.account-guide-page{max-width:760px}.account-guide-intro{color:var(--color-text-muted);margin-top:8px;margin-bottom:24px;line-height:1.5}.account-guide-empty{color:var(--color-text-muted);margin-top:16px}.account-guide-section{margin-bottom:28px}.account-guide-section h2{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:10px;font-size:15px;font-weight:700}.account-guide-steps{counter-reset:account-guide-step;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.account-guide-step{counter-increment:account-guide-step;border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex;position:relative}.account-guide-step:before{content:counter(account-guide-step);background:var(--color-primary);width:22px;height:22px;color:var(--color-on-primary);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex;position:absolute;top:-8px;left:-8px}.account-guide-step-text h3{margin:0 0 4px;font-size:14.5px;font-weight:600}.account-guide-step-text p{color:var(--color-text-muted);margin:0;font-size:13.5px;line-height:1.5}.account-guide-step-link{border-radius:var(--radius);border:1px solid var(--color-primary);color:var(--color-primary);white-space:nowrap;transition:var(--transition-base);flex-shrink:0;align-items:center;gap:6px;padding:8px 12px;font-size:12.5px;font-weight:600;text-decoration:none;display:inline-flex}.account-guide-step-link:hover{background:#d4af3726}@media (width<=640px){.account-guide-step{flex-direction:column;align-items:flex-start}.account-guide-step-link{align-self:flex-start}}.blocked-users-page h1{font-size:24px;font-weight:600}.blocked-users-subtitle{color:var(--color-text-muted);margin-top:8px}.blocked-users-empty{color:var(--color-text-muted);margin-top:20px}.blocked-users-list{flex-direction:column;gap:8px;max-width:480px;margin:20px 0 0;padding:0;list-style:none;display:flex}.blocked-users-item{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.blocked-users-item-name{font-weight:600}.blocked-users-item button{border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);cursor:pointer;transition:var(--transition-base);border:none;flex-shrink:0;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:600;display:flex}.blocked-users-item button:hover:not(:disabled){background:var(--color-primary);color:var(--color-on-primary)}.blocked-users-item button:disabled{opacity:.5;cursor:not-allowed}.promoteur-contact-button{border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;box-shadow:var(--shadow-sm);transition:var(--transition-base);border:none;align-items:center;gap:8px;margin-top:14px;padding:10px 18px;font-size:13px;font-weight:600;display:inline-flex}.promoteur-contact-button:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.promoteur-log-list{flex-direction:column;gap:4px;margin:20px 0 0;padding:0;list-style:none;display:flex}.promoteur-log-item{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);align-items:flex-start;gap:12px;padding:12px;display:flex}.promoteur-log-item-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.promoteur-log-item-header{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.promoteur-log-item-name{font-size:13px;font-weight:700}.promoteur-log-item-role{color:var(--color-text-muted);font-size:11px}.promoteur-log-item-action{color:var(--color-text);overflow-wrap:anywhere;font-size:13px}.promoteur-log-item-action-badge{background:color-mix(in srgb, var(--color-primary) 14%, transparent);color:var(--color-primary-hover);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.promoteur-log-item-detail{color:var(--color-text-muted)}.promoteur-log-item-when{color:var(--color-text-muted);font-size:11px}.promoteur-month-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:12px;display:grid}.promoteur-month-card{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;padding:16px;display:flex}.promoteur-month-card-title{text-transform:capitalize;font-size:14px;font-weight:700}.promoteur-month-card-row{color:var(--color-text-muted);justify-content:space-between;align-items:baseline;gap:8px;font-size:12px;display:flex}.promoteur-month-card-row strong{color:var(--color-text);text-align:right;font-weight:600}.promoteur-month-card-link{color:var(--color-primary-hover);align-items:center;gap:6px;margin-top:4px;font-size:12px;font-weight:700;display:inline-flex}.promoteur-month-card-link:hover{text-decoration:underline}.promoteur-parent-summary{border-radius:var(--radius);background:var(--color-bg);flex-wrap:wrap;gap:20px;margin-top:16px;padding:14px;display:flex}.promoteur-parent-summary-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:4px;font-size:11px;font-weight:700;display:block}.promoteur-parent-summary-due{color:#dc2626}.promoteur-children-list{flex-direction:column;gap:8px;margin:10px 0 0;padding:0;list-style:none;display:flex}.promoteur-children-list-item{border-radius:var(--radius);background:var(--color-bg);align-items:center;gap:10px;padding:8px;display:flex}.promoteur-children-list-item-body{flex-direction:column;gap:2px;min-width:0;display:flex}.promoteur-children-list-item-name{font-size:13px;font-weight:700}.promoteur-children-list-item-amounts{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:4px;font-size:12px;display:flex}@media (width<=600px){.promoteur-month-grid{grid-template-columns:1fr}.promoteur-parent-summary{flex-direction:column;gap:10px}}.parent-resets-request-list{flex-direction:column;gap:8px;margin:16px 0 0;padding:0;list-style:none;display:flex}.parent-resets-request-item{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);padding:12px}.parent-resets-request-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.parent-resets-request-name{font-size:13px;font-weight:700}.parent-resets-status{border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.parent-resets-status-pending{color:#d97706;background:#d9770624}.parent-resets-status-approved{color:#059669;background:#05966924}.parent-resets-status-denied{color:#dc2626;background:#dc262624}.parent-resets-code-row{border-radius:var(--radius);background:var(--color-bg);flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;padding:10px 12px;display:flex}.parent-resets-code{letter-spacing:.08em;color:var(--color-primary-hover);font-family:JetBrains Mono,ui-monospace,monospace;font-size:18px;font-weight:700}.parent-resets-code-clear{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;font-size:12px;font-weight:600;text-decoration:underline}.parent-resets-code-clear:hover{color:var(--color-text)}.parent-resets-code-cleared{color:var(--color-text-muted);margin-top:8px;font-size:12px;display:block}
