.landing{flex-direction:column;min-height:100vh;display:flex}.landing-nav{z-index:100;background:var(--surface);border-bottom:1px solid var(--border);padding:0 2rem;position:sticky;top:0}.landing-nav-inner{justify-content:space-between;align-items:center;max-width:1100px;height:3.5rem;margin:0 auto;display:flex}.landing-brand{align-items:center;gap:.5rem;display:flex}.landing-brand-logo{width:auto;height:2rem}.landing-brand-name{color:var(--text);font-size:1.15rem;font-weight:600}.landing-nav-right{align-items:center;gap:.6rem;display:flex}.landing-btn-ghost{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.45rem 1rem;font-family:inherit;font-size:.9rem;transition:background .15s,color .15s}.landing-btn-ghost:hover{background:var(--btn-ghost-hover);color:var(--text)}.landing-btn-primary{color:var(--btn-primary-text);background:var(--btn-primary-bg);cursor:pointer;border:none;border-radius:6px;padding:.45rem 1.1rem;font-family:inherit;font-size:.9rem;font-weight:500;transition:background .15s}.landing-btn-primary:hover{background:var(--btn-primary-hover)}.landing-hero{text-align:center;flex:none;padding:6rem 2rem 5rem}.landing-hero-inner{max-width:680px;margin:0 auto}.landing-hero-title{color:var(--text);margin-bottom:1.25rem;font-size:clamp(2.2rem,5vw,3.4rem);font-weight:700;line-height:1.15}.landing-hero-sub{color:var(--text-muted);margin-bottom:2.25rem;font-size:1.1rem;line-height:1.65}.landing-hero-ctas{flex-wrap:wrap;justify-content:center;gap:.85rem;margin-bottom:1.25rem;display:flex}.landing-cta-lg{border-radius:8px!important;padding:.75rem 2rem!important;font-size:1rem!important}.landing-cta-border{border:1px solid var(--border)!important}.landing-hero-note{color:var(--text-subtle);font-size:.825rem}.landing-features,.landing-pricing{padding:5rem 2rem}.landing-features{background:var(--surface)}.landing-section-inner{max-width:1100px;margin:0 auto}.landing-section-title{color:var(--text);text-align:center;margin-bottom:.5rem;font-size:1.75rem;font-weight:700}.landing-section-sub{color:var(--text-muted);text-align:center;margin-bottom:3rem;font-size:1rem}.landing-features-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.landing-feature-card{background:var(--surface-raised);border:1px solid var(--border);border-radius:10px;padding:1.5rem;transition:border-color .15s}.landing-feature-card:hover{border-color:var(--border-focus)}.landing-feature-icon{color:var(--text-muted);margin-bottom:.75rem;line-height:1}.landing-feature-name{color:var(--text);margin-bottom:.4rem;font-size:.975rem;font-weight:600}.landing-feature-desc{color:var(--text-muted);font-size:.875rem;line-height:1.55}.landing-pricing-cards{grid-template-columns:repeat(2,1fr);gap:1.5rem;max-width:680px;margin:0 auto;display:grid}.landing-plan-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.75rem}.landing-plan-card-pro{border-color:var(--btn-primary-bg);box-shadow:0 0 0 1px var(--btn-primary-bg)}.landing-plan-header{align-items:center;gap:.65rem;margin-bottom:1rem;display:flex}.landing-plan-name{color:var(--text);font-size:1.05rem;font-weight:600}.landing-plan-badge{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-radius:20px;padding:.18rem .55rem;font-size:.72rem;font-weight:500}.landing-plan-price{margin-bottom:1.25rem}.landing-plan-amount{color:var(--text);font-size:2rem;font-weight:700}.landing-plan-period{color:var(--text-muted);margin-left:.25rem;font-size:.875rem}.landing-plan-features{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;list-style:none;display:flex}.landing-plan-features li{color:var(--text);padding-left:1.4rem;font-size:.875rem;line-height:1.4;position:relative}.landing-plan-features li:before{position:absolute;left:0}.landing-plan-features li.feat-yes:before{content:"✓";color:#22c55e;font-weight:600}.landing-plan-features li.feat-no{color:var(--text-muted)}.landing-plan-features li.feat-no:before{content:"✕";color:var(--text-subtle)}.landing-plan-btn{cursor:pointer;border:none;border-radius:8px;width:100%;padding:.7rem 1rem;font-family:inherit;font-size:.9rem;font-weight:500;transition:background .15s}.landing-plan-btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.landing-plan-btn-primary:hover{background:var(--btn-primary-hover)}.landing-plan-btn-outline{color:var(--text);background:0 0;border:1px solid var(--border)!important}.landing-plan-btn-outline:hover{background:var(--btn-ghost-hover)}.landing-footer{text-align:center;border-top:1px solid var(--border);margin-top:auto;padding:1.5rem 2rem}.landing-footer p{color:var(--text-subtle);font-size:.825rem}@media (width<=768px){.landing-features-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.landing-pricing-cards{grid-template-columns:1fr}}@media (width<=480px){.landing-nav{padding:0 1rem}.landing-nav-right .landing-btn-ghost{display:none}.landing-hero{padding:4rem 1.25rem 3rem}.landing-features,.landing-pricing{padding:3.5rem 1.25rem}.landing-features-grid{grid-template-columns:1fr}}.view-hidden{display:none!important}.app[data-theme=dark]{--bg:#111;--surface:#1c1c1c;--surface-raised:#252525;--border:#2e2e2e;--border-focus:#555;--text:#f0f0f0;--text-muted:#888;--text-subtle:#555;--shadow:#0006;--btn-primary-bg:#fff;--btn-primary-text:#111;--btn-primary-hover:#e5e5e5;--btn-ghost-text:#888;--btn-ghost-hover:#2a2a2a;--spinner-color:#888}.app[data-theme=light]{--bg:#f5f5f5;--surface:#fff;--surface-raised:#fafafa;--border:#dcdcdc;--border-focus:#999;--text:#111;--text-muted:#555;--text-subtle:#999;--shadow:#00000014;--btn-primary-bg:#111;--btn-primary-text:#fff;--btn-primary-hover:#2a2a2a;--btn-ghost-text:#666;--btn-ghost-hover:#eee;--spinner-color:#555}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;font-family:Segoe UI,system-ui,sans-serif}button{cursor:pointer;background:0 0;border:none}input,textarea{font-family:inherit}.app{background:var(--bg);min-height:100vh;color:var(--text);flex-direction:column;transition:background .2s,color .2s;display:flex}.app-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;padding:.85rem 2rem;position:sticky;top:0}.header-content{justify-content:space-between;align-items:center;max-width:960px;margin:0 auto;display:flex}.header-left{align-items:center;gap:.6rem;display:flex}.header-title{align-items:center;gap:.5rem;display:flex}.header-logo{width:auto;height:2.2rem}h1{color:var(--text);letter-spacing:-.02em;font-size:1.25rem;font-weight:700}.header-actions{align-items:center;gap:.5rem;display:flex}.app-main{width:100%;max-width:960px;margin:2rem auto;padding:0 1.5rem}.btn-icon{width:34px;height:34px;color:var(--text-muted);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.btn-icon:hover{background:var(--btn-ghost-hover);color:var(--text)}.btn-hamburger{flex-direction:column;gap:4px}.hamburger-line{background:currentColor;border-radius:1px;width:15px;height:1.5px;display:block}.btn-theme{font-size:1rem}.btn-new{background:var(--btn-primary-bg);color:var(--btn-primary-text);letter-spacing:-.01em;border-radius:7px;padding:.5rem 1.1rem;font-size:.875rem;font-weight:600;transition:background .15s}.btn-new:hover{background:var(--btn-primary-hover)}.modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{width:100%;max-width:500px;animation:.18s slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.reminder-form{background:var(--surface);border:1px solid var(--border);box-shadow:0 8px 32px var(--shadow);border-radius:14px;flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.form-header{justify-content:space-between;align-items:center;margin-bottom:.25rem;display:flex}.form-header h2{color:var(--text);font-size:1rem;font-weight:700}.btn-close{color:var(--text-muted);border-radius:6px;padding:.25rem .4rem;font-size:1rem;transition:background .15s}.btn-close:hover{background:var(--btn-ghost-hover);color:var(--text)}.form-error{color:#b91c1c;background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;padding:.55rem .75rem;font-size:.82rem}.app[data-theme=dark] .form-error{color:#fca5a5;background:#2d1010;border-color:#7f1d1d}.form-group{flex-direction:column;gap:.35rem;display:flex}.form-group label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:600}.form-group input[type=text]:not(.dtp-time-input),.form-group textarea{background:var(--surface-raised);border:1px solid var(--border);color:var(--text);resize:vertical;border-radius:8px;padding:.6rem .75rem;font-size:.9rem;transition:border-color .15s}.form-group input[type=text]:not(.dtp-time-input):focus,.form-group textarea:focus{border-color:var(--border-focus);outline:none}.form-field{flex-direction:column;gap:.35rem;display:flex}.form-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:600}.form-input{background:var(--surface-raised);border:1px solid var(--border);color:var(--text);border-radius:8px;width:100%;padding:.6rem .75rem;font-family:inherit;font-size:.9rem;transition:border-color .15s}.form-input:focus{border-color:var(--border-focus);outline:none}.form-input:disabled{opacity:.45;cursor:not-allowed}.form-input.input-error{border-color:#ef4444}.form-select{background:var(--surface-raised);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:8px;width:100%;padding:.6rem .75rem;font-family:inherit;font-size:.9rem;transition:border-color .15s}.form-select:focus{border-color:var(--border-focus);outline:none}.priority-options{flex-wrap:wrap;gap:.5rem;display:flex}.priority-label input[type=radio]{display:none}.priority-badge{cursor:pointer;border:1.5px solid;border-radius:20px;padding:.28rem .7rem;font-size:.78rem;font-weight:600;transition:all .15s;display:inline-block}.form-actions{justify-content:flex-end;gap:.6rem;padding-top:.25rem;display:flex}.btn-cancel{color:var(--btn-ghost-text);border:1px solid var(--border);border-radius:7px;padding:.5rem 1rem;font-size:.875rem;transition:background .15s,color .15s}.btn-cancel:hover{background:var(--btn-ghost-hover);color:var(--text)}.btn-delete{color:#fff;background:#ef4444;border:none;border-radius:7px;padding:.5rem 1rem;font-size:.875rem;transition:background .15s}.btn-delete:hover{background:#dc2626}.limit-warning{color:#f97316;margin:.35rem 0 0;font-size:.78rem}.char-counter{color:var(--text-subtle);margin-top:.2rem;font-size:.72rem;display:block}.desc-counter-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.2rem;display:flex}.desc-counter-row .char-counter{margin-top:0}.desc-pro-hint{cursor:pointer;color:var(--text-subtle);background:0 0;border:none;align-items:center;gap:.35rem;padding:0;font-size:.72rem;transition:color .15s;display:flex}.desc-pro-hint:hover{color:var(--text-secondary)}.btn-submit{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-radius:7px;padding:.5rem 1.2rem;font-size:.875rem;font-weight:600;transition:background .15s}.btn-submit:hover:not(:disabled){background:var(--btn-primary-hover)}.btn-submit:disabled{opacity:.45;cursor:not-allowed}.dtp-wrapper{position:relative}.dtp-fields{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.dtp-date-btn{background:var(--surface-raised);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:.4rem;padding:.55rem .75rem;font-size:.88rem;transition:border-color .15s,background .15s;display:flex}.dtp-date-btn:hover,.dtp-date-btn.active{border-color:var(--border-focus);background:var(--surface)}.dtp-date-btn svg{color:var(--text-muted);flex-shrink:0}.dtp-time{background:var(--surface-raised);border:1px solid var(--border);border-radius:8px;align-items:center;gap:.2rem;padding:.45rem .6rem;display:flex}.dtp-time-input{border:none;border-bottom:1.5px solid var(--border-focus);width:30px;color:var(--text);text-align:center;background:0 0;padding:0 0 1px;font-size:.88rem;font-weight:600;transition:border-color .15s}.dtp-time-input:focus{border-bottom-color:var(--text);outline:none}.dtp-sep{color:var(--text-muted);font-size:.88rem;font-weight:600}.dtp-ampm-btn{background:var(--btn-primary-bg);color:var(--btn-primary-text);letter-spacing:.03em;border-radius:5px;margin-left:.25rem;padding:.15rem .45rem;font-size:.75rem;font-weight:700;transition:background .15s}.dtp-ampm-btn:hover{background:var(--btn-primary-hover)}.dtp-calendar{z-index:200;background:var(--surface);border:1px solid var(--border);box-shadow:0 8px 32px var(--shadow);border-radius:12px;min-width:240px;padding:.75rem;animation:.15s slideUp;position:absolute;top:calc(100% + 6px);left:0}.cal-nav{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.cal-nav-btn{color:var(--text-muted);border-radius:6px;padding:.2rem .5rem;font-size:1.1rem;line-height:1;transition:background .15s,color .15s}.cal-month-label{color:var(--text);font-size:.85rem;font-weight:700}.cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal-dow{color:var(--text-subtle);text-align:center;text-transform:uppercase;padding:.2rem 0 .35rem;font-size:.68rem;font-weight:600}.cal-day{aspect-ratio:1;color:var(--text-muted);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-size:.8rem;transition:background .12s,color .12s;display:flex}.cal-day:hover:not(.cal-empty):not(.cal-selected){background:var(--btn-ghost-hover);color:var(--text)}.cal-day.cal-today{color:var(--text);border:1px solid var(--border-focus);font-weight:700}.cal-day.cal-selected{background:var(--btn-primary-bg);color:var(--btn-primary-text);font-weight:700}.cal-day.cal-empty{cursor:default}.reminder-list{flex-direction:column;gap:2rem;display:flex}.section-title{color:var(--text);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:.5rem;margin-bottom:.85rem;font-size:.85rem;font-weight:700;display:flex}.section-title.muted{color:var(--text-subtle)}.badge{background:var(--surface-raised);color:var(--text-muted);border:1px solid var(--border);text-transform:none;letter-spacing:0;border-radius:20px;padding:.1rem .5rem;font-size:.7rem;font-weight:600}.cards-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:.85rem;display:grid}.reminder-card{background:var(--surface);border:1px solid var(--border);border-radius:11px;flex-direction:column;gap:.7rem;padding:1rem;transition:border-color .15s,box-shadow .15s;display:flex}.reminder-card:hover{border-color:var(--border-focus);box-shadow:0 2px 12px var(--shadow)}.reminder-card.completed{opacity:.5}.reminder-card.overdue,.app[data-theme=light] .reminder-card.overdue{border-color:#dc2626}.reminder-card.pomodoro-active{border-color:#e05c5c;box-shadow:0 0 0 2px #e05c5c33}.reminder-card.pomodoro-active:hover{border-color:#e05c5c}.card-top{align-items:flex-start;gap:.7rem;display:flex}.check-btn{border:1.5px solid var(--border-focus);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;min-width:20px;height:20px;margin-top:1px;font-size:.7rem;transition:all .15s;display:flex}.check-btn:hover{border-color:var(--text-muted);background:var(--btn-ghost-hover)}.check-btn.checked{background:#16a34a;border-color:#16a34a}.card-body{flex:1;min-width:0}.card-title{color:var(--text);word-break:break-word;font-size:.9rem;font-weight:600;line-height:1.35}.completed .card-title{color:var(--text-subtle);text-decoration:line-through}.card-description{color:var(--text-muted);margin-top:.2rem;font-size:.8rem;line-height:1.45}.desc-toggle-btn{color:var(--accent,#6366f1);cursor:pointer;background:0 0;border:none;margin-left:.2rem;padding:0;font-size:.8rem;font-style:italic}.delete-btn{opacity:.3;color:var(--text);border-radius:5px;padding:.2rem;font-size:.85rem;transition:opacity .15s,background .15s}.delete-btn:hover{opacity:1;color:#dc2626;background:#fef2f2}.app[data-theme=dark] .delete-btn:hover{color:#f87171;background:#2d1010}.pomodoro-card-btn{cursor:pointer;opacity:.45;color:var(--text);background:0 0;border:none;padding:.2rem;font-size:.85rem;transition:opacity .15s,color .15s}.pomodoro-card-btn:hover{opacity:1;color:#e05c5c}.card-footer{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.priority-chip{text-transform:uppercase;letter-spacing:.05em;border:1px solid;border-radius:20px;padding:.18rem .55rem;font-size:.68rem;font-weight:700}.due-date{color:var(--text-subtle);margin-left:auto;font-size:.75rem}.overdue-text{color:#dc2626;font-weight:600}.app[data-theme=dark] .overdue-text{color:#f87171}.empty-state{text-align:center;color:var(--text-subtle);padding:4rem 2rem}.empty-icon{margin-bottom:1rem;font-size:2.5rem}.empty-state h2{color:var(--text-muted);margin-bottom:.4rem;font-size:1.1rem}.empty-state p{font-size:.875rem}.loading{color:var(--text-subtle);flex-direction:column;align-items:center;gap:1rem;padding:4rem;font-size:.875rem;display:flex}.spinner{border:2.5px solid var(--border);border-top-color:var(--spinner-color);border-radius:50%;width:32px;height:32px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.sidebar-overlay{z-index:40;background:#00000059;animation:.18s fadeIn;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sidebar{background:var(--surface);border-right:1px solid var(--border);z-index:50;width:230px;box-shadow:4px 0 20px var(--shadow);flex-direction:column;transition:transform .22s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.85rem 1rem;display:flex}.sidebar-brand{color:var(--text);align-items:center;gap:.4rem;font-size:.9rem;font-weight:700;display:flex}.sidebar-close{border:none;width:28px;height:28px}.sidebar-nav{flex-direction:column;padding:.5rem 0;display:flex}.sidebar-item{color:var(--text-muted);text-align:left;border-radius:0;align-items:center;gap:.75rem;width:100%;padding:.7rem 1.25rem;font-size:.875rem;font-weight:500;transition:background .12s,color .12s;display:flex}.sidebar-item:hover{background:var(--btn-ghost-hover);color:var(--text)}.sidebar-item.active{background:var(--btn-ghost-hover);color:var(--text);font-weight:700}.sidebar-item-icon{flex-shrink:0;align-items:center;display:flex}.horario-page{flex-direction:column;gap:1.5rem;display:flex}.horario-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem;display:flex}.horario-title{color:var(--text);letter-spacing:-.02em;font-size:1.2rem;font-weight:700}.horario-subtitle{color:var(--text-subtle);margin-top:.2rem;font-size:.78rem}.horario-table-wrap{border:1px solid var(--border);border-radius:12px;overflow-x:auto}.horario-table{border-collapse:collapse;width:100%;min-width:680px}.horario-table th{background:var(--surface-raised);border-bottom:1px solid var(--border);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;text-align:center;padding:.65rem .75rem;font-size:.72rem;font-weight:700}.col-materia{z-index:1;min-width:150px;position:sticky;left:0;text-align:left!important}.col-dia{min-width:105px}.col-del{width:36px}.horario-table td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);vertical-align:middle}.horario-row:last-child td{border-bottom:none}.col-del,.cell-del{border-right:none!important}.cell-materia{background:var(--surface-raised);z-index:1;min-width:150px;padding:.5rem .75rem;position:sticky;left:0}.materia-name{color:var(--text);word-break:break-word;cursor:pointer;white-space:normal;border-radius:5px;padding:.25rem .35rem;font-size:.875rem;font-weight:600;transition:background .12s;display:block}.materia-name:hover{background:var(--btn-ghost-hover)}.materia-input{background:var(--surface);border:1px solid var(--border-focus);width:100%;color:var(--text);border-radius:5px;padding:.25rem .4rem;font-size:.875rem;font-weight:600}.materia-input:focus{outline:none}.cell-slot{text-align:center;cursor:pointer;height:52px;padding:.4rem .5rem;transition:background .12s}.cell-slot:hover:not(.is-editing){background:var(--btn-ghost-hover)}.cell-slot.is-editing{cursor:default;height:auto;min-height:52px;padding:.3rem}.cell-slot.drag-over{background:var(--accent-soft,#6366f126);outline:2px dashed var(--accent,#6366f1);outline-offset:-2px}.slot-value{color:var(--text);white-space:pre-line;font-size:.8rem;font-weight:500;line-height:1.35;display:block}.slot-aula{color:var(--text-muted);white-space:normal;word-break:break-word;overflow-wrap:break-word;max-width:100%;font-size:.7rem;display:block}.slot-aula-input{background:var(--surface-raised);border:1px solid var(--border);width:100%;color:var(--text);text-align:center;border-radius:4px;margin-top:2px;padding:.15rem .3rem;font-size:.7rem}.slot-aula-input:focus{border-color:var(--border-focus);outline:none}.slot-aula-input::placeholder{color:var(--text-subtle)}.slot-add{color:var(--text-subtle);opacity:0;font-size:1.1rem;transition:opacity .12s;display:block}.cell-slot:hover .slot-add{opacity:.6}.slot-input{background:var(--surface);border:1px solid var(--border-focus);width:100%;height:100%;color:var(--text);text-align:center;border-radius:6px;padding:.3rem .4rem;font-size:.8rem}.slot-input:focus{outline:none}.time-picker-wrap{gap:2px;padding:2px 0}.time-segment{align-items:center;gap:1px;display:flex}.time-seg-input{background:var(--surface-raised);border:1px solid var(--border);color:var(--text);text-align:center;-moz-appearance:textfield;border-radius:4px;padding:.15rem 0;font-size:.75rem}.time-seg-input::-webkit-inner-spin-button{-webkit-appearance:none}.time-seg-input::-webkit-outer-spin-button{-webkit-appearance:none}.time-seg-input:focus{border-color:var(--border-focus);outline:none}.time-seg-hour,.time-seg-min{width:26px}.time-seg-colon{color:var(--text-muted);margin:0 1px;font-size:.8rem;line-height:1}.time-seg-period{background:var(--btn-ghost-hover);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:4px;margin-left:2px;padding:.15rem .25rem;font-size:.65rem;font-weight:600;transition:background .1s,color .1s}.time-seg-period.pm,.time-seg-period:hover{background:var(--accent,#6366f1);color:#fff;border-color:#0000}.time-picker-clear-btn{background:var(--btn-ghost-hover);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:4px;padding:1px 5px;font-size:.8rem;font-weight:700;line-height:1;position:absolute;top:-1px;right:-1px}.time-picker-clear-btn:hover{color:#ef4444;background:#ef444420;border-color:#ef4444}.slot-clear-confirm{flex-direction:column;align-items:center;gap:.35rem;padding:.25rem .1rem;display:flex}.slot-clear-msg{color:var(--text-muted);text-align:center;white-space:nowrap;font-size:.7rem}.slot-clear-actions{gap:.3rem;display:flex}.slot-clear-yes{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:4px;padding:.2rem .5rem;font-size:.7rem;font-weight:600}.slot-clear-yes:hover{background:#dc2626}.slot-clear-no{background:var(--btn-ghost-hover);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:4px;padding:.2rem .5rem;font-size:.7rem;font-weight:600}.slot-clear-no:hover{background:var(--surface-raised)}.cell-del{text-align:center;width:36px;padding:0 .3rem}.cal-back-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin-bottom:.35rem;padding:0;font-size:.8rem;transition:color .12s;display:block}.cal-back-btn:hover{color:var(--text)}.cal-groups-list{flex-direction:column;gap:1rem;display:flex}.cal-group-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.cal-group-header{background:var(--surface-raised);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1.25rem;display:flex}.cal-group-name{color:var(--text);font-size:.95rem;font-weight:700}.cal-group-actions{align-items:center;gap:.5rem;display:flex}.cal-periods-list{flex-direction:column;gap:.15rem;padding:.4rem;display:flex}.cal-period-item{cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;padding:.7rem 1rem;transition:background .12s;display:flex}.cal-period-item:hover{background:var(--btn-ghost-hover)}.cal-period-info{flex-direction:column;gap:.15rem;display:flex}.cal-period-name{color:var(--text);font-size:.875rem;font-weight:600}.cal-period-meta{color:var(--text-muted);font-size:.75rem}.cal-no-periods{color:var(--text-subtle);padding:.75rem 1.25rem;font-size:.8rem}.cal-col-final{background:var(--surface-raised)!important;font-weight:800!important}.cal-final-cell{background:var(--surface-raised);text-align:center}.cal-final-val{font-size:.9rem;font-weight:700}.cal-pass{color:#10b981}.cal-fail{color:#ef4444}.cal-cell-wrap{flex-direction:column;align-items:center;display:flex;position:relative}.cal-score-input{text-align:center;width:72px!important}.cal-score-select{cursor:pointer;padding:.2rem .25rem;width:72px!important}.settings-passing-select{background:var(--surface);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:6px;min-width:4rem;padding:.3rem .5rem;font-size:.9rem}.cal-cell-error{color:#ef4444;white-space:nowrap;background:var(--surface);z-index:5;pointer-events:none;border:1px solid #ef4444;border-radius:4px;padding:.1rem .35rem;font-size:.65rem;position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%)}.cal-cell-conflict{color:#f97316;white-space:nowrap;background:var(--surface);z-index:5;pointer-events:none;border:1px solid #f97316;border-radius:4px;padding:.1rem .35rem;font-size:.65rem;position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%)}.cal-choice-btns{flex-wrap:wrap;gap:.5rem;margin-top:.3rem;display:flex}.cal-choice-btn{border:2px solid var(--border);min-width:120px;color:var(--text-muted);background:var(--surface);cursor:pointer;text-align:center;border-radius:8px;flex:1;padding:.6rem .75rem;font-size:.8rem;font-weight:500;transition:all .15s}.cal-choice-btn:hover{background:var(--btn-ghost-hover);color:var(--text)}.cal-choice-btn:disabled{opacity:.4;cursor:not-allowed}.cal-choice-btn:disabled:hover{background:var(--surface);color:var(--text-muted)}.cal-choice-btn.active{border-color:var(--btn-primary-bg);color:var(--text);font-weight:600}.cal-warn{color:#f59e0b;margin-top:.35rem;font-size:.78rem}.field-required{color:#ef4444;font-weight:700}.field-error-msg{color:#ef4444;margin-top:.3rem;font-size:.78rem}.input-error{border-color:#ef4444!important}.cal-add-row-wrap{flex-direction:column;display:flex}.cal-add-error{margin-top:.25rem;margin-left:.1rem}.cal-num-input{background:var(--surface-raised);border:1px solid var(--border);color:var(--text);border-radius:8px;width:100%;padding:.6rem .75rem;font-family:inherit;font-size:.9rem;transition:border-color .15s}.cal-num-input:focus{border-color:var(--border-focus);outline:none}.cal-add-row{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem;display:flex}.cal-add-input{background:var(--surface-raised);border:1px solid var(--border);min-width:160px;color:var(--text);border-radius:8px;flex:1;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s}.cal-add-input:focus{border-color:var(--border-focus);outline:none}.login-page{background:var(--bg);min-height:100vh;color:var(--text);justify-content:center;align-items:center;padding:1.5rem;transition:background .2s,color .2s;display:flex;position:relative}.login-theme-btn{position:absolute;top:1.25rem;right:1.25rem}.login-card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:380px;box-shadow:0 8px 40px var(--shadow);border-radius:18px;flex-direction:column;gap:.5rem;padding:2.25rem 2rem;display:flex}.login-brand{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.login-brand-logo{width:auto;height:3rem}.sidebar-logo{width:auto;height:2rem}.login-brand-name{letter-spacing:-.04em;color:var(--text);font-size:1.75rem;font-weight:800}.login-subtitle{color:var(--text-muted);margin-bottom:.75rem;font-size:.875rem}.login-form{flex-direction:column;gap:.9rem;margin-top:.25rem;display:flex}.login-error{color:#b91c1c;background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;padding:.55rem .75rem;font-size:.82rem}.app[data-theme=dark] .login-error{color:#fca5a5;background:#2d1010;border-color:#7f1d1d}.login-success{color:#15803d;background:#f0fdf4;border:1px solid #86efac;border-radius:8px;padding:.55rem .75rem;font-size:.82rem}.app[data-theme=dark] .login-success{color:#86efac;background:#052e16;border-color:#166534}.login-verify{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:.5rem 0;display:flex}.login-verify-icon{font-size:2.5rem;line-height:1}.login-verify-title{margin:0;font-size:1.25rem;font-weight:700}.login-verify-subtitle{color:var(--text-muted);margin:0;font-size:.9rem}.login-verify-email{color:var(--accent);margin:0;font-size:.85rem;font-weight:600}.login-verify .login-submit{width:100%;margin-top:.25rem}.login-field{flex-direction:column;gap:.35rem;display:flex}.login-field label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:600}.login-field-header{justify-content:space-between;align-items:center;display:flex}.login-input-wrap{align-items:center;display:flex;position:relative}.login-input-wrap input{flex:1;padding-right:2.5rem!important}.login-eye-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;align-items:center;padding:.25rem;transition:color .15s;display:flex;position:absolute;right:.6rem}.login-eye-btn:hover{color:var(--text)}.login-field input{background:var(--surface-raised);border:1px solid var(--border);color:var(--text);border-radius:8px;width:100%;padding:.65rem .75rem;font-family:inherit;font-size:.9rem;transition:border-color .15s}.login-field input:focus{border-color:var(--border-focus);outline:none}.login-link{color:var(--text-muted);text-underline-offset:2px;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.75rem;text-decoration:underline;transition:color .15s}.login-link:hover{color:var(--text)}.login-link-bold{font-weight:600}.login-submit{background:var(--btn-primary-bg);color:var(--btn-primary-text);letter-spacing:-.01em;border-radius:8px;margin-top:.25rem;padding:.65rem 1rem;font-size:.9rem;font-weight:700;transition:background .15s}.login-submit:hover:not(:disabled){background:var(--btn-primary-hover)}.login-submit:disabled{opacity:.45;cursor:not-allowed}.login-field-error{color:#b91c1c;margin-top:.2rem;font-size:.75rem;display:block}.app[data-theme=dark] .login-field-error{color:#fca5a5}.pwd-strength{align-items:center;gap:.5rem;margin-top:.35rem;display:flex}.pwd-strength-bars{flex:1;gap:3px;display:flex}.pwd-strength-segment{background:var(--border);border-radius:2px;flex:1;height:4px;transition:background .25s}.pwd-strength-label{white-space:nowrap;text-align:right;min-width:4.5rem;font-size:.7rem;font-weight:600;transition:color .25s}.login-footer{text-align:center;color:var(--text-muted);margin-top:.5rem;font-size:.82rem}.sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding:.75rem 0}.sidebar-user-email{color:var(--text-subtle);white-space:nowrap;text-overflow:ellipsis;padding:.25rem 1.25rem .5rem;font-size:.72rem;overflow:hidden}.sidebar-logout{width:100%;color:var(--text-muted)!important}.sidebar-logout:hover{color:#ef4444!important;background:#fef2f2!important}.sidebar-logout-confirm{padding:.5rem .75rem}.sidebar-logout-msg{color:var(--text);margin:0 0 .6rem;font-size:.82rem}.sidebar-logout-actions{gap:.5rem;display:flex}.sidebar-logout-actions .btn-cancel,.sidebar-logout-actions .btn-delete{flex:1;padding:.35rem 0;font-size:.8rem}.app[data-theme=dark] .sidebar-logout:hover{color:#f87171!important;background:#2d1010!important}.materia-select{background:var(--surface-raised);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:8px;padding:.6rem .75rem;font-family:inherit;font-size:.9rem;transition:border-color .15s}.materia-select:focus{border-color:var(--border-focus);outline:none}.upcoming-classes{flex-wrap:wrap;gap:.4rem;display:flex}.class-btn{background:var(--surface-raised);border:1.5px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:20px;padding:.3rem .75rem;font-size:.78rem;font-weight:600;transition:all .15s}.class-btn:not(.class-btn-active):hover{border-color:var(--border-focus);color:var(--text)}.class-btn-active:hover{border-color:var(--btn-primary-bg);color:var(--btn-primary-text)}.class-btn-active{background:var(--btn-primary-bg);border-color:var(--btn-primary-bg);color:var(--btn-primary-text)}.card-body-clickable{cursor:pointer;border-radius:6px;margin:-.1rem -.3rem;padding:.1rem .3rem;transition:background .12s}.card-body-clickable:hover{background:var(--btn-ghost-hover)}.materia-edit-wrap{flex-direction:column;gap:.4rem;display:flex}.color-swatches{flex-wrap:wrap;gap:4px;padding:.1rem 0;display:flex}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;flex-shrink:0;width:18px;height:18px;padding:0;transition:transform .1s,border-color .1s}.color-swatch:hover{transform:scale(1.2)}.color-swatch-active{transform:scale(1.15);border-color:var(--text)!important}.color-swatch-none{color:var(--text-subtle);justify-content:center;align-items:center;font-size:9px;line-height:1;display:flex;background:var(--surface-raised)!important;border-color:var(--border)!important}.color-swatch-none.color-swatch-active{border-color:var(--text)!important}.materia-color-dot{vertical-align:middle;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-bottom:1px;margin-right:5px;display:inline-block}.materia-chip-card{white-space:normal;word-break:break-word;border:1px solid;border-radius:20px;align-items:center;gap:5px;max-width:120px;padding:.18rem .55rem;font-size:.68rem;font-weight:700;display:inline-flex}.materia-chip-none{border-color:var(--border);color:var(--text-subtle);background:0 0}.materia-dot-card{border-radius:50%;flex-shrink:0;width:7px;height:7px}.login-google-btn{background:var(--surface-raised);border:1.5px solid var(--border);width:100%;color:var(--text);border-radius:8px;justify-content:center;align-items:center;gap:.6rem;margin-top:.25rem;padding:.6rem 1rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:border-color .15s,background .15s;display:flex}.login-google-btn:hover:not(:disabled){border-color:var(--border-focus);background:var(--surface)}.login-google-btn:disabled{opacity:.5;cursor:not-allowed}.login-divider{color:var(--text-subtle);align-items:center;gap:.75rem;margin:.1rem 0;font-size:.75rem;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--border);flex:1;height:1px}.loading-fullscreen{justify-content:center;min-height:100vh}@media (width<=600px){.app-header{padding:.75rem 1rem}h1{font-size:1.05rem}.dtp-calendar{min-width:220px}.sidebar{width:200px}}.sub-page{max-width:820px;margin:0 auto;padding:2rem 1rem 4rem}.sub-hero{text-align:center;margin-bottom:2.5rem}.sub-title{margin:0 0 .4rem;font-size:1.75rem;font-weight:700}.sub-subtitle{color:var(--text-subtle);margin:0}.sub-error{color:#dc2626;background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.875rem}[data-theme=dark] .sub-error{color:#fca5a5;background:#450a0a;border-color:#7f1d1d}.sub-cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;margin-bottom:2rem;display:grid}.sub-card{background:var(--surface-raised);border:1.5px solid var(--border);border-radius:16px;flex-direction:column;gap:1.25rem;padding:1.75rem 1.5rem 1.5rem;transition:box-shadow .2s;display:flex}.sub-card-pro{border-color:var(--accent)}.sub-card-current{box-shadow:0 0 0 2px var(--accent)}.sub-card-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.sub-plan-name{font-size:1.05rem;font-weight:700}.sub-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:20px;padding:.2rem .55rem;font-size:.7rem;font-weight:700}.sub-badge-current{background:var(--accent);color:#fff}.sub-badge-popular{color:#fff;background:#f97316}.sub-price{align-items:baseline;gap:.25rem;display:flex}.sub-price-amount{font-size:2.25rem;font-weight:800}.sub-price-period{color:var(--text-subtle);font-size:.9rem}.sub-features{flex-direction:column;flex:1;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.sub-features li{align-items:flex-start;gap:.5rem;font-size:.875rem;display:flex}.sub-features li:before{content:"✓";color:#10b981;flex-shrink:0;font-weight:700}.sub-feature-no:before{content:"✕"!important;color:var(--text-subtle)!important}.sub-feature-no{color:var(--text-subtle)}.sub-btn{cursor:pointer;border:none;border-radius:10px;width:100%;padding:.65rem 1rem;font-size:.9rem;font-weight:600;transition:opacity .15s,background .15s}.sub-btn:disabled{opacity:.55;cursor:not-allowed}.sub-btn-primary{background:var(--accent);color:#fff}.sub-btn-primary:not(:disabled):hover{opacity:.88}.sub-btn-outline{border:1.5px solid var(--border);color:var(--text-subtle);background:0 0}.sub-guest-note{text-align:center;color:var(--text-subtle);margin-top:1rem;font-size:.875rem}.payment-banner{border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem;font-weight:500;display:flex}.payment-success{color:#15803d;background:#dcfce7}.payment-cancelled{color:#854d0e;background:#fef9c3}[data-theme=dark] .payment-success{color:#86efac;background:#14532d}[data-theme=dark] .payment-cancelled{color:#fde68a;background:#451a03}.payment-banner-close{cursor:pointer;opacity:.6;background:0 0;border:none;padding:0;font-size:.85rem;line-height:1}.sidebar-plan-section{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:.5rem;padding:.6rem .75rem}.sidebar-plan-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.sidebar-plan-badge{letter-spacing:.04em;border-radius:20px;padding:.18rem .5rem;font-size:.72rem;font-weight:700}.plan-pro{background:var(--accent);color:#fff}.plan-free{background:var(--border);color:var(--text-subtle)}.sidebar-plan-link{cursor:pointer;color:var(--accent);background:0 0;border:none;padding:0;font-size:.75rem;font-weight:600;text-decoration:underline}.login-guest-sep{color:var(--text-subtle);align-items:center;gap:.75rem;margin:1.25rem 0 .75rem;font-size:.8rem;display:flex}.login-guest-sep:before,.login-guest-sep:after{content:"";background:var(--border);flex:1;height:1px}.login-guest-btn{border:1.5px solid var(--border);width:100%;color:var(--text-subtle);cursor:pointer;background:0 0;border-radius:10px;padding:.6rem;font-size:.875rem;font-weight:500;transition:background .15s,color .15s}.login-guest-btn:hover:not(:disabled){background:var(--btn-ghost-hover);color:var(--text)}.login-guest-note{text-align:center;color:var(--text-subtle);margin:.4rem 0 0;font-size:.75rem}.settings-page{max-width:600px;margin:0 auto;padding:1.5rem 2rem}.settings-title{margin-bottom:1.75rem;font-size:1.4rem;font-weight:700}.settings-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:1.25rem;padding:1.25rem 1.5rem}.settings-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.9rem;font-size:.78rem;font-weight:600}.settings-lang-options{flex-direction:column;gap:.5rem;display:flex}.settings-lang-btn{border:1.5px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.95rem;transition:border-color .15s,background .15s;display:flex}.settings-lang-btn:hover{border-color:var(--border-focus);background:var(--surface-raised)}.settings-lang-btn.active{border-color:var(--btn-primary-bg);background:var(--surface-raised);font-weight:600}.settings-lang-flag{font-size:1.3rem;line-height:1}.settings-lang-name{text-align:left;flex:1}.settings-lang-check{color:var(--btn-primary-bg);align-items:center;display:flex}.settings-section-hint{color:var(--text-subtle);margin:-.4rem 0 .9rem;font-size:.82rem}.settings-empty-note{color:var(--text-subtle);font-size:.88rem}.settings-passing-list{flex-direction:column;gap:.55rem;display:flex}.settings-passing-row{align-items:center;gap:.75rem;display:flex}.settings-toggle-list{flex-direction:column;gap:.6rem;display:flex}.settings-toggle-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.settings-toggle-label{color:var(--text);font-size:.88rem}.settings-passing-name{color:var(--text-main);flex:1;font-size:.92rem}.settings-passing-input{border:1px solid var(--border);background:var(--surface-raised);width:5rem;color:var(--text-main);text-align:center;border-radius:6px;padding:.35rem .5rem;font-size:.9rem}.settings-passing-input:focus{border-color:var(--border-focus);outline:none}.settings-pom-list{flex-direction:column;gap:.55rem;margin-bottom:1rem;display:flex}.settings-pom-row{align-items:center;gap:.75rem;display:flex}.settings-pom-unit{color:var(--text-subtle);min-width:2rem;font-size:.82rem}.settings-pom-footer{align-items:center;gap:.75rem;display:flex}.settings-pom-save-btn{border:1px solid var(--border);background:var(--btn-primary-bg);color:var(--btn-primary-text);cursor:pointer;border-radius:8px;padding:.45rem 1.25rem;font-size:.88rem;font-weight:600;transition:opacity .15s}.settings-pom-save-btn:hover{opacity:.85}.settings-pom-save-btn:disabled{opacity:.6;cursor:not-allowed}.settings-pom-loading{height:6.3rem}.settings-pom-reset-btn{border:1px solid var(--border);color:var(--text-subtle);cursor:pointer;background:0 0;border-radius:8px;padding:.4rem 1.1rem;font-size:.85rem;font-weight:500;transition:color .15s,border-color .15s}.settings-pom-reset-btn:hover{color:var(--danger,#e74c3c);border-color:var(--danger,#e74c3c)}.settings-accordion-item{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:1.25rem;overflow:hidden}.settings-accordion-header{cursor:pointer;width:100%;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.5rem;font-size:.78rem;font-weight:600;transition:background .15s;display:flex}.settings-accordion-header:hover{background:var(--surface-raised)}.settings-accordion-label{flex:1}.settings-accordion-chevron{flex-shrink:0;transition:transform .2s}.settings-accordion-item.open .settings-accordion-chevron{transform:rotate(180deg)}.settings-accordion-body{max-height:0;transition:max-height .25s;overflow:hidden}.settings-accordion-item.open .settings-accordion-body{max-height:2000px}.settings-accordion-content{border-top:1px solid var(--border);padding:.75rem 1.5rem 1.25rem}.settings-accordion-content .settings-section-hint{margin-top:0}.settings-accordion-divider{background:var(--border);height:1px;margin:1rem 0}.toggle-switch{flex-shrink:0;width:36px;height:20px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{background:var(--border);cursor:pointer;border-radius:20px;transition:background .2s;position:absolute;inset:0}.toggle-slider:before{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .2s;position:absolute;top:3px;left:3px}.toggle-switch input:checked+.toggle-slider{background:var(--btn-primary-bg)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(16px)}.app[data-theme=dark] .toggle-switch input:checked+.toggle-slider:before{background:#111}.subtask-section{border-top:1px solid var(--border);flex-direction:column;gap:.75rem;margin-top:.25rem;padding-top:1rem;display:flex}.subtask-toggle-row{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;font-size:.95rem;display:flex}.subtask-pro-lock{cursor:pointer;width:100%;color:var(--text-secondary);opacity:.7;background:0 0;border:none;justify-content:space-between;align-items:center;padding:0;font-size:.95rem;transition:opacity .15s;display:flex}.subtask-pro-lock:hover{opacity:1}.subtask-pro-lock-text{font-size:.95rem}.subtask-pro-badge{color:#fff;letter-spacing:.03em;white-space:nowrap;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:99px;align-items:center;gap:.25rem;padding:.2rem .5rem;font-size:.7rem;font-weight:700;display:flex}.subtask-pro-lock-icon{font-size:.75rem}.subtask-options{flex-direction:column;gap:.75rem;padding-left:.5rem;display:flex}.subtask-option{flex-direction:column;gap:.4rem;display:flex}.subtask-option-label{color:var(--text-secondary);font-size:.85rem}.btn-create-subtask{background:var(--surface-raised);border:1px solid var(--border);cursor:pointer;color:var(--text);border-radius:8px;align-self:flex-start;padding:.5rem 1rem;font-size:.9rem;transition:border-color .15s}.btn-create-subtask:hover{border-color:var(--border-focus)}.subtask-parent-indicator{color:var(--text-secondary);background:var(--surface-raised);border-left:3px solid var(--btn-primary-bg);border-radius:6px;padding:.4rem .6rem;font-size:.85rem}.subtasks-card-list{flex-direction:column;gap:.35rem;margin:.5rem 0 .25rem 2.5rem;display:flex}.subtask-card-item{align-items:flex-start;gap:.5rem;display:flex}.subtask-card-body{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.subtask-card-desc{color:var(--text-muted);margin:0;font-size:.78rem;line-height:1.4}.check-btn-sm{border-radius:4px;width:18px;min-width:18px;height:18px;font-size:.65rem}.subtask-card-title{color:var(--text-secondary);font-size:.85rem}.subtask-card-title-clickable{cursor:pointer}.subtask-card-title-clickable:hover{color:var(--text);text-decoration:underline}.subtask-card-done .subtask-card-title{opacity:.6;text-decoration:line-through}.subtasks-edit-list{flex-direction:column;gap:.4rem;display:flex}.subtask-edit-item{background:var(--surface-raised);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem .6rem;display:flex}.subtask-edit-done .subtask-edit-title{opacity:.6;text-decoration:line-through}.subtask-edit-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.9rem;overflow:hidden}.btn-delete-subtask{cursor:pointer;opacity:.7;color:var(--text);background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:.15rem .3rem;font-size:.9rem;transition:opacity .15s}.btn-delete-subtask:hover{opacity:1}.app[data-theme=dark] .btn-delete-subtask{filter:brightness(10)}.datetime-label-row{justify-content:space-between;align-items:center;margin-bottom:.4rem;display:flex}.datetime-label-row label{margin:0}.all-day-toggle{color:var(--text-muted);cursor:pointer;align-items:center;gap:.4rem;font-size:.8rem;display:flex}.settings-all-day-row{align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.settings-all-day-input{border:1px solid var(--border);background:var(--surface);width:56px;color:var(--text);text-align:center;border-radius:6px;padding:.35rem .5rem;font-size:.875rem}.settings-all-day-ampm{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:6px;padding:.35rem .6rem;font-size:.875rem;transition:background .15s}.settings-all-day-ampm:hover{background:var(--btn-ghost-hover)}.vac-picker{background:var(--surface);border:1px solid var(--border);-webkit-user-select:none;user-select:none;border-radius:10px;margin-bottom:.75rem;padding:.75rem}.vac-picker-header{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.vac-month-label{color:var(--text);font-size:.88rem;font-weight:600}.vac-nav-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:6px;padding:.1rem .4rem;font-size:1.2rem;line-height:1;transition:background .12s,color .12s}.vac-nav-btn:hover{background:var(--surface-raised);color:var(--text)}.vac-grid{grid-template-columns:repeat(7,1fr);gap:0;display:grid}.vac-dow{height:28px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;justify-content:center;align-items:center;font-size:.7rem;font-weight:600;display:flex}.vac-cell{cursor:pointer;justify-content:center;align-items:center;height:34px;display:flex;position:relative}.vac-cell.vac-empty{cursor:default}.vac-day-inner{z-index:1;width:28px;height:28px;color:var(--text);border-radius:50%;justify-content:center;align-items:center;font-size:.78rem;transition:background .1s;display:flex;position:relative}.vac-cell:not(.vac-sel):not(.vac-empty):hover .vac-day-inner{background:var(--surface-raised)}.vac-cell.vac-today .vac-day-inner{box-shadow:inset 0 0 0 1.5px var(--text-muted);font-weight:600}.vac-cell.vac-sel .vac-day-inner{color:#fff;background:#f97316;font-weight:600}.vac-cell.vac-sel:before{content:"";z-index:0;background:#f973162e;height:28px;position:absolute;top:50%;left:50%;right:50%;transform:translateY(-50%)}.vac-cell.vac-sel.vac-cl:before{left:0}.vac-cell.vac-sel.vac-cr:before{right:0}.vac-footer{justify-content:space-between;align-items:center;padding:.25rem 0;display:flex}.vac-count{color:var(--text-muted);font-size:.82rem}.horario-header-btns{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.btn-secondary{border:1px solid var(--border-focus);color:var(--btn-primary-bg);cursor:pointer;background:0 0;border-radius:8px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background .15s,color .15s}.btn-secondary:hover{background:var(--surface-raised)}.horario-past-section{margin-top:2.25rem}.horario-past-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-subtle);margin-bottom:.75rem;font-size:.8rem;font-weight:600}.horario-past-list{flex-direction:column;gap:.6rem;display:flex}.horario-past-card{border:1px solid var(--border);border-radius:10px;overflow:hidden}.horario-past-card-header{background:var(--surface);align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.horario-past-name{color:var(--text-main);cursor:pointer;border-radius:4px;flex:1;padding:.1rem .25rem;font-size:.95rem;font-weight:600;transition:background .12s}.horario-past-name:hover{background:var(--surface-raised)}.horario-past-noname{color:var(--text-subtle);font-style:italic;font-weight:400}.horario-past-name-input{border:1px solid var(--border-focus);background:var(--surface-raised);color:var(--text-main);border-radius:6px;flex:1;padding:.3rem .5rem;font-size:.95rem;font-weight:600}.horario-past-name-input:focus{outline:none}.horario-past-meta{color:var(--text-subtle);white-space:nowrap;font-size:.78rem}.horario-past-toggle{border:1px solid var(--border);color:var(--text-main);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;padding:.3rem .7rem;font-size:.8rem;transition:background .12s}.horario-past-toggle:hover{background:var(--surface-raised)}.horario-past-restore{border:1px solid var(--accent,#6366f1);color:var(--accent,#6366f1);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;padding:.3rem .7rem;font-size:.78rem;transition:background .12s,color .12s}.horario-past-restore:hover{background:var(--accent,#6366f1);color:#fff}.horario-restore-error{margin:0;padding:.25rem 1rem .5rem}.horario-past-table-wrap{border-top:1px solid var(--border);opacity:.85;overflow-x:auto}.horario-past-empty{color:var(--text-subtle);text-align:center;padding:1rem;font-size:.85rem}.horario-past-dash{color:var(--text-subtle);font-size:.85rem}.sidebar-settings-btn{margin-bottom:.25rem}.pomodoro-page{flex-direction:column;gap:1.5rem;display:flex}.pomodoro-content{flex-direction:column;align-items:center;gap:1.5rem;display:flex}.pomodoro-card{background:var(--surface);box-shadow:0 2px 12px var(--shadow);border:none;border-radius:20px;flex-direction:column;align-items:center;gap:1rem;width:300px;height:360px;padding:2.5rem 2rem;transition:background .3s;display:flex;position:relative}.pomodoro-focus{background:linear-gradient(160deg, var(--surface) 70%, #e05c5c10);border-color:#e05c5c44}.pomodoro-break{background:linear-gradient(160deg, var(--surface) 70%, #4caf7a10);border-color:#4caf7a44}.pomodoro-phase-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:.78rem;font-weight:600}.pomodoro-focus .pomodoro-phase-label{color:#e05c5c}.pomodoro-break .pomodoro-phase-label{color:#4caf7a}.pomodoro-timer{letter-spacing:-.04em;color:var(--text);font-variant-numeric:tabular-nums;font-size:4.5rem;font-weight:700;line-height:1}.pomodoro-ring{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.pomodoro-ring-track{opacity:.08}.pomodoro-dots-section{flex-direction:column;align-items:center;gap:.4rem;display:flex}.pomodoro-dots-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-subtle);font-size:.68rem;font-weight:600}.pomodoro-dots{align-items:center;gap:.5rem;display:flex}.pomodoro-dot{border:1.5px solid var(--border-focus);background:0 0;border-radius:50%;width:8px;height:8px;transition:background .2s,border-color .2s}.pomodoro-dot-done{background:var(--text-muted);border-color:var(--text-muted)}.pomodoro-dot-long{width:12px;height:12px}.pomodoro-session-count{color:var(--text-muted);font-size:.82rem;font-weight:500}.pomodoro-main-btn{cursor:pointer;letter-spacing:.02em;border:none;border-radius:999px;padding:.65rem 2.25rem;font-size:.9rem;font-weight:600;transition:opacity .15s,transform .1s}.pomodoro-main-btn:hover{opacity:.88;transform:translateY(-1px)}.pomodoro-main-btn:active{transform:translateY(0)}.pomodoro-btn-focus{color:#fff;background:#e05c5c}.pomodoro-btn-break{color:#fff;background:#4caf7a}.pomodoro-stop-btn{color:var(--text-subtle);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;padding:.45rem 1.1rem;font-size:.82rem;transition:color .15s,border-color .15s,background .15s}.pomodoro-stop-btn:hover{color:var(--text-muted);border-color:var(--text-subtle);background:var(--surface-raised)}.pomodoro-below-card{flex-direction:column;align-items:center;gap:.5rem;display:flex}.pomodoro-cancel-task-btn{color:#e05c5c;cursor:pointer;background:0 0;border:1px solid #e05c5c55;border-radius:8px;padding:.35rem 1rem;font-size:.78rem;font-weight:500;transition:background .15s,border-color .15s}.pomodoro-cancel-task-btn:hover{background:#e05c5c12;border-color:#e05c5c}.pomodoro-tasks{flex-direction:column;gap:.75rem;width:100%;max-width:420px;margin:0 auto;display:flex}.pomodoro-tasks-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.8rem;font-weight:600}.pomodoro-active-task{background:color-mix(in srgb, #4caf7a 12%, var(--surface));border:1px solid #4caf7a4d;border-radius:10px;align-items:center;gap:.5rem;padding:.55rem .85rem;font-size:.85rem;display:flex}.pomodoro-active-task-label{color:#4caf7a;white-space:nowrap;font-weight:600}.pomodoro-active-task-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pomodoro-task-list{flex-direction:column;gap:.4rem;display:flex}.pomodoro-task-item{text-align:left;border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem .9rem;font-size:.9rem;transition:background .15s,border-color .15s;display:flex}.pomodoro-task-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pomodoro-task-materia{white-space:nowrap;text-overflow:ellipsis;border:1px solid;border-radius:99px;flex-shrink:0;max-width:100px;padding:.15rem .5rem;font-size:.7rem;font-weight:600;overflow:hidden}.pomodoro-task-item:hover{background:var(--surface-raised);border-color:var(--border-focus)}.pomodoro-task-item.active{background:color-mix(in srgb, #4caf7a 10%, var(--surface));border-color:#4caf7a}.pomodoro-no-tasks{color:var(--text-subtle);margin:0;font-size:.85rem}.pomodoro-confirm-modal{flex-direction:column;gap:.75rem;max-width:340px;padding:1.5rem;display:flex}.pomodoro-confirm-text{color:var(--text);margin:0;font-size:.95rem}.pomodoro-confirm-task-name{color:var(--text);font-size:1rem;display:block}.pomodoro-confirm-actions{justify-content:flex-end;gap:.6rem;margin-top:.25rem;display:flex}.pomodoro-confirm-accept{color:#fff;cursor:pointer;background:#e05c5c;border:none;border-radius:8px;padding:.5rem 1.1rem;font-size:.88rem;font-weight:600;transition:opacity .15s}.pomodoro-confirm-accept:hover{opacity:.88}.pomodoro-confirm-cancel{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;padding:.5rem 1.1rem;font-size:.88rem;transition:background .15s}.pomodoro-confirm-cancel:hover{background:var(--surface-raised)}.pomodoro-confirm-stop{background:#dc2626}.inasistencias-page{flex-direction:column;gap:1.5rem;max-width:600px;margin:0 auto;padding:1.5rem 1rem;display:flex}.inasistencias-header{flex-direction:column;gap:.5rem;display:flex}.inasistencias-no-materias{color:var(--text-muted);margin:0;font-size:.85rem}.inasistencias-list{flex-direction:column;gap:.75rem;display:flex}.inasistencias-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.65rem;padding:1rem 1.1rem;display:flex}.inasistencias-card-header{justify-content:space-between;align-items:center;display:flex}.inasistencias-card-title{align-items:center;gap:.5rem;display:flex}.inasistencias-color-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.inasistencias-card-name{color:var(--text);font-size:.95rem;font-weight:600}.inasistencias-remove-btn{color:var(--text-muted);opacity:.6;transition:opacity .15s}.inasistencias-remove-btn:hover{opacity:1;color:#dc2626}.inasistencias-progress-track{background:var(--border);border-radius:999px;width:100%;height:5px;overflow:hidden}.inasistencias-progress-fill{border-radius:999px;height:100%;transition:width .25s,background .25s}.inasistencias-card-body{flex-direction:column;gap:.5rem;display:flex}.inasistencias-counters-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.inasistencias-counter-divider{background:var(--border);flex-shrink:0;width:1px;height:28px;display:inline-block}.inasistencias-label{color:var(--text-muted);font-size:.85rem}.inasistencias-counter{align-items:center;gap:.5rem;display:flex}.inasistencias-counter-btn{border:1px solid var(--border);background:var(--surface-raised,var(--surface));width:30px;height:30px;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;font-size:1.1rem;line-height:1;transition:background .15s;display:flex}.inasistencias-counter-btn:hover:not(:disabled){background:var(--border)}.inasistencias-counter-btn:disabled{opacity:.35;cursor:not-allowed}.inasistencias-count{text-align:center;min-width:3.5rem;color:var(--text);font-size:.95rem;font-weight:600}.inasistencias-count-warning{color:#dc2626}.inasistencias-warning-text{color:#dc2626;font-size:.78rem;font-weight:500}.abs-mode-toggle{border:1px solid var(--border);border-radius:8px;display:flex;overflow:hidden}.abs-mode-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex:1;padding:.45rem .75rem;font-size:.85rem;transition:background .15s,color .15s}.abs-mode-btn:first-child{border-right:1px solid var(--border)}.abs-mode-btn.active{background:var(--text);color:var(--bg);font-weight:600}.abs-input-suffix-wrap{align-items:center;gap:.5rem;display:flex}.abs-input-suffix-wrap .form-input{flex:1}.abs-input-suffix{color:var(--text-muted);white-space:nowrap;font-size:.85rem}.abs-radio-group{flex-direction:column;gap:.45rem;display:flex}.abs-radio-label{color:var(--text);cursor:pointer;align-items:center;gap:.5rem;font-size:.88rem;display:flex}.abs-radio-label input[type=radio]{accent-color:var(--text);cursor:pointer}.abs-calc-preview{background:var(--surface-raised,var(--surface));border:1px solid var(--border);border-radius:10px;grid-template-columns:1fr auto;align-items:center;gap:.25rem .75rem;margin-top:.25rem;padding:.75rem 1rem;display:grid}.abs-calc-preview-warn{color:var(--text-muted);grid-template-columns:1fr;font-size:.85rem}.abs-calc-preview-label{color:var(--text-muted);font-size:.82rem}.abs-calc-preview-value{color:var(--text);text-align:right;font-size:.92rem;font-weight:600}.abs-calc-preview-big{font-size:1.15rem}.calendario-page{flex-direction:column;gap:1rem;display:flex}.cal-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.cal-nav-group{align-items:center;gap:.5rem;display:flex}.cal-nav-btn{width:2rem;height:2rem;color:var(--text-muted);border-radius:6px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.cal-nav-btn:hover{background:var(--btn-ghost-hover);color:var(--text)}.cal-period-label{color:var(--text);text-align:center;min-width:12rem;font-size:1rem;font-weight:600}.cal-today-btn{border:1px solid var(--border);color:var(--text-muted);background:var(--surface);border-radius:6px;padding:.3rem .75rem;font-size:.8rem;transition:background .15s,color .15s}.cal-today-btn:hover{background:var(--btn-ghost-hover);color:var(--text)}.cal-header-right{align-items:center;gap:.5rem;display:flex}.cal-vacation-btn{color:#f97316;cursor:pointer;white-space:nowrap;background:0 0;border:1.5px solid #f97316;border-radius:6px;padding:.35rem .75rem;font-size:.8rem;font-weight:500;transition:background .15s,color .15s}.cal-vacation-btn:hover{background:#f973161a}.cal-view-toggle{border:1px solid var(--border);border-radius:8px;display:flex;overflow:hidden}.cal-toggle-btn{color:var(--text-muted);background:var(--surface);padding:.35rem .9rem;font-size:.82rem;transition:background .15s,color .15s}.cal-toggle-btn+.cal-toggle-btn{border-left:1px solid var(--border)}.cal-toggle-btn.active{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.cal-body{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.cal-month-grid{grid-template-columns:repeat(7,1fr);display:grid}.cal-dow-header{text-align:center;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--surface-raised);padding:.5rem 0;font-size:.75rem;font-weight:600}.cal-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);cursor:pointer;vertical-align:top;min-height:6rem;padding:.35rem .4rem;transition:background .12s}.cal-cell:nth-child(7n){border-right:none}.cal-cell:hover:not(.cal-cell--other-month){background:var(--surface-raised)}.cal-cell--other-month{cursor:default;opacity:.35}.cal-cell--today .cal-day-num{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-radius:50%;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;display:flex}.cal-cell--vacation{background:#f9731614}.cal-cell--vacation .cal-day-num{color:#f97316;font-weight:600}.cal-cell--vacation:hover:not(.cal-cell--other-month){background:#f9731626}.cal-cell--vacation.cal-week-col{background:#f9731614}.cal-cell--vacation.cal-week-col .cal-week-day-num{color:#f97316;font-weight:600}.cal-cell-header{justify-content:flex-end;margin-bottom:.25rem;display:flex}.cal-day-num{color:var(--text-muted);text-align:center;min-width:1.5rem;font-size:.8rem;font-weight:500;line-height:1.5rem}.cal-cell-events{flex-direction:column;gap:2px;display:flex}.cal-week-grid{grid-template-columns:repeat(7,1fr);min-height:20rem;display:grid}.cal-week-col{border-right:1px solid var(--border);flex-direction:column;display:flex}.cal-week-col:last-child{border-right:none}.cal-cell--today.cal-week-col{background:var(--surface-raised)}.cal-week-col-header{border-bottom:1px solid var(--border);cursor:pointer;background:var(--surface-raised);flex-direction:column;align-items:center;gap:.2rem;padding:.5rem .25rem;transition:background .12s;display:flex}.cal-week-col-header:hover{background:var(--btn-ghost-hover)}.cal-week-day-name{color:var(--text-muted);text-transform:uppercase;font-size:.72rem;font-weight:600}.cal-week-day-num{color:var(--text-muted);font-size:1.1rem;font-weight:500;line-height:1}.cal-week-day-num--today{background:var(--btn-primary-bg);width:2rem;height:2rem;color:var(--btn-primary-text);border-radius:50%;justify-content:center;align-items:center;font-size:1rem;display:flex}.cal-week-events{cursor:pointer;flex-direction:column;flex:1;gap:3px;padding:.4rem .3rem;display:flex}.cal-week-empty{flex:1}.cal-reminder-chip{background:var(--surface-raised);border:1px solid var(--border);border-radius:4px;align-items:center;gap:.3rem;min-width:0;padding:.18rem .35rem;display:flex;overflow:hidden}.cal-reminder-chip--clickable{cursor:pointer}.cal-reminder-chip--clickable:hover{border-color:var(--border-focus);background:var(--btn-ghost-hover)}.cal-week-card{border:1px solid var(--border);border-left:3px solid var(--border);background:var(--surface-raised);border-radius:6px;flex-direction:column;gap:.15rem;min-width:0;padding:.35rem .5rem;display:flex}.cal-week-card-top{align-items:center;gap:.3rem;min-width:0;display:flex}.cal-week-card-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-weight:600;overflow:hidden}.cal-week-card-time{color:var(--text-muted);font-size:.7rem}.cal-week-card-desc{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.7rem;line-height:1.3;display:-webkit-box;overflow:hidden}.cal-reminder-chip--done{opacity:.45}.cal-chip-dot{background:var(--text-subtle);border-radius:50%;flex-shrink:0;width:6px;height:6px}.cal-chip-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;line-height:1.3;overflow:hidden}.cal-more-badge{color:var(--text-muted);cursor:default;padding:.1rem .3rem;font-size:.68rem}@media (width<=480px){.cal-period-label{min-width:9rem;font-size:.9rem}.cal-cell{min-height:4.5rem}.cal-week-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.cal-chip-title{display:none}.cal-chip-dot{width:7px;height:7px}.cal-reminder-chip{justify-content:center;padding:.15rem .25rem}}.pomodoro-confirm-stop:hover{opacity:.88}.modal-wide{max-width:660px}.prof-page{flex-direction:column;gap:1.25rem;display:flex}.prof-page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.prof-page-title{color:var(--text);margin:0;font-size:1.25rem;font-weight:700}.prof-list{flex-direction:column;gap:.75rem;display:flex}.prof-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.6rem;padding:1rem 1.25rem;display:flex}.prof-card-header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.prof-card-name{color:var(--text);margin:0;font-size:1rem;font-weight:600}.prof-card-contact{color:var(--text-muted);flex-wrap:wrap;gap:.5rem 1.25rem;font-size:.8rem;display:flex}.prof-card-actions{flex-shrink:0;gap:.4rem;display:flex}.prof-card-actions button{border:1px solid var(--border);cursor:pointer;color:var(--text-muted);background:0 0;border-radius:6px;padding:.3rem .55rem;font-size:.75rem;transition:border-color .15s,color .15s}.prof-card-actions button:hover{border-color:var(--btn-primary-bg);color:var(--btn-primary-bg)}.prof-card-actions button.btn-del:hover{color:#ef4444;border-color:#ef4444}.prof-horarios{flex-wrap:wrap;gap:.4rem;display:flex}.prof-horario-tag{background:var(--surface-raised);border:1px solid var(--border);color:var(--text-muted);border-radius:6px;align-items:center;gap:.35rem;padding:.2rem .55rem;font-size:.75rem;display:flex}.prof-horario-day{color:var(--text);font-weight:600}.prof-multi-input-row{align-items:center;gap:.4rem;margin-bottom:.35rem;display:flex}.prof-multi-input-row .form-input{flex:1;margin-bottom:0}.prof-multi-remove{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;padding:.38rem .5rem;font-size:.7rem;line-height:1;transition:border-color .15s,color .15s}.prof-multi-remove:hover{color:#ef4444;border-color:#ef4444}.prof-add-field-btn{color:#3b82f6;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:.8rem;transition:opacity .15s}.prof-add-field-btn:hover{opacity:.75}.prof-pro-lock{opacity:.85;font-size:.8rem}.prof-time-picker-disabled{opacity:.4;pointer-events:none}.prof-mode-selector{flex-wrap:wrap;gap:.5rem;display:flex}.prof-mode-btn{border:1px solid var(--border);background:var(--surface-raised);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:.35rem .85rem;font-size:.8rem;transition:background .15s,color .15s,border-color .15s}.prof-mode-btn.active{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg)}.prof-daily-grid{flex-direction:column;gap:.5rem;display:flex}.prof-day-row{grid-template-columns:1.8rem 5.5rem auto auto 1fr;align-items:center;gap:.5rem;display:grid}.prof-day-row.disabled{opacity:.4}.prof-day-label{color:var(--text);white-space:nowrap;font-size:.8rem;font-weight:600}.prof-week-fields{grid-template-columns:1fr 1fr 1fr;gap:.75rem;display:grid}.prof-day-checkboxes{flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem;display:flex}.prof-day-check-btn{border:1px solid var(--border);background:var(--surface-raised);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:.3rem .75rem;font-size:.8rem;transition:background .15s,color .15s,border-color .15s}.prof-day-check-btn.selected{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg)}.prof-grid-header{border-bottom:1px solid var(--border);grid-template-columns:1.8rem 5.5rem auto auto 1fr;gap:.5rem;margin-bottom:.25rem;padding-bottom:.25rem;display:grid}.prof-grid-header span{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.72rem;font-weight:600}.prof-empty{text-align:center;color:var(--text-muted);padding:3rem 1rem}.prof-empty-title{color:var(--text);margin-bottom:.4rem;font-size:1rem;font-weight:600}.prof-empty-sub{font-size:.85rem}@media (width<=560px){.modal-wide{max-width:98vw}.prof-day-row{grid-template-columns:1.5rem 5rem 1fr 1fr}.prof-day-row .prof-office-input{display:none}.prof-week-fields{grid-template-columns:1fr 1fr}}
