@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap";@import"https://fonts.googleapis.com/css2?family=Manrope:wght@700;800&display=swap";@import"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap";:root{--primary: #2563EB;--primary-dark: #1D4ED8;--primary-light: #60A5FA;--secondary: #0ea5e9;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--dark: #1e293b;--dark-light: #334155;--light: #f8fafc;--gray: #64748b;--gray-light: #e2e8f0;--shadow-sm: 0 1px 2px rgb(15 23 42 / .05), 0 2px 6px rgb(15 23 42 / .04);--shadow: 0 2px 4px rgb(15 23 42 / .05), 0 8px 18px rgb(15 23 42 / .07);--shadow-lg: 0 4px 8px rgb(15 23 42 / .06), 0 16px 32px -8px rgb(15 23 42 / .12);--card-shadow-base: inset 0 1px 0 rgb(255 255 255 / .88), 0 1px 2px rgb(15 23 42 / .05), 0 4px 10px rgb(15 23 42 / .06), 0 14px 28px -10px rgb(15 23 42 / .14);--card-shadow-hover: inset 0 1px 0 rgb(255 255 255 / .95), 0 2px 6px rgb(15 23 42 / .06), 0 10px 24px rgb(15 23 42 / .09), 0 22px 44px -14px rgb(15 23 42 / .18);--elev-popover: inset 0 1px 0 rgb(255 255 255 / .92), 0 2px 4px rgb(15 23 42 / .04), 0 10px 28px rgb(15 23 42 / .1), 0 22px 48px -16px rgb(15 23 42 / .14);--elev-modal: inset 0 1px 0 rgb(255 255 255 / .96), 0 6px 12px rgb(15 23 42 / .07), 0 20px 44px rgb(15 23 42 / .12), 0 36px 72px -24px rgb(15 23 42 / .22);--elev-header: 0 1px 2px rgb(15 23 42 / .04), 0 6px 16px rgb(15 23 42 / .06);--radius: 8px;--radius-lg: 12px;--app-sidebar-width: 292px;--app-sidebar-rail-width: 96px;--app-topbar-height: 56px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:#fbfbfc;min-height:100vh;color:var(--dark);line-height:1.6}.container{max-width:1400px;margin:0 auto;padding:0 1rem;width:100%}@media(max-width:768px){.container{padding:0 .5rem}}.card{position:relative;background:linear-gradient(165deg,#fff,#fafbfc);border-radius:var(--radius-lg);box-shadow:var(--card-shadow-base);padding:1.5rem;margin-bottom:1.5rem;border:1px solid rgb(226 232 240 / .95);transition:box-shadow .28s ease,transform .22s ease,border-color .22s ease}.card:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-2px);border-color:#cbd5e1f2}@media(prefers-reduced-motion:reduce){.card{transition:box-shadow .2s ease,border-color .2s ease}.card:hover{transform:none}}.surface-raised{position:relative;background:linear-gradient(165deg,#fff,#fafbfc);border:1px solid rgb(226 232 240 / .95);border-radius:var(--radius-lg);box-shadow:var(--card-shadow-base);transition:box-shadow .28s ease,transform .22s ease,border-color .22s ease}.surface-raised:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-1px);border-color:#cbd5e1f2}@media(prefers-reduced-motion:reduce){.surface-raised{transition:box-shadow .2s ease,border-color .2s ease}.surface-raised:hover{transform:none}}@media(max-width:768px){.card{padding:1rem;margin-bottom:1rem;border-radius:var(--radius)}}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--gray-light);flex-wrap:wrap;gap:.5rem}.card-title{font-size:1.25rem;font-weight:600;color:var(--dark)}@media(max-width:768px){.card-title{font-size:1.1rem}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border-radius:var(--radius);border:none;cursor:pointer;transition:all .2s ease}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:#1d4ed8}.btn-success{background:var(--success);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-warning{background:#f59e0b;color:#fff}.btn-warning:hover{background:#d97706}.btn-warning:disabled{opacity:.6;cursor:not-allowed}.btn-light-danger,.btn-filter-clear{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;box-shadow:0 1px 2px #0000000d}.btn-light-danger:hover,.btn-filter-clear:hover{background:#fee2e2;color:#991b1b;border-color:#fca5a5;box-shadow:0 1px 3px #00000012}.btn-light-danger:active,.btn-filter-clear:active{background:#fecaca;color:#7f1d1d;border-color:#f87171;transform:translateY(0);box-shadow:inset 0 1px 2px #0000000f}.alert{padding:1rem 1.25rem;border-radius:var(--radius-lg);margin-bottom:1.5rem;display:flex;align-items:center;gap:.85rem;font-size:.9rem;font-weight:500;border:1px solid transparent;line-height:1.5;box-shadow:0 2px 4px #00000005;animation:alertSlideIn .3s ease-out}.alert-icon{font-size:1.25rem;flex-shrink:0;display:flex;align-items:center}.alert-success{background:#f0fdf4;color:#166534;border-color:#bbf7d0}.alert-danger{background:#fef2f2;color:#991b1b;border-color:#fecaca}.alert-warning{background:#fffbeb;color:#92400e;border-color:#fef3c7}.alert-info{background:#eff6ff;color:#1e40af;border-color:#bfdbfe}@keyframes alertSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.btn-secondary{background:var(--gray-light);color:var(--dark)}.btn-sm{padding:.375rem .75rem;font-size:.75rem}.btn-icon{width:32px;height:32px;padding:0;border-radius:50%}.settings-card-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-radius:1.25rem 1.25rem 0 0;background:#fff;border-bottom:1px solid #f1f5f9}.settings-card-header-left{display:flex;align-items:center;gap:.75rem}.settings-card-icon{width:40px;height:40px;border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);font-size:1.25rem}.settings-card-title{margin:0;font-size:1.05rem;font-weight:600;color:var(--dark)}.settings-card-subtitle{margin:.1rem 0 0;font-size:.8rem;color:var(--gray)}.settings-days-card{padding:0;border-radius:1.5rem;border-color:transparent;box-shadow:var(--card-shadow-base);overflow:hidden}.settings-days-card .table-container{padding:.5rem 1.5rem 1.25rem}.settings-add-btn{display:inline-flex;align-items:center;gap:.35rem;background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;border-radius:999px;padding:.5rem 1.1rem;font-weight:600;font-size:.75rem;transition:all .2s ease}.settings-add-btn:hover{background:#e2e8f0;color:#1e293b;transform:translateY(-1px)}.settings-add-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;background:#ffffffe6;font-size:.95rem}.settings-days-table tbody tr{transition:background-color .15s ease}.settings-days-table tbody tr:hover{background:#f1f5f9}.settings-days-table thead th{background:#fcfcfd;color:#64748b;font-size:.75rem;letter-spacing:.03em;text-transform:none;font-weight:600;border-bottom:1px solid #f1f5f9;position:static;padding:1rem}.settings-days-table thead tr{background:#fff}.day-badge{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .75rem;border-radius:6px;background:#f8fafc;color:#64748b;border:1px solid #e2e8f0;font-size:.75rem;font-weight:600}.day-toggle{position:relative;width:38px;height:20px;border-radius:999px;border:none;padding:0;background:#e5e7eb;cursor:pointer;display:inline-flex;align-items:center;box-shadow:inset 0 0 0 1px #0f172a0f;transition:background .2s ease,box-shadow .2s ease}.day-toggle-knob{width:16px;height:16px;border-radius:999px;background:#fff;box-shadow:0 2px 4px #0f172a33;transform:translate(2px);transition:transform .2s ease}.day-toggle-on{background:var(--primary)}.day-toggle-on .day-toggle-knob{transform:translate(20px)}.day-actions{display:flex;align-items:center;justify-content:center;gap:.35rem;flex-wrap:nowrap}.day-action-edit{background:#f8fafc;color:var(--primary);border:1px solid #e2e8f0}.day-action-delete{background:#fef2f2;color:#ef4444;border:1px solid #fecaca}.day-action-edit:hover{background:#eff6ff;border-color:var(--primary)}.day-action-delete:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.form-group{margin-bottom:1rem}.form-label{display:block;margin-bottom:.375rem;font-size:.875rem;font-weight:500;color:var(--dark-light)}.form-control{width:100%;padding:.625rem 1rem;font-size:.875rem;border:1px solid var(--gray-light);border-radius:var(--radius);background:#fff;transition:border-color .2s,box-shadow .2s}.table-container{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--gray-light);-webkit-overflow-scrolling:touch}@media(max-width:768px){.table-container{margin:0 -.5rem;border-radius:0;border-left:none;border-right:none;box-shadow:inset -10px 0 10px -10px #0000001a}}table{width:100%;border-collapse:collapse;font-size:.875rem}th,td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--gray-light);white-space:nowrap}th{background:#f8fafc;color:#64748b;font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;position:sticky;top:0}.pdf-result-thead tr{background:var(--primary)}.pdf-result-thead th{background:var(--primary);color:#fff;padding:.6rem .75rem;font-size:.78rem;white-space:nowrap;position:static}tr:hover{background:var(--light)}tr:last-child td{border-bottom:none}.app-sidebar-desktop,.app-topbar-desktop{display:none}@media(min-width:901px){html[data-sidebar-collapsed=true]{--app-sidebar-width: var(--app-sidebar-rail-width)}.app-sidebar-desktop{display:flex;flex-direction:column;position:fixed;left:0;top:0;width:var(--app-sidebar-width);height:100vh;z-index:1000;background:#fff;border-right:1px solid var(--gray-light);overflow-y:auto;overflow-x:hidden;box-shadow:6px 0 28px -14px #0f172a1a,1px 0 0 var(--gray-light);transition:width .22s ease}html[data-sidebar-collapsed=true] .app-sidebar-desktop{overflow-x:visible}.app-sidebar-brand{display:flex;flex-direction:column;align-items:stretch;gap:.65rem;padding:.65rem .9rem 1rem;border-bottom:1px solid var(--gray-light);flex-shrink:0}.app-sidebar-brand-toolbar{display:flex;justify-content:flex-end;width:100%}html[data-sidebar-collapsed=true] .app-sidebar-brand{align-items:center;gap:.5rem;padding:.55rem .45rem .75rem}html[data-sidebar-collapsed=true] .app-sidebar-brand-toolbar{justify-content:center}.app-sidebar-collapse-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--gray-light);border-radius:var(--radius);background:#f8fafc;color:#475569;cursor:pointer;flex-shrink:0;transition:background .15s ease,color .15s ease,border-color .15s ease}.app-sidebar-collapse-toggle:hover{background:#eff6ff;color:var(--primary);border-color:#2563eb59}.app-sidebar-logo-link{display:flex;flex-direction:row;align-items:center;gap:.85rem;min-width:0;width:100%;text-decoration:none;color:inherit;border-radius:var(--radius);padding:.4rem .35rem;transition:background .15s ease}.app-sidebar-logo-link:hover{background:#f1f5f9d9}html[data-sidebar-collapsed=true] .app-sidebar-logo-link{flex-direction:column;justify-content:center;gap:.45rem;padding:.15rem 0 0}.app-sidebar-logo-img{display:block;flex-shrink:0;height:56px;width:auto;max-width:min(120px,42%);object-fit:contain}html[data-sidebar-collapsed=true] .app-sidebar-logo-img{height:44px;max-width:72px}.app-sidebar-brand-text{display:flex;flex-direction:column;gap:.2rem;min-width:0;flex:1}html[data-sidebar-collapsed=true] .app-sidebar-brand-text{align-items:center;text-align:center;width:100%}.app-sidebar-brand-name{display:block;font-size:.98rem;font-weight:800;color:#0f172a;line-height:1.28;letter-spacing:-.025em}html[data-sidebar-collapsed=true] .app-sidebar-brand-name{font-size:.65rem;line-height:1.22;letter-spacing:0;text-align:center;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;padding:0 .1rem}@media(min-width:901px)and (max-width:1100px){html:not([data-sidebar-collapsed=true]) .app-sidebar-brand-name{font-size:.88rem}.app-sidebar-logo-img{height:50px;max-width:100px}}.app-sidebar-nav{padding:.65rem .6rem 1.5rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.sidebar-nav-section{display:flex;flex-direction:column;gap:.2rem}.sidebar-nav-section-label{display:flex;align-items:center;gap:.45rem;width:100%;margin:0;padding:.45rem .5rem .35rem;border:none;background:transparent;cursor:pointer;text-align:left;font:inherit;font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8;border-radius:var(--radius);transition:background .15s ease,color .15s ease}.sidebar-nav-section-label:hover{background:#f8fafc;color:#64748b}.sidebar-nav-section-label-text{flex:1;min-width:0}.sidebar-nav-section-chevron{flex-shrink:0;color:#94a3b8;transition:transform .2s ease}.sidebar-nav-section--open .sidebar-nav-section-chevron{transform:rotate(180deg)}.sidebar-nav-section-ico{display:flex;font-size:1rem;opacity:.88;color:#64748b}.sidebar-nav-section:not(.sidebar-nav-section--open) .sidebar-nav-section-links{display:none}.sidebar-nav-section-links{display:flex;flex-direction:column;gap:.15rem}html[data-sidebar-collapsed=true] .sidebar-nav-section-label-text,html[data-sidebar-collapsed=true] .sidebar-nav-section-chevron{display:none!important}html[data-sidebar-collapsed=true] .sidebar-nav-section-label{justify-content:center;padding:.5rem .35rem}html[data-sidebar-collapsed=true] .sidebar-nav-link--dashboard .sidebar-nav-link-label{display:none!important}html[data-sidebar-collapsed=true] .sidebar-nav-link--dashboard{justify-content:center}html[data-sidebar-collapsed=true] .sidebar-nav-close-groups{display:none!important}html[data-sidebar-collapsed=true] .sidebar-nav-divider{margin:.25rem .35rem}html[data-sidebar-collapsed=true] .app-sidebar-desktop .sidebar-nav-section{position:relative}html[data-sidebar-collapsed=true] .app-sidebar-desktop .sidebar-nav-section--open .sidebar-nav-section-links{display:flex!important;flex-direction:column;position:absolute;left:calc(100% + 8px);top:0;min-width:220px;max-width:min(300px,calc(100vw - 96px));padding:.45rem;background:#fff;border:1px solid var(--gray-light);border-radius:var(--radius);box-shadow:var(--elev-popover);z-index:1100;gap:.15rem}html[data-sidebar-collapsed=true] .sidebar-nav-section-links .sidebar-nav-link{justify-content:flex-start;white-space:nowrap}.sidebar-nav-link{display:flex;align-items:center;gap:.5rem;padding:.45rem .65rem;border-radius:var(--radius);color:#475569;text-decoration:none;font-size:.84rem;font-weight:500;transition:background .15s ease,color .15s ease}.sidebar-nav-link:hover{background:#f1f5f9;color:var(--primary)}.sidebar-nav-link.active{background:#eff6ff;color:var(--primary);font-weight:600}.sidebar-nav-link .sidebar-nav-ico{display:flex;flex-shrink:0;font-size:1.05rem;opacity:.92}.sidebar-nav-link--dashboard{font-weight:600;margin-bottom:.15rem}.sidebar-nav-divider{height:1px;background:var(--gray-light);margin:.35rem .25rem .5rem}.sidebar-nav-close-groups{margin-top:auto;padding:.5rem .65rem;align-self:stretch;border:1px dashed var(--gray-light);border-radius:var(--radius);background:#fafbfc;color:#64748b;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease}.sidebar-nav-close-groups:hover{background:#f1f5f9;color:var(--primary)}.app-topbar-desktop{display:flex;align-items:center;justify-content:flex-end;position:fixed;left:var(--app-sidebar-width);top:0;right:0;height:var(--app-topbar-height);z-index:999;background:#fffffff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.06);padding:0 1.25rem;box-sizing:border-box;transition:left .22s ease;box-shadow:var(--elev-header)}.app-topbar-fill{flex:1;min-width:0}main.app-shell-main{margin-left:var(--app-sidebar-width);padding-top:var(--app-topbar-height);min-height:100vh;box-sizing:border-box;transition:margin-left .22s ease}.navbar.navbar-mobile{display:none!important}}@media(max-width:900px){main.app-shell-main{margin-left:0!important;padding-top:0!important}.app-sidebar-desktop,.app-topbar-desktop{display:none!important}}.nav-mobile-root-link{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1.25rem;border-radius:var(--radius);color:#1e293b;text-decoration:none;font-size:.95rem;font-weight:600;transition:background .15s ease,color .15s ease}.nav-mobile-root-link:hover,.nav-mobile-root-link.active{background:#3b82f61a;color:#2563eb}.navbar{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.75rem 1rem;box-shadow:var(--elev-header);border-bottom:1px solid rgba(0,0,0,.05);position:sticky;top:0;z-index:1000}.navbar-container{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.navbar-brand{font-size:1.25rem;font-weight:700;color:#1e293b;text-decoration:none;display:flex;align-items:center;gap:.5rem;z-index:1001}.navbar-brand .brand-text{background:var(--primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hamburger-btn{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.5rem;z-index:1001}.hamburger-line{width:24px;height:2px;background:#1e293b;border-radius:2px;transition:all .3s cubic-bezier(.4,0,.2,1)}.hamburger-btn.open .hamburger-line:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger-btn.open .hamburger-line:nth-child(2){opacity:0;transform:translate(10px)}.hamburger-btn.open .hamburger-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.navbar-menu{display:flex;align-items:center;flex:1;margin-left:2rem}.nav-list{display:flex;gap:.25rem;list-style:none;margin:0;padding:0;flex-wrap:wrap}.nav-link{color:#64748b;text-decoration:none;padding:.5rem .75rem;border-radius:var(--radius);font-size:.85rem;font-weight:500;transition:all .2s;display:flex;align-items:center;gap:.25rem}.settings-times-card{box-shadow:0 22px 44px -12px #0f172a0f}.settings-card-header-times{background:#fff}.nav-link:hover,.nav-link.active{color:#3b82f6;background:#3b82f61a}.nav-icon{font-size:1rem}.nav-divider{display:flex;align-items:center;padding:0 .5rem}.nav-divider:before{content:"";width:1px;height:20px;background:#0000001a}.user-menu-desktop{display:flex;align-items:center;gap:.75rem}.user-dropdown-wrapper{position:relative;cursor:pointer}.user-dropdown-trigger{display:flex;align-items:center;gap:.65rem;padding:.35rem .6rem .35rem .4rem;border-radius:10px;border:1px solid var(--gray-light);background:#fff;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;max-width:min(300px,42vw)}.user-dropdown-avatar{width:36px;height:36px;border-radius:10px;background:linear-gradient(145deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0;box-shadow:0 1px 2px #2563eb40}.user-dropdown-text{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;gap:.05rem;text-align:left}.user-dropdown-name{font-size:.875rem;font-weight:600;color:#0f172a;line-height:1.25;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown-role{font-size:.7rem;font-weight:500;color:#64748b;letter-spacing:.02em}.user-dropdown-chevron{flex-shrink:0;color:#94a3b8;transition:color .2s ease,transform .2s ease}.user-dropdown-wrapper:hover .user-dropdown-trigger,.user-dropdown-wrapper:focus-within .user-dropdown-trigger{border-color:#bfdbfe;background:#eff6ff;box-shadow:var(--shadow-sm)}.user-dropdown-wrapper:hover .user-dropdown-chevron,.user-dropdown-wrapper:focus-within .user-dropdown-chevron{color:var(--primary)}.user-dropdown-wrapper:focus-within .user-dropdown-chevron{transform:rotate(180deg)}.user-dropdown-trigger:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.user-dropdown-menu{position:absolute;top:100%;right:0;min-width:220px;background:#fff;border:1px solid var(--gray-light);border-radius:var(--radius-lg);box-shadow:var(--elev-popover);padding:.5rem 0;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .2s cubic-bezier(.16,1,.3,1);z-index:2000;margin-top:.35rem}.user-dropdown-wrapper:hover .user-dropdown-menu,.user-dropdown-wrapper:focus-within .user-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.user-dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:var(--dark-light);text-decoration:none;font-size:.875rem;font-weight:500;border:none;background:none;width:100%;text-align:left;cursor:pointer;transition:all .2s}.user-dropdown-item:hover{background:var(--light);color:var(--primary)}.user-dropdown-item:first-child{border-radius:var(--radius) var(--radius) 0 0}.user-dropdown-item:last-child{border-radius:0 0 var(--radius) var(--radius)}.user-dropdown-item.logout{color:var(--danger);border-top:1px solid var(--border)}.user-dropdown-item.logout:hover{background:#ef44441a}.btn-logout{background:#ef444433;color:#fca5a5;border:1px solid rgba(239,68,68,.3);padding:.4rem .75rem;border-radius:var(--radius);font-size:.8rem;cursor:pointer;transition:all .2s}.btn-logout:hover{background:var(--danger);color:#fff}.nav-user-mobile,.menu-overlay{display:none}@media(max-width:900px){.hamburger-btn{display:flex;order:-1;z-index:1005}.navbar-brand{order:0;margin:0 auto}.user-menu-desktop{order:1}.navbar-menu{position:fixed;top:0;left:-100%;width:300px;height:100vh;background:#fff;flex-direction:column;align-items:flex-start;padding:1rem 1.5rem 2rem;margin-left:0;transition:all .4s cubic-bezier(.16,1,.3,1);box-shadow:12px 0 36px -10px #0f172a24,4px 0 16px #0f172a0f;overflow-y:auto;z-index:1002;display:flex;visibility:hidden}.navbar-menu.open{left:0;visibility:visible;z-index:1010}.navbar-menu-drawer-header{display:flex;align-items:center;justify-content:space-between;width:100%;flex-shrink:0;padding-bottom:.75rem;margin-bottom:.65rem;border-bottom:1px solid var(--gray-light)}.navbar-menu-drawer-title{font-size:1rem;font-weight:700;color:#1e293b}.navbar-menu-close-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid #cbd5e1;border-radius:var(--radius);background:#fff;color:#0f172a;cursor:pointer;flex-shrink:0;box-shadow:0 1px 2px #0f172a0f;transition:background .15s ease,color .15s ease,border-color .15s ease}.navbar-menu-close-btn:hover{background:#f1f5f9;color:var(--primary);border-color:var(--primary)}.nav-list{flex-direction:column;width:100%;gap:.25rem}.nav-link{width:100%;padding:.75rem 1rem;font-size:.95rem;border-radius:var(--radius);color:#64748b}.nav-link:hover,.nav-link.active{background:#3b82f61a;color:#3b82f6}.nav-icon{font-size:1.1rem;min-width:28px}.nav-divider{width:100%;height:1px;margin:.75rem 0}.user-menu-desktop{display:none}.nav-user-mobile{display:flex;flex-direction:column;gap:1.25rem;width:100%;margin-top:auto;padding:2rem 1.5rem;border-top:1px solid #f1f5f9;background:#fcfcfd}.user-profile-summary{display:flex;align-items:center;gap:1rem}.user-avatar-circle{width:44px;height:44px;background:#3b82f6;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;box-shadow:0 4px 12px #3b82f633}.user-details{display:flex;flex-direction:column}.nav-user-mobile .user-name{color:#1e293b;font-size:.95rem;font-weight:600}.user-role{font-size:.75rem;color:#64748b}.mobile-logout-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;background:#fef2f2;color:#ef4444;border:1px solid #fee2e2;border-radius:10px;font-weight:600;font-size:.9rem;transition:all .2s}.mobile-logout-btn:hover{background:#ef4444;color:#fff}.menu-overlay{display:block;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:1008}}.page-header{padding:2rem 0}.page-title{font-size:1.75rem;font-weight:700;color:var(--dark);margin-bottom:.5rem}.page-subtitle{color:var(--gray);font-size:.95rem}.grid{display:grid;gap:1.5rem}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.alert{padding:1rem;border-radius:var(--radius);margin-bottom:1rem;font-size:.875rem}.alert-success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.alert-danger{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.alert-warning{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.schedule-grid-container{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -.5rem;padding:0 .5rem}@media(max-width:768px){.schedule-grid-container{margin:0 -1rem;padding:0 1rem}}.schedule-grid{display:grid;grid-template-columns:80px repeat(5,minmax(80px,1fr));gap:1px;background:#e2e8f0;border-radius:var(--radius-lg);overflow:hidden;min-width:500px;border:1px solid #e2e8f0}.schedule-header{background:#f8fafc;color:#475569;padding:.75rem;text-align:center;font-weight:600;font-size:.85rem}.schedule-slot{background:#fff;padding:.5rem;min-height:70px;display:flex;align-items:center;justify-content:center;font-size:.75rem;text-align:center;cursor:pointer;transition:all .2s}.schedule-slot:hover{background:#f1f5f9}.schedule-slot.has-event{background:#eff6ff;color:#1e3a8a;border-left:3px solid #2563eb}.schedule-slot.locked{background:#eff6ff;color:#1e3a8a;border-left:3px solid #64748b}.schedule-time{background:#f8fafc;color:#475569;font-size:.75rem;cursor:default}.schedule-time:hover{background:#f8fafc!important;box-shadow:none!important}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:#fff;border-radius:var(--radius-lg);border:1px solid rgb(226 232 240 / .95);box-shadow:var(--elev-modal);width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-lg{max-width:700px}.modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--gray-light);display:flex;justify-content:space-between;align-items:center}.modal-title{font-size:1.125rem;font-weight:600}.modal-body{padding:1.5rem}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--gray-light);display:flex;justify-content:flex-end;gap:.75rem}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.gap-1{gap:.5rem}.gap-2{gap:1rem}.spinner{width:40px;height:40px;border:3px solid var(--gray-light);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.badge{display:inline-flex;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:500;border-radius:9999px}.badge-primary{background:#f1f5f9;color:var(--primary-dark);border:1px solid #e2e8f0}.badge-success{background:#d1fae5;color:#065f46}.badge-warning{background:#fef3c7;color:#92400e}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:#2563eb}.login-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:2.5rem;width:100%;max-width:420px}.login-card h1{font-size:1.75rem;font-weight:700;color:var(--dark);margin-bottom:1.5rem;text-align:center}.login-card .form-group{margin-bottom:1.25rem}.login-card label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--dark-light)}.login-card input{width:100%;padding:.75rem 1rem;border:1px solid var(--gray-light);border-radius:var(--radius);font-size:1rem;transition:border-color .2s,box-shadow .2s}.login-card input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f}.login-card .btn-primary{width:100%;padding:.875rem;font-size:1rem;margin-top:.5rem}.login-card .btn-primary:disabled{opacity:.7;cursor:not-allowed}.error-message{background:#fee2e2;color:#991b1b;padding:.75rem 1rem;border-radius:var(--radius);margin-bottom:1rem;font-size:.875rem}.register-link{text-align:center;margin-top:1.5rem;color:var(--gray);font-size:.875rem}.register-link a{color:var(--primary);text-decoration:none;font-weight:500}.register-link a:hover{text-decoration:underline}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.page-container{padding:1.5rem}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.page-header h1{font-size:1.5rem;font-weight:700;color:var(--dark)}.data-table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius);overflow:hidden}.data-table th,.data-table td{padding:.875rem 1rem;text-align:left;border-bottom:1px solid var(--gray-light)}.data-table th{background:var(--dark);color:#fff;font-weight:600;font-size:.8rem;text-transform:uppercase}.data-table td{font-size:.875rem}.data-table tr:hover{background:#f1f5f9}.btn-small{padding:.375rem .75rem;font-size:.75rem;border-radius:var(--radius);border:none;cursor:pointer;margin-right:.5rem;transition:all .2s}.btn-small.btn-secondary{background:var(--gray-light);color:var(--dark)}.btn-small.btn-danger{background:var(--danger);color:#fff}.btn-small:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.modal-content{background:linear-gradient(165deg,#fff,#fafbfc);border-radius:var(--radius-lg);border:1px solid rgb(226 232 240 / .95);box-shadow:var(--elev-modal);padding:1.5rem;max-width:500px;width:90%;max-height:80vh;overflow-y:auto}.modal-content h2{font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;color:var(--dark)}.modal-large{max-width:700px}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--gray-light)}.role-list,.permission-list{display:flex;flex-direction:column;gap:.5rem}.role-item,.permission-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--light);border-radius:var(--radius)}.role-item label,.permission-item{cursor:pointer;flex:1}.permission-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}.permission-name{font-weight:500;color:var(--dark)}.permission-desc{font-size:.75rem;color:var(--gray);margin-left:auto}.permission-groups{display:flex;flex-direction:column;gap:1.5rem}.permission-group h3{font-size:1rem;font-weight:600;color:var(--primary);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:2px solid var(--primary-light)}.loading{display:flex;align-items:center;justify-content:center;min-height:200px;font-size:1rem;color:var(--gray)}.badge+.badge{margin-left:.25rem}.user-menu{display:flex;align-items:center;gap:1rem}.user-name{color:#fffc;font-size:.875rem}.btn-logout{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);padding:.5rem 1rem;border-radius:var(--radius);font-size:.875rem;cursor:pointer;transition:all .2s}.btn-logout:hover{background:#fff3}.nav-divider{color:#ffffff4d;padding:0 .5rem}.login-card textarea,.modal-content textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--gray-light);border-radius:var(--radius);font-size:.875rem;font-family:inherit;resize:vertical}.login-card textarea:focus,.modal-content textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f}.modal-content select{width:100%;padding:.75rem 1rem;border:1px solid var(--gray-light);border-radius:var(--radius);font-size:.875rem;background:#fff;cursor:pointer}.modal-content select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f}.modal-content select:disabled{background:var(--gray-light);cursor:not-allowed}.school-banner{display:flex;align-items:center;gap:1.5rem;padding:1.5rem 2rem;background:var(--primary);border-radius:var(--radius-lg);margin-bottom:1.5rem;color:#fff}.school-icon{font-size:3rem}.school-info h2{font-size:1.5rem;font-weight:700;margin:0}.school-info p{margin:0;opacity:.9;font-size:.9rem}.school-select{margin-left:auto;padding:.5rem 1rem;border-radius:var(--radius);border:1px solid rgba(255,255,255,.3);background:#ffffff1a;color:#fff;font-size:.875rem;cursor:pointer}.school-select option{color:var(--dark)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.stat-card{background:#fff;border-radius:var(--radius-lg);padding:1.5rem;text-align:center;box-shadow:var(--shadow);cursor:pointer;transition:all .2s;border:2px solid transparent}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--primary)}.stat-icon{font-size:2.5rem;margin-bottom:.75rem}.stat-value{font-size:2rem;font-weight:700;color:var(--dark)}.stat-label{font-size:.875rem;color:var(--gray);margin-top:.25rem}.quick-actions{display:flex;flex-wrap:wrap;gap:.75rem}.quick-action-btn{padding:.75rem 1.25rem;border:1px solid var(--gray-light);border-radius:var(--radius);background:#fff;font-size:.9rem;cursor:pointer;transition:all .2s}.quick-action-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-2px)}@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.school-banner{flex-direction:column;text-align:center}.school-select{margin-left:0;margin-top:1rem;width:100%}}.toast-container{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9999;display:flex;flex-direction:column;gap:.75rem;max-width:400px}.toast{display:flex;align-items:center;gap:.85rem;padding:.875rem 1.25rem;border-radius:var(--radius-lg);background:#fff;box-shadow:0 12px 30px #0000001f;animation:toastSlideIn .3s cubic-bezier(.16,1,.3,1);border:1px solid rgba(0,0,0,.05);position:relative;overflow:hidden}.toast:after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px}.toast-error{background:snow;border-color:#fecaca}.toast-error:after{background:#ef4444}.toast-error .toast-icon{color:#dc2626}.toast-error .toast-message{color:#991b1b}.toast-warning{background:#fffdf5;border-color:#fef3c7}.toast-warning:after{background:#f59e0b}.toast-warning .toast-icon{color:#d97706}.toast-warning .toast-message{color:#92400e}.toast-success{background:#f9fffb;border-color:#bbf7d0}.toast-success:after{background:#10b981}.toast-success .toast-icon{color:#059669}.toast-success .toast-message{color:#166534}.toast-info{background:#f8fbff;border-color:#bfdbfe}.toast-info:after{background:#3b82f6}.toast-info .toast-icon{color:#2563eb}.toast-info .toast-message{color:#1e40af}.toast-icon{font-size:1.15rem;display:flex;align-items:center}@keyframes toastSlideIn{0%{transform:translate(30px);opacity:0}to{transform:translate(0);opacity:1}}.toast-icon{font-size:1.25rem}.toast-message{flex:1;font-size:.9rem;color:var(--dark);line-height:1.4}.toast-close{background:none;border:none;font-size:1.5rem;color:var(--gray);cursor:pointer;padding:0;line-height:1;opacity:.6;transition:opacity .2s}.toast-close:hover{opacity:1}.btn-group{display:flex;gap:.375rem}.btn-group .btn{padding:.375rem .625rem}.form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f}select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}select.form-control:disabled{background-color:#f1f5f9;cursor:not-allowed;opacity:.7}textarea.form-control{resize:vertical;min-height:80px}.modal-overlay{animation:fadeIn .2s ease-out}.modal{animation:slideUp .3s ease-out}.confirm-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}.confirm-dialog{background:linear-gradient(165deg,#fff,#fafbfc);border-radius:var(--radius-lg);border:1px solid rgb(226 232 240 / .95);box-shadow:var(--elev-modal);max-width:400px;width:90%;padding:1.5rem;animation:slideUp .3s ease-out}.confirm-dialog-icon{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-size:1.5rem}.confirm-dialog-icon.danger{background:#2563eb;color:var(--danger)}.confirm-dialog-icon.warning{background:#2563eb;color:var(--warning)}.confirm-dialog-icon.info{background:#2563eb;color:var(--secondary)}.confirm-dialog-title{font-size:1.25rem;font-weight:600;color:var(--dark);text-align:center;margin-bottom:.5rem}.confirm-dialog-message{color:var(--gray);text-align:center;margin-bottom:1.5rem;line-height:1.5}.confirm-dialog-actions{display:flex;gap:.75rem;justify-content:center}.confirm-dialog-actions .btn{min-width:100px}@media(max-width:1024px){.container{padding:0 1rem}.page-header{flex-direction:column;gap:1rem;align-items:flex-start}.card{padding:1rem}.card-header{flex-direction:column;gap:.75rem;align-items:flex-start}table{font-size:.8rem}th,td{padding:.5rem .75rem}.modal-content{max-width:95%!important;margin:1rem;padding:1rem}}@media(max-width:768px){body{font-size:14px}.container{padding:0 .75rem}.page-header h1{font-size:1.5rem}.page-header p{font-size:.85rem}.btn{padding:.5rem 1rem;font-size:.8rem}.btn-sm{padding:.25rem .5rem;font-size:.7rem}.btn-icon{width:28px;height:28px}.card{padding:.75rem;margin-bottom:1rem}.card-title{font-size:1rem}.table-container{margin:0 -.75rem;border-radius:0;border-left:none;border-right:none}table{min-width:600px}th,td{padding:.5rem;white-space:nowrap}.form-control{padding:.5rem .75rem;font-size:16px}.form-group{margin-bottom:.75rem}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr!important}.modal-overlay{padding:0}.modal-content{max-width:100%!important;max-height:100vh;border-radius:0;margin:0}.badge{font-size:.65rem;padding:.2rem .4rem}.navbar{padding:.5rem .75rem}.navbar-menu{flex-wrap:wrap;gap:.25rem}.navbar-menu a{padding:.4rem .6rem;font-size:.75rem}.schedule-grid{font-size:.7rem}.schedule-cell{padding:.25rem;min-height:40px}.confirm-dialog{width:95%;padding:1rem}.confirm-dialog-icon{width:50px;height:50px;font-size:1.25rem}.confirm-dialog-title{font-size:1.1rem}.confirm-dialog-actions{flex-direction:column}.confirm-dialog-actions .btn{width:100%}}@media(max-width:480px){.page-header h1{font-size:1.25rem}.card-header{padding-bottom:.5rem;margin-bottom:.5rem}th,td{font-size:.7rem;padding:.4rem}.btn{padding:.4rem .75rem}}.hide-mobile{display:block}.show-mobile{display:none}@media(max-width:768px){.hide-mobile{display:none!important}.show-mobile{display:block!important}}input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer}input[type=time]::-webkit-datetime-edit-ampm-field{display:none!important}.module-badges{display:flex;flex-wrap:wrap;gap:.25rem}.badge-info{background:#dbeafe;color:#1e40af;font-size:.7rem}.text-muted{color:var(--gray)}.module-selection-list{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}@media(max-width:768px){.module-selection-list{grid-template-columns:repeat(2,1fr)}}.btn-info{background:var(--secondary);color:#fff}.nav-dropdown{position:relative}.nav-dropdown-toggle{color:#64748b;text-decoration:none;padding:.5rem .75rem;border-radius:var(--radius);font-size:.85rem;font-weight:500;transition:all .2s;display:flex;align-items:center;gap:.25rem;cursor:pointer;background:none;border:none}.nav-dropdown-toggle:hover,.nav-dropdown.open .nav-dropdown-toggle{color:#3b82f6;background:#3b82f61a}.nav-dropdown-arrow{font-size:.6rem;transition:transform .2s}.nav-dropdown.open .nav-dropdown-arrow{transform:rotate(180deg)}.nav-dropdown-menu{position:absolute;top:100%;left:0;min-width:180px;background:#fff;border-radius:var(--radius);border:1px solid rgb(226 232 240 / .95);box-shadow:var(--elev-popover);padding:.5rem;margin-top:.25rem;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .2s;z-index:1000}.nav-dropdown.open .nav-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.nav-dropdown-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;color:var(--dark);text-decoration:none;font-size:.85rem;border-radius:calc(var(--radius) - 2px);transition:all .15s}.nav-dropdown-item:hover{background:var(--light);color:var(--primary)}.nav-dropdown-item.active{background:#f1f5f9;color:var(--primary)}@media(max-width:900px){.nav-dropdown-menu{position:static;box-shadow:none;background:transparent;margin:.25rem 0;padding:.25rem;opacity:1;visibility:visible;transform:none;display:none}.nav-dropdown.open .nav-dropdown-menu{display:block}.nav-dropdown-item{color:#64748b;padding:.65rem 1rem .65rem 2.75rem;font-size:.9rem;font-weight:500}.nav-dropdown-item:hover,.nav-dropdown-item.active{background:#3b82f60d;color:#3b82f6}.nav-dropdown-toggle{width:100%;justify-content:space-between;padding:.75rem 1.25rem;font-size:.95rem;color:#1e293b}.nav-dropdown-menu{border-left:2px solid #f1f5f9;margin-left:1.5rem}}.expiry-warning-container{position:fixed;bottom:20px;right:20px;z-index:9999}.expiry-warning-toast{background:#2563eb;border:2px solid #f59e0b;border-radius:var(--radius-lg);padding:1rem 1.25rem;box-shadow:var(--shadow-lg);max-width:320px;position:relative;animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.expiry-warning-close{position:absolute;top:8px;right:8px;background:none;border:none;font-size:1.25rem;color:#92400e;cursor:pointer;line-height:1}.expiry-warning-icon{font-size:1.5rem;margin-bottom:.5rem}.expiry-warning-title{font-weight:600;color:#92400e;margin-bottom:.25rem}.expiry-warning-message{font-size:.9rem;color:#78350f}.expiry-warning-days{color:#dc2626;font-weight:600}.expiry-warning-counter{margin-top:.5rem;font-size:.75rem;color:#92400e;text-align:right}.row-expiring{background:#fef2f2!important}.row-expiring:hover{background:#fee2e2!important}.text-danger{color:#dc2626!important;font-weight:600}.badge-success{background:#dcfce7;color:#166534}.badge-danger{background:#fee2e2;color:#991b1b}@media(max-width:768px){.page-container{padding:.75rem}.page-header{flex-direction:column;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.page-header h1,.page-header .page-title{font-size:1.25rem}.page-header>div,.page-header-actions,.header-actions{display:flex;flex-wrap:wrap;gap:.5rem;width:100%}.page-header .btn,.page-header button{flex:1 1 auto;min-width:120px;justify-content:center;font-size:.8rem;padding:.5rem .75rem}}@media(max-width:768px){.filter-bar,.search-bar,.filters-row,.filter-row,.controls-row{flex-direction:column!important;gap:.6rem!important}.filter-bar input,.search-bar input,.filters-row input,.filter-row input,.controls-row input,.filter-bar select,.filters-row select,.filter-row select,.controls-row select{width:100%!important;min-width:0!important}}@media(max-width:600px){.form-row,.form-grid-2,.form-grid-3{grid-template-columns:1fr!important}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr 1fr}.stat-card{padding:1rem}.stat-value{font-size:1.5rem}.stat-icon{font-size:1.75rem;margin-bottom:.5rem}}@media(max-width:768px){.table-container,.teachers-table-container,.classes-table-container,[class*=-table-container]{overflow-x:auto!important;-webkit-overflow-scrolling:touch;border-radius:0;margin-left:-.75rem;margin-right:-.75rem}table th,table td{font-size:.8rem;padding:.6rem .75rem}.teacher-table-actions,.class-table-actions,[class*=-table-actions]{gap:.25rem!important;flex-wrap:wrap}.teacher-table-actions button,.class-table-actions button,[class*=-table-actions] button{font-size:.7rem!important;padding:.3rem .5rem!important}}@media(max-width:600px){.modal-overlay{padding:.5rem;align-items:flex-end}.modal{width:100%!important;max-width:100%!important;border-radius:20px 20px 0 0!important;max-height:92vh;overflow-y:auto}.modal-lg,.modal-large,.modal-xl{max-width:100%!important}.modal-header,.modal-body{padding:1rem 1.25rem}.modal-footer{padding:.75rem 1.25rem;flex-direction:column-reverse;gap:.5rem}.modal-footer .btn,.modal-footer button,.modal-actions .btn,.modal-actions button{width:100%;justify-content:center}}@media(max-width:900px){.nav-dropdown{width:100%}.nav-dropdown-toggle{width:100%;justify-content:flex-start}.nav-dropdown-menu{position:static!important;box-shadow:none!important;border:none!important;padding-left:1.5rem;background:transparent!important;display:none}.nav-dropdown.open .nav-dropdown-menu{display:flex;flex-direction:column}.nav-dropdown-item{font-size:.875rem;padding:.5rem .75rem}}@media(max-width:640px){.pagination,[class*=pagination]{flex-wrap:wrap;justify-content:center;gap:.25rem}.pagination button,[class*=pagination] button{min-width:32px;height:32px;font-size:.8rem;padding:0 .4rem}}@media(max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr!important}.quick-action-btn{flex:1 1 calc(50% - .375rem);text-align:center;font-size:.8rem;padding:.6rem .75rem}}@media(max-width:640px){.toast-container{bottom:.75rem;right:.75rem;left:.75rem;max-width:none}.toast{font-size:.85rem}}@media(max-width:640px){.school-banner{padding:1rem;gap:.75rem}.school-info h2{font-size:1.1rem}}@media(max-width:480px){.confirm-dialog{width:92%;padding:1.25rem}.confirm-actions{flex-direction:column;gap:.5rem}.confirm-actions button{width:100%}}.action-btn{width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid transparent;background:transparent;cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease;box-shadow:none}.action-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.action-btn.edit,.action-btn.view,.action-btn.subjects,.action-btn.bulk,.action-btn.availability,.action-btn.invite{color:#64748b;background:transparent;border-color:transparent}.action-btn.edit:hover,.action-btn.view:hover,.action-btn.subjects:hover,.action-btn.bulk:hover,.action-btn.availability:hover,.action-btn.invite:hover{color:var(--primary, #2563eb);background:transparent;border-color:transparent;box-shadow:none}.action-btn.delete{color:#94a3b8;background:transparent;border-color:transparent}.action-btn.delete:hover{color:#dc2626;background:transparent;border-color:transparent;box-shadow:none}.action-btn.warning{color:#94a3b8;background:transparent;border-color:transparent}.action-btn.warning:hover{color:#f59e0b;background:transparent;border-color:transparent;box-shadow:none}.action-btn.warning:disabled{opacity:.5;cursor:not-allowed}.page-filter-bar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:flex-start;gap:1rem 1.25rem;padding:1rem 1.25rem;margin-bottom:1.5rem;background:#fff;border:1px solid var(--gray-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.page-filter-bar--split{justify-content:flex-start;align-items:flex-end}.page-filter-bar__main{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem 1.25rem;flex:1 1 auto;min-width:0;justify-content:flex-start}.page-filter-group{display:flex;flex-direction:column;gap:.35rem;min-width:140px;flex:0 1 auto}.page-filter-group--grow{flex:1 1 220px;min-width:180px;max-width:100%}.page-filter-group--grow:has(.page-filter-search){flex:0 1 28rem;max-width:28rem;min-width:140px}.page-filter-label{font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--gray)}.page-filter-search{display:flex;align-items:center;gap:.5rem;width:100%;max-width:28rem;min-height:2.75rem;box-sizing:border-box;background:#fff;border-radius:var(--radius);padding:.5rem 1rem;box-shadow:var(--shadow-sm);border:1px solid var(--gray-light)}.page-filter-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f}.page-filter-search-icon{color:#9ca3af;flex-shrink:0;font-size:1.05rem}.page-filter-search-input{flex:1 1 auto;min-width:0;border:none;outline:none;background:transparent;padding:.125rem 0;font-size:.875rem;line-height:1.5;color:var(--dark)}.page-filter-search-input::placeholder{color:#9ca3af}.page-filter-group .page-filter-search input.page-filter-search-input,.page-filter-group .page-filter-search input[type=text],.page-filter-group .page-filter-search input[type=search]{min-height:0}.page-filter-group .form-control,.page-filter-group select:not(.ss-select-custom),.page-filter-group input[type=text]:not(.page-filter-search-input),.page-filter-group input[type=search]:not(.page-filter-search-input),.page-filter-group input[type=date],.page-filter-group input[type=number]{min-height:2.5rem;font-size:.875rem}.page-filter-actions{display:flex;flex-wrap:wrap;gap:.35rem .5rem;align-items:center;align-content:flex-end}.page-filter-bar .page-filter-actions:before,.attendance-search-row .page-filter-actions:before{content:"";flex:0 0 100%;width:100%;height:.85rem;order:-1}@media(min-width:769px){.page-filter-bar{flex-wrap:nowrap;overflow-x:auto}}.page-filter-bar .page-filter-actions .btn.btn-sm.btn-light-danger,.attendance-search-row .page-filter-actions .btn.btn-sm.btn-light-danger,.page-filter-bar .page-filter-actions .btn.btn-sm.btn-primary{min-height:2.75rem;padding:.5rem .9rem}.page-filter-meta{font-size:.875rem;color:var(--gray);margin-left:auto;align-self:center;white-space:nowrap;flex-shrink:0}@media(max-width:768px){.page-filter-bar{padding:.875rem 1rem;gap:.75rem;flex-wrap:wrap;overflow-x:visible}.page-filter-bar--split{flex-direction:column;align-items:stretch}.page-filter-bar__main{width:100%}.page-filter-group,.page-filter-group--grow{min-width:100%;flex:1 1 100%}.page-filter-group--grow:has(.page-filter-search){max-width:100%;min-width:100%;flex:1 1 100%}.page-filter-meta{margin-left:0;width:100%;text-align:left}}@media print{.app-sidebar-desktop,.app-topbar-desktop,.navbar.navbar-mobile,.menu-overlay{display:none!important}main.app-shell-main{margin:0!important;padding-top:0!important}}.support-modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:flex-start;justify-content:center;padding:60px 20px 20px;overflow-y:auto}.support-modal{background:var(--bg-primary, #fff);border-radius:16px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;border:1px solid rgb(226 232 240 / .95);box-shadow:var(--elev-modal);animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.support-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color, #e5e7eb)}.support-modal-header h2{margin:0;font-size:1.2rem;font-weight:600;color:var(--text-primary, #111827)}.support-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary, #6b7280);padding:4px 8px;border-radius:6px;transition:all .2s}.support-modal-close:hover{background:var(--bg-hover, #f3f4f6);color:var(--text-primary, #111827)}.support-modal-body{padding:24px}.support-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;padding:16px;background:var(--bg-secondary, #f9fafb);border-radius:10px;border:1px solid var(--border-color, #e5e7eb)}.support-info-item label{display:block;font-size:.75rem;font-weight:600;color:var(--text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.support-info-item span{font-size:.875rem;color:var(--text-primary, #111827);font-weight:500}.support-modal-body .form-group{margin-bottom:16px}.support-modal-body .form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary, #111827);margin-bottom:6px}.support-modal-body .required{color:#ef4444}.support-modal-body .form-control{width:100%;padding:10px 12px;border:1px solid var(--border-color, #d1d5db);border-radius:8px;font-size:.875rem;transition:border-color .2s,box-shadow .2s;background:var(--bg-primary, #fff);color:var(--text-primary, #111827);box-sizing:border-box}.support-modal-body .form-control:focus{outline:none;border-color:#2563eb;box-shadow:0 1px 3px #0000001a}.support-modal-body .form-control.error{border-color:#ef4444}.support-modal-body textarea.form-control{resize:vertical;min-height:100px}.support-modal-body .file-input{padding:8px}.support-modal-body .file-hint{display:block;font-size:.75rem;color:var(--text-secondary, #9ca3af);margin-top:4px}.support-modal-body .error-text{display:block;font-size:.75rem;color:#ef4444;margin-top:4px}.support-modal-body .error-banner{padding:10px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.875rem;margin-top:8px}.support-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--border-color, #e5e7eb)}.success-body{text-align:center;padding:40px 24px}.success-icon{width:64px;height:64px;background:#2563eb;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;margin:0 auto 16px;animation:successPop .4s ease}@keyframes successPop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.success-body h3{margin:0 0 8px;color:var(--text-primary, #111827)}.success-body p{color:var(--text-secondary, #6b7280);margin:0}@media(max-width:576px){.support-modal{max-width:100%;max-height:100vh;border-radius:0}.support-info-grid{grid-template-columns:1fr}.support-modal-footer{flex-direction:column-reverse}.support-modal-footer .btn{width:100%;justify-content:center}}.school-select-modal{display:flex;flex-direction:column;gap:1.25rem;padding:.25rem .25rem .5rem}.school-select-modal__hero{display:flex;align-items:center;gap:1rem;padding:1rem 1.15rem;background:linear-gradient(135deg,#2563eb14,#0ea5e914);border:1px solid var(--gray-light);border-radius:var(--radius-lg)}.school-select-modal__hero-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;flex-shrink:0;border-radius:var(--radius-lg);background:var(--primary);color:#fff;font-size:1.6rem;box-shadow:var(--shadow-sm)}.school-select-modal__hero-text{display:flex;flex-direction:column;gap:.25rem;min-width:0}.school-select-modal__hero-title{margin:0;font-size:1.05rem;font-weight:700;color:var(--dark);line-height:1.3}.school-select-modal__hero-subtitle{margin:0;font-size:.85rem;color:var(--gray);line-height:1.45}.school-select-modal__field{display:flex;flex-direction:column;gap:.5rem}.school-select-modal__label{font-size:.85rem;font-weight:600;color:var(--dark);letter-spacing:.01em}.school-select-modal__select{width:100%;padding:.75rem 2.25rem .75rem .9rem;font-size:.95rem;color:var(--dark);background-color:#fff;border:1.5px solid var(--gray-light);border-radius:var(--radius);outline:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%2364748b'%3e%3cpath fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.06l3.71-3.83a.75.75 0 111.08 1.04l-4.25 4.39a.75.75 0 01-1.08 0L5.21 8.27a.75.75 0 01.02-1.06z' clip-rule='evenodd'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:1.1rem;transition:border-color .15s ease,box-shadow .15s ease;cursor:pointer}.school-select-modal__select:hover{border-color:var(--primary-light)}.school-select-modal__select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb26}.school-select-modal__hint{display:flex;gap:.55rem;padding:.75rem .9rem;font-size:.8rem;color:var(--gray);line-height:1.5;background:#f8fafc;border:1px dashed var(--gray-light);border-radius:var(--radius)}.school-select-modal__hint strong{color:var(--dark);font-weight:600}.school-select-modal__hint:before{content:"ℹ";flex-shrink:0;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--secondary);color:#fff;font-size:.75rem;font-weight:700;margin-top:1px}.school-select-modal__footer-btn{min-width:160px}@media(max-width:768px){.school-select-modal{gap:1rem}.school-select-modal__hero{padding:.85rem .9rem;gap:.75rem}.school-select-modal__hero-icon{width:44px;height:44px;font-size:1.35rem}.school-select-modal__hero-title{font-size:.98rem}.school-select-modal__hero-subtitle{font-size:.8rem}.school-select-modal__select{font-size:.95rem;padding:.7rem 2rem .7rem .8rem}.school-select-modal__footer-btn{width:100%;min-width:0}}html{scroll-behavior:smooth}*,*:before,*:after{box-sizing:border-box}.login-page{min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#111827;background:#fff;overflow-x:hidden}.login-page:before{content:"";position:fixed;top:0;right:0;width:55%;height:100%;background:#2563eb;z-index:-1;pointer-events:none}.login-bg-decorations{display:none}.hero-premium-bg{display:none;position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}.hero-premium-bg .blob{position:absolute;width:min(400px,70vw);height:min(400px,70vw);border-radius:50%;filter:blur(100px);opacity:.22}.hero-premium-bg .blob-blue{background:#2563eb;top:-20%;right:-10%}.hero-premium-bg .blob-teal{background:#0d9488;bottom:-15%;left:-5%}.login-navbar{position:fixed;top:0;left:0;right:0;height:64px;padding:0 5%;display:flex;justify-content:space-between;align-items:center;background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid #e5e7eb;z-index:1000}.login-navbar-brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;font-size:1.1rem;font-weight:800;color:#111827;flex-shrink:0}.login-navbar-brand img{height:38px;width:auto}.login-nav-links{display:flex;gap:2rem;align-items:center}.login-nav-links a{text-decoration:none;color:#6b7280;font-weight:500;font-size:.875rem;transition:color .15s;white-space:nowrap}.login-nav-links a:hover{color:#111827}.login-nav-actions{display:flex;gap:.5rem;align-items:center;flex-shrink:0}.btn-demo{padding:.5rem .9rem;color:#374151;font-weight:600;font-size:.825rem;text-decoration:none;border-radius:8px;border:1px solid #e5e7eb;transition:all .15s;background:transparent;white-space:nowrap}.btn-demo:hover{background:#f9fafb;border-color:#d1d5db}.btn-login{padding:.5rem 1.2rem;background:#2563eb;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.825rem;cursor:pointer;transition:background .15s;white-space:nowrap}.btn-login:hover{background:#1d4ed8}.login-hero-section{position:relative;padding:100px 5% 60px;display:flex;align-items:center;justify-content:space-between;gap:4rem;max-width:1340px;margin:0 auto;min-height:100vh}.login-hero-content{flex:1;max-width:560px;position:relative;z-index:2}.hero-badge{display:inline-flex;align-items:center;padding:.45rem 1rem;background:#eff6ff;color:#1d4ed8;border-radius:100px;font-size:.8rem;font-weight:600;margin-bottom:1.5rem;letter-spacing:.01em;border:1.5px solid #bfdbfe}.login-hero-content h1{font-size:clamp(2rem,5vw,3.75rem);line-height:1.1;font-weight:900;color:#0f172a;margin-bottom:1.25rem;letter-spacing:-.03em}.login-hero-content h1 span{color:#2563eb}.login-hero-content p{font-size:clamp(.9rem,2vw,1.05rem);color:#6b7280;line-height:1.75;margin-bottom:2rem;font-weight:400}.hero-features{display:flex;flex-wrap:wrap;gap:.5rem}.hero-feature-item{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .9rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:.83rem;font-weight:500;color:#374151;box-shadow:0 1px 3px #0000000a}.hero-feature-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.login-hero-image{flex:0 0 420px;display:flex;justify-content:flex-end;position:relative;z-index:2}.demo-card{background:#fff;padding:2.25rem 2rem;border-radius:20px;box-shadow:0 0 0 1px #0000000f,0 4px 6px -2px #0000000a,0 16px 32px -8px #0000001a;width:100%;max-width:420px;text-align:center}.demo-card-icon{width:50px;height:50px;background:#2563eb;border-radius:14px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;color:#fff;font-size:1.2rem;box-shadow:0 1px 3px #0000001a;flex-shrink:0}.demo-card h2{font-size:clamp(1.25rem,3vw,1.5rem);font-weight:800;color:#0f172a;margin-bottom:.35rem;letter-spacing:-.02em}.demo-card>p{color:#9ca3af;font-size:.875rem;margin-bottom:1.5rem}.demo-form .form-group{margin-bottom:.75rem;text-align:left}.demo-form input{width:100%;padding:.8rem 1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;font-size:.875rem;color:#111827;outline:none;transition:all .15s;font-family:inherit}.demo-form input::placeholder{color:#9ca3af}.demo-form input:focus{background:#fff;border-color:#2563eb;box-shadow:0 1px 3px #0000001a}.btn-submit-demo{width:100%;padding:.875rem;background:#2563eb;color:#fff;border:none;border-radius:10px;font-size:.925rem;font-weight:700;cursor:pointer;margin-top:.5rem;transition:background .15s;font-family:inherit}.btn-submit-demo:hover:not(:disabled){background:#1d4ed8}.btn-submit-demo:disabled{opacity:.6;cursor:not-allowed}.kvkk-info{display:block;margin-top:.85rem;font-size:.71rem;color:#9ca3af}.features-section{padding:80px 5%;background:#f9fafb;text-align:center;border-top:1px solid #f3f4f6}.features-section h2{font-size:clamp(1.6rem,4vw,2.25rem);font-weight:800;color:#0f172a;margin-bottom:.75rem;letter-spacing:-.025em}.features-section p.subtitle{color:#6b7280;font-size:.95rem;margin-bottom:3rem;max-width:520px;margin-left:auto;margin-right:auto;line-height:1.7}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;max-width:1200px;margin:0 auto}.feature-card{background:#fff;padding:1.75rem 1.5rem;border-radius:16px;text-align:left;transition:all .2s;border:1px solid #e5e7eb;cursor:pointer}.feature-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #00000012;border-color:#bfdbfe}.feature-icon-wrapper{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem}.feature-card h3{font-size:1rem;font-weight:700;color:#111827;margin-bottom:.45rem;letter-spacing:-.01em}.feature-card p{font-size:.84rem;color:#6b7280;line-height:1.65}.cta-section{background:#1e3a8a;padding:80px 5%;text-align:center;color:#fff}.cta-section h2{font-size:clamp(1.6rem,4vw,2.5rem);font-weight:800;margin-bottom:1rem;letter-spacing:-.025em}.cta-section>p{font-size:clamp(.875rem,2vw,1rem);opacity:.82;margin-bottom:2.25rem;max-width:480px;margin-left:auto;margin-right:auto;line-height:1.7}.cta-actions{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}.btn-cta-primary{padding:.85rem 1.75rem;background:#fff;color:#1e3a8a;border-radius:10px;font-weight:700;font-size:.9rem;text-decoration:none;transition:all .2s;box-shadow:0 2px 8px #00000026}.btn-cta-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0003}.btn-cta-secondary{padding:.85rem 1.75rem;background:#ffffff1a;color:#fff;border-radius:10px;font-weight:600;font-size:.9rem;text-decoration:none;border:1px solid rgba(255,255,255,.25);transition:all .2s}.btn-cta-secondary:hover{background:#ffffff2e}.bg-surface-container-lowest{background-color:#fff;font-family:Inter,sans-serif;color:#181c20;-webkit-font-smoothing:antialiased}.modern-footer-container{max-width:80rem;margin:0 auto;padding:5rem 2rem}.modern-footer-main{display:grid;grid-template-columns:1fr;gap:3rem}@media(min-width:768px){.modern-footer-main{grid-template-columns:repeat(12,minmax(0,1fr))}}.modern-footer-brand-col{display:flex;flex-direction:column;gap:3rem}@media(min-width:768px){.modern-footer-brand-col{grid-column:span 4 / span 4}}.modern-footer-logo-row{display:flex;align-items:center;gap:1rem}.modern-footer-logo-img{width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;border-radius:.5rem;overflow:hidden}.modern-footer-logo-img a{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.modern-footer-logo-img img{width:100%;height:100%;object-fit:contain}.modern-footer-brand-name{font-size:1.5rem;font-weight:900;color:#0056b3;font-family:Manrope,sans-serif;letter-spacing:-.025em}.modern-footer-contact-list{display:flex;flex-direction:column;gap:2rem}.modern-footer-contact-item{display:flex;align-items:center;gap:1rem}.modern-footer-icon-box{width:2.5rem;height:2.5rem;border-radius:9999px;background-color:#f1f4f9;display:flex;align-items:center;justify-content:center;flex-shrink:0}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.icon-secondary{color:#b6152e;font-size:1.25rem}.icon-primary{color:#0056b3;font-size:1.25rem}.modern-footer-contact-item p,.modern-footer-contact-item a{color:#181c20;font-weight:600;font-size:1rem;margin:0;text-decoration:none;transition:color .15s}.modern-footer-contact-item a:hover{color:#0056b3}.modern-footer-nav-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}@media(min-width:768px){.modern-footer-nav-grid{grid-column:span 8 / span 8}}@media(min-width:1024px){.modern-footer-nav-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.modern-footer-nav-col{display:flex;flex-direction:column;gap:1.5rem}.modern-footer-nav-col h3{font-family:Manrope,sans-serif;font-weight:700;font-size:.875rem;text-transform:uppercase;letter-spacing:.1em;color:#181c20;margin:0}.modern-footer-nav-col nav{display:flex;flex-direction:column;gap:1rem}.modern-footer-nav-col a{color:#424752;text-decoration:none;font-size:1rem;font-family:Inter,sans-serif;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-block;width:max-content}.modern-footer-nav-col a:hover{color:#0056b3;transform:translate(4px)}.modern-footer-bottom{border-top:1px solid rgba(194,198,212,.3)}.modern-footer-bottom-inner{max-width:80rem;margin:0 auto;padding:2.5rem 2rem}.modern-footer-bottom-inner p{color:#424752;font-size:.875rem;font-weight:500;margin:0}.login-modal-overlay{position:fixed;inset:0;background:#00000073;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:1rem}.login-modal{background:#fff;width:100%;max-width:420px;border-radius:20px;padding:2.25rem 2rem;position:relative;box-shadow:0 25px 50px #0000002e;animation:modalScaleUp .25s cubic-bezier(.16,1,.3,1);border:1px solid #e5e7eb;max-height:90vh;overflow-y:auto}@keyframes modalScaleUp{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.login-modal-close{position:absolute;top:1rem;right:1rem;background:#f3f4f6;border:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#6b7280;font-size:1.1rem;transition:all .15s;flex-shrink:0}.login-modal-close:hover{background:#e5e7eb;color:#111827}.login-modal-header{text-align:center;margin-bottom:1.75rem}.login-modal-header h2{font-size:1.6rem;font-weight:800;color:#0f172a;margin-bottom:.35rem;letter-spacing:-.02em}.login-modal-header p{color:#9ca3af;font-size:.875rem}.login-form-group{margin-bottom:1rem}.login-form-label{display:block;font-weight:600;font-size:.825rem;color:#374151;margin-bottom:.4rem}.login-form-input{width:100%;padding:.8rem 1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;font-size:.9rem;color:#111827;outline:none;transition:all .15s;font-family:inherit}.login-form-input:focus{background:#fff;border-color:#2563eb;box-shadow:0 1px 3px #0000001a}.login-password-wrapper{position:relative}.login-password-toggle{position:absolute;right:.9rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#9ca3af;padding:.25rem;line-height:1;transition:color .15s}.login-password-toggle:hover{color:#6b7280}.login-form-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;font-size:.83rem;flex-wrap:wrap;gap:.5rem}.login-form-row label{display:flex;align-items:center;gap:.5rem;color:#6b7280;cursor:pointer}.login-form-row a{color:#2563eb;text-decoration:none;font-weight:600}.login-submit-btn{width:100%;padding:.9rem;background:#2563eb;color:#fff;border:none;border-radius:10px;font-size:.925rem;font-weight:700;cursor:pointer;transition:background .15s;font-family:inherit}.login-submit-btn:hover:not(:disabled){background:#1d4ed8}.login-submit-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:1100px){.login-hero-section{gap:3rem}.login-hero-image{flex:0 0 380px}.footer-content{grid-template-columns:1fr 1fr 1fr;gap:2rem}.footer-brand{grid-column:span 3}}@media(max-width:900px){.login-page:before{width:100%;opacity:.4}.login-hero-section{flex-direction:column;min-height:auto;padding-top:90px;padding-bottom:60px;text-align:center;gap:2.5rem;align-items:stretch}.login-hero-content{max-width:100%}.hero-features{justify-content:center}.login-hero-image{flex:none;width:100%;justify-content:center}.demo-card{max-width:520px;margin:0 auto}.footer-content{grid-template-columns:1fr 1fr;gap:2rem}.footer-brand{grid-column:span 2}.footer-links:last-child{grid-column:span 2}}@media(max-width:640px){.login-navbar{padding:0 4%;height:60px}.login-nav-links,.btn-demo{display:none}.login-hero-section{padding:80px 4% 48px;gap:2rem}.login-hero-content h1{font-size:2.2rem;letter-spacing:-.025em}.hero-badge{font-size:.73rem;padding:.4rem .85rem}.hero-features{gap:.4rem}.hero-feature-item{font-size:.78rem;padding:.45rem .75rem}.demo-card{padding:1.75rem 1.5rem;border-radius:16px;max-width:100%}.demo-card h2{font-size:1.25rem}.features-section{padding:60px 4%}.features-grid{grid-template-columns:1fr;gap:.75rem}.feature-card{padding:1.25rem}.cta-section{padding:60px 4%}.cta-actions{flex-direction:column;align-items:center}.btn-cta-primary,.btn-cta-secondary{width:100%;max-width:280px;text-align:center}.login-footer{padding:48px 4% 28px}.footer-content{grid-template-columns:1fr 1fr;gap:1.75rem}.footer-brand{grid-column:span 2}}@media(max-width:400px){.login-hero-content h1{font-size:1.85rem}.login-navbar-brand img{height:30px}.demo-card{padding:1.5rem 1.25rem}.footer-content{grid-template-columns:1fr}.footer-brand{grid-column:span 1}.login-modal{padding:1.75rem 1.5rem;border-radius:16px}}.module-detail-page{min-height:100vh;background:#f8fafc;color:#1e293b;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow-x:hidden}.module-nav{position:fixed;top:0;left:0;right:0;padding:1.25rem 5%;display:flex;justify-content:space-between;align-items:center;background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1000;border-bottom:1px solid rgba(0,0,0,.05)}.module-nav-brand{display:flex;align-items:center;gap:.75rem;font-size:1.5rem;font-weight:800;color:#0f172a;text-decoration:none}.module-back-link{color:#64748b;text-decoration:none;font-weight:500;transition:color .2s;display:flex;align-items:center;gap:.5rem}.module-back-link:hover{color:#3b82f6}.module-hero{padding-top:160px;padding-bottom:80px;position:relative;text-align:center;background:radial-gradient(circle at top right,rgba(59,130,246,.05),transparent),radial-gradient(circle at bottom left,rgba(139,92,246,.05),transparent)}.module-hero-icon{display:inline-flex;padding:1.75rem;border-radius:24px;background:#fff;border:1px solid rgba(0,0,0,.03);margin-bottom:2rem;box-shadow:0 10px 25px -5px #0000000d}.module-hero h1{font-size:3.5rem;font-weight:800;margin-bottom:1rem;letter-spacing:-.02em;color:#0f172a}.module-hero p{font-size:1.2rem;color:#64748b;max-width:750px;margin:0 auto;line-height:1.6}.module-impact-banner{padding:2rem 5% 4rem}.impact-container{max-width:1000px;margin:0 auto;background:#fff;border:1.5px solid #f1f5f9;border-radius:32px;padding:3rem;text-align:center;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -2px #0000000d;position:relative;overflow:hidden}.impact-container:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:#2563eb,transparent)}.impact-badge{display:inline-flex;align-items:center;gap:.6rem;padding:.5rem 1.25rem;border-radius:999px;font-size:.875rem;font-weight:700;margin-bottom:2rem;letter-spacing:.02em;text-transform:uppercase}.pulse{width:8px;height:8px;border-radius:50%;display:inline-block;animation:impactPulse 2s infinite}@keyframes impactPulse{0%{transform:scale(.95);box-shadow:0 0 #0003}70%{transform:scale(1);box-shadow:0 0 0 10px #0000}to{transform:scale(.95);box-shadow:0 0 #0000}}.impact-title{font-size:2.75rem;font-weight:800;margin-bottom:1.25rem;color:#1e293b;line-height:1.2}.impact-text{font-size:1.15rem;color:#64748b;max-width:650px;margin:0 auto 3rem;line-height:1.7}.impact-stats{display:flex;justify-content:center;align-items:center;gap:3rem;padding-top:2.5rem;border-top:1px solid #f1f5f9}.stat-item{display:flex;flex-direction:column;gap:.25rem}.stat-value{font-size:2.25rem;font-weight:800;color:#0f172a;letter-spacing:-.02em}.stat-label{font-size:.875rem;color:#94a3b8;font-weight:600;text-transform:uppercase}.stat-divider{width:1px;height:40px;background:#e2e8f0}.impact-cta{margin-top:3rem}.impact-cta .btn-cta-p{padding:1rem 3rem;font-size:1.1rem;font-weight:700;border-radius:12px;box-shadow:0 10px 15px -3px #0000001a}.impact-cta .btn-cta-p:hover{transform:translateY(-3px);box-shadow:0 20px 25px -5px #00000026}.module-content-wrapper{max-width:1200px;margin:0 auto;padding:0 5% 100px}.module-section-title{font-size:2rem;font-weight:700;margin-bottom:2.5rem;color:#0f172a;text-align:center}.features-grid-modern{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.feature-item-modern{background:#fff;border:1px solid rgba(0,0,0,.04);padding:2rem;border-radius:20px;display:flex;flex-direction:column;gap:1rem;transition:all .3s cubic-bezier(.16,1,.3,1)}.feature-item-modern:hover{transform:translateY(-5px);box-shadow:0 15px 30px -10px #0000001a;border-color:#3b82f633}.feature-check{width:36px;height:36px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem}.feature-item-modern span:last-child{font-size:1.05rem;color:#334155;line-height:1.5;font-weight:500}.other-modules-modern{margin-top:100px;padding-top:80px;border-top:1px solid #f1f5f9}.other-modules-grid-modern{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto}.other-module-link{text-decoration:none;background:#fff;border:1px solid rgba(0,0,0,.04);padding:2rem 1.5rem;border-radius:20px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;color:#1e293b;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 6px -1px #00000005}.other-module-link:hover{transform:translateY(-5px);box-shadow:0 15px 30px -10px #00000014;border-color:#3b82f61a}.other-module-icon-wrapper{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:.5rem}.other-module-link h3{font-size:1.15rem;font-weight:700;margin:0;color:#0f172a}.other-module-link p{font-size:.9rem;color:#64748b;margin:0;line-height:1.5}.module-cta{margin-top:100px;background:#1e293b;padding:70px 5%;border-radius:28px;text-align:center;color:#fff;box-shadow:0 20px 40px -10px #0f172a33}.module-cta h2{font-size:2.25rem;font-weight:800;margin-bottom:1rem}.module-cta p{font-size:1.1rem;opacity:.8;margin-bottom:2.5rem}.cta-actions-modern{display:flex;justify-content:center;gap:1.25rem}.btn-cta-p{padding:.875rem 2.25rem;background:#3b82f6;color:#fff;border-radius:10px;font-weight:700;text-decoration:none;transition:all .2s}.btn-cta-s{padding:.875rem 2.25rem;background:#ffffff0d;color:#fff;border-radius:10px;font-weight:700;text-decoration:none;border:1px solid rgba(255,255,255,.1);transition:all .2s}.btn-cta-p:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #3b82f666}.btn-cta-s:hover{background:#ffffff1a}.module-footer{padding:4rem 5%;text-align:center;color:#94a3b8;border-top:1px solid #f1f5f9}.module-demo-section{padding:8rem 5%;background:#f8fafc}.module-demo-card{max-width:1100px;margin:0 auto;background:#fff;padding:3.5rem;border-radius:40px;box-shadow:0 40px 100px -20px #0f172a1f;border:1px solid #f1f5f9;display:grid;grid-template-columns:1fr 1.15fr;gap:5rem;align-items:center}.module-demo-info h2{font-size:2.75rem;font-weight:800;margin-bottom:2rem;color:#0f172a;line-height:1.1}.module-demo-info p{font-size:1.25rem;line-height:1.6;color:#475569;margin-bottom:3.5rem}.module-contact-info{display:flex;flex-direction:column;gap:1.5rem}.contact-item{display:flex;align-items:center;gap:1rem;color:#475569;font-weight:600}.contact-item svg{font-size:1.5rem;color:#3b82f6;background:#3b82f61a;padding:.75rem;border-radius:12px;width:48px;height:48px}.module-demo-modern-form{display:flex;flex-direction:column;gap:1.25rem}.form-header-premium{margin-bottom:.5rem}.form-header-premium h3{font-size:1.5rem;font-weight:700;color:#0f172a;margin-bottom:.25rem}.form-header-premium p{font-size:.95rem;color:#94a3b8}.premium-input-grid{display:flex;flex-direction:column;gap:1rem}.input-with-icon{position:relative}.input-with-icon .input-icon{position:absolute;left:1.25rem;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:1.1rem;pointer-events:none}.input-with-icon input{width:100%;padding:1.15rem 1.25rem 1.15rem 3.5rem;border:2px solid #f1f5f9;background:#f8fafc;border-radius:16px;font-size:1rem;font-weight:500;transition:all .2s}.input-with-icon input:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 4px #3b82f61a}.btn-demo-submit-premium{margin-top:1rem;padding:1.25rem;border-radius:16px;background:#2563eb;color:#fff;font-weight:700;font-size:1.1rem;display:flex;align-items:center;justify-content:center;gap:.75rem;border:none;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:0 1px 3px #0000001a}.btn-demo-submit-premium:hover{background:#1d4ed8;transform:translateY(-2px);box-shadow:0 1px 3px #0000001a}.form-footer-safe{display:flex;align-items:center;justify-content:center;gap:.5rem;color:#94a3b8;font-size:.85rem;font-weight:500}.form-footer-safe svg{color:#10b981}.demo-success-msg{text-align:center;padding:1rem 0}.success-icon-animated{margin-bottom:2rem;animation:successBounce .5s cubic-bezier(.175,.885,.32,1.275)}@keyframes successBounce{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.demo-success-msg h3{font-size:2rem;font-weight:800;color:#0f172a;margin-bottom:1rem}.demo-success-msg p{font-size:1.1rem;color:#64748b;line-height:1.6;margin-bottom:2.5rem}.btn-demo-reset{padding:1rem 2rem;border-radius:12px;background:#f1f5f9;color:#475569;font-weight:700;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem}@media(max-width:992px){.module-demo-card{grid-template-columns:1fr;padding:2.5rem;gap:2rem}.impact-title{font-size:2.25rem}.impact-stats{gap:1.5rem}.stat-value{font-size:1.75rem}}@media(max-width:768px){.module-hero h1{font-size:2.5rem}.cta-actions-modern{flex-direction:column}.impact-stats{flex-wrap:wrap;gap:2rem}.stat-divider{display:none}.stat-item{width:40%}}.dashboard-page{padding-bottom:2.5rem;position:relative}.dashboard-page:before{content:"";position:absolute;left:50%;top:-.5rem;transform:translate(-50%);width:min(1100px,100%);height:320px;background:radial-gradient(ellipse 75% 85% at 50% 0%,rgb(37 99 235 / .09),transparent 72%);pointer-events:none;z-index:0}.dashboard-page>*{position:relative;z-index:1}.dashboard-header{padding:2.25rem 0 1.75rem;display:flex;justify-content:space-between;align-items:flex-end}.dashboard-welcome h1{font-size:2.35rem;font-weight:800;margin-bottom:.45rem;letter-spacing:-.03em;line-height:1.12;background:linear-gradient(118deg,#0f172a,#1e3a5f 42%,#2563eb 98%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.dashboard-welcome p{font-size:1.08rem;color:#64748b;max-width:42rem;line-height:1.5}.dashboard-welcome p strong{color:#2563eb;font-weight:700}.school-banner-modern{background:linear-gradient(165deg,#fff,#f8fafc);border:1px solid rgb(226 232 240 / .95);border-radius:24px;padding:2rem;display:flex;align-items:center;gap:2rem;margin-bottom:2.5rem;box-shadow:var(--card-shadow-base);transition:box-shadow .28s ease;position:relative;overflow:hidden}.school-banner-modern:hover{box-shadow:var(--card-shadow-hover)}.school-banner-modern:before{content:"";position:absolute;top:0;right:0;width:min(55%,380px);height:100%;background:radial-gradient(circle at 90% 20%,rgb(59 130 246 / .1),transparent 62%);pointer-events:none}.school-icon-wrapper{width:80px;height:80px;border-radius:22px;background:linear-gradient(145deg,#eff6ff,#dbeafe);color:#2563eb;display:flex;align-items:center;justify-content:center;font-size:2.5rem;flex-shrink:0;border:1px solid rgb(191 219 254 / .8);box-shadow:inset 0 1px #ffffffd9,0 4px 14px #2563eb1f}.school-details{flex:1}.school-details h2{font-size:1.75rem;font-weight:700;color:#1e293b;margin-bottom:.25rem}.school-details p{color:#64748b;font-weight:500}.school-select-modern{padding:.75rem 1.35rem;border-radius:14px;border:1px solid rgb(226 232 240 / .98);background:linear-gradient(180deg,#fff,#f8fafc);color:#475569;font-weight:600;font-size:.95rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;cursor:pointer;box-shadow:inset 0 1px #ffffffe6,0 1px 3px #0f172a0d}.school-select-modern:hover{border-color:#cbd5e1f2;box-shadow:inset 0 1px #fffffff2,0 2px 8px #0f172a0f}.school-select-modern:focus{border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb26,0 4px 14px #2563eb1f}.stats-grid-modern{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2.5rem}.stat-card-modern{position:relative;background:linear-gradient(165deg,#fff,#fafbfc);border:1px solid rgb(226 232 240 / .95);padding:1.5rem;border-radius:20px;display:flex;align-items:center;gap:1.25rem;cursor:pointer;transition:box-shadow .28s ease,transform .28s cubic-bezier(.16,1,.3,1),border-color .22s ease;box-shadow:var(--card-shadow-base)}.stat-card-modern:hover{transform:translateY(-4px);box-shadow:var(--card-shadow-hover);border-color:#3b82f638}@media(prefers-reduced-motion:reduce){.stat-card-modern:hover{transform:none}}.stat-icon-box{width:60px;height:60px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.75rem;flex-shrink:0;border:1px solid rgb(255 255 255 / .65);box-shadow:inset 0 1px #ffffffbf,0 2px 8px #0f172a12}.stat-info{display:flex;flex-direction:column}.stat-value-large{font-size:1.75rem;font-weight:800;color:#0f172a;line-height:1;margin-bottom:.25rem}.stat-label-muted{font-size:.78rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.08em}.dashboard-card{position:relative;background:linear-gradient(165deg,#fff,#fafbfc);border-radius:24px;padding:2rem;border:1px solid rgb(226 232 240 / .95);box-shadow:var(--card-shadow-base);transition:box-shadow .28s ease,transform .22s ease}.dashboard-card:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-1px)}@media(prefers-reduced-motion:reduce){.dashboard-card:hover{transform:none}}.card-title-modern{font-size:1.28rem;font-weight:700;color:#0f172a;margin-bottom:1.65rem;display:flex;align-items:center;gap:.85rem;letter-spacing:-.02em}.card-title-modern-badge{display:inline-flex;align-items:center;justify-content:center;width:2.65rem;height:2.65rem;border-radius:14px;background:linear-gradient(145deg,#eff6ff,#dbeafe);color:#2563eb;font-size:1.35rem;border:1px solid rgb(191 219 254 / .85);box-shadow:inset 0 1px #fffc,0 2px 8px #2563eb1a}.card-title-modern-badge svg{width:1.35rem;height:1.35rem}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.quick-action-button{background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid rgb(226 232 240 / .95);padding:1.05rem 1.2rem;border-radius:16px;display:flex;align-items:center;gap:.9rem;color:#334155;font-weight:600;font-size:.95rem;cursor:pointer;transition:background .22s ease,border-color .22s ease,color .22s ease,box-shadow .25s ease,transform .22s ease;text-align:left;width:100%;box-shadow:inset 0 1px #ffffffe6,0 1px 2px #0f172a0a,0 4px 12px #0f172a0d}.quick-action-button:hover{background:linear-gradient(180deg,#eff6ff,#dbeafe);color:#1d4ed8;border-color:#93c5fdf2;transform:translateY(-2px);box-shadow:inset 0 1px #fffffff2,0 4px 12px #2563eb1f,0 12px 28px -8px #2563eb33}.quick-action-button:active{transform:translateY(0)}.quick-action-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:12px;font-size:1.2rem;background:#f8fafc;color:#475569;border:1px solid rgb(241 245 249);flex-shrink:0;transition:inherit}.quick-action-button:hover .quick-action-icon{background:#fff;color:#2563eb;border-color:#bfdbfe;box-shadow:0 2px 6px #2563eb1f}@media(prefers-reduced-motion:reduce){.quick-action-button:hover,.quick-action-button:active{transform:none}}@media(max-width:768px){.dashboard-page:before{height:240px;opacity:.85}.dashboard-header{flex-direction:column;align-items:flex-start;gap:1rem;padding:1.5rem 0 1.25rem}.school-banner-modern{flex-direction:column;text-align:center;padding:1.5rem;gap:1.25rem}.school-icon-wrapper{margin:0 auto}.school-select-modern{width:100%}.dashboard-welcome h1{font-size:1.75rem}.quick-actions-grid{grid-template-columns:1fr}}.subjects-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:2rem 2.5rem;background:#fff;border-radius:1.25rem;box-shadow:0 1px 3px #0000001a;border:1px solid #f1f5f9}.subjects-title-section h1{font-size:1.7rem;font-weight:700;color:#2d3b52;display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.subjects-title-section p{color:#7a8b9f;font-size:.9rem}.subjects-actions{display:flex;gap:.75rem;align-items:center}.subjects-actions .subjects-btn-template,.subjects-actions .subjects-btn-excel,.subjects-actions .subjects-btn-new{border-radius:999px;box-shadow:0 1px 3px #0000001a;padding:.6rem 1.3rem;font-size:.8rem}.subjects-actions .subjects-btn-template{background:#f3f4f6;color:#374151}.subjects-actions .subjects-btn-template:hover{background:#e5e7eb}.subjects-actions .subjects-btn-excel{background:#10b981;color:#fff}.subjects-actions .subjects-btn-excel:hover{background:#059669}.subjects-actions .subjects-btn-new{background:#2563eb;color:#fff}.subjects-actions .subjects-btn-new:hover{background:#1d4ed8}.subjects-page-filters.page-filter-bar{margin-bottom:1rem}.subjects-card{margin-top:1rem;background:#fff;border-radius:1.25rem;box-shadow:0 1px 3px #0000001a;border:1px solid #f1f5f9;overflow:hidden}.subjects-card .table-container{border:none;border-radius:0}.subjects-card table{border-collapse:collapse}.subjects-card table thead tr{background:#fcfcfd;border-bottom:1px solid #f1f5f9}.subjects-card table th{background:transparent;color:#6b7280;font-weight:600;font-size:.8rem;letter-spacing:.03em;text-transform:none;border-bottom:none;position:static}.subjects-card table th:first-child{width:60px;text-align:center}.subjects-card table th:nth-child(3){text-align:center}.subjects-card table th:last-child{text-align:right}.subjects-card table td{font-size:.9rem;color:#4b5563}.subjects-card table td:first-child{text-align:center}.subjects-card table td:nth-child(3){text-align:center}.subjects-card table td:last-child{text-align:right}.subjects-card table tbody tr{transition:background-color .2s ease;border-bottom:1px solid #f8fafc}.subjects-card table tbody tr:hover{background:#fafbfc}.subjects-card-footer{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 2rem;border-top:1px solid #f1f5f9;background:#fff}.subjects-card-summary{font-size:.75rem;color:#6b7280;font-weight:500}.subjects-card-pagination{display:flex;gap:.35rem}.subjects-page-btn{width:26px;height:26px;border-radius:.4rem;border:none;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#9ca3af;cursor:pointer;transition:all .15s ease}.subjects-page-btn:hover:not(.subjects-page-btn-disabled){background:#e5e7eb;color:#4b5563}.subjects-page-btn-disabled{opacity:.6;cursor:default}.subjects-actions-inline{display:flex;align-items:center;gap:.5rem}.import-steps-container{display:flex;flex-direction:column;gap:1.5rem}.info-box{padding:1.25rem;border-radius:12px;display:flex;gap:1rem;align-items:flex-start}.info-box.school-selected{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.info-box.format-info{background:#fff;border:1px solid #e2e8f0;color:#475569}.info-box svg{flex-shrink:0;margin-top:.25rem}.subjects-table-mini{width:100%;border-radius:8px;overflow:hidden;border:1px solid #e2e8f0;font-size:.875rem}.subjects-table-mini th{background:#fff;padding:.75rem;text-align:left;color:#64748b;font-weight:600}.subjects-table-mini td{padding:.75rem;border-top:1px solid #e2e8f0}@media(max-width:768px){.subjects-header{flex-direction:column;align-items:flex-start;gap:1.5rem}.subjects-actions{width:100%;justify-content:flex-start;overflow-x:auto;padding-bottom:.5rem}}.searchable-select-container{position:relative;width:100%}.ss-label{display:block;font-size:.625rem;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:.075em;margin-bottom:.5rem;padding-left:.25rem}.ss-trigger{background:#f8fafc;border:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;border-radius:10px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);min-width:150px;-webkit-user-select:none;user-select:none;height:38px}.ss-trigger:hover:not(.active){border-color:#cbd5e1;background-color:#f1f5f9}.ss-trigger.active{border-color:#3b82f6;background-color:#fff;box-shadow:0 0 0 4px #3b82f614}.ss-value{font-size:.875rem;color:#1e293b;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ss-value.placeholder{color:#94a3b8;font-weight:500}.ss-chevron{color:#94a3b8;transition:transform .3s;font-size:.9rem;flex-shrink:0}.ss-chevron.rotate{transform:rotate(180deg)}.ss-dropdown{position:absolute;top:calc(100% + 5px);left:0;width:100%;max-width:100%;box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:var(--elev-popover);z-index:1000;overflow-x:hidden;overflow-y:visible;animation:ssSlideDown .2s cubic-bezier(.16,1,.3,1)}.ss-dropdown.ss-dropdown--portal{position:fixed;top:auto;left:auto;width:auto;max-width:min(100vw - 1rem,28rem);animation:ssSlideDown .2s cubic-bezier(.16,1,.3,1)}.ss-search-wrapper{display:flex;align-items:center;padding:.75rem;border-bottom:1px solid #f1f5f9;gap:.5rem;min-width:0;box-sizing:border-box}.ss-search-icon{color:#94a3b8;flex-shrink:0}.ss-search-input{flex:1 1 auto;min-width:0;width:100%;border:none;outline:none;font-size:.875rem;color:#1e293b;font-weight:600;background:transparent}.ss-clear-search{color:#94a3b8;cursor:pointer;font-size:1rem;transition:color .2s;flex-shrink:0}.ss-clear-search:hover{color:#ef4444}.ss-options{list-style:none;margin:0;padding:0;max-height:200px;overflow-y:auto;overflow-x:hidden;min-width:0;box-sizing:border-box}.ss-option{padding:.65rem 1rem;font-size:.875rem;color:#334155;font-weight:600;cursor:pointer;transition:all .1s;overflow-wrap:anywhere;word-break:break-word}.ss-option:hover{background:#f8fafc;color:#2563eb}.ss-option.selected{background:#eff6ff;color:#2563eb}.ss-no-results{padding:1rem;font-size:.8125rem;color:#94a3b8;text-align:center;font-style:italic}.searchable-select-container.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}@keyframes ssSlideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.classes-page{padding-bottom:2rem}.classes-header{background:#fff;border-radius:24px;padding:1.75rem 2rem;margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 6px -1px #00000005,0 2px 4px -1px #00000005;border:1px solid rgba(226,232,240,1)}.classes-title-section h1{font-size:1.9rem;font-weight:700;color:#0f172a;display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.classes-title-section p{color:#6b7280;font-weight:400;font-size:.9rem;max-width:32rem}.classes-actions{display:flex;gap:.5rem;flex-wrap:nowrap;justify-content:flex-end;align-items:center}.classes-actions .btn{border-radius:var(--radius, 8px);font-size:.875rem;padding:.625rem 1rem;min-height:2.75rem;box-sizing:border-box;box-shadow:0 1px 3px #0f172a14;white-space:nowrap;flex-shrink:0;line-height:1.4}.classes-btn-new{background:#2563eb;color:#fff}.classes-btn-new:hover{background:#2563eb}.classes-btn-template{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}.classes-btn-template:hover{background:#dbeafe}.classes-btn-excel{background:#d1fae5;color:#047857}.classes-btn-excel:hover{background:#bbf7d0}.classes-btn-bulk{background:#f3f4f6;color:#4b5563}.classes-btn-bulk:hover{background:#e5e7eb}.classes-list-header{margin-bottom:.5rem;padding:0 .25rem}.classes-list-filters{margin-bottom:1.5rem}.classes-list-header h2{font-size:1rem;font-weight:600;color:#4b5563}.classes-table-container{background:#fff;border-radius:20px;padding:1.5rem;border:1px solid #e2e8f0;box-shadow:0 4px 6px -1px #00000005;overflow-x:auto}.classes-main-table{width:100%;border-collapse:separate;border-spacing:0}.classes-main-table th{text-align:left;padding:1rem 1.25rem;font-size:.85rem;font-weight:600;color:#64748b;border-bottom:2px solid #f1f5f9;background:#f8fafc}.classes-main-table th:first-child{border-top-left-radius:12px}.classes-main-table th:last-child{border-top-right-radius:12px}.classes-main-table td{padding:1rem 1.25rem;font-size:.9rem;color:#334155;border-bottom:1px solid #f1f5f9;vertical-align:middle}.classes-main-table tr:hover td{background:#f8fafc}.classes-main-table tr:last-child td{border-bottom:none}.class-table-grade-circle{width:36px;height:36px;border-radius:10px;background:#eff6ff;display:flex;align-items:center;justify-content:center;font-weight:700;color:#1d4ed8;font-size:.85rem;border:1px solid #bfdbfe}.class-table-name{font-weight:600;color:#0f172a}.class-table-type-badge{font-size:.7rem;padding:.25rem .6rem;border-radius:6px;background:#f1f5f9;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.class-table-students{display:flex;align-items:center;gap:.5rem;color:#64748b}.class-table-capacity{display:flex;flex-direction:column;gap:.35rem;min-width:140px}.class-table-capacity-bar{height:6px;background:#f1f5f9;border-radius:999px;overflow:hidden}.class-table-capacity-fill{height:100%;border-radius:999px;transition:width .3s ease}.class-table-capacity-fill.safe,.class-table-capacity-fill.warning,.class-table-capacity-fill.danger{background:#2563eb}.class-table-capacity-text{font-size:.75rem;font-weight:600;color:#64748b}.class-table-actions{display:flex;gap:.5rem}.classes-empty{padding:3rem;text-align:center;color:#94a3b8;font-size:.95rem}.classes-pagination{display:flex;justify-content:center;align-items:center;margin-top:2rem;gap:1.5rem;flex-wrap:wrap}.classes-page-size{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#64748b}.classes-page-size select{padding:.35rem .5rem;border-radius:.5rem;border:1px solid #e5e7eb;background:#fff;color:#4b5563;font-size:.85rem;outline:none;cursor:pointer;transition:border-color .15s ease}.classes-page-size select:hover{border-color:#cbd5e1}.classes-result-info{color:#94a3b8;font-size:.8rem;margin-left:.5rem}.classes-pagination-nav{display:flex;align-items:center;gap:.35rem;background:#fff;padding:.35rem .5rem;border-radius:.9rem;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0f172a0f}.classes-page-btn{width:30px;height:30px;border-radius:.7rem;border:none;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#9ca3af;cursor:pointer;transition:background-color .15s ease,color .15s ease}.classes-page-btn:disabled{opacity:.5;cursor:default}.classes-page-btn:not(:disabled):hover{background:#f3f4f6;color:#4b5563}.classes-page-number{width:32px;height:32px;border-radius:.7rem;border:none;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#4b5563;font-size:.8rem;font-weight:500;cursor:pointer;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}.classes-page-number.active{background:#2563eb;color:#fff;box-shadow:0 4px 10px #3b82f659}.classes-page-number:not(.active):hover{background:#f3f4f6}.grade-badge{padding:.35rem .75rem;border-radius:10px;background:#f1f5f9;color:#475569;font-weight:700;font-size:.85rem;border:1px solid #e2e8f0}.hour-progress-container{width:100%;max-width:120px}.hour-progress-bar{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;margin-bottom:.25rem}.hour-progress-fill{height:100%;transition:width .3s ease}.hour-progress-fill.safe{background:#22c55e}.hour-progress-fill.warning{background:#f59e0b}.hour-progress-fill.danger{background:#ef4444}.hour-text{font-size:.75rem;font-weight:600;color:#64748b}@media(max-width:900px){.classes-header{flex-direction:column;align-items:flex-start;gap:1.5rem}.classes-actions{width:100%;justify-content:flex-start;overflow-x:auto;overflow-y:hidden;padding-bottom:.35rem;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}.classes-actions .btn{flex-shrink:0}.classes-pagination{flex-direction:column;gap:1rem}}.table-container table{width:100%;border-collapse:collapse;margin-top:.5rem}.table-container th{background:#f8fafc;color:#64748b;padding:.75rem 1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #f1f5f9;text-align:left}.table-container td{padding:.75rem 1rem;font-size:.85rem;color:#334155;border-bottom:1px solid #f1f5f9}.table-container tr:hover td{background:#f8fafc}.teachers-page{padding-bottom:2rem}.teachers-header{background:#fff;border-radius:24px;padding:1.75rem 2rem;margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 6px -1px #00000005,0 2px 4px -1px #00000005;border:1px solid rgba(226,232,240,1)}.teachers-title-section h1{font-size:1.9rem;font-weight:700;color:#0f172a;display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.teachers-title-section p{color:#6b7280;font-weight:400;font-size:.9rem;max-width:32rem}.teachers-actions{display:flex;gap:.75rem;flex-wrap:wrap}.teachers-actions .btn{border-radius:var(--radius, 8px);font-size:.875rem;padding:.625rem 1rem;min-height:2.75rem;box-sizing:border-box;box-shadow:0 1px 3px #0f172a14}.teachers-btn-new{background:#2563eb;color:#fff}.teachers-btn-new:hover{background:#1d4ed8}.teachers-btn-template{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.teachers-btn-template:hover{background:#dbeafe}.teachers-btn-import{background:#d1fae5;color:#047857}.teachers-btn-import:hover{background:#bbf7d0}.teachers-list-filters{margin-bottom:1.5rem}.teachers-table-container{background:#fff;border-radius:20px;padding:1.5rem;border:1px solid #e2e8f0;box-shadow:0 4px 6px -1px #00000005;overflow-x:auto}.teachers-main-table{width:100%;border-collapse:separate;border-spacing:0}.teachers-main-table th{text-align:left;padding:1rem 1.25rem;font-size:.85rem;font-weight:600;color:#64748b;border-bottom:2px solid #f1f5f9;background:#f8fafc}.teachers-main-table th:first-child{border-top-left-radius:12px}.teachers-main-table th:last-child{border-top-right-radius:12px}.teachers-main-table td{padding:1rem 1.25rem;font-size:.9rem;color:#334155;border-bottom:1px solid #f1f5f9;vertical-align:middle}.teachers-main-table tr:hover td{background:#f8fafc}.teachers-main-table tr:last-child td{border-bottom:none}.teacher-table-info{display:flex;align-items:center;gap:.75rem}.teacher-table-avatar{width:36px;height:36px;border-radius:10px;background:#eff6ff;display:flex;align-items:center;justify-content:center;font-weight:700;color:#1d4ed8;font-size:.85rem;border:1px solid #dbeafe}.teacher-table-name{font-weight:600;color:#0f172a}.teacher-table-short-name{font-size:.85rem;color:#64748b;background:#f1f5f9;padding:.2rem .5rem;border-radius:6px}.teacher-table-subjects{display:flex;gap:.25rem;flex-wrap:wrap;max-width:250px}.teacher-table-subject-tag{font-size:.75rem;padding:.15rem .5rem;border-radius:6px;background:#eff6ff;color:#2563eb;border:1px solid #dbeafe;white-space:nowrap}.teacher-table-subject-more{font-size:.7rem;color:#94a3b8;padding-top:.2rem}.teacher-table-load{display:flex;flex-direction:column;gap:.35rem;min-width:120px}.teacher-table-progress{height:6px;background:#f1f5f9;border-radius:999px;overflow:hidden}.teacher-table-progress-fill{height:100%;border-radius:999px;transition:width .3s ease}.teacher-table-progress-fill.safe,.teacher-table-progress-fill.warning,.teacher-table-progress-fill.danger{background:#2563eb}.teacher-table-load-text{font-size:.75rem;font-weight:600}.teacher-table-load-text.safe{color:#059669}.teacher-table-load-text.warning{color:#d97706}.teacher-table-load-text.danger{color:#dc2626}.teacher-table-daily{display:flex;align-items:center;gap:.35rem;color:#64748b;font-size:.85rem}.teacher-table-actions{display:flex;gap:.4rem}.teachers-empty{padding:3rem;text-align:center;color:#94a3b8;font-size:.95rem}.teachers-pagination{display:flex;justify-content:center;align-items:center;margin-top:2rem;gap:1.5rem}.teachers-page-size{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#64748b}.teachers-page-size select{padding:.35rem .5rem;border-radius:.5rem;border:1px solid #e5e7eb;background:#fff;color:#4b5563;font-size:.85rem;outline:none;cursor:pointer;transition:border-color .15s ease}.teachers-page-size select:hover{border-color:#cbd5e1}.teachers-pagination-nav{display:flex;align-items:center;gap:.35rem;background:#fff;padding:.35rem .5rem;border-radius:.9rem;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0f172a0f}.teachers-page-btn{width:30px;height:30px;border-radius:.7rem;border:none;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#9ca3af;cursor:pointer;transition:background-color .15s ease,color .15s ease}.teachers-page-btn:disabled{opacity:.5;cursor:default}.teachers-page-btn:not(:disabled):hover{background:#f3f4f6;color:#4b5563}.teachers-page-number{width:32px;height:32px;border-radius:.7rem;border:none;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#4b5563;font-size:.8rem;font-weight:500;cursor:pointer;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}.teachers-page-number.active{background:#2563eb;color:#fff;box-shadow:0 1px 3px #0000001a}.teachers-page-number:not(.active):hover{background:#f3f4f6}.teacher-subject-badge{display:inline-flex;padding:.25rem .625rem;border-radius:8px;background:#f1f5f9;color:#475569;font-size:.75rem;font-weight:600;margin:.125rem;border:1px solid #e2e8f0;transition:all .2s}.teacher-subject-badge:hover{background:#3b82f6;color:#fff;border-color:#3b82f6}.hour-ratio{font-weight:700;padding:.25rem .5rem;border-radius:6px;font-size:.85rem}.hour-ratio.safe{background:#f0fdf4;color:#15803d}.hour-ratio.warning{background:#fff7ed;color:#c2410c}.hour-ratio.danger{background:#fef2f2;color:#b91c1c}.availability-grid-modern{display:grid;grid-template-columns:100px repeat(5,1fr);gap:1px;background:#e2e8f0;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.availability-header{background:#f8fafc;padding:.75rem;text-align:center;font-weight:700;font-size:.85rem;color:#475569}.availability-time{background:#f1f5f9;padding:.75rem;text-align:center;font-weight:600;font-size:.75rem;color:#64748b;display:flex;align-items:center;justify-content:center}.availability-cell{background:#fff;min-height:50px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.availability-cell:hover{background:#f0f9ff;box-shadow:inset 0 0 0 2px #3b82f6;z-index:10}.availability-cell.available{background:#f0fdf4;color:#16a34a}.availability-cell.unavailable{background:#fef2f2;color:#dc2626}.availability-cell svg{font-size:1.25rem}.invite-modal-title{display:inline-flex;align-items:center;gap:.5rem}.invite-modal-title-icon{color:var(--primary);flex-shrink:0}.invite-modal-teacher-card{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;padding:1rem 1.25rem;margin-bottom:1.5rem}.invite-modal-user-icon{color:var(--primary);flex-shrink:0}.invite-modal-expiry-note{display:flex;align-items:flex-start;gap:.5rem;background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;padding:.75rem 1rem;margin:1rem 0;font-size:.85rem;color:#92400e}.invite-modal-expiry-icon{flex-shrink:0;color:#b45309;margin-top:2px}.invite-modal-send-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:var(--primary);color:#fff;min-width:140px}.invite-modal-send-btn:hover:not(:disabled){background:var(--primary-dark)}@media(max-width:900px){.teachers-header{flex-direction:column;align-items:flex-start;gap:1.5rem}.teachers-actions{width:100%;overflow-x:auto;padding-bottom:.5rem}}.schedule-page{padding-bottom:2rem}.schedule-page-header{background:#fff;border-radius:1.25rem;padding:1.5rem 1.75rem;margin-bottom:1.75rem;box-shadow:0 1px 3px #0000001a;border:1px solid #f1f5f9}.schedule-page-header-main{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap}.schedule-title{display:flex;align-items:center;gap:1rem}.schedule-title-icon{width:46px;height:46px;border-radius:1.25rem;background:#eff6ff;color:#2563eb;display:flex;align-items:center;justify-content:center}.schedule-title h1{margin:0 0 .15rem;font-size:1.6rem;font-weight:800;color:#020617}.schedule-title p{margin:0;font-size:.9rem;color:#64748b}.schedule-page-header-actions{display:flex;flex-wrap:wrap;gap:.5rem}.schedule-btn{display:inline-flex;align-items:center;gap:.4rem;border-radius:8px;border:1px solid transparent;padding:.5rem 1rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .18s ease-out,border-color .18s ease-out,color .18s ease-out,box-shadow .18s ease-out}.schedule-btn span{white-space:nowrap}.schedule-btn-success{background:#d1fae5;color:#065f46;border-color:#a7f3d0}.schedule-btn-success:hover:not(:disabled){background:#a7f3d0;box-shadow:0 1px 3px #0000001a}.schedule-btn-danger{background:transparent;color:#b91c1c;border-color:#fca5a5}.schedule-btn-danger:hover{background:#fef2f2;border-color:#f87171;color:#991b1b;box-shadow:none}.schedule-btn-primary{background:#2563eb;color:#fff;border:none;box-shadow:0 1px 3px #0000001a}.schedule-btn-primary:hover{background:#1d4ed8;box-shadow:0 1px 3px #0000001a}.schedule-btn:disabled{opacity:.7;cursor:default}.schedule-class-tabs{background:#fff;border-radius:24px;padding:.9rem 1rem;margin-bottom:1.75rem;display:flex;gap:.6rem;align-items:center;overflow-x:auto;box-shadow:0 12px 30px -18px #0f172a40;border:1px solid rgba(226,232,240,.9)}.schedule-class-chip{flex-shrink:0;padding:.45rem 1.1rem;border-radius:8px;border:none;font-size:.85rem;font-weight:600;background:#f1f5f9;color:#475569;cursor:pointer;transition:all .18s ease-out}.schedule-class-chip:hover{background:#e2e8f0}.schedule-class-chip.active{background:#2563eb;color:#f9fafb;box-shadow:0 1px 3px #0000001a}.schedule-class-chip.add{width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:#f8fafc;color:#9ca3af}.schedule-card{background:#fff;border-radius:24px;border:1px solid rgba(226,232,240,.9);box-shadow:0 18px 40px -24px #0f172a66;overflow:hidden}.schedule-card-header{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.5rem;border-bottom:1px solid rgba(226,232,240,.9);background:#fff}.schedule-card-header h2{margin:0 0 .15rem;font-size:1.25rem;font-weight:700;color:#020617}.schedule-card-header p{margin:0;font-size:.85rem;color:#6b7280}.schedule-card-header-actions{display:flex;gap:.4rem}.icon-btn{width:34px;height:34px;border-radius:8px;border:none;background:#f3f4f6;color:#6b7280;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .16s ease-out}.icon-btn:hover{background:#e5e7eb;color:#2563eb}.schedule-table-wrapper{overflow-x:auto}.schedule-table{width:100%;border-collapse:collapse;text-align:center;font-size:.875rem}.schedule-table thead tr{border-bottom:1px solid rgba(226,232,240,.9)}.schedule-table thead th{background:#f9fafb;color:#6b7280;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.schedule-time-header{width:110px;background:#f8fafc}.schedule-time-header-label{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:#64748b}.schedule-day-header{padding:1rem .75rem;background:#dbeafe;color:#1e40af;font-weight:600}.schedule-row:nth-child(2n) .schedule-lesson-cell{background:#fafafa}.schedule-time-cell{padding:.9rem .75rem;background:#f8fafc;border-right:1px solid rgba(226,232,240,.9)}.schedule-time-content{display:flex;flex-direction:column;align-items:center;gap:.15rem}.lesson-index{font-size:.8rem;font-weight:700;color:#0f172a}.lesson-time{font-size:.7rem;color:#9ca3af}.schedule-lesson-cell{padding:.75rem;min-width:120px;border-left:1px solid rgba(226,232,240,.7);border-bottom:1px solid rgba(226,232,240,.7);cursor:pointer;transition:background .15s ease-out}.schedule-lesson-cell.empty:hover{background:#f1f5f9}.schedule-lesson-cell.has-event,.schedule-lesson-cell.locked{background:#2563eb}.schedule-lesson{display:flex;flex-direction:column;align-items:center;gap:.15rem}.lesson-name{font-weight:600;color:#0f172a}.lesson-teacher{font-size:.75rem;color:#6b7280}.lesson-empty{font-size:1.2rem;color:#bfdbfe}.schedule-footer{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1.5rem;border-top:1px solid rgba(226,232,240,.9);background:#f9fafb;font-size:.8rem;color:#6b7280}.schedule-status-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .75rem;border-radius:999px;background:#ecfdf5;color:#047857;font-weight:500}.schedule-status-pill .status-dot{width:7px;height:7px;border-radius:999px;background:#10b981}.schedule-modal-title{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}.schedule-modal-title-icon{color:#2563eb;flex-shrink:0}.schedule-modal-section-title{display:flex;align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:1rem;font-weight:600;color:#334155}.schedule-modal-section-title svg{color:#2563eb;flex-shrink:0}@media(max-width:900px){.schedule-page-header-main{flex-direction:column;align-items:flex-start}.schedule-page-header-actions{width:100%;flex-wrap:nowrap;overflow-x:auto;padding-bottom:.25rem}.schedule-footer{flex-direction:column;align-items:flex-start;gap:.5rem}}.reports-page{padding-bottom:2rem}.reports-toolbar{background:#fff;border-radius:18px;padding:.9rem 1rem;margin-bottom:1.75rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;box-shadow:0 8px 24px -18px #0f172a59;border:1px solid rgba(226,232,240,.9)}.reports-toolbar-left{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.reports-mode-toggle{display:inline-flex;background:#f3f4f6;border-radius:.75rem;padding:.15rem}.reports-mode-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .9rem;border-radius:.6rem;border:none;background:transparent;color:#6b7280;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .16s ease-out}.reports-mode-btn span{white-space:nowrap}.reports-mode-btn.active{background:#2563eb;color:#f9fafb;box-shadow:0 0 0 1px #3b82f673,0 6px 18px -10px #2563eb73}.reports-select-wrapper{position:relative}.reports-select{padding:.45rem 2.2rem .45rem .8rem;border-radius:.75rem;border:none;background:#f9fafb;font-size:.8rem;font-weight:500;color:#111827;box-shadow:0 1px 3px #0f172a14;cursor:pointer;appearance:none}.reports-select-icon{position:absolute;right:.7rem;top:50%;transform:translateY(-50%);font-size:.7rem;color:#9ca3af;pointer-events:none}.reports-toolbar-right{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.reports-chip-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .9rem;border-radius:.9rem;border:none;font-size:.8rem;font-weight:500;background:#eff6ff;color:#4b5563;cursor:pointer;transition:all .16s ease-out}.reports-chip-btn span{white-space:nowrap}.reports-chip-btn.active{background:#dbeafe;color:#1e40af;box-shadow:0 8px 22px -12px #2563eb59}.reports-chip-btn.active-warning{background:#fff7ed;color:#b45309;box-shadow:0 8px 22px -12px #fb923c99}.reports-print-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .85rem;border-radius:999px;border:1px solid rgba(209,213,219,.9);background:#fff;color:#4b5563;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .16s ease-out}.reports-print-btn:hover{background:#f3f4f6}.reports-program-card{background:#fff;border-radius:24px;padding:1.75rem 1.75rem 1.4rem;border:1px solid rgba(226,232,240,.9);box-shadow:0 18px 40px -24px #0f172a73;margin-bottom:1.75rem}.reports-program-header{text-align:center;margin-bottom:1.25rem}.reports-program-header h2{margin:0;font-size:1.25rem;font-weight:700;color:#111827}.reports-program-table-wrapper{overflow-x:auto;border-radius:16px;border:1px solid rgba(229,231,235,.9)}.reports-program-table{width:100%;border-collapse:collapse;min-width:760px;font-size:.875rem}.reports-program-table thead tr{border-bottom:1px solid rgba(226,232,240,.9)}.reports-program-table thead th{background:#f9fafb;color:#6b7280;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.reports-time-header{padding:.9rem .75rem;text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#6b7280;width:120px}.reports-day-header{padding:.9rem .75rem;text-align:center;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#111827;background:#eff6ff}.reports-row:nth-child(2n) .reports-lesson-cell{background:#fafafa}.reports-time-cell{padding:.8rem .75rem;background:#f9fafb;border-right:1px solid rgba(229,231,235,.9)}.reports-time-main{font-size:.8rem;font-weight:700;color:#111827}.reports-time-sub{font-size:.7rem;color:#9ca3af}.reports-lesson-cell{padding:.6rem;min-width:130px;text-align:center;border-left:1px solid rgba(229,231,235,.7);border-bottom:1px solid rgba(229,231,235,.7)}.reports-lesson-cell.empty{color:#d1d5db}.reports-empty-dash{font-size:1rem}.reports-lesson-card{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.5rem .55rem;border-radius:.9rem;border:1px solid rgba(209,213,219,.9);background:#eff6ff;cursor:default}.reports-lesson-cell.has-event.color-1 .reports-lesson-card{background:#eff6ffe6;border-color:#bfdbfe}.reports-lesson-cell.has-event.color-2 .reports-lesson-card{background:#eff6ffd9;border-color:#bfdbfe}.reports-lesson-cell.has-event.color-3 .reports-lesson-card{background:#ecfdf5e6;border-color:#a7f3d0}.reports-lesson-cell.has-event.color-4 .reports-lesson-card{background:#fffbebe6;border-color:#fed7aa}.reports-lesson-cell.has-event.color-5 .reports-lesson-card{background:#fff7ede6;border-color:#fecaca}.reports-lesson-name{font-size:.8rem;font-weight:700;color:#111827}.reports-lesson-meta{display:flex;align-items:center;gap:.25rem;font-size:.7rem;color:#6b7280}.reports-lesson-meta-icon{font-size:.7rem}.reports-program-summary{display:flex;justify-content:flex-end;gap:1rem;margin-top:.9rem;font-size:.8rem;color:#6b7280}.reports-program-summary strong{color:#111827}.reports-free-card{background:#fff;border-radius:24px;padding:1.5rem 1.5rem 1.1rem;border:1px solid rgba(226,232,240,.9);box-shadow:0 18px 40px -24px #0f172a73}.reports-free-header{margin-bottom:1rem}.reports-free-title-row{display:flex;align-items:center;gap:.65rem}.reports-free-icon{width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#eff6ff;color:#1d4ed8;font-size:1rem}.reports-free-title-row h3{margin:0;font-size:1.1rem;font-weight:700;color:#111827}.reports-free-title-row p{margin:.1rem 0 0;font-size:.8rem;color:#6b7280}.reports-free-table-wrapper{margin-top:.5rem;border-radius:18px;border:1px solid rgba(229,231,235,.9);overflow:auto;max-height:70vh}.reports-free-table{width:100%;border-collapse:collapse;font-size:.8rem;min-width:820px}.reports-free-head-row{border-bottom:1px solid rgba(226,232,240,.9)}.reports-free-day-header{position:sticky;top:0;z-index:5;padding:.75rem .9rem;text-align:left;font-size:.75rem;font-weight:600;color:#4b5563;background:#f9fafb}.reports-free-day-header-title{text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;color:#9ca3af}.reports-free-slot-header{position:sticky;top:0;z-index:5;padding:.7rem .4rem;min-width:170px;text-align:center;border-left:1px solid rgba(209,213,219,.6);background:#f9fafb}.reports-free-slot-main{font-size:.75rem;font-weight:700;color:#1f2937}.reports-free-slot-time{font-size:.7rem;color:#6b7280}.reports-free-day-cell{padding:.9rem .8rem;font-weight:600;font-size:.85rem;color:#4b5563;background:#eff6ff;border-right:1px solid #e5e7eb;position:sticky;left:0;z-index:4}.reports-free-slot-cell{padding:.5rem .55rem;vertical-align:top;border-left:1px solid rgba(229,231,235,.9);border-bottom:1px solid rgba(229,231,235,.9);background:#f9fafb}.reports-free-row{border-bottom:1px solid rgba(241,245,249,.9);transition:background-color .15s ease-out}.reports-free-row:hover{background:#f8fafcb3}.reports-free-slot-cell.has-free{background:#f0fdf4}.reports-free-slot-cell.is-full{background:#fff5f5}.reports-free-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;padding:.35rem .4rem;font-size:.75rem;color:#b45309}.reports-free-empty-icon{font-size:.9rem}.reports-free-chip-list{display:flex;flex-wrap:wrap;gap:.3rem}.reports-free-chip{background:#ecfdf5;color:#059669;width:2rem;height:2rem;border-radius:999px;font-size:.7rem;font-weight:600;box-shadow:0 1px 2px #0f766e2e;cursor:default;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center}.reports-free-footer{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(226,232,240,.9);font-size:.75rem;color:#6b7280;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.reports-free-footer-nav{display:flex;gap:.4rem}.reports-free-footer-nav button{width:1.9rem;height:1.9rem;border-radius:.5rem;border:1px solid rgba(226,232,240,.9);background:#fff;color:#9ca3af;font-size:.9rem;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0f172a14}.reports-free-footer-nav button:disabled{opacity:.8}@media(max-width:900px){.reports-toolbar{flex-direction:column;align-items:flex-start}.reports-toolbar-right{justify-content:flex-start}.reports-program-card{padding:1.25rem 1.25rem 1.1rem}.reports-free-card{padding:1.25rem 1.25rem 1rem}}.schools-page{padding:0 0 3rem;animation:fadeIn .6s cubic-bezier(.16,1,.3,1)}.schools-header-premium{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-bottom:1px solid #bfdbfe;padding:3rem 2rem;margin-bottom:2rem;position:relative;overflow:hidden}.schools-header-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:flex-end;gap:2rem}.schools-header-main h1{font-size:2.5rem;font-weight:800;color:#1e293b;margin:0 0 .5rem;letter-spacing:-.02em}.schools-badge{display:inline-block;padding:.25rem .75rem;background:#2563eb;color:#fff;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:uppercase;margin-bottom:.75rem}.schools-add-btn-premium{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:#2563eb;color:#fff;border:none;padding:.85rem 1.75rem;border-radius:12px;font-size:.875rem;font-weight:600;line-height:1.25;cursor:pointer;transition:all .2s;box-shadow:0 10px 25px -5px #2563eb66}.schools-add-btn-premium .schools-add-btn-icon{flex-shrink:0;width:1.25rem;height:1.25rem;display:block}.schools-add-btn-premium:hover{background:#1d4ed8;transform:translateY(-2px)}.schools-toolbar-premium{max-width:1400px;margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem}.schools-toolbar-premium.page-filter-bar{margin-bottom:1.5rem}.schools-count{font-size:.8125rem;color:#64748b;background:#f1f5f9;padding:.5rem 1rem;border-radius:10px;border:1px solid #e2e8f0;white-space:nowrap}.schools-count strong{color:#2563eb;font-weight:700}.schools-toolbar-premium .page-filter-group .ss-select-custom{background:#f8fafc;border:1px solid #e2e8f0;padding:.5rem 2.25rem .5rem .85rem;border-radius:10px;font-size:.875rem;color:#1e293b;font-weight:700;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);outline:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:.9rem;min-width:130px;height:38px}.schools-toolbar-premium .page-filter-group .ss-select-custom:hover{border-color:#cbd5e1;background-color:#f1f5f9}.schools-toolbar-premium .page-filter-group .ss-select-custom:focus{border-color:#3b82f6;background-color:#fff;box-shadow:0 0 0 4px #3b82f614}.clear-filters-btn{display:flex;align-items:center;gap:.4rem;background:#fff1f2;color:#e11d48;border:1px solid #fecdd3;padding:.5rem 1rem;border-radius:10px;font-size:.8125rem;font-weight:700;cursor:pointer;transition:all .2s;height:38px}.clear-filters-btn:hover{background:#e11d48;color:#fff;border-color:#e11d48}.schools-table-container{max-width:1400px;margin:0 auto;padding:0 2rem}.schools-premium-table{width:100%;border-collapse:collapse;font-size:.9375rem}.schools-premium-table th{background:#f8fafc;padding:1.25rem 1.5rem;text-align:left;font-weight:700;color:#475569;font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #f1f5f9}.schools-premium-table td{padding:1rem 1.5rem;border-bottom:1px solid #f1f5f9;color:#334155;vertical-align:middle}.school-row{transition:all .2s}.school-row:hover{background:#f8fafc}.school-row.active-row{background:#eff6ff}.row-index{font-weight:600;color:#94a3b8;font-family:monospace}.school-name-cell{display:flex;align-items:center;gap:1rem}.school-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center}.avatar-blue{background:#dbeafe;color:#1e40af}.avatar-teal{background:#ccfbf1;color:#0f766e}.avatar-emerald{background:#d1fae5;color:#047857}.school-name-text{font-weight:700;color:#0f172a;font-size:1rem}.location-cell,.contact-cell{display:flex;align-items:center;gap:.5rem;color:#64748b}.module-pill-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .85rem;background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;border-radius:999px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s}.module-pill-btn:hover{background:#e2e8f0;color:#1e293b}.module-pill-btn.expanded{background:#2563eb;border-color:#2563eb;color:#fff}.module-pill-btn .chevron{transition:transform .3s}.module-pill-btn.expanded .chevron{transform:rotate(180deg)}.actions-cell{display:flex;justify-content:flex-end;gap:.5rem}.table-action{width:32px;height:32px;border-radius:8px;border:1px solid transparent;background:transparent;color:#64748b;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .15s ease,transform .15s ease}.table-action:hover{transform:scale(1.06)}.table-action.edit:hover{background:transparent;color:#2563eb;border-color:transparent}.expanded-row{background:#fcfdfe}.module-details-panel{padding:2rem;animation:slideDown .4s cubic-bezier(.16,1,.3,1)}.panel-header{display:flex;align-items:center;gap:.6rem;margin-bottom:1.5rem;color:#334155;font-weight:700;font-size:1rem;border-bottom:1px solid #e2e8f0;padding-bottom:1rem}.module-grid-premium{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.premium-module-badge{display:flex;align-items:center;gap:.75rem;padding:.85rem;background:#fff;border:1px solid #e2e8f0;border-radius:12px;transition:all .2s}.premium-module-badge:hover{border-color:#3b82f6;background:#eff6ff;transform:translate(4px)}.m-icon{width:32px;height:32px;background:#f8fafc;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#2563eb}.m-info{display:flex;flex-direction:column}.m-name{font-weight:700;color:#1e293b;font-size:.875rem}.m-code{font-size:.7rem;color:#94a3b8;font-weight:500}.schools-empty-state{text-align:center;padding:5rem 2rem;background:#fff;border-radius:20px;color:#64748b}.module-selection-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:1rem;padding:.5rem 0}.module-chip{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1.25rem .75rem;background:#fff;border:2px solid #e2e8f0;border-radius:16px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);text-align:center;min-height:110px;-webkit-user-select:none;user-select:none;box-shadow:0 4px 6px -1px #0000000d}.module-chip input{display:none}.module-chip:hover:not(.readonly){border-color:#cbd5e1;background:#f8fafc;transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a}.module-chip.selected{border-color:#2563eb;background:#eff6ff;box-shadow:0 10px 15px -3px #2563eb1a}.module-chip.selected:after{content:"";position:absolute;top:10px;right:10px;width:20px;height:20px;background-color:#2563eb;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 13l4 4L19 7'%3E%3C/path%3E%3C/svg%3E");background-size:14px;background-repeat:no-repeat;background-position:center;border-radius:50%;animation:popIn .3s cubic-bezier(.34,1.56,.64,1)}.module-chip-icon{font-size:1.75rem;transition:transform .2s}.module-chip:hover .module-chip-icon{transform:scale(1.1)}.module-chip-name{font-size:.8125rem;font-weight:700;color:#334155;line-height:1.3}.module-chip.readonly{cursor:default;opacity:.7;filter:grayscale(.5);background:#f1f5f9}.module-chip.readonly.selected{filter:none;opacity:1}@keyframes popIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@media(max-width:1024px){.schools-premium-table{font-size:.875rem}.location-cell span,.contact-cell span{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:768px){.premium-table-wrapper{overflow-x:auto}}.users-page-premium{padding:0 0 3rem;animation:fadeIn .6s cubic-bezier(.16,1,.3,1);overflow-x:hidden}.users-header-premium{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-bottom:1px solid #bfdbfe;padding:3rem 2rem;margin-bottom:2rem;position:relative;overflow:hidden}.users-header-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:flex-end;gap:2rem}.users-header-main h1{font-size:2.5rem;font-weight:800;color:#1e293b;margin:0 0 .5rem;letter-spacing:-.02em}.users-badge{display:inline-block;padding:.25rem .75rem;background:#2563eb;color:#fff;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:uppercase;margin-bottom:.75rem}.users-header-sub{display:flex;align-items:center;gap:.5rem;color:#64748b;font-size:.9375rem;margin:0}.users-add-btn-premium{display:flex;align-items:center;gap:.75rem;background:#2563eb;color:#fff;border:none;padding:.85rem 1.75rem;border-radius:12px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 10px 25px -5px #2563eb66}.users-add-btn-premium:hover{background:#1d4ed8;transform:translateY(-2px)}.users-toolbar-premium{max-width:1400px;margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem}.users-toolbar-premium.page-filter-bar{margin-bottom:1.5rem}.users-toolbar-search{min-width:240px;max-width:420px}.users-count{font-size:.8125rem;color:#64748b;background:#f1f5f9;padding:.5rem 1rem;border-radius:10px;border:1px solid #e2e8f0;white-space:nowrap}.users-count strong{color:#2563eb;font-weight:700}.users-table-container{max-width:1400px;margin:0 auto;padding:0 2rem}.premium-table-wrapper{background:#fff;border-radius:20px;border:1px solid #e2e8f0;box-shadow:0 20px 40px -15px #0f172a0d;overflow:hidden}.users-premium-table{width:100%;border-collapse:collapse;font-size:.9375rem;table-layout:fixed}.users-premium-table th{background:#f8fafc;padding:1.25rem 1.5rem;text-align:left;font-weight:700;color:#475569;font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #f1f5f9}.users-premium-table td{padding:1rem 1.5rem;border-bottom:1px solid #f1f5f9;color:#334155;vertical-align:middle}.user-row{transition:all .2s}.user-row:hover{background:#f8fafc}.user-info-cell{display:flex;align-items:center;gap:1rem}.user-avatar{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem}.avatar-indigo{background:#dbeafe;color:#1e40af}.avatar-orange{background:#ffedd5;color:#9a3412}.avatar-purple{background:#f3e8ff;color:#6b21a8}.avatar-teal{background:#ccfbf1;color:#0f763e}.avatar-pink{background:#fce7f3;color:#9d174d}.user-details{display:flex;flex-direction:column;min-width:0}.user-name{font-weight:700;color:#0f172a;overflow-wrap:anywhere}.user-email{display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:#64748b;margin-top:.15rem;overflow-wrap:anywhere}.roles-cell,.school-badges{display:flex;flex-wrap:wrap;gap:.4rem}.role-badge{padding:.2rem .6rem;background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe;border-radius:6px;font-size:.75rem;font-weight:700}.school-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .6rem;background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;border-radius:6px;font-size:.75rem;font-weight:600}.status-badge-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .85rem;border-radius:999px;font-size:.75rem;font-weight:800;cursor:pointer;transition:all .2s;border:1px solid transparent}.status-badge-btn.active{background:#ecfdf5;color:#059669;border-color:#a7f3d0}.status-badge-btn.passive{background:#fef2f2;color:#dc2626;border-color:#fecaca}.status-badge-btn .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.last-activity-cell{display:flex;flex-direction:column}.last-activity-cell .date{display:flex;align-items:center;gap:.4rem;font-size:.8125rem;font-weight:600;color:#475569}.last-activity-cell .time{font-size:.7rem;color:#94a3b8;margin-left:1.25rem}.actions-cell{display:flex;justify-content:flex-end;align-items:center;gap:.4rem;flex-wrap:nowrap;min-width:max-content}.table-action{flex-shrink:0;width:32px;height:32px;border-radius:8px;border:1px solid transparent;background:transparent;color:#64748b;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .15s ease,transform .15s ease}.table-action.delete{background:transparent;color:#94a3b8;border-color:transparent}.table-action.edit:hover{background:transparent;color:#f97316;border-color:transparent}.table-action.role:hover{background:transparent;color:var(--primary);border-color:transparent}.table-action.school:hover{background:transparent;color:#2563eb;border-color:transparent}.table-action.password:hover{background:transparent;color:#059669;border-color:transparent}.table-action.delete:hover{background:transparent;color:#dc2626;border-color:transparent}.alert-premium{max-width:1400px;margin:0 auto 1.5rem;padding:1rem 1.5rem;border-radius:12px;display:flex;align-items:center;gap:1rem;font-weight:600;font-size:.9375rem;animation:slideDown .4s ease-out}.alert-danger{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.alert-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.users-empty-state{text-align:center;padding:5rem 2rem;background:#fff;border-radius:20px;color:#64748b}.modal-selection-list{display:flex;flex-direction:column;gap:.75rem;max-height:400px;overflow-y:auto;padding-right:.5rem}.selection-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s}.selection-item:hover{border-color:#cbd5e1;background:#fff}.selection-item.selected{border-color:#2563eb;background:#eff6ff}.school-modal-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:.75rem;align-items:end;margin-bottom:.75rem}.school-modal-filters .filter-item{display:flex;flex-direction:column;gap:.4rem}.school-modal-filters .filter-item label{font-size:.75rem;font-weight:700;color:#64748b}.school-modal-filters .filter-item select{width:100%;min-height:38px;border:1px solid #cbd5e1;border-radius:10px;padding:.45rem .65rem;font-size:.9rem;background:#fff;color:#0f172a}.school-filter-clear-btn{min-height:38px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc;color:#475569;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:0 .9rem;cursor:pointer}.school-filter-clear-btn.active{background:#fef2f2;border-color:#fca5a5;color:#b91c1c}.school-filter-clear-btn.active:hover{background:#fee2e2;border-color:#ef4444}.school-filter-clear-btn:disabled{opacity:.6;cursor:not-allowed}.school-results-summary{font-size:.82rem;color:#64748b;margin-bottom:.75rem}.school-modal-list-wrapper{border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;max-height:52vh;overflow-y:auto}.school-modal-list{display:flex;flex-direction:column;padding:.5rem;gap:.5rem}.school-list-item{display:flex;align-items:center;gap:.75rem;border:1px solid #e2e8f0;background:#fff;border-radius:10px;padding:.65rem .75rem;cursor:pointer}.school-list-item.selected{border-color:#93c5fd;background:#eff6ff}.school-list-item-content{min-width:0;display:flex;flex-direction:column;gap:.15rem}.school-name-cell{font-weight:700;color:#0f172a;overflow-wrap:anywhere}.school-location-cell{color:#64748b;font-size:.82rem;display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.location-separator{color:#94a3b8}.school-modal-empty{text-align:center;color:#64748b;padding:2rem 1rem}.users-footer{max-width:1400px;margin:2rem auto 0;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.users-page-size{display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:#64748b;font-weight:600}.users-page-size select{padding:.4rem .75rem;border-radius:8px;border:1px solid #e2e8f0;background:#fff}.users-pagination{display:flex;gap:.4rem}.page-nav-btn,.page-number-btn{min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid #e2e8f0;background:#fff;color:#475569;font-weight:700;cursor:pointer;transition:all .2s}.page-number-active{background:#2563eb;border-color:#2563eb;color:#fff}.page-nav-btn:disabled{opacity:.5;cursor:not-allowed}.text-right{text-align:right!important}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.users-header-content{flex-direction:column;align-items:flex-start}.users-toolbar-premium{flex-direction:column;align-items:stretch}.users-toolbar-premium,.users-table-container,.users-footer{padding:0 1rem}.users-toolbar-search{max-width:none;width:100%}.users-toolbar-search .page-filter-search{max-width:none}.users-premium-table{table-layout:auto}.users-premium-table th,.users-premium-table td{padding:.75rem}.school-modal-filters{grid-template-columns:1fr}.school-filter-clear-btn{width:100%}.users-footer{flex-direction:column;align-items:flex-start;gap:.85rem}.users-pagination{flex-wrap:wrap}}.roles-page{padding:2rem clamp(1rem,3vw,2rem) 3rem;max-width:1200px;margin:0 auto;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.roles-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:2rem;flex-wrap:wrap}.roles-header-left{display:flex;align-items:flex-start;gap:1rem}.roles-header-icon{width:44px;height:44px;background:#eff6ff;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#2563eb;flex-shrink:0;border:1px solid #bfdbfe}.roles-title-section h1{margin:0 0 .25rem;font-size:1.5rem;font-weight:800;color:#0f172a;letter-spacing:-.025em}.roles-title-section p{margin:0;color:#6b7280;font-size:.875rem;font-weight:400}.roles-add-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.6rem 1.25rem;border-radius:8px;border:none;background:#2563eb;color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s;flex-shrink:0}.roles-add-btn:hover{background:#1d4ed8}.roles-list{background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;box-shadow:none}.roles-table-header{display:grid;grid-template-columns:1fr auto auto;gap:1rem;padding:1rem 1.75rem;background:#f8fafc;border-bottom:1px solid #e5e7eb;font-size:.7rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.07em}.role-card{border-bottom:1px solid #f1f5f9;transition:background .15s}.role-card:last-child{border-bottom:none}.role-card:hover{background:#f9fafb}.role-card-content{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:1.5rem;padding:1.15rem 1.75rem}.role-info{display:flex;align-items:center;gap:.85rem;min-width:0}.role-icon-box{width:38px;height:38px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.role-icon-box.role-icon-blue{background:#dbeafe;color:#2563eb}.role-icon-box.role-icon-indigo{background:#dbeafe;color:#1d4ed8}.role-icon-box.role-icon-emerald{background:#d1fae5;color:#059669}.role-icon-box.role-icon-amber{background:#fef3c7;color:#d97706}.role-icon-box.role-icon-slate{background:#f1f5f9;color:#475569}.role-details{display:flex;flex-direction:column;min-width:0}.role-name-row{display:flex;align-items:center;gap:.35rem}.role-check-icon{color:#2563eb;font-size:.95rem;flex-shrink:0}.role-name{margin:0;font-size:.95rem;font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.role-description{margin-top:.1rem;font-size:.78rem;color:#9ca3af;font-weight:400}.role-perm-count{display:flex;align-items:center;gap:.5rem;padding:.35rem .9rem;background:#f1f5f9;border-radius:6px;border:1px solid #e2e8f0;white-space:nowrap}.role-perm-icon{color:#2563eb;font-size:1rem}.role-perm-info{display:flex;flex-direction:column;line-height:1.2}.role-perm-label{font-size:.58rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.role-perm-number{font-size:1rem;font-weight:700;color:#0f172a}.role-actions{display:flex;align-items:center;gap:.4rem}.role-action-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .85rem;border-radius:6px;border:1px solid #e5e7eb;background:#fff;color:#374151;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.role-action-btn:hover{background:#f9fafb;border-color:#d1d5db}.role-action-permissions:hover{color:#2563eb;border-color:#bfdbfe;background:#eff6ff}.table-action{flex-shrink:0;width:36px;height:36px;border-radius:10px;border:1px solid transparent;background:transparent;color:#64748b;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:color .15s ease,transform .15s ease;padding:0}.table-action:hover{transform:translateY(-1px)}.table-action.delete.role-action-delete-icon{background:transparent;color:#94a3b8;border-color:transparent}.table-action.delete.role-action-delete-icon:hover{background:transparent;color:#dc2626;border-color:transparent}.permission-group-card{margin-bottom:.5rem;background:#f8fafc;padding:.6rem .85rem;border-radius:8px;border:1px solid #e5e7eb}.permission-group-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;flex-wrap:wrap;gap:.35rem}.permission-group-title-row{display:flex;align-items:center;gap:.5rem}.permission-group-title{margin:0;font-size:.8rem;font-weight:700;color:#1e3a8a;letter-spacing:.01em;text-transform:uppercase}.permission-count-badge{padding:.12rem .5rem;border-radius:999px;font-size:.7rem;font-weight:700;background:#e5e7eb;color:#6b7280}.permission-count-badge.active{background:#dbeafe;color:#1d4ed8}.permission-group-btn{padding:.25rem .7rem;border-radius:5px;border:1px solid transparent;font-size:.72rem;font-weight:700;cursor:pointer;transition:all .15s}.permission-group-btn.primary{background:#eff6ff;color:#2563eb;border-color:#bfdbfe}.permission-group-btn.primary:hover{background:#dbeafe}.permission-group-btn.danger{background:#fef2f2;color:#dc2626;border-color:#fecaca}.permission-group-btn.danger:hover{background:#fee2e2}.permission-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.5rem}.permission-item{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem;border-radius:8px;background:#fff;border:1px solid #e5e7eb;cursor:pointer;transition:all .15s;font-size:.8rem;line-height:1.4}.permission-item:hover{border-color:#93c5fd;background:#f0f7ff;transform:translateY(-1px);box-shadow:0 2px 4px #0000000d}.permission-item.active{background:#f0fdf4;border-color:#86efac;box-shadow:0 1px 2px #00000005}.permission-item input[type=checkbox]{width:15px;height:15px;cursor:pointer;flex-shrink:0;accent-color:#2563eb}.permission-item-text{font-weight:500;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.permission-item.active .permission-item-text{font-weight:600;color:#15803d}@media(max-width:768px){.roles-page{padding:1rem .75rem 2rem}.roles-header{flex-direction:column;align-items:flex-start}.role-card-content{grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:.75rem;padding:1rem 1.25rem}.role-perm-count{grid-column:1}.role-actions{grid-column:2;grid-row:1 / 3;flex-direction:column}.permission-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}@media(max-width:480px){.role-card-content{grid-template-columns:1fr}.role-actions{grid-column:1;grid-row:auto;flex-direction:row;flex-wrap:wrap}.roles-table-header{display:none}}.subscriptions-page{padding:2rem 0 2.5rem}.subs-header{margin-bottom:1.75rem}.subs-header-left{display:flex;align-items:center;gap:.75rem}.subs-header-icon{width:40px;height:40px;border-radius:.9rem;background:#ffedd5;display:flex;align-items:center;justify-content:center;font-size:1.3rem;box-shadow:0 8px 18px #f8996659}.subs-title-section h1{margin:0 0 .15rem;font-size:1.6rem;font-weight:700;color:#0f172a}.subs-title-section p{margin:0;font-size:.9rem;color:#64748b}.subs-filters-card{background:#fff;border-radius:1.25rem;border:1px solid #e2e8f0;box-shadow:0 10px 25px -18px #0f172a73;padding:1.25rem 1.5rem;margin-bottom:1.5rem}.subs-filters{display:flex;flex-wrap:wrap;gap:1.25rem;align-items:flex-end}.subs-filter-group{display:flex;flex-direction:column;gap:.35rem;min-width:200px}.subs-filter-group label{font-size:.8rem;font-weight:600;color:#475569;display:flex;align-items:center;gap:.35rem}.subs-filter-icon{font-size:.9rem}.subs-filter-group select{padding:.55rem .75rem;border-radius:.75rem;border:1px solid #cbd5e1;background:#fff;font-size:.85rem;color:#0f172a;box-shadow:0 2px 6px #0f172a0a}.subs-filter-group select:focus{outline:none;border-color:#2563eb;box-shadow:0 1px 3px #0000001a}.subs-filter-actions{display:flex;align-items:center;gap:.75rem;margin-left:auto;flex-wrap:wrap}.subs-clear-btn{border-radius:.75rem;border:none;padding:.5rem 1.1rem;background:#e5e7eb;color:#374151;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .15s ease,transform .15s ease}.subs-clear-btn:hover{background:#d1d5db;transform:translateY(-1px)}.subs-record-count{font-size:.8rem;color:#9ca3af;white-space:nowrap}.subs-table-card{background:#fff;border-radius:1.25rem;border:1px solid #e2e8f0;box-shadow:0 16px 40px -22px #0f172a80;overflow:hidden}.subs-table-card .table-container{width:100%;overflow-x:auto}.subs-table-card table{width:100%;border-collapse:collapse}.subs-table-card thead tr{background:#f8fafc}.subs-table-card thead th{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#64748b;padding:.9rem 1.5rem;border-bottom:1px solid #e2e8f0;background:#f8fafc!important;position:static}.subs-table-card tbody tr.subs-row{border-bottom:1px solid #e5e7eb;transition:background .12s ease}.subs-table-card tbody tr.subs-row:hover{background:#f9fafb}.subs-table-card td{padding:.9rem 1.5rem;font-size:.86rem;color:#374151}.subs-school-cell{font-weight:600;color:#111827}.sub-module-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600;border-width:1px;border-style:solid}.sub-module-badge-blue{background:#dbeafe;border-color:#bfdbfe;color:#1d4ed8}.sub-module-badge-emerald{background:#d1fae5;border-color:#a7f3d0;color:#047857}.sub-module-badge-indigo{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8}.sub-module-badge-purple{background:#ede9fe;border-color:#ddd6fe;color:#6d28d9}.sub-module-badge-default{background:#e5e7eb;border-color:#d1d5db;color:#374151}.subs-date-cell{color:#6b7280}.subs-days-cell{color:#4b5563}.subs-days-warning{color:#b91c1c;font-weight:600}.subs-days-unlimited{color:#9ca3af}.subs-status-cell{text-align:center}.subs-status{display:inline-flex;align-items:center;justify-content:center;min-width:64px;padding:.15rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600}.subs-status-active{background:#ecfdf5;color:#16a34a}.subs-status-passive{background:#fef2f2;color:#dc2626}.subs-actions-cell{text-align:right}.subs-actions{display:inline-flex;align-items:center;gap:.4rem}.subs-icon-btn{width:30px;height:30px;border-radius:.55rem;border:none;background:#e5e7eb;color:#1d4ed8;font-size:.8rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease,transform .15s ease}.subs-icon-btn:hover{background:#d1d5db;transform:translateY(-1px)}.subs-extend-btn{border-radius:.55rem;border:none;padding:.4rem .9rem;background:#2563eb;color:#fff;font-size:.78rem;font-weight:600;cursor:pointer;box-shadow:0 6px 14px #2563eb73;transition:background .15s ease,transform .15s ease,box-shadow .15s ease}.subs-extend-btn:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 8px 18px #2563eb80}.subs-empty-cell{text-align:center;padding:2rem 1rem;color:#6b7280}.subs-table-footer{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;border-top:1px solid #e5e7eb;background:#f9fafb;font-size:.78rem;color:#6b7280}.subs-table-nav{display:flex;gap:.4rem}.subs-table-nav button{padding:.25rem .6rem;border-radius:.4rem;border:1px solid #e5e7eb;background:#fff;color:#6b7280;font-size:.75rem;cursor:pointer}.subs-table-nav button:hover{background:#eff6ff;color:#1d4ed8}.text-center{text-align:center}.text-right{text-align:right}@media(max-width:768px){.subscriptions-page{padding:1rem 0 1.5rem}.subs-filters{flex-direction:column;align-items:stretch}.subs-filter-group{width:100%}.subs-filter-actions{margin-left:0;width:100%;justify-content:space-between}.subs-clear-btn{flex:1;text-align:center}.subs-record-count{text-align:right;width:100%}}.modules-page{padding:2rem 1.5rem 2.5rem;max-width:1200px;margin:0 auto;background:#fff;border-radius:1.5rem;box-shadow:0 18px 40px -28px #0f172a8c}.modules-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.75rem;flex-wrap:wrap;gap:1rem}.modules-header-left{display:flex;align-items:center;gap:.9rem}.modules-header-icon{width:44px;height:44px;border-radius:1rem;background:#e0f2fe;display:flex;align-items:center;justify-content:center;color:#2563eb;box-shadow:0 1px 3px #0000001a}.modules-title-section h1{margin:0 0 .15rem;font-size:1.6rem;font-weight:700;color:#0f172a}.modules-title-section p{margin:0;font-size:.9rem;color:#64748b}.modules-header-actions{display:flex;align-items:center}.modules-settings-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1.1rem;border-radius:.75rem;border:1px solid #e2e8f0;background:#fff;color:#475569;font-size:.85rem;font-weight:500;cursor:pointer;box-shadow:0 4px 10px #94a3b840;transition:background .15s ease,box-shadow .15s ease,transform .15s ease}.modules-settings-btn:hover{background:#f8fafc;transform:translateY(-1px);box-shadow:0 8px 18px #94a3b859}.modules-settings-icon{font-size:.9rem}.modules-main-card{background:#fff;border-radius:1.5rem;border:1px solid #e2e8f0;box-shadow:0 18px 45px -24px #0f172a99;overflow:hidden}.modules-table-header{background:#f1f5f9;border-bottom:1px solid #e2e8f0}.modules-header-row{display:grid;grid-template-columns:80px 160px 1.2fr 2.2fr 140px;padding:.9rem 1.75rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#6b7280}.modules-header-row .col-icon,.modules-header-row .col-code,.modules-header-row .col-name,.modules-header-row .col-desc,.modules-header-row .col-status{white-space:nowrap}.modules-header-row .col-icon,.modules-header-row .col-status{text-align:center}.modules-list{display:flex;flex-direction:column;gap:0}.module-row{border-bottom:1px solid #e5e7eb}.module-row-inner{display:grid;grid-template-columns:80px 160px 1.2fr 2.2fr 140px;padding:1rem 1.75rem;align-items:center;gap:.75rem;transition:background .12s ease}.module-row:hover .module-row-inner{background:#f9fafb}.module-icon-wrapper{width:48px;height:48px;border-radius:1rem;background:#eff6ff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 14px #94a3b880}.module-icon-display{font-size:1.4rem}.module-code-text{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.82rem;color:#6b7280;background:#f1f5f9;border-radius:.4rem;padding:.3rem .6rem}.module-name-text{font-size:.95rem;font-weight:600;color:#0f172a}.module-desc-text{font-size:.86rem;color:#64748b}.module-status-col{display:flex;justify-content:center}.module-status-toggle{display:inline-flex;align-items:center;gap:.6rem}.modules-toggle-switch{position:relative;width:52px;height:28px;border-radius:999px;border:none;background:#cbd5e1;padding:0;cursor:pointer;transition:background .25s ease,box-shadow .25s ease}.modules-toggle-switch .modules-toggle-slider{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:999px;background:#fff;box-shadow:0 2px 4px #0f172a33;transition:transform .25s ease}.modules-toggle-switch.active{background:#10b981;box-shadow:0 0 10px #10b98166}.modules-toggle-switch.active .modules-toggle-slider{transform:translate(24px)}.modules-toggle-switch:disabled{opacity:.6;cursor:default}.status-text{font-size:.84rem;font-weight:500}.status-text.active{color:#10b981}.status-text.inactive{color:#ef4444}.modules-loading-row,.modules-empty{padding:2.5rem 1.75rem;text-align:center;color:#6b7280}.modules-footer{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1.75rem;background:#f9fafb;border-top:1px solid #e2e8f0;font-size:.8rem;color:#6b7280}.modules-footer-count{font-weight:600;color:#111827}.modules-footer-nav{display:flex;gap:.35rem}.modules-footer-nav button{border-radius:.45rem;border:1px solid #e2e8f0;background:#fff;padding:.25rem .7rem;font-size:.78rem;color:#6b7280;cursor:pointer}.modules-footer-nav button.active{background:#fff;color:#3b82f6;font-weight:600;box-shadow:0 3px 8px #94a3b880}.modules-footer-nav button:disabled{opacity:.5;cursor:default}@media(max-width:900px){.modules-header{flex-direction:column;align-items:stretch}.modules-header-actions{align-self:flex-end}.modules-header-row,.module-row-inner{grid-template-columns:64px 1.2fr 1.4fr 2fr 120px}}@media(max-width:640px){.modules-page{padding:1.25rem 1rem 2rem}.modules-header-row{display:none}.module-row-inner{grid-template-columns:1fr;align-items:flex-start;gap:.35rem}.module-status-col{justify-content:flex-start;margin-top:.4rem}}.academic-years-page{padding:1.5rem 0 2.5rem}.academic-years-header{max-width:1120px;margin:0 auto 1.75rem;background:#fff;border-radius:1.5rem;padding:1.5rem 1.75rem;display:flex;justify-content:space-between;align-items:center;gap:1.25rem;box-shadow:0 10px 26px -18px #0f172a99;border:1px solid #e2e8f0}.academic-years-header-left{display:flex;align-items:center;gap:.9rem}.academic-years-header-icon{width:40px;height:40px;border-radius:.9rem;background:#eff6ff;display:flex;align-items:center;justify-content:center;color:#3b82f6}.academic-years-title-section h1{margin:0 0 .2rem;font-size:1.6rem;font-weight:700;color:#0f172a}.academic-years-title-section p{margin:0;color:#64748b;font-size:.9rem}.academic-years-actions{display:flex;align-items:center}.academic-years-add-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.4rem;border-radius:.9rem;border:none;background:#2563eb;color:#fff;font-size:.88rem;font-weight:600;cursor:pointer;box-shadow:0 14px 30px #2563eb66;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.academic-years-add-btn:hover{transform:translateY(-1px);filter:brightness(1.03);box-shadow:0 18px 38px #2563eb80}.academic-years-add-btn:active{transform:translateY(0);box-shadow:0 10px 24px #2563eb73}.academic-years-card{max-width:1120px;margin:0 auto;background:#fff;border-radius:1.5rem;border:1px solid #e2e8f0;box-shadow:0 16px 40px -24px #0f172a80;overflow:hidden}.academic-years-card .table-container{padding:.25rem .75rem .75rem}.academic-years-card table{border-collapse:collapse}.academic-years-card thead tr{background:#dbeafe}.academic-years-card thead th{background:#dbeafe!important;color:#475569;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:.85rem 1.25rem;border-bottom:1px solid #e2e8f0;position:static}.academic-years-card tbody tr:hover{background:#f9fafb}.academic-years-card td{padding:.9rem 1.25rem}.ay-code-pill{display:inline-flex;align-items:center;padding:.3rem .8rem;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:.8rem;font-weight:600}.ay-name-text{font-size:.9rem;font-weight:700;color:#0f172a}.ay-order-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:.8rem;font-weight:700;box-shadow:0 1px 3px #0f172a26}.ay-desc-text{font-size:.86rem;color:#64748b}.badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.85rem;font-weight:500}@media(max-width:768px){.academic-years-page{padding:1rem 0 1.5rem}}.students-page{padding-bottom:2rem}.students-header{background:#fff;border-radius:1.25rem;padding:1.5rem 1.75rem;margin-bottom:1.75rem;display:flex;flex-direction:column;gap:1.25rem;box-shadow:0 1px 3px #0000001a;border:1px solid #f1f5f9}.students-header-main{display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.students-title-section{display:flex;align-items:center;gap:1rem}.students-icon{width:44px;height:44px;border-radius:999px;background:#eff6ff;color:#2563eb;display:flex;align-items:center;justify-content:center}.students-title-section h1{font-size:1.5rem;font-weight:800;color:#0f172a;margin:0 0 .15rem}.students-title-section p{color:#64748b;font-weight:500;margin:0}.students-header-actions{display:flex;flex-wrap:wrap;gap:.5rem}.students-btn{display:inline-flex;align-items:center;gap:.4rem;border-radius:999px;border:1px solid transparent;padding:.45rem .9rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .18s ease-out}.students-btn span{white-space:nowrap}.students-btn-ghost{background:#f8fafc;color:#475569;border-color:#e2e8f0}.students-btn-ghost:hover{background:#f1f5f9;box-shadow:0 1px 3px #0000001a}.students-btn-soft{background:#eff6ff;color:#2563eb;border-color:#bfdbfe}.students-btn-soft:hover{background:#dbeafe;box-shadow:0 1px 3px #0000001a}.students-btn-primary{background:#2563eb;color:#f9fafb;border:none;box-shadow:0 1px 3px #0000001a}.students-btn-primary:hover{background:#1d4ed8;box-shadow:0 1px 3px #0000001a}.students-header-search{display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.students-search-input-wrapper{flex:1;display:flex;align-items:center;gap:.5rem;background:#fff;border-radius:999px;padding:.45rem .85rem;border:1px solid #e2e8f0}.students-search-input-wrapper:focus-within{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.students-search-input-wrapper svg{color:#64748b}.students-search-input-wrapper input{border:none;outline:none;background:transparent;width:100%;font-size:.9rem;color:#0f172a}.students-search-input-wrapper input::placeholder{color:#94a3b8}.students-header-count{display:flex;flex-direction:column;align-items:flex-end;font-size:.8rem;color:#64748b}.students-header-count .count-number{font-size:1.1rem;font-weight:700;color:#1f2937}.students-filters{background:#fff;border-radius:18px;padding:1.25rem 1.5rem;margin-bottom:1.75rem;display:flex;gap:1.5rem;align-items:flex-end;box-shadow:0 8px 30px -18px #0f172a2e;border:1px solid rgba(148,163,184,.25)}.filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:200px}.filter-group label{font-size:.85rem;font-weight:600;color:#475569}.students-clear-btn{padding:.5rem 1rem;font-size:.85rem;font-weight:500;color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.students-clear-btn:hover{background:#fee2e2;border-color:#fca5a5}.students-card{background:#fff;border-radius:24px;padding:1.5rem 1.5rem 1.25rem;border:1px solid rgba(148,163,184,.25);box-shadow:0 18px 40px -24px #0f172a4d}.students-card .table-container{border-radius:18px;border-color:#e2e8f0cc;background:#fff}.students-card .table-container thead tr{background:#f8fafc}.students-card .table-container th{background:transparent;color:#1f2937;font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.06em;position:static;border-bottom:1px solid #e5e7eb}.student-avatar{width:38px;height:38px;border-radius:999px;background:radial-gradient(circle at 30% 0%,#ecfeff,#22c55e 30%,#16a34a);color:#ecfeff;font-weight:700;font-size:.8rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.students-actions-inline{display:flex;justify-content:center;gap:.35rem}.students-table-footer{margin-top:1.1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.8rem;color:#64748b}.students-table-summary span strong{color:#111827}.students-pagination{display:flex;align-items:center;gap:.25rem}.students-page-size-selector{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#64748b}.students-page-size-selector select{padding:.2rem .5rem;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#0f172a;font-size:.85rem;cursor:pointer;outline:none;transition:all .2s}.students-page-size-selector select:hover{border-color:#2563eb}.students-page-size-selector select:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.students-page-btn{width:32px;height:32px;border-radius:999px;border:1px solid rgba(148,163,184,.7);background:#fff;color:#4b5563;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;cursor:pointer;transition:all .16s ease-out}.students-page-btn:hover:not(:disabled){background:#eff6ff;color:#1d4ed8;border-color:#93c5fd}.students-page-btn:disabled{opacity:.45;cursor:default}.students-page-btn.number{width:30px;height:30px;font-weight:600}.students-page-btn.number.active{background:#1d4ed8;color:#e5e7eb;border-color:#1d4ed8;box-shadow:0 10px 25px -10px #2563eb8c}@media(max-width:900px){.students-header{flex-direction:column;align-items:stretch}.students-header-main{flex-direction:column;align-items:flex-start}.students-header-actions{width:100%;flex-wrap:nowrap;overflow-x:auto;padding-bottom:.25rem}.students-header-search{flex-direction:column;align-items:stretch}.students-header-count{align-items:flex-start}.students-filters{flex-direction:column}.students-table-footer{flex-direction:column;align-items:flex-start}}.student-payments-page{padding:2rem 0 2.5rem}.payments-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.75rem;flex-wrap:wrap;gap:1.25rem}.payments-header-left{display:flex;align-items:center;gap:.85rem}.payments-header-icon{width:40px;height:40px;border-radius:1rem;background:#eff6ff;display:flex;align-items:center;justify-content:center;color:#2563eb}.payments-title-section h1{margin:0 0 .2rem;font-size:1.65rem;font-weight:700;color:#0f172a}.payments-title-section p{color:#64748b;margin:0;font-size:.85rem}.payments-actions{display:flex;gap:.75rem;flex-wrap:wrap}.payments-new-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.2rem;border-radius:.9rem;border:none;background:#2563eb;color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;box-shadow:0 1px 3px #0000001a;transition:transform .15s ease-out,box-shadow .15s ease-out,background .15s ease-out}.payments-new-btn:hover{background:#1d4ed8;box-shadow:0 1px 3px #0000001a;transform:translateY(-1px)}.student-payments-page .page-filter-bar.payments-filter-bar{padding:1.15rem 1.35rem}.payments-filter-bar .page-filter-group{display:flex;flex-direction:column;gap:6px;flex:1;min-width:180px}.payments-filter-bar .page-filter-label{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#9ca3af}.payments-filter-bar .page-filter-group select{height:44px;border:1.5px solid #E5E7EB;border-radius:8px;padding:0 14px;font-family:inherit;font-size:14px;font-weight:500;color:#1f2937;background:#f9fafb;outline:none;transition:border-color .18s,background .18s,box-shadow .18s;appearance:none;-webkit-appearance:none;cursor:pointer;width:100%}.payments-filter-bar .select-wrapper{position:relative}.payments-filter-bar .select-wrapper:after{content:"";position:absolute;right:12px;top:50%;transform:translateY(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #9CA3AF;pointer-events:none}.payments-filter-bar .page-filter-group select:focus{border-color:#2563eb;background:#fff;box-shadow:0 1px 3px #0000001a}.payments-filter-bar .page-filter-group select:hover{border-color:#9ca3af;background:#fff}.payments-filter-bar .payments-filter-divider{width:1px;height:44px;background:#e5e7eb;flex-shrink:0;align-self:flex-end}.payments-filter-bar .payments-filter-extra-actions{display:flex;gap:10px;align-items:center;align-content:flex-end;flex-shrink:0;flex-wrap:wrap}.payments-filter-bar .btn{height:44px;border-radius:8px;font-family:inherit;font-size:13px;font-weight:700;letter-spacing:.04em;cursor:pointer;border:none;outline:none;transition:all .18s ease;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;padding:0 18px}.payments-filter-bar .btn-overdue{background:#fef2f2;color:#991b1b;border:1px solid #fca5a5;box-shadow:0 1px 3px #0000001a}.payments-filter-bar .btn-overdue:hover{background:#fee2e2;box-shadow:0 1px 3px #0000001a}.payments-filter-bar .btn-overdue.active{background:#fecaca;color:#991b1b;border-color:#f87171;box-shadow:inset 0 2px 4px #0000001a}.payments-filter-bar .btn-ghost{background:#f3f4f6;color:#4b5563;border:1.5px solid #E5E7EB}.payments-filter-bar .btn-ghost:hover{background:#e5e7eb;color:#1f2937}.payments-filter-bar .btn svg{width:15px;height:15px;flex-shrink:0}.payments-card{background:#fff;border-radius:1.5rem;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a;overflow:hidden}.installment-badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;background:#eff6ff;color:#2563eb;font-size:.85rem;font-weight:500}.installment-item{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:1rem 1.25rem;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.installment-no{font-weight:600;color:#1e293b}.installment-date{font-size:.85rem;color:#64748b}.installment-amount{font-size:1.1rem;font-weight:600;color:#2563eb}.installment-status{display:flex;align-items:center;gap:.5rem}.status-paid{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;color:#10b981}.status-paid span{font-weight:500}.status-paid small{font-size:.75rem;color:#059669}.status-pending{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;color:#f59e0b}.status-pending span{font-weight:500}.payments-card .table-container{padding:0}.payments-card .table-container table{border-collapse:collapse}.payments-card .table-container th,.payments-card .table-container td{border-left:none;border-right:none}.payments-card .table-container thead tr{background:#f8fafc;border-bottom:1px solid #e2e8f0}.payments-card .table-container th{background:#f8fafc;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;position:sticky;top:0;z-index:5}.payments-card .table-container td{font-size:.85rem}.payments-card .table-container tbody tr:nth-child(2n){background-color:#fafafa}.payments-card .table-container tbody tr:hover{background-color:#f1f5f9}.payments-card .table-container tbody tr:nth-child(2n):hover{background-color:#f1f5f9}.payment-cell-total{font-weight:600;color:#1d4ed8;background:#eff6ff;padding:.2rem .5rem;border-radius:8px}.payment-amount-stack{display:flex;flex-direction:column;gap:.2rem}.payment-cell-paid{display:inline-block;font-weight:600;color:#166534;background:#f0fdf4;padding:.2rem .5rem;border-radius:8px}.payment-amount-meta{font-size:.8rem;color:#64748b}.payment-cell-remaining{display:inline-block;font-weight:600;color:#9a3412;background:#fff7ed;padding:.2rem .5rem;border-radius:8px}.payment-cell-cleared{display:inline-block;font-weight:600;color:#166534;background:#f0fdf4;padding:.2rem .5rem;border-radius:8px}.payments-card .table-container tr.table-row-overdue{background-color:#fffbeb!important}.payments-card .table-container tr.table-row-overdue:hover{background-color:#fef3c7!important}.payments-table-footer{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;border-top:1px solid #e2e8f0;background:#f8fafc;font-size:.75rem;color:#6b7280}.payments-table-footer-nav{display:flex;gap:.35rem}.payments-table-footer-nav button{padding:.25rem .45rem;border-radius:.4rem;border:1px solid #e5e7eb;background:#f3f4f6;color:#6b7280;font-size:.85rem;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 2px #0f172a0f}.payments-table-footer-nav button:hover:not(:disabled){background:#e5e7eb;border-color:#d1d5db;color:#374151}.payments-table-footer-nav button:disabled{opacity:.55;cursor:default}.payments-table-footer-nav button.primary{background:#eff6ff;border-color:#93c5fd;color:#2563eb;font-weight:600}.payments-table-footer-nav button:focus-visible{outline:2px solid #2563eb;outline-offset:2px}@media(max-width:768px){.student-payments-page{padding:1rem}.payments-header{flex-direction:column;align-items:stretch}.payments-actions{justify-content:stretch}.payments-actions button{flex:1;justify-content:center}.payments-filter-bar{flex-direction:column;align-items:stretch;gap:12px}.payments-filter-bar .payments-filter-divider{display:none}.payments-filter-bar .payments-filter-extra-actions{flex-direction:column;align-items:stretch;width:100%}.payments-filter-bar .btn{width:100%;justify-content:center}.installment-item{flex-direction:column;align-items:stretch;gap:1rem}.installment-status{justify-content:flex-start}.status-paid,.status-pending{flex-direction:row;align-items:center}.status-paid small{margin-left:auto}}.installment-item.partial{border-left:none;background:#fffbeb;border-color:#fde68a}.table-row-overdue{background-color:#fffbeb!important}.table-row-overdue:hover{background-color:#fef3c7!important}.installment-item.overdue{border-color:#fde68a;background-color:#fffbeb}.installment-item.overdue .installment-date{color:#b45309;font-weight:500}.income-report-page{padding-bottom:2rem}.income-report-header{background:#fff;border-radius:24px;padding:1.5rem 2rem;margin-bottom:1.75rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 20px -2px #0f172a0f;border:1px solid #e5e7eb}.income-report-header-left{display:flex;align-items:center;gap:1rem}.income-report-header-icon{padding:.75rem;border-radius:16px;background:#eff6ff;color:#2563eb;display:inline-flex;align-items:center;justify-content:center;font-size:1.75rem}.income-report-title-section h1{font-size:1.75rem;font-weight:800;color:#0f172a;margin-bottom:.2rem}.income-report-title-section p{color:#64748b;font-weight:500;font-size:.9rem}.income-summary-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin-bottom:1.75rem}.income-summary-card{position:relative;background:#fff;border-radius:24px;padding:1.25rem 1.5rem;display:flex;align-items:center;box-shadow:0 4px 20px -2px #0f172a0f;border:1px solid #e5e7eb;overflow:hidden}.income-summary-accent{position:absolute;left:0;top:1rem;bottom:1rem;width:6px;border-radius:0 999px 999px 0}.income-summary-main{display:flex;align-items:center;gap:1.25rem;padding-left:.75rem}.income-summary-icon{width:56px;height:56px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:1.75rem}.income-summary-content{display:flex;flex-direction:column;gap:.2rem}.income-summary-label{font-size:.9rem;font-weight:500;color:#64748b}.income-summary-value{font-size:1.6rem;font-weight:700;color:#0f172a}.income-summary-total .income-summary-accent{background:#3b82f6}.income-summary-total .income-summary-icon{background:#eff6ff;color:#3b82f6}.income-summary-paid .income-summary-accent{background:#22c55e}.income-summary-paid .income-summary-icon{background:#f0fdf4;color:#16a34a}.income-summary-remaining .income-summary-accent{background:#f97316}.income-summary-remaining .income-summary-icon{background:#fff7ed;color:#ea580c}.income-report-filters{background:#fff;border-radius:24px;padding:1.5rem;margin-bottom:1.75rem;box-shadow:0 4px 20px -2px #0f172a0f;border:1px solid #e5e7eb;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}.income-filter-group{display:flex;flex-direction:column;gap:.4rem}.income-filter-group label{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#64748b;margin-left:2px}.income-filter-group select{width:100%;padding:.7rem .9rem;border-radius:14px;border:1px solid #e5e7eb;background:#f8fafc;font-size:.9rem;font-weight:500;color:#0f172a}.income-filter-group select:focus{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 1px 3px #0000001a}.income-filter-group select:disabled{background:#f1f5f9;cursor:not-allowed;opacity:.7}.income-clear-btn{padding:.5rem 1rem;font-size:.85rem;font-weight:500;color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.income-clear-btn:hover{background:#fee2e2;border-color:#fca5a5}.income-report-card{background:#fff;border-radius:20px;padding:1.5rem;border:1px solid rgba(0,0,0,.05);box-shadow:0 10px 25px -5px #00000008}.income-report-card .table-container{width:100%;overflow-x:auto}.income-report-card table{width:100%;min-width:800px;border-collapse:collapse}.income-report-card thead tr{background:#f8fafc;border-bottom:1px solid #e2e8f0}.income-report-card thead th{position:sticky;top:0;background:#f8fafc;padding:.9rem 1.25rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#64748b;text-align:left;white-space:nowrap;border-left:none;border-right:none}.income-report-card tbody td{padding:.9rem 1.25rem;font-size:.9rem;color:#1f2937;border-left:none;border-right:none}.income-report-card tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .15s ease}.income-report-card tbody tr:nth-child(2n){background-color:#fafafa}.income-report-card tbody tr:hover{background-color:#f1f5f9}.income-report-card tbody tr:nth-child(2n):hover{background-color:#f1f5f9}.income-report-card tbody tr:last-child{border-bottom:none}.income-student-cell{display:flex;align-items:center;gap:.75rem}.income-student-avatar{width:32px;height:32px;border-radius:999px;background:#eff6ff;color:#1d4ed8;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.income-student-name{font-weight:600;color:#111827}.amount-cell{font-weight:600;font-family:inherit;display:inline-block;padding:.25rem .55rem;border-radius:8px;font-size:.875rem}.amount-col-paid{color:#166534;background:#f0fdf4}.amount-col-remaining{color:#9a3412;background:#fff7ed}.amount-col-cleared{color:#166534;background:#f0fdf4}.status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.35rem .7rem;border-radius:999px;font-size:.8rem;font-weight:500}.status-badge.paid{background:#f0fdf4;color:#166534}.status-badge.overdue{background:#fef2f2;color:#991b1b}.status-badge.pending{background:#fffbeb;color:#92400e}.status-icon{font-size:1rem}.row-overdue{background-color:#fffbeb!important}.row-overdue:hover{background-color:#fef3c7!important}.installments-list{display:flex;flex-direction:column;gap:.75rem}.installment-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.installment-item.paid{background:#f0fdf4;border-color:#bbf7d0}.installment-item.overdue,.installment-item.partial{background:#fffbeb;border-color:#fde68a}.installment-info{display:flex;flex-direction:column;gap:.25rem}.installment-number{font-weight:600;color:#0f172a}.installment-date{font-size:.875rem;color:#64748b}.installment-amount{font-size:1.125rem;font-weight:700;color:#3b82f6}.installment-paid-info{font-size:.8rem;color:#9a3412;font-weight:500}.installment-status small{font-size:.75rem;opacity:.8}@media(max-width:1024px){.summary-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.income-report-header{flex-direction:column;align-items:flex-start;gap:1rem;padding:1rem 1.5rem}.summary-cards{grid-template-columns:1fr;gap:1rem}.summary-card{padding:1rem}.summary-value{font-size:1.25rem}.income-report-filters{flex-direction:column;gap:.75rem}.filter-group{width:100%;min-width:unset}.income-report-card{padding:1rem}.installment-item{flex-direction:column;align-items:flex-start}}.collect-modal-title{display:flex;align-items:center;gap:.5rem;color:#22c55e}.collect-modal-title svg{font-size:1.25rem}.collect-payment-content{padding:.5rem 0}.payment-info-header{background:#2563eb;border-radius:12px;padding:1rem;margin-bottom:1.5rem;border:1px solid #e2e8f0}.payment-info-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px dashed #e2e8f0}.payment-info-row:last-child{border-bottom:none}.payment-info-row.highlight{background:#22c55e1a;margin:.5rem -1rem -1rem;padding:.75rem 1rem;border-radius:0 0 12px 12px;border-bottom:none}.info-label{font-size:.875rem;color:#64748b}.info-value{font-weight:600;color:#1e293b}.info-value.amount{color:#3b82f6;font-size:1rem}.info-value.paid{color:#22c55e}.info-value.remaining{color:#22c55e;font-size:1.125rem;font-weight:700}.collect-form .form-group{margin-bottom:1.25rem}.collect-form .form-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:#475569;margin-bottom:.5rem}.collect-form .label-icon{color:#22c55e;font-size:1rem}.collect-form .required{color:#ef4444}.collect-form .form-control{width:100%;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:10px;font-size:1rem;transition:all .2s ease;background:#fff}.collect-form .form-control:focus{outline:none;border-color:#22c55e;box-shadow:0 0 0 4px #22c55e1a}.collect-form .form-control.has-error{border-color:#ef4444;background:#ef444405}.collect-form .form-control::placeholder{color:#94a3b8}.collect-form textarea.form-control{resize:none}.collect-form .error-message{display:flex;align-items:center;gap:.375rem;color:#ef4444;font-size:.8rem;margin-top:.375rem}.collect-form .error-message svg{font-size:1rem}.payment-method-options{display:flex;gap:.75rem}.payment-method-option{flex:1;display:flex;align-items:center;justify-content:center;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:all .2s ease;background:#f8fafc}.payment-method-option:hover{border-color:#22c55e;background:#22c55e0d}.payment-method-option.selected{border-color:#22c55e;background:#22c55e1a}.payment-method-option input[type=radio]{display:none}.payment-method-option .method-label{font-weight:600;color:#475569;font-size:.875rem}.payment-method-option.selected .method-label{color:#22c55e}.collect-modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e2e8f0}.collect-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600}.collect-btn svg{font-size:1.125rem}.spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.sms-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.75rem;gap:1.5rem;padding:1.15rem 1.35rem;border-radius:var(--radius-lg);background:linear-gradient(165deg,#fff,#fafbfc);border:1px solid rgb(226 232 240 / .95);box-shadow:var(--elev-header)}.sms-title-section{display:flex;align-items:center;gap:.9rem}.sms-title-icon{padding:.6rem;border-radius:14px;background:#eff6ff;color:#2563eb;display:inline-flex;align-items:center;justify-content:center;font-size:1.6rem;box-shadow:inset 0 1px #ffffffb3,0 2px 6px #2563eb1f}.sms-title-section h1{font-size:2rem;font-weight:800;color:#0f172a;margin:0 0 .1rem}.sms-title-section p{color:#64748b;margin:0;font-weight:400}.sms-actions{display:flex;align-items:center}.sms-send-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.7rem 1.4rem;border-radius:.9rem;border:1px solid rgba(37,99,235,.25);background:#2563eb0f;color:#1d4ed8;font-weight:600;font-size:.9rem;cursor:pointer;transition:background .2s ease,border-color .2s ease,box-shadow .22s ease,transform .2s ease;box-shadow:inset 0 1px #ffffffa6,0 2px 6px #2563eb1f,0 6px 14px -4px #2563eb2e}.sms-send-btn:hover{background:#2563eb24;border-color:#2563eb73;box-shadow:inset 0 1px #ffffffbf,0 4px 10px #2563eb2e,0 12px 24px -6px #2563eb40;transform:translateY(-1px)}@media(prefers-reduced-motion:reduce){.sms-send-btn:hover{transform:none}}.sms-send-btn svg{transform:translate(0);transition:transform .2s ease}.sms-send-btn:hover svg{transform:translate(2px)}.sms-credits-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin-bottom:1.75rem}.credit-item{text-align:center;background:linear-gradient(165deg,#fff,#fafbfc);border-radius:20px;padding:1.5rem 1.5rem 1.35rem;border:1px solid rgb(226 232 240 / .95);box-shadow:var(--card-shadow-base);transition:box-shadow .28s ease,transform .22s ease,border-color .22s ease}.credit-item:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-2px);border-color:#cbd5e1f2}@media(prefers-reduced-motion:reduce){.credit-item:hover{transform:none}}.credit-label{display:block;font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;color:#94a3b8;margin-bottom:.5rem}.credit-value{display:block;font-size:2.2rem;font-weight:700;color:#0f172a}.credit-value-used{color:#1d4ed8}.credit-value-remaining{color:#16a34a}.credit-underline{width:64px;height:4px;border-radius:999px;margin:.6rem auto 0}.credit-underline-blue{background:#2563eb}.credit-underline-sky{background:#38bdf8}.credit-underline-green{background:#bbf7d0}.sms-page-filters.page-filter-bar{margin-bottom:1.75rem;padding:1.25rem 1.75rem;border:1px solid rgb(226 232 240 / .95);border-radius:var(--radius-lg);background:linear-gradient(165deg,#fff,#fafbfc);box-shadow:var(--card-shadow-base);align-items:flex-end;flex-wrap:wrap}.sms-page-filters .page-filter-group .form-control,.sms-page-filters .page-filter-group input[type=date]{min-height:2.75rem;box-sizing:border-box}.sms-logs-card{background:linear-gradient(165deg,#fff,#fafbfc);border-radius:16px;padding:0;overflow:hidden;border:1px solid rgb(226 232 240 / .95);box-shadow:var(--card-shadow-base);transition:box-shadow .28s ease}.sms-logs-card:hover{box-shadow:var(--card-shadow-hover)}.sms-logs-header{padding:1.35rem 2rem;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.sms-logs-header h2{font-size:1.1rem;font-weight:600;color:#111827;margin:0}.sms-logs-menu-btn{border:none;background:transparent;cursor:pointer;color:#9ca3af;font-size:1.3rem;line-height:1}.sms-logs-menu-btn:hover{color:#4b5563}.sms-logs-card .table-container{padding:0 2rem}.sms-logs-card table{width:100%;border-collapse:collapse}.sms-logs-card thead tr{background:#f9fafb;border-bottom:1px solid #e5e7eb}.sms-logs-card thead th{padding:.85rem 1rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#6b7280!important;text-align:left;background:#f9fafb!important;position:static;top:auto}.sms-logs-card tbody td{padding:.9rem 1rem;font-size:.9rem;color:#1f2937}.sms-logs-card tbody tr{border-bottom:1px solid #f3f4f6;transition:background-color .15s ease}.sms-logs-card tbody tr:hover{background-color:#eff6ff}.sms-logs-card tbody tr:last-child{border-bottom:none}.sms-logs-footer{padding:1rem 2rem 1.25rem;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:#6b7280}.sms-pagination{display:flex;gap:.4rem}.page-btn{width:32px;height:32px;border-radius:10px;border:1px solid #e5e7eb;background:#fff;font-size:.8rem;color:#4b5563;cursor:default}.page-btn-active{background:#2563eb;color:#fff;border-color:#2563eb}.student-checkboxes{max-height:200px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:8px;padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.checkbox-item{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.25rem;border-radius:4px;transition:background .2s}.checkbox-item:hover{background:#f1f5f9}.checkbox-item input[type=checkbox]{width:16px;height:16px;accent-color:#2563EB}.message-info{display:flex;justify-content:space-between;margin-top:.5rem;font-size:.85rem;color:#64748b}.message-info .error{color:#dc2626;font-weight:600}.sms-recipient-cell{display:flex;align-items:center;gap:.75rem}.sms-recipient-avatar{width:32px;height:32px;border-radius:999px;background:#eff6ff;color:#1d4ed8;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.sms-recipient-name{font-weight:500;color:#111827}.sms-phone{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.85rem;color:#4b5563}.sms-message{max-width:260px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#6b7280;font-size:.88rem}.sms-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;padding:.15rem .5rem;border-radius:999px;background:#e5e7eb;color:#111827;font-size:.8rem;font-weight:500}.sms-status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;border-radius:999px;font-size:.8rem;font-weight:500}.sms-status-dot{width:8px;height:8px;border-radius:999px;background:currentColor}.sms-status-icon{width:14px;height:14px}.sms-status-text{line-height:1}.sms-status-sent{background:#dcfce7;color:#16a34a}.sms-status-pending{background:#e5e7eb;color:#6b7280}.sms-status-failed{background:#fee2e2;color:#dc2626}.sms-date{font-size:.85rem;color:#6b7280}.send-result{text-align:center}.send-result h3{margin-bottom:1.5rem;color:#1e293b}.result-stats{display:flex;justify-content:center;gap:2rem;margin-bottom:1.5rem}.result-stats .stat{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;border-radius:12px;min-width:100px}.result-stats .stat.success{background:#dcfce7;color:#166534}.result-stats .stat.error{background:#fef2f2;color:#dc2626}.result-stats .stat.info{background:#eff6ff;color:#1d4ed8}.error-list{text-align:left;background:#fef2f2;padding:1rem;border-radius:8px;margin-top:1rem}.error-list h4{margin:0 0 .5rem;color:#dc2626}.error-list ul{margin:0;padding-left:1.25rem;color:#7f1d1d;font-size:.875rem}@media(max-width:768px){.sms-header{flex-direction:column;align-items:flex-start;padding:1rem 1.1rem}.sms-page-filters.page-filter-bar{padding:1rem 1.15rem}.sms-logs-header{padding:1.15rem}.sms-logs-card .table-container{padding-left:1rem;padding-right:1rem}.sms-logs-footer{padding-left:1.15rem;padding-right:1.15rem}.sms-credits-card{grid-template-columns:1fr}.credit-value{font-size:1.5rem}.result-stats{flex-direction:column;gap:1rem}}.sms-class-checkboxes{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem 0}.sms-class-empty{color:var(--gray, #64748b);font-size:.875rem}.sms-class-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .85rem;border-radius:20px;border:1px solid var(--gray-light, #e2e8f0);background:#fff;cursor:pointer;font-size:.85rem;color:var(--gray, #64748b);transition:all .15s ease;-webkit-user-select:none;user-select:none}.sms-class-chip:hover{border-color:var(--primary);color:var(--primary-dark)}.sms-class-chip.active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.sms-class-chip input[type=checkbox]{display:none}@media(max-width:768px){.sms-class-chip{padding:.35rem .75rem;font-size:.8rem}}.sms-settings-page{padding:2rem}.sms-settings-page .page-header{margin-bottom:2rem}.sms-settings-page .page-header h1{display:flex;align-items:center;gap:.75rem;font-size:1.75rem;color:var(--text-primary);margin:0}.sms-settings-page .page-header p{color:var(--text-secondary);margin:.5rem 0 0}.settings-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--border-color);padding-bottom:0}.tab-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:transparent;border:none;font-size:.95rem;color:var(--text-secondary);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .2s}.tab-btn:hover{color:var(--primary);background:var(--bg-secondary)}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.settings-card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 1px 3px #0000001a}.settings-card h3{margin:0 0 .5rem;font-size:1.25rem;color:var(--text-primary)}.card-description{color:var(--text-secondary);font-size:.9rem;margin-bottom:1.5rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.form-actions{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end}.toggle-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:.95rem;color:var(--text-primary)}.toggle-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.credit-form{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.credit-form select,.credit-form input{flex:1;min-width:200px}.credit-form .btn{flex-shrink:0}.sms-settings-page .table-container{overflow-x:auto}.sms-settings-page table{width:100%;border-collapse:collapse}.sms-settings-page th,.sms-settings-page td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-color)}.sms-settings-page th{background:var(--bg-secondary);font-weight:600;color:var(--text-secondary);font-size:.85rem;text-transform:uppercase}.badge-success{background:var(--success-light);color:var(--success);padding:.25rem .5rem;border-radius:4px;font-size:.85rem;font-weight:600}.badge-warning{background:var(--warning-light);color:var(--warning);padding:.25rem .5rem;border-radius:4px;font-size:.85rem;font-weight:600}.access-denied{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}@media(max-width:768px){.sms-settings-page{padding:1rem}.settings-tabs{flex-wrap:wrap}.tab-btn{flex:1;justify-content:center}.credit-form{flex-direction:column}.credit-form select,.credit-form input{width:100%}}.inst-page{min-height:100vh;background-color:#f8fafc;padding-bottom:3rem;color:#1e293b}.inst-container{max-width:1000px;margin:0 auto;padding:2rem 1.5rem}.inst-header-modern{background:#fff;border-radius:20px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -2px #0000000d;border:1px solid #e2e8f0}.inst-header-content{display:flex;justify-content:space-between;align-items:center;gap:2rem}.inst-header-title-box{display:flex;align-items:center;gap:1.25rem}.inst-header-icon-modern{width:56px;height:56px;background:#eff6ff;color:#3b82f6;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.75rem}.inst-header-title-box h1{font-size:1.5rem;font-weight:700;color:#0f172a;margin:0 0 .25rem}.inst-header-title-box p{font-size:.875rem;color:#64748b;margin:0}.inst-save-btn-modern{display:flex;align-items:center;gap:.75rem;background:#1e293b;color:#fff;padding:.75rem 1.5rem;border-radius:12px;font-weight:600;font-size:.875rem;border:none;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #1e293b26;white-space:nowrap}.inst-save-btn-modern:hover:not(:disabled){background:#0f172a;transform:translateY(-2px);box-shadow:0 6px 16px #1e293b33}.inst-save-btn-modern:disabled{opacity:.6;cursor:not-allowed}.inst-form-layout{display:grid;grid-template-columns:1fr 340px;gap:2rem}.inst-form-main{display:flex;flex-direction:column;gap:2rem}.inst-card-modern{position:relative;background:linear-gradient(165deg,#fff,#fafbfc);border-radius:20px;border:1px solid rgb(226 232 240 / .95);overflow:hidden;box-shadow:var(--card-shadow-base);transition:box-shadow .28s ease,transform .22s ease}.inst-card-modern:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-1px)}@media(prefers-reduced-motion:reduce){.inst-card-modern:hover{transform:none}}.inst-card-header{padding:1.25rem 1.5rem;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;gap:.75rem;background:#f8fafc}.inst-card-icon{color:#3b82f6;font-size:1.25rem}.inst-card-header h2{font-size:1rem;font-weight:600;color:#334155;margin:0}.inst-card-body{padding:1.5rem}.inst-form-group-modern{display:flex;flex-direction:column;gap:.5rem}.inst-form-group-modern label{font-size:.8125rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.025em}.inst-input-modern{width:100%;padding:.75rem 1rem;border-radius:10px;border:1px solid #e2e8f0;background:#fafafa;color:#1e293b;font-size:.9375rem;transition:all .2s ease}.inst-input-modern:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 4px #3b82f61a}.inst-input-modern[readonly]{background:#f1f5f9;color:#94a3b8;cursor:default}.inst-textarea-modern{width:100%;padding:.75rem 1rem;border-radius:10px;border:1px solid #e2e8f0;background:#fafafa;color:#1e293b;font-size:.9375rem;resize:vertical;min-height:100px}.inst-input-with-icon{position:relative;display:flex;align-items:center}.inst-input-with-icon .prefix-icon{position:absolute;left:1rem;color:#94a3b8}.inst-input-modern.has-prefix{padding-left:2.75rem}.inst-input-with-suffix{display:flex;align-items:center;gap:.75rem}.inst-input-with-suffix .suffix{font-size:.875rem;color:#64748b;font-weight:500}.inst-help-text{font-size:.75rem;color:#94a3b8;margin-top:.25rem}.inst-personnel-section{display:flex;flex-direction:column}.inst-person-item{position:relative;display:flex;gap:1.25rem;padding:1.25rem;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.inst-person-badge{width:24px;height:24px;background:#3b82f6;color:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0}.inst-person-fields{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.inst-remove-badge-btn{position:absolute;top:-10px;right:-10px;width:24px;height:24px;background:#ef4444;color:#fff;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 4px #ef444433;transition:transform .2s ease}.inst-remove-badge-btn:hover{transform:scale(1.1)}.inst-add-personnel-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;background:#f0f9ff;color:#0369a1;border:2px dashed #bae6fd;border-radius:12px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s ease}.inst-add-personnel-btn:hover{background:#e0f2fe;border-color:#7dd3fc}.inst-info-card{background:#2563eb;border-radius:20px;padding:2rem;color:#fff;position:relative;overflow:hidden;box-shadow:0 10px 15px -3px #3b82f633}.info-bg-icon{position:absolute;top:-10px;right:-10px;opacity:.15;transform:rotate(15deg)}.inst-info-card h3{font-size:1.125rem;font-weight:700;margin:0 0 .75rem}.inst-info-card p{font-size:.875rem;line-height:1.6;margin:0 0 1.5rem;opacity:.9}.inst-last-update{background:#ffffff1a;padding:.75rem 1rem;border-radius:10px;font-size:.75rem;display:flex;flex-direction:column;gap:.25rem}.inst-last-update span{opacity:.7}.inst-alerts-container{margin-bottom:1.5rem}.inst-alert-modern{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border-radius:12px;margin-bottom:.75rem;animation:inst-slide-down .3s ease}.inst-alert-modern.error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.inst-alert-modern.success{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.inst-alert-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;flex-shrink:0}.inst-alert-modern.error .inst-alert-icon{background:#fee2e2}.inst-alert-modern.success .inst-alert-icon{background:#dcfce7}.inst-alert-message{font-size:.875rem;font-weight:500}.inst-spinner-small{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:inst-spin .6s linear infinite}@keyframes inst-spin{to{transform:rotate(360deg)}}@keyframes inst-slide-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:992px){.inst-form-layout{grid-template-columns:1fr}}@media(max-width:768px){.inst-header-modern{padding:1.5rem}.inst-header-content{flex-direction:column;align-items:stretch;gap:1.5rem}.inst-save-btn-modern{justify-content:center}.inst-person-fields{grid-template-columns:1fr}}.mt-3{margin-top:.75rem}.mt-4{margin-top:1.5rem}.inst-fade-in{animation:inst-slide-down .3s ease}color: #94a3b8; } .inst-textarea-wrapper{position:relative}.inst-textarea{width:100%;padding:1rem 1.25rem;background:#f1f5f980;border:none;border-radius:16px;font-size:.95rem;color:#1e293b;transition:all .3s ease;box-shadow:0 1px 3px #0000000a;resize:none;font-family:inherit;min-height:90px}.inst-textarea:focus{outline:none;background:#fff;box-shadow:0 0 0 3px #3b82f626}.inst-textarea::placeholder{color:#94a3b8}.inst-textarea-icon{position:absolute;bottom:12px;right:12px;color:#cbd5e1;pointer-events:none}.inst-divider{display:flex;align-items:center;gap:1rem;padding:.5rem 0}.inst-divider-line{flex:1;height:1px;background:#e2e8f099}.inst-divider-text{padding:.25rem 1rem;background:#fff6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:9999px;font-size:.7rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.1em}.inst-add-title-wrapper{display:flex;justify-content:flex-end;padding-top:.5rem}.inst-add-title-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem 0;background:none;border:none;color:#3b82f6;font-size:.875rem;font-weight:500;cursor:pointer;transition:color .2s ease}.inst-add-title-btn:hover{color:#1d4ed8}.inst-remove-title-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem 0;background:none;border:none;color:#ef4444;font-size:.875rem;font-weight:500;cursor:pointer;transition:color .2s ease}.inst-remove-title-btn:hover{color:#dc2626}.inst-title2-row{animation:inst-fade-in .3s ease}@keyframes inst-fade-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.inst-input[type=number]{-moz-appearance:textfield}.inst-input[type=number]::-webkit-outer-spin-button,.inst-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.inst-footer{text-align:center}.inst-footer p{font-size:.75rem;color:#94a3b8;font-weight:300;margin:0}@media(max-width:768px){.inst-container{padding:1.5rem 1rem}.inst-subtitle{padding-left:0;margin-top:.5rem}.inst-save-btn{margin-left:0;width:100%}.inst-glass-card{padding:1.5rem;border-radius:20px}}@media(min-width:768px){.inst-header{flex-direction:row;flex-wrap:wrap;align-items:flex-start;justify-content:space-between}.inst-header-left{flex:none}.inst-subtitle{order:3;flex-basis:100%}.inst-save-btn{order:2;margin-left:0}}.about-page{min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#1e293b;background:#fff;overflow-x:hidden}.about-bg-decorations{position:fixed;inset:0;pointer-events:none;z-index:0}.about-bg-decorations .shape{position:absolute;opacity:.03}.about-bg-decorations .shape-square{width:200px;height:200px;background:#3b82f6;border-radius:24px;transform:rotate(45deg)}.about-bg-decorations .shape-triangle{width:0;height:0;border-left:80px solid transparent;border-right:80px solid transparent;border-bottom:140px solid #2563EB}.about-bg-decorations .shape-circle{width:180px;height:180px;background:#10b981;border-radius:50%}.about-bg-decorations .shape-square-soft{width:150px;height:150px;background:#f97316;border-radius:32px}.about-navbar{position:fixed;top:0;left:0;right:0;padding:1rem 5%;display:flex;justify-content:space-between;align-items:center;background:#fffffff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1000;border-bottom:1px solid rgba(0,0,0,.05)}.about-navbar-brand{text-decoration:none}.about-nav-links{display:flex;gap:2rem}.about-nav-links a{color:#475569;text-decoration:none;font-weight:500;font-size:.95rem;transition:color .2s}.about-nav-links a:hover,.about-nav-links a.active{color:#3b82f6}.about-nav-actions{display:flex;gap:.75rem}.about-nav-actions .btn-demo{padding:.625rem 1.25rem;color:#3b82f6;text-decoration:none;font-weight:600;font-size:.875rem;border-radius:8px;border:1px solid #e2e8f0;transition:all .2s}.about-nav-actions .btn-demo:hover{border-color:#3b82f6;background:#3b82f60d}.about-nav-actions .btn-login{padding:.625rem 1.25rem;background:#2563eb;color:#fff;text-decoration:none;font-weight:600;font-size:.875rem;border-radius:8px;transition:all .2s}.about-nav-actions .btn-login:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f659}.about-hero{position:relative;padding:10rem 5% 6rem;text-align:center;overflow:hidden}.about-hero-bg{position:absolute;inset:0;pointer-events:none}.about-hero-bg .blob{position:absolute;width:400px;height:400px;border-radius:50%;filter:blur(100px);opacity:.25;animation:floatBlob 18s ease-in-out infinite}.about-hero-bg .blob-blue{background:#3b82f6;top:-100px;right:15%}.about-hero-bg .blob-purple{background:#2563eb;bottom:-100px;left:15%;animation-delay:4s}@keyframes floatBlob{0%,to{transform:translateY(0) translate(0)}50%{transform:translateY(-40px) translate(30px)}}.about-hero-content{position:relative;z-index:2;max-width:800px;margin:0 auto}.about-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;background:#2563eb,#8b5cf61a);border:1px solid rgba(59,130,246,.2);border-radius:100px;font-size:.875rem;font-weight:600;color:#3b82f6;margin-bottom:1.5rem}.about-hero h1{font-size:3.25rem;font-weight:800;color:#0f172a;line-height:1.15;margin-bottom:1.5rem;letter-spacing:-.02em}.about-hero h1 span{background:#2563eb;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.about-hero p{font-size:1.25rem;color:#64748b;line-height:1.7}.about-container{max-width:1200px;margin:0 auto;padding:0 5%}.about-section{padding:5rem 0;position:relative;z-index:1}.section-header{text-align:center;margin-bottom:3.5rem}.section-header h2{font-size:2.25rem;font-weight:800;color:#0f172a;margin-bottom:.75rem;letter-spacing:-.02em}.section-header p{font-size:1.1rem;color:#64748b;max-width:600px;margin:0 auto}.about-who{background:#2563eb}.about-who-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.about-who-text h2{display:flex;align-items:center;gap:.75rem;font-size:2rem;font-weight:800;color:#0f172a;margin-bottom:1.5rem}.about-who-text h2 .section-icon{color:#3b82f6;font-size:2rem}.about-who-text p{font-size:1.1rem;color:#475569;line-height:1.8;margin-bottom:1.25rem}.about-who-text p strong{color:#0f172a}.about-who-visual{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.about-who-visual .visual-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:2rem;text-align:center;transition:all .3s}.about-who-visual .visual-card:first-child{grid-column:span 2}.about-who-visual .visual-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px #00000014;border-color:#3b82f6}.about-who-visual .visual-card svg{color:#3b82f6;margin-bottom:.75rem}.about-who-visual .visual-card span{display:block;font-weight:600;color:#1e293b;font-size:.95rem}.about-services{background:#fff}.service-category{margin-bottom:4rem}.service-category:last-child{margin-bottom:0}.category-header{display:flex;align-items:flex-start;gap:1.5rem;margin-bottom:2rem}.category-number{width:48px;height:48px;background:#2563eb;color:#fff;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;flex-shrink:0}.category-title h3{font-size:1.5rem;font-weight:700;color:#0f172a;margin-bottom:.25rem}.category-title p{color:#64748b;font-size:1rem}.modules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.modules-grid-2{grid-template-columns:repeat(2,1fr)}.module-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:2rem;transition:all .3s cubic-bezier(.16,1,.3,1)}.module-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px #00000014;border-color:transparent}.module-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem}.module-card h4{font-size:1.15rem;font-weight:700;color:#0f172a;margin-bottom:.75rem}.module-card p{color:#64748b;font-size:.95rem;line-height:1.7}.communication-card{display:flex;align-items:center;gap:2.5rem;background:#2563eb;border:1px solid #e2e8f0;border-radius:24px;padding:2.5rem}.communication-icon{width:100px;height:100px;background:#2563eb;border-radius:24px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.communication-content h4{font-size:1.35rem;font-weight:700;color:#0f172a;margin-bottom:.75rem}.communication-content p{color:#64748b;font-size:1rem;line-height:1.7;margin-bottom:1.25rem}.communication-features{display:flex;gap:1.5rem;flex-wrap:wrap}.communication-features span{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;color:#475569}.communication-features span svg{color:#2563eb}.about-vision{background:#2563eb}.vision-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.vision-card{background:#fff;border:1px solid #e2e8f0;border-radius:24px;padding:2.5rem;text-align:center;transition:all .3s}.vision-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px #00000014}.vision-card.mission .vision-icon{background:#2563eb,#f973160d);color:#f97316}.vision-card.vision .vision-icon{background:#2563eb,#3b82f60d);color:#3b82f6}.vision-icon{width:80px;height:80px;border-radius:20px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.vision-card h3{font-size:1.5rem;font-weight:700;color:#0f172a;margin-bottom:1rem}.vision-card p{color:#64748b;font-size:1rem;line-height:1.8}.vision-card p strong{color:#0f172a}.about-why{background:#fff}.advantages-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.advantage-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:2rem;text-align:center;transition:all .3s cubic-bezier(.16,1,.3,1)}.advantage-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px #00000014;border-color:transparent}.advantage-icon{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem}.advantage-card h4{font-size:1.1rem;font-weight:700;color:#0f172a;margin-bottom:.75rem}.advantage-card p{color:#64748b;font-size:.9rem;line-height:1.7}.about-cta{background:#2563eb;padding:5rem 0}.cta-content{text-align:center;max-width:700px;margin:0 auto}.cta-content h2{font-size:2.5rem;font-weight:800;color:#fff;margin-bottom:1rem;letter-spacing:-.02em}.cta-content p{font-size:1.15rem;color:#94a3b8;margin-bottom:2rem;line-height:1.7}.cta-actions{display:flex;justify-content:center;gap:1rem}.btn-cta-primary{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;background:#fff;color:#2563eb;text-decoration:none;font-weight:600;font-size:1rem;border-radius:12px;transition:all .3s}.btn-cta-primary:hover{transform:translateY(-2px);box-shadow:0 10px 25px #ffffff4d}.btn-cta-secondary{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;text-decoration:none;font-weight:600;font-size:1rem;border-radius:12px;transition:all .3s}.btn-cta-secondary:hover{background:#ffffff26;border-color:#ffffff4d}.about-footer{background:#2563eb;padding:4rem 0 2rem}.footer-brand p{color:#ffffffd9;font-size:.95rem;margin-top:1rem;line-height:1.7}.footer-column h4{color:#fff;font-size:.95rem;font-weight:600;margin-bottom:1.25rem}.footer-column a{display:block;color:#fffc;text-decoration:none;font-size:.9rem;margin-bottom:.75rem;transition:color .2s}.footer-column a:hover{color:#fff}.footer-bottom{padding-top:2rem;text-align:center}.footer-bottom p{color:#ffffffb3;font-size:.875rem}@media(max-width:1024px){.about-hero h1{font-size:2.5rem}.about-who-content{grid-template-columns:1fr;gap:3rem}.modules-grid,.advantages-grid{grid-template-columns:repeat(2,1fr)}.footer-content{grid-template-columns:1fr}}@media(max-width:768px){.about-navbar{padding:.75rem 4%}.about-nav-links{display:none}.about-hero{padding:8rem 4% 4rem}.about-hero h1{font-size:2rem}.about-hero p{font-size:1.05rem}.section-header h2{font-size:1.75rem}.modules-grid,.modules-grid-2,.vision-grid,.advantages-grid{grid-template-columns:1fr}.communication-card{flex-direction:column;text-align:center}.communication-features{justify-content:center}.cta-content h2{font-size:1.75rem}.cta-actions{flex-direction:column;align-items:center}.footer-links{grid-template-columns:1fr;text-align:center}}@media(max-width:480px){.about-nav-actions .btn-demo{display:none}.about-hero h1{font-size:1.75rem}.category-header{flex-direction:column;align-items:center;text-align:center}.about-who-visual{grid-template-columns:1fr}.about-who-visual .visual-card:first-child{grid-column:span 1}}.privacy-page{min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#1e293b;background:#fff;overflow-x:hidden}.privacy-bg-decorations{position:fixed;inset:0;pointer-events:none;z-index:0}.privacy-bg-decorations .shape{position:absolute;opacity:.03}.privacy-bg-decorations .shape-square{width:200px;height:200px;background:#3b82f6;border-radius:24px;transform:rotate(45deg)}.privacy-bg-decorations .shape-triangle{width:0;height:0;border-left:80px solid transparent;border-right:80px solid transparent;border-bottom:140px solid #10b981}.privacy-bg-decorations .shape-circle{width:180px;height:180px;background:#2563eb;border-radius:50%}.privacy-navbar{position:fixed;top:0;left:0;right:0;padding:1rem 5%;display:flex;justify-content:space-between;align-items:center;background:#fffffff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1000;border-bottom:1px solid rgba(0,0,0,.05)}.privacy-navbar-brand{text-decoration:none}.privacy-nav-links{display:flex;gap:2rem}.privacy-nav-links a{color:#475569;text-decoration:none;font-weight:500;font-size:.95rem;transition:color .2s}.privacy-nav-links a:hover{color:#3b82f6}.privacy-nav-actions{display:flex;gap:.75rem}.privacy-nav-actions .btn-demo{padding:.625rem 1.25rem;color:#3b82f6;text-decoration:none;font-weight:600;font-size:.875rem;border-radius:8px;border:1px solid #e2e8f0;transition:all .2s}.privacy-nav-actions .btn-demo:hover{border-color:#3b82f6;background:#3b82f60d}.privacy-nav-actions .btn-login{padding:.625rem 1.25rem;background:#2563eb;color:#fff;text-decoration:none;font-weight:600;font-size:.875rem;border-radius:8px;transition:all .2s}.privacy-nav-actions .btn-login:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f659}.privacy-hero{position:relative;padding:10rem 5% 5rem;text-align:center;overflow:hidden}.privacy-hero-bg{position:absolute;inset:0;pointer-events:none}.privacy-hero-bg .blob{position:absolute;width:350px;height:350px;border-radius:50%;filter:blur(100px);opacity:.2;animation:floatBlob 18s ease-in-out infinite}.privacy-hero-bg .blob-blue{background:#3b82f6;top:-80px;right:20%}.privacy-hero-bg .blob-green{background:#10b981;bottom:-80px;left:20%;animation-delay:4s}.privacy-hero-content{position:relative;z-index:2;max-width:700px;margin:0 auto}.privacy-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;background:#2563eb,#10b9810d);border:1px solid rgba(16,185,129,.2);border-radius:100px;font-size:.875rem;font-weight:600;color:#10b981;margin-bottom:1.5rem}.privacy-hero h1{font-size:3rem;font-weight:800;color:#0f172a;line-height:1.2;margin-bottom:1rem;letter-spacing:-.02em}.privacy-hero h1 span{background:#2563eb;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.privacy-hero .last-update{font-size:1rem;color:#64748b;font-weight:500}.privacy-container{max-width:900px;margin:0 auto;padding:0 5%}.privacy-section{padding:4rem 0;position:relative;z-index:1}.section-header h2{font-size:1.75rem;font-weight:700;color:#0f172a;margin:0}.section-desc{color:#64748b;font-size:1.05rem;line-height:1.7;margin-bottom:2rem}.privacy-intro{background:#2563eb;padding:3rem 0}.data-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.data-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:1.75rem;transition:all .3s cubic-bezier(.16,1,.3,1)}.data-card:hover{transform:translateY(-4px);box-shadow:0 15px 30px #00000014;border-color:transparent}.data-card-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.data-card h3{font-size:1.1rem;font-weight:700;color:#0f172a;margin-bottom:.5rem}.data-card p{color:#64748b;font-size:.95rem;line-height:1.6}.privacy-purposes{background:#f8fafc}.purpose-item{display:flex;align-items:flex-start;gap:1rem;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem 1.5rem;transition:all .2s}.purpose-item:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a}.purpose-check{width:36px;height:36px;background:#2563eb,#10b9810d);color:#10b981;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.purpose-item p{color:#475569;font-size:1rem;line-height:1.6;margin:0;padding-top:.4rem}.security-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2rem}.security-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:2rem;text-align:center;transition:all .3s}.security-card:hover{transform:translateY(-4px);box-shadow:0 15px 30px #00000014}.security-icon{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem}.security-card h3{font-size:1.15rem;font-weight:700;color:#0f172a;margin-bottom:.75rem}.security-card p{color:#64748b;font-size:.95rem;line-height:1.6}.security-note{display:flex;align-items:flex-start;gap:1rem;background:#2563eb,#10b98108);border:1px solid rgba(16,185,129,.2);border-radius:16px;padding:1.5rem}.security-note svg{color:#10b981;flex-shrink:0;margin-top:.2rem}.security-note p{color:#475569;font-size:1rem;line-height:1.6;margin:0}.security-note strong{color:#0f172a}.privacy-sharing{background:#f8fafc}.sharing-cards{display:flex;flex-direction:column;gap:1.25rem}.sharing-card{display:flex;align-items:flex-start;gap:1.5rem;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:1.75rem;transition:all .2s}.sharing-card:hover{box-shadow:0 10px 25px #0000000f}.sharing-icon{width:56px;height:56px;background:#2563eb,#2563eb0d);color:#2563eb;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sharing-content h3{font-size:1.1rem;font-weight:700;color:#0f172a;margin-bottom:.5rem}.sharing-content p{color:#64748b;font-size:.95rem;line-height:1.6;margin:0}.kvkk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.kvkk-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:2rem;text-align:center;transition:all .3s}.kvkk-card:hover{transform:translateY(-4px);box-shadow:0 15px 30px #00000014;border-color:#3b82f6}.kvkk-icon{width:60px;height:60px;background:#2563eb,#3b82f60d);color:#3b82f6;border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem}.kvkk-card h3{font-size:1.1rem;font-weight:700;color:#0f172a;margin-bottom:.75rem}.kvkk-card p{color:#64748b;font-size:.9rem;line-height:1.6}.privacy-contact{background:#2563eb}.contact-box{display:flex;align-items:center;gap:2.5rem;background:#2563eb;border-radius:24px;padding:3rem}.contact-icon{width:100px;height:100px;background:#ffffff26;color:#fff;border-radius:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.contact-content h2{font-size:1.75rem;font-weight:700;color:#fff;margin-bottom:.75rem}.contact-content p{color:#94a3b8;font-size:1rem;line-height:1.7;margin-bottom:1.5rem}.contact-info{display:flex;gap:2rem;flex-wrap:wrap}.contact-link{display:flex;align-items:center;gap:.5rem;color:#fff;text-decoration:none;font-weight:500;font-size:.95rem;padding:.75rem 1.25rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.1);border-radius:10px;transition:all .2s}.contact-link:hover{background:#ffffff26;border-color:#fff3}.contact-link svg{color:#fff}.privacy-footer{background:#2563eb;padding:4rem 0 2rem}.privacy-footer .footer-content{display:grid;grid-template-columns:1.5fr 2fr;gap:4rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.15)}.privacy-footer .footer-brand p{color:#ffffffd9;font-size:.95rem;margin-top:1rem;line-height:1.7}.privacy-footer .footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.privacy-footer .footer-column h4{color:#fff;font-size:.95rem;font-weight:600;margin-bottom:1.25rem}.privacy-footer .footer-column a{display:block;color:#fffc;text-decoration:none;font-size:.9rem;margin-bottom:.75rem;transition:color .2s}.privacy-footer .footer-column a:hover{color:#fff}.privacy-footer .footer-bottom{padding-top:2rem;text-align:center}.privacy-footer .footer-bottom p{color:#ffffffb3;font-size:.875rem}@media(max-width:1024px){.privacy-hero h1{font-size:2.5rem}.security-grid,.kvkk-grid{grid-template-columns:repeat(2,1fr)}.privacy-footer .footer-content{grid-template-columns:1fr}}@media(max-width:768px){.privacy-navbar{padding:.75rem 4%}.privacy-nav-links{display:none}.privacy-hero{padding:8rem 4% 4rem}.privacy-hero h1{font-size:2rem}.section-header h2{font-size:1.5rem}.data-cards-grid,.security-grid,.kvkk-grid{grid-template-columns:1fr}.contact-box{flex-direction:column;text-align:center;padding:2rem}.contact-info{justify-content:center}.privacy-footer .footer-links{grid-template-columns:1fr;text-align:center}}@media(max-width:480px){.privacy-nav-actions .btn-demo{display:none}.privacy-hero h1{font-size:1.75rem}.section-header{flex-direction:column;align-items:flex-start;gap:.75rem}.intro-content{padding:1.5rem}.sharing-card{flex-direction:column;text-align:center}.sharing-icon{margin:0 auto}.contact-info{flex-direction:column}}.terms-page{min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#1e293b;background:#fff;overflow-x:hidden}.terms-bg-decorations{position:fixed;inset:0;pointer-events:none;z-index:0}.terms-bg-decorations .shape{position:absolute;opacity:.03}.terms-bg-decorations .shape-square{width:200px;height:200px;background:#2563eb;border-radius:24px;transform:rotate(45deg)}.terms-bg-decorations .shape-triangle{width:0;height:0;border-left:80px solid transparent;border-right:80px solid transparent;border-bottom:140px solid #f97316}.terms-bg-decorations .shape-circle{width:180px;height:180px;background:#3b82f6;border-radius:50%}.terms-navbar{position:fixed;top:0;left:0;right:0;padding:1rem 5%;display:flex;justify-content:space-between;align-items:center;background:#fffffff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1000;border-bottom:1px solid rgba(0,0,0,.05)}.terms-navbar-brand{text-decoration:none}.terms-nav-links{display:flex;gap:2rem}.terms-nav-links a{color:#475569;text-decoration:none;font-weight:500;font-size:.95rem;transition:color .2s}.terms-nav-links a:hover{color:#3b82f6}.terms-nav-actions{display:flex;gap:.75rem}.terms-nav-actions .btn-demo{padding:.625rem 1.25rem;color:#3b82f6;text-decoration:none;font-weight:600;font-size:.875rem;border-radius:8px;border:1px solid #e2e8f0;transition:all .2s}.terms-nav-actions .btn-demo:hover{border-color:#3b82f6;background:#3b82f60d}.terms-nav-actions .btn-login{padding:.625rem 1.25rem;background:#2563eb;color:#fff;text-decoration:none;font-weight:600;font-size:.875rem;border-radius:8px;transition:all .2s}.terms-nav-actions .btn-login:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f659}.terms-hero{position:relative;padding:10rem 5% 5rem;text-align:center;overflow:hidden}.terms-hero-bg{position:absolute;inset:0;pointer-events:none}.terms-hero-bg .blob{position:absolute;width:350px;height:350px;border-radius:50%;filter:blur(100px);opacity:.2;animation:floatBlob 18s ease-in-out infinite}.terms-hero-bg .blob-blue{background:#3b82f6;top:-80px;right:20%}.terms-hero-bg .blob-purple{background:#2563eb;bottom:-80px;left:20%;animation-delay:4s}@keyframes floatBlob{0%,to{transform:translateY(0) translate(0)}50%{transform:translateY(-30px) translate(20px)}}.terms-hero-content{position:relative;z-index:2;max-width:700px;margin:0 auto}.terms-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;background:#2563eb,#2563eb0d);border:1px solid rgba(37,99,235,.2);border-radius:100px;font-size:.875rem;font-weight:600;color:#2563eb;margin-bottom:1.5rem}.terms-hero h1{font-size:3rem;font-weight:800;color:#0f172a;line-height:1.2;margin-bottom:1rem;letter-spacing:-.02em}.terms-hero h1 span{background:#2563eb;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.terms-hero .effective-date{font-size:1rem;color:#64748b;font-weight:500}.terms-container{max-width:900px;margin:0 auto;padding:0 5%}.terms-section{padding:3.5rem 0;position:relative;z-index:1}.section-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.section-number{width:40px;height:40px;background:#2563eb;color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;flex-shrink:0}.section-header h2{font-size:1.6rem;font-weight:700;color:#0f172a;margin:0}.section-intro{color:#64748b;font-size:1.05rem;line-height:1.7;margin-bottom:2rem}.terms-intro{background:#2563eb;padding:3rem 0}.intro-content{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:2.5rem;box-shadow:0 4px 20px #00000008}.intro-content p{font-size:1.1rem;color:#475569;line-height:1.8;margin-bottom:1rem}.intro-content p:last-child{margin-bottom:0}.intro-content strong{color:#0f172a}.terms-definitions{background:#fff}.definitions-list{display:flex;flex-direction:column;gap:1rem}.definition-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem 1.5rem;display:flex;align-items:baseline;gap:.75rem}.definition-term{font-weight:700;color:#2563eb;white-space:nowrap}.definition-text{color:#475569;font-size:.95rem;line-height:1.6}.terms-scope{background:#f8fafc}.scope-card{display:flex;align-items:flex-start;gap:1.5rem;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:2rem}.scope-icon{width:64px;height:64px;background:#2563eb,#3b82f60d);color:#3b82f6;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.scope-card p{color:#475569;font-size:1.05rem;line-height:1.8;margin:0}.scope-card strong{color:#0f172a}.terms-responsibilities{background:#fff}.responsibilities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.responsibility-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:1.75rem;text-align:center;transition:all .3s}.responsibility-card:hover{transform:translateY(-4px);box-shadow:0 15px 30px #00000014;border-color:#2563eb}.responsibility-icon{width:56px;height:56px;background:#2563eb,#2563eb0d);color:#2563eb;border-radius:14px;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.responsibility-card h3{font-size:1.1rem;font-weight:700;color:#0f172a;margin-bottom:.75rem}.responsibility-card p{color:#64748b;font-size:.9rem;line-height:1.6}.terms-ip{background:#f8fafc}.ip-content{display:flex;align-items:flex-start;gap:2rem;background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:2rem}.ip-icon{width:80px;height:80px;background:#2563eb,#2563eb0d);color:#2563eb;border-radius:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ip-text p{color:#475569;font-size:1.05rem;line-height:1.8;margin-bottom:1.25rem}.ip-text strong{color:#0f172a}.ip-warning{display:flex;align-items:flex-start;gap:.75rem;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:12px;padding:1rem 1.25rem}.ip-warning svg{color:#ef4444;flex-shrink:0;margin-top:.15rem}.ip-warning span{color:#64748b;font-size:.9rem;line-height:1.6}.terms-interruptions{background:#fff}.interruptions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.interruption-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:2rem;transition:all .3s}.interruption-card:hover{box-shadow:0 10px 25px #0000000f}.interruption-icon{width:60px;height:60px;background:#2563eb,#f973160d);color:#f97316;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem}.interruption-card h3{font-size:1.15rem;font-weight:700;color:#0f172a;margin-bottom:.75rem}.interruption-card p{color:#64748b;font-size:.95rem;line-height:1.7}.termination-card,.changes-card{display:flex;align-items:flex-start;gap:1.5rem;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:2rem}.terms-termination{background:#f8fafc}.termination-icon{width:60px;height:60px;background:#2563eb,#ef44440d);color:#ef4444;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.terms-changes{background:#fff}.changes-icon{width:60px;height:60px;background:#2563eb,#3b82f60d);color:#3b82f6;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.termination-card p,.changes-card p{color:#475569;font-size:1.05rem;line-height:1.8;margin:0}.termination-card strong,.changes-card strong{color:#0f172a}.terms-payment,.terms-liveclass{background:#f8fafc}.terms-liveclass{background:#fff}.payment-header,.liveclass-header{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:1.5rem 2rem;margin-bottom:2rem}.payment-header-icon,.liveclass-header-icon{width:72px;height:72px;background:#2563eb,#2563eb0d);color:#2563eb;border-radius:18px;display:flex;align-items:center;justify-content:center}.payment-header-badges,.liveclass-header-badges{display:flex;gap:.75rem}.badge{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:100px;font-size:.8rem;font-weight:600}.badge-secure{background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.2)}.badge-safe{background:#3b82f61a;color:#3b82f6;border:1px solid rgba(59,130,246,.2)}.badge-kvkk{background:#8b5cf61a;color:#2563eb;border:1px solid rgba(139,92,246,.2)}.badge-wifi{background:#f973161a;color:#f97316;border:1px solid rgba(249,115,22,.2)}.sub-items-list{display:flex;flex-direction:column;gap:1rem}.sub-item{display:flex;gap:1.25rem;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:1.5rem;transition:all .2s}.sub-item:hover{border-color:#2563eb;box-shadow:0 1px 3px #0000001a}.sub-item-number{width:44px;height:44px;background:#2563eb;color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;flex-shrink:0}.sub-item-content h4{font-size:1.05rem;font-weight:700;color:#0f172a;margin-bottom:.5rem}.sub-item-content p{color:#64748b;font-size:.95rem;line-height:1.7;margin:0}.terms-disclaimer{background:#f8fafc}.disclaimer-box{display:flex;align-items:flex-start;gap:1.5rem;background:#2563eb,#f9731608);border:1px solid rgba(249,115,22,.2);border-radius:20px;padding:2rem}.disclaimer-icon{width:64px;height:64px;background:#f9731626;color:#f97316;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.disclaimer-content h3{font-size:1.25rem;font-weight:700;color:#0f172a;margin-bottom:.75rem}.disclaimer-content p{color:#475569;font-size:1rem;line-height:1.8;margin:0}.disclaimer-content strong{color:#0f172a}.terms-contact{background:#fff}.terms-contact .contact-box{display:flex;align-items:center;gap:2.5rem;background:#2563eb;border-radius:24px;padding:3rem}.terms-contact .contact-icon{width:100px;height:100px;background:#ffffff26;color:#fff;border-radius:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.terms-contact .contact-content h2{font-size:1.75rem;font-weight:700;color:#fff;margin-bottom:.75rem}.terms-contact .contact-content p{color:#94a3b8;font-size:1rem;line-height:1.7;margin-bottom:1.5rem}.terms-contact .contact-info{display:flex;gap:1.5rem;flex-wrap:wrap}.terms-contact .contact-link{display:flex;align-items:center;gap:.5rem;color:#fff;text-decoration:none;font-weight:500;font-size:.95rem;padding:.75rem 1.25rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.1);border-radius:10px;transition:all .2s}.terms-contact .contact-link:hover{background:#ffffff26;border-color:#fff3}.terms-contact .contact-link svg{color:#fff}.terms-footer{background:#2563eb;padding:4rem 0 2rem}.terms-footer .footer-content{display:grid;grid-template-columns:1.5fr 2fr;gap:4rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.15)}.terms-footer .footer-brand p{color:#ffffffd9;font-size:.95rem;margin-top:1rem;line-height:1.7}.terms-footer .footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.terms-footer .footer-column h4{color:#fff;font-size:.95rem;font-weight:600;margin-bottom:1.25rem}.terms-footer .footer-column a{display:block;color:#fffc;text-decoration:none;font-size:.9rem;margin-bottom:.75rem;transition:color .2s}.terms-footer .footer-column a:hover{color:#fff}.terms-footer .footer-bottom{padding-top:2rem;text-align:center}.terms-footer .footer-bottom p{color:#ffffffb3;font-size:.875rem}@media(max-width:1024px){.terms-hero h1{font-size:2.5rem}.responsibilities-grid{grid-template-columns:repeat(2,1fr)}.terms-footer .footer-content{grid-template-columns:1fr}}@media(max-width:768px){.terms-navbar{padding:.75rem 4%}.terms-nav-links{display:none}.terms-hero{padding:8rem 4% 4rem}.terms-hero h1{font-size:2rem}.section-header h2{font-size:1.4rem}.responsibilities-grid,.interruptions-grid{grid-template-columns:1fr}.ip-content,.scope-card,.termination-card,.changes-card{flex-direction:column;text-align:center}.scope-icon,.ip-icon,.termination-icon,.changes-icon{margin:0 auto}.ip-warning{justify-content:center;text-align:left}.payment-header,.liveclass-header{flex-direction:column;gap:1rem;text-align:center}.terms-contact .contact-box{flex-direction:column;text-align:center;padding:2rem}.terms-contact .contact-info{justify-content:center}.terms-footer .footer-links{grid-template-columns:1fr;text-align:center}}@media(max-width:480px){.terms-nav-actions .btn-demo{display:none}.terms-hero h1{font-size:1.75rem}.section-header{flex-direction:column;align-items:flex-start;gap:.75rem}.intro-content{padding:1.5rem}.definition-item{flex-direction:column;gap:.25rem}.sub-item{flex-direction:column;text-align:center}.sub-item-number{margin:0 auto}.disclaimer-box{flex-direction:column;text-align:center}.disclaimer-icon{margin:0 auto}.terms-contact .contact-info,.payment-header-badges,.liveclass-header-badges{flex-direction:column}}.kvkk-page{min-height:100vh;background:#f8fafc;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.kvkk-page .container{max-width:1200px;margin:0 auto;padding:0 2rem}.kvkk-header{background:#fff;border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:100}.kvkk-nav{display:flex;justify-content:space-between;align-items:center;padding:1rem 0}.kvkk-nav .logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:#1e293b;font-weight:700;font-size:1.25rem}.kvkk-nav .logo svg{color:#3b82f6}.kvkk-nav .nav-links{display:flex;gap:2rem}.kvkk-nav .nav-links a{text-decoration:none;color:#64748b;font-weight:500;font-size:.95rem;transition:color .2s}.kvkk-nav .nav-links a:hover{color:#3b82f6}.kvkk-hero{background:#fff;padding:6rem 0 7rem;position:relative;overflow:hidden;border-bottom:1px solid #e2e8f0}.kvkk-hero:before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%2364748b' fill-opacity='0.04'%3E%3Cpath d='m36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");opacity:1}.kvkk-hero .hero-content{position:relative;z-index:1;text-align:center;max-width:800px;margin:0 auto}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:#f8fafc;color:#475569;padding:.5rem 1rem;border-radius:50px;font-size:.875rem;font-weight:500;margin-bottom:2rem;border:1px solid #e2e8f0;box-shadow:0 1px 2px #00000005}.kvkk-hero h1{font-size:3.5rem;font-weight:800;color:#0f172a;margin-bottom:1.5rem;letter-spacing:-.03em;line-height:1.2}.kvkk-hero p{font-size:1.25rem;color:#475569;line-height:1.7;margin-bottom:2.5rem;max-width:650px;margin-left:auto;margin-right:auto}.hero-meta{display:flex;justify-content:center;gap:1.5rem;padding-top:1.5rem;border-top:1px solid #e2e8f0;max-width:400px;margin:0 auto}.meta-item{display:flex;align-items:center;gap:.5rem;color:#64748b;font-size:.95rem;font-weight:500}.kvkk-section{padding:4rem 0}.section-header{display:flex;align-items:flex-start;gap:1.5rem;margin-bottom:2.5rem}.section-number{width:48px;height:48px;background:#2563eb;color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;flex-shrink:0}.section-title-group h2{font-size:1.75rem;font-weight:700;color:#1e293b;margin-bottom:.5rem}.section-title-group p{color:#64748b;font-size:1rem;line-height:1.7}.kvkk-controller{background:#f8fafc;padding-top:0}.controller-box{display:flex;align-items:flex-start;gap:2rem;background:#fff;border-radius:20px;padding:2.5rem;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;border:1px solid #e2e8f0;margin-top:-4rem;position:relative;z-index:10}.controller-icon{width:80px;height:80px;background:#2563eb;color:#fff;border-radius:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.controller-content h2{font-size:1.5rem;font-weight:700;color:#1e293b;margin-bottom:1rem}.controller-info{display:flex;gap:2rem;margin-bottom:1rem;flex-wrap:wrap}.info-item{display:flex;gap:.5rem}.info-item strong{color:#64748b;font-weight:500}.info-item span{color:#1e293b;font-weight:600}.controller-desc{color:#64748b;font-size:1rem;line-height:1.8}.kvkk-categories{background:#fff}.categories-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}.category-card{display:flex;align-items:flex-start;gap:1.25rem;padding:1.5rem;background:#f8fafc;border-radius:16px;transition:all .3s ease}.category-card:hover{transform:translateY(-1px);box-shadow:0 1px 3px #0000001a}.category-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.category-content{flex:1}.category-header{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.5rem}.category-header h3{font-size:1.1rem;font-weight:600;color:#1e293b}.category-badge{font-size:.75rem;font-weight:600;padding:.25rem .75rem;border-radius:50px}.category-content p{color:#64748b;font-size:.95rem;line-height:1.7}.kvkk-purposes{background:#fff}.purposes-list{display:flex;flex-direction:column;gap:1rem}.purpose-item{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;background:#fff;border-radius:12px;border:1px solid #e2e8f0;transition:all .2s}.purpose-item:hover{border-color:#3b82f6;box-shadow:0 1px 3px #0000001a}.purpose-check{color:#2563eb;flex-shrink:0;margin-top:2px}.purpose-item p{color:#374151;font-size:1rem;line-height:1.6}.kvkk-transfers{background:#fff}.transfers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.transfer-card{text-align:center;padding:2rem;background:#fff;border-radius:16px;border:1px solid #e2e8f0;transition:all .3s}.transfer-card:hover{border-color:#3b82f6;box-shadow:0 1px 3px #0000001a}.transfer-icon{width:64px;height:64px;background:#2563eb;color:#3b82f6;border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.transfer-card h3{font-size:1.1rem;font-weight:600;color:#1e293b;margin-bottom:.75rem}.transfer-card p{color:#64748b;font-size:.95rem;line-height:1.7}.kvkk-collection{background:#f8fafc}.collection-box{background:#fff;border-radius:20px;padding:2.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0}.collection-method{display:flex;align-items:flex-start;gap:1.5rem;padding-bottom:2rem;border-bottom:1px solid #e2e8f0;margin-bottom:2rem}.method-icon{width:64px;height:64px;background:#2563eb;color:#3b82f6;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.method-content h3{font-size:1.25rem;font-weight:600;color:#1e293b;margin-bottom:.5rem}.method-content p{color:#64748b;font-size:1rem;line-height:1.8}.method-content strong{color:#1e293b}.legal-bases h4{font-size:1.1rem;font-weight:600;color:#1e293b;margin-bottom:1rem}.bases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.basis-item{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#f8fafc;border-radius:10px;color:#3b82f6}.basis-item span{color:#374151;font-size:.95rem;font-weight:500}.kvkk-rights{background:#fff}.rights-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.right-card{padding:1.75rem;background:#fff;border-radius:16px;border:1px solid #e2e8f0;transition:all .3s}.right-card:hover{border-color:#3b82f6;box-shadow:0 1px 3px #0000001a}.right-icon{width:48px;height:48px;background:#2563eb;color:#3b82f6;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.right-card h3{font-size:1.05rem;font-weight:600;color:#1e293b;margin-bottom:.5rem}.right-card p{color:#64748b;font-size:.95rem;line-height:1.7}.kvkk-consent{background:#f8fafc}.consent-box{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:2.5rem}.consent-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.consent-header svg{color:#2563eb}.consent-header h2{font-size:1.5rem;font-weight:700;color:#1e293b}.consent-desc{color:#475569;font-size:1rem;line-height:1.8;margin-bottom:1.5rem}.consent-desc strong{color:#1e293b}.consent-items{display:flex;flex-direction:column;gap:.75rem}.consent-item{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:#f8fafc;border-radius:10px;color:#1e293b}.consent-item span{font-weight:500;color:#334155}.kvkk-contact{background:#fff}.kvkk-contact .contact-box{display:flex;align-items:center;gap:2.5rem;background:#fff;border:1px solid #e2e8f0;border-radius:24px;padding:3rem}.kvkk-contact .contact-icon{width:100px;height:100px;background:#eff6ff;color:#2563eb;border-radius:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.kvkk-contact .contact-content h2{font-size:1.75rem;font-weight:700;color:#1e293b;margin-bottom:.75rem}.kvkk-contact .contact-content p{color:#475569;font-size:1rem;line-height:1.7;margin-bottom:1.5rem}.kvkk-contact .contact-info{display:flex;gap:1.5rem;flex-wrap:wrap}.kvkk-contact .contact-link{display:flex;align-items:center;gap:.5rem;color:#1e293b;text-decoration:none;font-weight:500;font-size:.95rem;padding:.75rem 1.25rem;background:#fff;border:1px solid #e2e8f0;border-radius:10px;transition:all .2s}.kvkk-contact .contact-link:hover{background:#eff6ff;border-color:#bfdbfe;color:#2563eb}.kvkk-contact .contact-link svg{color:#2563eb}.kvkk-footer{background:#fff;border-top:1px solid #e2e8f0;padding:4rem 0 2rem}.footer-content{display:grid;grid-template-columns:1.5fr 2fr;gap:4rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.15)}.footer-logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:#2563eb;font-weight:700;font-size:1.25rem;margin-bottom:.5rem}.footer-brand p{color:#475569;font-size:.95rem;margin-top:1rem;line-height:1.7}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.footer-column h4{color:#1e293b;font-size:1rem;font-weight:600;margin-bottom:1rem}.footer-column a{display:block;color:#64748b;text-decoration:none;font-size:.9rem;margin-bottom:.75rem;transition:color .2s}.footer-column a:hover{color:#2563eb}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:2rem;border-top:1px solid #e2e8f0}.footer-bottom p{color:#64748b;font-size:.9rem}.footer-badges{display:flex;gap:1rem}.footer-badges .badge{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#eff6ff;border-radius:50px;color:#2563eb;font-size:.85rem;font-weight:500}@media(max-width:1024px){.rights-grid,.transfers-grid,.bases-grid{grid-template-columns:repeat(2,1fr)}.footer-content{grid-template-columns:1fr;gap:2rem}}@media(max-width:768px){.kvkk-nav{flex-direction:column;gap:1rem}.kvkk-nav .nav-links{flex-wrap:wrap;justify-content:center;gap:1rem}.kvkk-hero h1{font-size:2rem}.kvkk-hero p{font-size:1rem}.section-header{flex-direction:column;gap:1rem}.controller-box{flex-direction:column;text-align:center}.controller-info{justify-content:center}.categories-grid,.rights-grid,.transfers-grid,.bases-grid{grid-template-columns:1fr}.collection-method,.kvkk-contact .contact-box{flex-direction:column;text-align:center}.kvkk-contact .contact-info{justify-content:center}.footer-links{grid-template-columns:repeat(2,1fr)}.footer-bottom{flex-direction:column;gap:1rem;text-align:center}}@media(max-width:480px){.kvkk-page .container{padding:0 1rem}.kvkk-section{padding:3rem 0}.footer-links{grid-template-columns:1fr;text-align:center}.footer-badges{flex-direction:column}}.notification-recipients-page{padding:1.5rem 0 2.5rem}.nr-header{max-width:1120px;margin:0 auto 1.75rem;background:#fff;border-radius:1.5rem;padding:1.5rem 1.75rem;display:flex;justify-content:space-between;align-items:center;gap:1.25rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0}.nr-header-left{display:flex;align-items:center;gap:.9rem}.nr-header-icon{width:40px;height:40px;border-radius:.9rem;background:#eff6ff;display:flex;align-items:center;justify-content:center;color:#2563eb}.nr-title-section h1{margin:0 0 .2rem;font-size:1.6rem;font-weight:700;color:#0f172a}.nr-title-section p{margin:0;color:#64748b;font-size:.9rem}.nr-actions{display:flex;align-items:center}.nr-add-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.4rem;border-radius:.9rem;border:none;background:#2563eb;color:#fff;font-size:.88rem;font-weight:600;cursor:pointer;box-shadow:0 1px 3px #0000001a;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.nr-add-btn:hover{transform:translateY(-1px);filter:brightness(1.03);box-shadow:0 1px 3px #0000001a}.nr-add-btn:active{transform:translateY(0);box-shadow:0 1px 3px #0000001a}.nr-card{max-width:1120px;margin:0 auto;background:#fff;border-radius:1.5rem;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a;overflow:hidden}.nr-card .table-container{padding:.25rem .75rem .75rem}.nr-card table{border-collapse:collapse}.nr-card thead tr{background:#f8fafc}.nr-card thead th{background:#f8fafc!important;color:#64748b;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:.85rem 1.25rem;border-bottom:1px solid #e2e8f0;position:static}.nr-card tbody tr:hover{background:#f9fafb}.nr-card td{padding:.9rem 1.25rem}.nr-name-text{font-size:.9rem;font-weight:700;color:#0f172a}.nr-type-pill{display:inline-flex;align-items:center;padding:.3rem .8rem;border-radius:999px;font-size:.8rem;font-weight:600}.nr-type-pill.sms{background:#eff6ff;color:#2563eb}.nr-type-pill.email{background:#f1f5f9;color:#475569}.nr-contact-text{font-size:.86rem;color:#334155;font-family:SF Mono,Fira Code,monospace}.nr-status-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .7rem;border-radius:999px;border:none;cursor:pointer;font-size:.78rem;font-weight:600;transition:all .2s ease}.nr-status-btn.active{background:#eff6ff;color:#2563eb}.nr-status-btn.passive{background:#f1f5f9;color:#475569}.nr-status-btn:hover:not(:disabled){transform:scale(1.02);box-shadow:0 2px 8px #0000001a}.nr-status-btn:disabled{cursor:default;opacity:.7}@media(max-width:768px){.notification-recipients-page{padding:1rem 0 1.5rem}.nr-header{flex-direction:column;text-align:center}}.communications-page{padding:1.5rem 0 2.5rem}.comm-header{max-width:1120px;margin:0 auto 1.75rem;background:#fff;border-radius:1.5rem;padding:1.5rem 1.75rem;display:flex;justify-content:space-between;align-items:center;gap:1.25rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0}.comm-header-left{display:flex;align-items:center;gap:.9rem}.comm-header-icon{width:40px;height:40px;border-radius:.9rem;background:#eff6ff;display:flex;align-items:center;justify-content:center;color:#2563eb}.comm-title-section h1{margin:0 0 .2rem;font-size:1.6rem;font-weight:700;color:#0f172a}.comm-title-section p{margin:0;color:#64748b;font-size:.9rem}.comm-page-filters{max-width:1120px;margin-left:auto;margin-right:auto}.comm-filter-btn{display:inline-flex;align-items:center;gap:.35rem}.comm-card{max-width:1120px;margin:0 auto;background:#fff;border-radius:1.5rem;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a;overflow:hidden}.comm-card .table-container{padding:.25rem .75rem .75rem}.comm-card table{border-collapse:collapse}.comm-card thead tr{background:#f8fafc}.comm-card thead th{background:#f8fafc!important;color:#64748b;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:.85rem 1.25rem;border-bottom:1px solid #e2e8f0;position:static}.comm-card tbody tr:hover{background:#f9fafb}.comm-card td{padding:.9rem 1.25rem}.comm-type-pill{display:inline-flex;align-items:center;padding:.3rem .8rem;border-radius:999px;font-size:.8rem;font-weight:600}.comm-type-pill.sms{background:#eff6ff;color:#2563eb}.comm-type-pill.email{background:#f1f5f9;color:#475569}.comm-to-text{font-size:.86rem;color:#334155;font-family:SF Mono,Fira Code,monospace}.comm-subject-text{font-size:.86rem;font-weight:600;color:#0f172a}.comm-requester-text{font-size:.84rem;color:#64748b}.comm-status-pill{display:inline-flex;align-items:center;padding:.25rem .6rem;border-radius:999px;font-size:.76rem;font-weight:600}.comm-status-pill.sent{background:#eff6ff;color:#2563eb}.comm-status-pill.failed{background:#f1f5f9;color:#475569}.comm-date-text{font-size:.82rem;color:#64748b}@media(max-width:768px){.communications-page{padding:1rem 0 1.5rem}}.support-page{padding-bottom:2rem}.support-header{background:#fff;border-radius:24px;padding:1.75rem 2rem;margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 6px -1px #00000005,0 2px 4px -1px #00000005;border:1px solid rgba(226,232,240,1);flex-wrap:wrap;gap:1rem}.support-title-section{display:flex;align-items:center;gap:1rem}.support-title-icon{width:46px;height:46px;border-radius:1.25rem;background:#2563eb;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.35rem;box-shadow:0 1px 3px #0000001a;flex-shrink:0}.support-title-text h1{margin:0 0 .15rem;font-size:1.6rem;font-weight:800;color:#0f172a}.support-title-text p{margin:0;font-size:.85rem;color:#64748b}.support-header-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.support-filter-select{padding:.5rem .85rem;border:1px solid #e2e8f0;border-radius:999px;font-size:.8rem;font-weight:500;background:#f8fafc;color:#334155;cursor:pointer;transition:all .18s ease;outline:none}.support-filter-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.support-stats{display:flex;gap:1rem;margin-bottom:1.75rem;flex-wrap:wrap}.support-stat-card{flex:1;min-width:140px;background:#fff;border-radius:16px;padding:1rem 1.25rem;display:flex;align-items:center;gap:.85rem;border:1px solid #e2e8f0;box-shadow:0 2px 4px #00000005}.support-stat-icon{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.support-stat-icon.blue{background:#dbeafe;color:#2563eb}.support-stat-icon.amber{background:#fef3c7;color:#d97706}.support-stat-icon.green{background:#d1fae5;color:#059669}.support-stat-icon.gray{background:#f1f5f9;color:#64748b}.support-stat-info{display:flex;flex-direction:column}.support-stat-value{font-size:1.25rem;font-weight:700;color:#0f172a;line-height:1.2}.support-stat-label{font-size:.75rem;color:#64748b;font-weight:500}.support-table-card{background:#fff;border-radius:20px;padding:1.5rem;border:1px solid #e2e8f0;box-shadow:0 4px 6px -1px #00000005;overflow-x:auto}.support-table{width:100%;border-collapse:separate;border-spacing:0}.support-table th{text-align:left;padding:.85rem 1.1rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b;border-bottom:2px solid #f1f5f9;white-space:nowrap}.support-table td{padding:.85rem 1.1rem;font-size:.85rem;color:#334155;border-bottom:1px solid #f1f5f9;vertical-align:middle}.support-table tbody tr{cursor:pointer;transition:background .15s ease}.support-table tbody tr:hover{background:#f8fafc}.support-table tbody tr:last-child td{border-bottom:none}.support-ticket-title{font-weight:600;color:#0f172a;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.support-ticket-school{font-size:.78rem;color:#64748b;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.support-ticket-user{font-weight:500;color:#334155}.support-ticket-date{font-size:.78rem;color:#94a3b8;white-space:nowrap}.support-response-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;border-radius:999px;font-size:.72rem;font-weight:600;background:#eff6ff;color:#2563eb}.support-status{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .75rem;border-radius:999px;font-size:.72rem;font-weight:600;white-space:nowrap}.support-status-dot{width:6px;height:6px;border-radius:999px}.support-status.open{background:#dbeafe;color:#1e40af}.support-status.open .support-status-dot{background:#3b82f6}.support-status.replied{background:#fef3c7;color:#92400e}.support-status.replied .support-status-dot{background:#f59e0b}.support-status.closed{background:#f1f5f9;color:#64748b}.support-status.closed .support-status-dot{background:#94a3b8}.support-loading{text-align:center;padding:4rem 2rem;color:#64748b;font-size:.9rem}.support-empty{text-align:center;padding:4rem 2rem}.support-empty-icon{width:56px;height:56px;border-radius:1rem;background:#f1f5f9;color:#94a3b8;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin:0 auto 1rem}.support-empty p{color:#64748b;font-size:.9rem;margin:0}.support-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:1.25rem;padding-top:1rem;border-top:1px solid #f1f5f9;flex-wrap:wrap;gap:.75rem}.support-result-info{font-size:.78rem;color:#94a3b8}.support-page-size{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:#64748b}.support-page-size select{padding:.25rem .5rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.78rem;background:#f8fafc;cursor:pointer}.support-page-numbers{display:flex;align-items:center;gap:.25rem}.support-page-btn{min-width:32px;height:32px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#64748b;font-size:.78rem;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.support-page-btn:hover:not(:disabled):not(.active){background:#f1f5f9;border-color:#cbd5e1}.support-page-btn.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.support-page-btn:disabled{opacity:.4;cursor:default}.support-detail-header{background:#fff;border-radius:24px;padding:1.5rem 2rem;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 6px -1px #00000005;border:1px solid #e2e8f0;flex-wrap:wrap;gap:1rem}.support-detail-left{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.support-back-btn{width:38px;height:38px;border-radius:12px;border:1px solid #e2e8f0;background:#f8fafc;color:#64748b;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;flex-shrink:0;font-size:1.1rem}.support-back-btn:hover{background:#e2e8f0;color:#334155}.support-detail-title{min-width:0}.support-detail-title h1{margin:0;font-size:1.25rem;font-weight:700;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.support-detail-title p{margin:.15rem 0 0;font-size:.78rem;color:#94a3b8}.support-detail-actions{display:flex;align-items:center;gap:.65rem;flex-shrink:0}.support-close-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem 1rem;border-radius:999px;border:1px solid #fecaca;background:#fef2f2;color:#dc2626;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .16s ease}.support-close-btn:hover{background:#fee2e2;box-shadow:0 4px 12px -4px #dc26264d}.support-info-card{background:#fff;border-radius:16px;padding:1.25rem 1.5rem;margin-bottom:1.5rem;border:1px solid #e2e8f0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.85rem;font-size:.85rem}.support-info-item{display:flex;flex-direction:column;gap:.2rem}.support-info-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8}.support-info-value{color:#0f172a;font-weight:500}.support-info-value a{color:#2563eb;text-decoration:none}.support-info-value a:hover{text-decoration:underline}.support-chat{background:#fff;border-radius:20px;border:1px solid #e2e8f0;overflow:hidden;margin-bottom:1rem}.support-chat-header{padding:.85rem 1.5rem;border-bottom:1px solid #f1f5f9;font-size:.8rem;font-weight:600;color:#64748b;display:flex;align-items:center;gap:.5rem}.support-chat-messages{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem;min-height:180px;max-height:480px;overflow-y:auto;background:#fafbfc}.support-msg{display:flex;max-width:72%}.support-msg.user{align-self:flex-start}.support-msg.admin{align-self:flex-end}.support-bubble{padding:.75rem 1rem;border-radius:16px;font-size:.85rem;line-height:1.55;word-break:break-word}.support-msg.user .support-bubble{background:#fff;border:1px solid #e2e8f0;border-bottom-left-radius:4px}.support-msg.admin .support-bubble{background:#2563eb;color:#fff;border-bottom-right-radius:4px;box-shadow:0 1px 3px #0000001a}.support-msg-sender{font-weight:600;font-size:.75rem;margin-bottom:.3rem;display:flex;align-items:center;gap:.4rem}.support-msg.user .support-msg-sender{color:#334155}.support-msg.admin .support-msg-sender{color:#ffffffe6}.support-admin-tag{display:inline-flex;padding:1px 6px;border-radius:4px;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.support-msg.user .support-admin-tag{background:#dbeafe;color:#1e40af}.support-msg.admin .support-admin-tag{background:#fff3;color:#fff}.support-msg-text{white-space:pre-wrap}.support-msg-time{font-size:.65rem;margin-top:.35rem;opacity:.55}.support-msg.admin .support-msg-time{text-align:right}.support-chat-input{display:flex;gap:.75rem;align-items:flex-end;padding:1rem 1.5rem;border-top:1px solid #f1f5f9;background:#fff}.support-chat-input textarea{flex:1;padding:.65rem 1rem;border:1px solid #e2e8f0;border-radius:14px;font-size:.85rem;resize:none;background:#f8fafc;color:#0f172a;transition:border-color .18s ease;font-family:inherit;line-height:1.5}.support-chat-input textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;background:#fff}.support-send-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.6rem 1.25rem;border-radius:14px;border:none;background:#2563eb;color:#fff;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .18s ease;white-space:nowrap;box-shadow:0 1px 3px #0000001a}.support-send-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 1px 3px #0000001a}.support-send-btn:disabled{opacity:.5;cursor:default}.support-closed-notice{text-align:center;padding:1rem 1.5rem;background:#f8fafc;border-radius:14px;border:1px solid #e2e8f0;color:#64748b;font-size:.85rem;display:flex;align-items:center;justify-content:center;gap:.5rem}@media(max-width:900px){.support-header{flex-direction:column;align-items:flex-start}.support-header-actions{width:100%}.support-stats{flex-direction:column}.support-detail-header{flex-direction:column;align-items:flex-start}.support-detail-actions{width:100%;justify-content:flex-end}.support-info-card{grid-template-columns:1fr}}@media(max-width:640px){.support-header{padding:1.25rem;border-radius:16px}.support-table-card{padding:1rem;border-radius:16px}.support-msg{max-width:88%}.support-chat-input{flex-direction:column}.support-send-btn{width:100%;justify-content:center}.support-pagination{flex-direction:column;align-items:stretch;text-align:center}.support-page-numbers{justify-content:center}}.solver-queue-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.solver-queue-page .page-title{display:flex;align-items:center;gap:.75rem}.solver-queue-page .page-title-icon{width:42px;height:42px;border-radius:12px;background:#2563eb;display:flex;align-items:center;justify-content:center;color:#fff}.solver-queue-page .page-title h1{font-size:1.5rem;font-weight:700;color:var(--text-primary, #1e293b);margin:0}.solver-queue-page .page-title p{font-size:.85rem;color:var(--text-secondary, #64748b);margin:0}.queue-stats{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.queue-stat-card{flex:1;min-width:160px;background:var(--bg-card, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:12px;padding:1.25rem;display:flex;align-items:center;gap:.75rem}.queue-stat-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.queue-stat-icon.pending{background:#f1f5f9;color:#475569}.queue-stat-icon.processing,.queue-stat-icon.success{background:#eff6ff;color:#2563eb}.queue-stat-icon.error{background:#fef2f2;color:#dc2626}.queue-stat-info h3{font-size:1.5rem;font-weight:700;color:var(--text-primary, #1e293b);margin:0}.queue-stat-info p{font-size:.8rem;color:var(--text-secondary, #64748b);margin:0}.queue-table-wrapper{background:var(--bg-card, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:12px;overflow:hidden}.queue-table{width:100%;border-collapse:collapse}.queue-table th{background:var(--bg-secondary, #f8fafc);padding:.875rem 1rem;text-align:left;font-size:.8rem;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color, #e2e8f0)}.queue-table td{padding:.875rem 1rem;font-size:.9rem;color:var(--text-primary, #1e293b);border-bottom:1px solid var(--border-color, #e2e8f0)}.queue-table tr:last-child td{border-bottom:none}.queue-table tr:hover{background:var(--bg-hover, #f1f5f9)}.status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600}.status-badge.pending{background:#f1f5f9;color:#475569}.status-badge.processing,.status-badge.success{background:#eff6ff;color:#2563eb}.status-badge.error{background:#fef2f2;color:#dc2626}.status-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.status-dot.pending{background:#64748b}.status-dot.processing{background:#2563eb;animation:pulse 1.5s infinite}.status-dot.success{background:#2563eb}.status-dot.error{background:#dc2626}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.duration-text{font-variant-numeric:tabular-nums;color:var(--text-secondary, #64748b)}.queue-empty{text-align:center;padding:3rem 1rem;color:var(--text-secondary, #64748b)}.queue-empty-icon{font-size:3rem;margin-bottom:.75rem;opacity:.5}.queue-empty h3{font-size:1.1rem;font-weight:600;margin:0}.queue-empty p{font-size:.85rem;margin:.25rem 0 0}.queue-loading{display:flex;align-items:center;justify-content:center;padding:3rem 1rem;gap:.5rem;font-size:.9rem;color:var(--text-secondary, #64748b)}@media(max-width:768px){.solver-queue-page .page-header{flex-direction:column;align-items:flex-start}.queue-stats{flex-direction:column}.queue-stat-card{min-width:unset}.queue-table-wrapper{overflow-x:auto}.queue-table{min-width:700px}}.attendance-page{padding:1.5rem;max-width:1400px;margin:0 auto}.attendance-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.attendance-title-section h1{font-size:1.6rem;font-weight:700;color:var(--text-primary, #0f172a);margin:0;display:flex;align-items:center;gap:.5rem}.attendance-title-section p{font-size:.9rem;color:var(--text-secondary, #64748b);margin:.25rem 0 0}.attendance-main-filters.page-filter-bar{margin-bottom:1.5rem}.attendance-search-inline{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;width:100%;max-width:28rem}.attendance-search-inline .page-filter-search{flex:1 1 12rem;min-width:0}.attendance-filter-clear-btn{flex-shrink:0;align-self:center}.attendance-table-container{background:#fff;border-radius:20px;padding:1.5rem;border:1px solid #e2e8f0;box-shadow:0 4px 6px -1px #00000005;overflow-x:auto}.attendance-main-table{width:100%;border-collapse:separate;border-spacing:0}.attendance-main-table th{text-align:left;padding:1rem 1.25rem;font-size:.85rem;font-weight:600;color:#64748b;border-bottom:2px solid #f1f5f9;background:#f8fafc;white-space:nowrap}.attendance-main-table th:first-child{border-top-left-radius:12px}.attendance-main-table th:last-child{border-top-right-radius:12px}.attendance-main-table td{padding:.85rem 1.25rem;font-size:.9rem;color:#334155;border-bottom:1px solid #f1f5f9;vertical-align:middle;white-space:nowrap}.attendance-main-table tr:hover td{background:#f8fafc}.attendance-main-table tr:last-child td{border-bottom:none}.attendance-main-table tr.row-disabled td{opacity:.5}.attendance-class-name{font-weight:700;color:#0f172a;font-size:.95rem}.attendance-subject-tag{font-size:.8rem;padding:.2rem .6rem;border-radius:6px;background:#eff6ff;color:#2563eb;border:1px solid #dbeafe;font-weight:500}.attendance-teacher-name{font-size:.9rem;color:#334155;font-weight:500}.attendance-time{display:flex;align-items:center;gap:.35rem;color:#64748b;font-size:.85rem}.status-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .65rem;border-radius:20px;font-size:.75rem;font-weight:600}.badge-taken{background:#f59e0b1f;color:#d97706}.badge-available{background:#10b9811f;color:#059669}.badge-upcoming{background:#6b72801f;color:#6b7280}.attendance-action-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .85rem;background:#eff6ff;color:#2563eb;border:1px solid #dbeafe;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.attendance-action-btn:hover:not(:disabled){background:#dbeafe;border-color:#bfdbfe}.attendance-action-btn:disabled{opacity:.4;cursor:not-allowed}.attendance-empty{padding:3rem;text-align:center;color:#94a3b8;font-size:.95rem}.attendance-pagination{display:flex;justify-content:center;align-items:center;margin-top:2rem;gap:1.5rem;flex-wrap:wrap}.attendance-page-size{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#64748b}.attendance-page-size select{padding:.35rem .5rem;border-radius:.5rem;border:1px solid #e5e7eb;background:#fff;color:#4b5563;font-size:.85rem;outline:none;cursor:pointer;transition:border-color .15s ease}.attendance-page-size select:hover{border-color:#cbd5e1}.attendance-result-info{color:#94a3b8;font-size:.8rem;margin-left:.5rem}.attendance-pagination-nav{display:flex;align-items:center;gap:.35rem;background:#fff;padding:.35rem .5rem;border-radius:.9rem;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0f172a0f}.attendance-page-btn{width:30px;height:30px;border-radius:.7rem;border:none;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#9ca3af;cursor:pointer;transition:background-color .15s ease,color .15s ease}.attendance-page-btn:disabled{opacity:.5;cursor:default}.attendance-page-btn:not(:disabled):hover{background:#f3f4f6;color:#4b5563}.attendance-page-number{width:32px;height:32px;border-radius:.7rem;border:none;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#4b5563;font-size:.8rem;font-weight:500;cursor:pointer;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}.attendance-page-number.active{background:#3b82f6;color:#fff;box-shadow:0 4px 10px #3b82f659}.attendance-page-number:not(.active):hover{background:#f3f4f6}.attendance-modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.attendance-modal{background:var(--bg-card, #ffffff);border-radius:16px;width:100%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003;animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color, #e5e7eb)}.modal-header h2{font-size:1.15rem;font-weight:700;color:var(--text-primary, #0f172a);margin:0}.modal-header .modal-subtitle{font-size:.8rem;color:var(--text-secondary, #6b7280);margin-top:.2rem}.modal-close{background:none;border:none;font-size:1.4rem;color:var(--text-secondary, #6b7280);cursor:pointer;padding:.25rem;border-radius:6px;transition:all .2s}.modal-close:hover{background:var(--bg-hover, #f3f4f6);color:var(--text-primary, #0f172a)}.modal-body{flex:1;overflow-y:auto;padding:1rem 1.5rem}.modal-summary{display:flex;gap:1rem;margin-bottom:1rem;padding:.75rem;background:#f8fafc;border-radius:10px}.summary-item{display:flex;flex-direction:column;align-items:center;flex:1}.summary-label{font-size:.7rem;text-transform:uppercase;color:var(--text-secondary, #6b7280);font-weight:600;letter-spacing:.5px}.summary-value{font-size:1.3rem;font-weight:700;color:var(--text-primary, #0f172a)}.summary-value.present{color:#059669}.summary-value.absent{color:#dc2626}.student-list{list-style:none;padding:0;margin:0}.student-item{display:flex;align-items:center;justify-content:space-between;padding:.7rem .5rem;border-bottom:1px solid var(--border-light, #f3f4f6);transition:background .15s}.student-item:last-child{border-bottom:none}.student-item:hover{background:var(--bg-hover, #f9fafb);border-radius:8px}.student-info{display:flex;align-items:center;gap:.75rem}.student-no{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#eff6ff;color:#2563eb;border-radius:8px;font-size:.75rem;font-weight:700}.student-name{font-size:.9rem;font-weight:500;color:var(--text-primary, #0f172a)}.toggle-switch{position:relative;width:48px;height:26px;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;inset:0;background:#ef4444;border-radius:26px;transition:all .3s ease}.toggle-slider:before{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;background:#fff;border-radius:50%;transition:all .3s ease;box-shadow:0 1px 4px #00000026}.toggle-switch input:checked+.toggle-slider{background:#10b981}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.toggle-label{font-size:.75rem;font-weight:600;margin-left:.5rem}.toggle-label.present{color:#059669}.toggle-label.absent{color:#dc2626}.modal-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-top:1px solid var(--border-color, #e5e7eb);gap:.75rem}.btn-save{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.5rem;background:#2563eb;color:#fff;border:none;border-radius:10px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .25s ease}.btn-save:hover{transform:translateY(-1px);box-shadow:0 4px 16px #3b82f659}.btn-save:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-cancel{padding:.65rem 1.25rem;background:var(--bg-hover, #f3f4f6);color:var(--text-secondary, #6b7280);border:1px solid var(--border-color, #e5e7eb);border-radius:10px;font-weight:500;font-size:.9rem;cursor:pointer;transition:all .2s}.btn-cancel:hover{background:var(--bg-card, #e5e7eb)}.btn-all-present{padding:.5rem 1rem;background:#10b9811a;color:#059669;border:1px solid rgba(16,185,129,.3);border-radius:8px;font-weight:600;font-size:.8rem;cursor:pointer;transition:all .2s}.btn-all-present:hover{background:#10b98133}.history-section{margin-top:2rem}.history-section h2{font-size:1.2rem;font-weight:700;color:var(--text-primary, #0f172a);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.history-table-wrapper{overflow-x:auto;border-radius:12px;border:1px solid var(--border-color, #e2e8f0);background:#fff}.history-table{width:100%;border-collapse:collapse}.history-table th{background:#f8fafc;padding:.75rem 1rem;text-align:left;font-size:.75rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.history-table td{padding:.7rem 1rem;font-size:.875rem;color:var(--text-primary, #0f172a);border-bottom:1px solid var(--border-light, #f3f4f6);white-space:nowrap}.history-table tr:hover td{background:var(--bg-hover, #f9fafb)}.attendance-count{display:inline-flex;align-items:center;gap:.5rem}.attendance-count .count-present{color:#059669;font-weight:600}.attendance-count .count-absent{color:#dc2626;font-weight:600}.class-absentees-section{margin-top:2rem}.class-absentees-title{margin:0 0 .75rem;font-size:1.05rem;font-weight:700;color:#0f172a;letter-spacing:-.01em}.class-absentees-toolbar.page-filter-bar{margin-bottom:1rem}.class-absentees-toolbar .page-filter-bar__main{align-items:flex-end}.class-absentees-print-group .page-filter-label{white-space:nowrap}.class-absentees-print-group .attendance-paper-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.5rem;width:100%;min-width:11rem}.class-absentees-print-group .attendance-paper-btn:disabled{opacity:.6;cursor:not-allowed}.class-absentees-empty{padding:1rem;border-radius:8px;background:#f8fafc;color:#64748b}.class-absentees-list{display:flex;flex-direction:column;gap:.65rem}.class-absentee-item{border:1px solid #e2e8f0;border-radius:8px;padding:.75rem;background:#fff}.absentee-main{font-size:.9rem;color:#0f172a}.absentee-slots{margin-top:.45rem;display:flex;flex-wrap:wrap;gap:.4rem}.absentee-slot-chip{font-size:.75rem;padding:.2rem .55rem;border-radius:999px;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.attendance-sheet-modal-inner{max-width:100%}.attendance-sheet-modal-meta{margin:0 0 1rem;font-size:.9rem;color:#475569}.attendance-sheet-empty{text-align:center;padding:2rem 1rem;color:#64748b}.attendance-sheet-empty-hint{margin-top:.35rem;font-size:.8rem;color:#94a3b8}.attendance-sheet-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.attendance-sheet-preview-table{width:100%;border-collapse:collapse;font-size:.8rem}.attendance-sheet-preview-table th,.attendance-sheet-preview-table td{border:1px solid #e2e8f0;padding:.45rem .5rem;text-align:center;vertical-align:middle}.attendance-sheet-preview-table th.col-name,.attendance-sheet-preview-table td.col-name{text-align:left;min-width:10rem;color:#0f172a;font-weight:500}.attendance-sheet-preview-table thead th{background:#f8fafc;color:#64748b;font-weight:600;font-size:.7rem}.attendance-sheet-footnote{margin-top:.75rem;font-size:.75rem;color:#64748b}.loading-state{text-align:center;padding:3rem;color:var(--text-secondary, #6b7280)}.loading-spinner{width:36px;height:36px;border:3px solid var(--border-color, #e5e7eb);border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(360deg)}}.no-teacher-warning{background:#f59e0b14;border:1px solid rgba(245,158,11,.3);border-radius:12px;padding:2rem;text-align:center;color:#92400e}.no-teacher-warning .warning-icon{font-size:2.5rem;margin-bottom:.75rem}.no-teacher-warning h3{margin:0 0 .5rem;font-size:1.1rem}.no-teacher-warning p{margin:0;font-size:.9rem;opacity:.8}.attendance-tabs{display:flex;gap:.25rem;background:#f1f5f9;padding:.25rem;border-radius:10px;width:fit-content}.tab-btn{padding:.5rem 1.25rem;border:none;background:transparent;border-radius:8px;font-size:.85rem;font-weight:600;color:var(--text-secondary, #6b7280);cursor:pointer;transition:all .2s}.tab-btn.active{background:#fff;color:#3b82f6;box-shadow:0 1px 4px #00000014}.tab-btn:hover:not(.active){color:var(--text-primary, #0f172a)}@media(max-width:768px){.attendance-page{padding:1rem}.attendance-header{flex-direction:column;align-items:flex-start}.attendance-search-inline{max-width:100%}.attendance-filter-clear-btn{width:100%;justify-content:center}.class-absentees-print-group .attendance-paper-btn{min-width:100%}.attendance-modal{max-height:90vh;border-radius:12px}.modal-summary{flex-wrap:wrap}.modal-footer{flex-direction:column}.modal-footer button{width:100%}.attendance-main-table th,.attendance-main-table td{padding:.6rem .75rem;font-size:.8rem}.history-table th,.history-table td{padding:.5rem .7rem;font-size:.8rem}.attendance-tabs{width:100%}.tab-btn{flex:1;text-align:center}.attendance-pagination{flex-direction:column;gap:1rem}}.attendance-report-page{padding:2rem 0}.att-report-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.att-report-header-left{display:flex;align-items:center;gap:1rem}.att-report-header-icon{width:48px;height:48px;border-radius:12px;background:#2563eb;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem}.att-report-title-section h1{font-size:1.5rem;font-weight:700;color:var(--text-primary, #1e293b);margin:0}.att-report-title-section p{font-size:.875rem;color:var(--text-secondary, #64748b);margin:.25rem 0 0}.att-report-page-filters.page-filter-bar{margin-bottom:1.5rem}.att-report-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.att-summary-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--card-bg, #fff);border-radius:12px;border:1px solid var(--border-color, #e2e8f0)}.att-summary-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.att-summary-icon.total{background:#3b82f61a;color:#3b82f6}.att-summary-icon.absent{background:#ef44441a;color:#ef4444}.att-summary-content{display:flex;flex-direction:column}.att-summary-label{font-size:.75rem;color:var(--text-secondary, #64748b);font-weight:500}.att-summary-value{font-size:1.25rem;font-weight:700;color:var(--text-primary, #1e293b)}.att-report-card{background:var(--card-bg, #fff);border-radius:12px;border:1px solid var(--border-color, #e2e8f0);overflow:hidden}.att-report-card .table-container tbody tr:hover{background:#f1f5f9}.att-status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600}.att-status-badge.absent{background:#ef44441a;color:#ef4444}@media(max-width:768px){.att-report-header{flex-direction:column;align-items:flex-start;gap:1rem}}.exam-management-page{padding:2rem 0}.exam-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.exam-header-left{display:flex;align-items:center;gap:1rem}.exam-header-icon{width:48px;height:48px;border-radius:12px;background:#2563eb;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem}.exam-title-section h1{font-size:1.5rem;font-weight:700;color:var(--text-primary, #1e293b);margin:0}.exam-title-section p{font-size:.875rem;color:var(--text-secondary, #64748b);margin:.25rem 0 0}.exam-add-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:10px;background:#2563eb;color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.exam-add-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b4d}.exam-card{background:var(--card-bg, #fff);border-radius:12px;border:1px solid var(--border-color, #e2e8f0);overflow:hidden}.exam-table{width:100%;border-collapse:collapse}.exam-table th{padding:.75rem 1rem;text-align:left;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary, #64748b);background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border-color, #e2e8f0)}.exam-table td{padding:.75rem 1rem;font-size:.875rem;color:var(--text-primary, #1e293b);border-bottom:1px solid var(--border-color, #f1f5f9)}.exam-table tr:hover td{background:var(--bg-secondary, #f8fafc)}.exam-type-badge{display:inline-flex;padding:.2rem .6rem;border-radius:6px;font-size:.75rem;font-weight:600}.exam-type-badge.sayisal{background:#3b82f61a;color:#3b82f6}.exam-type-badge.sozel{background:#10b9811a;color:#10b981}.exam-type-badge.esit{background:#f59e0b1a;color:#d97706}.exam-type-badge.genel{background:#6b72801a;color:#6b7280}.exam-status-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;border-radius:6px;font-size:.75rem;font-weight:600}.exam-status-badge.active{background:#10b9811a;color:#10b981}.exam-status-badge.inactive{background:#ef44441a;color:#ef4444}.exam-actions{display:flex;gap:.4rem}.exam-action-btn{width:32px;height:32px;border:none;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1rem;cursor:pointer;transition:all .2s}.exam-action-btn.edit{background:transparent;color:#64748b}.exam-action-btn.edit:hover{background:transparent;color:#2563eb}.exam-action-btn.questions{background:transparent;color:#64748b}.exam-action-btn.questions:hover{background:transparent;color:#d97706}.exam-action-btn.delete{background:transparent;color:#94a3b8}.exam-action-btn.delete:hover{background:transparent;color:#dc2626}.exam-empty{text-align:center;padding:3rem 1rem;color:var(--text-secondary, #64748b)}.exam-empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.exam-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.exam-modal{background:var(--card-bg, #fff);border-radius:16px;width:90%;max-width:560px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000026;animation:slideUp .3s ease}.exam-modal.large{max-width:900px}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.exam-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color, #e2e8f0)}.exam-modal-header h2{font-size:1.125rem;font-weight:700;color:var(--text-primary, #1e293b);margin:0}.exam-modal-close{width:32px;height:32px;border:none;border-radius:8px;background:var(--bg-secondary, #f1f5f9);color:var(--text-secondary, #64748b);font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.exam-modal-body{padding:1.5rem;overflow-y:auto;flex:1}.exam-form-group{margin-bottom:1rem}.exam-form-group label{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary, #64748b);margin-bottom:.35rem}.exam-form-group input,.exam-form-group select{width:100%;padding:.5rem .75rem;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;font-size:.875rem;background:var(--input-bg, #f8fafc);color:var(--text-primary, #1e293b);transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.exam-form-group input:focus,.exam-form-group select:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.exam-form-row{display:flex;gap:1rem}.exam-form-row .exam-form-group{flex:1}.exam-save-error{margin:0 1.5rem .25rem;padding:.75rem 1rem;background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;color:#b91c1c;font-size:.85rem}.exam-save-error strong{display:block;margin-bottom:.4rem;font-weight:600}.exam-save-error ul{margin:0;padding-left:1.25rem;line-height:1.7}.exam-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color, #e2e8f0)}.exam-btn{padding:.5rem 1.25rem;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.exam-btn.primary{background:#2563eb;color:#fff}.exam-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b4d}.exam-btn.secondary{background:var(--bg-secondary, #f1f5f9);color:var(--text-secondary, #64748b)}.exam-btn.secondary:hover{background:#e2e8f0}.exam-booklet-tabs{display:flex;gap:.25rem;margin-bottom:1rem;background:var(--bg-secondary, #f1f5f9);border-radius:10px;padding:.25rem}.exam-booklet-tab{flex:1;padding:.5rem;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;background:transparent;color:var(--text-secondary, #64748b)}.exam-booklet-tab.active{background:#fff;color:#f59e0b;box-shadow:0 2px 4px #0000000f}.exam-questions-grid{display:grid;grid-template-columns:auto 1fr 1fr 1fr;gap:.5rem;align-items:center}.exam-questions-grid .q-header{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary, #64748b);padding-bottom:.25rem;border-bottom:1px solid var(--border-color, #e2e8f0)}.exam-q-number{font-size:.875rem;font-weight:600;color:var(--text-primary, #1e293b);min-width:40px;text-align:center}.exam-answer-group{display:flex;gap:.25rem}.exam-answer-btn{width:32px;height:32px;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;background:#fff;color:var(--text-secondary, #64748b)}.exam-answer-btn.selected{background:#2563eb;border-color:#f59e0b;color:#fff}.exam-answer-btn:hover:not(.selected){border-color:#f59e0b;color:#f59e0b}.exam-answer-btn.bos{width:auto;padding:0 .5rem;font-size:.7rem;border-style:dashed;color:var(--text-secondary, #94a3b8);border-color:var(--border-color, #cbd5e1)}.exam-answer-btn.bos.selected-bos{background:#f1f5f9;border-color:#94a3b8;border-style:solid;color:#475569;font-weight:600}.exam-answer-btn.bos:hover:not(.selected-bos){border-color:#94a3b8;color:#475569}.exam-add-subject-bar{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem;background:var(--bg-secondary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:10px}.exam-add-subject-bar .form-control{flex:1;min-width:0}.exam-count-input{width:110px!important;flex:0 0 110px!important}.exam-option-select{width:90px!important;flex:0 0 90px!important}.exam-accordions{display:flex;flex-direction:column;gap:.5rem;max-height:480px;overflow-y:auto;padding-right:4px;scroll-behavior:smooth}.exam-accordion{border:1px solid var(--border-color, #e2e8f0);border-radius:10px;overflow:hidden}.exam-accordion-header{display:flex;align-items:center;gap:.6rem;padding:.7rem 1rem;background:var(--bg-secondary, #f8fafc);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.exam-accordion-header:hover{background:#e2e8f0}.exam-accordion-chevron{display:flex;align-items:center;color:var(--text-secondary, #64748b);font-size:1rem;flex-shrink:0}.exam-accordion-title{flex:1;font-size:.9rem;font-weight:600;color:var(--text-primary, #1e293b)}.exam-accordion-meta{font-size:.75rem;color:var(--text-secondary, #64748b);background:#fff;border:1px solid var(--border-color, #e2e8f0);border-radius:12px;padding:.1rem .5rem;white-space:nowrap}.exam-accordion-body{padding:.6rem .75rem .75rem;background:#fff;max-height:320px;overflow-y:auto}.exam-add-more-bar{display:flex;gap:.5rem;align-items:center;margin-top:.75rem;padding-top:.75rem;border-top:1px dashed var(--border-color, #e2e8f0)}.exam-add-more-bar .exam-count-input{flex:1;min-width:0}.exam-q-grid{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:.3rem .5rem}.exam-q-item{display:flex;align-items:center;gap:.35rem;padding:.2rem .35rem;border-radius:6px;transition:background .1s}.exam-q-item:hover{background:var(--bg-secondary, #f8fafc)}@media(max-width:768px){.exam-header{flex-direction:column;align-items:flex-start;gap:1rem}.exam-form-row{flex-direction:column}.exam-table{display:block;overflow-x:auto}.exam-add-subject-bar{flex-wrap:wrap}.exam-count-input{width:90px!important;flex:0 0 90px!important}.exam-answer-btn{width:26px;height:26px;font-size:.7rem}.exam-answer-btn.bos{width:auto;padding:0 .35rem}.exam-q-grid{grid-template-columns:repeat(2,1fr)}.exam-accordions{max-height:320px}}.optical-reader-page{padding:2rem 0}.optical-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.optical-header-left{display:flex;align-items:center;gap:1rem}.optical-header-icon{width:48px;height:48px;border-radius:12px;background:#2563eb;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem}.optical-title-section h1{font-size:1.5rem;font-weight:700;color:var(--text-primary, #1e293b);margin:0}.optical-title-section p{font-size:.875rem;color:var(--text-secondary, #64748b);margin:.25rem 0 0}.optical-form-card{background:var(--card-bg, #fff);border-radius:12px;border:1px solid var(--border-color, #e2e8f0);padding:1.5rem;margin-bottom:1.5rem}.optical-form-card h3{font-size:1rem;font-weight:700;color:var(--text-primary, #1e293b);margin:0 0 1rem}.optical-form-row{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.optical-form-group{display:flex;flex-direction:column;gap:.35rem;flex:1 1 200px}.optical-form-group label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary, #64748b)}.optical-form-group input,.optical-form-group select{padding:.5rem .75rem;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;font-size:.875rem;background:var(--input-bg, #f8fafc);color:var(--text-primary, #1e293b);transition:border-color .2s,box-shadow .2s}.optical-form-group input:focus,.optical-form-group select:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.optical-student-info{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#10b9810d;border:1px solid rgba(16,185,129,.2);border-radius:10px;margin-bottom:1rem}.optical-student-info .icon{font-size:1.5rem}.optical-student-info .info{flex:1}.optical-student-info .name{font-weight:700;color:var(--text-primary, #1e293b)}.optical-student-info .detail{font-size:.8rem;color:var(--text-secondary, #64748b)}.optical-answer-sheet{background:var(--card-bg, #fff);border-radius:12px;border:1px solid var(--border-color, #e2e8f0);padding:1.5rem;margin-bottom:1.5rem}.optical-answer-sheet h3{font-size:1rem;font-weight:700;color:var(--text-primary, #1e293b);margin:0 0 1rem}.optical-answer-row{display:flex;align-items:center;gap:.75rem;padding:.4rem .75rem;border-radius:8px;transition:background .15s}.optical-answer-row:nth-child(2n){background:var(--bg-secondary, #f8fafc)}.optical-answer-row .q-no{min-width:36px;text-align:center;font-weight:700;font-size:.875rem;color:var(--text-primary, #1e293b)}.optical-answer-row .q-subject{min-width:100px;font-size:.75rem;color:var(--text-secondary, #64748b)}.optical-answer-group{display:flex;gap:.3rem}.optical-answer-btn{width:36px;height:36px;border:2px solid var(--border-color, #e2e8f0);border-radius:50%;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .15s;background:#fff;color:var(--text-secondary, #64748b)}.optical-answer-btn:hover:not(.selected){border-color:#10b981;color:#10b981}.optical-answer-btn.selected{background:#10b981;border-color:#10b981;color:#fff}.optical-answer-btn.empty-btn{width:auto;border-radius:8px;padding:0 .5rem;font-size:.7rem}.optical-answer-btn.empty-btn.selected{background:#94a3b8;border-color:#94a3b8}.optical-submit-row{display:flex;justify-content:flex-end;gap:.75rem}.optical-submit-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 2rem;border:none;border-radius:10px;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .2s;background:#2563eb;color:#fff}.optical-submit-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.optical-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.optical-result-card{background:var(--card-bg, #fff);border-radius:12px;border:1px solid var(--border-color, #e2e8f0);padding:1.5rem;margin-bottom:1.5rem}.optical-result-card h3{font-size:1rem;font-weight:700;color:var(--text-primary, #1e293b);margin:0 0 1rem}.optical-result-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.optical-result-stat{text-align:center;padding:1rem;border-radius:10px}.optical-result-stat.correct{background:#10b9811a}.optical-result-stat.wrong{background:#ef44441a}.optical-result-stat.empty-stat{background:#94a3b81a}.optical-result-stat.net{background:#3b82f61a}.optical-result-stat .value{font-size:1.5rem;font-weight:800}.optical-result-stat.correct .value{color:#10b981}.optical-result-stat.wrong .value{color:#ef4444}.optical-result-stat.empty-stat .value{color:#94a3b8}.optical-result-stat.net .value{color:#3b82f6}.optical-result-stat .label{font-size:.75rem;font-weight:600;color:var(--text-secondary, #64748b);margin-top:.25rem}@media(max-width:768px){.optical-reader-page{padding:1rem 0}.optical-header{flex-direction:column;align-items:flex-start;gap:.75rem}.optical-form-row{flex-direction:column}.optical-form-card,.optical-answer-sheet,.optical-result-card{padding:1rem}.optical-answer-row .q-subject{display:none}.optical-answer-btn{width:30px;height:30px;font-size:.72rem}.optical-answer-row{gap:.4rem;padding:.3rem .4rem}.optical-submit-btn{padding:.65rem 1.2rem;font-size:.82rem}.optical-result-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.optical-action-buttons{flex-direction:column;align-items:stretch}.optical-action-buttons button{width:100%;justify-content:center}.optical-answer-btn{width:28px;height:28px;font-size:.68rem}.optical-answer-group{gap:.2rem}}.optical-pdf-result-table-wrap,.table-responsive-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:8px}.optical-pdf-result-table-wrap table,.table-responsive-wrap table{min-width:480px}.region-designer{display:flex;gap:1rem;min-height:500px}.region-designer-left{flex:1;min-width:0;display:flex;flex-direction:column;gap:.75rem}.region-designer-toolbar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.region-designer-toolbar .tool-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .7rem;border:1px solid var(--gray-light, #e2e8f0);border-radius:6px;background:#fff;color:var(--dark, #1e293b);font-size:.78rem;font-weight:500;cursor:pointer;transition:all .15s}.region-designer-toolbar .tool-btn:hover{background:#3b82f614;border-color:var(--primary, #2563eb);color:var(--primary, #2563eb)}.region-designer-toolbar .tool-btn.active{background:var(--primary, #2563eb);color:#fff;border-color:var(--primary, #2563eb)}.region-designer-toolbar .tool-btn:disabled{opacity:.4;cursor:not-allowed}.zoom-display{font-size:.75rem;color:var(--gray, #64748b);font-weight:600;margin-left:.25rem}.region-canvas-container{position:relative;border:2px dashed var(--gray-light, #e2e8f0);border-radius:10px;overflow:hidden;background:#f1f5f9;min-height:400px;cursor:crosshair}.region-canvas-container.has-image{border-style:solid;border-color:var(--gray-light, #e2e8f0)}.region-canvas-container.drawing{cursor:crosshair}.region-upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;color:var(--gray, #64748b);min-height:400px}.region-upload-area .upload-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.region-upload-area p{margin:.3rem 0;font-size:.85rem}.region-upload-area .upload-hint{font-size:.75rem;color:var(--gray, #94a3b8)}.region-upload-area input[type=file]{display:none}.region-upload-area .upload-btn{margin-top:1rem;padding:.5rem 1.2rem;border:1px solid var(--primary, #2563eb);border-radius:8px;background:#3b82f614;color:var(--primary, #2563eb);font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s}.region-upload-area .upload-btn:hover{background:var(--primary, #2563eb);color:#fff}.region-image-wrapper{position:relative;display:inline-block;line-height:0}.region-image-wrapper img{display:block;max-width:100%;height:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.region-overlay{position:absolute;border:2px solid;border-radius:3px;display:flex;align-items:flex-start;justify-content:flex-start;transition:box-shadow .15s;cursor:pointer;z-index:2}.region-overlay:hover{box-shadow:0 0 0 2px #00000026}.region-overlay.selected{box-shadow:0 0 0 3px #3b82f673;z-index:3}.region-overlay-label{position:absolute;top:2px;left:2px;padding:1px 4px;border-radius:3px;font-size:.62rem;font-weight:700;color:#fff;white-space:nowrap;pointer-events:none;line-height:1.3}.region-overlay .region-delete-btn{position:absolute;top:-8px;right:-8px;width:18px;height:18px;border-radius:50%;border:none;background:var(--danger, #ef4444);color:#fff;font-size:.65rem;cursor:pointer;display:none;align-items:center;justify-content:center;z-index:5;line-height:1;padding:0}.region-overlay:hover .region-delete-btn,.region-overlay.selected .region-delete-btn{display:flex}.region-draw-preview{position:absolute;border:2px dashed var(--primary, #2563eb);background:#3b82f61f;border-radius:2px;pointer-events:none;z-index:10}.region-color-StudentNo{background:#3b82f633;border-color:#3b82f6b3}.region-color-StudentNo .region-overlay-label{background:#3b82f6d9}.region-color-BookletType{background:#22c55e33;border-color:#22c55eb3}.region-color-BookletType .region-overlay-label{background:#22c55ed9}.region-color-Field{background:#eab30833;border-color:#eab308b3}.region-color-Field .region-overlay-label{background:#b48c08d9}.region-color-ExamType{background:#f9731633;border-color:#f97316b3}.region-color-ExamType .region-overlay-label{background:#f97316d9}.region-color-AnswerColumn{background:#ef444426;border-color:#ef444499}.region-color-AnswerColumn .region-overlay-label{background:#ef4444d9}.region-color-InstitutionCode{background:#0d948833;border-color:#0d9488b8}.region-color-InstitutionCode .region-overlay-label{background:#0d9488e0}.region-color-GroupNo{background:#9ca3af33;border-color:#9ca3afb3}.region-color-GroupNo .region-overlay-label{background:#9ca3afd9}.region-color-ClassGrade{background:#06b6d433;border-color:#06b6d4b3}.region-color-ClassGrade .region-overlay-label{background:#06b6d4d9}.region-color-ClassSection{background:#47556933;border-color:#475569b8}.region-color-ClassSection .region-overlay-label{background:#475569e0}.region-designer-right{width:260px;flex-shrink:0;display:flex;flex-direction:column;gap:.5rem}.region-list-title{font-size:.85rem;font-weight:700;color:var(--dark, #1e293b);margin:0;padding-bottom:.5rem;border-bottom:1px solid var(--gray-light, #e2e8f0)}.region-list{display:flex;flex-direction:column;gap:.4rem;overflow-y:auto;max-height:420px}.region-list-item{padding:.5rem .6rem;border:1px solid var(--gray-light, #e2e8f0);border-radius:8px;background:#fff;cursor:pointer;transition:all .15s;font-size:.78rem}.region-list-item:hover{border-color:var(--primary, #2563eb);background:#3b82f60d}.region-list-item.selected{border-color:var(--primary, #2563eb);background:#3b82f614;box-shadow:0 0 0 2px #3b82f62e}.region-list-item-header{display:flex;align-items:center;justify-content:space-between;gap:.3rem}.region-list-item-type{display:inline-flex;align-items:center;gap:.3rem;font-weight:600;color:var(--dark, #1e293b)}.region-list-item-type .type-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.region-list-item-coords{font-size:.68rem;color:var(--gray, #94a3b8);margin-top:.2rem;font-family:monospace}.region-list-item .item-delete-btn{padding:.15rem .3rem;border:none;background:transparent;color:var(--gray, #94a3b8);cursor:pointer;border-radius:4px;font-size:.75rem;transition:all .15s}.region-list-item .item-delete-btn:hover{background:#ef44441a;color:var(--danger, #ef4444)}.region-list-empty{text-align:center;padding:1.5rem .5rem;color:var(--gray, #94a3b8);font-size:.78rem}.region-prop-popup-overlay{position:fixed;inset:0;z-index:9500;background:#0006;display:flex;align-items:center;justify-content:center}.region-prop-popup{background:#fff;border-radius:12px;width:520px;max-width:95vw;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 40px #0003;animation:popupSlideIn .2s ease-out}@keyframes popupSlideIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.region-prop-popup-header{padding:1rem 1.25rem;border-bottom:1px solid var(--gray-light, #e2e8f0);font-size:.95rem;font-weight:700;color:var(--dark, #1e293b)}.region-prop-popup-body{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem;overflow-y:auto;flex:1;min-height:0}.region-prop-popup-body .prop-group{display:flex;flex-direction:column;gap:.25rem}.region-prop-popup-body .prop-group label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--gray, #64748b)}.region-prop-popup-body .prop-group input,.region-prop-popup-body .prop-group select{padding:.45rem .65rem;border:1px solid var(--gray-light, #e2e8f0);border-radius:7px;font-size:.85rem;background:#f8fafc;color:var(--dark, #1e293b)}.region-prop-popup-body .prop-group input:focus,.region-prop-popup-body .prop-group select:focus{outline:none;border-color:var(--primary, #2563eb);box-shadow:0 0 0 2px #3b82f61f}.region-prop-popup-body .prop-row{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.region-prop-popup-body .prop-group-section-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--primary, #2563eb);padding:.4rem 0 .1rem;border-top:1px solid var(--gray-light, #e2e8f0);margin-top:.25rem}.region-prop-popup-body .marker-coord-hint{font-size:.7rem;color:var(--gray, #64748b);background:#f8fafc;border:1px solid var(--gray-light, #e2e8f0);border-radius:5px;padding:.35rem .6rem;margin-bottom:.4rem;line-height:1.6}.region-prop-popup-coords{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;padding:.5rem;background:#f1f5f9;border-radius:6px;font-size:.72rem;color:var(--gray, #64748b);font-family:monospace}.region-prop-popup-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:.75rem 1.25rem;border-top:1px solid var(--gray-light, #e2e8f0)}.designer-tabs{display:flex;border-bottom:2px solid var(--gray-light, #e2e8f0);margin-bottom:1.25rem}.designer-tab{padding:.6rem 1.2rem;border:none;background:none;color:var(--gray, #64748b);font-size:.85rem;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s}.designer-tab:hover{color:var(--primary, #2563eb)}.designer-tab.active{color:var(--primary, #2563eb);border-bottom-color:var(--primary, #2563eb)}.template-page{padding:2rem 0}.template-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.template-header-left{display:flex;align-items:center;gap:1rem}.template-header-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;flex-shrink:0}.template-title-section h1{font-size:1.5rem;font-weight:700;color:var(--dark, #1e293b);margin:0}.template-title-section p{font-size:.875rem;color:var(--gray, #64748b);margin:.25rem 0 0}.template-card{background:#fff;border-radius:12px;border:1px solid var(--gray-light, #e2e8f0);padding:1.5rem;margin-bottom:1.5rem}.template-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.template-table{width:100%;border-collapse:collapse;font-size:.875rem}.template-table thead th{padding:.6rem .75rem;text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--gray, #64748b);border-bottom:2px solid var(--gray-light, #e2e8f0);white-space:nowrap}.template-table tbody td{padding:.6rem .75rem;border-bottom:1px solid var(--gray-light, #e2e8f0);color:var(--dark, #1e293b);vertical-align:middle}.template-table tbody tr:hover{background:#2563eb08}.template-table .actions-cell{display:flex;gap:.4rem;align-items:center}.template-badge{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600}.template-badge.active{background:#10b9811a;color:var(--success, #10b981)}.template-badge.inactive{background:#ef44441a;color:var(--danger, #ef4444)}.template-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem 1rem;border-radius:8px;border:none;cursor:pointer;font-weight:600;font-size:.85rem;transition:all .2s}.template-btn.primary{background:var(--primary, #2563eb);color:#fff}.template-btn.primary:hover{background:var(--primary-dark, #1d4ed8)}.template-btn.danger{background:#ef444414;color:var(--danger, #ef4444);border:1px solid rgba(239,68,68,.2)}.template-btn.danger:hover{background:#ef444426}.template-btn.secondary{background:transparent;color:var(--gray, #64748b);border:1px solid var(--gray-light, #e2e8f0)}.template-btn.secondary:hover{background:#00000008}.template-btn.edit{background:#0ea5e914;color:var(--secondary, #0ea5e9);border:1px solid rgba(14,165,233,.2)}.template-btn.edit:hover{background:#0ea5e926}.template-btn.sm{padding:.3rem .6rem;font-size:.8rem}.template-modal-overlay{position:fixed;inset:0;z-index:9000;background:#00000080;display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem;overflow-y:auto}.template-modal{background:#fff;border-radius:14px;width:100%;max-width:860px;box-shadow:0 25px 50px #00000026;animation:tmplSlideIn .25s ease-out}@keyframes tmplSlideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.template-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--gray-light, #e2e8f0)}.template-modal-header h2{margin:0;font-size:1.15rem;font-weight:700;color:var(--dark, #1e293b)}.template-modal-body{padding:1.5rem;max-height:70vh;overflow-y:auto}.template-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--gray-light, #e2e8f0)}.template-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.template-form-group{display:flex;flex-direction:column;gap:.3rem}.template-form-group.full-width{grid-column:1 / -1}.template-form-group label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--gray, #64748b)}.template-form-group input,.template-form-group select,.template-form-group textarea{padding:.5rem .75rem;border:1px solid var(--gray-light, #e2e8f0);border-radius:8px;font-size:.875rem;background:#f8fafc;color:var(--dark, #1e293b);transition:border-color .2s,box-shadow .2s}.template-form-group input:focus,.template-form-group select:focus,.template-form-group textarea:focus{outline:none;border-color:var(--primary, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.template-form-group textarea{resize:vertical;min-height:60px}.region-section{margin-top:1.5rem;border-top:1px solid var(--gray-light, #e2e8f0);padding-top:1rem}.region-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.region-section-header h3{margin:0;font-size:1rem;font-weight:700;color:var(--dark, #1e293b)}.region-item{background:#f8fafc;border:1px solid var(--gray-light, #e2e8f0);border-radius:10px;padding:1rem;margin-bottom:.75rem;position:relative}.region-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.region-item-header .region-label{font-weight:600;font-size:.9rem;color:var(--dark, #1e293b);display:flex;align-items:center;gap:.4rem}.region-item-header .region-type-badge{padding:.15rem .5rem;border-radius:6px;font-size:.72rem;font-weight:600;background:#2563eb1a;color:var(--primary, #2563eb)}.region-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.75rem}.region-form-grid .template-form-group label{font-size:.68rem}.region-form-grid .template-form-group input,.region-form-grid .template-form-group select{padding:.4rem .6rem;font-size:.82rem}.template-empty{text-align:center;padding:3rem 1rem;color:var(--gray, #64748b)}.template-empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.template-error{padding:.75rem 1rem;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:10px;color:var(--danger, #ef4444);font-size:.85rem;margin-bottom:1rem}.template-success{padding:.75rem 1rem;background:#10b98114;border:1px solid rgba(16,185,129,.2);border-radius:10px;color:var(--success, #10b981);font-size:.85rem;margin-bottom:1rem}@media(max-width:768px){.template-page{padding:1rem 0}.template-header{flex-direction:column;align-items:flex-start}.template-title-section h1{font-size:1.25rem}.template-form-grid{grid-template-columns:1fr}.region-form-grid{grid-template-columns:1fr 1fr}.template-modal{margin:0;border-radius:10px}.template-modal-body{padding:1rem}.template-modal-footer{flex-direction:column}.template-modal-footer .template-btn{width:100%;justify-content:center}.template-table{font-size:.8rem}.template-btn{width:100%;justify-content:center}}.template-loading-overlay{position:fixed;inset:0;z-index:9999;background:#00000073;display:flex;align-items:center;justify-content:center}.template-loading-content{display:flex;flex-direction:column;align-items:center;gap:1rem;background:#fff;padding:2.5rem 3rem;border-radius:16px;box-shadow:0 25px 50px #0003}.template-loading-content p{margin:0;font-size:1rem;font-weight:600;color:var(--dark, #1e293b)}.spinner-sm{width:14px;height:14px;border:2px solid rgba(14,165,233,.3);border-top-color:var(--secondary, #0ea5e9);border-radius:50%;animation:spinnerSm .6s linear infinite;display:inline-block}@keyframes spinnerSm{to{transform:rotate(360deg)}}.exam-results-page{padding:2rem 0}.results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.results-header-left{display:flex;align-items:center;gap:1rem}.results-header-icon{width:48px;height:48px;border-radius:12px;background:#2563eb;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem}.results-title-section h1{font-size:1.5rem;font-weight:700;color:var(--text-primary, #1e293b);margin:0}.results-title-section p{font-size:.875rem;color:var(--text-secondary, #64748b);margin:.25rem 0 0}.exam-results-page .page-filter-bar select.form-control{color:var(--dark, #1e293b)!important;-webkit-text-fill-color:var(--dark, #1e293b);background-color:#fff}.exam-results-page .page-filter-bar select.form-control option{color:var(--dark, #1e293b)!important;background-color:#fff}.results-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:1.5rem}.results-summary-card{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:var(--card-bg, #fff);border-radius:12px;border:1px solid var(--border-color, #e2e8f0)}.results-summary-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.results-summary-icon.students{background:#3b82f61a;color:#3b82f6}.results-summary-icon.average{background:#10b9811a;color:#10b981}.results-summary-icon.highest{background:#f59e0b1a;color:#f59e0b}.results-summary-icon.lowest{background:#ef44441a;color:#ef4444}.results-summary-content{display:flex;flex-direction:column}.results-summary-label{font-size:.75rem;color:var(--text-secondary, #64748b);font-weight:500}.results-summary-value{font-size:1.25rem;font-weight:700;color:var(--text-primary, #1e293b)}.results-table-card{background:var(--card-bg, #fff);border-radius:12px;border:1px solid var(--border-color, #e2e8f0);overflow:hidden}.results-table{width:100%;border-collapse:collapse}.results-table th{padding:.75rem 1rem;text-align:left;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary, #64748b);background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border-color, #e2e8f0)}.results-table td{padding:.75rem 1rem;font-size:.875rem;color:var(--text-primary, #1e293b);border-bottom:1px solid var(--border-color, #f1f5f9)}.results-table tr:hover td{background:var(--bg-secondary, #f8fafc)}.results-rank-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:.8rem;font-weight:700}.results-rank-badge.gold{background:#f59e0b26;color:#d97706}.results-rank-badge.silver{background:#94a3b826;color:#64748b}.results-rank-badge.bronze{background:#d977061f;color:#b45309}.results-rank-badge.normal{background:var(--bg-secondary, #f1f5f9);color:var(--text-secondary, #64748b)}.results-net-badge{display:inline-flex;padding:.2rem .6rem;border-radius:6px;font-size:.8rem;font-weight:700;background:#3b82f61a;color:#3b82f6}.results-correct{color:#10b981;font-weight:600}.results-wrong{color:#ef4444;font-weight:600}.results-empty-val{color:#94a3b8;font-weight:600}.results-empty{text-align:center;padding:3rem;color:var(--text-secondary, #64748b)}@media(max-width:768px){.results-header{flex-direction:column;align-items:flex-start;gap:1rem}.results-table{display:block;overflow-x:auto}}.zil-page{padding-top:1.5rem;padding-bottom:2rem}.zil-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.zil-title-section h1{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0 0 .25rem;display:flex;align-items:center;gap:.5rem}.zil-title-section p{color:#64748b;margin:0;font-size:.95rem}.zil-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;border:1px solid #e2e8f0;overflow:hidden}
