@charset "UTF-8";:root{font-family:Public Sans,system-ui,-apple-system,Segoe UI,sans-serif;color:#262a36;background:#f4f0e7;font-synthesis:none;color-scheme:light;--ink: #29324D;--paper: #F4F0E7;--surface: #FCFAF5;--text: #262A36;--muted: #5F6470;--line: #D5D0C7;--amber: #E7B654;--learning-blue: #526F9E;--terracotta: #9A4A3F;--positive: #526F9E;--gutter: clamp(1rem, 3vw, 2.5rem)}*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:var(--paper);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}a{color:var(--ink)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,Segoe UI,sans-serif;font-weight:600;color:var(--ink)}h1{font-size:clamp(2.1rem,4vw,3.35rem);line-height:1.08;letter-spacing:-.025em;margin-bottom:.75rem}h2{font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.2;margin-bottom:.6rem}h3{font-size:1.3rem;line-height:1.25;margin-bottom:.5rem}p{line-height:1.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--ink);outline-offset:2px;box-shadow:0 0 0 5px var(--amber)}.skip-link{position:fixed;z-index:100;top:.75rem;left:.75rem;transform:translateY(-180%);padding:.8rem 1rem;background:var(--surface);color:var(--ink);border:2px solid var(--ink);font-weight:700}.skip-link:focus{transform:translateY(0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow,.navigation-label,.context-label,.mono{font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem;line-height:1.35;letter-spacing:.09em}.eyebrow{color:var(--muted);font-weight:700;margin-bottom:.65rem}.muted,.field-hint{color:var(--muted)}.field-hint{display:block;font-size:.8rem;line-height:1.45;font-weight:400}.button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:46px;padding:.7rem 1rem;border:1px solid transparent;border-radius:4px;background:var(--ink);color:#fff;font-weight:700;line-height:1.2;text-align:center;text-decoration:none;transition:background-color .15s ease,color .15s ease}.button:hover:not(:disabled){background:#394563}.button--secondary{border-color:var(--ink);background:transparent;color:var(--ink)}.button--secondary:hover:not(:disabled){background:#ebe7df}.button--quiet{min-height:44px;padding-inline:.5rem;background:transparent;color:var(--ink);border-color:transparent;text-decoration:underline;text-underline-offset:.18em}.button--quiet:hover:not(:disabled){background:#ebe7df}.button--danger{background:var(--terracotta);color:#fff}.button--danger:hover:not(:disabled){background:#773d36}.text-button{min-height:44px;margin-top:.9rem;padding:.45rem 0;background:none;border:0;color:var(--ink);font-weight:700;text-decoration:underline;text-underline-offset:.18em}.text-button:disabled{opacity:.55;cursor:not-allowed}.auth-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem 1rem}.auth-links .text-button{margin-top:.5rem}.notice{padding:.8rem 1rem;border-left:4px solid var(--learning-blue);background:#e8edf5;line-height:1.45;margin:1rem 0}.notice--positive{border-color:var(--positive);background:#e7edf4;color:#29324d}.notice--warning{border-color:#8b6500;background:#f5edcc;color:#5b481d}.notice--error{border-color:var(--terracotta);background:#f4e3dc;color:#672c23}.notice--info{color:var(--ink)}.empty-state{margin:1.5rem 0;padding:1.25rem 0 1.5rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:50rem}.empty-state h3{margin-bottom:.4rem}.empty-state p:not(.eyebrow){max-width:42rem;color:var(--muted)}.loading-state{display:flex;align-items:center;gap:.75rem;min-height:8rem;color:var(--muted)}.loading-mark{width:14px;height:14px;border:2px solid var(--ink);border-right-color:transparent;border-radius:50%}.denied-state{max-width:48rem;padding:clamp(1.5rem,5vw,4rem) 0}.denied-state p:not(.eyebrow){max-width:40rem;color:var(--muted)}.offline-banner{padding:.75rem var(--gutter);border-bottom:1px solid #9B6024;background:#f4e9d0;color:#513a17;font-weight:600}.global-notice{display:flex;align-items:center;gap:.5rem;padding-inline:var(--gutter)}.global-notice .notice{flex:1}.auth-page,.setup-page,.startup-page{min-height:100vh;background:var(--paper)}.auth-layout{min-height:100vh;width:min(1180px,100%);margin:auto;padding:clamp(1.5rem,7vw,5rem);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:center;gap:clamp(2rem,8vw,7rem)}.auth-intro{max-width:34rem}.auth-intro h1{max-width:11ch;font-size:clamp(2.7rem,5.5vw,5rem)}.auth-intro>p:not(.eyebrow){max-width:28rem;color:var(--muted);font-size:1.1rem}.auth-note{display:flex;align-items:center;gap:.85rem;max-width:27rem;margin-top:2.5rem;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted)}.note-mark,.brand-stamp{display:inline-grid;place-items:center;flex:0 0 auto;width:42px;height:42px;background:var(--amber);color:var(--ink);font-family:Manrope,Segoe UI,sans-serif;font-size:1.5rem;font-weight:700}.auth-form-wrap{max-width:420px;width:100%;padding:2rem;background:var(--surface);border-top:4px solid var(--ink)}.auth-form-wrap h2{margin-bottom:.4rem}.auth-form-wrap>.muted{margin-bottom:1.5rem}.auth-form-wrap .form-stack{margin-top:1.5rem}.auth-form-wrap .button{width:100%;margin-top:.35rem}.setup-header{min-height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);border-bottom:1px solid var(--line)}.setup-header strong{font-family:Manrope,Segoe UI,sans-serif;font-size:1.35rem;color:var(--ink)}.setup-content{width:min(900px,100%);padding:clamp(1.5rem,5vw,4rem) var(--gutter);margin:auto}.setup-content .page-heading{margin-bottom:2rem}.app-frame{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh}.desktop-sidebar{position:sticky;top:0;display:flex;flex-direction:column;min-height:100vh;height:100vh;overflow-y:auto;padding:1.25rem 1rem 1rem;background:var(--ink);color:#fcfaf5}.brand-lockup{display:flex;align-items:center;gap:.75rem;padding:.4rem .35rem 1.5rem;border-bottom:1px solid #FFFFFF32}.brand-stamp{width:38px;height:38px;color:var(--ink);font-size:1.25rem}.brand-lockup strong{display:block;font-family:Manrope,Segoe UI,sans-serif;font-size:1.3rem;line-height:1.1}.brand-lockup small{display:block;margin-top:.25rem;color:#d6deeb;font:500 .59rem/1.2 IBM Plex Mono,ui-monospace,monospace;letter-spacing:.06em}.sidebar-context{display:grid;gap:.35rem;padding:1.25rem .5rem 1.2rem;border-bottom:1px solid #FFFFFF32;overflow-wrap:anywhere}.context-label{color:#d6deeb;font-weight:600}.sidebar-context strong{font-size:.96rem;line-height:1.35}.context-detail{color:#d6deeb;font-size:.8rem}.primary-navigation{display:grid;gap:.2rem;padding-top:1.25rem}.navigation-label{color:#d6deeb;padding:0 .5rem;margin:0 0 .5rem}.navigation-item{display:flex;align-items:center;gap:.65rem;width:100%;min-height:46px;border:0;border-radius:3px;padding:.65rem .55rem;text-align:left;background:transparent;color:#f7f5f0;font-weight:600}.navigation-item:hover{background:#ffffff18}.navigation-item.is-active{background:var(--amber);color:#252d43}.nav-marker{width:7px;height:7px;border:1px solid currentColor;border-radius:50%}.navigation-item.is-active .nav-marker{background:currentColor}.sidebar-foot{display:flex;align-items:center;gap:.5rem;margin-top:auto;padding:1.25rem .5rem .25rem;color:#dde2eb;font-size:.8rem}.connection-dot{width:8px;height:8px;border-radius:50%;background:var(--amber)}.app-workspace{min-width:0}.topbar{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem var(--gutter);border-bottom:1px solid var(--line);background:#fcfaf5}.topbar-context,.topbar-account{display:flex;align-items:center;gap:.7rem;min-width:0}.topbar-context{overflow:hidden;color:var(--muted);font-size:.9rem}.topbar-context>span:not(.demo-tag){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-product{color:var(--ink);font-family:Manrope,Segoe UI,sans-serif;font-size:1.2rem;font-weight:700}.context-separator{color:#87918a}.location-context-tag{max-width:16rem;padding:.32rem .5rem;overflow:hidden;border:1px solid var(--line);color:var(--ink);font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.location-context-switch{min-width:9rem;max-width:16rem;flex:0 1 auto}.location-context-switch select{width:100%;min-height:44px;padding:.35rem 1.8rem .35rem .55rem;border:1px solid var(--line);border-radius:2px;background:#fcfaf5;color:var(--ink);font:inherit}.demo-tag{flex:0 0 auto;padding:.3rem .45rem;background:var(--amber);color:#252d43;font:600 .65rem/1.2 IBM Plex Mono,ui-monospace,monospace}.topbar-account{flex:0 0 auto}.role-tag{padding:.34rem .5rem;border:1px solid var(--line);color:var(--ink);font:600 .68rem/1.2 IBM Plex Mono,ui-monospace,monospace}.account-name{max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.85rem}.workspace-main{width:100%;max-width:1580px;min-width:0;margin:0 auto;padding:clamp(1.5rem,3vw,3rem) var(--gutter) 4rem}.page-content{max-width:1420px;margin:0 auto}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin:0 0 2rem}.page-heading h1{margin-bottom:.55rem}.page-description{max-width:46rem;margin-bottom:0;color:var(--muted)}.page-actions{flex:0 0 auto}.metric-band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 2.2rem;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.metric-cell{min-width:0;padding:1rem 1.25rem 1.1rem 0}.metric-cell+.metric-cell{padding-left:1.25rem;border-left:1px solid var(--line)}.metric-cell dt{color:var(--muted);font:600 .72rem/1.4 IBM Plex Mono,ui-monospace,monospace;text-transform:uppercase}.metric-cell dd{margin:.25rem 0 0;color:var(--ink);font:600 clamp(1.9rem,3vw,2.8rem)/1 Manrope,"Segoe UI",sans-serif}.overview-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.8fr);gap:clamp(2rem,5vw,4.5rem)}.agenda-section,.quick-work,.finance-task,.detail-section,.secondary-task{min-width:0;border-top:1px solid var(--ink);padding-top:1.1rem}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.section-heading h2{margin-bottom:0}.agenda-list,.session-list,.simple-record-list,.allocation-list,.roster-list{list-style:none;padding:0;margin:0}.agenda-row,.session-list li{display:grid;grid-template-columns:minmax(126px,.7fr) minmax(0,1.4fr) auto;align-items:center;gap:1rem;min-height:74px;border-bottom:1px solid var(--line)}.agenda-row time,.session-list time{color:var(--muted);font:500 .76rem/1.4 IBM Plex Mono,ui-monospace,monospace}.agenda-row div,.session-list li div{display:grid;gap:.25rem;min-width:0}.agenda-row strong,.session-list li strong{overflow-wrap:anywhere;color:var(--text)}.agenda-row div span,.session-list li div span,.session-end{color:var(--muted);font-size:.82rem}.agenda-state{padding:.3rem .5rem;background:#e5eaf2;color:#3a5a84;font-size:.73rem;font-weight:700}.quick-work h2{margin-bottom:.9rem}.quick-link{display:flex;align-items:center;justify-content:space-between;gap:.8rem;width:100%;min-height:68px;padding:.8rem .25rem;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);text-align:left}.quick-link:hover{background:#ebe7df}.quick-link>span:first-child{display:grid;gap:.25rem}.quick-link small{color:var(--muted);font-size:.8rem}.data-boundary{margin:2rem 0 0;padding-top:.8rem;border-top:1px solid var(--line);color:var(--muted);font-size:.8rem}.directory-toolbar{display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(155px,.7fr) minmax(170px,.8fr) auto;align-items:end;gap:.8rem;padding:1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.result-count{margin:1rem 0 .6rem;color:var(--muted);font:500 .75rem/1.4 IBM Plex Mono,ui-monospace,monospace}.table-wrap{width:100%;overflow-x:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface)}.data-table{width:100%;border-collapse:collapse;text-align:left}.data-table th{min-height:44px;padding:.8rem .75rem;color:var(--muted);background:#f4f2ea;font:600 .7rem/1.35 IBM Plex Mono,ui-monospace,monospace;text-transform:uppercase;letter-spacing:.045em}.data-table td{min-height:58px;padding:.75rem;border-top:1px solid #E0E3DC;vertical-align:middle;line-height:1.4}.data-table td strong{color:var(--ink)}.data-table td .table-secondary{display:block;margin-top:.2rem;color:var(--muted);font-size:.875rem}.data-table td .button{min-height:40px}.form-section,.secondary-task,.detail-section{margin-top:2rem}.form-section{padding:1.2rem 0 1.5rem;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}.form-section>.eyebrow{margin-bottom:1rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem 1.2rem}.form-stack{display:grid;gap:1rem}label{display:grid;gap:.42rem;min-width:0;color:#343b50;font-size:.86rem;font-weight:650}label input,label select,label textarea{width:100%;min-width:0;min-height:48px;padding:.68rem .75rem;border:1px solid #A9AEB8;border-radius:3px;background:var(--surface);color:var(--text);font-size:1rem;font-weight:400}label textarea{min-height:100px;resize:vertical}label input::placeholder{color:#626875;opacity:1}.form-actions{display:flex;align-items:center;gap:.75rem;align-self:end;flex-wrap:wrap}.profile-form{max-width:880px}.profile-form .form-actions{grid-column:1 / -1}.detail-facts,.family-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:1rem 0;border-block:1px solid var(--line)}.detail-facts>div,.family-facts>div{padding:.35rem .8rem;border-right:1px solid var(--line)}.detail-facts>div:first-child,.family-facts>div:first-child{padding-left:0}.detail-facts>div:last-child,.family-facts>div:last-child{border-right:0}.detail-facts dt,.family-facts dt{color:var(--muted);font:600 .68rem/1.4 IBM Plex Mono,ui-monospace,monospace;text-transform:uppercase}.detail-facts dd,.family-facts dd{margin:.3rem 0 0;color:var(--ink);font:600 1.5rem/1.2 Manrope,Segoe UI,sans-serif}.simple-record-list li,.allocation-list li{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:58px;border-bottom:1px solid var(--line)}.simple-record-list li>span,.allocation-list li>div{display:grid;gap:.25rem}.allocation-list small,.allocation-list span{color:var(--muted)}.status-pill{display:inline-flex;align-items:center;width:max-content;max-width:100%;min-height:28px;padding:.3rem .52rem;border:1px solid #ACB1BC;border-radius:2px;color:#344b6c;background:#e6ebf3;font-size:.76rem;font-weight:700;line-height:1.2}.status-pill--pending,.status-pill--late{border-color:#8c6d28;background:#f4ebcf;color:#553f0e}.status-pill--absent,.status-pill--suspended,.status-pill--withdrawn{border-color:#a86654;background:#f3e3dc;color:#672e23}.status-pill--completed,.status-pill--present,.status-pill--active{border-color:#647b9d;background:#e2e8f2;color:#2c456a}.status-pill--excused{border-color:#526f9e;background:#e2e9f2;color:#364f78}.session-list li{grid-template-columns:minmax(150px,.8fr) minmax(0,1.6fr) auto}.session-context{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);align-items:end;gap:1.5rem;padding:1rem 0;border-block:1px solid var(--line)}.session-context p{display:flex;justify-content:space-between;gap:1rem;margin:0;padding:.8rem 0;color:var(--ink);border-bottom:1px solid var(--line)}.session-context time{color:var(--muted);font:500 .77rem/1.4 IBM Plex Mono,ui-monospace,monospace}.attendance-legend{display:flex;flex-wrap:wrap;gap:.55rem;padding:1rem 0;margin:0;list-style:none;border-bottom:1px solid var(--line)}.roster-section{margin-top:1.5rem}.roster-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(380px,1.2fr);align-items:center;gap:1.4rem;padding:.85rem 0;border-bottom:1px solid var(--line)}.roster-person{display:flex;align-items:center;gap:.75rem;min-width:0}.person-initial{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;background:#e4e8ef;color:var(--ink);font-family:Manrope,Segoe UI,sans-serif;font-size:1.25rem}.roster-person>div{display:grid;gap:.2rem;min-width:0}.roster-person>div span{color:var(--muted);font-size:.78rem}.roster-controls{display:grid;grid-template-columns:minmax(130px,1fr) minmax(120px,.8fr) auto;align-items:end;gap:.65rem}.roster-controls label{grid-column:1 / -1}.attendance-page .page-heading{margin-bottom:1.4rem}.finance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,4vw,3.5rem)}.finance-task h2{margin-bottom:1.2rem}.finance-grid .empty-state{margin-block:.4rem}.confirmation-form{max-width:720px;margin:1.3rem 0;padding:1rem;border-left:4px solid var(--terracotta);background:#f4e9e2}.confirm-copy{font-weight:650;color:#672e23}.allocation-list li{padding:.6rem 0}.family-list{display:grid;gap:2rem}.family-record{max-width:900px;padding:1rem 0;border-top:1px solid var(--ink)}.family-record-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}.family-record-heading h2{margin:0}.family-relation{padding:.4rem .55rem;background:#e2e8f2;color:#364f78;font-size:.75rem;font-weight:700}.tablet-navigation,.mobile-navigation{display:none}@media(min-width:701px)and (max-width:980px){.topbar{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:.2rem;min-height:88px;padding:.5rem 1.5rem}.topbar-context{display:grid;grid-template-columns:auto auto minmax(0,1fr) minmax(0,1fr) auto auto;gap:.45rem;width:100%;overflow:visible;font-size:.82rem}.topbar-product,.context-separator,.profile-tag,.demo-tag{flex:0 0 auto;white-space:nowrap}.topbar-context>.organization-name,.topbar-context>.organization-switch{min-width:0;width:100%}.topbar-context>.organization-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-context>.organization-switch select{width:100%;min-width:0}.topbar-account{grid-column:1;grid-row:2;justify-self:end}}@media(max-width:980px){.app-frame{display:block}.desktop-sidebar{display:none}.tablet-navigation{display:flex;gap:.25rem;overflow-x:auto;overscroll-behavior-x:contain;padding:.55rem var(--gutter);border-bottom:1px solid var(--line);background:#fcfaf5;scrollbar-width:thin}.tablet-nav-item{min-height:44px;flex:0 0 auto;padding:.55rem .8rem;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-weight:650;white-space:nowrap}.tablet-nav-item.is-active{color:var(--ink);border-color:var(--ink)}.workspace-main{padding-top:1.7rem}.directory-toolbar{grid-template-columns:minmax(200px,1fr) repeat(2,minmax(150px,.7fr))}.directory-toolbar>.button{justify-self:start}.table-wrap{overflow:visible;border:0;background:transparent}.data-table,.data-table tbody{display:block;width:100%}.data-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.data-table tr{display:grid;gap:.2rem;padding:.7rem 0;border-top:1px solid var(--line);background:var(--surface)}.data-table td{display:grid;grid-template-columns:minmax(130px,30%) minmax(0,1fr);align-items:center;gap:.7rem;min-height:48px;padding:.45rem .7rem;border:0;overflow-wrap:anywhere}.data-table td:before{content:attr(data-label);color:var(--muted);font:600 .67rem/1.35 IBM Plex Mono,ui-monospace,monospace;text-transform:uppercase}.data-table td[data-label=Acciones]{grid-template-columns:1fr}.data-table td[data-label=Acciones]:before{content:none}.data-table td[data-label=Acciones] .button{width:100%}}@media(max-width:700px){:root{--gutter: 1rem}html{scroll-behavior:auto}.auth-layout{display:block;padding:1.25rem 1rem 2rem}.auth-intro{padding:1rem 0 1.4rem}.auth-intro h1{max-width:15ch;font-size:clamp(2.2rem,10vw,3.5rem)}.auth-intro>p:not(.eyebrow){font-size:1rem}.auth-note{margin-top:1.2rem}.auth-form-wrap{max-width:none;padding:1.35rem 1rem;border-top-width:3px}.topbar{display:grid;grid-template-columns:minmax(0,1fr);min-height:76px;gap:.35rem;padding:.45rem .7rem}.topbar-context{display:grid;grid-template-columns:26px minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:.08rem .4rem;width:100%;overflow:visible}.topbar-product{display:grid;grid-column:1;grid-row:1 / 3;place-items:center;width:25px;height:25px;flex:0 0 25px;background:var(--amber);color:var(--ink);font-size:0}.topbar-product:after{content:"E";font:700 .95rem/1 Manrope,Segoe UI,sans-serif}.context-separator{display:none}.topbar-context .organization-name{grid-column:2 / 4;grid-row:1;max-width:100%}.profile-tag{grid-column:2;grid-row:2;min-width:0;color:var(--muted);font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.demo-tag{grid-column:3;grid-row:2;font-size:.52rem;padding:.22rem .28rem;white-space:nowrap}.topbar-account{grid-column:1;justify-content:space-between;gap:.3rem;width:100%}.account-name{display:inline-block;flex:1;max-width:none}.role-tag{font-size:.62rem}.topbar-account .button{padding-inline:.45rem}.tablet-navigation{display:none}.workspace-main{padding:1.4rem 1rem 7.2rem}.page-heading{display:grid;align-items:start;gap:1rem;margin-bottom:1.35rem}.page-heading h1{font-size:clamp(2rem,9vw,2.7rem)}.page-actions,.page-actions .button{width:100%}.metric-band{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:1.5rem}.metric-cell{padding:.8rem .4rem .85rem 0}.metric-cell+.metric-cell{padding-left:.65rem}.metric-cell:nth-child(3){border-left:0;padding-left:0;border-top:1px solid var(--line)}.metric-cell:nth-child(4){border-top:1px solid var(--line)}.metric-cell dd{font-size:2rem}.overview-grid,.finance-grid{grid-template-columns:1fr;gap:1.7rem}.agenda-row,.session-list li{grid-template-columns:1fr auto;gap:.5rem .8rem;padding:.75rem 0}.agenda-row time,.session-list time{grid-column:1 / -1}.agenda-state{grid-column:2;grid-row:2}.directory-toolbar{grid-template-columns:1fr 1fr;align-items:end}.directory-toolbar .search-field{grid-column:1 / -1}.directory-toolbar>.button{grid-column:1 / -1}.form-grid{grid-template-columns:1fr;gap:.9rem}.profile-form .form-actions{grid-column:auto}.form-actions,.form-actions .button{width:100%}.table-wrap{overflow:visible;border-top:0;background:transparent}.data-table,.data-table tbody{display:block;width:100%}.data-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.data-table tr{display:grid;gap:.2rem;padding:.75rem 0;border-top:1px solid var(--line);background:var(--surface)}.data-table td{display:grid;grid-template-columns:minmax(105px,34%) minmax(0,1fr);align-items:center;gap:.7rem;min-height:42px;padding:.35rem .65rem;border:0;overflow-wrap:anywhere}.data-table td:before{content:attr(data-label);color:var(--muted);font:600 .65rem/1.35 IBM Plex Mono,ui-monospace,monospace;text-transform:uppercase}.data-table td[data-label=Acciones]{grid-template-columns:1fr;padding-top:.55rem}.data-table td[data-label=Acciones]:before{content:none}.data-table td[data-label=Acciones] .button{width:100%}.detail-facts,.family-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-facts>div:nth-child(2),.family-facts>div:nth-child(2){border-right:0}.detail-facts>div:nth-child(n+3),.family-facts>div:nth-child(n+3){border-top:1px solid var(--line)}.detail-facts>div:nth-child(3),.family-facts>div:nth-child(3){padding-left:0}.session-context{grid-template-columns:1fr;gap:.75rem}.session-context p{display:grid;gap:.4rem}.roster-row{grid-template-columns:1fr;gap:.75rem;padding:1rem 0}.roster-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.roster-controls label{grid-column:1 / -1}.roster-controls .button{min-height:48px}.family-record-heading{align-items:start;flex-direction:column}.global-notice{align-items:stretch;flex-direction:column;padding-inline:1rem}.mobile-navigation{position:fixed;z-index:50;right:0;bottom:0;left:0;display:flex;align-items:stretch;justify-content:space-around;gap:.1rem;padding:.35rem .35rem max(.4rem,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fcfaf5}.mobile-nav-item{display:flex;min-width:0;min-height:54px;flex:1 1 0;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;padding:.2rem .1rem;border:0;background:transparent;color:var(--muted);font-size:.66rem;font-weight:650;text-align:center;overflow-wrap:anywhere}.mobile-nav-item.is-active{color:var(--ink)}.mobile-nav-mark{display:grid;place-items:center;width:20px;height:4px;border-radius:4px;background:transparent;color:var(--ink);font:700 .52rem/1 system-ui;letter-spacing:-.1em}.mobile-nav-item.is-active .mobile-nav-mark{background:var(--amber)}.mobile-more-wrap{position:relative;display:flex;flex:1 1 0}.mobile-more-wrap>.mobile-nav-item{width:100%}.mobile-more-menu{position:absolute;right:.15rem;bottom:calc(100% + .45rem);display:grid;min-width:190px;padding:.35rem;border:1px solid var(--line);background:var(--surface)}.mobile-more-menu button{min-height:48px;padding:.7rem;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;font-weight:650}}.invitation-page{min-height:100vh;background:var(--canvas);color:var(--ink)}.invitation-layout{display:grid;justify-items:center;align-content:start;gap:clamp(2rem,6vh,4rem);min-height:100vh;padding:clamp(1.25rem,4vw,3rem) 1rem 4rem}.invitation-brand{display:flex;align-items:center;gap:.75rem;width:min(100%,42rem)}.invitation-brand>div{display:grid;gap:.1rem}.invitation-brand strong{font:750 1.25rem/1.15 Manrope,Segoe UI,sans-serif}.invitation-brand small{color:var(--muted);font:600 .62rem/1.2 IBM Plex Mono,ui-monospace,monospace;letter-spacing:.08em}.invitation-card{display:grid;gap:1rem;width:min(100%,42rem);padding:clamp(1.25rem,4vw,2.5rem);border-top:4px solid var(--amber);background:var(--surface)}.invitation-card h1{margin:0;font:750 clamp(2rem,5vw,3rem)/1.08 Manrope,"Segoe UI",sans-serif;letter-spacing:-.035em}.invitation-card .eyebrow{margin:0}.invitation-intro,.invitation-complete p,.invitation-authenticated p{margin:0;color:var(--muted);line-height:1.6}.invitation-mode{display:grid;grid-template-columns:1fr 1fr;gap:.25rem;border-bottom:1px solid var(--line)}.invitation-mode button{min-height:48px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font-weight:700}.invitation-mode button.is-active{border-bottom-color:var(--amber);color:var(--ink)}.invitation-form{display:grid;gap:1rem}.invitation-form label{display:grid;gap:.4rem;color:var(--ink);font-weight:650}.invitation-form input{width:100%}.invitation-links,.invitation-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.invitation-complete,.invitation-authenticated{display:grid;gap:1rem;padding-top:.4rem}.invitation-privacy{margin:0;padding-top:.7rem;border-top:1px solid var(--line);color:var(--muted);font-size:.82rem;line-height:1.5}.invitation-back{width:fit-content;color:var(--ink);font-weight:650;text-underline-offset:.2em}@media(max-width:700px){.invitation-layout{gap:1.5rem;padding:1.25rem 1rem 2rem}.invitation-card{padding:1.2rem 1rem}.invitation-actions{align-items:stretch;flex-direction:column}.invitation-actions .button{width:100%}}@media(pointer:coarse){button,input,select,textarea{min-height:48px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@media(max-width:380px){.directory-toolbar{grid-template-columns:1fr}.directory-toolbar .search-field,.directory-toolbar>.button{grid-column:auto}.topbar-context>span:nth-child(3){max-width:6rem}.status-pill{font-size:.69rem}}.app-frame{--role-accent: var(--amber)}.app-frame--instructor{--role-accent: #7393C1}.app-frame--learner{--role-accent: #9A82BE}.app-frame--guardian{--role-accent: #C97966}.navigation-section{display:grid;gap:.2rem}.navigation-section+.navigation-section{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #FFFFFF32}.navigation-item.is-active{background:var(--role-accent);color:#252d43}.mobile-nav-item.is-active .mobile-nav-mark{background:var(--role-accent)}.role-tag{border-color:transparent;font-weight:700}.role-tag--admin{background:#f2e5c5;color:#554317}.role-tag--instructor{background:#e2eaf5;color:#293d60}.role-tag--learner{background:#eee8f7;color:#51416f}.role-tag--guardian{background:#f4e4df;color:#713b34}.profile-tag{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:.18rem .4rem;border:1px solid var(--line);color:var(--muted);font-size:.68rem;line-height:1.25;white-space:nowrap}.role-home .role-highlight{margin:.5rem 0 2rem;padding:1.25rem 1.4rem 1.5rem;border-left:5px solid var(--role-accent);background:#fcfaf5}.role-home .role-highlight h2{margin-bottom:.45rem}.role-home--teacher .page-heading,.role-home--learner .page-heading{border-bottom:1px solid var(--line);padding-bottom:1.1rem}.metric-band--personal{grid-template-columns:repeat(3,minmax(0,1fr))}.family-record-heading h2{font-family:Manrope,Segoe UI,sans-serif}.family-dashboard-list{display:grid;border-top:1px solid var(--ink)}.family-dashboard-row{display:grid;grid-template-columns:minmax(160px,.85fr) minmax(220px,1fr) auto;align-items:center;gap:1.1rem;padding:1rem 0;border-bottom:1px solid var(--line)}.family-dashboard-row>div{display:grid;gap:.3rem;min-width:0}.family-dashboard-row h2{margin:0;font:700 1.25rem/1.25 Manrope,Segoe UI,sans-serif}.app-frame--location_admin{--role-accent: #E7B654}.role-tag--location_admin{background:#f2e5c5;color:#554317}.members-tabs{display:flex;gap:1.2rem;margin-top:1rem;border-bottom:1px solid var(--line)}.members-tabs button{display:inline-flex;align-items:center;gap:.5rem;min-height:48px;padding:.55rem .15rem;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font-weight:650}.members-tabs button.is-active{border-bottom-color:var(--amber);color:var(--ink)}.members-tabs button span{min-width:1.45rem;padding:.1rem .3rem;border:1px solid var(--line);color:var(--muted);font:600 .68rem/1.3 IBM Plex Mono,ui-monospace,monospace;text-align:center}.members-tabs button:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.members-toolbar{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(145px,.75fr));align-items:end;gap:.8rem;padding:1rem 0;border-bottom:1px solid var(--line)}.members-toolbar label,.members-toolbar .members-search{min-width:0}.members-table{min-width:750px}.members-table td:first-child{min-width:190px}.members-table td:last-child{min-width:130px}.members-table td[data-label="Sedes asignadas"]{max-width:25rem;overflow-wrap:anywhere}.members-empty{padding:1.5rem 0 2rem;border-bottom:1px solid var(--line)}.members-empty h2{margin:0 0 .45rem}.members-empty p{max-width:42rem;color:var(--muted)}.members-load-error{display:flex;align-items:center;gap:1rem}.members-load-error .notice{flex:1}.members-loading{display:flex;align-items:center;gap:.7rem;min-height:5rem;color:var(--muted);border-bottom:1px solid var(--line)}.members-editor{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);align-items:start;gap:clamp(1.5rem,4vw,3.5rem);margin-top:2rem;padding-top:1.2rem;border-top:1px solid var(--ink)}.members-editor-heading{display:grid;gap:.6rem}.members-editor-heading h2{margin:0}.members-editor-heading p{max-width:27rem;color:var(--muted)}.members-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem 1.2rem;min-width:0}.members-form>label:first-child{grid-column:1 / -1}.members-scope{grid-column:1 / -1;min-width:0;margin:.25rem 0 0;padding:.9rem 0 0;border:0;border-top:1px solid var(--line)}.members-scope legend{padding:0;color:var(--ink);font-size:.9rem;font-weight:700}.members-scope>p{margin:.25rem 0 .7rem;color:var(--muted);font-size:.82rem}.members-scope-option{display:flex;align-items:center;gap:.7rem;min-height:48px;padding:.45rem .15rem;border-bottom:1px solid var(--line)}.members-scope-option input{width:1.15rem;height:1.15rem;flex:0 0 auto;accent-color:var(--ink)}.members-scope-option small{margin-left:auto;color:var(--muted);font:500 .68rem/1.3 IBM Plex Mono,ui-monospace,monospace}.members-field-note{grid-column:1 / -1;margin:0;color:var(--muted);font-size:.83rem}.members-form-actions{grid-column:1 / -1;display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;padding-top:.25rem}.members-row-actions{display:grid;gap:.35rem}.members-invite-link{grid-column:1 / -1;display:grid;gap:.6rem;padding:1rem 0 0;border-top:1px solid var(--line)}.members-invite-link h3,.members-invite-link p{margin:0}.members-invite-link p{color:var(--muted);font-size:.85rem}.members-invite-link label{max-width:48rem}.members-invite-link input{font:500 .78rem/1.4 IBM Plex Mono,ui-monospace,monospace}@media(max-width:980px){.members-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.members-table{min-width:0;width:100%}.members-editor{grid-template-columns:minmax(0,1fr)}.members-editor-heading{grid-template-columns:1fr auto;align-items:start}.members-editor-heading p{grid-column:1 / -1}}@media(max-width:700px){.members-page .page-heading{align-items:start;flex-direction:column}.members-page .page-heading .button{width:100%}.members-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem .7rem}.members-toolbar .members-search,.members-toolbar label:nth-child(4){grid-column:1 / -1}.members-tabs{gap:.8rem}.members-tabs button{flex:1;justify-content:center}.members-table{min-width:0}.members-table td{grid-template-columns:minmax(0,1fr);align-items:start;gap:.15rem;min-height:0;padding:.55rem .65rem}.members-table td:before{grid-column:1}.members-table td[data-label=Acciones]{grid-template-columns:minmax(0,1fr)}.members-table td[data-label=Acciones] .button{width:100%}.members-editor{gap:1rem;margin-top:1.5rem}.members-form{grid-template-columns:minmax(0,1fr)}.members-form>label:first-child,.members-scope,.members-field-note,.members-form-actions,.members-invite-link{grid-column:auto}.members-load-error{align-items:stretch;flex-direction:column}}.family-dashboard-row span,.family-next>span,.family-next small{color:var(--muted);font-size:.8rem}.family-next strong,.family-next small{overflow-wrap:anywhere}.family-switcher{max-width:34rem;margin:1rem 0}.location-load-error{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0}.location-load-error-state{display:grid;justify-items:start;gap:.8rem;max-width:720px;margin:2rem 0;padding:1.3rem 0;border-block:1px solid var(--terracotta)}.location-load-error-state h2,.location-load-error-state p{margin-bottom:0}.location-toolbar{display:flex;align-items:end;justify-content:space-between;gap:1.2rem;padding:1rem 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}.location-filters{display:flex;gap:.4rem;min-width:0}.location-filters button{min-height:44px;padding:.55rem .8rem;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-weight:650}.location-filters button.is-active{border-color:var(--amber);color:var(--ink)}.location-filters button:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.location-search{width:min(340px,100%)}.location-layout{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:clamp(1.5rem,3vw,3rem)}.location-layout--editing{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)}.location-list{min-width:0}.location-editor{min-width:0;padding-top:1rem;border-top:1px solid var(--ink)}.location-editor-heading{display:flex;align-items:start;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}.location-editor-heading h2{margin:0}.location-table td{min-width:7rem}.location-table td:first-child{min-width:12rem}.location-timezone{font:500 .76rem/1.4 IBM Plex Mono,ui-monospace,monospace}.location-actions{display:flex;align-items:start;flex-wrap:wrap;gap:.35rem .6rem;min-width:11rem}.location-actions .button{min-height:40px}.location-actions .field-hint{flex-basis:100%}@media(min-width:981px){.location-layout--editing .location-table td{min-width:5rem;padding-inline:.45rem}.location-layout--editing .location-table td:first-child{min-width:9rem}.location-layout--editing .location-actions{min-width:0}}@media(max-width:980px){.location-layout,.location-layout--editing{grid-template-columns:minmax(0,1fr)}.location-editor{max-width:720px}}@media(max-width:700px){.location-toolbar{align-items:stretch;flex-direction:column}.location-filters{width:100%}.location-filters button{flex:1}.location-search{width:100%}.location-editor{max-width:none}.location-editor-heading{align-items:start}.location-actions{min-width:0}.location-actions .button{width:100%}.family-dashboard-row{grid-template-columns:minmax(0,1fr);align-items:start;gap:.8rem}.family-dashboard-row>.button{width:100%}.topbar{display:grid;grid-template-columns:minmax(0,1fr);min-height:82px;gap:.3rem;padding:.45rem .7rem}.topbar-context{display:grid;grid-template-columns:26px minmax(0,1fr) auto;grid-template-rows:auto auto auto;align-items:center;gap:.08rem .4rem;width:100%;overflow:visible}.topbar-product{grid-column:1;grid-row:1 / 4}.topbar-context .organization-name{grid-column:2 / 4;grid-row:1;max-width:100%}.topbar-context .profile-tag{grid-column:2;grid-row:2;justify-self:start;max-width:100%;font-size:.6rem}.topbar-context .demo-tag{grid-column:3;grid-row:2;font-size:.52rem;padding:.22rem .28rem;white-space:nowrap}.topbar-context .location-context-switch,.topbar-context .location-context-tag{grid-column:2 / 4;grid-row:3;justify-self:start;width:100%;max-width:100%}.topbar-account{grid-column:1;width:100%;justify-content:space-between;gap:.3rem}.account-name{display:inline-block;flex:1;max-width:none}}
