@layer base,page,controls;@layer base{@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/poppins-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/poppins-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/poppins-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/poppins-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/poppins-latin-800-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/poppins-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/poppins-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/poppins-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/poppins-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/poppins-latin-ext-800-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}}@layer base{:root{color-scheme:light;--color-primary: #7380ec;--color-primary-light: rgba(115, 128, 236, .15);--color-danger: #ff7782;--color-danger-light: rgba(255, 119, 130, .15);--color-success: #41f1b6;--color-success-light: rgba(65, 241, 182, .15);--color-warning: #ffbb55;--color-warning-light: rgba(255, 187, 85, .15);--color-white: #fff;--color-info-dark: #627388;--color-info-light: #dce1eb;--color-dark: #363949;--color-light: rgba(132, 139, 200, .18);--color-primary-variant: #111e88;--color-dark-variant: #667281;--color-background: #f6f6f9;--color-primary-accent: #a78bfa;--color-success-dark: #0d9668;--color-warning-dark: #b97a1e;--color-warning-strong: #f59e0b;--color-info: #0891b2;--color-info-bg: rgba(6, 182, 212, .12);--color-suspension: #f97316;--color-suspension-bg: rgba(249, 115, 22, .12);--color-primary-text: #4455e6;--color-primary-fill: #5a69e9;--color-success-text: #097c56;--color-success-fill: #0a875d;--color-warning-text: #9d5e00;--color-warning-fill: #a56a07;--color-danger-text: #d30011;--color-danger-fill: #ee0013;--color-info-text: #06738e;--color-suspension-text: #af4b05;--border-subtle: var(--color-light);--border-control: var(--color-info-dark);--surface-hover: rgba(0, 0, 0, .06);--focus-ring: 0 0 0 3px var(--color-primary-light);--focus-outline: 2px solid var(--color-primary-text);--tap-target: 44px;--card-border-radius: 2rem;--border-radius-1: .4rem;--border-radius-2: .8rem;--border-radius-3: 1.2rem;--space-1: .4rem;--space-2: .8rem;--space-3: 1.2rem;--space-4: 1.6rem;--space-5: 2rem;--space-6: 2.4rem;--card-padding: 1.8rem;--padding-1: 1.2rem;--text-xs: .72rem;--text-sm: .82rem;--text-base: .92rem;--text-lg: 1rem;--text-xl: 1.2rem;--text-2xl: 1.4rem;--text-3xl: 1.8rem;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--shadow-sm: 0 .4rem 1rem var(--color-light);--shadow-md: 0 1rem 2rem var(--color-light);--box-shadow: 0 2rem 3rem var(--color-light);--duration-micro: .1s;--duration-fast: .2s;--duration-base: .3s;--duration-slow: .4s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--lift-hover: -2px;--z-popover: 1500;--transition-speed: var(--duration-base)}.dark-theme-variables{color-scheme:dark;--color-background: #181a1e;--color-white: #202528;--color-dark: #edeffd;--color-dark-variant: #a3bdcc;--color-info-dark: #7d8da1;--color-light: rgba(0, 0, 0, .4);--surface-hover: rgba(255, 255, 255, .08);--box-shadow: 0 2rem 3rem var(--color-light);--color-success-dark: #41f1b6;--color-warning-dark: #ffcf7a;--color-info: #38bdf8;--color-suspension: #fb923c;--color-primary-text: #8994ef;--color-success-text: #41f1b6;--color-warning-text: #ffcf7a;--color-danger-text: #ff7782;--color-info-text: #38bdf8;--color-suspension-text: #fb923c}}@layer base{*{margin:0;padding:0;outline:0;appearance:none;border:0;text-decoration:none;list-style:none;box-sizing:border-box}:focus-visible{outline:var(--focus-outline);outline-offset:2px}td :focus-visible,.roster-row-cells:focus-visible,.sg-grid :focus-visible,.pg-grid :focus-visible,.cg-grid :focus-visible{outline-offset:-2px}input,select,textarea,button{font-family:inherit;font-weight:inherit;line-height:inherit}input,select,textarea{font-size:var(--text-base);color:var(--color-dark)}@media (pointer: coarse){input,select,textarea{font-size:max(16px,var(--text-base))}}::placeholder{color:var(--color-info-dark);opacity:1}::selection{background:var(--color-primary-light);color:var(--color-dark)}input,textarea{caret-color:var(--color-primary-text)}@supports not selector(::-webkit-scrollbar){html{scrollbar-width:thin;scrollbar-color:var(--color-info-light) transparent}}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-text-fill-color:var(--color-dark);-webkit-box-shadow:0 0 0 100px var(--color-background) inset;caret-color:var(--color-primary-text);transition:background-color 100000s ease-in-out 0s}.material-symbols-outlined{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;line-height:1}.material-symbols-outlined>svg{width:1em;height:1em;fill:currentColor;flex-shrink:0}svg:has(use[href^="#icon-event"]),svg:has(use[href^="#icon-calculate"]),svg:has(use[href^="#icon-menu_book"]),svg:has(use[href^="#icon-history_edu"]),svg:has(use[href^="#icon-translate"]),svg:has(use[href^="#icon-fitness_center"]),svg:has(use[href^="#icon-science"]){width:1.6em;height:1.6em}a svg:has(use[href^="#icon-event"]){width:1em;height:1em}a svg:has(use[href^="#icon-menu_book"]){width:1em;height:1em}label svg:has(use[href^="#icon-event"]){width:1em;height:1em}}@layer base{html{font-size:clamp(12.5px,12px + .25vw,14px)}html,body{width:100%;max-width:100vw;overflow-x:hidden}body{min-height:100vh;min-height:100dvh;font-family:Poppins,sans-serif;font-size:var(--text-base);background:var(--color-background);user-select:none;color:var(--color-dark)}.container{display:grid;width:96%;margin:0 auto;gap:var(--space-4);grid-template-columns:14rem minmax(0,1fr) 23rem}a{color:var(--color-dark)}h1{font-weight:800;font-size:var(--text-3xl)}h2{font-size:var(--text-2xl);font-weight:var(--weight-bold)}h3,h4{font-size:var(--text-sm);font-weight:var(--weight-semibold)}h5{font-size:var(--text-xs);font-weight:var(--weight-semibold)}small{font-size:var(--text-xs)}.profile-photo{width:2.8rem;height:2.8rem;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--color-primary-light);color:var(--color-primary-text);cursor:pointer}.right .profile .profile-photo span{font-size:1.6rem;cursor:pointer}.text-muted{color:var(--color-info-dark)}p{color:var(--color-dark-variant)}b{color:var(--color-dark)}.primary{color:var(--color-primary-text)}.danger{color:var(--color-danger-text)}.success{color:var(--color-success-text)}.warning{color:var(--color-warning-text)}}@layer base{aside{height:100vh;display:flex;flex-direction:column}aside .top{display:flex;align-items:center;justify-content:space-between;margin-top:1.4rem}aside .logo{display:flex;align-items:center;gap:.5rem}aside .logo img{width:2rem;height:2rem;border-radius:.4rem;object-fit:contain;flex-shrink:0}aside .logo h2{font-size:1rem;white-space:nowrap}.demo-badge{align-self:center;margin-left:.5rem;padding:.15rem .5rem;border-radius:.4rem;font-size:.65rem;font-weight:700;letter-spacing:.08em;color:#fff;background:var(--color-danger-fill);cursor:help}aside .close{display:none}aside .sidebar{display:flex;flex-direction:column;flex:1 0 auto;margin-top:3rem;border-radius:var(--card-border-radius);padding:0 .3rem}aside h3{font-weight:500}aside .sidebar a{display:flex;color:var(--color-info-dark);margin-left:2rem;gap:1rem;align-items:center;position:relative;height:3.7rem;transition:color var(--duration-micro) var(--ease-out)}aside .sidebar a span{font-size:1.6rem;transition:color var(--duration-micro) var(--ease-out)}aside .sidebar a[hidden]{display:none}aside .sidebar a:last-child{margin-top:auto;margin-bottom:2rem;width:100%}aside .sidebar a.active{background:var(--color-light);color:var(--color-primary-text);margin-left:0}aside .sidebar a.active:before{content:"";width:6px;height:100%;background:var(--color-primary)}aside .sidebar a.active span{color:var(--color-primary-text);margin-left:calc(1rem - 6px)}aside .sidebar a:hover{color:var(--color-primary-text)}.sidebar-divider{height:1px;background:var(--color-light);margin:1.4rem 1.6rem}aside .sidebar a.nav-cta{margin:.5rem 1.2rem;height:auto;padding:.9rem 1.1rem;background:var(--color-primary-fill);color:#fff;border-radius:var(--border-radius-2);font-weight:600;transition:background var(--duration-micro) var(--ease-out),opacity var(--duration-micro) var(--ease-out)}aside .sidebar a.nav-cta span,aside .sidebar a.nav-cta h3{color:var(--color-white)}aside .sidebar a.nav-cta span{font-size:1.3rem}aside .sidebar a.nav-cta:hover{opacity:.92;color:var(--color-white)}aside .sidebar a.nav-cta:hover span{margin-left:0}}@layer base{.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:var(--tap-target);padding:.65rem 1.3rem;border:none;border-radius:var(--border-radius-1);font-size:.85rem;font-weight:600;cursor:pointer;transition:.2s ease-in-out;white-space:nowrap}.btn .material-symbols-outlined{font-size:1.2rem}.btn-primary{background:var(--color-primary-fill);color:#fff}.btn-primary:hover{opacity:.9}.btn-secondary{background:var(--color-dark-variant);color:var(--color-white)}.btn-secondary:hover{opacity:.9}.btn-danger{background:var(--color-danger-fill);color:#fff}.btn-danger:hover{opacity:.9}.btn-ghost{background:transparent;color:var(--color-dark-variant);border:1px solid var(--border-control)}.btn-ghost:hover{background:var(--color-background)}.btn-icon{min-width:var(--tap-target);min-height:var(--tap-target);padding:.4rem;border-radius:var(--border-radius-1);background:transparent;border:none;cursor:pointer;color:var(--color-dark-variant);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.btn-icon:hover{background:var(--color-background)}.btn-icon.danger:hover{color:var(--color-danger-text)}main{margin-top:3rem;min-width:0}.view-section{display:none;animation:fadeIn .35s ease}.view-section.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}@layer base{.student-info-bar{display:flex;align-items:center;gap:var(--space-3);background:var(--color-white);padding:var(--space-3) var(--space-4);border-radius:var(--card-border-radius);box-shadow:var(--box-shadow);margin:var(--space-3) 0 var(--space-1);transition:box-shadow var(--duration-micro) var(--ease-out),transform var(--duration-micro) var(--ease-out)}.student-info-bar:hover{box-shadow:none}.student-avatar{width:3.2rem;height:3.2rem;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-accent));display:flex;align-items:center;justify-content:center;flex-shrink:0}.student-avatar span{color:#fff;font-size:1.8rem}.student-details h3{font-size:1rem;font-weight:600}.student-details p{font-size:.8rem}.student-meta{margin-left:auto;display:flex;gap:.5rem}.badge{padding:.25rem .7rem;border-radius:var(--border-radius-3);font-size:var(--text-xs);font-weight:600;letter-spacing:.02em}.badge-primary{background:var(--color-primary-light);color:var(--color-primary-text)}.badge-success{background:var(--color-success-light);color:var(--color-success-text)}.badge-danger{background:var(--color-danger-light);color:var(--color-danger-text)}.badge-warning{background:var(--color-warning-light);color:var(--color-warning-text)}.badge-info{background:var(--color-info-bg);color:var(--color-info-text)}}@layer base{main .dashboard{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}main .dashboard>div{background:var(--color-white);padding:var(--card-padding);border-radius:var(--card-border-radius);margin-top:1rem;box-shadow:var(--box-shadow);transition:box-shadow var(--duration-micro) var(--ease-out),transform var(--duration-micro) var(--ease-out)}main .dashboard>div:hover{box-shadow:none}.clickable-card{cursor:pointer}.clickable-card:hover{transform:translateY(var(--lift-hover))}.clickable-card:focus-visible{outline:var(--focus-outline);outline-offset:3px}main .dashboard>div span{background:var(--color-primary);padding:.5rem;border-radius:50%;color:var(--color-white);font-size:2rem}main .dashboard>div.grade span{background:var(--color-danger)}main .dashboard>div.next-class-card span{background:var(--color-success)}main .dashboard .middle{display:flex;align-items:center;justify-content:space-between}main .dashboard h3{margin:1rem 0 .6rem;font-size:1rem}main .dashboard .progress{position:relative;width:92px;height:92px;border-radius:50%}main .dashboard .progress svg{width:7rem;height:7rem}main .dashboard .progress svg circle{fill:none;stroke:var(--color-primary);stroke-width:14;stroke-linecap:round;transform:translate(7px,7px);stroke-dasharray:232;stroke-dashoffset:232;transition:stroke-dashoffset 1s ease}main .dashboard .grade .progress svg circle{stroke:var(--color-danger)}main .dashboard .progress .number{position:absolute;top:0;left:0;height:100%;width:100%;display:flex;align-items:center;justify-content:center}main .dashboard small{display:block;margin-top:1.6rem}.next-class-card .next-class-info p{font-size:.82rem;line-height:1.6}main .recent-activity{margin-top:2rem}main .recent-activity h2{margin-bottom:.8rem}main .recent-activity table{background:var(--color-white);width:100%;border-radius:var(--card-border-radius);padding:var(--card-padding);text-align:left;box-shadow:var(--box-shadow)}main table td:has(>.status-badge){text-align:center}main table thead th{padding:.8rem 1rem;color:var(--color-info-dark);font-weight:600;text-transform:uppercase;font-size:.72rem;letter-spacing:.04em}main table tbody td{padding:1rem;height:2.8rem;border-bottom:1px solid var(--color-light);color:var(--color-dark-variant);font-size:.85rem}main table tbody tr{transition:background var(--transition-speed) ease}main table tbody tr:hover{background:var(--color-light)}main table tfoot td{padding:1rem;font-weight:700;color:var(--color-dark)}.loading-cell{text-align:center;padding:var(--space-5) var(--space-3)!important;color:var(--color-info-dark)!important;font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:.01em}main .show-all{text-align:center;display:block;margin:1rem auto;color:var(--color-primary-text)}.score-high{color:var(--color-success-text);font-weight:600}.score-mid{color:var(--color-warning-text);font-weight:600}.score-low{color:var(--color-danger-text);font-weight:600}.status-badge{display:inline-block;padding:.25rem .7rem;border-radius:var(--border-radius-3);font-size:var(--text-xs);font-weight:600}.status-pass{background:var(--color-success-light);color:var(--color-success-text)}.status-fail{background:var(--color-danger-light);color:var(--color-danger-text)}.status-present{background:var(--color-success-light);color:var(--color-success-text)}.status-absent{background:var(--color-danger-light);color:var(--color-danger-text)}.status-late{background:var(--color-warning-light);color:var(--color-warning-text)}.status-excused{background:var(--color-primary-light);color:var(--color-primary-text)}.subject-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:.5rem;vertical-align:middle}}@layer base{.view-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin:1.2rem 0}.period-selector{display:flex;align-items:center;gap:.6rem}.period-selector label{font-size:.85rem;font-weight:500;color:var(--color-dark-variant)}.period-selector select{padding:.6rem .9rem;border-radius:var(--border-radius-2);background:var(--color-white);color:var(--color-dark);border:1px solid var(--border-control);cursor:pointer;transition:border-color var(--duration-micro) var(--ease-out),box-shadow var(--duration-micro) var(--ease-out)}.period-selector select:focus-visible,.view-toolbar select:focus-visible,.view-toolbar input:focus-visible,.modal-body input:focus-visible,.modal-body select:focus-visible,.modal-body textarea:focus-visible,.data-table input:focus-visible,.data-table select:focus-visible,.panel-actions select:focus-visible,.map-row select:focus-visible,.sched-field select:focus-visible,.settings-field input:focus-visible,.score-input:focus-visible,.search-bar:focus-within{border-color:var(--color-primary-text);box-shadow:var(--focus-ring);outline:none}}@layer base{.schedule-wrapper,.sg-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.schedule-wrapper{margin-top:1rem}.schedule-grid{display:grid;grid-template-columns:90px repeat(var(--sched-days, 5),1fr);gap:2px;background:var(--color-light);border-radius:var(--card-border-radius);overflow:hidden;box-shadow:var(--box-shadow);min-width:600px}.schedule-grid .sch-header{background:var(--color-primary-fill);color:#fff;padding:.8rem .5rem;text-align:center;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}.schedule-grid .sch-time{background:var(--color-white);padding:.8rem .5rem;text-align:center;font-size:.75rem;font-weight:600;color:var(--color-info-dark);display:flex;align-items:center;justify-content:center}.schedule-grid .sch-cell{background:var(--color-white);padding:.8rem .6rem;text-align:center;min-height:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;gap:.2rem}.schedule-grid .sch-cell .sch-subject{font-weight:700;font-size:.82rem;color:var(--color-dark)}.schedule-grid .sch-cell .sch-teacher{font-size:var(--text-xs);color:var(--color-dark-variant)}.schedule-grid .sch-cell .sch-room{font-size:.65rem;color:var(--color-info-dark)}.schedule-grid .sch-cell.empty{background:var(--color-background);opacity:.5}.sch-color-bar{width:28px;height:4px;border-radius:2px;margin-bottom:.25rem}}@layer base{.teacher-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-4);margin-top:var(--space-3)}.teacher-card{background:var(--color-white);padding:1.8rem;border-radius:var(--card-border-radius);box-shadow:var(--box-shadow);display:flex;flex-direction:column;align-items:center;text-align:center;gap:.6rem;position:relative;overflow:hidden}.teacher-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-accent))}.teacher-card .teacher-avatar{width:3.8rem;height:3.8rem;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-accent));display:flex;align-items:center;justify-content:center;margin-bottom:.3rem}.teacher-card .teacher-avatar span{color:#fff;font-size:2rem}.teacher-card h3{font-size:var(--text-base);font-weight:700}.teacher-card .teacher-spec{color:var(--color-primary-text);font-size:.78rem;font-weight:500}.teacher-card .teacher-email{font-size:.72rem;color:var(--color-info-dark);word-break:break-all}.teacher-card .teacher-status{margin-top:.3rem}}@layer base{.attendance-summary{display:flex;gap:1rem;margin:1rem 0;flex-wrap:wrap}.att-stat{background:var(--color-white);padding:1rem 1.6rem;border-radius:var(--card-border-radius);box-shadow:var(--box-shadow);flex:1 1 120px;text-align:center}.att-stat h2{font-size:1.6rem;font-weight:800}.att-stat p{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;margin-top:.3rem}.att-stat.stat-present h2{color:var(--color-success-text)}.att-stat.stat-absent h2{color:var(--color-danger-text)}.att-stat.stat-late h2{color:var(--color-warning-text)}.att-stat.stat-excused h2{color:var(--color-primary-text)}.events-timeline{margin-top:1rem;display:flex;flex-direction:column;gap:1rem}.event-card{background:var(--color-white);padding:1.4rem 1.8rem;border-radius:var(--card-border-radius);box-shadow:var(--box-shadow);display:flex;gap:1.2rem;align-items:flex-start;position:relative;overflow:hidden}.event-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px}.event-card.event-holiday:before{background:var(--color-danger)}.event-card.event-exam_period:before{background:var(--color-warning)}.event-card.event-activity:before{background:var(--color-success)}.event-card.event-parent_meeting:before{background:var(--color-primary)}.event-card.event-suspension:before{background:var(--color-suspension)}.event-card.event-general:before{background:var(--color-info-dark)}.event-icon{width:2.8rem;height:2.8rem;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.event-holiday .event-icon{background:var(--color-danger-light);color:var(--color-danger-text)}.event-exam_period .event-icon{background:var(--color-warning-light);color:var(--color-warning-text)}.event-activity .event-icon{background:var(--color-success-light);color:var(--color-success-text)}.event-parent_meeting .event-icon{background:var(--color-primary-light);color:var(--color-primary-text)}.event-suspension .event-icon{background:var(--color-suspension-bg);color:var(--color-suspension-text)}.event-general .event-icon{background:var(--color-light);color:var(--color-info-dark)}.event-body h3{font-size:var(--text-base);font-weight:700;margin-bottom:.3rem}.event-body p{font-size:.8rem;margin-bottom:.4rem}.event-body .event-dates{font-size:.72rem;color:var(--color-info-dark)}}@layer base{.settings{display:grid;grid-template-columns:13rem 1fr;gap:var(--space-4);margin-top:var(--space-3);align-items:start}.settings-rail{display:flex;flex-direction:column;gap:.3rem;position:sticky;top:var(--space-3)}.settings-rail-item{display:flex;align-items:center;gap:.7rem;padding:.7rem .9rem;border-radius:var(--border-radius-2);background:transparent;color:var(--color-dark-variant);font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);text-align:left;cursor:pointer;transition:background var(--duration-micro) var(--ease-out),color var(--duration-micro) var(--ease-out)}.settings-rail-item .material-symbols-outlined{font-size:1.3rem}.settings-rail-item:hover{background:var(--color-background);color:var(--color-dark)}.settings-rail-item.active{background:var(--color-primary-light);color:var(--color-primary-text);font-weight:var(--weight-semibold)}.settings-rail-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.settings-panels{min-width:0}.settings-panel{display:none;flex-direction:column;gap:var(--space-4);animation:fadeIn .3s ease}.settings-panel.active{display:flex}.settings-demo-banner{display:flex;align-items:center;gap:.6rem;padding:.8rem 1.1rem;border-radius:var(--border-radius-2);background:var(--color-warning-light);color:var(--color-warning-text);font-size:var(--text-sm);font-weight:var(--weight-medium)}.settings-demo-banner .material-symbols-outlined{font-size:1.2rem}.settings-identity{display:flex;align-items:center;gap:var(--space-3);background:var(--color-white);padding:var(--space-3) var(--space-4);border-radius:var(--border-radius-3);box-shadow:var(--shadow-sm)}.settings-avatar{width:3rem;height:3rem;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-accent));display:flex;align-items:center;justify-content:center;flex-shrink:0}.settings-avatar span{color:#fff;font-size:1.6rem}.settings-identity-meta{margin-right:auto}.settings-identity-meta h3{font-size:1rem;font-weight:var(--weight-semibold)}.settings-identity-meta p{font-size:var(--text-sm);color:var(--color-dark-variant)}.settings-card{background:var(--color-white);padding:var(--card-padding);border-radius:var(--border-radius-3);box-shadow:var(--shadow-sm)}.settings-card-title{font-size:var(--text-base);font-weight:var(--weight-semibold);margin-bottom:var(--space-3)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.settings-field{display:flex;flex-direction:column;gap:.4rem;min-width:0}.settings-field-grow{flex:1}.settings-field-label{display:inline-flex;align-items:center;gap:.35rem;font-size:var(--text-sm);color:var(--color-dark-variant)}.settings-field-label .material-symbols-outlined{font-size:1.05rem}.settings-field input{padding:.6rem .9rem;border:1px solid var(--border-control);border-radius:var(--border-radius-2);background:var(--color-background);color:var(--color-dark);font-family:inherit;font-size:var(--text-sm);width:100%}.settings-field input:disabled,.settings .btn:disabled{opacity:.7;cursor:not-allowed}.settings-row{display:flex;align-items:flex-end;gap:var(--space-3)}.settings-row+.settings-row{margin-top:var(--space-3)}.settings-hint{font-size:var(--text-xs);color:var(--color-info-dark);margin-top:.5rem}.settings-muted{color:var(--color-dark-variant)}.settings-hint-error{color:var(--color-danger-text)}.settings-hint-success{color:var(--color-success-text)}.settings-password-form{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-light)}.settings-password-actions{justify-content:flex-end;gap:.5rem;margin-top:.5rem}}@layer base{.settings-toggle-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-top:1.15rem}.settings-toggle-text{display:flex;flex-direction:column;margin-right:auto}.settings-toggle-text .settings-hint{margin-top:.15rem}.settings-toggle-title{font-size:var(--text-sm);font-weight:var(--weight-medium);margin-top:.15rem;color:var(--color-dark)}.settings-switch{width:2.6rem;height:1.5rem;border-radius:1rem;background:var(--color-light);position:relative;flex-shrink:0;opacity:.7;cursor:not-allowed}.settings-switch:after{content:"";position:absolute;top:.2rem;left:.2rem;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--color-white);box-shadow:0 1px 2px #00000040}.settings-segmented{display:inline-flex;background:var(--color-background);border:1px solid var(--border-control);border-radius:var(--border-radius-2);padding:.2rem;gap:.2rem}.settings-segment{padding:.4rem .9rem;border-radius:var(--border-radius-1);background:transparent;color:var(--color-dark-variant);font-family:inherit;font-size:var(--text-sm);cursor:pointer;transition:background var(--duration-micro) var(--ease-out),color var(--duration-micro) var(--ease-out)}.settings-segment.active{background:var(--color-primary-fill);color:#fff}.settings-coming-soon{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-info-text);background:var(--color-info-bg);padding:.15rem .55rem;border-radius:var(--border-radius-3);letter-spacing:.02em}.settings-faq{display:flex;flex-direction:column;gap:var(--space-3)}.settings-faq-item{border-left:3px solid var(--color-primary-light);padding-left:var(--space-3)}.settings-faq-q{font-size:var(--text-sm);font-weight:var(--weight-semibold);margin-bottom:.25rem}.settings-faq-a{font-size:var(--text-sm);color:var(--color-dark-variant)}.settings-contact{display:flex;align-items:center;gap:.5rem;margin-top:var(--space-3);font-size:var(--text-sm)}.settings-contact .material-symbols-outlined{color:var(--color-primary-text)}.settings-meta-row{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-3);gap:var(--space-3)}.settings-links{display:flex;flex-direction:column;gap:.7rem}.settings-links li{display:flex;align-items:center;gap:.5rem;font-size:var(--text-sm);color:var(--color-dark-variant)}.settings-links .material-symbols-outlined{font-size:1.15rem;color:var(--color-info-dark)}.settings-links .settings-coming-soon{margin-left:auto}.settings-links a{color:var(--color-primary-text)}.settings-links a:hover{text-decoration:underline}@media (max-width: 768px){.settings{grid-template-columns:1fr}.settings-rail{flex-direction:row;position:static;overflow-x:auto;padding-bottom:.3rem}.settings-rail-item{flex-shrink:0;min-height:var(--tap-target)}.settings-grid{grid-template-columns:1fr}.settings-row{flex-wrap:wrap}.settings-row .btn{width:100%;justify-content:center}.settings-segment{min-height:var(--tap-target)}}}@layer base{.right{margin-top:2rem}.right .top{display:flex;justify-content:end;gap:2rem;align-items:center;margin-bottom:1rem}.right .top #menu-btn{display:none}.right .theme-toggler{background:var(--color-light);display:flex;justify-content:space-between;align-items:center;min-height:var(--tap-target);height:var(--tap-target);width:4.6rem;padding:0;border:none;cursor:pointer;border-radius:var(--border-radius-1)}.right .theme-toggler span{font-size:1.2rem;width:50%;height:100%;display:flex;align-items:center;justify-content:center}.right .theme-toggler span.active{background:var(--color-primary-fill);color:#fff;border-radius:var(--border-radius-1)}.right .top .profile{display:flex;gap:1rem;align-items:center}.right .profile .info{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;text-align:right}.right .recent-updates h2{margin-bottom:.8rem}.right .recent-updates .updates-card{background:var(--color-white);padding:var(--card-padding);box-shadow:var(--box-shadow);border-radius:var(--card-border-radius);transition:box-shadow var(--duration-micro) var(--ease-out),transform var(--duration-micro) var(--ease-out)}.right .recent-updates .updates-card:hover{box-shadow:none}.right .recent-updates .updates-card .update{display:grid;grid-template-columns:2.6rem auto;gap:1rem;margin-bottom:1rem}.right .recent-updates .updates-card .update:last-child{margin-bottom:0}.right .recent-updates .updates-card .update .profile-photo{display:flex;align-items:center;justify-content:center}.right .subjects-analytics{margin-top:2rem}.right .subjects-analytics h2{margin-bottom:.8rem}.right .subjects-analytics .item{background:var(--color-white);border-radius:var(--card-border-radius);padding:1.4rem var(--card-padding);box-shadow:var(--box-shadow);gap:1rem;margin-bottom:.7rem;display:flex;align-items:center}.right .subjects-analytics .item .right-content{display:flex;justify-content:space-between;align-items:center;margin:0;width:100%}.right .subjects-analytics .item .icon{padding:.6rem;color:#fff;border-radius:50%;display:flex;flex-shrink:0}.right .subjects-analytics .item .score-display{font-size:1rem;font-weight:700}.grade-bar{width:60px;height:6px;background:var(--color-light);border-radius:3px;overflow:hidden;margin-top:.3rem}.grade-bar .grade-fill{height:100%;border-radius:3px;transition:width .8s ease}}@layer base{@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}.skeleton{display:block;min-height:1rem;background:linear-gradient(90deg,var(--color-light) 25%,var(--color-info-light) 50%,var(--color-light) 75%);background-size:400px 100%;animation:shimmer 1.5s infinite;border-radius:var(--border-radius-2)}.skeleton-text{display:inline-block;width:100%;height:.95rem;border-radius:var(--border-radius-1)}.skeleton-line{height:.95rem;margin-bottom:var(--space-2);border-radius:var(--border-radius-1)}.skeleton-line:last-child{width:65%}.skeleton-block{padding:var(--space-3) 0}.skeleton-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-4);margin-top:var(--space-3)}.skeleton-card{height:7rem}.skeleton-span{grid-column:1 / -1}.skeleton-row td{padding:1rem;border-bottom:1px solid var(--color-light)}.load-error{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-5) var(--space-3);text-align:center}.load-error-text{color:var(--color-danger-text);font-size:var(--text-sm);font-weight:var(--weight-medium);margin:0}.btn-retry{background:var(--color-primary-fill);color:#fff;border:none;border-radius:var(--border-radius-1);padding:.5rem 1.2rem;font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer}.btn-retry:hover{opacity:.9}.btn-retry:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}}@layer base{.legal-body{background:var(--color-background);color:var(--color-dark);min-height:100vh}.legal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;max-width:70ch;margin:0 auto;padding:var(--space-4) var(--space-3) 0}.legal-brand{display:inline-flex;align-items:center;gap:.6rem;color:var(--color-dark);font-weight:var(--weight-bold)}.legal-logo{border-radius:var(--border-radius-1)}.legal-lang{display:inline-flex;gap:.35rem}.legal-lang button{background:var(--color-light);color:var(--color-dark-variant);border:none;border-radius:var(--border-radius-1);padding:.35rem .8rem;font-size:var(--text-sm);cursor:pointer}.legal-lang button.active{background:var(--color-primary-fill);color:#fff}.legal{max-width:70ch;margin:0 auto;padding:var(--space-4) var(--space-3) var(--space-6);line-height:1.65}.legal h1{font-size:1.9rem;margin-bottom:.25rem}.legal h2{font-size:1.15rem;margin-top:var(--space-5);margin-bottom:var(--space-2)}.legal p,.legal ul{margin-bottom:var(--space-3);color:var(--color-dark-variant)}.legal ul{padding-left:1.4rem;list-style:disc}.legal li{margin-bottom:.4rem}.legal a{color:var(--color-primary-text);text-decoration:underline}.legal code{background:var(--color-light);border-radius:.25rem;padding:.05rem .35rem;font-size:.9em}.legal-updated{color:var(--color-info-dark);font-size:var(--text-sm)}.legal-demo-notice{background:var(--color-warning-light);border-left:4px solid var(--color-warning-strong);border-radius:var(--border-radius-1);padding:var(--space-3);margin:var(--space-4) 0;font-size:var(--text-sm)}.legal-callout{background:var(--color-light);border-left:4px solid var(--color-primary);border-radius:var(--border-radius-1);padding:var(--space-3);margin:var(--space-4) 0}.legal-footer{display:flex;gap:.6rem;justify-content:center;margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-light);font-size:var(--text-sm)}}@layer base{@media screen and (max-width: 1200px){.container{width:94%;grid-template-columns:7rem minmax(0,1fr) 23rem}aside .top{justify-content:center}aside .logo{margin-left:0;justify-content:center}aside .logo h2{display:none}aside .sidebar h3{display:none}aside .sidebar{width:5.6rem}main .dashboard{grid-template-columns:1fr;gap:0}main .recent-activity{position:static;left:auto;width:auto;margin-top:2rem;overflow-x:auto}main .recent-activity table{width:100%;min-width:560px}.teacher-cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}@media screen and (max-width: 768px){.container{width:100%;grid-template-columns:minmax(0,1fr)}.container>aside{position:fixed;top:0;left:-100%;z-index:4;width:min(20rem,86vw);height:100vh;height:100dvh;background:var(--color-white);box-shadow:1rem 3rem 4rem var(--color-light);padding-right:var(--card-padding);overflow-y:auto;overscroll-behavior:contain;display:none;animation:showMenu .4s ease forwards}.container>aside.active{display:flex}body.nav-open{overflow:hidden}body.nav-open:before{content:"";position:fixed;inset:0;z-index:3;background:#00000073}@keyframes showMenu{to{left:0}}.container>aside .sidebar{width:100%}.container>aside .sidebar h3{display:inline}.container>aside .sidebar a{height:3.4rem}.container>aside .top{justify-content:space-between}.container>aside .logo{margin-left:1rem;display:flex;align-items:center}.container>aside .logo h2{display:inline;font-size:1rem}.container>aside .close{display:flex;cursor:pointer;align-items:center}.container>aside .close span{font-size:1.7rem}main{margin-top:8rem;padding:0 .2rem}main .recent-activity{position:relative;left:0%;width:100%;margin-top:3rem;overflow-x:auto}main .recent-activity table{width:100%;min-width:560px}.right{width:94%;margin:0 auto 4rem}.right .top{position:fixed;top:0;left:0;align-items:center;padding:0 1rem;height:4.6rem;width:100%;background:var(--color-white);z-index:2;box-shadow:0 1rem 1rem var(--color-light)}.right .top .theme-toggler{width:4.4rem;position:absolute;left:66%}.right .profile .info{display:none}.right .top #menu-btn{display:inline-block;background:transparent;cursor:pointer;color:var(--color-dark);position:absolute;left:1rem}.right .top #menu-btn span{font-size:2rem}.student-info-bar{flex-wrap:wrap}.student-meta{width:100%;margin-left:0;justify-content:flex-start}main .dashboard{grid-template-columns:1fr;gap:.5rem}.teacher-cards{grid-template-columns:1fr}.attendance-summary{flex-direction:column}.recent-activity{overflow-x:auto}.right .subjects-analytics .item .right-content .grade-title{position:absolute;left:68%}}@media (max-width: 480px){:root{--card-padding: 1.2rem;--card-border-radius: 1.2rem}.container{gap:var(--space-3)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-info-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-info-dark)}.right.rail-widgets-hidden .recent-updates,.right.rail-widgets-hidden .subjects-analytics{display:none}}@layer base{.notfound-body{min-height:100vh;display:grid;place-items:center;padding:2rem;background:var(--color-background);color:var(--color-dark);font-family:Poppins,sans-serif}.notfound{text-align:center;max-width:26rem}.notfound-logo{width:4.5rem;height:4.5rem;border-radius:var(--border-radius-2);margin-bottom:1.5rem}.notfound-code{font-size:5rem;font-weight:800;line-height:1;color:var(--color-primary)}.notfound-title{font-size:var(--text-3xl);font-weight:700;margin:.4rem 0 .6rem}.notfound-text{color:var(--color-info-dark);margin-bottom:2rem}.notfound-btn{display:inline-block;background:var(--color-primary-fill);color:#fff;padding:.8rem 1.6rem;border-radius:var(--border-radius-2);font-weight:var(--weight-semibold);transition:opacity var(--transition-speed)}.notfound-btn:hover{opacity:.9}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.skeleton{animation:none!important}.btn-spinner{animation-duration:.7s!important;animation-iteration-count:infinite!important}}}@layer controls{select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23667281' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;background-size:.9rem;padding-right:2.1rem}.dark-theme-variables select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a3bdcc' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")}select option{background:var(--color-white);color:var(--color-dark)}input[type=number]{padding-right:.5rem}input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;padding:var(--space-1);margin-right:calc(var(--space-1) * -1);border-radius:var(--border-radius-1);opacity:.75}input[type=date]::-webkit-calendar-picker-indicator:hover,input[type=time]::-webkit-calendar-picker-indicator:hover{opacity:1;background:var(--surface-hover)}input[type=search]::-webkit-search-cancel-button{cursor:pointer}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:1px solid var(--border-control);border-radius:var(--border-radius-1)}input[type=color]::-moz-color-swatch{border:1px solid var(--border-control);border-radius:var(--border-radius-1)}input[type=file]{padding:0;border:none;background:none;font-size:var(--text-sm);color:var(--color-dark-variant)}input[type=file]::file-selector-button,input[type=file]::-webkit-file-upload-button{font:inherit;margin-right:var(--space-2);min-height:var(--tap-target);padding:0 var(--space-3);border:1px solid var(--border-control);border-radius:var(--border-radius-1);background:transparent;color:var(--color-dark-variant);font-weight:var(--weight-semibold);cursor:pointer}input[type=file]::file-selector-button:hover,input[type=file]::-webkit-file-upload-button:hover{background:var(--color-background);border-color:var(--color-primary-text);color:var(--color-dark)}}@layer controls{.smp-select,.smp-date{position:relative;display:block;width:100%}.smp-select__native,.smp-date__native{width:100%}@media not (pointer: coarse){.smp-select__native,.smp-date__native{color:transparent;pointer-events:none}.smp-date__native::-webkit-calendar-picker-indicator{display:none}}.smp-select__trigger,.smp-date__field{position:absolute;inset:0;width:100%;display:flex;align-items:center;font:inherit;color:var(--color-dark);background:transparent;border:none;border-radius:inherit}.smp-select__trigger{cursor:pointer;text-align:left}.smp-date__field{cursor:text}.smp-select__value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.smp-select__trigger.is-placeholder .smp-select__value,.smp-date__field::placeholder{color:var(--color-info-dark)}.smp-select__trigger:disabled,.smp-date__field:disabled{opacity:.7;cursor:not-allowed}.smp-select:has(.smp-select__trigger:focus-visible) .smp-select__native,.smp-date:has(.smp-date__field:focus-visible) .smp-date__native{border-color:var(--color-primary-text);box-shadow:var(--focus-ring)}.smp-select__trigger:focus-visible,.smp-date__field:focus-visible{outline:none}.smp-popover-root{position:absolute;top:0;left:0}.smp-select__listbox,.smp-date__pop{position:fixed;z-index:var(--z-popover, 1500);margin:0;padding:var(--space-1);list-style:none;background:var(--color-white);border:1px solid var(--border-control);border-radius:var(--border-radius-2);box-shadow:var(--shadow-md);overflow-y:auto;overscroll-behavior:contain;animation:smp-pop-in var(--duration-micro) var(--ease-out)}@keyframes smp-pop-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.smp-select__listbox,.smp-date__pop{animation:none}}.smp-select__option{display:block;padding:.5rem .7rem;border-radius:var(--border-radius-1);font-size:var(--text-base);color:var(--color-dark);cursor:pointer;white-space:nowrap}.smp-select__option.is-active{background:var(--color-primary-light);color:var(--color-primary-text)}.smp-select__option[aria-selected=true]{font-weight:var(--weight-semibold)}.smp-select__option[aria-disabled=true]{opacity:.5;cursor:not-allowed}.smp-select__group{padding:.5rem .7rem .25rem;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-info-dark);text-transform:uppercase;letter-spacing:.04em}}@layer controls{.smp-date__field{padding:.6rem .9rem;cursor:text}.smp-date__button{position:absolute;top:50%;right:.3rem;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:var(--border-radius-1);background:transparent;color:var(--color-dark-variant);cursor:pointer}.smp-date__button:hover{background:var(--surface-hover);color:var(--color-dark)}.smp-date__pop{padding:var(--space-2);min-width:17rem}.smp-date__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.smp-date__month{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-dark);text-transform:capitalize}.smp-date__nav{display:inline-flex;align-items:center;justify-content:center;min-width:var(--tap-target);min-height:var(--tap-target);border:none;border-radius:var(--border-radius-1);background:transparent;color:var(--color-dark-variant);cursor:pointer}.smp-date__nav:hover{background:var(--surface-hover);color:var(--color-dark)}.smp-date__row{display:grid;grid-template-columns:repeat(7,1fr)}.smp-date__dow{padding:.3rem 0;text-align:center;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-info-dark);text-transform:capitalize}.smp-date__day{aspect-ratio:1;min-width:2.2rem;border:none;border-radius:var(--border-radius-1);background:transparent;color:var(--color-dark);font:inherit;font-size:var(--text-sm);cursor:pointer}.smp-date__day:hover:not(:disabled){background:var(--surface-hover)}.smp-date__day.is-outside{color:var(--color-info-dark)}.smp-date__day.is-today{outline:1px solid var(--border-control);outline-offset:-3px}.smp-date__day.is-selected{background:var(--color-primary-fill);color:#fff;font-weight:var(--weight-semibold)}.smp-date__day:disabled{opacity:.35;cursor:not-allowed}@media (pointer: coarse){.smp-select__trigger,.smp-select__listbox,.smp-date__field,.smp-date__button,.smp-date__pop{display:none}}@media (pointer: coarse){:is(select,textarea,input:not([type=checkbox]):not([type=radio]):not([type=range])){min-height:var(--tap-target)}}}
