/* Prueba de Lavanda en claro y oscuro. */
:root{color-scheme:light;--bg:#f6f4fb;--ink:#29253b;--accent:#7261c6;--purple:var(--accent);--soft:#eee9fa;--muted:#625c75;--border:#e2ddec;--surface:#ffffff;--on-accent:#fff;--study-0:#7261c6;--study-1:#9480d9;--study-2:#5f5594;--study-3:#ac97db;--study-4:#8476b7;--subject-bg-0:#ece8f7;--subject-ink-0:#67508f;--subject-bg-1:#f5ebe3;--subject-ink-1:#825c40;--subject-bg-2:#e9f0e4;--subject-ink-2:#587445;--subject-bg-3:#e4edf4;--subject-ink-3:#496d8b;--subject-bg-4:#efe6f8;--subject-ink-4:#755498}
:root[data-theme="dark"]{color-scheme:dark;--bg:#17151f;--surface:#252131;--ink:#f7f4ff;--muted:#c0b8d0;--accent:#c1b2f3;--purple:var(--accent);--soft:#373047;--border:#453b56;--on-accent:#241b38;--green:#9fc9b7;--study-0:#c1b2f3;--study-1:#9883d6;--study-2:#e0d5fa;--study-3:#ac9bc7;--study-4:#b293df;--subject-bg-0:#373043;--subject-ink-0:#d1bde9;--subject-bg-1:#3e3028;--subject-ink-1:#e3bc9f;--subject-bg-2:#2e392e;--subject-ink-2:#b5d3a5;--subject-bg-3:#293641;--subject-ink-3:#a9cbe6;--subject-bg-4:#3d2e4c;--subject-ink-4:#d8b6f0}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--ink);font-size:12px;white-space:nowrap}.theme-toggle:hover{background:var(--soft)}.auth-card{position:relative}.auth-theme-toggle{position:absolute;top:26px;right:24px;font-size:11px}.auth-card>.brand{max-width:calc(100% - 90px)}
[data-theme="dark"] :is(.sidebar,header,.panel,.stat,.exam-card,.week-cell,.cal-day,.calendar-activities,.auth-card,dialog,.day-study-dialog,.balance-budget,.agenda-session,.agenda-secondary,.day-outline,.button){background:var(--surface);color:var(--ink)}
[data-theme="dark"] :is(nav button,.workspace,.settings-link,.profile small,.saved,.breadcrumb,.subtitle,.eyebrow,footer,.task p,.duration,.date-pill,.panel-title,.progress-copy,.exam-mini p,.exam-mini .days-away,.date-tile small,.week-cell small,.week-cell p,.section-heading small,.stat p,.stat strong small,.day-number,.weekday,.legend,.icon-button,.modal-head small,.rhythm-value small,.agenda-number,.agenda-meta,.agenda-mark){color:var(--muted)}
[data-theme="dark"] :is(.date-pill,input,select,textarea,dialog,.task,.panel-title,.exam-mini,.date-tile,.demo-banner,.check,.balance-check){border-color:var(--border)}
[data-theme="dark"] :is(.side-note,.hero,.insight,.day-checks label,.week-cell.current,.agenda-empty,.agenda-exam-date,.agenda-next-label,.agenda-demo span,.stat-icon,.avatar){background:var(--soft);border-color:var(--border);color:var(--ink)}
[data-theme="dark"] :is(nav button.active,nav button:hover,.cal-day:hover,.agenda-secondary:hover,.agenda-session.is-next,.check:hover){background:var(--soft);color:var(--accent)}
[data-theme="dark"] :is(.text-button,.agenda-demo button,.hero-label,.hero h2,.spark,.avatar,.agenda-next-label){color:var(--accent)}
[data-theme="dark"] :is(.button.primary,.agenda-primary,.day-primary,.cal-day.current .day-number){background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
[data-theme="dark"] :is(.button.primary:hover,.agenda-primary:hover,.day-primary:hover){background:#d1c5fa;border-color:#d1c5fa}
[data-theme="dark"] :is(input,select,.ai-card textarea,.date-tile,.balance-free){background:var(--bg);color:var(--ink)}
[data-theme="dark"] :is(.daily-progress,.weekday,.balance-bar){background:var(--surface)}
[data-theme="dark"] :is(.progress-track,.agenda-track,.balance-margin){background:#453b56}
[data-theme="dark"] .balance-free{border-color:var(--border)}
[data-theme="dark"] :is(.hero p,.insight p,.side-note p,.side-note small,.empty,.empty strong){color:var(--muted)}
[data-theme="dark"] .hero button{background:var(--surface);color:var(--accent);border-color:var(--border)}
[data-theme="dark"] :is(.notice,.agenda-warning,.agenda-exam-alert){background:#3d3023;border-color:#6d5035;color:#efd0a7}
[data-theme="dark"] :is(.agenda-exam-alert button,.balance-overflow){color:#efd0a7}
[data-theme="dark"] :is(.ai-error,.delete){color:#f7a8ad}
[data-theme="dark"] .cal-event.exam-event{background:var(--accent);color:var(--on-accent)}
[data-theme="dark"] .type-tag{--tbg:var(--soft);--tc:var(--ink)}
[data-theme="dark"] .legend i.dark{background:var(--accent)}
[data-theme="dark"] .task.done .check{background:var(--green);border-color:var(--green);color:var(--bg)}
[data-theme="dark"] .task.done h3{color:var(--muted)}
[data-theme="dark"] .agenda-done>span{color:var(--green)}
[data-theme="dark"] dialog{box-shadow:0 20px 80px #0006}
[data-theme="dark"] dialog::backdrop{background:#100c1acc}
[data-theme="dark"] #toast{background:var(--ink);color:var(--bg)}
@media(max-width:780px){.header-right{gap:8px}.theme-toggle{font-size:11px;padding:8px;min-height:38px}.auth-theme-toggle{top:26px;right:24px}}
input{accent-color:var(--accent)}
[data-theme="dark"] :is(input,textarea)::placeholder{color:var(--muted);opacity:.75}
[data-theme="dark"]{--wheel-life:#8f859f;--wheel-margin:#6e637f;--wheel-free:#453b56}

/* Componentes compartidos con la paleta clara. */
[data-theme="light"] :is(.sidebar,header,.panel,.stat,.exam-card,.week-cell,.cal-day,.calendar-activities,.auth-card,dialog,.day-study-dialog,.balance-budget,.agenda-session,.agenda-secondary,.day-outline,.button){background:var(--surface);color:var(--ink)}
[data-theme="light"] :is(nav button,.workspace,.settings-link,.profile small,.saved,.breadcrumb,.subtitle,.eyebrow,footer,.task p,.duration,.date-pill,.panel-title,.progress-copy,.exam-mini p,.exam-mini .days-away,.date-tile small,.week-cell small,.week-cell p,.section-heading small,.stat p,.stat strong small,.day-number,.weekday,.legend,.icon-button,.modal-head small,.rhythm-value small,.agenda-number,.agenda-meta,.agenda-mark){color:var(--muted)}
[data-theme="light"] :is(.date-pill,input,select,textarea,dialog,.task,.panel-title,.exam-mini,.date-tile,.demo-banner,.check,.balance-check){border-color:var(--border)}
[data-theme="light"] :is(.side-note,.hero,.insight,.day-checks label,.week-cell.current,.agenda-empty,.agenda-exam-date,.agenda-next-label,.agenda-demo span,.stat-icon,.avatar){background:var(--soft);border-color:var(--border);color:var(--ink)}
[data-theme="light"] :is(nav button.active,nav button:hover,.cal-day:hover,.agenda-secondary:hover,.agenda-session.is-next,.check:hover){background:var(--soft);color:var(--accent)}
[data-theme="light"] :is(.text-button,.agenda-demo button,.hero-label,.hero h2,.spark,.avatar,.agenda-next-label){color:var(--accent)}
[data-theme="light"] :is(.button.primary,.agenda-primary,.day-primary,.cal-day.current .day-number){background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
[data-theme="light"] :is(input,select,.ai-card textarea,.date-tile,.balance-free){background:var(--bg);color:var(--ink)}
[data-theme="light"] :is(.daily-progress,.weekday,.balance-bar){background:var(--surface)}
[data-theme="light"] .balance-free{border-color:var(--border)}
[data-theme="light"] :is(.hero p,.insight p,.side-note p,.side-note small,.empty,.empty strong){color:var(--muted)}
[data-theme="light"] .hero button{background:var(--surface);color:var(--accent);border-color:var(--border)}
[data-theme="light"] .cal-event.exam-event{background:var(--accent);color:var(--on-accent)}
[data-theme="light"] .type-tag{--tbg:var(--soft);--tc:var(--ink)}
[data-theme="light"] .legend i.dark{background:var(--accent)}
[data-theme="light"] .task.done .check{background:var(--green);border-color:var(--green);color:var(--bg)}
[data-theme="light"] .task.done h3{color:var(--muted)}
[data-theme="light"] .agenda-done>span{color:var(--green)}
[data-theme="light"]{--wheel-life:#b2abc4;--wheel-margin:#d8d1e6;--wheel-free:#ede9f5}
[data-theme="light"] :is(.hero p,.insight p,.empty,.empty strong){color:var(--muted)}
[data-theme="light"] :is(input,textarea)::placeholder{color:var(--muted);opacity:.8}
[data-theme="light"] .progress-track{background:var(--wheel-free)}

.agenda-goal{background:var(--soft);color:var(--accent);padding:7px 11px;border-radius:8px;font-size:12px;margin-top:8px}

.agenda-day-nav{display:flex;align-items:center;gap:10px;margin:0 0 24px;flex-wrap:wrap}.agenda-day-strip{display:flex;align-items:center;border:1px solid var(--border);border-radius:12px;background:var(--surface);overflow:hidden}.agenda-day-nav .agenda-secondary{display:grid;place-items:center;min-width:42px;height:42px;min-height:42px;margin:0;padding:0 12px;font-size:14px;line-height:1}.agenda-day-strip .agenda-secondary{border:0;border-radius:0;background:transparent;font-size:22px;color:var(--muted)}.agenda-day-nav button:disabled{opacity:.45;cursor:default}.agenda-day-picker{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;min-width:150px;height:42px;margin:0;padding:0 12px;color:var(--ink);font-size:13px;cursor:pointer}.agenda-day-picker input{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;padding:0;border:0;opacity:0;cursor:pointer;color-scheme:light}.agenda-day-picker:focus-within{box-shadow:inset 0 0 0 2px var(--accent)}html[data-theme="dark"] .agenda-day-picker input{color-scheme:dark}.agenda-day-strip button:hover,.agenda-day-picker:hover{background:var(--soft)}
.plan-notice{margin:0 0 22px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--ink);font-size:13px}.plan-notice summary{display:flex;align-items:center;gap:10px;padding:15px 18px;cursor:pointer;list-style:none}.plan-notice summary::-webkit-details-marker{display:none}.plan-notice-dot{width:7px;height:7px;flex-shrink:0;border-radius:50%;background:var(--accent)}.plan-notice-more{margin-left:auto;color:var(--accent);white-space:nowrap}.plan-notice[open] .plan-notice-more>span{display:inline-block;transform:rotate(180deg)}.plan-notice-body{padding:0 18px 16px;border-top:1px solid var(--border)}.plan-notice-body>p{color:var(--muted);line-height:1.6;margin:14px 0}.plan-notice-body h3{font-size:12px;color:var(--muted);margin:18px 0 8px}.plan-notice ul{padding:0;margin:0;list-style:none}.plan-notice li{padding:12px 0;border-bottom:1px solid var(--border)}.plan-notice li p{margin:0 0 6px;line-height:1.6}.plan-notice-body>.text-button{margin-top:14px}@media(max-width:600px){.plan-notice summary{padding:13px 14px;flex-wrap:wrap;gap:8px}.plan-notice-more{padding-left:15px}.agenda-day-picker{min-width:140px}}
.parts-dialog{width:min(520px,calc(100% - 28px));max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--border);border-radius:20px;background:var(--surface);color:var(--ink);overflow:auto}.parts-dialog::backdrop{background:rgba(0,0,0,.48)}.parts-form{padding:24px}.parts-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.parts-header small{color:var(--muted);font-size:12px}.parts-form h2{font-size:26px;line-height:1.2;margin:20px 0 12px;outline:none}.parts-form>p,.parts-hint{color:var(--muted);line-height:1.6;font-size:13px}.parts-form label{font-size:14px}.parts-form :is(input,select){min-height:46px;font-size:16px}.parts-options{display:grid;gap:9px;margin:12px 0}.parts-options .part-choice{display:flex;align-items:center;gap:12px;margin:0;padding:13px 14px;border:1px solid var(--border);border-radius:12px;background:var(--bg);font-size:14px;cursor:pointer}.part-choice:has(input:checked){border-color:var(--accent);background:var(--soft)}.parts-options input{width:18px;height:18px;min-height:18px;flex-shrink:0;margin:0;accent-color:var(--accent)}.parts-form fieldset,#session-form fieldset{border:0;padding:0;margin:18px 0}.parts-form legend,#session-form legend{font-size:14px}.parts-extra{margin:18px 0;color:var(--muted);font-size:13px}.parts-extra summary{cursor:pointer;padding:10px 0;min-height:40px}.parts-footer{display:flex;gap:10px;padding-top:18px;margin-top:20px;border-top:1px solid var(--border)}.parts-footer .primary{flex:1}.parts-footer button{min-height:48px}.parts-review article{padding:16px 0;border-bottom:1px solid var(--border)}.parts-review article>span,.parts-review small{font-size:12px;color:var(--muted)}.parts-review h3{font-size:17px;margin:6px 0}.parts-review p{font-size:13px;margin:8px 0}.parts-review button{display:block;margin-top:10px;min-height:36px}.exam-part-list{margin:18px 0}.exam-part-list>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);font-size:12px}.exam-part-list span{color:var(--muted);text-align:right}@media(max-width:600px){.parts-form{padding:20px}.parts-dialog{max-height:calc(100dvh - 24px)}.parts-form h2{font-size:24px}.parts-footer{padding-bottom:env(safe-area-inset-bottom)}}
.parts-review article{padding:12px 0}.parts-review h3{font-size:16px;margin:4px 0}.parts-review p{margin:5px 0}.parts-review button{margin-top:5px;min-height:32px}.parts-form>.parts-extra{margin:8px 0}.parts-form>.parts-extra button{display:block;min-height:40px}

.brand-word{display:inline-block;white-space:nowrap}.brand-ai{color:var(--accent)}.brand-word>.dot{margin-left:0}

.exam-cards+.plan-notice,.balance-layout+.plan-notice{margin-top:24px}

:root{--accent-hover:#6351b8}:root[data-theme="dark"]{--accent-hover:#d1c5fa}
:is(.button.primary,.agenda-primary,.day-primary):hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-accent)}.hero :is(.orb-star,.orb-small){color:var(--accent)}.hero .orb-dot{background:var(--accent)}.hero .orbit:before,.hero .orbit:after{border-color:var(--border)}
/* Lectura y controles primero para móvil. */
@media(max-width:780px){
 body{font-size:16px;line-height:1.5}main{padding:24px 18px}main h1,.balance-home .agenda-heading h1{font-size:30px;line-height:1.25}main h2{font-size:20px;line-height:1.35}main h3{font-size:18px;line-height:1.4}
 main label,main legend{font-size:16px;line-height:1.5}
 main :is(.subtitle,.form-hint,.empty,.empty strong,.task p,.task-info p,.exam-mini p,.calendar-activity p,.insight p,.ai-answer,.ai-changes p,.hours-row p,.agenda-no-activity,.balance-budget-detail,.agenda-empty p,.study-support-note,.day-schedule-details>summary){font-size:16px;line-height:1.6}
 main :is(.agenda-date,.agenda-goal,.progress-copy,.card-meta,.exam-date,.panel-title,.section-heading small,.balance-budget-heading>span,.agenda-section-heading>span,.agenda-done p,.balance-activity small,.agenda-exam small,.balance-session p,.agenda-tomorrow span){font-size:14px;line-height:1.5}
 :is(.button,.text-button,.agenda-primary,.agenda-secondary,.day-primary,.day-outline){font-size:16px;min-height:44px;line-height:1.4}.theme-toggle{font-size:14px;min-height:44px;padding:10px}.icon-button{min-width:44px;min-height:44px;font-size:22px}
 main :is(.balance-session strong,.balance-session h3,.task h3,.agenda-exam strong,.balance-duration,.duration,.wheel-row,.exam-part-list>div,.plan-notice,.plan-notice-body h3){font-size:16px;line-height:1.5}
 .balance-session{grid-template-columns:28px minmax(0,1fr) auto;gap:12px}.balance-session h3{overflow-wrap:anywhere}.balance-check{min-width:28px;min-height:28px}.balance-duration{min-height:44px;padding:8px;white-space:nowrap}.wheel-row strong{font-size:16px}.wheel-breakdown h3{font-size:21px}.tag{font-size:12px;line-height:1.4;white-space:normal;overflow-wrap:anywhere;max-width:100%}.exam-card{padding:22px}.exam-card h2{font-size:24px;line-height:1.3;overflow-wrap:anywhere}.exam-card>p{font-size:16px;line-height:1.6}.card-actions{gap:12px;flex-wrap:wrap}.exam-part-list>div{flex-wrap:wrap}.exam-part-list span{text-align:left}
 .agenda-day-nav{gap:8px}.agenda-day-picker{font-size:15px;min-width:150px;height:46px}.agenda-day-nav .agenda-secondary{min-width:44px;height:46px;font-size:16px}.agenda-day-strip .agenda-secondary{font-size:24px}
 .sidebar .app-nav{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:initial;gap:2px;padding-inline:6px}.sidebar .app-nav .nav-ajustes{display:none!important}.sidebar .app-nav button{font-size:12px;min-height:60px;padding:8px 2px;gap:5px}.sidebar .app-nav button span{width:24px;height:24px}.sidebar .app-nav svg{width:22px;height:22px}.shell{padding-bottom:calc(94px + env(safe-area-inset-bottom,0px))}
 :is(.auth-card,.parts-form,.welcome-card,dialog) :is(label,legend,.form-hint,.parts-hint,.study-support-note,.day-study-hint,.welcome-help,.welcome-intro,.welcome-review p){font-size:16px;line-height:1.6}.parts-form>p,.parts-form .part-choice,.parts-review p,.parts-extra{font-size:16px;line-height:1.5}.parts-header small,.parts-review article>span,.parts-review small{font-size:14px}.parts-review h3{font-size:18px}.parts-form .part-choice{min-height:52px;padding:14px}.parts-footer{gap:8px}.parts-footer button{font-size:16px;min-height:48px}
 .welcome-header{flex-wrap:wrap;gap:12px}.welcome-header>div{flex-wrap:wrap}.welcome-header button{font-size:14px}.welcome-chips span{font-size:16px;padding:12px 16px}.welcome-progress-copy>span,.welcome-aside li>span{font-size:14px}.welcome-day .welcome-day-label{font-size:16px}.welcome-day select{font-size:16px}.welcome-week h3{font-size:18px}.welcome-week p,.welcome-review p{font-size:16px;line-height:1.6}.welcome-custom{align-items:stretch;flex-wrap:wrap}.welcome-custom label{min-width:0}.welcome-custom button{margin-bottom:0}.welcome-actions .button{font-size:16px}
 .auth-card h2{font-size:26px}.auth-terms:not([hidden]),.auth-forgot,.notify-row,.legal-meta{font-size:15px}.legal{font-size:16px}.legal table{font-size:14px}footer{font-size:13px;line-height:1.6}#toast{font-size:15px;line-height:1.5;max-width:calc(100% - 32px)}
 .calendar{gap:5px}.calendar .weekday{font-size:12px;letter-spacing:0;padding:10px 0}.calendar .cal-day{min-height:64px;padding:8px 2px;display:flex;flex-direction:column;align-items:center;gap:6px}.calendar .day-number{font-size:17px;width:30px;height:30px;display:grid;place-items:center}.calendar .cal-event{display:none}.calendar .cal-day:has(.cal-event)::after{content:'';width:5px;height:5px;flex-shrink:0;border-radius:50%;background:var(--accent)}.calendar .cal-day.selected{outline:2px solid var(--accent);outline-offset:-2px}.calendar-top{flex-wrap:wrap}.calendar-top h2{font-size:18px;line-height:1.4}.calendar-actions{flex-wrap:wrap;gap:8px}.day-details .section-heading{flex-wrap:wrap;gap:8px}.legend{font-size:13px;flex-wrap:wrap;gap:12px}.cal-day>span:not(.day-number){display:none}
}

.calendar-mobile-hint{display:none}
@media(max-width:780px){
 main .calendar-actions .button{font-size:15px;padding:10px 14px}.section-heading:has(>.calendar-top){display:grid;grid-template-columns:1fr;gap:12px}.calendar-top{gap:8px;flex-wrap:nowrap}.calendar-top h2{flex:1;min-width:0;margin:0}.calendar-actions{justify-content:flex-end}.legend>span{display:none}.legend>.calendar-mobile-hint{display:block;font-size:15px;line-height:1.5;color:var(--muted)}.calendar .cal-day:has(.exam-event)::after{width:8px;height:8px}.day-details+.plan-notice{margin-top:24px}
 main .card-actions .text-button,main .calendar-activity .text-button,main .agenda-exams button,main .agenda-section-heading .text-button,main .hours-row .text-button{font-size:16px;min-height:44px}.auth-forgot{min-height:44px;display:grid;place-items:center}
}

.agenda-time-bottom,.wheel-mobile-details{display:none}
@media(max-width:780px){
 .sidebar{background:var(--soft);border-bottom:0;padding-bottom:18px}.shell{background:var(--soft)}.shell>main{border-radius:28px 28px 0 0;background:var(--bg);padding-top:20px;min-height:calc(100dvh - 160px)}.shell>footer{background:var(--bg)}
 .agenda-heading .agenda-date,.agenda-time-top{display:none!important}.agenda-heading{margin-bottom:12px}.agenda-heading>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.agenda-heading h1{margin:0}.agenda-heading .agenda-goal{margin:0;font-size:13px;padding:7px 10px}.agenda-day-nav{margin-bottom:16px}.agenda-time-bottom{display:inline-flex;align-items:center;justify-content:center;margin:18px 0 6px}
 .wheel-budget{padding:18px;margin-bottom:22px}.wheel-budget .balance-budget-heading{margin-bottom:14px}.wheel-budget .wheel-layout{display:grid;grid-template-columns:124px minmax(0,1fr);align-items:center;gap:14px}.wheel-budget .budget-wheel{width:124px;height:124px;min-width:0}.wheel-budget .budget-wheel svg{width:124px;height:124px}.wheel-budget .wheel-center strong{font-size:26px;line-height:1.25}.wheel-budget .wheel-center span{font-size:12px}.wheel-budget .wheel-breakdown{min-width:0}.wheel-budget .wheel-breakdown h3{font-size:18px;line-height:1.4;margin:0 0 10px}.wheel-budget .wheel-breakdown .wheel-row[data-budget-preview="false"]{display:none}.wheel-budget .wheel-breakdown .wheel-row{font-size:14px;gap:6px;margin:8px 0}.wheel-budget .wheel-breakdown .wheel-row span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wheel-budget .wheel-breakdown .wheel-row strong{font-size:14px;white-space:nowrap}.wheel-budget>.balance-budget-detail:not(.balance-overflow){display:none}.wheel-mobile-details{display:block;margin-top:12px}.wheel-mobile-details summary{font-size:15px;min-height:44px;display:flex;align-items:center;color:var(--accent);cursor:pointer}.wheel-detail-rows .wheel-row{font-size:16px;line-height:1.5;padding:7px 0}.wheel-detail-rows .wheel-row span{overflow-wrap:anywhere}.wheel-mobile-details .balance-budget-detail{font-size:15px;line-height:1.6}
}
@media(max-width:780px){
 html[data-theme] .sidebar{background:var(--soft)}.wheel-budget .balance-budget-heading{flex-direction:row;align-items:center;gap:8px;margin:0 0 12px}.wheel-budget .balance-budget-heading h2{margin:0;font-size:18px}.wheel-budget .wheel-layout{margin-top:0}.wheel-budget .wheel-breakdown .wheel-row{padding:4px 0;margin:2px 0}
 .balance-home .balance-session{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:start;gap:10px;padding:16px 0}.balance-session>div{min-width:0}.balance-session .balance-check{margin-top:3px}.balance-session .balance-duration{margin-left:0;min-height:44px;text-align:right;align-self:center;padding:6px 2px}.balance-session p{line-height:1.5}
}
@media(max-width:780px){html[data-theme] .shell>header{background:transparent}.balance-home .agenda-section-heading h2{font-size:20px;line-height:1.35}}

.mobile-add-label{display:none}
@media(max-width:780px){
 .heading>#add-exam{width:48px;min-width:48px;height:48px;padding:0;display:grid;place-items:center;flex-shrink:0}.heading>#add-exam .desktop-add-label{display:none}.heading>#add-exam .mobile-add-label{display:inline;font-size:26px;line-height:1}.heading>div{min-width:0}
 main .exam-card .exam-date,main .exam-card .progress-copy,main .exam-card .card-meta{font-size:15px;line-height:1.6}
}
@media(max-width:780px){.welcome-progress-copy .eyebrow{font-size:13px;letter-spacing:1px}}
/* Calendario: cuadrícula ligera y detalle del día en una ventana. */
.calendar{gap:0;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--surface)}.calendar .weekday{background:var(--surface);border-bottom:1px solid var(--border);font-weight:500}.calendar .cal-day{background:transparent;border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:0}.calendar .cal-day:nth-child(7n){border-right:0}.calendar .cal-day.outside .day-number{opacity:.5}.calendar .cal-day.selected{outline:0}.calendar .cal-day.selected:not(.current) .day-number{background:var(--soft);color:var(--accent);border-radius:50%}.calendar-markers{display:none}
.calendar-day-dialog{width:min(640px,calc(100% - 28px));max-height:85dvh;padding:24px;border:1px solid var(--border);border-radius:20px;background:var(--surface);color:var(--ink);overflow:auto}.calendar-day-dialog::backdrop{background:#0007;backdrop-filter:blur(3px)}.day-popup-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.day-popup-head>div{min-width:0}.day-popup-head small{color:var(--muted);font-size:14px}.day-popup-head h2{font:600 23px/1.35 Sora,sans-serif;margin:6px 0 0;text-transform:capitalize}.day-popup-capacity{font-size:15px;color:var(--muted);margin:16px 0 24px}.calendar-day-dialog .panel{border:0;box-shadow:none;background:transparent}.calendar-day-dialog .panel-title{font-size:13px;gap:12px;flex-wrap:wrap;line-height:1.6;padding:0 0 12px}.calendar-day-dialog .task{padding:18px 0;gap:12px;align-items:center}.calendar-day-dialog .task-info{min-width:0}.calendar-day-dialog .task h3{font-size:17px;line-height:1.45}.calendar-day-dialog .task p,.calendar-day-dialog .empty{font-size:15px;line-height:1.6}.calendar-day-dialog .duration{font-size:15px;white-space:nowrap}.calendar-day-dialog .popup-start{background:var(--soft);color:var(--accent);border-radius:10px;min-height:44px;padding:8px}.calendar-day-dialog .calendar-activities{background:transparent;border:0;padding:0;margin-top:24px}.calendar-day-dialog .calendar-activities h3{font-size:18px}.calendar-day-dialog .calendar-activity p{font-size:15px;line-height:1.6}.calendar-day-dialog .text-button{min-height:44px;font-size:15px}.day-popup-exams{margin:20px 0}.day-popup-exams h3{font-size:18px}.day-popup-exam{display:grid;gap:6px;width:100%;text-align:left;padding:16px;margin:8px 0;border-radius:12px;background:var(--soft);color:var(--ink)}.day-popup-exam strong{font-size:17px}.day-popup-exam span{font-size:15px;line-height:1.5;color:var(--muted)}
.welcome-actions{display:grid;gap:10px}.welcome-encouragement{font-size:15px;line-height:1.5;color:var(--accent);margin:0}.welcome-action-buttons{display:flex;align-items:center;justify-content:space-between;gap:12px}
@media(max-width:780px){
 .sidebar .app-nav{padding-top:4px;padding-bottom:max(4px,env(safe-area-inset-bottom,0px))}.sidebar .app-nav button{min-height:48px;padding:4px 2px;gap:3px;font-size:12px}.sidebar .app-nav button span,.sidebar .app-nav svg{width:20px;height:20px}.shell{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
 .calendar .weekday{font-size:12px;padding:10px 0}.calendar .cal-day{min-height:76px;padding:8px 2px;gap:6px}.calendar .cal-day:has(.cal-event)::after{content:none}.calendar .cal-day>.calendar-markers{display:flex;justify-content:center;gap:3px;flex-wrap:wrap;min-height:8px;max-width:100%}.calendar-markers i{width:5px;height:5px;border-radius:50%;flex-shrink:0}.calendar-markers .calendar-exam-marker{width:7px;height:7px;background:var(--accent)}.calendar-markers .calendar-activity-marker{background:var(--muted)}
 .calendar-day-dialog{position:fixed;inset:auto 0 max(8px,env(safe-area-inset-bottom,0px));margin:0 auto;width:calc(100% - 20px);max-height:calc(100dvh - 44px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));border-radius:24px;padding:20px}.calendar-day-dialog .task{display:grid;grid-template-columns:28px minmax(0,1fr) auto}.calendar-day-dialog .check{width:28px;height:28px;min-width:28px}.calendar-day-dialog .task h3{font-size:16px}.calendar-day-dialog .task p{font-size:15px}.calendar-day-dialog .progress-copy{font-size:14px}.calendar-day-dialog .calendar-activity{flex-wrap:wrap}.calendar-day-dialog .calendar-activity>div{min-width:0;flex:1}.calendar-day-dialog .calendar-activities .section-heading{flex-wrap:wrap;gap:8px}
 .balance-home .wheel-budget{height:var(--home-budget-room,450px);min-height:0;display:flex;flex-direction:column;padding:20px;margin-bottom:24px}.wheel-budget .wheel-layout{flex:1;display:flex;flex-direction:column;justify-content:space-evenly;align-items:center;gap:14px;min-height:0}.wheel-budget .budget-wheel,.wheel-budget .budget-wheel svg{width:clamp(140px,calc(var(--home-budget-room,450px)*.43),240px);height:clamp(140px,calc(var(--home-budget-room,450px)*.43),240px)}.wheel-budget .budget-wheel{flex-shrink:0}.wheel-budget .wheel-center strong{font-size:38px}.wheel-budget .wheel-center span{font-size:14px}.wheel-budget .wheel-breakdown{width:100%;max-width:320px}.wheel-budget .wheel-breakdown h3{font-size:20px;text-align:center;margin:0 0 10px}.wheel-budget .wheel-breakdown .wheel-row{font-size:16px;padding:5px 0;margin:0}.wheel-budget .wheel-breakdown .wheel-row strong{font-size:16px}.wheel-mobile-details{margin-top:10px;flex-shrink:0}.wheel-mobile-details summary{min-height:38px;font-size:15px}.wheel-budget:has(.wheel-mobile-details[open]){height:auto;min-height:var(--home-budget-room,450px)}
 .welcome-action-buttons>.primary{flex:1}.welcome-action-buttons .button{min-height:44px;font-size:16px}
}
@media(max-width:780px) and (max-height:700px){.wheel-budget .wheel-layout{display:grid;grid-template-columns:124px minmax(0,1fr);gap:14px;align-items:center}.wheel-budget .budget-wheel,.wheel-budget .budget-wheel svg{width:124px;height:124px}.wheel-budget .wheel-center strong{font-size:28px}.wheel-budget .wheel-breakdown h3{font-size:18px;text-align:left}.wheel-budget .wheel-breakdown .wheel-row{display:none}.wheel-budget .wheel-breakdown .wheel-row strong{font-size:14px}.balance-home .wheel-budget{padding:16px}}
.calendar-day-dialog .day-popup-head h2{text-transform:none}.day-popup-head h2::first-letter{text-transform:uppercase}
@media(max-width:780px){.calendar-day-dialog .task-info{grid-column:2}.calendar-day-dialog .duration{grid-column:3}.calendar-day-dialog .task>.stat-icon{display:grid;grid-column:1;place-items:center;align-self:start}}

/* Bienvenida sin pasos visibles y tareas personales. */
.welcome-layout{display:block;max-width:760px;margin-inline:auto}.welcome-card{width:100%}.welcome-card>h1{margin-top:8px}.pending-section{margin-top:28px}.pending-section .section-heading{gap:12px}.pending-section h2{font-size:22px}.pending-row{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding:16px 0;border-bottom:1px solid var(--border)}.pending-row .check{width:28px;height:28px;min-width:28px}.pending-row h3{font-size:16px;line-height:1.5;margin:0 0 4px;overflow-wrap:anywhere}.pending-row p{font-size:14px;color:var(--muted);margin:0;line-height:1.6}.pending-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:8px}.pending-actions button{min-height:40px;font-size:14px}.pending-section .pending-empty{font-size:15px;color:var(--muted);line-height:1.6}.pending-done{margin-top:14px;font-size:15px}.pending-done summary{min-height:44px;cursor:pointer}.pending-row.done h3{text-decoration:line-through;color:var(--muted)}.pending-dialog{width:min(520px,calc(100% - 24px));max-height:calc(100dvh - 40px);padding:24px;border-radius:20px;border:1px solid var(--border);background:var(--surface);color:var(--ink);overflow:auto}.pending-dialog::backdrop{background:#0007}.pending-dialog label{font-size:15px}.pending-dialog input{min-height:48px;font-size:16px}.pending-dialog .welcome-action-buttons{gap:12px}.pending-dialog h2{font-size:22px}.pending-dialog p{font-size:15px;line-height:1.6;color:var(--muted)}

.pending-dialog .day-popup-head h2{text-transform:none}.calendar-pending-marker{background:var(--accent)}.pending-dialog .ai-error{color:var(--accent)}

/* Inicio de sesión explícito, con duración independiente. */
.balance-session>.balance-session-actions{flex:0 0 auto;display:flex;align-items:center;gap:16px}.session-duration{font-size:16px;color:var(--muted);white-space:nowrap}.session-start{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--soft);color:var(--accent);border:1px solid var(--border);border-radius:12px;min-height:44px;padding:10px 16px;font-size:16px;font-weight:600;white-space:nowrap}.session-start:hover{background:var(--accent);color:var(--surface)}.balance-aside>.agenda-exams:first-child{margin-top:0}
@media(max-width:780px){.balance-home .balance-session{grid-template-columns:28px minmax(0,1fr)}.balance-session>.balance-session-actions{grid-column:2;justify-content:space-between;flex-basis:auto;width:100%;margin-top:4px}.balance-session .session-start{min-width:112px}.balance-session .session-duration{font-size:16px}}

.balance-home .balance-aside,.balance-home .balance-aside .agenda-exams{border-top:0}.balance-home .balance-aside .agenda-exams{padding-top:0}

/* Mes completo, descansos discretos y marca de examen junto al día. */
:root{--calendar-weekend:color-mix(in srgb,var(--accent) 5%,var(--surface));--calendar-holiday:color-mix(in srgb,var(--accent) 12%,var(--surface))}.calendar .cal-day{position:relative}.calendar .cal-day.weekend,.calendar .weekday-weekend{background:var(--calendar-weekend)}.calendar .cal-day.holiday{background:var(--calendar-holiday)}.calendar .cal-day .calendar-exam-flag{display:grid!important;position:absolute;top:8px;right:7px;place-items:center;width:17px;height:17px;border-radius:5px;background:var(--accent);color:var(--surface);font-size:10px;font-weight:700;line-height:1}.calendar-key{display:inline-flex!important;align-items:center;gap:6px}.legend .weekend-key{background:var(--calendar-weekend);border:1px solid var(--border);border-radius:3px;width:12px;height:12px}.legend .holiday-key{background:var(--calendar-holiday);border:1px solid var(--border);border-radius:3px;width:12px;height:12px}.legend b{display:grid;place-items:center;background:var(--accent);color:var(--surface);width:16px;height:16px;border-radius:4px;font-size:10px}.calendar-holiday-label{font-size:15px;color:var(--accent);background:var(--soft);padding:10px 14px;border-radius:10px}.calendar-actions{flex-wrap:wrap;gap:8px}.legend{flex-wrap:wrap;row-gap:10px}
@media(max-width:780px){.calendar .cal-day .calendar-exam-flag{width:13px;height:13px;font-size:9px;top:5px;right:4px}.calendar .cal-day{min-height:72px}.calendar-mobile-hint{flex-basis:100%}.legend .calendar-key{font-size:12px}.calendar-actions .button{font-size:14px;padding:10px 12px;min-height:44px}}

.day-checkin-dialog{width:min(620px,calc(100% - 24px));max-height:calc(100dvh - 48px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding:24px;background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:24px;overflow:auto}.day-checkin-dialog::backdrop{background:#0008;backdrop-filter:blur(3px)}.day-checkin-dialog h2{text-transform:none;font-size:24px}.day-checkin-dialog>p{font-size:16px;line-height:1.6}.checkin-tasks article{display:flex;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--border)}.checkin-tasks article>div{flex:1;min-width:0}.checkin-tasks strong{color:var(--accent);font-size:15px}.checkin-tasks h3{font-size:16px;line-height:1.5;margin:5px 0;overflow-wrap:anywhere}.checkin-tasks span{font-size:14px;color:var(--muted)}.checkin-tasks button{min-height:44px;font-size:15px}.checkin-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;position:sticky;bottom:-24px;background:var(--surface);padding:16px 0;margin-top:16px;border-top:1px solid var(--border)}.checkin-actions button{min-height:46px;font-size:16px}.checkin-actions .primary{flex:1}.checkin-reminder{min-height:44px;margin-top:16px;font-size:16px}#session-form [data-page-feedback] small{font-size:14px;line-height:1.6;color:var(--muted)}

/* Exámenes por temas: filas de temas, explicación del plan y estudio fuera del plan. */
.topic-rows{display:grid;gap:12px;margin:14px 0 8px}
.topic-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--bg)}
.topic-row legend{font-size:12px;color:var(--muted);padding:0 4px}
.topic-row input[name="topicTitle"]{grid-column:1/-1}
.topic-row label{margin:0;font-size:13px;color:var(--muted)}
.topic-row .delete{grid-column:1/-1;justify-self:start;min-height:36px}
.topic-summary{margin:6px 0 8px;padding-left:18px;font-size:14px;line-height:1.6}
.plan-why{margin:18px 0 0;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--soft)}
.plan-why h3{margin:0 0 8px;font-size:16px}
.plan-why-main{margin:4px 0;font-size:15px;line-height:1.5}
.plan-why ul,.exam-why ul{margin:8px 0 0;padding-left:18px;font-size:14px;line-height:1.6;color:var(--muted)}
.exam-why{margin:10px 0 0;font-size:13px;color:var(--muted)}
.exam-why summary{cursor:pointer;min-height:36px;padding:8px 0}
.session-why{margin:4px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}
.day-load{margin:0 0 14px;font-size:14px;line-height:1.5;color:var(--muted)}
.off-plan-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:480px){.topic-row,.off-plan-row{grid-template-columns:1fr}}
.off-plan-button{display:block;min-height:44px;margin-top:12px;font-size:15px;text-align:left}
.fix-options{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}.fix-options span{font-size:13px;width:100%}.fix-options .button{min-height:44px;white-space:normal;text-align:left}.exam-fit p{margin:0}
.topic-tell{margin:12px 0 16px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--soft)}.topic-tell textarea{width:100%;min-height:84px}.topic-tell .button{min-height:44px}
.day-hours{display:flex;align-items:center;gap:10px;margin:0 0 6px;font-size:15px}.day-hours span{flex:1}.day-hours strong{min-width:72px;text-align:center;font-size:16px}.day-hours-step{width:44px;height:44px;border-radius:999px;border:1px solid var(--border);background:var(--bg);color:inherit;font-size:20px;cursor:pointer}.day-hours-step:disabled{opacity:.4;cursor:default}.day-hours-note{margin:0 0 12px}
.topic-tell textarea{box-sizing:border-box;font:inherit;font-size:16px;line-height:1.5;color:inherit;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin-top:6px}
