:root{--color-primary:#07549b;--color-primary-dark:#043b70;--color-primary-light:#0b6bb5;--color-secondary:#f4d66d;--color-secondary-light:#fff3c4;--color-secondary-soft:#fff9e8;--color-white:#fff;--color-text:#172033;--color-text-secondary:#667085;--color-border:#e5e7eb;--color-danger:#b42318;--shadow-card:0 24px 70px #043b7033;--radius-card:28px;color:var(--color-text);background:var(--color-primary);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,Arial,sans-serif}body{overflow-x:hidden}button,a,input,select{-webkit-tap-highlight-color:transparent}button,[role=button],a{touch-action:manipulation}:focus-visible{outline-offset:2px;outline:3px solid #07549b47}@media (width<=1024px){body.has-navigation-open{overflow:hidden}.sidebar,.sidebar.is-collapsed{width:min(320px,88vw);height:100dvh;transform:translate(-105%);box-shadow:16px 0 44px #043b702e}.sidebar.is-open{transform:translate(0)}.sidebar.is-collapsed .sidebar__brand{justify-content:flex-start;padding:14px 18px}.sidebar.is-collapsed .sidebar__brand img{width:45px;height:45px}.sidebar.is-collapsed .sidebar__brand div,.sidebar.is-collapsed .sidebar__school,.sidebar.is-collapsed .nav-item>span,.sidebar.is-collapsed .nav-item--featured i{display:grid}.sidebar.is-collapsed .sidebar__school{display:block}.sidebar.is-collapsed .sidebar__nav{padding:16px 12px}.sidebar.is-collapsed .nav-item{justify-content:flex-start;padding:0 14px}.sidebar.is-collapsed .nav-item.is-active:before{left:0}.sidebar.is-collapsed .nav-submenu{padding-left:25px}.sidebar__close{min-width:44px;min-height:44px;margin-left:auto;display:grid}.sidebar-backdrop{z-index:25;opacity:0;pointer-events:none;background:#041a307a;border:0;transition:opacity .18s;display:block;position:fixed;inset:0}.sidebar-backdrop.is-visible{opacity:1;pointer-events:auto}.app-shell__main,.app-shell__main.is-expanded{width:100%;margin-left:0}.app-header{height:68px;padding-inline:20px}.app-header h1{text-overflow:ellipsis;white-space:nowrap;max-width:min(55vw,430px);overflow:hidden}.menu-button,.user-menu__trigger{min-width:44px;min-height:44px}.page-content{min-height:calc(100dvh - 68px);padding:36px clamp(20px,4vw,40px)}.agent-page{height:calc(100dvh - 68px)}.academic-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.enrollment-grid.is-adding{grid-template-columns:1fr}}@media (width<=600px){:root{--radius-card:20px}.app-header{height:60px;padding:0 12px}.app-header__title{gap:7px;min-width:0}.app-header h1{max-width:52vw;font-size:.92rem}.user-menu__trigger{gap:3px;padding:3px}.user-menu__trigger>svg{display:none}.user-avatar{width:36px;height:36px}.user-menu__dropdown{width:min(220px,100vw - 24px);position:fixed;top:58px;right:12px}.user-menu__dropdown button{min-height:46px;font-size:.84rem}.sidebar,.sidebar.is-collapsed{width:min(330px,92vw)}.sidebar__brand{min-height:68px;padding:10px 14px}.sidebar__nav{gap:4px;padding:12px}.nav-item,.sidebar.is-collapsed .nav-item{min-height:48px;padding:0 14px;font-size:.9rem}.nav-item--sub,.sidebar.is-collapsed .nav-item--sub{min-height:44px}.nav-submenu,.sidebar.is-collapsed .nav-submenu{padding-left:18px}.page-content{min-height:calc(100dvh - 60px);padding:24px 16px 36px}.page-heading h2,.welcome-page h2{font-size:1.55rem;line-height:1.2}.page-heading p,.welcome-page p{margin-top:7px;font-size:.86rem;line-height:1.5}.welcome-page{align-items:flex-start}.welcome-page>div{margin-top:18vh;margin-bottom:0}.academic-filters{border-radius:12px;grid-template-columns:1fr;gap:14px;margin-top:22px;padding:16px}.academic-field label,.parameter-form label,.parameter-filters label{font-size:.8rem}.academic-field select,.parameter-form input,.parameter-form select,.parameter-filters select,.parameter-search input,.tree-search input,.enrollment-search input,.teacher-search input,.chat-composer input{font-size:16px}.academic-field select,.parameter-form input,.parameter-form select,.parameter-filters select,.consolidated-filters select,.management-heading select{min-height:48px}.parameter-tabs{z-index:8;box-shadow:0 1px 0 var(--color-border);scrollbar-width:none;background:#fffffff7;gap:2px;margin:22px -16px 0;padding:0 12px;position:sticky;top:60px}.parameter-tabs::-webkit-scrollbar{display:none}.parameter-tabs button{white-space:nowrap;min-height:48px;padding:0 13px;font-size:.82rem}.parameter-panel{padding-top:20px}.parameter-form-card,.generation-card,.responsible-teacher-card,.course-assignment-panel{border-radius:12px;padding:16px}.generation-card{margin-top:22px}.parameter-filters,.parameter-form{grid-template-columns:1fr;gap:14px;display:grid}.parameter-filters>div,.parameter-form>div,.configuration-form>div{width:100%}.parameter-actions,.parameter-actions--buttons,.management-toolbar{flex-direction:column;align-items:stretch;gap:10px}.parameter-actions>*,.management-toolbar>*,.parameter-save,.parameter-cancel,.parameter-search-button,.parameter-create,.teacher-primary-action,.assign-courses-button,.parameter-actions .parameter-search,.management-search,.parameter-search{width:100%;min-height:48px}.parameter-table-wrap{overscroll-behavior-x:contain;scrollbar-width:thin;margin-right:-1px}.parameter-table{min-width:680px}.parameter-table th,.parameter-table td{padding:13px 12px}.parameter-table button{min-height:40px;padding-inline:12px}.attendance-page{padding:22px 12px 32px}.attendance-workspace,.enrollment-workspace{border-radius:12px;margin-top:14px;padding:14px}.attendance-toolbar{flex-direction:column;align-items:stretch;gap:14px}.attendance-period{width:100%}.attendance-period button{flex:1;min-height:42px}.attendance-navigation button{width:44px;height:44px}.student-attendance-row{flex-direction:column;align-items:stretch;padding-block:16px}.student-identity strong{white-space:normal}.student-status{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.student-status button{justify-content:flex-start;min-height:46px;padding-inline:10px}.attendance-type__label{display:inline}.attendance-save{z-index:5;width:100%;min-height:50px;position:sticky;bottom:12px;box-shadow:0 8px 24px #043b7038}.enrollment-heading{flex-direction:column;align-items:stretch}.enrollment-heading__actions{justify-content:space-between}.enrollment-heading__actions .enrollment-add{min-height:44px}.enrollment-card{padding:14px}.enrollment-list article{flex-direction:column;align-items:flex-start}.enrollment-list article>div,.enrollment-list button{width:100%}.enrollment-list button{justify-content:center;min-height:44px}.enrollment-list strong{white-space:normal}.management-heading{flex-direction:column;align-items:stretch}.management-heading select{width:100%}.management-list>article{align-items:flex-start;padding:12px}.management-edit-visible{min-width:44px;min-height:44px}.management-edit-visible svg{flex:none}.management-course-title,.tree-heading{flex-direction:column;align-items:flex-start}.tree-row{flex-wrap:wrap;align-items:flex-start}.tree-row>div{width:100%;padding-left:36px}.tree-row>div button{min-height:40px}.tree-children{padding-left:12px}.tree-competencies,.tree-capacities{margin-left:12px}.agent-page{height:calc(100dvh - 60px);min-height:0;padding-bottom:max(16px, env(safe-area-inset-bottom))}.chat-area{margin-top:18px}.chat-composer{padding:5px 5px 5px 14px}.chat-composer button{width:46px;height:46px}.login-page{min-height:100dvh}.access-panel{min-height:100dvh;padding:max(16px, env(safe-area-inset-top)) 14px max(16px, env(safe-area-inset-bottom))}.login-card{padding:26px 20px 22px}.brand__halo{width:86px;height:86px;margin-bottom:10px}.brand__logo{width:72px;height:72px}.brand__intro{font-size:.96rem}.brand h1{font-size:2.25rem}.brand__accent{margin-block:9px 11px}.login-form{gap:17px;margin-top:22px}.input-wrap input,.submit-button{min-height:50px;font-size:16px}.password-toggle{width:44px;height:44px}.login-card__footer{margin-top:20px}.process-warning-modal{align-items:end;padding:0}.process-warning-modal__card{width:100%;padding:24px 18px max(18px, env(safe-area-inset-bottom));border-radius:20px 20px 0 0}.process-warning-modal__card button{min-height:48px}}@media (width>=1025px){.page-content>:not(.page-heading){max-width:1180px}.page-content{padding:clamp(38px,4vw,60px) clamp(32px,5vw,72px)}.menu-button{min-width:42px;min-height:42px}.parameter-panel{max-width:1100px}}*,:before,:after{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%}html{background:var(--color-primary)}body{-webkit-font-smoothing:antialiased;min-height:100vh;margin:0}button,input{font:inherit}.login-page{background:var(--color-primary);grid-template-columns:minmax(0,1.15fr) minmax(540px,.85fr);min-height:100vh;display:grid;overflow:hidden}.visual-panel{background-image:linear-gradient(#043b70a8,#07549bd6),url(/assets/login-education-bg.png);background-position:38%;background-size:cover;min-height:100vh;position:relative;overflow:hidden}.visual-panel:after{content:"";background:linear-gradient(90deg,#0000 58%,#043b7047);position:absolute;inset:0}.visual-panel__content{z-index:1;width:min(540px,100% - 72px);color:var(--color-white);position:absolute;bottom:clamp(48px,8vh,96px);left:clamp(36px,6vw,92px)}.visual-panel__eyebrow{color:var(--color-secondary-light);letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:12px;margin-bottom:18px;font-size:.76rem;font-weight:700;display:flex}.visual-panel__line{background:var(--color-secondary);border-radius:999px;width:30px;height:3px}.visual-panel h2{letter-spacing:-.04em;max-width:560px;margin:0;font:800 clamp(2rem,3.3vw,3.65rem)/1.08 Inter,Arial,sans-serif}.visual-panel p{color:#ffffffd1;margin:20px 0 0;font-size:clamp(.95rem,1.3vw,1.12rem)}.access-panel{background:var(--color-primary);place-items:center;min-height:100vh;padding:42px;display:grid;position:relative}.access-panel:before,.access-panel:after{content:"";pointer-events:none;border-radius:50%;position:absolute}.access-panel:before{border:44px solid #fff3c41a;width:300px;height:300px;top:-90px;right:-110px}.access-panel:after{background:#f4d66d1a;width:190px;height:190px;bottom:-80px;left:-70px}.login-card{z-index:1;border-radius:var(--radius-card);background:var(--color-white);width:min(100%,450px);box-shadow:var(--shadow-card);border:1px solid #ffffffb3;padding:clamp(30px,5vh,50px) clamp(28px,4vw,48px) 28px;position:relative}.brand{text-align:center}.brand__halo{border:1px solid var(--color-secondary-light);background:var(--color-white);border-radius:50%;place-items:center;width:116px;height:116px;margin:0 auto 18px;display:grid}.brand__logo{object-fit:contain;width:96px;height:96px;display:block}.brand__intro{margin:0 0 2px;font:700 1.1rem Inter,Arial,sans-serif}.brand h1{color:var(--color-primary);letter-spacing:.095em;margin:0;font:800 clamp(2.65rem,5vw,3.55rem)/1.05 Inter,Arial,sans-serif}.brand__accent{background:var(--color-secondary);border-radius:99px;width:48px;height:4px;margin:12px auto 15px;display:block}.brand__message{color:var(--color-text-secondary);margin:0;font-size:.92rem}.login-form{gap:18px;margin-top:30px;display:grid}.field label{margin-bottom:8px;font-size:.88rem;font-weight:700;display:block}.field__heading{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.field__heading a{color:var(--color-primary);font-size:.76rem;font-weight:600;text-decoration:none}.field__heading a:hover{color:var(--color-primary-dark);text-decoration:underline}.input-wrap{align-items:center;display:flex;position:relative}.input-wrap>svg{fill:none;width:19px;height:19px;stroke:var(--color-primary);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;pointer-events:none;position:absolute;left:16px}.input-wrap input{border:1px solid var(--color-border);background:var(--color-white);width:100%;height:52px;color:var(--color-text);border-radius:12px;outline:none;padding:0 48px;font-size:.92rem;transition:border-color .16s,box-shadow .16s,background .16s}.input-wrap input::placeholder{color:#98a2b3}.input-wrap input:hover{border-color:#b9c7d6}.input-wrap input:focus{border-color:var(--color-primary);background:#fbfdff;box-shadow:0 0 0 4px #07549b1a}.field.is-invalid .input-wrap input{border-color:var(--color-danger);box-shadow:0 0 0 3px #b4231814}.field__error,.form-status{min-height:16px;color:var(--color-danger);margin:5px 2px -16px;font-size:.74rem}.password-toggle{width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid;position:absolute;right:10px}.password-toggle:hover,.password-toggle:focus-visible{background:var(--color-secondary-soft);color:var(--color-primary);outline:none}.password-toggle svg,.submit-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:20px;height:20px}.submit-button{background:var(--color-primary);width:100%;min-height:52px;color:var(--color-white);letter-spacing:.08em;cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:11px;margin-top:2px;font-size:.9rem;font-weight:800;transition:background .16s,box-shadow .16s,transform .16s;display:flex;box-shadow:0 8px 18px #07549b33}.submit-button:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 10px 22px #043b7047}.submit-button:focus-visible{outline:3px solid var(--color-secondary);outline-offset:3px}.submit-button:active{transform:translateY(0)}.form-status{text-align:center;min-height:0;margin:-8px 0 0}.form-status.is-success{color:var(--color-primary)}.login-card__footer{color:var(--color-text-secondary);align-items:center;gap:10px;margin-top:26px;display:flex}.login-card__footer p{flex:none;margin:0;font-size:.67rem;font-weight:600}.login-card__footer span{background:var(--color-secondary-light);width:100%;height:1px}@media (width<=940px){.login-page{grid-template-columns:minmax(300px,.75fr) minmax(480px,1.25fr)}.visual-panel__content{left:30px}}@media (width<=760px){.sidebar.is-collapsed{width:min(280px,86vw)}.sidebar.is-collapsed .sidebar__brand{justify-content:flex-start;padding:14px 20px}.sidebar.is-collapsed .sidebar__brand img{width:45px;height:45px}.sidebar.is-collapsed .sidebar__brand div{display:grid}.sidebar.is-collapsed .sidebar__school{display:block}.sidebar.is-collapsed .sidebar__nav{padding:22px 13px}.sidebar.is-collapsed .nav-item{justify-content:flex-start;padding:0 13px}.sidebar.is-collapsed .nav-item>span{display:inline}.sidebar.is-collapsed .nav-item--featured i{display:block}.sidebar.is-collapsed .nav-item svg{width:19px;height:19px}.sidebar.is-collapsed .nav-item.is-active:before{left:0}.login-page{background-image:linear-gradient(#043b70d6,#07549bf0),url(/assets/login-education-bg.png);background-position:30%;background-size:cover;min-height:100svh;display:block}.visual-panel{display:none}.access-panel{background:0 0;min-height:100svh;padding:24px 18px}.login-card{border-radius:24px;padding:30px 26px 24px}.brand__halo{width:100px;height:100px;margin-bottom:14px}.brand__logo{width:82px;height:82px}.brand h1{font-size:2.7rem}.login-form{margin-top:24px}}@media (width<=390px){.access-panel{padding:14px}.login-card{padding-inline:20px}.field__heading a{text-align:right;max-width:120px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.app-shell{background:var(--color-white);min-height:100vh;display:flex}.sidebar{z-index:30;border-right:1px solid var(--color-border);background:var(--color-white);flex-direction:column;width:244px;transition:width .18s,transform .18s;display:flex;position:fixed;inset:0 auto 0 0}.sidebar__brand{border-bottom:1px solid var(--color-border);align-items:center;gap:11px;min-height:76px;padding:14px 20px;display:flex}.sidebar__brand img{object-fit:contain;flex:none;width:45px;height:45px}.sidebar__brand div{gap:2px;min-width:0;display:grid}.sidebar__brand strong{color:var(--color-primary-dark);letter-spacing:.07em;font-size:.94rem}.sidebar__brand span{color:var(--color-text-secondary);white-space:nowrap;font-size:.67rem}.sidebar__close{display:none}.sidebar__nav{gap:5px;padding:22px 13px;display:grid;overflow-y:auto}.nav-group{gap:3px;display:grid}.nav-submenu{gap:2px;padding-left:25px;display:grid}.nav-item--sub{min-height:36px;font-size:.76rem}.nav-item{min-height:45px;color:var(--color-text-secondary);border-radius:9px;align-items:center;gap:12px;padding:0 13px;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .15s,background .15s;display:flex;position:relative}.nav-item:hover{color:var(--color-primary);background:var(--color-secondary-soft)}.nav-item.is-active{color:var(--color-primary-dark);background:#07549b12;font-weight:600}.nav-item.is-active:before{background:var(--color-primary);content:"";border-radius:0 3px 3px 0;width:3px;height:21px;position:absolute;left:0}.nav-item--featured svg{color:var(--color-primary)}.nav-item--featured i{background:var(--color-secondary);border-radius:50%;width:6px;height:6px;margin-left:auto}.sidebar__school{color:var(--color-text-secondary);margin:auto 22px 24px;font-size:.68rem;line-height:1.6}.sidebar-backdrop{display:none}.app-shell__main{width:calc(100% - 244px);min-height:100vh;margin-left:244px;transition:width .18s,margin-left .18s}.sidebar.is-collapsed{width:74px}.sidebar.is-collapsed .sidebar__brand{justify-content:center;padding-inline:10px}.sidebar.is-collapsed .sidebar__brand img{width:42px;height:42px}.sidebar.is-collapsed .sidebar__brand div,.sidebar.is-collapsed .sidebar__school,.sidebar.is-collapsed .nav-item>span,.sidebar.is-collapsed .nav-item--featured i{display:none}.sidebar.is-collapsed .sidebar__nav{padding-inline:10px}.sidebar.is-collapsed .nav-item{justify-content:center;padding:0}.sidebar.is-collapsed .nav-item svg{width:21px;height:21px}.sidebar.is-collapsed .nav-item.is-active:before{left:-10px}.sidebar.is-collapsed .nav-submenu{padding-left:0}.sidebar.is-collapsed .nav-item--sub{min-height:34px}.app-shell__main.is-expanded{width:calc(100% - 74px);margin-left:74px}.app-header{z-index:20;border-bottom:1px solid var(--color-border);background:#fffffff5;justify-content:space-between;align-items:center;height:76px;padding:0 clamp(24px,4vw,52px);display:flex;position:sticky;top:0}.app-header__title{align-items:center;gap:13px;display:flex}.app-header h1{color:var(--color-text);margin:0;font-size:1rem;font-weight:650}.menu-button,.sidebar__close{width:38px;height:38px;color:var(--color-text);cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;padding:0}.menu-button{display:grid}.menu-button:hover,.sidebar__close:hover{background:var(--color-secondary-soft);color:var(--color-primary)}.user-menu{position:relative}.user-menu__trigger{color:var(--color-text);cursor:pointer;background:0 0;border:0;border-radius:24px;align-items:center;gap:9px;padding:5px 7px 5px 5px;display:flex}.user-menu__trigger:hover{background:var(--color-secondary-soft)}.user-avatar{background:var(--color-primary);width:34px;height:34px;color:var(--color-white);border-radius:50%;place-items:center;font-size:.8rem;font-weight:700;display:grid}.user-name{font-size:.8rem;font-weight:600}.user-menu__dropdown{border:1px solid var(--color-border);background:var(--color-white);border-radius:10px;width:158px;padding:6px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 28px #17203317}.user-menu__dropdown button{width:100%;color:var(--color-text);cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:9px;padding:10px;font-size:.78rem;display:flex}.user-menu__dropdown button:hover{background:var(--color-secondary-soft);color:var(--color-primary-dark)}.page-content{background:var(--color-white);min-height:calc(100vh - 76px);padding:clamp(32px,5vw,64px) clamp(24px,5vw,72px)}.page-heading h2,.welcome-page h2{color:var(--color-text);letter-spacing:-.025em;margin:0;font-size:clamp(1.75rem,2.4vw,2rem);line-height:1.25}.page-heading p,.welcome-page p{color:var(--color-text-secondary);margin:9px 0 0;font-size:.92rem}.welcome-page{align-items:center;display:flex}.welcome-page>div{margin-bottom:10vh}.welcome-page span{color:var(--color-primary);letter-spacing:.05em;text-transform:uppercase;margin-top:26px;font-size:.78rem;font-weight:600;display:block}.empty-module{min-height:55vh}.academic-filters{border:1px solid var(--color-border);background:var(--color-white);border-radius:14px;grid-template-columns:repeat(4,minmax(150px,1fr));gap:18px;margin-top:34px;padding:22px;display:grid}.academic-field{min-width:0}.academic-field label{color:var(--color-text);margin-bottom:8px;font-size:.78rem;font-weight:650;display:block}.academic-field select{border:1px solid var(--color-border);background:var(--color-white);width:100%;height:44px;color:var(--color-text);cursor:pointer;border-radius:9px;outline:none;padding:0 34px 0 12px;font-size:.82rem;transition:border-color .15s,box-shadow .15s}.academic-field select:hover:not(:disabled){border-color:var(--color-primary-light)}.academic-field select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #07549b14}.academic-field select:disabled{color:var(--color-text-secondary);cursor:not-allowed;background:#f8fafc}.academic-field__message{min-height:16px;color:var(--color-text-secondary);margin:6px 2px 0;font-size:.66rem;line-height:1.35;display:block}.academic-field__message.is-error{color:var(--color-danger)}.academic-field__message.is-warning{color:var(--color-primary-dark)}.parameter-tabs{border-bottom:1px solid var(--color-border);scrollbar-width:thin;gap:4px;margin-top:34px;display:flex;overflow-x:auto}.parameter-tabs button{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;padding:12px 18px;font-size:.82rem;font-weight:600;position:relative}.parameter-tabs button:hover{color:var(--color-primary)}.parameter-tabs button:disabled{opacity:.42;cursor:not-allowed}.parameter-tabs button.is-active{color:var(--color-primary-dark)}.parameter-tabs button.is-active:after{background:var(--color-primary);content:"";border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:12px;right:12px}.parameter-panel{max-width:940px;padding-top:28px}.parameter-actions{justify-content:flex-end;margin-bottom:18px;display:flex}.parameter-create{background:var(--color-primary);height:42px;color:var(--color-white);cursor:pointer;border:0;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:.78rem;font-weight:650;display:flex}.parameter-create:hover{background:var(--color-primary-dark)}.parameter-form-card{border:1px solid var(--color-border);background:#f8fafc;border-radius:12px;margin-bottom:20px;padding:18px}.parameter-form{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.parameter-form>div{gap:8px;width:min(240px,100%);display:grid}.parameter-form label{color:var(--color-text);font-size:.76rem;font-weight:650}.parameter-form input,.parameter-form select{border:1px solid var(--color-border);background:var(--color-white);width:100%;height:44px;color:var(--color-text);border-radius:9px;outline:none;padding:0 12px;font-size:.82rem}.parameter-form input:focus,.parameter-form select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #07549b14}.parameter-form input:disabled,.parameter-form select:disabled{color:var(--color-text-secondary);cursor:not-allowed;background:#f8fafc}.parameter-save,.parameter-cancel{cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:8px;height:44px;padding:0 17px;font-size:.78rem;font-weight:650;display:flex}.parameter-save{background:var(--color-primary);color:var(--color-white);border:0}.parameter-save:hover:not(:disabled){background:var(--color-primary-dark)}.parameter-save:disabled{opacity:.55;cursor:not-allowed}.parameter-cancel{border:1px solid var(--color-border);background:var(--color-white);color:var(--color-text-secondary)}.parameter-feedback{margin:18px 0 0;font-size:.76rem}.parameter-feedback.is-error{color:var(--color-danger)}.parameter-feedback.is-success{color:var(--color-primary)}.parameter-list{border-top:1px solid var(--color-border);max-width:680px;margin-top:24px}.parameter-search{border:1px solid var(--color-border);width:min(420px,100%);height:44px;color:var(--color-text-secondary);border-radius:9px;align-items:center;gap:9px;margin-top:24px;padding:0 12px;display:flex}.parameter-actions{justify-content:space-between;align-items:center;gap:14px;margin-top:20px;display:flex}.parameter-actions .parameter-search{flex:1;margin-top:0}.parameter-create{background:var(--color-primary);height:44px;color:var(--color-white);cursor:pointer;border:0;border-radius:9px;flex:none;justify-content:center;align-items:center;gap:8px;padding:0 17px;font-size:.78rem;font-weight:650;display:flex}.parameter-form-card{border:1px solid var(--color-border);background:#f8fafc;border-radius:10px;margin-top:16px;padding:18px}.parameter-filters{flex-wrap:wrap;gap:14px;margin-bottom:4px;display:flex}.parameter-filters>div{gap:8px;width:min(220px,100%);display:grid}.parameter-filters label{color:var(--color-text);font-size:.76rem;font-weight:650}.parameter-filters select{border:1px solid var(--color-border);background:var(--color-white);width:100%;height:44px;color:var(--color-text);border-radius:9px;padding:0 12px}.parameter-search-button{border:1px solid var(--color-primary);background:var(--color-white);height:44px;color:var(--color-primary);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:.78rem;font-weight:650;display:flex}.parameter-search-button:disabled,.parameter-create:disabled{opacity:.45;cursor:not-allowed}.flow-panel{flex-direction:column;display:flex}.flow-panel>.parameter-filters{order:1}.flow-panel>.parameter-actions{order:2}.flow-panel>.parameter-form{order:3}.flow-panel>.parameter-search{order:4}.flow-panel>.parameter-feedback{order:5}.flow-panel>.parameter-table-wrap{order:6}.flow-panel.view-create>.parameter-search,.flow-panel.view-create>.parameter-table-wrap,.flow-panel.view-idle>.parameter-search,.flow-panel.view-idle>.parameter-table-wrap{display:none}.configuration-structure-page .flow-panel.view-create>.parameter-form>div:has(select){display:none}.parameter-search:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #07549b14}.parameter-search input{min-width:0;height:100%;color:var(--color-text);background:0 0;border:0;outline:0;flex:1;font-size:.82rem}.parameter-table-wrap{border:1px solid var(--color-border);border-radius:10px;width:100%;margin-top:14px;overflow-x:auto}.parameter-table{border-collapse:collapse;text-align:left;width:100%;font-size:.8rem}.parameter-table th{border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);letter-spacing:.025em;text-transform:uppercase;white-space:nowrap;background:#f8fafc;padding:12px 14px;font-size:.7rem;font-weight:700}.parameter-table td{border-bottom:1px solid var(--color-border);min-width:130px;color:var(--color-text);padding:12px 14px}.parameter-table tr:last-child td{border-bottom:0}.parameter-table tr.is-editing td{color:var(--color-primary-dark);background:#07549b12;font-weight:600}.parameter-table button{color:var(--color-primary);cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:6px;padding:7px 9px;font-size:.73rem;font-weight:600;display:flex}.parameter-table button:hover{background:var(--color-secondary-soft)}.parameter-table-wrap>.parameter-empty{padding:8px 14px 24px}.parameter-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;min-height:52px;padding:7px 4px;font-size:.84rem;display:flex}.parameter-row.is-editing{border-left:3px solid var(--color-primary);color:var(--color-primary-dark);background:#07549b12;padding-left:12px;padding-right:10px;font-weight:600}.parameter-row button{color:var(--color-primary);cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:6px;padding:7px 9px;font-size:.73rem;font-weight:600;display:flex}.parameter-row button:hover{background:var(--color-secondary-soft)}.parameter-empty{color:var(--color-text-secondary);margin:24px 0 0;font-size:.78rem}.parameter-note{color:var(--color-text-secondary);margin:34px 0 0;font-size:.7rem}.configuration-form>div{width:min(205px,100%)}.configuration-list{max-width:940px}.configuration-list .parameter-row>span{padding-right:16px;line-height:1.45}.responsible-teacher-card{border:1px solid var(--color-border);background:var(--color-white);border-radius:14px;max-width:760px;margin-top:28px;padding:24px}.responsible-teacher-card__heading{color:var(--color-primary);justify-content:space-between;align-items:center;display:flex}.responsible-teacher-card__heading span{color:var(--color-text-secondary);text-transform:uppercase;font-size:.7rem;font-weight:650}.responsible-teacher-card__heading h3{color:var(--color-text);margin:4px 0 0;font-size:1rem}.class-academic-path{color:var(--color-primary-dark);margin:18px 0 0;font-size:.82rem;font-weight:650}.current-teacher{border-left:3px solid var(--color-primary);background:var(--color-secondary-soft);border-radius:8px;gap:5px;margin-top:22px;padding:16px;display:grid}.current-teacher small,.teacher-selection small{color:var(--color-text-secondary);font-size:.7rem}.current-teacher strong,.teacher-selection strong{color:var(--color-text);font-size:.9rem}.responsible-teacher-empty{color:var(--color-text-secondary);margin:22px 0 0;font-size:.82rem}.teacher-primary-action{background:var(--color-primary);color:#fff;cursor:pointer;border:0;border-radius:9px;min-height:42px;margin-top:18px;padding:0 16px;font-size:.76rem;font-weight:650}.teacher-picker{margin-top:22px}.teacher-search{border:1px solid var(--color-border);height:44px;color:var(--color-text-secondary);border-radius:9px;align-items:center;gap:9px;padding:0 12px;display:flex}.teacher-search:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #07549b14}.teacher-search input{height:100%;color:var(--color-text);background:0 0;border:0;outline:0;flex:1}.teacher-results{border:1px solid var(--color-border);border-radius:9px;max-height:230px;margin-top:10px;overflow-y:auto}.teacher-results button{border:0;border-bottom:1px solid var(--color-border);width:100%;min-height:44px;color:var(--color-text);text-align:left;cursor:pointer;background:#fff;justify-content:space-between;align-items:center;padding:9px 12px;display:flex}.teacher-results button:last-child{border-bottom:0}.teacher-results button:hover,.teacher-results button.is-selected{background:var(--color-secondary-soft);color:var(--color-primary-dark)}.teacher-results p{color:var(--color-text-secondary);margin:0;padding:18px 12px;font-size:.76rem}.teacher-selection{background:#f8fafc;border-radius:8px;gap:4px;margin-top:14px;padding:13px;display:grid}.teacher-picker__actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.assign-courses-button{background:var(--color-primary);color:#fff;cursor:pointer;border:0;border-radius:9px;min-height:44px;margin-top:18px;padding:0 18px;font-size:.78rem;font-weight:650}.course-assignment-panel{border:1px solid var(--color-border);background:#fff;border-radius:14px;max-width:940px;margin-top:22px;padding:24px}.course-assignment-panel h3{color:var(--color-text);margin:0 0 18px;font-size:1rem}.course-assignment-panel .parameter-table-wrap{margin-top:0}.course-assignment-panel input[type=checkbox]{width:17px;height:17px;accent-color:var(--color-primary)}.course-assignment-panel .parameter-table button:disabled{opacity:.4;cursor:not-allowed}.attendance-page>.page-heading,.attendance-page>.academic-filters,.attendance-page>.attendance-locked,.attendance-page>.attendance-workspace{width:min(100%,980px);margin-left:auto;margin-right:auto}.attendance-page .academic-filters{background:var(--color-white)}.attendance-locked{border:1px dashed var(--color-border);background:var(--color-white);color:var(--color-text-secondary);text-align:center;border-radius:14px;justify-items:center;margin-top:22px;padding:54px 24px;display:grid}.attendance-locked svg{color:var(--color-primary)}.attendance-locked h3{color:var(--color-text);margin:13px 0 6px;font-size:.95rem}.attendance-locked p{max-width:420px;margin:0;font-size:.78rem;line-height:1.55}.attendance-workspace{border:1px solid var(--color-border);background:var(--color-white);border-radius:14px;margin-top:22px;padding:22px}.demo-notice{border-left:3px solid var(--color-secondary);background:var(--color-secondary-soft);border-radius:7px;align-items:center;gap:10px;margin-bottom:20px;padding:10px 12px;display:flex}.demo-notice span{color:var(--color-primary-dark);text-transform:uppercase;flex:none;font-size:.68rem;font-weight:700}.demo-notice p{color:var(--color-text-secondary);margin:0;font-size:.68rem;line-height:1.4}.attendance-toolbar{justify-content:space-between;align-items:center;gap:20px;display:flex}.attendance-date{text-transform:capitalize;gap:5px;display:grid}.attendance-date span{color:var(--color-text-secondary);text-transform:uppercase;font-size:.68rem;font-weight:600}.attendance-date strong{color:var(--color-text);font-size:.86rem}.attendance-date-picker{color:var(--color-text-secondary);text-transform:uppercase;gap:5px;font-size:.68rem;font-weight:600;display:grid}.attendance-date-picker input{border:1px solid var(--color-border);background:var(--color-white);min-height:40px;color:var(--color-text);font:inherit;cursor:pointer;border-radius:9px;padding:0 11px;font-size:.78rem}.attendance-date-picker input:focus{border-color:var(--color-primary);outline:0;box-shadow:0 0 0 3px #07549b14}.attendance-period{border:1px solid var(--color-border);border-radius:9px;padding:3px;display:flex}.attendance-period button{min-width:64px;height:34px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:0 11px;font-size:.73rem;font-weight:600}.attendance-period button.is-active{background:var(--color-primary);color:var(--color-white)}.attendance-navigation{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-top:20px;padding:10px 0;display:flex}.attendance-navigation button{width:34px;height:34px;color:var(--color-primary);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid}.attendance-navigation button:hover{background:var(--color-secondary-soft)}.attendance-navigation span{color:var(--color-text);font-size:.78rem;font-weight:600}.attendance-responsible-teacher{color:var(--color-text-secondary);margin:18px 0 0;font-size:.75rem}.attendance-responsible-teacher span{font-weight:600}.attendance-responsible-teacher strong{color:var(--color-text)}.student-list-heading{justify-content:space-between;align-items:center;gap:12px;padding:22px 0 12px;display:flex}.student-list-heading>div{color:var(--color-primary);align-items:center;gap:9px;display:flex}.student-list-heading h3{color:var(--color-text);margin:0;font-size:.88rem}.student-list-heading>span{color:var(--color-text-secondary);font-size:.68rem}.student-attendance-list{border-top:1px solid var(--color-border)}.student-attendance-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:18px;min-height:72px;padding:11px 2px;display:flex}.student-identity{align-items:center;gap:11px;min-width:0;display:flex}.student-avatar{background:var(--color-secondary-light);width:38px;height:38px;color:var(--color-primary-dark);border-radius:50%;flex:none;place-items:center;font-size:.68rem;font-weight:700;display:grid}.student-identity div{gap:3px;min-width:0;display:grid}.student-identity strong{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.student-identity small{color:var(--color-text-secondary);font-size:.63rem}.student-status{gap:7px;display:flex}.student-status button{border:1px solid var(--color-border);background:var(--color-white);min-height:34px;color:var(--color-text-secondary);cursor:pointer;border-radius:8px;align-items:center;gap:5px;padding:0 10px;font-size:.68rem;font-weight:600;display:flex}.student-status button:hover{border-color:var(--color-primary-light);color:var(--color-primary)}.student-status button.is-present{border-color:var(--color-primary);color:var(--color-primary-dark);background:#07549b14}.student-status button.is-absent{border-color:var(--color-secondary);background:var(--color-secondary-soft);color:var(--color-primary-dark)}.student-status .attendance-type{opacity:.78;transition:opacity .15s,transform .15s,box-shadow .15s,background-color .15s,color .15s;position:relative}.student-status .attendance-type:hover{opacity:1;transform:translateY(-1px)}.student-status:has(.attendance-type.is-selected) .attendance-type:not(.is-selected){opacity:.42;filter:saturate(.55)}.student-status .attendance-type.is-selected{opacity:1;box-shadow:0 0 0 3px var(--color-white), 0 0 0 5px currentColor, 0 5px 12px #0f172a33;transform:translateY(-1px)scale(1.04)}.student-status .attendance-type.is-selected:after{content:"✓";border:2px solid var(--color-white);width:17px;height:17px;color:var(--color-white);background:#172033;border-radius:50%;place-items:center;font-size:.62rem;font-weight:900;display:grid;position:absolute;top:-7px;right:-7px}.attendance-type__code{border-radius:50%;place-items:center;width:20px;height:20px;font-size:.64rem;font-weight:800;display:grid}.student-status .attendance-type--present{color:#166534;background:#f0fdf4;border-color:#22c55e}.student-status .attendance-type--present.is-selected{color:var(--color-white);background:#16a34a}.student-status .attendance-type--present .attendance-type__code{color:#fff;background:#22c55e}.student-status .attendance-type--justified{color:#1d4ed8;background:#eff6ff;border-color:#3b82f6}.student-status .attendance-type--justified.is-selected{color:var(--color-white);background:#2563eb}.student-status .attendance-type--justified .attendance-type__code{color:#fff;background:#3b82f6}.student-status .attendance-type--absent{color:#991b1b;background:#fef2f2;border-color:#ef4444}.student-status .attendance-type--absent.is-selected{color:var(--color-white);background:#dc2626}.student-status .attendance-type--absent .attendance-type__code{color:#fff;background:#ef4444}.student-status .attendance-type--late{color:#854d0e;background:#fefce8;border-color:#eab308}.student-status .attendance-type--late.is-selected{color:var(--color-white);background:#ca8a04}.student-status .attendance-type--late .attendance-type__code{color:#fff;background:#eab308}.attendance-save{background:var(--color-primary);min-height:42px;color:var(--color-white);border:0;border-radius:9px;justify-content:center;align-items:center;gap:8px;margin:22px 0 0 auto;padding:0 16px;font-size:.75rem;font-weight:650;display:flex}.attendance-save:disabled{opacity:.45;cursor:not-allowed}.attendance-demo-caption{color:var(--color-text-secondary);text-align:right;margin:7px 0 0;font-size:.63rem}.enrollment-page>.page-heading,.enrollment-page>.academic-filters,.enrollment-page>.enrollment-workspace{width:min(100%,1080px);margin-left:auto;margin-right:auto}.enrollment-workspace{border:1px solid var(--color-border);background:var(--color-white);border-radius:14px;margin-top:22px;padding:22px}.enrollment-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.enrollment-heading>div{color:var(--color-primary-dark);align-items:center;gap:8px;display:flex}.enrollment-heading h3,.enrollment-card h4{margin:0}.enrollment-heading__actions{align-items:center;gap:10px;display:flex}.enrollment-heading__actions>span{background:var(--color-secondary-soft);color:var(--color-primary-dark);border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:700}.enrollment-heading__actions .enrollment-add{cursor:pointer;border-radius:8px;align-items:center;gap:6px;min-height:38px;padding:0 12px;font-size:.72rem;font-weight:700;display:flex}.enrollment-grid{grid-template-columns:1fr;gap:18px;display:grid}.enrollment-grid.is-adding{grid-template-columns:1fr 1fr}.enrollment-card{border:1px solid var(--color-border);background:#fbfcfe;border-radius:12px;min-width:0;padding:18px}.enrollment-card h4{color:var(--color-primary-dark);margin-bottom:14px;font-size:.86rem}.enrollment-search{border:1px solid var(--color-border);background:var(--color-white);min-height:42px;color:var(--color-text-secondary);border-radius:9px;align-items:center;gap:8px;margin-bottom:12px;padding:0 12px;display:flex}.enrollment-search:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #07549b14}.enrollment-search input{background:0 0;border:0;outline:0;width:100%;font-size:.76rem}.enrollment-list{gap:8px;max-height:440px;display:grid;overflow-y:auto}.enrollment-list article{border:1px solid var(--color-border);background:var(--color-white);border-radius:9px;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:10px 11px;display:flex}.enrollment-list article>div{min-width:0}.enrollment-list strong,.enrollment-list small{display:block}.enrollment-list strong{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.enrollment-list small{color:var(--color-text-secondary);margin-top:3px;font-size:.66rem}.enrollment-list button{cursor:pointer;border-radius:8px;flex:none;align-items:center;gap:5px;min-height:34px;padding:0 10px;font-size:.69rem;font-weight:700;display:flex}.enrollment-list button:disabled{opacity:.5;cursor:wait}.enrollment-add{background:var(--color-primary);color:var(--color-white);border:0}.enrollment-remove{color:#b91c1c;background:#fff1f2;border:1px solid #fecaca}.attendance-empty{background:var(--color-secondary-soft);text-align:center;border-radius:10px;padding:34px 18px}.attendance-empty p{color:var(--color-text-secondary);margin:14px 0 0;font-size:.74rem}.attendance-example-actions{justify-content:center;gap:10px;display:flex}.attendance-example-actions span{border:1px solid var(--color-border);background:var(--color-white);color:var(--color-primary-dark);border-radius:8px;align-items:center;gap:5px;padding:6px 9px;font-size:.68rem;font-weight:600;display:flex}.agent-page{flex-direction:column;height:calc(100vh - 76px);min-height:560px;padding-bottom:30px;display:flex}.chat-area{flex:1;align-items:flex-end;width:min(100%,900px);margin:26px auto 0;display:flex}.chat-composer{border:1px solid var(--color-border);background:var(--color-white);border-radius:16px;align-items:center;gap:10px;width:100%;padding:7px 7px 7px 19px;display:flex;box-shadow:0 5px 20px #1720330d}.chat-composer:focus-within{border-color:var(--color-primary-light);box-shadow:0 0 0 4px #07549b12}.chat-composer input{min-width:0;height:42px;color:var(--color-text);border:0;outline:0;flex:1;font-size:.9rem}.chat-composer input::placeholder{color:#98a2b3}.chat-composer button{background:var(--color-primary);width:42px;height:42px;color:var(--color-white);cursor:pointer;border:0;border-radius:11px;flex:none;place-items:center;padding:0;display:grid}.chat-composer button:hover{background:var(--color-primary-dark)}.chat-composer button:focus-visible{outline:3px solid var(--color-secondary);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.evaluation-settings-page .parameter-panel{max-width:1180px}.evaluation-panel>.parameter-filters{margin-bottom:20px}.evaluation-config-form{align-items:end}.evaluation-config-form>div:nth-child(2){display:none}.evaluation-state{min-height:44px;color:var(--color-text);align-items:center;gap:7px;font-size:.76rem;font-weight:650;display:flex}.evaluation-state input{width:16px;height:16px;accent-color:var(--color-primary)}.evaluation-context{border-left:3px solid var(--color-primary);background:var(--color-secondary-soft);color:var(--color-primary-dark);border-radius:7px;margin:16px 0 0;padding:11px 14px;font-size:.75rem;font-weight:650}.evaluation-workflow-hint{border:1px dashed var(--color-border);color:var(--color-text-secondary);text-align:center;background:#fbfcfe;border-radius:10px;margin:18px 0 0;padding:18px;font-size:.78rem}.evaluation-tree{gap:10px;display:grid}.tree-search{border:1px solid var(--color-border);min-height:44px;color:var(--color-text-secondary);background:#fff;border-radius:9px;align-items:center;gap:8px;padding:0 12px;display:flex}.tree-search:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #07549b14}.tree-search input{background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:.78rem}.tree-search--nested{min-height:38px;margin:9px 12px 9px 0}.tree-heading,.tree-row{align-items:center;gap:9px;display:flex}.tree-heading{background:var(--color-primary-dark);color:#fff;border-radius:9px;justify-content:space-between;padding:13px 15px;font-weight:700}.tree-heading button,.tree-row>div button,.tree-row--course>button:not(.tree-toggle),.tree-row--capacity>button{border:1px solid var(--color-border);min-height:31px;color:var(--color-primary-dark);cursor:pointer;background:#fff;border-radius:7px;align-items:center;gap:5px;padding:0 9px;font-size:.68rem;font-weight:650;display:inline-flex}.tree-learning{border:1px solid var(--color-border);background:#fff;border-radius:10px;overflow:hidden}.tree-row{min-height:49px;padding:8px 12px}.tree-row--learning{background:#f7fafc}.tree-row--course{background:#fbfdff;border-bottom:1px solid #edf1f5}.tree-row--course>strong{color:var(--color-primary-dark);flex:1;font-size:.78rem}.tree-competencies{border-left:2px solid #dbe7f1;margin-left:25px}.tree-row--learning>strong,.tree-row--competency>span,.tree-row--capacity>span{flex:1}.tree-row--learning>small{color:var(--color-text-secondary);font-size:.7rem;font-weight:650}.tree-row>div{gap:7px;display:flex}.tree-toggle{width:28px;height:28px;color:var(--color-primary);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;padding:0;display:grid}.tree-children{border-top:1px solid var(--color-border);padding:0 0 8px 30px}.tree-row--competency{border-bottom:1px solid #edf1f5}.tree-capacities{border-left:2px solid var(--color-secondary-light);margin-left:35px}.tree-row--capacity{min-height:41px;color:var(--color-text-secondary);font-size:.75rem}.tree-empty,.tree-capacities>p{color:var(--color-text-secondary);margin:0;padding:13px;font-size:.72rem}.consolidated-filters{grid-template-columns:minmax(280px,1fr) 190px 220px;gap:10px;margin-bottom:16px;display:grid}.consolidated-filters select,.management-heading select{border:1px solid var(--color-border);min-height:44px;color:var(--color-text);background:#fff;border-radius:9px;outline:0;padding:0 11px;font-size:.76rem}.consolidated-filters select:focus,.management-heading select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #07549b14}.context-menu{flex:none;position:relative}.context-menu summary{width:34px;height:34px;color:var(--color-text-secondary);cursor:pointer;border-radius:8px;place-items:center;list-style:none;display:grid}.context-menu summary::-webkit-details-marker{display:none}.context-menu summary:hover{background:var(--color-secondary-soft);color:var(--color-primary)}.context-menu__items{z-index:10;border:1px solid var(--color-border);background:#fff;border-radius:9px;min-width:170px;display:grid;position:absolute;top:37px;right:0;overflow:hidden;box-shadow:0 10px 28px #0f172a24}.context-menu__items button{border:0;border-bottom:1px solid var(--color-border);min-height:39px;color:var(--color-text);text-align:left;cursor:pointer;background:#fff;align-items:center;gap:8px;padding:0 12px;font-size:.72rem;display:flex}.context-menu__items button:last-child{border-bottom:0}.context-menu__items button:hover{background:var(--color-secondary-soft);color:var(--color-primary-dark)}.tree-row>.context-menu{margin-left:auto}.management-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.management-heading h3,.evaluation-panel>h3{color:var(--color-text);margin:0 0 14px;font-size:1rem}.management-heading select{width:210px}.management-toolbar{align-items:center;gap:12px;margin:18px 0 12px;display:flex}.management-search{flex:1}.management-list{border:1px solid var(--color-border);background:#fff;border-radius:10px;display:grid;overflow:visible}.management-list>article{border-bottom:1px solid var(--color-border);align-items:center;gap:12px;min-height:56px;padding:9px 12px 9px 15px;display:flex}.management-list>article:last-of-type{border-bottom:0}.management-list>article>span{flex:1;gap:3px;min-width:0;font-size:.78rem;display:grid}.management-row-main{min-width:0;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;flex:1;justify-content:space-between;align-items:center;gap:12px;padding:0;display:flex}.management-row-main>span:first-child{gap:4px;min-width:0;display:grid}.management-row-main>span:last-child{color:var(--color-primary);font-size:1.35rem}.management-row-main:hover strong{color:var(--color-primary)}.management-edit-visible{border:1px solid var(--color-border);min-height:34px;color:var(--color-primary);cursor:pointer;background:#fff;border-radius:8px;flex:none;align-items:center;gap:5px;padding:0 10px;font-size:.69rem;font-weight:650;display:inline-flex}.management-edit-visible:hover{border-color:var(--color-primary);background:var(--color-secondary-soft)}.course-assignment-search{position:relative;width:min(430px,100%)!important}.course-assignment-search__input{border:1px solid var(--color-border);height:44px;color:var(--color-text-secondary);background:#fff;border-radius:9px;align-items:center;gap:8px;padding:0 11px;width:100%!important;display:flex!important}.course-assignment-search__input:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #07549b14}.course-assignment-search__input input{border:0;height:100%;padding:0;box-shadow:none!important}.course-assignment-results{z-index:12;border:1px solid var(--color-border);background:#fff;border-radius:9px;max-height:230px;display:grid;position:absolute;top:72px;left:0;right:0;overflow-y:auto;box-shadow:0 10px 28px #0f172a1f}.course-assignment-results button{border:0;border-bottom:1px solid var(--color-border);min-height:42px;color:var(--color-text);text-align:left;cursor:pointer;background:#fff;justify-content:space-between;align-items:center;padding:8px 11px;display:flex}.course-assignment-results button:hover{background:var(--color-secondary-soft)}.course-assignment-results small{color:var(--color-primary);font-weight:650}.course-assignment-results p{color:var(--color-text-secondary);margin:0;padding:14px;font-size:.72rem}.management-list strong{color:var(--color-text);font-size:.79rem}.management-list small{color:var(--color-text-secondary);font-size:.66rem}.inline-empty{color:var(--color-text-secondary);justify-items:center;gap:10px;padding:30px 16px;font-size:.76rem;display:grid}.inline-empty p{margin:0}.inline-empty button{background:var(--color-primary);color:#fff;cursor:pointer;border:0;border-radius:8px;align-items:center;gap:6px;min-height:38px;padding:0 12px;font-size:.7rem;font-weight:650;display:flex}.management-back{min-height:36px;color:var(--color-primary);cursor:pointer;background:0 0;border:0;margin:14px 0 6px;padding:0;font-size:.75rem;font-weight:650}.management-course-title{justify-content:space-between;align-items:baseline;gap:12px;margin:8px 0 4px;display:flex}.management-course-title h4{color:var(--color-text);margin:0;font-size:1rem}.management-course-title span{color:var(--color-text-secondary);font-size:.7rem}.course-create-standalone{justify-content:flex-end;margin-bottom:12px;display:flex}.academic-tree-mobile{display:none}.mobile-back{min-height:38px;color:var(--color-primary);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;margin-bottom:10px;font-weight:650;display:flex}.mobile-academic-row{border:0;border-bottom:1px solid var(--color-border);width:100%;min-height:62px;color:var(--color-text);text-align:left;background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;display:flex}.mobile-academic-row>span{white-space:normal;gap:4px;min-width:0;display:grid}.mobile-academic-row strong{font-size:.78rem}.mobile-academic-row small{color:var(--color-text-secondary);font-size:.67rem;line-height:1.4}.academic-tree-mobile>h3{margin:10px 0 12px;font-size:.86rem;line-height:1.4}.generation-card{border:1px solid var(--color-border);background:var(--color-white);border-radius:14px;margin-top:28px;padding:22px}.generation-filters{align-items:end}.generation-progress{border:1px solid var(--color-border);background:#f8fafc;border-radius:10px;margin:20px 0 4px;padding:15px}.generation-progress__heading{color:var(--color-text);justify-content:space-between;align-items:center;gap:12px;font-size:.76rem;display:flex}.generation-progress__heading strong{color:var(--color-primary);font-size:.82rem}.generation-progress__track{background:#dce6ef;border-radius:999px;height:9px;margin-top:10px;overflow:hidden}.generation-progress__track span{border-radius:inherit;background:linear-gradient(90deg, var(--color-primary), var(--color-secondary));height:100%;transition:width .25s;display:block}.generation-progress small{color:var(--color-text-secondary);margin-top:8px;font-size:.67rem;display:block}.process-warning-modal{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a7a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.process-warning-modal__card{border:1px solid var(--color-border);text-align:center;background:#fff;border-radius:15px;width:min(100%,430px);padding:28px;box-shadow:0 24px 65px #0f172a3d}.process-warning-modal__icon{background:var(--color-secondary-soft);width:46px;height:46px;color:var(--color-primary);border-radius:50%;place-items:center;margin:0 auto 14px;font-size:1.25rem;font-weight:800;display:grid}.process-warning-modal__card h3{color:var(--color-text);margin:0;font-size:1.05rem}.process-warning-modal__card p{color:var(--color-text-secondary);margin:10px 0 22px;font-size:.79rem;line-height:1.6}.process-warning-modal__card>div:last-child{justify-content:center;gap:10px;display:flex}.process-warning-modal__card button{cursor:pointer;border-radius:9px;min-height:41px;padding:0 15px;font-size:.73rem;font-weight:650}.process-warning-stay{border:1px solid var(--color-border);color:var(--color-text);background:#fff}.process-warning-leave{background:var(--color-primary);color:#fff;border:0}.process-warning-stay:hover{background:#f8fafc}.process-warning-leave:hover{background:var(--color-primary-dark)}.empty-module p{color:var(--color-text-secondary);margin:0;font-size:.82rem}@media (width<=980px){.attendance-type__label{display:none}.student-status .attendance-type{justify-content:center;min-width:38px;padding-inline:8px}.enrollment-grid{grid-template-columns:1fr}}@media (width<=980px) and (width>=761px){.sidebar{width:210px}.app-shell__main{width:calc(100% - 210px);margin-left:210px}.sidebar__brand{padding-inline:15px}.academic-filters{grid-template-columns:repeat(2,minmax(160px,1fr))}}@media (width<=760px){.sidebar{width:min(280px,86vw);transform:translate(-105%);box-shadow:12px 0 38px #043b7021}.sidebar.is-open{transform:translate(0)}.sidebar__close{margin-left:auto;display:grid}.sidebar-backdrop{z-index:25;opacity:0;pointer-events:none;background:#043b7047;border:0;transition:opacity .18s;position:fixed;inset:0}.sidebar-backdrop.is-visible{opacity:1;pointer-events:auto;display:block}.app-shell__main,.app-shell__main.is-expanded{width:100%;margin-left:0}.app-header{height:66px;padding:0 17px}.menu-button{display:grid}.user-name{display:none}.page-content{min-height:calc(100vh - 66px);padding:30px 20px}.agent-page{height:calc(100vh - 66px);min-height:500px;padding-bottom:18px}.chat-area{margin-top:20px}.chat-composer{border-radius:14px}.academic-filters{grid-template-columns:1fr;gap:13px;margin-top:26px;padding:18px}.attendance-page{padding:24px 14px 18px}.attendance-page .academic-filters,.enrollment-page .academic-filters{margin-top:20px}.enrollment-workspace{margin-top:14px;padding:14px}.enrollment-card{padding:14px}.attendance-locked{margin-top:14px;padding:42px 20px}.attendance-workspace{margin-top:14px;padding:16px}.attendance-toolbar{flex-direction:column;align-items:stretch;gap:14px}.demo-notice{flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:16px}.attendance-period{width:100%}.attendance-period button{flex:1}.attendance-date strong{font-size:.8rem}.attendance-example-actions{flex-wrap:wrap}.student-list-heading{align-items:flex-start}.student-attendance-row{flex-direction:column;align-items:stretch;gap:10px;padding:14px 0}.student-status{grid-template-columns:repeat(4,1fr);width:100%;display:grid}.student-status button{justify-content:center;min-height:40px}.attendance-save{width:100%}.attendance-demo-caption{text-align:center}.parameter-tabs{margin-top:26px;overflow-x:auto}.parameter-tabs button{flex:none;padding-inline:14px}.parameter-form{grid-template-columns:1fr;display:grid}.parameter-form>div,.parameter-save,.parameter-cancel{width:100%}.parameter-actions{flex-direction:column;align-items:stretch}.parameter-actions .parameter-create{width:100%}.consolidated-filters{grid-template-columns:1fr}.academic-tree-desktop{display:none}.academic-tree-mobile{border:1px solid var(--color-border);background:#fff;border-radius:10px;display:block;overflow:hidden}.management-heading{flex-direction:column;align-items:stretch}.management-heading select{width:100%}.management-toolbar{flex-direction:column;align-items:stretch}.management-toolbar .parameter-create{width:100%}.evaluation-panel .parameter-filters{grid-template-columns:1fr}.context-menu__items{z-index:50;position:fixed;inset:auto 16px 16px}.process-warning-modal__card{padding:22px 18px}.process-warning-modal__card>div:last-child{flex-direction:column-reverse}.process-warning-modal__card button{width:100%}}@media (width<=1024px){.sidebar,.sidebar.is-collapsed{width:min(320px,88vw);height:100dvh;transform:translate(-105%)}.sidebar.is-open{transform:translate(0)}.sidebar.is-collapsed .sidebar__brand{justify-content:flex-start;padding:14px 18px}.sidebar.is-collapsed .sidebar__brand img{width:45px;height:45px}.sidebar.is-collapsed .sidebar__brand div,.sidebar.is-collapsed .nav-item>span,.sidebar.is-collapsed .nav-item--featured i{display:grid}.sidebar.is-collapsed .sidebar__school{display:block}.sidebar.is-collapsed .sidebar__nav{padding:16px 12px}.sidebar.is-collapsed .nav-item{justify-content:flex-start;padding:0 14px}.sidebar.is-collapsed .nav-submenu{padding-left:25px}.sidebar__close{margin-left:auto;display:grid}.sidebar-backdrop{z-index:25;opacity:0;pointer-events:none;background:#041a307a;border:0;display:block;position:fixed;inset:0}.sidebar-backdrop.is-visible{opacity:1;pointer-events:auto}.app-shell__main,.app-shell__main.is-expanded{width:100%;margin-left:0}.academic-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.app-header{height:60px;padding:0 12px}.app-header__title{gap:7px;min-width:0}.app-header h1{text-overflow:ellipsis;white-space:nowrap;max-width:52vw;font-size:.92rem;overflow:hidden}.menu-button,.user-menu__trigger{min-width:44px;min-height:44px}.user-name,.user-menu__trigger>svg{display:none}.page-content{min-height:calc(100dvh - 60px);padding:24px 16px 36px}.page-heading h2,.welcome-page h2{font-size:1.55rem}.academic-filters{grid-template-columns:1fr;gap:14px;margin-top:22px;padding:16px}.parameter-tabs{z-index:8;background:#fffffff7;margin:22px -16px 0;padding:0 12px;position:sticky;top:60px}.parameter-tabs button{min-height:48px}.parameter-panel{padding-top:20px}.parameter-filters,.parameter-form{grid-template-columns:1fr;gap:14px;display:grid}.parameter-filters>div,.parameter-form>div,.configuration-form>div{width:100%}.parameter-actions,.parameter-actions--buttons,.management-toolbar{flex-direction:column;align-items:stretch;gap:10px}.parameter-actions>*,.management-toolbar>*,.parameter-save,.parameter-cancel,.parameter-search-button,.parameter-create,.parameter-actions .parameter-search,.management-search,.parameter-search{width:100%;min-height:48px}.parameter-table{min-width:680px}.attendance-page{padding:22px 12px 32px}.student-status{grid-template-columns:repeat(2,minmax(0,1fr))}.student-status button{justify-content:flex-start;min-height:46px}.attendance-type__label{display:inline}.attendance-save{z-index:5;min-height:50px;position:sticky;bottom:12px;box-shadow:0 8px 24px #043b7038}.enrollment-heading{flex-direction:column;align-items:stretch}.enrollment-list article{flex-direction:column;align-items:flex-start}.enrollment-list article>div,.enrollment-list button{width:100%}.enrollment-list button{justify-content:center;min-height:44px}.management-list>article{align-items:flex-start;padding:12px}.agent-page{height:calc(100dvh - 60px);min-height:0}.process-warning-modal{align-items:end;padding:0}.process-warning-modal__card{border-radius:20px 20px 0 0;width:100%}}.parameter-table-wrap,.sidebar__nav,.teacher-results,.enrollment-list,.course-assignment-results{scrollbar-gutter:stable}.parameter-table .table-actions{white-space:nowrap;width:1%;min-width:112px}@media (width<=600px){.parameter-table-wrap{padding-bottom:6px}.parameter-table .table-actions{z-index:2;background:var(--color-white);min-width:118px;box-shadow:1px 0 0 var(--color-border), 8px 0 14px #1720330f;position:sticky;left:0}.parameter-table thead .table-actions{z-index:3;background:#f8fafc}.parameter-table tr.is-editing .table-actions{background:#edf4fa}.parameter-table .table-actions button{justify-content:center;width:100%}.sidebar__nav,.teacher-results,.enrollment-list,.course-assignment-results{padding-bottom:12px}}.duplication-panel{max-width:980px}.duplication-intro{align-items:flex-start;gap:14px;margin-bottom:24px;display:flex}.duplication-intro__icon{width:46px;height:46px;color:var(--color-primary);background:#07549b17;border-radius:12px;flex:none;place-items:center;display:grid}.duplication-intro h3{margin:2px 0 5px;font-size:1.05rem}.duplication-intro p{max-width:680px;color:var(--color-text-secondary);margin:0;font-size:.8rem;line-height:1.55}.duplication-years{border:1px solid var(--color-border);background:#f8fafc;border-radius:14px;grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr);align-items:end;gap:14px;padding:20px;display:grid}.duplication-years label{gap:8px;min-width:0;display:grid}.duplication-years label>span,.duplication-options legend{color:var(--color-text);font-size:.78rem;font-weight:700}.duplication-years select{border:1px solid var(--color-border);background:var(--color-white);width:100%;min-height:48px;color:var(--color-text);border-radius:9px;outline:0;padding:0 38px 0 12px}.duplication-years select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #07549b14}.duplication-arrow{color:var(--color-primary);place-self:center;margin-top:22px}.duplication-options{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0 0;padding:0;display:grid}.duplication-options legend{grid-column:1/-1;margin-bottom:2px}.duplication-options>label{border:1px solid var(--color-border);background:var(--color-white);cursor:pointer;border-radius:11px;align-items:center;gap:11px;min-height:66px;padding:10px 12px;transition:border-color .15s,background .15s;display:flex}.duplication-options>label:hover{border-color:#b9c7d6}.duplication-options>label.is-selected{background:#07549b0b;border-color:#07549b73}.duplication-options input{width:18px;height:18px;accent-color:var(--color-primary);flex:none}.duplication-option__order{background:var(--color-secondary-soft);width:32px;height:32px;color:var(--color-primary-dark);border-radius:9px;flex:none;place-items:center;font-size:.72rem;font-weight:800;display:grid}.duplication-options label>span:last-child{gap:4px;min-width:0;display:grid}.duplication-options strong{align-items:center;gap:7px;font-size:.8rem;display:flex}.duplication-options strong small{background:var(--color-secondary-light);color:var(--color-primary-dark);text-transform:uppercase;border-radius:999px;padding:3px 6px;font-size:.58rem}.duplication-options label>span:last-child>span{color:var(--color-text-secondary);font-size:.69rem;line-height:1.4}.duplication-warning{color:var(--color-danger);align-items:center;gap:8px;margin:14px 0 0;font-size:.76rem;display:flex}.duplication-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.duplication-review{background:var(--color-secondary-soft);color:var(--color-primary-dark);border:1px solid #f0cf63;border-radius:12px;grid-template-columns:auto minmax(0,1fr);gap:12px;margin-top:22px;padding:18px;display:grid}.duplication-review>svg{margin-top:1px}.duplication-review strong{font-size:.86rem}.duplication-review p{color:var(--color-text-secondary);margin:6px 0 0;font-size:.76rem;line-height:1.55}.duplication-review__actions{grid-column:2;justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.duplication-progress{background:#07549b09;border:1px solid #07549b2e;border-radius:11px;margin-top:14px;padding:14px 16px}.duplication-progress__heading{color:var(--color-text-secondary);justify-content:space-between;align-items:center;gap:12px;font-size:.7rem;display:flex}.duplication-progress__heading strong{color:var(--color-primary);font-size:.78rem}.duplication-progress__track{background:#dce6ef;border-radius:999px;height:8px;margin-top:10px;overflow:hidden}.duplication-progress__track span{border-radius:inherit;background:linear-gradient(90deg, var(--color-primary), var(--color-secondary));width:38%;height:100%;animation:1.15s ease-in-out infinite duplication-progress;display:block}@keyframes duplication-progress{0%{transform:translate(-105%)}to{transform:translate(270%)}}.duplication-result{background:#f4fbf6;border:1px solid #a7d8b5;border-radius:14px;margin-top:24px;padding:20px}.duplication-result__heading{color:#18733a;align-items:center;gap:10px;display:flex}.duplication-result__heading>div{gap:3px;display:grid}.duplication-result__heading strong{font-size:.94rem}.duplication-result__heading span{color:var(--color-text-secondary);font-size:.72rem}.duplication-result__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:18px 0;display:grid}.duplication-result__grid article{background:var(--color-white);border:1px solid #d8eade;border-radius:9px;grid-template-columns:1fr auto;gap:5px 12px;padding:11px;display:grid}.duplication-result__grid article>strong{grid-column:1/-1;margin-bottom:2px;font-size:.74rem}.duplication-result__grid article>span{color:var(--color-text-secondary);font-size:.66rem}.duplication-result__grid article>span:nth-of-type(n+2){text-align:right}.duplication-result__grid b{color:#18733a}.duplication-result__grid .has-omissions{color:var(--color-danger);font-weight:700}.duplication-diagnostic{background:#fff8f7;border:1px solid #f4b4ad;border-radius:10px;margin-top:14px;overflow:hidden}.duplication-diagnostic summary{min-height:44px;color:var(--color-danger);cursor:pointer;align-items:center;gap:8px;padding:0 13px;font-size:.76rem;font-weight:700;display:flex}.duplication-diagnostic dl{border-top:1px solid #f4d5d1;gap:0;margin:0;display:grid}.duplication-diagnostic dl>div{border-bottom:1px solid #f8dfdc;grid-template-columns:130px minmax(0,1fr);gap:12px;padding:10px 13px;display:grid}.duplication-diagnostic dl>div:last-child{border-bottom:0}.duplication-diagnostic dt{color:var(--color-text-secondary);font-size:.69rem;font-weight:700}.duplication-diagnostic dd{min-width:0;color:var(--color-text);margin:0;font-size:.72rem}.duplication-diagnostic code,.duplication-diagnostic pre{color:#8a1c13;white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;margin:0;font:.69rem/1.55 Consolas,monospace;display:block;overflow-x:auto}@media (width<=760px){.duplication-years{grid-template-columns:1fr;padding:16px}.duplication-arrow{margin:-4px 0;transform:rotate(90deg)}.duplication-options{grid-template-columns:1fr}.duplication-options>label{min-height:72px}.duplication-actions,.duplication-review__actions{flex-direction:column-reverse;align-items:stretch}.duplication-actions button,.duplication-review__actions button{width:100%;min-height:48px}.duplication-review{grid-template-columns:auto minmax(0,1fr);padding:16px}.duplication-review__actions{grid-column:1/-1}.duplication-progress__heading{flex-direction:column;align-items:flex-start;gap:3px}.duplication-result{padding:16px}.duplication-result__grid{grid-template-columns:1fr}.duplication-result>.parameter-save{width:100%;min-height:48px}.duplication-diagnostic dl>div{grid-template-columns:1fr;gap:5px}}:root{--color-primary:#155f9b;--color-primary-dark:#124b79;--color-primary-light:#2878b5;--color-secondary:#e9c95f;--color-secondary-light:#fbf3d5;--color-secondary-soft:#fdfaf0;--color-text:#1f2937;--color-text-secondary:#667085;--color-border:#e7eaee;--surface-subtle:#f7f8fa;--shadow-card:0 16px 40px #14304c1a;--radius-card:18px}.app-shell,.page-content{background:#fbfcfd}.sidebar{width:232px;box-shadow:none;border-right-color:#edf0f2}.app-shell__main{width:calc(100% - 232px);margin-left:232px}.sidebar__brand{min-height:68px;padding:11px 18px}.sidebar__brand img{width:39px;height:39px}.sidebar__brand strong{font-size:.86rem}.sidebar__nav{align-content:start;gap:24px;padding:22px 12px}.nav-section{gap:3px;display:grid}.nav-section__title{color:#98a2b3;letter-spacing:.09em;text-transform:uppercase;padding:0 12px 8px;font-size:.64rem;font-weight:700}.nav-section summary.nav-section__title{cursor:pointer;border-radius:8px;align-items:center;gap:8px;min-height:38px;padding-block:0;list-style:none;display:flex}.nav-section summary.nav-section__title::-webkit-details-marker{display:none}.nav-section summary.nav-section__title:after{content:"+";margin-left:auto;font-size:.9rem}.nav-section[open] summary.nav-section__title:after{content:"−"}.nav-section summary.nav-section__title:hover{color:var(--color-text-secondary);background:#f5f7f8}.nav-section__items{gap:3px;margin-top:4px;display:grid}.nav-item{border-radius:8px;gap:11px;min-height:42px;padding:0 12px;font-size:.82rem}.nav-item.is-active{background:#eef5fa}.nav-item.is-active:before{display:none}.sidebar__school{margin:auto 20px 20px;font-size:.63rem}.sidebar.is-collapsed .nav-section>.nav-section__title:not(summary){display:none}.sidebar.is-collapsed summary.nav-section__title{justify-content:center;padding:0}.sidebar.is-collapsed summary.nav-section__title span,.sidebar.is-collapsed summary.nav-section__title:after{display:none}.sidebar.is-collapsed .sidebar__nav{gap:12px}.app-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fbfcfdf0;border-bottom-color:#edf0f2;height:68px;padding:0 clamp(24px,4vw,48px)}.app-header h1{font-size:.9rem;font-weight:600}.menu-button{color:var(--color-text-secondary)}.user-avatar{color:var(--color-primary-dark);background:#eaf2f8}.user-name{font-size:.76rem}.page-content{padding:44px clamp(24px,5vw,68px) 64px}.page-content>*{width:min(100%,1120px);margin-left:auto;margin-right:auto}.page-heading h2{font-size:clamp(1.55rem,2vw,1.9rem);font-weight:700}.page-heading p{max-width:620px;margin-top:6px;font-size:.84rem;line-height:1.55}.home-page{display:block}.home-intro{padding-top:clamp(28px,8vh,86px)}.home-intro>span{color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:700}.home-intro h2{letter-spacing:-.035em;margin:9px 0 5px;font-size:clamp(1.7rem,2.5vw,2.25rem)}.home-intro p{color:var(--color-text-secondary);margin:0;font-size:.88rem}.dashboard-welcome{max-width:720px;padding-top:18px}.dashboard-welcome>span{color:var(--color-primary);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:800}.dashboard-welcome h1{color:var(--color-text);letter-spacing:-.035em;margin:9px 0 7px;font-size:clamp(1.65rem,2.7vw,2.35rem)}.dashboard-welcome p{max-width:650px;color:var(--color-text-secondary);margin:0;font-size:.84rem;line-height:1.6}.dashboard-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px;display:grid}.dashboard-options>button{border:1px solid var(--color-border);background:var(--color-white);min-height:104px;color:var(--color-primary);font:inherit;text-align:left;cursor:pointer;border-radius:13px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:17px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.dashboard-options>button:hover{border-color:#b4c9d9;transform:translateY(-2px);box-shadow:0 10px 28px #15344b12}.dashboard-options>button.is-selected{border-color:var(--color-primary);box-shadow:0 0 0 3px #07549b14}.dashboard-options>button>span:nth-child(2){gap:5px;min-width:0;display:grid}.dashboard-options strong{color:var(--color-text);font-size:.8rem}.dashboard-options small{color:var(--color-text-secondary);font-size:.66rem;line-height:1.45}.dashboard-option__icon{border-radius:12px;place-items:center;width:46px;height:46px;display:grid}.dashboard-option__icon--attendance{color:#17803d;background:#eaf8ef}.dashboard-option__icon--evaluations{color:#3567b7;background:#eef4ff}.dashboard-option__icon--miguel{color:#966a00;background:#fff6dc}.home-option-card{border:1px solid var(--color-border);background:var(--color-white);border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:24px;padding:24px;display:grid}.home-option-card__icon{width:48px;height:48px;color:var(--color-primary);background:#eef4f8;border-radius:12px;place-items:center;display:grid}.home-option-card h2{margin:0 0 6px;font-size:1.05rem}.home-option-card p{max-width:650px;color:var(--color-text-secondary);margin:0;font-size:.76rem;line-height:1.55}.home-option-card>a{background:var(--color-primary);color:#fff;border-radius:8px;align-items:center;gap:7px;min-height:42px;padding:0 13px;font-size:.7rem;font-weight:700;text-decoration:none;display:flex}.home-actions{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px;display:grid}.home-actions a{border:1px solid var(--color-border);background:var(--color-white);min-height:86px;color:var(--color-primary);border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:16px;text-decoration:none;transition:border-color .15s,transform .15s;display:grid}.home-actions a:hover{border-color:#b9cddd;transform:translateY(-1px)}.home-actions a>span{gap:4px;display:grid}.home-actions strong{color:var(--color-text);font-size:.82rem}.home-actions small{color:var(--color-text-secondary);font-size:.7rem;line-height:1.4}.daily-dashboard{border:1px solid var(--color-border);background:var(--color-white);border-radius:14px;margin-top:30px;padding:24px}.daily-dashboard__heading{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.daily-dashboard__heading>div{text-transform:capitalize;gap:5px;display:grid}.daily-dashboard__heading>div>span,.daily-dashboard__heading label>span{color:var(--color-text-secondary);letter-spacing:.06em;text-transform:uppercase;font-size:.65rem;font-weight:700}.daily-dashboard__heading h3{color:var(--color-text);margin:0;font-size:1rem}.daily-dashboard__heading label{gap:6px;display:grid}.daily-dashboard__heading input{border:1px solid var(--color-border);min-height:42px;color:var(--color-text);font:inherit;background:#fff;border-radius:8px;padding:0 11px;font-size:.75rem}.daily-dashboard>.academic-filters{margin-top:20px}.dashboard-state{color:var(--color-primary);text-align:center;background:#f7f9fa;border-radius:10px;justify-items:center;gap:10px;margin-top:20px;padding:38px 20px;display:grid}.dashboard-state p{color:var(--color-text-secondary);margin:0;font-size:.76rem}.dashboard-state.is-error{color:var(--color-danger);background:#fff4f3}.dashboard-loader{border:3px solid #dbe5ec;border-top-color:var(--color-primary);border-radius:50%;width:24px;height:24px;animation:.75s linear infinite dashboard-spin}@keyframes dashboard-spin{to{transform:rotate(360deg)}}.attendance-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.attendance-kpi{border:1px solid var(--color-border);background:#fff;border-radius:11px;align-items:center;gap:12px;min-width:0;padding:16px;display:flex}.attendance-kpi__icon{width:40px;height:40px;color:var(--color-primary);background:#eef4f8;border-radius:10px;flex:none;place-items:center;display:grid}.attendance-kpi>span:last-child{min-width:0;display:grid}.attendance-kpi small{color:var(--color-text-secondary);font-size:.64rem;font-style:normal}.attendance-kpi strong{color:var(--color-text);margin-top:2px;font-size:1.35rem;line-height:1}.attendance-kpi em{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:.58rem;font-style:normal;overflow:hidden}.attendance-kpi--present .attendance-kpi__icon{color:#17803d;background:#eaf8ef}.attendance-kpi--absent .attendance-kpi__icon{color:#c5352b;background:#fff0ef}.attendance-kpi--late .attendance-kpi__icon{color:#9a6c00;background:#fff8df}.attendance-dashboard-grid{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:12px;display:grid}.attendance-coverage{border:1px solid var(--color-border);background:#fafbfc;border-radius:11px;padding:18px}.attendance-panel-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.attendance-panel-title>div{gap:4px;display:grid}.attendance-panel-title span{color:var(--color-text-secondary);text-transform:uppercase;font-size:.62rem}.attendance-panel-title strong{color:var(--color-text);font-size:.8rem}.attendance-panel-title>b{color:var(--color-primary);font-size:.78rem}.attendance-coverage__rows{gap:14px;margin-top:20px;display:grid}.attendance-coverage__row>div:first-child{color:var(--color-text-secondary);justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;font-size:.67rem;display:flex}.attendance-coverage__row>div:first-child strong{color:var(--color-text);font-size:.66rem}.attendance-coverage__row>div:first-child small{color:var(--color-text-secondary);font-size:inherit;font-weight:500}.attendance-coverage__track{background:#e5e9ec;border-radius:999px;height:9px;overflow:hidden}.attendance-coverage__track>span{border-radius:inherit;background:linear-gradient(90deg, var(--color-primary), #2d91c8);height:100%;transition:width .3s;display:block}.attendance-coverage__row--present .attendance-coverage__track>span{background:#22a957}.attendance-coverage__row--absent .attendance-coverage__track>span{background:#df4b42}.attendance-coverage__row--late .attendance-coverage__track>span{background:#d19a0a}.attendance-coverage__row--justified .attendance-coverage__track>span{background:#3b82f6}.attendance-coverage__legend{color:var(--color-text-secondary);flex-wrap:wrap;gap:18px;margin-top:12px;font-size:.67rem;display:flex}.attendance-coverage__legend span{align-items:center;gap:6px;display:flex}.attendance-coverage__legend i{background:var(--color-primary);border-radius:50%;width:8px;height:8px}.attendance-coverage__legend i.is-pending{background:#cfd6dc}.dashboard-empty{color:var(--color-text-secondary);text-align:center;background:#f7f9fa;border-radius:8px;margin:12px 0 0;padding:12px;font-size:.72rem}.dashboard-register-link{justify-content:flex-end;margin-top:16px;display:flex}.dashboard-register-link a{background:var(--color-primary);color:#fff;border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:0 13px;font-size:.72rem;font-weight:700;text-decoration:none;display:flex}.academic-filters{background:#f3f6f8;border:0;border-radius:12px;gap:14px;margin-top:28px;padding:18px}.academic-field label{margin-bottom:7px;font-size:.73rem}.academic-field select{background-color:#fff;border-color:#dfe4e8;height:46px}.academic-field__message{min-height:0;margin-top:4px;font-size:.62rem}.academic-field__message:empty{display:none}.parameter-tabs{border-bottom-color:var(--color-border);gap:18px;margin-top:30px}.parameter-tabs button{min-height:44px;padding:0 2px;font-size:.78rem;font-weight:600}.parameter-tabs button.is-active:after{left:0;right:0}.parameter-panel{padding-top:26px}.parameter-actions{margin:0 0 18px}.parameter-actions--buttons{justify-content:flex-start}.parameter-search-button,.parameter-cancel{color:var(--color-text-secondary);border-color:#dce1e5}.parameter-create,.parameter-save,.attendance-save,.enrollment-add{box-shadow:none}.parameter-create,.parameter-save,.parameter-cancel,.parameter-search-button{border-radius:8px;min-height:44px}.parameter-form-card{background:#f3f6f8;border:0;border-radius:12px;margin:16px 0 22px;padding:20px}.parameter-form{gap:16px}.parameter-form input,.parameter-form select,.parameter-search,.tree-search,.enrollment-search,.teacher-search{background:#fff;border-color:#dfe4e8;border-radius:8px}.parameter-feedback{background:#f3f6f8;border-radius:8px;padding:10px 12px;line-height:1.5}.parameter-feedback.is-error{background:#fff3f2}.parameter-feedback.is-success{background:#eff8f2}.parameter-table-wrap{border-color:var(--color-border);background:#fff;border-radius:10px}.parameter-table th{background:#fafbfc;padding:11px 14px;font-size:.65rem}.parameter-table td{padding:14px}.parameter-table button{background:#f2f6f9;min-height:34px}.parameter-table tr.is-editing td{background:#f2f7fb}.attendance-page{background:#f7f9fa}.attendance-workspace,.enrollment-workspace,.responsible-teacher-card,.course-assignment-panel,.generation-card{box-shadow:none;border-color:#e8ebee;border-radius:12px;padding:22px}.demo-notice{background:#f6f7f8;border-left:0;margin-bottom:18px}.attendance-navigation{margin-top:16px}.student-list-heading{padding-top:24px}.student-attendance-row{min-height:76px}.student-avatar{background:#edf2f5}.student-status button{border-color:#0000}.student-status .attendance-type.is-selected{box-shadow:0 0 0 2px var(--color-text);transform:none}.student-status .attendance-type.is-selected:after{display:none}.attendance-demo-caption{opacity:.75;margin-top:10px}.enrollment-card{background:#f7f8fa;border:0}.enrollment-list article{border-color:#e8ebee}.management-list{border-color:var(--color-border)}.management-list>article{min-height:62px}.context-menu summary{width:40px;height:40px}.empty-module{background:#f6f7f8;border-radius:10px;align-content:start;min-height:0;margin-top:28px;padding:20px;display:grid}.empty-module p{max-width:640px;line-height:1.6}.duplication-intro__icon{background:#eef4f8}.duplication-years{background:#f3f6f8;border:0}.duplication-options>label{min-height:62px}.duplication-options>label.is-selected{background:#f3f7fa}@media (width>=1025px){.app-shell__main.is-expanded{width:calc(100% - 74px);margin-left:74px}.page-content{padding-top:44px}}@media (width<=1024px){.sidebar,.sidebar.is-collapsed{width:min(300px,86vw)}.sidebar.is-collapsed .nav-section__title{display:block}.app-header{height:64px}.page-content{min-height:calc(100dvh - 64px);padding:36px clamp(22px,5vw,44px) 52px}.home-actions{grid-template-columns:1fr;max-width:680px;margin-left:0}.dashboard-options{grid-template-columns:1fr;max-width:720px;margin-left:0}.attendance-kpis,.academic-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.app-header{height:58px;padding-inline:10px}.app-header h1{font-size:.84rem}.page-content{min-height:calc(100dvh - 58px);padding:24px 16px 40px}.page-heading h2{font-size:1.42rem}.page-heading p{font-size:.8rem}.home-intro{padding-top:28px}.home-intro h2{font-size:1.75rem}.home-actions{gap:10px;margin-top:26px}.home-actions a{min-height:82px;padding:14px}.dashboard-welcome{padding-top:4px}.dashboard-welcome h1{font-size:1.7rem}.dashboard-options{gap:10px;margin-top:22px}.dashboard-options>button{min-height:92px;padding:14px}.home-option-card{grid-template-columns:auto minmax(0,1fr);padding:16px}.home-option-card>a{grid-column:1/-1;justify-content:center}.daily-dashboard{margin-top:22px;padding:14px}.daily-dashboard__heading{flex-direction:column;align-items:stretch;gap:14px}.daily-dashboard__heading input{width:100%}.attendance-kpis,.attendance-dashboard-grid{grid-template-columns:1fr}.attendance-kpi{padding:14px}.attendance-coverage{padding:15px}.dashboard-register-link a{justify-content:center;width:100%;min-height:46px}.academic-filters{grid-template-columns:1fr;margin-top:22px;padding:14px}.parameter-tabs{gap:16px;margin-top:24px;padding-inline:16px;top:58px}.parameter-panel{padding-top:22px}.parameter-form-card,.attendance-workspace,.enrollment-workspace,.generation-card,.responsible-teacher-card,.course-assignment-panel{padding:14px}.parameter-table-wrap:has(td[data-label]){background:0 0;border:0;overflow:visible}.parameter-table:has(td[data-label]){min-width:0;display:block}.parameter-table:has(td[data-label]) thead{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.parameter-table:has(td[data-label]) tbody{gap:10px;display:grid}.parameter-table:has(td[data-label]) tr{border:1px solid var(--color-border);background:#fff;border-radius:10px;grid-template-columns:1fr;display:grid;overflow:hidden}.parameter-table:has(td[data-label]) td{min-width:0;box-shadow:none;border-bottom:1px solid #f0f1f2;grid-template-columns:minmax(100px,38%) 1fr;align-items:center;padding:9px 12px;font-size:.76rem;display:grid;position:static}.parameter-table:has(td[data-label]) td:before{content:attr(data-label);color:var(--color-text-secondary);text-transform:uppercase;font-size:.66rem;font-weight:700}.parameter-table:has(td[data-label]) .table-actions{background:#fafbfc;order:-1;width:auto}.parameter-table:has(td[data-label]) .table-actions button{justify-self:end;width:auto}.attendance-toolbar{gap:12px}.student-attendance-row{gap:14px}.student-status{grid-template-columns:repeat(2,1fr)}.attendance-save{bottom:8px}.enrollment-heading__actions{align-items:center}.enrollment-heading__actions .enrollment-add{width:auto}.management-list>article{gap:8px}.management-edit-visible{font-size:0}.management-edit-visible svg{width:17px;height:17px}}img,svg{max-width:100%}.app-shell__main,.page-content,.parameter-panel,.attendance-workspace,.enrollment-workspace,.generation-card,.management-list,.parameter-form,.parameter-filters{min-width:0}.page-heading,.management-row-main,.student-identity,.enrollment-list article>div{overflow-wrap:anywhere}@media (width>=768px) and (width<=1024px){.page-content{padding:34px clamp(24px,5vw,48px) 52px}.page-content>*{max-width:900px}.parameter-form>div{flex:calc(50% - 16px);width:auto;min-width:220px}.parameter-form .parameter-save,.parameter-form .parameter-cancel{flex:none}.consolidated-filters{grid-template-columns:1fr 1fr}.consolidated-filters .tree-search{grid-column:1/-1}.duplication-result__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.parameter-table .table-actions{z-index:2;box-shadow:1px 0 var(--color-border);background:#fff;position:sticky;left:0}.parameter-table thead .table-actions{z-index:3;background:#fafbfc}}@media (width<=767px){html,body,#root{width:100%;min-width:0}.sidebar,.sidebar.is-collapsed{width:min(310px,90vw)}.sidebar__nav{padding-bottom:max(22px, env(safe-area-inset-bottom))}.page-content{padding:22px 14px max(38px, env(safe-area-inset-bottom))}.page-content>*{max-width:100%}.app-header{padding-right:max(10px, env(safe-area-inset-right));padding-left:max(10px, env(safe-area-inset-left))}.parameter-tabs{box-shadow:none;background:0 0;border:0;flex-wrap:wrap;gap:6px;margin:22px 0 0;padding:0;position:static;overflow:visible}.parameter-tabs button{border:1px solid var(--color-border);background:#fff;border-radius:999px;flex:0 auto;min-height:40px;padding:0 12px;font-size:.75rem}.parameter-tabs button.is-active{border-color:var(--color-primary);background:#eef5fa}.parameter-tabs button.is-active:after{display:none}.academic-filters{grid-template-columns:1fr}.parameter-filters,.parameter-form,.consolidated-filters{grid-template-columns:minmax(0,1fr)}.parameter-form>div,.parameter-filters>div,.configuration-form>div{min-width:0}.parameter-actions,.parameter-actions--buttons,.management-toolbar,.teacher-picker__actions{width:100%}.parameter-actions>button,.management-toolbar>button,.teacher-picker__actions>button{min-height:48px}.parameter-table-wrap:has(td[data-label]){width:100%;padding:0;overflow:visible}.parameter-table:has(td[data-label]){width:100%;min-width:0}.parameter-table:has(td[data-label]) tbody{width:100%}.parameter-table:has(td[data-label]) td{overflow-wrap:anywhere;grid-template-columns:minmax(92px,34%) minmax(0,1fr)}.parameter-table:has(td[data-label]) .table-actions button{min-height:42px}.attendance-page{padding-inline:10px}.attendance-workspace,.enrollment-workspace{padding:14px}.attendance-date-picker,.attendance-date-picker input{width:100%}.student-status{grid-template-columns:repeat(2,minmax(0,1fr))}.student-status button{width:100%;min-width:0}.attendance-type__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attendance-save{bottom:max(8px, env(safe-area-inset-bottom))}.enrollment-heading__actions{flex-wrap:wrap}.enrollment-heading__actions .enrollment-add{min-width:140px}.enrollment-list{max-height:none}.tree-row--competency>span,.tree-row--capacity>span{overflow-wrap:anywhere;min-width:0}.context-menu__items{right:10px;bottom:max(10px, env(safe-area-inset-bottom));left:10px}.course-assignment-search,.course-assignment-search__input{max-width:100%}.course-assignment-results{left:0;right:0}.generation-progress__heading{align-items:flex-start}.generation-progress__heading span{max-width:75%}.process-warning-modal__card{max-height:92dvh;overflow-y:auto}.login-page,.access-panel{width:100%;max-width:100vw}.login-card{width:calc(100vw - 28px);min-width:0;max-width:450px}.login-card *,.field,.field__heading,.input-wrap{min-width:0}.brand__message{overflow-wrap:anywhere}}@media (width<=380px){.page-content{padding-inline:12px}.app-header h1{max-width:48vw}.home-actions a{grid-template-columns:auto minmax(0,1fr) auto;gap:10px}.student-status{gap:6px}.student-status button{padding-inline:7px}.attendance-type__label{font-size:.62rem}.parameter-table:has(td[data-label]) td{grid-template-columns:1fr;gap:5px}.parameter-table:has(td[data-label]) .table-actions button{justify-self:stretch}.duplication-options>label{align-items:flex-start}}@media (height<=700px) and (width<=767px){.login-card{padding-block:18px}.brand__halo{width:68px;height:68px}.brand__logo{width:58px;height:58px}.brand__message,.login-card__footer{display:none}.login-form{margin-top:16px}}@media (width<=1024px){.app-shell{width:100%;min-width:0}.app-shell__main,.app-shell__main.is-expanded{width:100%;min-width:0;margin-left:0}.app-header,.page-content{width:100%}}
