@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";:root{color:#20302c;font-synthesis:none;background:#f4f7f3;font-family:Manrope,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:#165843}h1,h2,h3,p{margin-top:0}h1{font-size:1.8rem;line-height:1.2}h2{font-size:1.55rem}h3{font-size:1.08rem}p{color:#5c6c65;line-height:1.55}small{color:#718078;font-size:.78rem}button,.file-button{color:#fff;background:#186747;border:0;border-radius:11px;padding:11px 16px;font-weight:700}button:hover,.file-button:hover{background:#105039}.secondary{color:#245c44;background:#e9f0ec}.secondary:hover{background:#dbe9df}.text-button{color:#186747;background:0 0;padding:8px 0}.text-button:hover{background:0 0;text-decoration:underline}input,select{color:#20302c;background:#fff;border:1px solid #cfdcd2;border-radius:9px;width:100%;min-height:41px;padding:8px 10px}input:focus,select:focus{outline-offset:1px;outline:2px solid #77bd95}label{color:#43584c;gap:6px;font-size:.82rem;font-weight:700;display:grid}.eyebrow{color:#25805c;letter-spacing:.11em;text-transform:uppercase;margin-bottom:9px;font-size:.72rem;font-weight:800;display:block}.portal{min-height:100vh}.topbar{background:#fff;border-bottom:1px solid #dfe8e1;justify-content:space-between;align-items:center;gap:20px;padding:24px max(30px,50vw - 640px);display:flex}.topbar-title{min-width:0}.topbar h1{overflow-wrap:anywhere;margin:0}.topbar-brand{align-items:center;gap:14px;min-width:0;display:flex}.institution-icon{object-fit:contain;background:#fff;border:1px solid #dfe8e1;border-radius:12px;flex:none;width:48px;height:48px}.operator{flex:none;position:relative}.account-toggle{color:#294536;background:#fff;border:1px solid #dfe8e1;border-radius:99px;align-items:center;gap:10px;min-height:48px;padding:5px 11px 5px 5px;display:flex;box-shadow:0 2px 9px #1d442c0a}.account-toggle:hover,.account-toggle[aria-expanded=true]{background:#f2f8f3;border-color:#b7d5bf}.account-toggle:focus-visible{outline-offset:2px;outline:2px solid #77bd95}.account-avatar{color:#fff;letter-spacing:.02em;background:#186747;border-radius:50%;place-items:center;width:36px;height:36px;font-size:.8rem;font-weight:800;display:grid}.account-role{font-size:.82rem;font-weight:800}.account-chevron{border-bottom:2px solid #557061;border-right:2px solid #557061;width:7px;height:7px;margin:0 3px 4px 1px;transform:rotate(45deg)}.account-panel{z-index:45;background:#fff;border:1px solid #dfe8e1;border-radius:15px;gap:4px;width:min(280px,100vw - 32px);padding:17px;display:grid;position:absolute;top:calc(100% + 9px);right:0;box-shadow:0 16px 40px #14351f26}.account-panel strong{overflow-wrap:anywhere;font-size:.9rem}.account-panel small{overflow-wrap:anywhere;line-height:1.45}.account-panel .secondary{text-align:left;margin-top:13px}.tabs{background:#fff;border-bottom:1px solid #dfe8e1;gap:8px;padding:12px max(30px,50vw - 640px);display:flex;overflow-x:auto}.tabs button{white-space:nowrap;color:#5f7065;background:0 0}.tabs button:hover{background:#edf5ef}.tabs button.active{color:#155b40;background:#e3f1e8}.content{max-width:1340px;margin:auto;padding:32px 30px 70px}.page-title{justify-content:space-between;align-items:end;margin-bottom:22px;display:flex}.page-title h2{margin-bottom:6px}.page-title p{margin-bottom:0}.card{background:#fff;border:1px solid #e1e9e2;border-radius:17px;margin-bottom:18px;padding:22px;box-shadow:0 4px 18px #1d442c0a}.card h3{margin-bottom:11px}.card p{font-size:.9rem}.grid{gap:18px;display:grid}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:18px;display:grid}.metrics article{background:#e8f3eb;border-radius:14px;gap:3px;padding:16px 20px;display:grid}.metrics strong{color:#14593d;font-size:1.65rem}.metrics span{color:#52715c;font-size:.78rem}.stack{gap:13px;display:grid}.button-row{flex-wrap:wrap;align-items:center;gap:10px;margin:15px 0;display:flex}.scanner-label{margin:20px 0 12px}.scanner-label input{max-width:430px}.section-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:13px;display:flex}.section-head h3{margin:0}.filters{align-items:end;gap:10px;display:flex}.filters.wrap{flex-wrap:wrap}.filters label{min-width:130px}.filters button{height:41px}.table-wrap{overflow:auto}table{border-collapse:collapse;text-align:left;width:100%}th,td{vertical-align:middle;border-bottom:1px solid #e6ece7;padding:13px 12px;font-size:.83rem}th{color:#66796d;text-transform:uppercase;letter-spacing:.05em;font-size:.73rem}td strong{font-weight:700;display:block}td small{margin-top:3px;display:block}.badge{white-space:nowrap;border-radius:99px;padding:6px 9px;font-size:.72rem;font-weight:700;display:inline-block}.badge.on_time{color:#176645;background:#dff3e6}.badge.late{color:#86600a;background:#fff0ca}.badge.absent{color:#9e382d;background:#fce1df}.badge.no_school{color:#655080;background:#eee9f7}.error,.success{border-radius:10px;padding:12px 15px;font-size:.87rem}.error{color:#9e3028;background:#fbe5e2}.success{color:#176143;background:#e1f3e7}.file-button{align-items:center;display:inline-flex;position:relative}.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.hint{margin-top:18px}.compact-list{color:#52645a;padding-left:20px;font-size:.82rem}.roster-count{color:#315b42;font-weight:700}.roster-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.roster-item{background:#fbfdfb;border:1px solid #dce9df;border-radius:12px;padding:14px}.roster-summary{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;align-items:center;gap:16px;display:grid}.roster-name strong,.roster-band .badge{display:block}.roster-name small,.roster-band small{overflow-wrap:anywhere;margin-top:5px;display:block}.roster-band .badge{width:max-content}.roster-actions{align-items:center;gap:10px;display:flex}.roster-editor{border-top:1px solid #dce9df;margin-top:14px;padding-top:14px}.student-row{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:12px;display:grid}.student-row input,.student-row select{font-size:.8rem}.student-row button{min-height:41px}.student-band{color:#43584c;grid-column:span 2;gap:3px;font-size:.82rem;display:grid}.student-band strong{font-size:.72rem}.student-band .text-button{justify-self:start;min-height:auto;padding:2px 0;font-size:.78rem}.badge.synced{color:#176645;background:#dff3e6}.badge.review{color:#86600a;background:#fff0ca}.badge.unlinked{color:#586775;background:#e9edf0}.link-preview{background:#f0f8f2;border:1px solid #b7d6bf;border-radius:12px;margin-top:16px;padding:17px}.link-preview p{margin:8px 0}.link-preview .button-row{margin-bottom:0}.auth-shell{background:linear-gradient(145deg,#e0efe2,#f8faf7);place-items:center;min-height:100vh;padding:20px;display:grid}.auth-shell .card{width:min(520px,100%);padding:32px}.auth-card h1{font-size:2rem}.auth-card .stack{margin:25px 0 10px}.auth-shell .stack{margin-top:20px}code{background:#eef4ee;border-radius:4px;padding:2px 5px;font-size:.85em}@media (max-width:950px){.grid.two{grid-template-columns:1fr}.student-row{grid-template-columns:repeat(2,minmax(0,1fr))}.roster-summary{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.roster-actions{grid-column:1/-1}.section-head{flex-direction:column;align-items:stretch}.filters{flex-wrap:wrap}}@media (max-width:620px){.topbar{padding:20px 16px}.topbar h1{font-size:1.25rem}.tabs{padding:10px 16px}.content{padding:22px 16px 55px}.metrics{grid-template-columns:repeat(2,1fr)}.student-row{grid-template-columns:1fr}.student-band,.student-actions{grid-column:auto}.roster-summary{grid-template-columns:1fr}.roster-actions{grid-column:auto}.card{padding:17px}.filters label{flex:1;min-width:140px}}.portal-body{grid-template-columns:220px minmax(0,1fr);max-width:1500px;margin:auto;display:grid}.portal-body .tabs{background:#f4f7f3;border-bottom:0;border-right:1px solid #dfe8e1;flex-direction:column;align-self:start;align-items:stretch;gap:7px;height:calc(100vh - 91px);padding:30px 12px;display:flex;position:sticky;top:0;overflow:visible}.portal-body .tabs button{text-align:left;white-space:normal}.nav-short,.manual-cards{display:none}.portal-body .content{width:100%;min-width:0;padding-top:30px}.course-chips{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.course-chips span{color:#315b42;background:#edf5ef;border-radius:99px;padding:8px 12px;font-size:.82rem;font-weight:700}.course-chips .text-button{margin-left:10px;padding:2px 0;font-size:.78rem}.student-actions{grid-column:span 2;align-items:center;gap:10px;display:flex}.student-actions .text-button{min-height:auto;padding:2px 0;font-size:.78rem}.table-wrap td button{white-space:nowrap;padding:8px 10px;font-size:.76rem}.roster-table th,.roster-table td,.link-roster th,.link-roster td{padding:9px 10px}.roster-table td{white-space:nowrap}.roster-table td:first-child{min-width:165px}.roster-table td:nth-child(3){min-width:160px}.roster-table td:last-child{min-width:150px}.roster-table .roster-actions{align-items:center;gap:8px;display:flex}.roster-table .roster-actions .text-button{padding:6px 2px}.roster-table .editing-row,.link-roster .selected-row{background:#f0f8f2}.roster-table td[colspan]{white-space:normal}.roster-editor{margin-top:18px}.course-select{max-width:380px}.link-roster{max-height:430px;margin-top:16px;overflow:auto}.link-roster th{background:#fff;position:sticky;top:0}.link-roster td:last-child{text-align:right}.current-icon{flex-wrap:wrap;align-items:center;gap:10px;font-size:.82rem;display:flex}.current-icon img{object-fit:contain;border:1px solid #dfe8e1;border-radius:10px;width:52px;height:52px}.current-icon .text-button{margin-left:auto}input:disabled,select:disabled{color:#4d6155;opacity:1;background:#f1f4f0}.dialog-backdrop{z-index:50;background:#0f221894;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.link-dialog{width:min(620px,100%);max-height:min(90vh,850px);margin:0;overflow:auto;box-shadow:0 18px 60px #081f123d}.link-dialog .section-head{align-items:start}.manual-card{background:#fbfdfb;border:1px solid #dce9df;border-radius:12px;gap:12px;padding:14px;display:grid}.manual-card-head{justify-content:space-between;align-items:start;gap:10px;display:flex}.manual-card-head strong,.manual-card-head small{display:block}.manual-card-head small{margin-top:4px}.manual-card p{margin:0;font-size:.8rem}.manual-card-action button{width:100%}.attendance-scan-dialog{color:#fff;background:radial-gradient(circle at 50% 38%,#215e4a,#102d26 75%);border-radius:24px;flex-direction:column;width:min(760px,100%);min-height:min(660px,100dvh - 32px);max-height:calc(100dvh - 32px);padding:24px;display:flex;overflow:auto;box-shadow:0 28px 80px #08231970}.attendance-scan-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.attendance-scan-status{align-items:center;gap:9px;font-size:.86rem;font-weight:800;display:flex}.attendance-scan-status i{background:#79ebad;border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 5px #79ebad26}.attendance-scan-status.inactive i{background:#f5cc7c;box-shadow:0 0 0 5px #f5cc7c26}.attendance-scan-header button{color:#fff;background:#ffffff1a;border:1px solid #fff5}.attendance-scan-header button:hover{background:#ffffff35}.attendance-scan-counters{text-align:center;justify-content:center;gap:54px;margin:19px 0 12px;display:flex}.attendance-scan-counters span{gap:3px;display:grid}.attendance-scan-counters small{color:#cce7d7}.attendance-scan-counters strong{font-size:1.8rem}.attendance-scan-feedback{color:#fff;text-align:center;background:#ffffff0d;border:1px solid #ffffff25;border-radius:22px;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:245px;margin:0 0 16px;padding:20px;transition:background .2s,border-color .2s;display:flex}.attendance-scan-feedback.success{background:linear-gradient(145deg,#17764c,#176046);border-color:#7ce7a7}.attendance-scan-feedback.duplicate{background:linear-gradient(145deg,#80590f,#68501f);border-color:#f5cc7c}.attendance-scan-feedback.error{background:linear-gradient(145deg,#8a3137,#632b31);border-color:#f0a6a6}.attendance-scan-rings{border:1px solid #ffffff6b;border-radius:50%;place-items:center;width:96px;height:96px;margin:0 0 19px;display:grid;box-shadow:0 0 0 13px #ffffff16,0 0 0 26px #ffffff0a}.attendance-scan-rings span{font-size:2.1rem;font-weight:800}.attendance-scan-feedback em{background:#ffffff24;border-radius:99px;padding:6px 12px;font-size:.78rem;font-style:normal;font-weight:800}.attendance-scan-feedback h3{overflow-wrap:anywhere;margin:11px 0 5px;font-size:clamp(1.45rem,4vw,2rem)}.attendance-scan-feedback p{color:#e7f7ea;max-width:480px;margin:0}.attendance-scan-retry{color:#18563b;background:#fff;align-self:center;margin:0 0 12px}.attendance-scan-retry:hover{background:#e5f4e9}.attendance-scan-privacy{color:#cce7d7}.attendance-scan-queue{color:#e9f9eb;text-align:center;margin:10px 0 0}.attendance-scan-privacy{text-align:center;margin-top:10px;display:block}.attendance-scan-history{margin-top:13px}.attendance-scan-history h4{margin:0 0 7px;font-size:.82rem}.attendance-scan-history ul{gap:6px;max-height:132px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.attendance-scan-history li{background:#ffffff16;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.attendance-scan-history li>span{border-radius:50%;flex:none;place-items:center;width:29px;height:29px;font-weight:800;display:grid}.attendance-scan-history li.success>span{color:#103f2c;background:#3fc481}.attendance-scan-history li.duplicate>span{color:#674600;background:#f5cc7c}.attendance-scan-history li.error>span{color:#642c31;background:#f2a3a3}.attendance-scan-history li div{min-width:0}.attendance-scan-history li strong,.attendance-scan-history li small{overflow-wrap:anywhere;display:block}.attendance-scan-history li small{color:#d8ede0}.attendance-scan-history li.success{background:#2ca76b45}.attendance-scan-history li.duplicate{background:#b4771145}.attendance-scan-history li.error{background:#b9304345}@media (max-width:950px){.portal-body{grid-template-columns:180px minmax(0,1fr)}}@media (max-width:700px){.portal-body{display:block}.portal-body .tabs{z-index:40;height:auto;padding:7px max(4px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left));background:#fff;border-top:1px solid #dfe8e1;border-right:0;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;display:grid;position:fixed;inset:auto 0 0;box-shadow:0 -5px 25px #1d442c14}.portal-body .tabs button{text-align:center;word-break:normal;min-height:48px;padding:10px 2px;font-size:.75rem;line-height:1.15}.nav-full{display:none}.nav-short{display:inline}.manual-table{display:none}.manual-cards{gap:10px;display:grid}.portal-body .content{padding-bottom:100px}.topbar{gap:12px;padding:16px}.account-toggle{gap:7px;padding-right:9px}.account-avatar{width:34px;height:34px}.student-row{grid-template-columns:1fr}.student-band,.student-actions{grid-column:auto}}@media (max-width:600px){.attendance-scan-backdrop{padding:0}.attendance-scan-dialog{border-radius:0;width:100vw;min-height:100dvh;max-height:100dvh;padding:17px}.attendance-scan-counters{gap:40px;margin:18px 0 10px}.attendance-scan-feedback{min-height:225px;padding:16px}.attendance-scan-rings{width:77px;height:77px;margin-bottom:16px}.attendance-scan-history ul{max-height:110px}}.link-completion{border-radius:8px;padding:7px 10px;font-size:.85rem}.link-completion.pending{color:#705313;background:#fff3d9}.link-completion.complete{color:#23603c;background:#e8f5ed}@media (max-width:700px){.link-session-progress{flex-direction:column;align-items:flex-start}}:root{--nortela-burgundy:#7a1f2b;--nortela-burgundy-deep:#54151e;--nortela-charcoal:#171719;--nortela-ivory:#f7f4ef;--nortela-white:#fff;--nortela-gold:#c99a45;--nortela-success:#2e7d62;--nortela-error:#c33e45;--nortela-font-family:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif}@font-face{font-family:Manrope;src:url(/fonts/Manrope-VariableFont_wght.ttf)format("truetype");font-style:normal;font-weight:400 800;font-display:swap}:root{--nortela-ink-muted:#171719a3;--nortela-line:#1717191f;--nortela-burgundy-soft:#7a1f2b17;--nortela-burgundy-medium:#7a1f2b2e;--nortela-success-soft:#2e7d621c;--nortela-error-soft:#c33e451a;--nortela-gold-soft:#c99a4526;--aulanorte-ribbon:repeating-linear-gradient(90deg, #54151e 0 18px, #c99a45 18px 23px, #7a1f2b 23px 41px, #171719 41px 44px, #7a1f2b 44px 62px, #c99a45 62px 67px, #54151e 67px 85px)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.daily-attendance-card{container:daily-sheet/inline-size}.daily-attendance-card .section-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.daily-attendance-card .section-head p{margin:6px 0 0}.daily-refresh{justify-content:center;align-items:center;gap:7px;min-width:44px;min-height:44px;padding:8px 12px;display:flex}.daily-refresh>span:first-child{font-size:1.3rem;line-height:1}.daily-attendance-filters{grid-template-columns:minmax(110px,.65fr) minmax(0,1.35fr);gap:10px;display:grid}.daily-attendance-filters label{min-width:0}.daily-attendance-filters input,.daily-attendance-filters select{min-width:0;min-height:44px}.daily-manual-options{border-bottom:1px solid #e6ece7;margin:10px 0 14px;padding:9px 0}.daily-manual-options summary{cursor:pointer;color:#43584c;align-items:center;gap:8px;min-height:28px;font-size:.75rem;list-style:none;display:flex}.daily-manual-options summary::-webkit-details-marker{display:none}.daily-manual-options summary>span{white-space:nowrap;text-overflow:ellipsis;color:#718078;flex:1;min-width:0;overflow:hidden}.daily-manual-options summary:after{content:"";border-bottom:2px solid;border-right:2px solid;flex:none;width:7px;height:7px;margin:0 4px;transform:rotate(45deg)}.daily-manual-options[open] summary:after{transform:rotate(225deg)}.daily-manual-options label{margin:12px 0 2px}.daily-attendance-summary{flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin:0 0 8px;display:flex;font-size:.75rem!important}.daily-attendance-summary>span{color:#718078;font-size:.7rem}.daily-attendance-table{table-layout:fixed;width:100%;min-width:0}.daily-attendance-table th,.daily-attendance-table td{padding:8px 10px}.daily-attendance-table thead th:first-child{width:40%}.daily-attendance-table thead th:nth-child(2){width:13%}.daily-attendance-table thead th:nth-child(3){width:24%}.daily-attendance-table thead th:last-child{width:23%}.daily-attendance-table td strong{overflow-wrap:anywhere;font-size:.88rem}.daily-attendance-table td small{font-size:.72rem}.daily-attendance-table button{white-space:nowrap;min-height:44px;padding:8px 12px;font-size:.8rem}.daily-attendance-table .daily-course th{text-transform:none;letter-spacing:0;background:#f6f5f2;padding:7px 10px}.daily-course th>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.daily-course th strong{color:#43584c;font-size:.78rem}.daily-course th span{color:#718078;font-size:.7rem;font-weight:500}.daily-attendance-table .daily-action{text-align:right}.daily-time{font-variant-numeric:tabular-nums;white-space:nowrap}.daily-entry-recorded{color:#43584c;white-space:nowrap;align-items:center;gap:5px;font-size:.75rem;display:inline-flex}.daily-entry-recorded>span{color:#186747}section.manual-entry-dialog{color:#20302c;background:#fff;align-content:start;gap:18px;width:min(520px,100%);max-height:calc(100dvh - 32px);margin:0;padding:24px;overflow:auto}.manual-entry-dialog .stack{gap:14px;margin:0}.manual-entry-person>strong{overflow-wrap:anywhere;font-size:1.2rem}.manual-entry-person p{margin:8px 0 0;font-size:.88rem}.manual-entry-dialog select,.manual-entry-dialog input,.manual-entry-dialog button{min-height:44px}.manual-entry-dialog .button-row{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin:0}@media (max-width:640px){section.manual-entry-dialog{max-height:calc(100dvh - 24px);padding:18px}.manual-entry-dialog .button-row button{flex:1}}.daily-mobile-meta,.daily-action-short{display:none}@container daily-sheet (width<=620px){.daily-refresh-label{display:none}.daily-refresh{padding:8px}.daily-attendance-table,.daily-attendance-table tbody{display:block}.daily-attendance-table thead,.daily-attendance-table .daily-extra,.daily-legajo,.daily-action-full{display:none}.daily-attendance-table .daily-course{display:block}.daily-attendance-table .daily-course th{border:0;width:auto;padding:7px 8px;display:block}.daily-attendance-table .daily-student{border-bottom:1px solid #e6ece7;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:60px;padding:8px;display:grid}.daily-attendance-table .daily-person,.daily-attendance-table .daily-action{border:0;width:auto;min-width:0;padding:0;display:block}.daily-mobile-meta{flex-wrap:wrap;align-items:center;gap:4px 7px;margin-top:5px;line-height:1.3;display:flex}.daily-mobile-meta .badge{white-space:normal;max-width:100%;padding:3px 6px;font-size:.68rem}.daily-mobile-meta small{overflow-wrap:anywhere;color:#718078;margin:0!important;font-size:.68rem!important}.daily-mobile-meta time{font-variant-numeric:tabular-nums;white-space:nowrap;color:#43584c;font-size:.72rem}.daily-action-short{display:inline}.daily-attendance-table .daily-action button{min-width:88px;padding:8px 10px;font-size:.78rem}.daily-entry-recorded{justify-content:flex-end;min-width:88px;font-size:.7rem}}[hidden]{display:none!important}:is(button:focus-visible,input:focus-visible,select:focus-visible){outline-offset:3px;outline:3px solid #cda349}.nomina-task-nav{background:#fff;border:1px solid #e3ded6;border-radius:14px;gap:10px;margin:0 0 24px;padding:8px;display:flex}.nomina-task-nav button{flex:1;min-height:48px}.nomina-task-grid{display:block}.nomina-task-grid .stack{grid-template-columns:1fr 1fr;gap:16px;max-width:640px;display:grid}.nomina-task-grid .stack>label:first-child{grid-column:1/-1}.nomina-task-grid .stack>button{grid-column:1/-1;justify-self:start}.import-review{border-top:1px solid #e3ded6;margin-top:24px;padding-top:20px}.import-summary,.link-session-progress{background:#f5f2ec;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:16px 0;padding:16px;display:flex}.import-summary strong{font-size:1.1rem}.link-session-progress label{align-items:center;gap:8px;display:flex}.link-session-progress input{width:18px;height:18px}.local-preview-banner{background:#fbf0f0;border:1px dashed #7a1f2b;border-radius:10px;padding:12px}section.link-dialog{color:#20302c;background:#fff;align-content:start;gap:14px;padding:24px}.link-dialog .success{font-size:.9rem}.link-dialog .button-row{background:0 0;margin:0;padding:8px 0 0}.link-course-start{flex-wrap:wrap;align-items:end;gap:14px;display:flex}.link-course-start .course-select{flex:1;min-width:180px}.link-course-start>button{align-items:center;gap:10px;min-height:44px;display:flex}.link-course-pending-count{background:#ffffff30;border-radius:7px;padding:2px 7px;font-size:.8rem}.link-student-callout{background:#f5f7f3;border:1px solid #dce6dc;border-radius:14px;gap:8px;padding:16px;display:grid}.link-student-position{color:#52675a;justify-content:space-between;align-items:center;gap:10px;font-size:.76rem;display:flex}.link-student-callout>strong{overflow-wrap:anywhere;font-size:1.4rem;line-height:1.3}.link-student-callout small{font-size:.8rem}.link-reading-prompt{text-align:center;padding:18px 12px 12px}.link-reader-symbol{color:#186747;background:#e3f2e8;border-radius:50%;place-items:center;width:62px;height:62px;margin:0 auto 12px;font-size:1.4rem;font-weight:800;display:grid}.link-reading-prompt>strong{font-size:1.15rem;display:block}.link-reading-prompt p{margin:7px 0 0;font-size:.82rem}.link-dialog .scanner-label{margin:6px 0 0}.link-dialog .scanner-label input{max-width:none;min-height:44px}.link-dialog .link-demo-read{min-height:44px;font-size:.8rem}.link-dialog .link-preview{margin:0}.link-preview>strong,.link-preview p{overflow-wrap:anywhere}.link-session-notice{margin:0}.link-already-done{background:#e8f5ed;border-radius:12px;margin:0;padding:16px}.link-course-navigation{grid-template-columns:1fr 1fr;gap:12px;display:grid}.link-course-navigation button{min-height:44px}@media (max-width:640px){section.link-dialog{max-height:calc(100dvh - 24px);padding:18px}.link-student-callout>strong{font-size:1.2rem}.link-reading-prompt{padding:8px 8px 4px}.link-reader-symbol{width:46px;height:46px;margin-bottom:8px}.link-course-start>button{justify-content:center;width:100%}}section.link-continuous-dialog{color:#fff;background:radial-gradient(circle at 50% 38%,#215e4a,#102d26 75%);border:0;border-radius:24px;flex-direction:column;gap:0;width:min(760px,100%);min-height:min(660px,100dvh - 48px);max-height:calc(100dvh - 48px);padding:24px;display:flex}.link-continuous-dialog>button[aria-label=Cerrar]{display:none}.link-continuous-dialog>h1{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.link-continuous-dialog .attendance-scan-header{flex-shrink:0}.link-continuous-dialog .attendance-scan-counters{margin:19px 0 18px}.link-continuous-dialog .link-course-stage{outline:none;flex:1 0 auto;min-height:300px;margin-bottom:16px;padding:34px 24px 24px}.link-continuous-dialog .link-course-target{margin:14px 0 12px}.link-course-target h2{overflow-wrap:anywhere;margin:0 0 8px;font-size:clamp(1.7rem,4vw,2.4rem);line-height:1.2}.link-course-target small{color:#cce7d7;font-size:.85rem;display:block}.link-continuous-dialog .link-course-stage>p{font-size:1rem}.link-continuous-dialog .link-preview{color:#fff;background:#00000015;border:1px solid #ffffff40;border-radius:12px;width:100%;max-width:530px;margin:16px 0 0;padding:16px}.link-continuous-dialog .link-preview p{color:#f8efe3;margin:7px 0 10px;font-size:.87rem}.link-continuous-dialog .link-preview .button-row{flex-wrap:wrap;justify-content:center;gap:10px}.link-continuous-dialog .link-preview button{color:#174b38;background:#fff;min-height:44px}.link-continuous-dialog .link-preview button.secondary{color:#fff;background:0 0;border:1px solid #ffffff70}.link-continuous-dialog .link-course-error{color:#fff;margin-top:12px}.link-continuous-dialog .link-course-result{color:#e4f8eb;background:#3fc48120;border:1px solid #79ebad55;border-radius:11px;margin:0 0 14px;padding:10px 14px;font-size:.85rem}.link-continuous-dialog .link-course-navigation button{color:#fff;background:#ffffff1a;border:1px solid #fff5}.link-continuous-dialog button:hover:not(:disabled){background:#ffffff35}.link-continuous-dialog .link-preview button:hover:not(:disabled),.link-continuous-dialog .attendance-scan-retry:hover:not(:disabled){background:#dceee2}.link-course-footer{text-align:center;color:#cce7d7;margin:12px 0 0;font-size:.75rem;line-height:1.5;display:block}.link-course-options{color:#cce7d7;margin-top:12px;font-size:.75rem}.link-course-options:not([open])>:not(summary){display:none}.link-course-options summary{cursor:pointer;align-content:center;width:fit-content;min-height:44px;margin:0 auto;display:list-item}.link-course-options label{color:#e4f8eb;justify-content:center;align-items:center;gap:9px;min-height:44px;margin:8px 0;display:flex}.link-course-options input{accent-color:#79ebad;flex:0 0 20px;width:20px;height:20px;min-height:20px}.link-course-options button{color:#fff;background:#ffffff1a;border:1px solid #fff5;min-height:44px;margin:8px auto 0;display:block}:is(.link-continuous-dialog button:focus-visible,.link-course-options summary:focus-visible){outline-offset:3px;outline:2px solid #f5cc7c}@media (max-width:560px){section.link-continuous-dialog{width:100%;min-height:100dvh;max-height:100dvh;padding:max(17px,env(safe-area-inset-top)) 17px calc(17px + env(safe-area-inset-bottom));border-radius:0}.link-continuous-dialog .attendance-scan-status{font-size:.75rem}.link-continuous-dialog .attendance-scan-header button{min-height:44px;padding:10px 13px}.link-continuous-dialog .attendance-scan-counters{gap:40px;margin:20px 0 18px}.link-continuous-dialog .link-course-stage{min-height:265px;padding:30px 16px 20px}.link-course-target h2{font-size:1.8rem}.link-course-target small{font-size:.78rem}.link-continuous-dialog .link-preview .button-row{display:grid}}@media (max-width:640px){.nomina-task-nav{gap:6px;padding:6px}.nomina-task-nav button{padding:10px 6px;font-size:.8rem}.nomina-task-grid .stack{grid-template-columns:1fr}.nomina-task-grid .stack>button{justify-self:stretch}.import-summary strong{font-size:.95rem}}.metrics.attendance-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
