.students-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) minmax(150px,180px) minmax(190px,220px) max-content;align-items:center;gap:12px;width:100%;min-width:0;margin-bottom:16px}.students-toolbar__search,.students-toolbar__filter{min-width:0;width:100%}.students-toolbar__actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:-moz-max-content;min-width:max-content}.students-toolbar__actions .primary-button,.students-toolbar__actions .ghost-button{flex:0 0 auto;justify-content:center;white-space:nowrap}@media(max-width:1180px){.students-toolbar{grid-template-columns:minmax(240px,1fr) 150px 190px max-content;gap:10px}}@media(max-width:900px){.students-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.students-toolbar__search,.students-toolbar__actions{grid-column:1 / -1}.students-toolbar__actions{justify-content:stretch;min-width:0}.students-toolbar__actions .primary-button,.students-toolbar__actions .ghost-button{flex:1 1 0}}._tableCard_1o9xp_1{overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--panel)}._tableHeader_1o9xp_8{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border);padding:14px 16px}._dataTable_1o9xp_17{display:flex;flex-direction:column}._row_1o9xp_22{display:grid;grid-template-columns:60px 1.35fr 1fr 120px .8fr 140px 60px;align-items:center;gap:12px;border-bottom:1px solid var(--border);padding:12px 16px;transition:background-color .2s;font-size:14px;color:var(--text)}._row_1o9xp_22:last-child{border-bottom:none}._row_1o9xp_22:hover:not(._head_1o9xp_38){background:var(--hover)}._head_1o9xp_38{background:var(--panel-soft);font-size:12px;font-weight:900;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border)}._cell_1o9xp_51{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._cellCenter_1o9xp_57{text-align:center}._cellLeft_1o9xp_61{text-align:left}@media(max-width:768px){._head_1o9xp_38{display:none}._row_1o9xp_22{display:flex;flex-direction:column;align-items:flex-start;padding:16px;gap:12px}._cell_1o9xp_51{display:flex;justify-content:space-between;width:100%;align-items:center;text-align:right}._cellCenter_1o9xp_57,._cellLeft_1o9xp_61{text-align:right}._cell_1o9xp_51:before{content:attr(data-label);font-weight:500;color:var(--muted);font-size:13px}}.portal-material-admin{margin-top:24px}.portal-material-admin-message{margin:12px 0;padding:10px 12px;border-radius:10px;background:#f1f5f9;color:#334155;font-size:.86rem;font-weight:700}.portal-material-admin-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}.portal-material-admin-form label{display:flex;flex-direction:column;gap:6px;font-size:.78rem;font-weight:850;color:#334155}.portal-material-admin-form input,.portal-material-admin-form select,.portal-material-admin-form textarea{width:100%;border:1px solid #dbe1e8;border-radius:10px;background:#fff;padding:10px 11px;font:inherit;color:#0f172a}.portal-material-admin-wide{grid-column:span 2}.portal-material-admin-checks{display:flex;align-items:center;gap:16px;grid-column:span 2}.portal-material-admin-checks label{flex-direction:row;align-items:center}.portal-material-admin-checks input{width:auto}.portal-material-admin-actions{display:flex;justify-content:flex-end;gap:10px;grid-column:span 2}.portal-material-admin-actions button{display:inline-flex;align-items:center;gap:6px}.portal-material-admin-list{display:grid;gap:10px;margin-top:22px}.portal-material-admin-list>article{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #e2e8f0;border-radius:14px;padding:14px}.portal-material-admin-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.portal-material-admin-copy>div{display:flex;align-items:center;gap:7px}.portal-material-admin-copy>div svg{color:#d97706}.portal-material-admin-copy span,.portal-material-admin-copy small{color:#64748b}.portal-material-admin-row-actions{display:flex;gap:7px;flex:0 0 auto}.portal-material-admin-row-actions a,.portal-material-admin-row-actions button{display:grid;place-items:center;width:34px;height:34px;border:1px solid #dbe1e8;border-radius:9px;background:#fff;color:#334155}.portal-material-admin-row-actions .danger-link{color:#b91c1c}@media(max-width:900px){.portal-material-admin-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.portal-material-admin-form{grid-template-columns:1fr}.portal-material-admin-wide,.portal-material-admin-checks,.portal-material-admin-actions{grid-column:1}.portal-material-admin-list>article{align-items:flex-start;flex-direction:column}.portal-material-admin-row-actions{width:100%;justify-content:flex-end}}.portal-medical-admin{margin:24px 0}.portal-medical-admin-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.portal-medical-admin-summary{margin:18px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.portal-medical-admin-summary button{min-height:76px;padding:12px;border:1px solid #dbe2ea;border-radius:13px;background:#f8fafc;color:#334155;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 8px;text-align:left;cursor:pointer}.portal-medical-admin-summary button.active{border-color:#111827;background:#111827;color:#fff}.portal-medical-admin-summary button strong{font-size:1.2rem}.portal-medical-admin-summary button span{grid-column:1 / -1;font-size:.76rem;font-weight:700}.portal-medical-admin-toolbar{margin-bottom:15px;display:flex;justify-content:flex-end}.portal-medical-admin-toolbar label{min-width:230px}.portal-medical-admin-list{display:grid;gap:10px}.portal-medical-admin-row{padding:16px;border:1px solid #dbe2ea;border-radius:14px;background:#fff;display:grid;grid-template-columns:minmax(170px,.9fr) minmax(210px,1.2fr) auto;align-items:center;gap:16px}.portal-medical-admin-row.pending-review{border-left:5px solid #2563eb}.portal-medical-admin-row.approved{border-left:5px solid #15803d}.portal-medical-admin-row.rejected{border-left:5px solid #b91c1c}.portal-medical-admin-row.missing{border-left:5px solid #d97706}.portal-medical-admin-student,.portal-medical-admin-state{min-width:0;display:flex;flex-direction:column;gap:4px}.portal-medical-admin-student strong{color:#111827}.portal-medical-admin-student span,.portal-medical-admin-state small{color:#64748b;font-size:.78rem}.portal-medical-admin-state>span{width:-moz-max-content;width:max-content;max-width:100%;padding:4px 8px;border-radius:999px;background:#eef2f7;color:#334155;font-size:.7rem;font-weight:900;text-transform:uppercase}.portal-medical-admin-row.pending-review .portal-medical-admin-state>span{background:#dbeafe;color:#1d4ed8}.portal-medical-admin-row.approved .portal-medical-admin-state>span{background:#dcfce7;color:#166534}.portal-medical-admin-row.rejected .portal-medical-admin-state>span{background:#fee2e2;color:#991b1b}.portal-medical-admin-row.missing .portal-medical-admin-state>span{background:#fef3c7;color:#92400e}.portal-medical-admin-note{color:#991b1b!important;font-weight:700}.portal-medical-admin-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.portal-medical-admin-actions button{min-height:38px;padding:0 11px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#1f2937;display:inline-flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}.portal-medical-admin-actions button.primary-button{border-color:#111827;background:#111827;color:#fff}.portal-medical-admin-actions button.danger-link{border-color:#fecaca;color:#b91c1c}.portal-medical-reject-form{grid-column:1 / -1;padding-top:14px;border-top:1px solid #e2e8f0}.portal-medical-reject-form label{display:grid;gap:7px;color:#374151;font-size:.82rem;font-weight:800}.portal-medical-reject-form textarea{width:100%;padding:11px 12px;border:1px solid #cbd5e1;border-radius:10px;resize:vertical;font:inherit}.portal-medical-reject-form>div{margin-top:10px;display:flex;justify-content:flex-end;gap:8px}@media(max-width:850px){.portal-medical-admin-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-medical-admin-row{grid-template-columns:1fr}.portal-medical-admin-actions{justify-content:flex-start}}@media(max-width:560px){.portal-medical-admin-heading{grid-template-columns:auto minmax(0,1fr)}.portal-medical-admin-heading>button{grid-column:1 / -1;width:100%}.portal-medical-admin-toolbar,.portal-medical-admin-toolbar label{width:100%}}.portal-public-shell{min-height:100vh;background:radial-gradient(circle at top left,#e8edf3,transparent 38%),#f5f6f8;color:#111827;padding:24px;font-family:Inter,Segoe UI,sans-serif}.portal-public-frame{width:min(1050px,100%);margin:0 auto}.portal-public-brand{display:inline-flex;align-items:center;gap:12px;color:inherit;text-decoration:none;margin-bottom:36px}.portal-public-brand>span{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#111827;color:#fff;font-weight:900}.portal-public-brand div{display:flex;flex-direction:column}.portal-public-brand small{color:#64748b}.portal-auth-card{width:min(480px,100%);margin:3vh auto;background:#fff;border:1px solid #dbe1e8;border-radius:22px;padding:32px;box-shadow:0 24px 70px #0f172a17;display:grid;gap:22px}.portal-auth-card h1,.portal-private-header h1,.portal-profile h1{margin:3px 0 5px;font-size:clamp(1.7rem,4vw,2.35rem)}.portal-auth-card p{margin:0;color:#5d6878}.portal-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800;color:#64748b!important}.portal-auth-card form{display:grid;gap:16px}.portal-auth-card label{display:grid;gap:7px;font-weight:700;font-size:.9rem}.portal-auth-card input{height:44px;border:1px solid #cbd3dd;border-radius:10px;padding:0 12px;font:inherit}.portal-auth-card button,.portal-private-header button{border:0;border-radius:10px;background:#111827;color:#fff;min-height:44px;padding:0 17px;font-weight:800;cursor:pointer}.portal-auth-card button:disabled{opacity:.55}.portal-auth-card>a,.portal-back-link{color:#334155;font-weight:700;text-decoration:none}.portal-auth-card ul{margin:14px 0 0;padding-left:20px}.portal-auth-card label small{font-weight:500;color:#64748b}.portal-public-feedback{padding:10px 12px;border-radius:9px;background:#ecfdf5;color:#166534}.portal-public-feedback.error{background:#fef2f2;color:#b91c1c}.portal-private-loading{min-height:40vh;display:grid;place-content:center;text-align:center;color:#64748b}.portal-private-header{display:flex;justify-content:space-between;align-items:center;background:#111827;color:#fff;padding:28px;border-radius:24px}.portal-private-header p{margin:0;color:#cbd5e1}.portal-private-header button{display:flex;align-items:center;gap:8px;background:#fff;color:#111827}.portal-private-content{padding:32px 0}.portal-student-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.portal-student-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;padding:22px;border:1px solid #dbe1e8;border-radius:16px;background:#fff;color:#111827;text-decoration:none}.portal-student-card div{display:flex;flex-direction:column;gap:4px}.portal-student-card div span,.portal-student-card>span{color:#64748b;font-size:.86rem}.portal-empty{display:grid;justify-items:center;gap:8px;padding:42px;background:#fff;border:1px dashed #cbd5e1;border-radius:16px;text-align:center}.portal-empty p{margin:0;color:#64748b}.portal-back-link{display:inline-flex;align-items:center;gap:7px;margin-bottom:22px}.portal-profile{background:#fff;border:1px solid #dbe1e8;border-radius:22px;padding:30px}.portal-profile header{display:flex;align-items:center;gap:18px;border-bottom:1px solid #e5e7eb;padding-bottom:24px}.portal-profile-avatar{width:70px;height:70px;border-radius:20px;background:#111827;color:#fff;display:grid;place-items:center;font-weight:900;font-size:1.35rem}.portal-profile header span{color:#64748b}.portal-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px}.portal-profile-grid article{display:grid;gap:7px;background:#f7f8fa;border-radius:14px;padding:18px}.portal-profile-grid article svg{color:#475569}.portal-profile-grid article span{font-size:.82rem;color:#64748b}.portal-admin-grid{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.4fr);gap:18px}.portal-admin-card{background:#fff;border:1px solid #d6dce3;border-radius:14px;padding:20px;display:grid;gap:16px}.portal-admin-card label{display:grid;gap:6px;font-weight:700;font-size:.88rem}.portal-admin-card input,.portal-admin-card select{min-height:42px;border:1px solid #cbd3dd;border-radius:8px;padding:0 10px}.portal-admin-card fieldset{border:0;padding:0;margin:0}.portal-admin-card legend{font-weight:800;margin-bottom:8px}.portal-card-heading{display:flex;gap:10px;align-items:flex-start}.portal-card-heading h2,.portal-card-heading p{margin:0}.portal-card-heading p{color:#64748b;font-size:.86rem;margin-top:3px}.portal-student-checklist{max-height:240px;overflow:auto;border:1px solid #e2e8f0;border-radius:9px;padding:8px}.portal-student-checklist label{display:flex;align-items:center;grid-template-columns:auto 1fr;padding:7px}.portal-student-checklist input{min-height:auto}.portal-feedback{margin-bottom:16px;background:#f8fafc;border:1px solid #cbd5e1;border-radius:9px;padding:11px}.portal-admin-list{display:grid;gap:10px}.portal-admin-list article,.portal-account-grid>article{border:1px solid #e2e8f0;border-radius:11px;padding:14px}.portal-admin-list article{display:flex;justify-content:space-between;gap:12px}.portal-admin-list article>div:first-child{display:flex;flex-direction:column;gap:4px}.portal-admin-list span,.portal-admin-list small{color:#64748b}.portal-row-actions{display:flex;align-items:center;gap:8px}.portal-row-actions button,.portal-account-grid button{border:1px solid #cbd5e1;background:#fff;border-radius:7px;padding:7px 9px;cursor:pointer}.danger-link{color:#b91c1c!important}.portal-accounts-card{margin-top:18px}.portal-account-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}.portal-account-grid article header{display:flex;justify-content:space-between;gap:10px;margin-bottom:12px}.portal-account-grid article header>div{display:flex;flex-direction:column;gap:5px}.portal-status-pill{width:-moz-max-content;width:max-content;border-radius:999px;padding:3px 7px;font-size:.68rem;font-weight:900}.portal-status-pill.active{background:#dcfce7;color:#166534}.portal-status-pill.disabled{background:#fee2e2;color:#991b1b}.portal-access-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;border-top:1px solid #eef2f7;padding:9px 0}.portal-access-row small{color:#64748b}@media(max-width:760px){.portal-public-shell{padding:16px}.portal-public-brand{margin-bottom:22px}.portal-auth-card{padding:23px}.portal-private-header{align-items:flex-start;gap:18px}.portal-private-header button{min-width:44px;font-size:0}.portal-profile-grid,.portal-admin-grid{grid-template-columns:1fr}.portal-profile{padding:20px}.portal-profile header{align-items:flex-start}.portal-admin-list article{flex-direction:column}.portal-row-actions{justify-content:flex-end}.portal-access-row{grid-template-columns:auto 1fr auto}.portal-access-row small{grid-column:2}.portal-account-grid{grid-template-columns:1fr}}.portal-student-summary-card{grid-template-columns:1fr auto;align-items:start;gap:18px;padding:0;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.portal-student-summary-card:hover{transform:translateY(-2px);border-color:#aab4c1;box-shadow:0 14px 32px #0f172a14}.portal-student-card-heading{display:flex!important;flex-direction:row!important;align-items:center;gap:13px;padding:22px 22px 0}.portal-student-icon{width:45px;height:45px;border-radius:14px;background:#111827;color:#fff;display:grid;place-items:center;flex:0 0 auto}.portal-student-card-status{display:flex;flex-direction:column;align-items:flex-end;gap:7px;padding:22px 22px 0}.portal-student-card-status small{color:#64748b}.portal-fee-pill{border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:900;letter-spacing:.02em}.portal-fee-pill.paid{background:#dcfce7;color:#166534}.portal-fee-pill.partial{background:#fef3c7;color:#92400e}.portal-fee-pill.pending{background:#e0f2fe;color:#075985}.portal-fee-pill.overdue{background:#fee2e2;color:#991b1b}.portal-student-next{grid-column:1/-1;display:flex!important;flex-direction:row!important;align-items:center;gap:9px;background:#f8fafc;border-top:1px solid #edf0f3;padding:13px 22px;color:#475569}.portal-student-next span{font-size:.84rem!important}.portal-card-link{grid-column:1/-1;padding:0 22px 18px;color:#111827!important;font-weight:800!important}.portal-student-detail{margin-bottom:18px}.portal-fee-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-top:24px;padding:22px;border-radius:17px;background:#f8fafc;border:1px solid #e2e8f0}.portal-fee-hero p,.portal-fee-hero h2{margin:0}.portal-fee-hero h2{font-size:1.55rem;margin:5px 0}.portal-fee-hero>div:first-child>span{color:#64748b}.portal-fee-amount{min-width:180px;border-radius:15px;padding:17px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:3px 10px}.portal-fee-amount strong{font-size:1.25rem}.portal-fee-amount span{grid-column:2;font-size:.78rem}.portal-fee-amount.paid{background:#dcfce7;color:#166534}.portal-fee-amount.partial{background:#fef3c7;color:#92400e}.portal-fee-amount.pending{background:#e0f2fe;color:#075985}.portal-fee-amount.overdue{background:#fee2e2;color:#991b1b}.portal-detail-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.portal-detail-card{background:#fff;border:1px solid #dbe1e8;border-radius:20px;padding:23px}.portal-detail-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:17px;border-bottom:1px solid #edf0f3}.portal-detail-card>header>div{display:flex;gap:11px;align-items:flex-start}.portal-detail-card h2,.portal-detail-card p{margin:0}.portal-detail-card h2{font-size:1.15rem;margin-top:3px}.portal-detail-card>header>span{display:grid;place-items:center;min-width:29px;height:29px;border-radius:9px;background:#f1f5f9;font-size:.8rem;font-weight:900}.portal-timeline{display:grid}.portal-timeline-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #edf0f3}.portal-timeline-row:last-child{border-bottom:0;padding-bottom:0}.portal-timeline-row div{display:flex;flex-direction:column;gap:4px}.portal-timeline-row span,.portal-timeline-row small{font-size:.78rem;color:#64748b}.portal-timeline-row>strong{font-size:.9rem;text-align:right}.portal-detail-empty{min-height:150px;display:grid;place-content:center;justify-items:center;text-align:center;color:#64748b}.portal-detail-empty p{margin-top:9px}@media(max-width:760px){.portal-student-summary-card{grid-template-columns:1fr}.portal-student-card-status{align-items:flex-start;padding:0 22px}.portal-student-next,.portal-card-link{grid-column:1}.portal-fee-hero{align-items:stretch;flex-direction:column}.portal-fee-amount{min-width:0}.portal-detail-columns{grid-template-columns:1fr}.portal-timeline-row{grid-template-columns:auto 1fr}.portal-timeline-row>small,.portal-timeline-row>strong{grid-column:2;text-align:left}}.portal-grant-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:10px;padding:13px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.portal-grant-form button{min-height:42px}@media(max-width:900px){.portal-grant-form{grid-template-columns:1fr 1fr}}@media(max-width:620px){.portal-grant-form{grid-template-columns:1fr}}.app-lock-screen{min-height:100dvh;display:grid;place-items:center;padding:24px;background:#f8fafc}.app-lock-card{width:min(100%,420px);display:grid;gap:18px;padding:30px;border:1px solid #e5e7eb;border-radius:22px;background:#fff;box-shadow:0 24px 70px #0f172a1f;text-align:center}.app-lock-card h1,.app-lock-card p{margin:0}.app-lock-card p{color:#64748b}.app-lock-icon{justify-self:center}.app-lock-wide{width:100%;justify-content:center}.app-lock-separator{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;color:#64748b;font-size:12px;font-weight:700}.app-lock-separator:before,.app-lock-separator:after{content:"";height:1px;background:#e5e7eb}.app-lock-developer-form,.app-lock-pin-form{display:grid;gap:10px;text-align:left}.app-lock-developer-form label,.app-lock-pin-form label{font-size:13px;font-weight:800}.app-lock-credentials-input{width:100%;min-height:44px;border:1px solid #d1d5db;border-radius:10px;background:#fff;color:#111827;font:inherit;padding:0 12px}.app-lock-credentials-input:focus{border-color:#111827;outline:3px solid rgba(17,24,39,.1)}.app-lock-pin-input{width:100%;min-height:54px;border:1px solid #d1d5db;border-radius:12px;background:#fff;color:#111827;font-size:28px;font-weight:800;letter-spacing:.55em;padding:8px 12px 8px calc(12px + .55em);text-align:center}.app-lock-pin-input:focus{border-color:#111827;outline:3px solid rgba(17,24,39,.1)}.app-lock-error{color:#b91c1c!important;font-size:13px;font-weight:700}.app-lock-alert{padding:12px 14px;border:1px solid #fed7aa;border-radius:12px;background:#fff7ed;color:#9a3412;font-size:13px;font-weight:700;text-align:left}.app-lock-settings-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.app-lock-settings-heading .panel-title{margin-bottom:4px}.app-lock-settings-pin{font-variant-numeric:tabular-nums;letter-spacing:.25em}@media(max-width:480px){.app-lock-screen{padding:14px}.app-lock-card{padding:24px 20px;border-radius:18px}}@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scroll-snap-strictness:proximity;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-space-x-reverse:0}}}:root,:host{--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-950:oklch(27.9% .077 45.635);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-800:oklch(47.6% .114 61.907);--color-yellow-900:oklch(42.1% .095 57.708);--color-green-100:oklch(96.2% .044 156.743);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-950:oklch(26.2% .051 172.552);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--color-panel:var(--panel);--color-border:var(--border);--color-muted:var(--muted);--color-accent:var(--accent)}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.top-\[50\%\]{top:50%}.right-0{right:0}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:0}.left-0{left:0}.left-2{left:calc(var(--spacing) * 2)}.left-4{left:calc(var(--spacing) * 4)}.left-\[50\%\]{left:50%}.z-50{z-index:50}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.\!m-0{margin:0!important}.m-0{margin:0}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-auto{margin-inline:auto}.my-1{margin-block:var(--spacing)}.my-4{margin-block:calc(var(--spacing) * 4)}.my-5{margin-block:calc(var(--spacing) * 5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-20{height:calc(var(--spacing) * 20)}.h-\[1px\]{height:1px}.h-\[46px\]{height:46px}.h-\[70px\]{height:70px}.h-\[80vh\]{height:80vh}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-px{height:1px}.max-h-\[--radix-select-content-available-height\]{max-height:--radix-select-content-available-height}.max-h-\[90vh\]{max-height:90vh}.min-h-\[80px\]{min-height:80px}.min-h-screen{min-height:100vh}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-6{width:calc(var(--spacing) * 6)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-20{width:calc(var(--spacing) * 20)}.w-\[1px\]{width:1px}.w-\[46px\]{width:46px}.w-full{width:100%}.max-w-0{max-width:0}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[280px\]{max-width:280px}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:0}.min-w-\[8rem\]{min-width:8rem}.min-w-\[500px\]{min-width:500px}.min-w-\[800px\]{min-width:800px}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.origin-\[--radix-select-content-transform-origin\]{transform-origin:--radix-select-content-transform-origin}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.touch-none{touch-action:none}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.items-center{align-items:center}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-around{justify-content:space-around}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-gray-100>:not(:last-child)){border-color:var(--color-gray-100)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\[3rem\]{border-radius:3rem}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.\!border-red-600{border-color:var(--color-red-600)!important}.border-\[\#d6dce3\]{border-color:#d6dce3}.border-\[\#fecaca\]{border-color:#fecaca}.border-amber-200{border-color:var(--color-amber-200)}.border-blue-100{border-color:var(--color-blue-100)}.border-blue-200{border-color:var(--color-blue-200)}.border-border,.border-border\/50{border-color:var(--color-border)}@supports (color:color-mix(in lab,red,red)){.border-border\/50{border-color:color-mix(in oklab,var(--color-border) 50%,transparent)}}.border-emerald-200{border-color:var(--color-emerald-200)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-muted{border-color:var(--color-muted)}.border-red-100{border-color:var(--color-red-100)}.border-red-200{border-color:var(--color-red-200)}.border-transparent{border-color:#0000}.border-yellow-100{border-color:var(--color-yellow-100)}.border-yellow-200{border-color:var(--color-yellow-200)}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.\!bg-red-600{background-color:var(--color-red-600)!important}.bg-\[\#111827\]{background-color:#111827}.bg-\[\#eef1f4\]{background-color:#eef1f4}.bg-\[\#f1f5f9\]{background-color:#f1f5f9}.bg-\[\#f6f7f9\]{background-color:#f6f7f9}.bg-\[\#fef2f2\]{background-color:#fef2f2}.bg-accent,.bg-accent\/10{background-color:var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\/10{background-color:color-mix(in oklab,var(--color-accent) 10%,transparent)}}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black) 80%,transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/10{background-color:color-mix(in oklab,var(--color-blue-500) 10%,transparent)}}.bg-border{background-color:var(--color-border)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/10{background-color:color-mix(in oklab,var(--color-green-500) 10%,transparent)}}.bg-muted,.bg-muted\/50{background-color:var(--color-muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--color-muted) 50%,transparent)}}.bg-panel{background-color:var(--color-panel)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/95{background-color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.bg-white\/95{background-color:color-mix(in oklab,var(--color-white) 95%,transparent)}}.bg-yellow-50{background-color:var(--color-yellow-50)}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.p-\[1px\]{padding:1px}.\!px-2{padding-inline:calc(var(--spacing) * 2)!important}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-8{padding-inline:calc(var(--spacing) * 8)}.\!py-1{padding-block:var(--spacing)!important}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-0{padding-top:0}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-\[90px\]{padding-bottom:90px}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-12{padding-left:calc(var(--spacing) * 12)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.\!text-xs{font-size:var(--text-xs)!important;line-height:var(--tw-leading,var(--text-xs--line-height))!important}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-nowrap{white-space:nowrap}.text-\[\#4f5b6b\]{color:#4f5b6b}.text-\[\#111827\]{color:#111827}.text-\[\#b91c1c\]{color:#b91c1c}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-amber-950{color:var(--color-amber-950)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-current{color:currentColor}.text-emerald-700{color:var(--color-emerald-700)}.text-emerald-800{color:var(--color-emerald-800)}.text-emerald-950{color:var(--color-emerald-950)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-muted{color:var(--color-muted)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-red-900{color:var(--color-red-900)}.text-white{color:var(--color-white)}.text-yellow-800{color:var(--color-yellow-800)}.text-yellow-900{color:var(--color-yellow-900)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_-4px_20px_rgba\(0\,0\,0\,0\.06\)\]{--tw-shadow:0 -4px 20px var(--tw-shadow-color,#0000000f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}@media(hover:hover){.group-hover\:h-\[60px\]:is(:where(.group):hover *){height:60px}.group-hover\:w-\[130px\]:is(:where(.group):hover *){width:130px}.group-hover\:max-w-\[200px\]:is(:where(.group):hover *){max-width:200px}.group-hover\:rounded-2xl:is(:where(.group):hover *){border-radius:var(--radius-2xl)}.group-hover\:border-accent:is(:where(.group):hover *){border-color:var(--color-accent)}.group-hover\:bg-accent:is(:where(.group):hover *){background-color:var(--color-accent)}.group-hover\:text-xl:is(:where(.group):hover *){font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}@media(hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-black\/5:hover{background-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-black\/5:hover{background-color:color-mix(in oklab,var(--color-black) 5%,transparent)}}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-muted\/50:hover{background-color:var(--color-muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--color-muted) 50%,transparent)}}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:border-accent:focus{border-color:var(--color-accent)}.focus\:bg-accent:focus{background-color:var(--color-accent)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:bg-gray-100:active{background-color:var(--color-gray-100)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--color-accent)}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--color-muted)}@media(min-width:40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:justify-end{justify-content:flex-end}:where(.sm\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius-lg)}.sm\:text-left{text-align:left}}@media(min-width:48rem){.md\:sticky{position:sticky}.md\:top-0{top:0}.md\:col-span-2{grid-column:span 2/span 2}.md\:block{display:block}.md\:flex{display:flex}.md\:grid{display:grid}.md\:hidden{display:none}.md\:h-auto{height:auto}.md\:h-screen{height:100vh}.md\:w-\[82px\]{width:82px}.md\:w-auto{width:auto}.md\:w-full{width:100%}.md\:max-w-0{max-width:0}.md\:min-w-\[22px\]{min-width:22px}.md\:-translate-x-2{--tw-translate-x:calc(var(--spacing) * -2);translate:var(--tw-translate-x) var(--tw-translate-y)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-\[82px_1fr\]{grid-template-columns:82px 1fr}.md\:flex-col{flex-direction:column}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:items-start{align-items:flex-start}.md\:justify-between{justify-content:space-between}.md\:justify-end{justify-content:flex-end}.md\:justify-start{justify-content:flex-start}.md\:gap-3{gap:calc(var(--spacing) * 3)}.md\:gap-4{gap:calc(var(--spacing) * 4)}.md\:overflow-hidden{overflow:hidden}.md\:overflow-visible{overflow:visible}.md\:rounded-none{border-radius:0}.md\:border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.md\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.md\:border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.md\:border-none{--tw-border-style:none;border-style:none}.md\:border-\[\#111827\]{border-color:#111827}.md\:bg-\[\#111827\]{background-color:#111827}.md\:bg-transparent{background-color:#0000}.md\:p-0{padding:0}.md\:p-6{padding:calc(var(--spacing) * 6)}.md\:p-8{padding:calc(var(--spacing) * 8)}.md\:px-4{padding-inline:calc(var(--spacing) * 4)}.md\:px-\[11px\]{padding-inline:11px}.md\:py-3{padding-block:calc(var(--spacing) * 3)}.md\:py-\[18px\]{padding-block:18px}.md\:pb-8{padding-bottom:calc(var(--spacing) * 8)}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.md\:whitespace-nowrap{white-space:nowrap}.md\:text-white{color:var(--color-white)}.md\:opacity-0{opacity:0}.md\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.md\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.md\:duration-200{--tw-duration:.2s;transition-duration:.2s}}@media(hover:hover){@media(min-width:48rem){.group-hover\:md\:max-w-\[150px\]:is(:where(.group):hover *){max-width:150px}.group-hover\:md\:translate-x-0:is(:where(.group):hover *){--tw-translate-x:0;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:md\:opacity-100:is(:where(.group):hover *){opacity:1}.hover\:md\:w-\[260px\]:hover{width:260px}}}@media(min-width:48rem){@media(hover:hover){.md\:hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}}}@media(prefers-color-scheme:dark){.dark\:text-white{color:var(--color-white)}@media(hover:hover){.dark\:hover\:bg-white\/5:hover{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-white\/5:hover{background-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}:root{color-scheme:light;--bg:#eef1f4;--sidebar:#fff;--panel:#fff;--panel-soft:#f6f7f9;--surface-soft:#e9edf2;--border:#d6dce3;--border-strong:#aeb7c2;--text:#111827;--muted:#4f5b6b;--label:#344054;--accent:#111827;--accent-strong:#000;--accent-deep:#0f172a;--accent-text:#fff;--positive-text:#1f2937;--danger-text:#344054;--shadow:#0f172a1a;--shadow-soft:0 10px 26px #0f172a14;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,system-ui,sans-serif}:root[data-theme=light]{color-scheme:light;--bg:#eef1f4;--sidebar:#fff;--panel:#fff;--panel-soft:#f6f7f9;--surface-soft:#e9edf2;--border:#d6dce3;--border-strong:#aeb7c2;--text:#111827;--muted:#4f5b6b;--label:#344054;--accent:#111827;--accent-strong:#000;--accent-deep:#0f172a;--accent-text:#fff;--positive-text:#1f2937;--danger-text:#344054;--shadow:#0f172a1a;--shadow-soft:0 10px 26px #0f172a14}*{box-sizing:border-box}body{background:var(--bg);min-width:1120px;min-height:100vh;margin:0}button{font:inherit}.app-shell{background:0 0;grid-template-columns:82px 1fr;min-height:100vh;display:grid}.sidebar{z-index:20;border-right:1px solid var(--border);overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#11182742 transparent;background:#fffffff5;width:82px;height:100vh;padding:18px 11px;transition:width .18s,box-shadow .18s,padding .18s;position:sticky;top:0;overflow:hidden auto}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb{background:#11182742;border-radius:999px}.sidebar:hover,.sidebar:focus-within{width:260px;padding:18px 15px;box-shadow:18px 0 36px #0f172a1f}.brand{border-bottom:1px solid var(--border);justify-items:center;gap:12px;min-height:108px;margin-bottom:18px;padding:10px 0 24px;display:grid}.brand-avatar{background:var(--accent);width:46px;height:46px;color:var(--accent-text);border-radius:999px;place-items:center;font-size:16px;font-weight:800;transition:width .18s,height .18s,font-size .18s;display:grid}.sidebar:hover .brand-avatar,.sidebar:focus-within .brand-avatar{width:70px;height:70px;font-size:22px}.brand-name{color:var(--text);opacity:0;text-align:center;white-space:nowrap;max-width:190px;margin:0;font-size:16px;font-weight:700;transition:opacity .16s,transform .16s;overflow:hidden;transform:translateY(-4px)}.sidebar:hover .brand-name,.sidebar:focus-within .brand-name{opacity:1;transform:translateY(0)}.nav-list{gap:10px;display:grid}.nav-item{width:100%;color:var(--muted);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:0;border-left:4px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:0;padding:12px 0;transition:background .16s,color .16s,gap .18s,padding .18s;display:flex}.nav-item span{opacity:0;max-width:0;transition:max-width .18s,opacity .16s,transform .16s;display:inline-block;overflow:hidden;transform:translate(-6px)}.sidebar:hover .nav-item,.sidebar:focus-within .nav-item{justify-content:flex-start;gap:14px;padding:12px 16px}.sidebar:hover .nav-item span,.sidebar:focus-within .nav-item span{opacity:1;max-width:170px;transform:translate(0)}.nav-item.active{border-left-color:var(--accent);background:var(--accent);color:var(--accent-text);font-weight:700}.content{min-width:0;padding:28px;overflow:auto}.page-header{border:1px solid var(--border);box-shadow:var(--shadow-soft);color:var(--text);background:#ffffffeb;border-radius:8px;justify-content:space-between;align-items:center;gap:20px;padding:20px;display:flex}.eyebrow{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:800}.page-title{color:var(--text);margin:0;font-size:30px;font-weight:800}.status-pill{color:var(--positive-text);white-space:nowrap;background:#11182714;border:1px solid #1118272e;border-radius:999px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:800;display:inline-flex}.status-pill.subtle{border-color:var(--border);background:var(--panel-soft);color:var(--muted)}.module-icon{width:54px;height:54px;color:var(--accent-strong);background:#1118270f;border:1px solid #11182729;border-radius:16px;place-items:center;display:grid}.divider{background:var(--border);height:1px;margin:20px 0}.academy-command-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.command-card{border:1px solid var(--border);background:var(--panel);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:16px;display:grid;box-shadow:0 10px 28px #0f172a0f}.command-card svg{color:var(--accent)}.command-card span,.command-card small{color:var(--muted);font-size:12px;font-weight:700;display:block}.command-card strong{color:var(--text);font-size:26px;line-height:1.1;display:block}.command-card.strong{background:#111827;border-color:#111827}.command-card.strong svg,.command-card.strong strong,.command-card.strong span,.command-card.strong small{color:#fff}.command-card.alert{background:#1118270a;border-color:#11182729}.belt-chip{border:1px solid var(--border);color:#1a1a1a;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;width:115px;padding:4px 10px;font-size:.8rem;font-weight:700;display:inline-flex;box-shadow:0 1px 2px #0000000d}.belt-blanco{background:#fff}.belt-punta-amarilla{background:linear-gradient(90deg,#fff 50%,gold 50%)}.belt-amarillo{background:gold}.belt-punta-verde{color:#1a1a1a;background:linear-gradient(90deg,gold 50%,#228b22 50%)}.belt-verde{color:#fff;text-shadow:0 1px 1px #00000080;background:#228b22}.belt-punta-azul{color:#fff;text-shadow:0 1px 1px #00000080;background:linear-gradient(90deg,#228b22 50%,#0000cd 50%)}.belt-azul{color:#fff;text-shadow:0 1px 1px #00000080;background:#0000cd}.belt-punta-roja{color:#fff;text-shadow:0 1px 1px #00000080;background:linear-gradient(90deg,#0000cd 50%,#dc143c 50%)}.belt-rojo{color:#fff;text-shadow:0 1px 1px #00000080;background:#dc143c}.belt-punta-negra{color:#fff;text-shadow:0 1px 1px #00000080;background:linear-gradient(90deg,#dc143c 50%,#1a1a1a 50%)}.belt-primer-dan{color:#fff;text-shadow:0 1px 1px #00000080;background:linear-gradient(90deg,#1a1a1a 80%,#fff 80% 85%,#1a1a1a 85%)}.belt-segundo-dan{color:#fff;text-shadow:0 1px 1px #00000080;background:linear-gradient(90deg,#1a1a1a 75%,#fff 75% 80%,#1a1a1a 80% 83%,#fff 83% 88%,#1a1a1a 88%)}.belt-tercer-dan{color:#fff;text-shadow:0 1px 1px #00000080;background:linear-gradient(90deg,#1a1a1a 70%,#fff 70% 75%,#1a1a1a 75% 78%,#fff 78% 83%,#1a1a1a 83% 86%,#fff 86% 91%,#1a1a1a 91%)}.belt-cuarto-dan{color:#fff;text-shadow:0 1px 1px #00000080;background:linear-gradient(90deg,#1a1a1a 65%,#fff 65% 70%,#1a1a1a 70% 73%,#fff 73% 78%,#1a1a1a 78% 81%,#fff 81% 86%,#1a1a1a 86% 89%,#fff 89% 94%,#1a1a1a 94%)}.portal-login-shell{place-items:center;min-height:calc(100vh - 120px);padding:24px;display:grid}.portal-login-panel{border:1px solid var(--border);background:var(--panel);width:min(920px,100%);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);display:grid;overflow:hidden}.portal-login-brand{color:#fff;background:linear-gradient(135deg,#111827,#1f2937 56%,#111827);align-content:center;gap:18px;padding:34px;display:grid}.portal-login-brand span,.portal-status,.portal-logout-button{align-items:center;gap:8px;display:inline-flex}.portal-login-brand span{border:1px solid #ffffff47;border-radius:999px;width:-moz-fit-content;width:fit-content;padding:8px 12px;font-size:13px;font-weight:800}.portal-login-brand h1{color:#fff;margin:0;font-size:38px;line-height:1.02}.portal-login-brand p{color:#ffffffc2;max-width:420px;margin:0;line-height:1.6}.portal-login-form{align-content:center;gap:16px;padding:34px;display:grid}.portal-header{background:linear-gradient(135deg,#111827,#111827)}.portal-header-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.portal-header-meta>span:not(.belt-chip){color:#ffffffd1;border:1px solid #ffffff38;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.portal-status-group{align-items:center;gap:10px;display:flex}.portal-status{color:#fff;border:1px solid #ffffff3d;border-radius:999px;padding:10px 14px;font-size:13px;font-weight:800}.portal-logout-button{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff3d;border-radius:999px;padding:10px 14px;font-weight:800}.portal-app-layout{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:18px;display:grid}.portal-nav-panel{border:1px solid var(--border);background:var(--panel);border-radius:8px;gap:6px;padding:10px;display:grid;position:sticky;top:18px}.portal-nav-panel button{width:100%;color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:11px 12px;font-weight:800;display:flex}.portal-nav-panel button.active,.portal-nav-panel button:hover{color:var(--accent);background:#11182714}.portal-content{gap:16px;min-width:0;display:grid}.portal-hero-v2{grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:16px;display:grid}.portal-summary-card,.portal-payment-panel,.portal-action-card,.portal-detail-card,.portal-list-card,.portal-upload-card{border:1px solid var(--border);background:var(--panel);border-radius:8px;box-shadow:0 14px 36px #17110f14}.portal-summary-card{background:linear-gradient(135deg,#111827f0,#1f2937d1),var(--panel);color:#fff;gap:14px;padding:22px;display:grid}.portal-card-kicker{color:#ffffffad;text-transform:uppercase;font-size:12px;font-weight:900}.portal-summary-card h2{color:#fff;margin:0;font-size:30px}.portal-summary-card p{color:#ffffffc2;margin:0}.portal-progress-track{background:#ffffff2e;border-radius:999px;width:100%;height:9px;overflow:hidden}.portal-progress-track span{border-radius:inherit;background:#d1d5db;height:100%;display:block}.portal-payment-panel{align-content:center;gap:8px;padding:22px;display:grid}.portal-payment-panel svg,.portal-action-card svg,.portal-detail-card svg,.portal-list-item svg,.portal-notification-item svg,.portal-upload-card svg{color:var(--accent)}.portal-payment-panel span,.portal-payment-panel small{color:var(--muted);font-weight:800}.portal-payment-panel strong{color:var(--text);font-size:32px;line-height:1}.portal-grid,.portal-section-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.portal-action-card-wide{grid-column:1/-1}.portal-action-card{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;display:grid}.portal-action-card strong,.portal-action-card span,.portal-detail-card span,.portal-detail-card small{display:block}.portal-action-card span,.portal-detail-card span,.portal-detail-card small,.portal-list-item span,.portal-notification-item span,.portal-notification-item small{color:var(--muted);font-size:13px}.portal-detail-card{align-content:start;gap:8px;padding:16px;display:grid}.portal-detail-card h3,.portal-list-card h3,.portal-upload-card h3{color:var(--accent);margin:0;font-size:17px}.portal-detail-card span{font-weight:800}.portal-list-card,.portal-upload-card{align-content:start;gap:12px;padding:16px;display:grid}.portal-list-item,.portal-notification-item{border-top:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding-top:12px;display:grid}.portal-list-item b,.portal-notification-item b{color:var(--text);font-size:13px}.portal-notification-item{align-items:start}.portal-badge-new{background:#11182714;border-radius:999px;padding:5px 9px;color:var(--accent)!important}.portal-upload-card p{color:var(--muted);margin:0;line-height:1.5}.portal-upload-dropzone{background:var(--panel-soft);min-height:140px;color:var(--muted);cursor:pointer;text-align:center;border:1px dashed #11182747;border-radius:8px;place-items:center;gap:8px;padding:18px;font-weight:800;display:grid}.portal-upload-dropzone input{display:none}.portal-upload-status{color:var(--muted);align-items:center;gap:8px;margin:0;font-size:13px;font-weight:800;display:flex}.learning-hero{grid-template-columns:minmax(0,1.45fr) minmax(280px,.85fr);gap:16px;display:grid}.learning-feature-card,.learning-next-card,.learning-toolbar,.learning-card{border:1px solid var(--border);background:var(--panel);border-radius:8px;box-shadow:0 14px 36px #17110f14}.learning-feature-card{background:linear-gradient(135deg,#111827f0,#1f2937db),var(--panel);color:#fff;gap:14px;padding:22px;display:grid}.learning-feature-card h2{color:#fff;margin:0;font-size:30px}.learning-feature-card p{color:#ffffffc2;max-width:640px;margin:0;line-height:1.55}.learning-progress{gap:8px;max-width:460px;display:grid}.learning-progress span{color:#ffffffb8;text-transform:uppercase;font-size:12px;font-weight:900}.learning-progress strong{color:#fff;font-size:26px}.learning-next-card{align-content:start;gap:10px;padding:20px;display:grid}.learning-next-card svg{color:var(--accent)}.learning-next-card span,.learning-next-card small{color:var(--muted);font-weight:800}.learning-next-card strong{color:var(--text);font-size:20px;line-height:1.2}.learning-toolbar{justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.learning-toolbar h3{color:var(--text);margin:0;font-size:18px}.learning-filter{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.learning-filter button{border:1px solid var(--border);background:var(--panel-soft);color:var(--muted);cursor:pointer;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:900}.learning-filter button.active,.learning-filter button:hover{color:var(--accent);background:#11182714;border-color:#11182738}.learning-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.learning-card{gap:12px;padding:16px;display:grid;position:relative;overflow:hidden}.learning-card.recommended{border-color:#11182738}.learning-card.recommended:before{content:"Recomendado";color:var(--accent);background:#11182714;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:900;position:absolute;top:12px;right:12px}.learning-card-top,.learning-meta-row,.learning-card-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.learning-card-top{padding-right:108px}.learning-card-top span,.learning-meta-row span{background:var(--panel-soft);color:var(--muted);border-radius:999px;padding:6px 9px;font-size:12px;font-weight:900}.learning-card-top .learning-format{color:var(--accent);background:#11182714}.learning-card h3{color:var(--text);margin:0;font-size:18px;line-height:1.25}.learning-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.learning-card-progress{gap:7px;display:grid}.learning-card-progress small{color:var(--muted);font-size:12px;font-weight:800}.portal-learning-status{border:1px solid var(--border);background:var(--panel-soft);color:var(--muted);border-radius:8px;margin:0;padding:12px;font-size:13px;font-weight:800}.events-portal-hero{grid-template-columns:minmax(0,1.45fr) minmax(280px,.85fr);gap:16px;display:grid}.events-portal-feature,.events-portal-summary,.event-registration-card{border:1px solid var(--border);background:var(--panel);border-radius:8px;box-shadow:0 14px 36px #17110f14}.events-portal-feature{background:linear-gradient(135deg,#111827f0,#1f2937cc),var(--panel);color:#fff;gap:14px;padding:22px;display:grid}.events-portal-feature h2{color:#fff;margin:0;font-size:30px}.events-portal-feature p{color:#ffffffc2;max-width:680px;margin:0;line-height:1.55}.events-portal-summary{align-content:start;gap:10px;padding:20px;display:grid}.events-portal-summary svg,.event-info-list svg,.event-requirements svg{color:var(--accent)}.events-portal-summary span,.events-portal-summary small{color:var(--muted);font-weight:800}.events-portal-summary strong{color:var(--text);font-size:20px;line-height:1.2}.event-registration-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.event-registration-card{gap:14px;padding:16px;display:grid}.event-card-header,.event-card-actions,.event-warning-row,.event-info-list span,.event-requirements span{align-items:center;gap:8px;display:flex}.event-card-header{justify-content:space-between}.event-registration-card h3{color:var(--text);margin:0;font-size:19px;line-height:1.25}.event-type-badge,.event-status-badge,.event-warning-row span{border-radius:999px;padding:6px 9px;font-size:12px;font-weight:900}.event-type-badge{color:var(--accent);background:#11182714}.event-type-torneo{background:#11182714}.event-status-badge{background:var(--panel-soft);color:var(--muted)}.event-status-badge.active{color:var(--positive-text);background:#11182714}.event-info-list,.event-requirements{gap:8px;display:grid}.event-info-list span,.event-requirements span{color:var(--muted);font-size:13px;font-weight:800}.event-requirements{border-top:1px solid var(--border);padding-top:12px}.event-requirements strong{color:var(--text);font-size:13px}.event-warning-row{flex-wrap:wrap}.event-warning-row span{color:var(--accent);background:#11182714}.event-card-actions{border-top:1px solid var(--border);flex-wrap:wrap;padding-top:12px}.section-title{color:var(--accent);margin:0 0 12px;font-size:18px;font-weight:800}.hero-panel{border:1px solid var(--border);background:radial-gradient(circle at top left,#11182714,transparent 32%),linear-gradient(135deg,var(--panel),var(--panel-soft));border-radius:18px;gap:12px;margin-bottom:20px;padding:28px;display:grid}.hero-panel h2{color:var(--text);margin:0;font-size:24px}.hero-panel p{max-width:760px;color:var(--muted);margin:0;line-height:1.6}.feature-grid{grid-template-columns:repeat(3,minmax(220px,1fr));gap:16px;display:grid}.feature-card{border:1px solid var(--border);background:var(--panel);border-radius:14px;align-items:flex-start;gap:12px;padding:18px;display:flex}.feature-card p{color:var(--text);margin:0;line-height:1.45}.feature-dot{background:var(--accent-strong);border-radius:999px;flex:none;width:10px;height:10px;margin-top:7px;box-shadow:0 0 0 5px #1118270f}.metric-grid{grid-template-columns:repeat(3,minmax(220px,1fr));gap:16px;margin-bottom:24px;display:grid}.metric-card{border:1px solid var(--border);background:radial-gradient(circle at top right,#1118270f,transparent 32%),var(--panel);border-radius:14px;padding:18px;position:relative;overflow:hidden}.metric-card:before{content:"";background:var(--accent-strong);width:4px;position:absolute;inset:0 auto 0 0}.metric-label,.metric-foot{color:var(--muted);font-size:13px;display:block}.metric-value{color:var(--text);margin:8px 0 4px;font-size:32px;line-height:1;display:block}.top-grid{grid-template-columns:330px 330px 330px;gap:20px;padding-bottom:4px;display:grid;overflow-x:auto}.panel{border:1px solid var(--border);background:linear-gradient(180deg,#ffffff06,transparent),var(--panel);box-shadow:0 14px 40px var(--shadow);border-radius:10px;padding:15px}.panel-title{color:var(--accent);margin:0 0 12px;font-size:18px;font-weight:800}.muted{color:var(--muted)}.calendar{gap:7px;display:grid}.calendar-header{color:var(--accent);justify-content:space-between;align-items:center;font-weight:800;display:flex}.calendar-nav,.calendar-title{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0;padding:4px 8px;font-weight:800}.calendar-nav{border:1px solid var(--border);border-radius:999px;font-size:1.2rem;line-height:1}.calendar-title:hover,.calendar-nav:hover{color:var(--accent-strong)}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-cell{border:1px solid var(--border);min-height:34px;color:var(--text);cursor:pointer;font:inherit;background:0 0;border-radius:6px;place-items:center;font-size:12px;display:grid}.calendar-cell.muted-cell{color:var(--muted);cursor:default}.calendar-cell:disabled{cursor:default}.calendar-cell.calendar-weekday{color:var(--muted);border-color:#0000;font-size:.78rem;font-weight:800}.calendar-cell.today:not(.selected){border-color:var(--accent-strong)}.calendar-cell.selected{border-color:var(--accent-strong);background:var(--accent-strong);color:var(--bg);font-weight:800}.calendar-cell.has-reminder:not(.selected){border-color:var(--accent);box-shadow:inset 0 -3px 0 var(--accent);color:var(--accent-strong);font-weight:800}.form-stack{gap:10px;display:grid}.reminder-list{gap:10px;max-height:190px;padding-right:4px;display:grid;overflow-y:auto}.reminder-item{background:var(--surface-soft);border:1px solid var(--border);border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.reminder-item div{gap:4px;display:grid}.reminder-item span{color:var(--text)}.reminder-item small{color:var(--muted)}.field{border:1px solid var(--accent);background:var(--panel-soft);width:100%;color:var(--text);border-radius:8px;padding:12px}.field-label{color:var(--label);gap:7px;font-size:13px;font-weight:700;display:grid}.textarea{resize:vertical;min-height:86px}.textarea-field{resize:vertical;min-height:118px}.two-col{grid-template-columns:1fr 1fr;gap:10px;display:grid}.time-select-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.service-picker{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.selected-services{flex-wrap:wrap;gap:8px;display:flex}.service-chip{border:1px solid var(--border);color:var(--accent-strong);cursor:pointer;background:#1118270f;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:12px;font-weight:800;display:inline-flex}.primary-button{background:var(--accent);color:var(--accent-text);cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px 14px;font-weight:800;display:inline-flex}.ghost-button{border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;display:inline-flex}.text-link-button{color:var(--accent);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;justify-self:start;padding:4px 0;font-weight:800;text-decoration:underline}.inline-form-section{border:1px solid var(--border);background:var(--panel-soft);border-radius:8px;gap:10px;padding:12px;display:grid}.workbench-grid{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:30px;display:grid}.form-panel{position:sticky;top:0}.form-panel-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.form-panel-header .panel-title{margin:0}.preview-card{border:1px solid var(--border);background:var(--panel-soft);border-radius:10px;gap:4px;padding:12px;display:grid}.preview-card strong{color:var(--accent)}.preview-card span{color:var(--muted);font-size:13px}.check-inline{border:1px solid var(--border);background:var(--panel-soft);color:var(--text);border-radius:8px;align-items:center;gap:9px;padding:11px 12px;font-size:13px;font-weight:700;display:flex}.check-inline input{accent-color:var(--accent)}.agenda-panel{min-width:0}.calendar-integration-panel{border:1px solid var(--border);background:var(--panel);border-radius:8px;gap:14px;margin-bottom:14px;padding:16px;display:grid}.calendar-integration-panel h3{color:var(--accent);margin:0 0 4px;font-size:20px}.calendar-integration-panel span{color:var(--muted);font-size:13px;font-weight:800}.calendar-integration-actions{flex-wrap:wrap;gap:10px;display:flex}.list-panel{min-width:0}.panel-toolbar{border:1px solid var(--border);background:var(--panel);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding:16px;display:flex}.compact{margin:-6px 0 0;font-size:13px}.toolbar-actions{flex-wrap:wrap;gap:10px;display:flex}.search-row{grid-template-columns:repeat(2,minmax(180px,1fr));gap:10px;margin-bottom:16px;display:grid}.search-row .primary-button{justify-content:center;align-items:center;gap:8px;display:inline-flex}.compact-filter{width:220px}.table-card{border:1px solid var(--border);background:var(--panel);border-radius:14px;overflow:auto hidden}.table-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.table-header h3{color:var(--accent);margin:0}.table-header span{color:var(--muted);font-size:13px}.data-table{min-width:850px}.data-row{border-bottom:1px solid var(--border);grid-template-columns:60px 1.4fr 1fr 90px 1.4fr 60px;align-items:center;gap:12px;padding:12px 16px;display:grid}.maestros-table{min-width:980px}.maestros-row{grid-template-columns:110px 1.4fr 100px 110px 90px 1.3fr 90px 70px}.data-row:last-child{border-bottom:0}.data-head{background:var(--panel-soft);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:900}.data-head span{text-align:center}.clients-row{grid-template-columns:60px 1.4fr 1.1fr 130px 1.1fr 60px}.data-row span,.data-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.positive{color:var(--positive-text);font-weight:800}.danger-text{color:var(--danger-text)}.icon-button{border:1px solid var(--border);background:var(--panel-soft);width:34px;height:34px;color:var(--accent);cursor:pointer;border-radius:8px;place-items:center;display:grid}.transaction-panel{gap:16px;margin-bottom:24px;display:grid}.transaction-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.transaction-header .panel-title{margin-bottom:4px}.transaction-grid{grid-template-columns:1fr 1fr 1fr 1fr;align-items:end;gap:14px;display:grid}.wide-field{grid-column:span 2}.transaction-actions{border-top:1px solid var(--border);grid-column:1/-1;justify-content:flex-start;align-items:center;gap:14px;padding-top:14px;display:flex}.transaction-status{margin:0}.compact-action-button{letter-spacing:.01em;border-radius:999px;flex:none;width:auto;min-height:38px;padding:9px 13px;font-size:13px}.date-field{width:150px}.month-field{width:170px}.payment-method-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:18px;margin-bottom:24px;display:grid}.payment-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-link-preview{border:1px solid var(--border);background:var(--panel-soft);border-radius:8px;gap:6px;padding:12px;display:grid}.payment-link-preview span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.payment-link-preview strong{overflow-wrap:anywhere;color:var(--text);font-size:13px}.smart-fees-panel{border:1px solid var(--border);background:var(--panel);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;padding:16px;display:flex}.smart-fees-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.compact-select{width:170px;min-height:38px;padding:9px 11px}.cuotas-table{min-width:980px}.cuotas-row{grid-template-columns:1.3fr 130px 110px 110px 130px 1.4fr}.smart-cuotas-table{min-width:980px}.smart-cuotas-row{grid-template-columns:1.25fr 130px 110px 110px 110px 110px}.fee-status{border-radius:999px;justify-content:center;align-items:center;width:90px;padding:6px 10px;font-size:12px;font-weight:900;display:inline-flex}.fee-pagada,.fee-becada{color:var(--positive-text);background:#11182714}.fee-pendiente,.fee-parcial{color:var(--accent);background:#11182714}.fee-vencida{color:var(--danger-text);background:#11182714}.fee-inline-actions{align-items:center;gap:6px;display:flex}.icon-small-button{border:1px solid var(--border);background:var(--panel-soft);width:32px;height:32px;color:var(--accent);cursor:pointer;border-radius:8px;place-items:center;display:inline-grid}.icon-small-button:disabled{cursor:not-allowed;opacity:.45}.communications-layout{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:18px;margin-bottom:24px;display:grid}.communications-compose-panel,.communications-history-panel{align-content:start;gap:16px;display:grid}.communications-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:14px;display:grid}.communications-list{gap:10px;display:grid}.communication-item{border:1px solid var(--border);background:var(--panel-soft);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;padding:12px;display:grid}.communication-icon{width:34px;height:34px;color:var(--accent);background:#11182714;border-radius:8px;place-items:center;display:grid}.communication-item strong,.communication-item span,.communication-item small{display:block}.communication-item strong{color:var(--text);font-size:14px}.communication-item span,.communication-item small{color:var(--muted);font-size:12px;line-height:1.5}.document-review-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.document-review-card{border:1px solid var(--border);background:var(--panel);border-radius:8px;gap:14px;padding:16px;display:grid}.document-review-header,.document-review-actions{align-items:center;gap:8px;display:flex}.document-review-header{justify-content:space-between}.document-review-header svg{color:var(--accent)}.document-review-card h3{color:var(--text);margin:0;font-size:18px}.document-review-meta{gap:7px;display:grid}.document-review-meta span{color:var(--muted);font-size:13px;font-weight:700}.document-review-actions{border-top:1px solid var(--border);flex-wrap:wrap;padding-top:12px}.document-status{border-radius:999px;align-items:center;width:-moz-fit-content;width:fit-content;padding:6px 10px;font-size:12px;font-weight:900;display:inline-flex}.document-pendiente{color:var(--accent);background:#11182714}.document-aprobado{color:var(--positive-text);background:#11182714}.document-rechazado,.document-vencido,.document-no-cargado{color:var(--danger-text);background:#11182714}.caja-table{min-width:1080px}.caja-row{grid-template-columns:155px 90px 130px 150px 120px 110px 1.5fr}.alert-panel{border:1px solid var(--border);background:var(--panel);border-radius:14px;margin-bottom:18px;padding:16px}.alert-list{gap:10px;display:grid}.stock-alert{color:var(--danger-text);background:#1118270f;border:1px solid #11182738;border-radius:10px;align-items:center;gap:10px;padding:11px 12px;font-weight:700;display:flex}.split-panels{grid-template-columns:1fr 1fr;gap:18px;margin-bottom:24px;display:grid}.pedidos-table{min-width:940px}.pedidos-row{grid-template-columns:1.2fr 1.7fr 120px 110px 110px 110px}.stock-control-list{gap:10px;max-height:300px;padding-right:4px;display:grid;overflow-y:auto}.stock-control-item,.stock-usage-item{border:1px solid var(--border);background:var(--panel-soft);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.stock-control-item div{gap:4px;display:grid}.stock-movement-card{margin-bottom:18px}.stock-movements-table{min-width:860px}.stock-movement-row{grid-template-columns:150px 1.3fr 110px 110px 1.7fr}.stock-receive-modal{width:min(640px,96vw)}.receipt-lines{gap:12px;display:grid}.receipt-line{grid-template-columns:minmax(0,1.4fr) minmax(120px,.7fr) 38px;align-items:end;gap:10px;display:grid}.receipt-remove-button:disabled{opacity:.35;cursor:not-allowed}.receipt-add-button{justify-self:start}.state-badge.soft{color:var(--accent-strong);background:#11182714;justify-content:center;display:inline-flex}.state-badge.received{color:var(--positive-text);background:#11182714;justify-content:center;display:inline-flex}.settings-grid{grid-template-columns:repeat(2,minmax(320px,1fr));gap:18px;display:grid}.settings-wide-panel{grid-column:1/-1}.settings-panel-title-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.belt-config-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.belt-config-item{border:1px solid var(--border);background:var(--panel-soft);border-radius:8px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.belt-config-item>span{width:28px;height:28px;color:var(--accent);background:#11182714;border-radius:999px;place-items:center;font-size:12px;font-weight:900;display:grid}.template-area{min-height:150px}.settings-actions{justify-content:flex-end;margin-top:18px;display:flex}.settings-inline-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.report-grid{grid-template-columns:minmax(320px,1fr) minmax(360px,1fr);gap:18px;margin-bottom:18px;display:grid}.filter-panel{grid-template-columns:minmax(260px,1fr) auto;align-items:end;gap:16px;margin-bottom:18px;display:grid}.report-filter-actions{grid-template-columns:160px 160px auto auto auto;align-items:end;gap:10px;display:grid}.report-export-status{grid-column:1/-1}.chart-panel{min-height:310px}.bar-chart{border-bottom:1px solid var(--border);grid-template-columns:repeat(7,1fr);align-items:end;gap:12px;height:210px;margin:18px 0;display:grid}.bar-item{flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.bar-item span{background:linear-gradient(180deg,var(--accent-strong),var(--accent-deep));border-radius:999px 999px 0 0;width:100%;max-width:44px;display:block}.bar-item small{color:var(--muted);text-align:center;width:100%;margin-top:8px;font-size:.72rem}.report-table{min-width:520px}.report-row{grid-template-columns:1.5fr 110px 120px}.report-note{grid-template-columns:auto 1fr;align-items:center}.monthly-calendar{grid-template-columns:repeat(7,minmax(118px,1fr));gap:6px;display:grid}.monthly-weekday{border-bottom:2px solid var(--accent);color:var(--accent);text-transform:uppercase;padding:0 6px 6px;font-size:12px;font-weight:900}.monthly-day{background:var(--panel);border:1px solid var(--border);border-radius:8px;align-content:start;gap:5px;min-height:104px;padding:7px;display:grid}.monthly-day.is-empty{background:var(--panel-soft);border-style:dashed}.monthly-day.is-today{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.monthly-day-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.monthly-day-header strong{color:var(--text);font-size:15px}.monthly-day-header span{color:var(--muted);white-space:nowrap;font-size:11px;font-weight:800}.monthly-events{gap:4px;display:grid}.monthly-event{border:1px solid var(--border);border-left:4px solid var(--accent);background:var(--panel-soft);color:var(--text);cursor:pointer;text-align:left;border-radius:8px;gap:2px;min-height:42px;padding:5px 6px;display:grid}.monthly-event span{color:var(--accent);font-size:11px;font-weight:900}.monthly-event strong,.monthly-event small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.monthly-event strong{font-size:11px}.monthly-event small{color:var(--muted);font-size:11px}.monthly-event.state-confirmado{border-left-color:var(--positive-text)}.monthly-event.state-cancelado{border-left-color:var(--danger-text);opacity:.68}.event-file-modal{width:min(760px,96vw)}.confirm-modal{width:min(560px,96vw)}.turno-list{gap:14px;display:grid}.turno-card{border:1px solid var(--border);background:var(--panel);border-radius:12px;grid-template-columns:110px minmax(0,1fr) 180px;display:grid;overflow:hidden}.turno-time{background:var(--accent);color:var(--accent-text);align-content:center;place-items:center;gap:4px;padding:16px;display:grid}.turno-time strong{font-size:22px}.turno-time span{font-size:12px;font-weight:800}.turno-body{align-content:center;gap:5px;padding:14px 16px;display:grid}.turno-body p{color:var(--accent);margin:0}.turno-cliente{align-items:center;gap:8px;display:flex}.turno-actions{align-content:center;justify-items:end;gap:10px;padding:14px 16px;display:grid}.state-badge{background:var(--accent-strong);color:var(--accent-text);border-radius:999px;padding:7px 12px;font-size:12px;font-weight:900}.state-badge.state-confirmado{color:var(--positive-text);background:#11182714}.state-badge.state-cancelado{color:var(--danger-text);background:#11182714}.icon-actions{gap:6px;display:flex}.icon-actions button{border:1px solid var(--border);background:var(--panel-soft);width:34px;height:34px;color:var(--accent);cursor:pointer;border-radius:8px;place-items:center;display:grid}.completion-modal{width:min(720px,96vw)}.guardian-modal{width:min(860px,96vw)}.guardian-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.guardian-form-column{gap:10px;display:grid}.guardian-form-column h3{color:var(--accent);margin:0;font-size:15px}.completion-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.completion-grid .wide-field{grid-column:1/-1}.completion-service-area{gap:10px;display:grid}.invoice-check{border:1px solid var(--border);background:var(--panel-soft);border-radius:12px;padding:12px}.completion-invoice-check{margin-top:14px}.completion-stock-panel{border-top:1px solid var(--border);gap:12px;margin-top:16px;padding-top:16px;display:grid}.completion-stock-panel h3{color:var(--accent);margin:0;font-size:15px}.stock-usage-grid{grid-template-columns:minmax(0,1fr) 140px auto;align-items:end;gap:10px;display:grid}.stock-usage-list{gap:8px;display:grid}.client-file-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px;display:grid}.profile-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px;margin-bottom:18px;padding-bottom:10px;display:flex}.profile-tabs button{border:1px solid var(--border);background:var(--panel-soft);color:var(--muted);cursor:pointer;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:900}.profile-tabs button.active{border-color:var(--accent);background:var(--accent);color:var(--accent-text)}.profile-status-card{background:#1118270a;border:1px solid #11182724;border-radius:10px;align-content:start;gap:12px;padding:14px;display:grid}.profile-status-card strong{color:var(--accent)}.profile-status-grid{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;display:grid}.profile-status-grid span{color:var(--muted)}.profile-status-grid b{color:var(--text);text-align:right}.profile-payment-amount{color:var(--text);font-size:34px;font-weight:900;line-height:1}.client-file-grid .preview-card{align-content:start;gap:8px;display:grid}.subtle-small-button{border:1px solid var(--border);color:var(--accent-strong);cursor:pointer;background:#1118270d;border-radius:999px;justify-content:center;justify-self:start;align-items:center;margin-top:6px;padding:7px 12px;font-size:.78rem;font-weight:800;display:inline-flex}.subtle-small-button:hover{border-color:var(--accent);background:#11182714}.client-history-card{max-height:360px}.client-history-table{min-width:820px}.client-history-row{grid-template-columns:120px 1.4fr 100px 1.8fr}.empty-hint{color:var(--muted);align-items:center;gap:8px;margin-top:16px;font-size:13px;display:flex}.agenda-list{gap:10px;display:grid}.agenda-item{border:1px solid var(--border);background:var(--panel);border-radius:8px;align-items:center;gap:10px;padding:12px;display:flex}.agenda-time{color:var(--accent);background:#11182714;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:800;display:inline-flex}.sidebar,.page-header,.panel,.metric-card,.command-card,.form-panel,.list-panel,.transaction-panel,.smart-fees-panel,.communications-compose-panel,.communications-history-panel,.document-review-card,.alert-panel,.filter-panel,.chart-panel,.settings-wide-panel,.portal-login-panel,.portal-nav-panel,.portal-payment-panel,.portal-action-card,.portal-detail-card,.portal-list-card,.portal-upload-card,.learning-next-card,.learning-toolbar,.learning-card,.calendar-integration-panel,.profile-status-card,.completion-stock-panel{border-color:var(--border);box-shadow:var(--shadow-soft)}.panel,.metric-card,.command-card,.form-panel,.list-panel,.transaction-panel,.smart-fees-panel,.communications-compose-panel,.communications-history-panel,.document-review-card,.alert-panel,.filter-panel,.chart-panel,.settings-wide-panel,.portal-payment-panel,.portal-action-card,.portal-detail-card,.portal-list-card,.portal-upload-card,.learning-next-card,.learning-toolbar,.learning-card,.calendar-integration-panel,.profile-status-card{background:var(--panel)}.hero-panel,.metric-card{background:var(--panel);border-radius:8px}.hero-panel{box-shadow:var(--shadow-soft)}.page-header,.portal-header{color:var(--text);background:#fffffff0}.portal-header-meta>span:not(.belt-chip),.portal-status{border-color:var(--border);background:var(--panel-soft);color:var(--muted)}.portal-logout-button{border-color:var(--border);background:var(--text);color:var(--accent-text)}.portal-login-brand,.portal-summary-card,.learning-feature-card,.events-portal-feature{background:linear-gradient(135deg,#0b0f17,#1f2937 58%,#111827),var(--accent);color:var(--accent-text)}.portal-login-brand p,.portal-summary-card p,.learning-feature-card p,.events-portal-feature p{color:#ffffffbd}.portal-card-kicker,.learning-progress span{color:#ffffffa8}.portal-progress-track{background:#ffffff2e}.portal-progress-track span{background:#fff}.module-icon,.communication-icon,.feature-dot,.agenda-time,.state-badge.soft,.portal-badge-new,.service-chip,.subtle-small-button:hover,.fee-pendiente,.fee-parcial,.document-pendiente,.receipt-add-button,.calendar-integration-panel,.profile-status-card{border-color:var(--border);background:var(--panel-soft);color:var(--accent);box-shadow:none}.module-icon,.communication-icon{border-radius:8px}.command-card.strong,.turno-time{border-color:var(--accent);background:var(--accent);color:var(--accent-text)}.command-card.alert,.fee-vencida,.document-rechazado,.document-vencido,.document-no-cargado,.stock-alert,.state-badge.state-cancelado{border-color:var(--border-strong);background:var(--surface-soft);color:var(--danger-text)}.field,.calendar-cell,.ghost-button,.icon-small-button,.icon-actions button,.profile-tabs button,.learning-filter button,.portal-nav-panel button,.subtle-small-button{border-color:var(--border);background:var(--panel);color:var(--text)}.field{background:var(--panel);outline:none;transition:border-color .14s,box-shadow .14s,background .14s}.field:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1118271a}.primary-button,.profile-tabs button.active,.calendar-cell.selected,.state-badge{background:var(--accent);color:var(--accent-text)}.primary-button:hover,.portal-logout-button:hover{background:#374151}.ghost-button:hover,.icon-small-button:hover,.icon-actions button:hover,.portal-nav-panel button:hover,.portal-nav-panel button.active,.learning-filter button:hover,.learning-filter button.active,.profile-tabs button:hover{border-color:var(--border-strong);background:var(--surface-soft);color:var(--accent)}.portal-nav-panel button.active{box-shadow:inset 3px 0 0 var(--accent)}.panel-title,.calendar-header,.calendar-nav,.calendar-title,.portal-detail-card h3,.portal-list-card h3,.portal-upload-card h3,.guardian-form-column h3,.completion-stock-panel h3,.turno-body p,.monthly-event span,.profile-status-card strong{color:var(--text)}.command-card svg,.portal-payment-panel svg,.portal-action-card svg,.portal-detail-card svg,.portal-list-item svg,.portal-notification-item svg,.portal-upload-card svg,.learning-next-card svg,.document-review-header svg,.calendar-integration-panel svg{color:var(--accent)}.metric-card:before{background:var(--accent);width:3px}.monthly-day.is-today,.monthly-event,.calendar-cell.today:not(.selected),.calendar-cell.has-reminder:not(.selected){border-color:var(--accent);box-shadow:none}.monthly-event.state-cancelado{border-left-color:var(--border-strong)}.portal-upload-dropzone{border-color:var(--border-strong);background:var(--panel-soft)}.learning-card.recommended{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.sidebar{scrollbar-color:#ffffff52 transparent;background:#0b0f17;border-right-color:#0b0f17}.sidebar::-webkit-scrollbar-thumb{background:#ffffff52}.sidebar:hover,.sidebar:focus-within{box-shadow:18px 0 36px #00000038}.brand{border-bottom-color:#ffffff24}.brand-avatar{color:#0b0f17;background:#fff}.brand-name{color:#fff}.nav-item{color:#ffffffb8}.nav-item:hover{color:#fff;background:#ffffff14}.nav-item.active{color:#0b0f17;background:#fff;border-left-color:#fff}.page-header,.portal-header{color:#fff;background:#0b0f17;border-color:#0b0f17;justify-content:flex-start;align-items:flex-start;box-shadow:0 18px 40px #0f172a29}.page-header>:not(:first-child),.portal-header>:not(:first-child){display:none}.page-header .eyebrow,.portal-header .eyebrow{color:#ffffff9e}.page-header .page-title,.portal-header .page-title{color:#fff}.table-card,.registered-table,.client-history-table,.cuotas-table,.smart-cuotas-table,.caja-table,.pedidos-table,.stock-movements-table{border-color:var(--border)}.table-row,.communication-item,.stock-control-item,.stock-usage-item,.reminder-item,.agenda-item,.monthly-day,.monthly-event{background:var(--panel);border-color:var(--border)}.monthly-day.is-empty,.communication-item,.stock-control-item,.stock-usage-item,.reminder-item{background:var(--panel-soft)}.modal-card{border-radius:8px;box-shadow:0 28px 80px #0f172a47}.content{background:linear-gradient(180deg,#ffffff94,#eef1f400 190px),var(--bg)}.divider{background:0 0;margin:16px 0 22px}.academy-command-grid,.metric-grid,.split-panels,.report-grid,.portal-content,.learning-grid,.portal-grid,.portal-section-grid{gap:18px}.panel,.metric-card,.command-card,.form-panel,.list-panel,.transaction-panel,.smart-fees-panel,.communications-compose-panel,.communications-history-panel,.document-review-card,.alert-panel,.filter-panel,.chart-panel,.settings-wide-panel,.portal-login-panel,.portal-nav-panel,.portal-payment-panel,.portal-action-card,.portal-detail-card,.portal-list-card,.portal-upload-card,.learning-next-card,.learning-toolbar,.learning-card,.calendar-integration-panel,.profile-status-card,.completion-stock-panel,.hero-panel,.feature-card,.events-portal-summary{border:1px solid var(--border);background:#fff;box-shadow:0 1px 2px #0f172a0d,0 14px 30px #0f172a0f}.panel,.form-panel,.list-panel,.transaction-panel,.filter-panel,.chart-panel,.settings-wide-panel,.alert-panel,.smart-fees-panel{padding:18px}.command-card,.metric-card,.feature-card,.portal-action-card,.portal-detail-card,.portal-list-card,.portal-upload-card,.learning-card,.document-review-card{box-shadow:0 1px 2px #0f172a0d}.metric-card,.command-card{background:linear-gradient(#fff,#fafbfc)}.command-card.strong{background:#0b0f17;border-color:#0b0f17;box-shadow:0 14px 28px #0f172a2e}.command-card.alert,.stock-alert,.profile-status-card{background:#f1f3f6}.panel-title{margin-bottom:14px;font-size:17px}.panel-title,.metric-value,.command-card strong{color:var(--text)}.metric-label,.command-card span,.command-card small,.muted,.compact,.field-label,.portal-action-card span,.portal-detail-card span,.portal-detail-card small,.portal-list-item span,.portal-notification-item span,.portal-notification-item small,.learning-next-card span,.learning-next-card small{color:var(--muted);letter-spacing:0}.field,.ghost-button,.icon-small-button,.icon-actions button,.profile-tabs button,.learning-filter button,.portal-nav-panel button,.subtle-small-button{border-color:var(--border-strong);background:#fff}.field{min-height:42px}.field::-moz-placeholder{color:#8a94a3}.field::placeholder{color:#8a94a3}.ghost-button,.icon-small-button,.icon-actions button,.learning-filter button,.profile-tabs button{background:#f8f9fb}.ghost-button:hover,.icon-small-button:hover,.icon-actions button:hover,.learning-filter button:hover,.learning-filter button.active,.profile-tabs button:hover{background:#e9edf2;border-color:#9aa4b2}.primary-button{box-shadow:0 10px 20px #0f172a1f}.primary-button:hover{background:#1f2937}.portal-nav-panel{background:#f8f9fb}.portal-nav-panel button{background:0 0}.portal-nav-panel button:hover,.portal-nav-panel button.active{border-color:var(--border);background:#fff;box-shadow:inset 3px 0 #111827,0 1px 2px #0f172a0d}.table-header,.data-table-header,.registered-table header{border-color:var(--border);background:#f1f3f6}.data-table,.registered-table,.client-history-table,.cuotas-table,.smart-cuotas-table,.caja-table,.pedidos-table,.stock-movements-table{background:#fff}.table-row,.communication-item,.stock-control-item,.stock-usage-item,.reminder-item,.agenda-item,.monthly-day,.monthly-event,.portal-list-item,.portal-notification-item{border-color:var(--border);background:#fff}.communication-item,.stock-control-item,.stock-usage-item,.reminder-item,.monthly-day.is-empty{background:#f8f9fb}.fee-pendiente,.fee-parcial,.fee-vencida,.document-pendiente,.document-rechazado,.document-vencido,.document-no-cargado,.state-badge.state-cancelado,.portal-badge-new,.state-badge.soft,.service-chip{color:#111827;background:#e9edf2;border-color:#c7ced8}.fee-pagada,.fee-becada,.document-aprobado,.state-badge.state-confirmado,.status-pill{color:#111827;background:#f1f3f6;border-color:#c7ced8}.portal-summary-card,.learning-feature-card,.events-portal-feature,.portal-login-brand{box-shadow:0 18px 38px #0f172a2e}.portal-payment-panel strong,.events-portal-summary strong,.learning-next-card strong{color:#111827}.portal-upload-dropzone{background:#f1f3f6;border-color:#aeb7c2}.modal-backdrop{background:#0b0f17a3}.modal-card{border-color:var(--border);background:#fff}.analytics-shell{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:18px;display:grid}.analytics-filter-panel,.analytics-hero-panel,.analytics-kpi-card,.analytics-card{border:1px solid var(--border);background:#fff;border-radius:8px;box-shadow:0 1px 2px #0f172a0d,0 14px 30px #0f172a0f}.analytics-filter-panel{gap:14px;padding:16px;display:grid;position:sticky;top:18px}.analytics-filter-title{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding-bottom:14px;display:flex}.analytics-filter-title strong,.analytics-filter-title span{display:block}.analytics-filter-title strong{color:var(--text)}.analytics-filter-title span{color:var(--muted);font-size:12px;font-weight:800}.analytics-filter-actions{gap:8px;display:grid}.analytics-filter-actions .ghost-button,.analytics-filter-actions .primary-button{width:100%}.analytics-workspace{gap:18px;min-width:0;display:grid}.analytics-hero-panel{color:#fff;background:linear-gradient(135deg,#0b0f17,#1f2937);grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:18px;padding:22px;display:grid}.analytics-kicker{color:#ffffffad;text-transform:uppercase;align-items:center;gap:8px;font-size:12px;font-weight:900;display:inline-flex}.analytics-hero-panel h2{color:#fff;margin:10px 0 8px;font-size:30px}.analytics-hero-panel p{color:#ffffffbd;max-width:720px;margin:0;line-height:1.55}.analytics-hero-score{background:#ffffff14;border:1px solid #ffffff29;border-radius:8px;justify-items:end;gap:4px;padding:16px;display:grid}.analytics-hero-score span,.analytics-hero-score small{color:#ffffffad;text-transform:uppercase;font-size:12px;font-weight:900}.analytics-hero-score strong{color:#fff;font-size:42px;line-height:1}.analytics-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.analytics-kpi-card{gap:6px;padding:14px;display:grid}.analytics-kpi-card.featured{border-color:var(--border-strong);background:linear-gradient(#fff,#eef1f4)}.analytics-kpi-card span,.analytics-kpi-card small{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900}.analytics-kpi-card strong{color:var(--text);font-size:28px;line-height:1}.analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.analytics-grid.single{grid-template-columns:minmax(0,1fr)}.analytics-card{align-content:start;gap:14px;min-height:280px;padding:18px;display:grid}.analytics-card.wide{grid-column:1/-1}.premium-chart-card{min-height:470px}.analytics-card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;display:flex}.analytics-card-header h3{color:var(--text);margin:0;font-size:17px}.analytics-card-header span{color:var(--muted);font-size:12px;font-weight:800}.chart-switcher{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:inline-flex}.chart-switcher button{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:#f8f9fb;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:900}.chart-switcher button.active,.chart-switcher button:hover{color:#fff;background:#111827;border-color:#111827}.cashflow-chart{align-items:end;gap:12px;min-height:230px;padding:8px 4px 0;display:flex;overflow-x:auto}.cashflow-chart.premium{justify-content:center;min-height:330px}.cashflow-month{justify-items:center;gap:8px;min-width:52px;display:grid}.cashflow-bars{align-items:end;gap:4px;height:190px;display:flex}.cashflow-chart.premium .cashflow-bars{height:285px}.cashflow-chart.premium .cashflow-bars span{width:18px}.cashflow-bars span{border-radius:999px 999px 3px 3px;width:12px;display:block}.cashflow-bars .income,.analytics-legend .income{background:#111827}.cashflow-bars .expense,.analytics-legend .expense{background:#9aa4b2}.cashflow-bars .net,.analytics-legend .net{background:#d1d5db}.cashflow-month small{color:var(--muted);font-size:12px;font-weight:900}.analytics-legend{flex-wrap:wrap;gap:12px;display:flex}.analytics-legend span{color:var(--muted);align-items:center;gap:7px;font-size:12px;font-weight:900;display:inline-flex}.analytics-legend i{border-radius:999px;width:10px;height:10px}.rank-list,.category-donut,.income-type-grid{gap:10px;display:grid}.premium-rank-list,.premium-category-grid{align-content:start;min-height:330px}.premium-rank-list{grid-template-columns:repeat(2,minmax(0,1fr))}.premium-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rank-row,.category-row,.income-type-card{border:1px solid var(--border);background:#f8f9fb;border-radius:8px;gap:6px;padding:11px;display:grid;position:relative;overflow:hidden}.rank-row{grid-template-columns:minmax(0,1fr) auto}.rank-row strong,.rank-row span,.category-row span,.category-row strong,.income-type-card span,.income-type-card strong{z-index:1;position:relative}.rank-row strong,.category-row strong,.income-type-card strong{color:var(--text)}.rank-row span,.category-row span,.income-type-card span{color:var(--muted);font-size:12px;font-weight:800}.rank-row b{color:var(--text);font-size:12px}.rank-row i,.category-row i,.income-type-card i{background:#111827;height:3px;position:absolute;inset:auto auto 0 0}.category-row{grid-template-columns:minmax(0,1fr) auto}.income-type-card strong{font-size:20px}.collection-chart{grid-template-columns:320px minmax(0,1fr);align-items:center;gap:24px;min-height:330px;display:grid}.collection-gauge{--collection:0%;background:radial-gradient(circle at center,#fff 0 55%,transparent 56%),conic-gradient(#111827 0 var(--collection),#e9edf2 var(--collection) 100%);width:280px;height:280px;box-shadow:inset 0 0 0 1px var(--border),0 16px 32px #0f172a14;border-radius:999px;align-content:center;place-items:center;display:grid}.collection-gauge strong{color:var(--text);font-size:48px;line-height:1}.collection-gauge span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900}.collection-detail{gap:12px;display:grid}.collection-detail article{border:1px solid var(--border);background:#f8f9fb;border-radius:8px;padding:14px}.collection-detail span,.collection-detail strong{display:block}.collection-detail span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900}.collection-detail strong{color:var(--text);margin-top:6px;font-size:22px}@media(max-width:1180px){.metric-grid{grid-template-columns:1fr}.smart-fees-panel{flex-direction:column}.smart-fees-actions{justify-content:flex-start;width:100%}.academy-command-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-header{flex-direction:column;align-items:flex-start}.feature-grid,.split-panels,.payment-method-grid,.communications-layout,.transaction-grid,.communications-form,.settings-grid,.filter-panel,.report-grid,.belt-config-grid,.document-review-grid,.report-filter-actions,.portal-login-panel,.analytics-shell,.analytics-hero-panel,.portal-app-layout,.portal-hero-v2,.events-portal-hero,.event-registration-grid,.learning-hero,.learning-grid,.portal-grid,.portal-section-grid{grid-template-columns:1fr}.learning-toolbar{flex-direction:column;align-items:flex-start}.learning-filter{justify-content:flex-start}.portal-nav-panel{position:static}.portal-action-card{grid-template-columns:auto minmax(0,1fr)}.portal-action-card button{grid-column:1/-1;justify-self:start}.analytics-filter-panel{position:static}.analytics-kpi-grid,.analytics-grid{grid-template-columns:1fr}.analytics-card-header,.collection-chart{grid-template-columns:1fr;align-items:flex-start}.premium-rank-list,.premium-category-grid,.stock-usage-grid,.service-picker{grid-template-columns:1fr}.settings-actions{justify-content:flex-start}.wide-field{grid-column:auto}.workbench-grid,.search-row{grid-template-columns:1fr}.form-panel{position:static}.turno-card{grid-template-columns:1fr}.turno-actions{justify-items:start}}.modal-backdrop{z-index:50;background:#00000094;justify-content:center;align-items:center;padding:28px;display:flex;position:fixed;inset:0}.modal-card{background:var(--panel);border:1px solid var(--border);border-radius:24px;width:min(980px,96vw);max-height:88vh;padding:24px;overflow-y:auto;box-shadow:0 28px 80px #00000059}.modal-header{justify-content:space-between;align-items:start;gap:16px;margin-bottom:18px;display:flex}.modal-header h2{margin:0}.modal-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;margin-top:18px;padding-top:16px;display:flex}.smart-cuotas-row>*{text-align:center;justify-content:center;justify-self:center}.smart-cuotas-row>:first-child{text-align:left;justify-content:flex-start;justify-self:flex-start}.fee-status.fee-pagada{color:#fff;background-color:#10b981;border:0}.fee-status.fee-pendiente{color:#fff;background-color:#6b7280;border:0}.fee-status.fee-vencida{color:#fff;background-color:#ef4444;border:0}.fee-status.fee-parcial{color:#fff;background-color:#f59e0b;border:0}.fees-table-card{overflow-x:hidden}.reports-filter-bar{border:1px solid var(--border);background:var(--panel);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;width:100%;padding:16px;display:grid;box-shadow:0 1px 2px #0f172a0d,0 14px 30px #0f172a0f}.reports-filter-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;min-width:0;display:grid}.reports-filter-grid>.compact-filter{grid-column:auto}.reports-filter-buttons{justify-content:flex-end;gap:8px;display:flex}.reports-filter-buttons .ghost-button,.reports-filter-buttons .primary-button{justify-content:center;align-items:center;min-width:42px;height:36px;padding:0 11px;display:inline-flex}.reports-toolbar{background-color:var(--panel);border:1px solid var(--border);border-radius:8px;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:0;width:100%;padding:12px 16px;display:flex;overflow-x:auto}.reports-filters{flex-wrap:nowrap;align-items:center;gap:0;display:flex}.compact-filter{color:var(--text);white-space:nowrap;flex-direction:row;align-items:center;gap:4px;width:auto;margin-bottom:0;margin-right:8px;font-size:13px;display:flex}.compact-filter:last-child{margin-right:0}.compact-filter .field{width:auto;min-width:0;max-width:130px;height:32px;padding:4px 8px;font-size:13px}.reports-actions{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.analytics-workspace{grid-template-columns:minmax(230px,280px) minmax(420px,1fr) minmax(230px,280px);align-items:stretch;gap:20px;width:100%;min-width:0;display:grid}.analytics-grid.single{flex-direction:column;min-width:0;display:flex}.analytics-grid.single .analytics-card{flex-grow:1}@media(max-width:1024px){.reports-filter-bar{grid-template-columns:1fr}.reports-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-filter-buttons{justify-content:flex-end}.analytics-workspace{grid-template-columns:1fr}}.reports-kpi-panel{background-color:var(--panel);border:1px solid var(--border);border-radius:8px;flex-direction:column;min-width:0;padding:16px;display:flex;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.reports-kpi-panel .panel-title{color:var(--text);margin-top:0;margin-bottom:16px;font-size:15px}.reports-kpi-stats{flex-grow:1;grid-template-columns:1fr 1fr;align-content:space-between;gap:12px 8px;display:grid}.reports-kpi-grid{grid-template-columns:1fr;gap:10px;display:grid}.stat-card{background-color:var(--panel-soft);border:1px solid var(--border);border-radius:6px;align-items:center;gap:10px;min-width:0;padding:10px 11px;transition:transform .2s,box-shadow .2s;display:flex}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.stat-icon{background-color:var(--panel);border-radius:8px;flex:0 0 36px;justify-content:center;align-items:center;width:36px;height:36px;display:flex;box-shadow:0 2px 4px #0000000d}.stat-content{flex-direction:column;gap:2px;min-width:0;display:flex}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:0;overflow-wrap:anywhere;font-size:11px;font-weight:600;line-height:1.15}.stat-value{color:var(--text);overflow-wrap:anywhere;font-size:clamp(17px,1.2vw,20px);font-weight:700;line-height:1.1}.text-positive{color:#10b981}.text-negative{color:#ef4444}.text-accent{color:var(--accent)}@media(max-width:640px){.reports-filter-bar{gap:12px;padding:16px}.reports-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-filter-grid>.compact-filter:nth-child(3){grid-column:1/-1}.compact-filter{white-space:normal;flex-direction:column;align-items:stretch;gap:6px;min-width:0;margin-right:0}.compact-filter .field{width:100%;max-width:none}.reports-filter-buttons{border-top:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));padding-top:12px;display:grid}.reports-filter-buttons .ghost-button,.reports-filter-buttons .primary-button{width:100%}.analytics-card-header{flex-direction:column;align-items:flex-start}.chart-switcher{justify-content:flex-start;width:100%}.chart-switcher button{flex:calc(50% - 6px)}}.sidebar-backdrop{z-index:9999;background:#0006;justify-content:flex-end;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.sidebar-panel{background-color:var(--panel);border-left:1px solid var(--border);flex-direction:column;width:480px;max-width:100vw;height:100vh;padding:24px;animation:.3s cubic-bezier(.16,1,.3,1) slideInRight;display:flex;overflow-y:auto;box-shadow:-8px 0 32px #0000001a}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media(max-width:768px){body{min-width:0}.app-shell{height:auto;min-height:100vh;padding-bottom:70px;display:block;overflow:visible}.sidebar{border-right:none;border-top:1px solid var(--border);z-index:50;background:#fffffffa;flex-direction:row;justify-content:space-around;align-items:center;width:100%;height:70px;padding:0 4px;transition:none;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 10px #0000000d;top:auto!important}.sidebar:hover,.sidebar:focus-within{width:100%;padding:0 4px;box-shadow:0 -2px 10px #0000000d}.brand{display:none}.nav-list{flex-direction:row;justify-content:space-around;align-items:center;width:100%;height:100%;margin:0;padding:0;display:flex}.nav-item{border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;width:auto;padding:8px 4px;display:flex;border:none!important}.nav-item.active{color:var(--accent);background:0 0}.nav-item.active span{color:var(--accent)}.nav-item span{opacity:1;max-width:100%;font-size:.65rem;font-weight:600;overflow:visible;transform:none}.content{width:100%;height:auto;padding:16px;overflow:hidden visible}.dashboard-header{flex-direction:column;align-items:flex-start;gap:12px}.dashboard-header h1{font-size:1.5rem}.sidebar-panel{width:100vw;padding:20px 16px}.modal-backdrop{padding:12px}.modal-card,.guardian-modal{border-radius:16px;width:100%;max-height:90vh;padding:20px 16px;overflow-y:auto}.form-grid,.guardian-form-grid,.dashboard-grid,.client-file-grid,.kpi-grid,.caja-layout{grid-template-columns:1fr;gap:16px}.guardian-form-column{border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:16px}.form-actions,.modal-actions,.client-header-actions,.dashboard-actions{flex-direction:column}.form-actions button,.modal-actions button,.client-header-actions button,.dashboard-actions button{justify-content:center;width:100%}.table-card{-webkit-overflow-scrolling:touch;border-radius:8px;padding:0;overflow-x:auto}.data-table{min-width:600px}.table-header{flex-direction:column;align-items:flex-start;gap:12px;padding:16px}.primary-button,.secondary-button,.ghost-button,.destructive-button{min-height:44px}input[type=text],input[type=email],input[type=tel],input[type=number],input[type=date],input[type=time],input[type=month],select,textarea{padding:12px 14px;font-size:16px}}.runtime-state{background:var(--bg);color:var(--text);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.runtime-state-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);text-align:center;border-radius:18px;justify-items:center;gap:14px;width:100%;max-width:520px;padding:36px;display:grid}.runtime-state-card h1{margin:0;font-size:1.5rem}.runtime-state-card p{color:var(--muted);margin:0}.runtime-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:999px;width:34px;height:34px;animation:.8s linear infinite runtime-spin}@keyframes runtime-spin{to{transform:rotate(360deg)}}.pwa-update{z-index:1000;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));color:#fafafa;background:#18181b;border:1px solid #3f3f46;border-radius:.75rem;align-items:center;gap:.75rem;max-width:min(32rem,100vw - 2rem);padding:.75rem 1rem;display:flex;position:fixed;box-shadow:0 12px 30px #00000059}.pwa-update button{color:#18181b;cursor:pointer;background:#fafafa;border:0;border-radius:.5rem;padding:.5rem .75rem;font-weight:700}.student-profile-panel{width:min(760px,100vw)}.student-form-header{border-bottom:1px solid var(--border);align-items:flex-start;margin-bottom:20px;padding-bottom:16px}.student-form-kicker{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0 0 4px;font-size:11px;font-weight:900}.student-form-title{margin-bottom:4px}.student-form-description{color:var(--muted);margin:0;font-size:13px}.student-profile-form{gap:18px}.student-form-section{background:var(--panel-soft);border:1px solid var(--border);border-radius:16px;gap:16px;padding:18px;display:grid}.student-form-section-header{gap:4px;display:grid}.student-form-section-header h3{color:var(--text);margin:0;font-size:16px}.student-form-section-header p{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.student-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.student-field-wide{grid-column:1/-1}.student-admin-section{background:var(--panel-soft)}@supports (color:color-mix(in lab,red,red)){.student-admin-section{background:color-mix(in srgb,var(--panel-soft) 82%,var(--bg))}}.student-age-prompt{border-style:dashed}.student-form-status{background:var(--panel-soft);border:1px solid var(--border);border-radius:10px;margin:0;padding:12px}.student-form-actions{background:var(--panel);border-top:1px solid var(--border);z-index:2;gap:10px;margin:0 -24px -24px;padding:16px 24px 24px;display:grid;position:sticky;bottom:-24px}@media(max-width:768px){.student-form-grid{grid-template-columns:1fr}.student-field-wide{grid-column:auto}.student-form-section{border-radius:12px;padding:15px}.student-form-actions{margin:0 -16px -20px;padding:14px 16px 20px;bottom:-20px}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scroll-snap-strictness{syntax:"*";inherits:false;initial-value:proximity}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}.portal-profile-pill{display:inline-flex;width:-moz-max-content;width:max-content;border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:900}.portal-profile-pill.complete{background:#dcfce7;color:#166534}.portal-profile-pill.pending{background:#fef3c7;color:#92400e}.portal-student-card-status .portal-profile-pill{margin-bottom:2px}.portal-student-nav{display:flex;gap:8px;margin-bottom:18px;padding:7px;background:#e9edf2;border-radius:14px;width:-moz-max-content;width:max-content}.portal-student-nav a{display:flex;align-items:center;gap:7px;padding:10px 14px;border-radius:10px;color:#475569;text-decoration:none;font-weight:800;font-size:.88rem}.portal-student-nav a.active{background:#fff;color:#111827;box-shadow:0 3px 10px #0f172a14}.portal-profile-callout{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px;padding:20px;border-radius:17px;border:1px solid #fde68a;background:#fffbeb}.portal-profile-callout.complete{border-color:#bbf7d0;background:#f0fdf4}.portal-profile-callout h2,.portal-profile-callout p{margin:0}.portal-profile-callout h2{font-size:1.15rem;margin:8px 0 4px}.portal-profile-callout p{color:#64748b}.portal-profile-callout>a,.portal-primary-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:0;border-radius:10px;background:#111827;color:#fff;padding:0 17px;font-weight:900;text-decoration:none;cursor:pointer;white-space:nowrap}.portal-profile-editor-header{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;background:#111827;color:#fff;border-radius:22px;padding:28px;margin-bottom:18px}.portal-profile-editor-header h1,.portal-profile-editor-header p{margin:0}.portal-profile-editor-header h1{font-size:clamp(1.65rem,4vw,2.25rem);margin:4px 0}.portal-profile-editor-header>div:first-child>p:last-child{color:#cbd5e1}.portal-completion{display:flex;flex-direction:column;align-items:flex-end}.portal-completion strong{font-size:2rem}.portal-completion span{font-size:.78rem;color:#cbd5e1}.portal-progress{grid-column:1/-1;height:8px;border-radius:999px;background:#334155;overflow:hidden}.portal-progress span{display:block;height:100%;background:#fff;border-radius:inherit;transition:width .2s ease}.portal-profile-form{display:grid;gap:16px}.portal-form-card{display:grid;gap:18px;background:#fff;border:1px solid #dbe1e8;border-radius:18px;padding:22px}.portal-form-card>header{display:flex;gap:12px;align-items:flex-start;padding-bottom:14px;border-bottom:1px solid #edf0f3}.portal-form-card>header svg{color:#475569}.portal-form-card h2,.portal-form-card p{margin:0}.portal-form-card h2{font-size:1.08rem}.portal-form-card p{margin-top:3px;color:#64748b;font-size:.86rem}.portal-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.portal-form-card label{display:grid;gap:7px;font-size:.88rem;font-weight:800}.portal-form-card input,.portal-form-card textarea{width:100%;border:1px solid #cbd3dd;border-radius:10px;padding:11px 12px;font:inherit;background:#fff;color:#111827}.portal-form-card input{min-height:44px}.portal-form-card textarea{resize:vertical}.portal-form-card textarea:disabled{background:#f1f5f9;color:#94a3b8}.portal-field-wide{grid-column:1/-1}.portal-check-field{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:10px!important;padding:12px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0}.portal-check-field input{width:18px!important;min-height:18px!important}.portal-form-actions{position:sticky;bottom:12px;z-index:4;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #dbe1e8;border-radius:16px;padding:16px;box-shadow:0 12px 35px #0f172a1f}.portal-form-actions>div{display:flex;flex-direction:column;gap:3px}.portal-form-actions>div span{color:#64748b;font-size:.8rem}.portal-secondary-action{min-height:44px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#334155;padding:0 16px;font-weight:900;cursor:pointer}.portal-form-actions button:disabled{opacity:.55;cursor:not-allowed}.portal-quick-enrollment{margin-bottom:18px;border-color:#bfdbfe;background:linear-gradient(135deg,#eff6ff,#fff 58%)}.portal-quick-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.portal-quick-footer{display:flex;align-items:center;justify-content:space-between;gap:18px}.portal-quick-footer p{margin:0;color:#64748b;font-size:.84rem;max-width:620px}.portal-quick-footer button{white-space:nowrap}.portal-table-status{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:.7rem;font-weight:900}.portal-table-status.complete{background:#dbeafe;color:#1d4ed8}.portal-table-status.pending{background:#fef3c7;color:#92400e}@media(max-width:900px){.portal-quick-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-form-actions{grid-template-columns:1fr auto}.portal-form-actions>div{grid-column:1/-1}}@media(max-width:760px){.portal-student-nav{width:100%}.portal-student-nav a{flex:1;justify-content:center}.portal-profile-callout{align-items:stretch;flex-direction:column}.portal-profile-callout>a{width:100%}.portal-profile-editor-header{grid-template-columns:1fr auto;padding:22px}.portal-form-grid,.portal-quick-fields{grid-template-columns:1fr}.portal-field-wide{grid-column:1}.portal-form-card{padding:18px}.portal-form-actions{position:static;grid-template-columns:1fr}.portal-form-actions>div{grid-column:1}.portal-form-actions button{width:100%}.portal-quick-footer{align-items:stretch;flex-direction:column}.portal-quick-footer button{width:100%}}.portal-events-heading{margin-bottom:18px;padding:26px 28px;border-radius:22px;background:#111827;color:#fff}.portal-events-heading h1,.portal-events-heading p{margin:0}.portal-events-heading h1{font-size:clamp(1.7rem,4vw,2.25rem);margin:4px 0 6px}.portal-events-heading>p:last-child{color:#cbd5e1}.portal-events-card{background:#fff;border:1px solid #dbe1e8;border-radius:20px;padding:23px}.portal-events-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:17px;border-bottom:1px solid #edf0f3}.portal-events-card>header>div{display:flex;gap:11px;align-items:flex-start}.portal-events-card h2,.portal-events-card p{margin:0}.portal-events-card h2{font-size:1.15rem;margin-top:3px}.portal-events-card>header>span{display:grid;place-items:center;min-width:31px;height:31px;border-radius:10px;background:#f1f5f9;font-size:.82rem;font-weight:900}.portal-events-list{display:grid}.portal-event-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:16px;padding:17px 0;border-bottom:1px solid #edf0f3}.portal-event-row:last-child{border-bottom:0;padding-bottom:0}.portal-event-date{width:58px;min-height:62px;border-radius:15px;background:#f1f5f9;display:grid;place-content:center;text-align:center}.portal-event-date strong{font-size:1.45rem;line-height:1}.portal-event-date span{text-transform:uppercase;font-size:.68rem;font-weight:900;letter-spacing:.08em;color:#64748b;margin-top:4px}.portal-event-detail{display:flex;flex-direction:column;gap:4px;min-width:0}.portal-event-detail>strong{font-size:1rem}.portal-event-detail>span{font-size:.82rem;color:#64748b}.portal-event-full-date{text-transform:capitalize}.portal-event-status{border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:900;white-space:nowrap}.portal-event-status.confirmed{background:#dcfce7;color:#166534}.portal-event-status.pending{background:#fef3c7;color:#92400e}.portal-event-status.cancelled{background:#fee2e2;color:#991b1b}.portal-events-empty{min-height:220px;display:grid;place-content:center;justify-items:center;gap:8px;text-align:center;color:#64748b}.portal-events-empty strong{color:#334155}.portal-events-empty p{max-width:430px;margin:0}@media(max-width:760px){.portal-events-heading{padding:22px}.portal-events-card{padding:18px}.portal-event-row{grid-template-columns:56px minmax(0,1fr);gap:12px}.portal-event-date{width:52px;min-height:58px}.portal-event-status{grid-column:2;width:-moz-max-content;width:max-content}.portal-events-empty{min-height:180px}}.portal-history-heading{margin:4px 0 22px;padding:26px 28px;border-radius:22px;background:#111827;color:#fff}.portal-history-heading h1,.portal-history-heading p{margin:0}.portal-history-heading h1{font-size:clamp(1.75rem,4vw,2.35rem);margin:4px 0 7px;color:#fff}.portal-history-heading .portal-kicker{color:#cbd5e1}.portal-history-heading>p:last-child{color:#cbd5e1}.portal-history-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.portal-history-metrics article{display:grid;gap:8px;padding:20px;background:#fff;border:1px solid #dbe1e8;border-radius:16px}.portal-history-metrics article svg{color:#475569}.portal-history-metrics article span{font-size:.82rem;color:#64748b}.portal-history-metrics article strong{font-size:1rem}.portal-history-belt{width:-moz-max-content;width:max-content;min-width:115px;max-width:100%;padding:5px 12px;border:1px solid #d6dce3;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 1px 2px #0000000d;white-space:nowrap;color:#1a1a1a}.portal-history-belt.belt-blanco{background:#fff}.portal-history-belt.belt-punta-amarilla{background:linear-gradient(90deg,#fff 50%,gold 50%)}.portal-history-belt.belt-amarillo{background:gold}.portal-history-belt.belt-punta-verde{background:linear-gradient(90deg,gold 50%,#228b22 50%);color:#1a1a1a}.portal-history-belt.belt-verde{background:#228b22;color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.5)}.portal-history-belt.belt-punta-azul{background:linear-gradient(90deg,#228b22 50%,#0000cd 50%);color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.5)}.portal-history-belt.belt-azul{background:#0000cd;color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.5)}.portal-history-belt.belt-punta-roja{background:linear-gradient(90deg,#0000cd 50%,#dc143c 50%);color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.5)}.portal-history-belt.belt-rojo{background:#dc143c;color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.5)}.portal-history-belt.belt-punta-negra{background:linear-gradient(90deg,#dc143c 50%,#1a1a1a 50%);color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.5)}.portal-history-belt.belt-primer-dan{background:linear-gradient(90deg,#1a1a1a 80%,#fff 80% 85%,#1a1a1a 85%);color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.5)}.portal-history-belt.belt-segundo-dan{background:linear-gradient(90deg,#1a1a1a 75%,#fff 75% 80%,#1a1a1a 80% 83%,#fff 83% 88%,#1a1a1a 88%);color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.5)}.portal-history-belt.belt-tercer-dan{background:linear-gradient(90deg,#1a1a1a 70%,#fff 70% 75%,#1a1a1a 75% 78%,#fff 78% 83%,#1a1a1a 83% 86%,#fff 86% 91%,#1a1a1a 91%);color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.5)}.portal-history-belt.belt-cuarto-dan{background:linear-gradient(90deg,#1a1a1a 65%,#fff 65% 70%,#1a1a1a 70% 73%,#fff 73% 78%,#1a1a1a 78% 81%,#fff 81% 86%,#1a1a1a 86% 89%,#fff 89% 94%,#1a1a1a 94%);color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.5)}.portal-history-card{background:#fff;border:1px solid #dbe1e8;border-radius:20px;padding:23px}.portal-history-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:17px;border-bottom:1px solid #edf0f3}.portal-history-card>header>div{display:flex;gap:11px;align-items:flex-start}.portal-history-card h2,.portal-history-card p{margin:0}.portal-history-card h2{font-size:1.15rem;margin-top:3px}.portal-history-card>header>span{display:grid;place-items:center;min-width:29px;height:29px;border-radius:9px;background:#f1f5f9;font-size:.8rem;font-weight:900}.portal-history-list{display:grid}.portal-history-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:16px 0;border-bottom:1px solid #edf0f3}.portal-history-row:last-child{border-bottom:0;padding-bottom:0}.portal-history-row-icon{width:39px;height:39px;border-radius:12px;background:#f1f5f9;color:#475569;display:grid;place-items:center}.portal-history-row>div{display:flex;flex-direction:column;gap:4px}.portal-history-row span,.portal-history-row small{font-size:.8rem;color:#64748b}.portal-history-row>small{padding:5px 8px;border-radius:999px;background:#f1f5f9;font-weight:700}.portal-history-empty{min-height:210px;display:grid;place-content:center;justify-items:center;text-align:center;color:#64748b}.portal-history-empty strong{color:#111827;margin-top:12px}.portal-history-empty p{max-width:520px;margin:7px 0 0;line-height:1.5}@media(max-width:760px){.portal-history-heading{padding:22px}.portal-history-metrics{grid-template-columns:1fr}.portal-history-row{grid-template-columns:auto 1fr}.portal-history-row>small{grid-column:2;width:-moz-max-content;width:max-content}.portal-history-card{padding:19px}}.portal-material-heading{margin-bottom:18px;padding:26px 28px;border-radius:22px;background:#111827;color:#fff}.portal-material-heading h1,.portal-material-heading p{margin:0}.portal-material-heading h1{font-size:clamp(1.7rem,4vw,2.25rem);margin:4px 0 6px}.portal-material-heading>p:last-child{color:#cbd5e1}.portal-material-filters{display:flex;gap:8px;overflow-x:auto;margin:0 0 18px;padding-bottom:2px;scrollbar-width:none}.portal-material-filters::-webkit-scrollbar{display:none}.portal-material-filters button{flex:0 0 auto;border:1px solid #dbe1e8;border-radius:999px;background:#fff;padding:8px 13px;font-size:.78rem;font-weight:850;color:#475569}.portal-material-filters button.active{background:#111827;border-color:#111827;color:#fff}.portal-material-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.portal-material-card{display:flex;flex-direction:column;min-height:260px;padding:22px;border:1px solid #dbe1e8;border-radius:20px;background:#fff}.portal-material-card.featured{border-color:#f59e0b;box-shadow:0 10px 28px #0f172a0f}.portal-material-card>header{display:flex;align-items:center;gap:11px}.portal-material-card>header>div{display:flex;flex-direction:column;gap:2px}.portal-material-card>header>div span{font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.portal-material-card>header>div strong{font-size:.82rem}.portal-material-card>header>svg{margin-left:auto;color:#d97706}.portal-material-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#f1f5f9;color:#0f172a}.portal-material-card h2{margin:18px 0 8px;font-size:1.12rem}.portal-material-card p{margin:0;color:#64748b;line-height:1.55;font-size:.9rem}.portal-material-meta{margin-top:auto;padding-top:20px}.portal-material-meta span{display:inline-flex;border-radius:999px;background:#f1f5f9;padding:6px 9px;font-size:.72rem;font-weight:800;color:#475569}.portal-material-card>a{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:14px;border-radius:12px;background:#111827;color:#fff;padding:11px 14px;text-decoration:none;font-size:.84rem;font-weight:900}.portal-material-empty{min-height:270px;display:grid;place-content:center;justify-items:center;gap:8px;border:1px dashed #cbd5e1;border-radius:20px;background:#fff;text-align:center;color:#64748b}.portal-material-empty strong{color:#334155}.portal-material-empty p{margin:0}@media(max-width:760px){.portal-material-heading{padding:22px}.portal-material-grid{grid-template-columns:1fr}.portal-material-card{min-height:240px}.portal-material-empty{min-height:210px}}.portal-medical-home-callout{margin:20px 0;padding:18px;border:1px solid #f3c86b;border-radius:16px;background:#fff9e8;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px}.portal-medical-home-callout.pending-review{border-color:#bfdbfe;background:#eff6ff}.portal-medical-home-callout.rejected{border-color:#fecaca;background:#fef2f2}.portal-medical-home-icon{width:46px;height:46px;border-radius:14px;background:#fff0bf;color:#9a5b00;display:grid;place-items:center}.portal-medical-home-callout.pending-review .portal-medical-home-icon{background:#dbeafe;color:#1d4ed8}.portal-medical-home-callout.rejected .portal-medical-home-icon{background:#fee2e2;color:#b91c1c}.portal-medical-home-callout span{color:#9a5b00;font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.portal-medical-home-callout.pending-review span{color:#1d4ed8}.portal-medical-home-callout.rejected span{color:#b91c1c}.portal-medical-home-callout h2{margin:4px 0 3px;color:#111827;font-size:1rem}.portal-medical-home-callout p{margin:0;color:#6b5a35;font-size:.86rem}.portal-medical-home-callout.pending-review p{color:#475569}.portal-medical-home-callout.rejected p{color:#7f1d1d}.portal-medical-home-callout>a{min-height:40px;padding:0 15px;border-radius:11px;background:#111827;color:#fff;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:.84rem;font-weight:800;white-space:nowrap}.portal-medical-heading{margin-bottom:22px;padding:26px 28px;border:1px solid #202938;border-radius:20px;background:linear-gradient(135deg,#101827,#05080f);box-shadow:0 18px 38px #0f172a24;color:#fff}.portal-medical-heading .portal-kicker{color:#cbd5e1}.portal-medical-heading h1{margin:5px 0 7px;font-size:clamp(1.65rem,3vw,2.25rem)}.portal-medical-heading>p:last-child{margin:0;color:#d6dce5}.portal-medical-status{padding:28px;border-radius:20px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px}.portal-medical-status.missing{border:1px solid #f0c45e;background:#fff9e7}.portal-medical-status.pending-review{border:1px solid #bfdbfe;background:#eff6ff}.portal-medical-status.approved{border:1px solid #99d7b2;background:#edf9f1}.portal-medical-status.rejected{border:1px solid #fecaca;background:#fef2f2}.portal-medical-status-icon{width:58px;height:58px;flex:0 0 auto;border-radius:18px;display:grid;place-items:center}.portal-medical-status.missing .portal-medical-status-icon{background:#ffedb5;color:#9a5b00}.portal-medical-status.pending-review .portal-medical-status-icon{background:#dbeafe;color:#1d4ed8}.portal-medical-status.approved .portal-medical-status-icon{background:#d1f1dc;color:#13723d}.portal-medical-status.rejected .portal-medical-status-icon{background:#fee2e2;color:#b91c1c}.portal-medical-status span{font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.portal-medical-status.missing span{color:#9a5b00}.portal-medical-status.pending-review span{color:#1d4ed8}.portal-medical-status.approved span{color:#13723d}.portal-medical-status.rejected span{color:#b91c1c}.portal-medical-status h2{margin:5px 0 6px;color:#111827;font-size:1.35rem}.portal-medical-status p{margin:0;color:#475569;line-height:1.55}.portal-medical-status small{margin-top:7px;color:#64748b;display:block;font-weight:700}.portal-medical-view{min-height:42px;padding:0 14px;border:1px solid #cbd5e1;border-radius:11px;background:#fff;color:#111827;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;font-size:.84rem;font-weight:800;white-space:nowrap}.portal-medical-upload-card{position:relative;margin-top:18px;padding:22px 24px;border:1px dashed #aeb8c6;border-radius:18px;background:#fff;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;overflow:hidden}.portal-medical-upload-card>svg{color:#334155}.portal-medical-upload-card h2{margin:0 0 4px;color:#111827;font-size:1rem}.portal-medical-upload-card p{margin:0;color:#64748b;font-size:.88rem;line-height:1.45}.portal-medical-upload-card input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.portal-medical-upload-card button{min-height:44px;padding:0 16px;border:0;border-radius:11px;background:#111827;color:#fff;font:inherit;font-size:.85rem;font-weight:800;cursor:pointer;white-space:nowrap}.portal-medical-upload-card button:disabled{opacity:.55;cursor:not-allowed}.portal-medical-progress{position:absolute;right:0;bottom:0;left:0;height:5px;background:#e2e8f0}.portal-medical-progress span{height:100%;background:#111827;display:block;transition:width .15s ease}.portal-medical-feedback{margin:14px 0 0;padding:12px 14px;border-radius:11px;background:#ecfdf3;color:#166534;font-size:.88rem;font-weight:700}.portal-medical-feedback.error{background:#fef2f2;color:#b91c1c}.portal-medical-info-card{margin-top:18px;padding:22px 24px;border:1px solid #dce3eb;border-radius:17px;background:#fff;display:flex;align-items:flex-start;gap:14px;color:#334155}.portal-medical-info-card svg{flex:0 0 auto;color:#4b5563}.portal-medical-info-card h2{margin:0 0 5px;color:#111827;font-size:1rem}.portal-medical-info-card p{margin:0;color:#64748b;line-height:1.55}@media(max-width:680px){.portal-medical-home-callout,.portal-medical-status,.portal-medical-upload-card{grid-template-columns:auto minmax(0,1fr)}.portal-medical-home-callout>a,.portal-medical-status .portal-medical-view,.portal-medical-upload-card button{grid-column:1 / -1;width:100%}.portal-medical-heading,.portal-medical-status{padding:21px;border-radius:17px}.portal-medical-upload-card{padding:20px}}.portal-payments-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px;padding:28px;border:1px solid #dbe1e8;border-radius:22px;background:#fff}.portal-payments-header h1,.portal-payments-header p{margin:0}.portal-payments-header h1{margin:4px 0 7px;font-size:clamp(1.8rem,4vw,2.35rem)}.portal-payments-header>div>p:last-child{color:#64748b;line-height:1.5}.portal-payment-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:8px 12px;font-size:.76rem;font-weight:900;white-space:nowrap}.portal-payment-status.paid{background:#dcfce7;color:#166534}.portal-payment-status.partial{background:#fef3c7;color:#92400e}.portal-payment-status.pending{background:#e0f2fe;color:#075985}.portal-payment-status.overdue{background:#fee2e2;color:#991b1b}.portal-current-fee-card{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;padding:24px;border:1px solid #dbe1e8;border-radius:20px;background:#111827;color:#fff}.portal-current-fee-card p,.portal-current-fee-card h2{margin:0}.portal-current-fee-card .portal-kicker{color:#cbd5e1!important}.portal-current-fee-card h2{margin:6px 0;font-size:1.7rem}.portal-current-fee-card>div:first-child>span{color:#cbd5e1}.portal-current-fee-amount{min-width:190px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:3px 10px;padding:18px;border-radius:16px}.portal-current-fee-amount strong{font-size:1.35rem}.portal-current-fee-amount span{grid-column:2;font-size:.8rem}.portal-current-fee-amount.paid{background:#dcfce7;color:#166534}.portal-current-fee-amount.partial{background:#fef3c7;color:#92400e}.portal-current-fee-amount.pending{background:#e0f2fe;color:#075985}.portal-current-fee-amount.overdue{background:#fee2e2;color:#991b1b}.portal-payment-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.portal-payment-metrics article{display:grid;gap:7px;padding:19px;border:1px solid #dbe1e8;border-radius:16px;background:#fff}.portal-payment-metrics svg{color:#475569}.portal-payment-metrics span{color:#64748b;font-size:.82rem}.portal-payment-metrics strong{font-size:1.25rem}.portal-payment-history-card{padding:24px;border:1px solid #dbe1e8;border-radius:20px;background:#fff}.portal-payment-history-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:17px;border-bottom:1px solid #edf0f3}.portal-payment-history-card>header>div{display:flex;align-items:flex-start;gap:11px}.portal-payment-history-card h2,.portal-payment-history-card p{margin:0}.portal-payment-history-card h2{margin-top:3px;font-size:1.2rem}.portal-payment-history-card>header>span{display:grid;place-items:center;min-width:30px;height:30px;border-radius:9px;background:#f1f5f9;font-size:.8rem;font-weight:900}.portal-payment-history-list{display:grid}.portal-payment-history-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:17px 0;border-bottom:1px solid #edf0f3}.portal-payment-history-row:last-child{border-bottom:0;padding-bottom:0}.portal-payment-history-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:#f1f5f9;color:#334155}.portal-payment-history-row>div{display:flex;flex-direction:column;gap:4px}.portal-payment-history-row span,.portal-payment-history-row small{color:#64748b;font-size:.79rem}.portal-payment-history-amount{align-items:flex-end}.portal-payment-history-amount strong{font-size:.95rem}.portal-payment-empty{min-height:190px;display:grid;place-content:center;justify-items:center;text-align:center;color:#64748b}.portal-payment-empty strong{margin-top:10px;color:#111827}.portal-payment-empty p{max-width:440px;margin:6px 0 0}.portal-student-nav a[data-portal-payments-link]{display:inline-flex;align-items:center;gap:7px}@media(max-width:760px){.portal-payments-header,.portal-current-fee-card{align-items:stretch;flex-direction:column}.portal-payment-status{width:-moz-max-content;width:max-content}.portal-current-fee-amount{min-width:0}.portal-payment-metrics{grid-template-columns:1fr}.portal-payment-history-row{grid-template-columns:auto 1fr}.portal-payment-history-amount{grid-column:2;align-items:flex-start}.portal-payment-history-card{padding:20px}}.portal-age-prompt{border-style:dashed;background:#f8fafc}.portal-age-prompt>header{border-bottom:0;padding-bottom:0}.portal-form-card label>svg{display:none}.portal-profile-form input:focus{outline:2px solid rgba(15,23,42,.18);border-color:#64748b}.portal-profile-form input[readonly]{background:#f8fafc;color:#64748b}.portal-profile-form>.portal-form-card:first-child .portal-form-grid>label:nth-child(6){grid-column:auto}@media(max-width:760px){.portal-profile-editor-header{grid-template-columns:1fr}.portal-completion{align-items:flex-start}.portal-profile-editor-header .portal-progress{grid-column:1}.portal-profile-form .portal-form-actions{gap:10px}}html,body,#root{min-width:0;width:100%;min-height:100%}body{overflow-x:hidden}.student-form-header{margin-bottom:16px}.student-form-title{margin:0}.student-form-header-actions{align-items:center;display:flex;gap:8px}.fees-toolbar{align-items:center;flex-wrap:wrap;gap:16px;justify-content:space-between}.fees-toolbar-filter{align-items:center;display:flex;flex:1;gap:16px;min-width:220px}.fees-toolbar-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.smart-cuotas-table .fee-cell{min-width:0}.smart-cuotas-table .fee-state-cell{display:flex;align-items:center}.smart-cuotas-table .fee-balance-cell{display:flex;align-items:center;justify-content:space-between;gap:8px}.fee-void-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:30px;border:1px solid var(--border);border-radius:8px;padding:5px 10px;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:12px;font-weight:700;line-height:1;transition:background .15s ease,border-color .15s ease,color .15s ease}.fee-void-button svg{display:none}.fee-void-button:after{content:"Anular"}.fee-void-button:hover,.fee-void-button:focus-visible{border-color:var(--border);background:var(--panel-soft);color:var(--text);outline:none}@media(max-width:767px){.panel-toolbar,.reports-filter-bar{min-width:0}.fees-toolbar{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:8px;flex-wrap:nowrap}.fees-toolbar-filter,.fees-toolbar-actions{display:contents}.fees-toolbar .compact-select{width:72px;min-width:72px;height:42px;padding:0 26px 0 10px;font-size:13px}.fees-toolbar .ghost-button,.fees-toolbar .primary-button{min-width:0;min-height:42px;padding:0 8px;gap:5px;font-size:12px;line-height:1;white-space:nowrap}.fees-toolbar .ghost-button svg,.fees-toolbar .primary-button svg{width:14px;height:14px;flex:0 0 14px}.sidebar-panel{width:min(100%,520px);max-width:100%}.data-table,.table-card,.agenda-panel,.analytics-shell,.settings-grid{min-width:0;max-width:100%}.data-table.smart-cuotas-table{width:100%;min-width:0}.smart-cuotas-table .data-head{display:none}.smart-cuotas-table .smart-cuotas-row:not(.data-head){display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"student state period";align-items:center;-moz-column-gap:10px;column-gap:10px;row-gap:0;padding:12px 14px}.smart-cuotas-table .fee-cell{display:block;min-width:0;text-align:left;white-space:nowrap;overflow-wrap:normal}.smart-cuotas-table .fee-cell:before{display:none;content:none}.smart-cuotas-table .fee-student-cell{grid-area:student;padding:0;border:0;font-size:clamp(12px,3.6vw,15px);line-height:1.2;letter-spacing:-.01em}.smart-cuotas-table .fee-period-cell{grid-area:period;justify-self:end;color:var(--muted);font-size:12px;font-weight:700}.smart-cuotas-table .fee-state-cell{grid-area:state;display:block;justify-self:end}.smart-cuotas-table .fee-state-cell .fee-status{min-width:0;padding:5px 9px;font-size:11px;line-height:1;white-space:nowrap}.smart-cuotas-table .fee-amount-cell,.smart-cuotas-table .fee-paid-cell,.smart-cuotas-table .fee-balance-cell{display:none}.quick-collect-search-input{padding-left:3.5rem;color:#111827}.quick-collect-search-input::-moz-placeholder{color:#6b7280;opacity:1}.quick-collect-search-input::placeholder{color:#6b7280;opacity:1}.quick-collect-search-icon{left:1.1rem;z-index:1;pointer-events:none}.quick-collect-client-name{margin-bottom:0;color:#111827}.quick-collect-client-belt{display:none}.quick-collect-state-card .dark\:text-white{color:#111827}.quick-collect-actions .ghost-button{justify-content:center;text-align:center}.agenda-panel{width:100%;overflow:hidden}.agenda-panel .overflow-x-auto{overflow-x:hidden;padding-bottom:0}.agenda-panel .monthly-calendar{width:100%;min-width:0;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.agenda-panel .monthly-weekday{min-width:0;padding:0 0 4px;font-size:9px;text-align:center}.agenda-panel .monthly-day{min-width:0;min-height:58px;gap:2px;border-radius:5px;padding:3px;overflow:hidden}.agenda-panel .monthly-day-header{min-width:0;gap:2px}.agenda-panel .monthly-day-header strong{font-size:12px;line-height:1}.agenda-panel .monthly-day-header span{display:none}.agenda-panel .monthly-events{min-width:0;gap:2px}.agenda-panel .monthly-event{min-width:0;min-height:0;gap:0;overflow:hidden;border-left-width:2px;border-radius:3px;padding:2px;line-height:1}.agenda-panel .monthly-event>span:first-child{display:block;min-width:0;overflow:hidden;font-size:8px;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.agenda-panel .monthly-event>strong,.agenda-panel .monthly-event>small,.agenda-panel .monthly-event>span:last-child{display:none}}.payment-sidebar-panel{width:min(680px,100vw);padding:0}.payment-sidebar-panel .modal-header{position:sticky;top:0;z-index:2;background:color-mix(in srgb,var(--panel) 94%,transparent);border-bottom:1px solid var(--border);padding:24px 28px 18px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.payment-sidebar-panel .payment-form-grid{padding:22px 28px 28px}.payment-item-card{display:grid;gap:14px;border:1px solid var(--border);border-radius:14px;background:var(--panel-soft);padding:16px}.payment-item-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text);font-size:14px;font-weight:800}.payment-item-heading small{border-radius:999px;background:#2563eb1a;color:var(--accent);font-size:11px;font-weight:800;padding:5px 9px}.payment-item-fields{display:grid;grid-template-columns:minmax(190px,1.6fr) minmax(145px,1fr) minmax(130px,.85fr);gap:12px;align-items:end}.payment-item-fields .field{min-width:0;width:100%}.payment-remove-button{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--danger, #b42318);cursor:pointer;font:inherit;font-size:12px;font-weight:800;padding:4px 2px}.payment-remove-button:hover{text-decoration:underline}@media(max-width:640px){.payment-sidebar-panel .modal-header{padding:20px 16px 16px}.payment-sidebar-panel .payment-form-grid{padding:18px 16px 24px}.payment-item-fields{grid-template-columns:1fr 1fr}.payment-student-field{grid-column:1 / -1}.payment-item-card{padding:14px}}@media(max-width:767px){.agenda-panel div:has(>.month-field){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch!important;gap:8px!important;width:100%}.agenda-panel div:has(>.month-field)>.primary-button{grid-column:1 / -1}.agenda-panel div:has(>.month-field)>.month-field,.agenda-panel div:has(>.month-field)>.ghost-button{width:100%;min-width:0;min-height:48px}}.portal-student-detail>header .portal-kicker{display:none}.portal-profile-callout.pending p,.portal-student-detail .portal-profile-grid{display:none}@media(max-width:760px){.portal-student-nav{overflow-x:auto;justify-content:flex-start;scrollbar-width:none}.portal-student-nav::-webkit-scrollbar{display:none}.portal-student-nav a{flex:0 0 auto;white-space:nowrap}}.portal-public-frame{position:relative}.portal-abundia-credit{width:-moz-max-content;width:max-content;max-width:100%;margin-bottom:18px;display:inline-flex;align-items:center;gap:11px;color:#64748b;text-decoration:none}.portal-abundia-credit-label{font-size:.64rem;font-weight:800;letter-spacing:.1em;line-height:1;text-transform:uppercase;white-space:nowrap}.portal-abundia-imagotipo{display:block;width:128px;height:auto;max-height:40px;-o-object-fit:contain;object-fit:contain;-o-object-position:left center;object-position:left center;transition:opacity .18s ease,transform .18s ease}.portal-abundia-credit:hover .portal-abundia-imagotipo{opacity:.86;transform:translateY(-1px)}.portal-abundia-credit:focus-visible{outline:3px solid rgba(51,65,85,.22);outline-offset:4px;border-radius:7px}.portal-student-topbar{min-height:46px;margin-bottom:36px;display:flex;align-items:center;justify-content:space-between;gap:24px}.portal-student-topbar>.portal-public-brand{order:2;margin:0 0 0 auto;justify-content:flex-end}.portal-student-topbar>.portal-public-brand div{text-align:left}.portal-student-topbar>.portal-back-link{order:1;flex:0 0 auto;min-height:42px;margin:0;padding:0 15px;border:1px solid #111827;border-radius:12px;background:#111827;box-shadow:0 8px 20px #0f172a24;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;font-weight:800;transition:background .18s ease,box-shadow .18s ease,transform .18s ease}.portal-student-topbar>.portal-back-link:hover{transform:translateY(-1px);background:#1f2937;box-shadow:0 10px 24px #0f172a33}.portal-student-topbar>.portal-back-link:focus-visible{outline:3px solid rgba(17,24,39,.26);outline-offset:3px}@media(max-width:760px){.portal-abundia-credit{margin-bottom:14px;gap:8px}.portal-abundia-credit-label{font-size:.56rem}.portal-abundia-imagotipo{width:112px;max-height:36px}.portal-student-topbar{margin-bottom:22px;gap:14px}.portal-student-topbar>.portal-public-brand{margin-bottom:0}}@media(max-width:520px){.portal-abundia-credit{align-items:flex-start;flex-direction:column;gap:5px}.portal-abundia-imagotipo{width:106px}.portal-student-topbar>.portal-back-link{width:42px;min-width:42px;padding:0;font-size:0}.portal-student-topbar>.portal-back-link svg{width:18px;height:18px}.portal-student-topbar>.portal-public-brand{gap:9px}.portal-student-topbar>.portal-public-brand>span{width:42px;height:42px;border-radius:12px}.portal-student-topbar>.portal-public-brand strong{font-size:.92rem}.portal-student-topbar>.portal-public-brand small{font-size:.68rem}}
