.lp-root{--lp-accent:#22d3ee;--lp-accent-rgb:34, 211, 238;--lp-accent-glow:#22d3ee38;--lp-accent-subtle:#22d3ee12;--lp-accent-border:#22d3ee47;--lp-orb1:#0e7490;--lp-orb2:#0f766e;--lp-orb3:#1d4ed8;color:#f0f0f8;background:#080810;min-height:100vh;font-family:Inter,Segoe UI,system-ui,sans-serif;position:relative;overflow-x:hidden}.lp-root *,.lp-root :before,.lp-root :after{box-sizing:border-box;margin:0;padding:0}.lp-root h1,.lp-root h2,.lp-root h3,.lp-root h4{font-family:Space Grotesk,Segoe UI,system-ui,sans-serif}.lp-root a{color:inherit;text-decoration:none}.lp-root button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}.lp-orbs{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.lp-orb{filter:blur(110px);opacity:.32;animation:lpFloatOrb var(--d,10s) ease-in-out infinite;border-radius:50%;position:absolute}.lp-orb-1{background:var(--lp-orb1);--d:11s;width:640px;height:640px;top:-180px;left:-120px}.lp-orb-2{background:var(--lp-orb2);--d:14s;width:520px;height:520px;animation-delay:-4s;top:260px;right:-160px}.lp-orb-3{background:var(--lp-orb3);--d:12s;width:440px;height:440px;animation-delay:-7s;bottom:-80px;left:35%}@keyframes lpFloatOrb{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-45px)scale(1.07)}}.lp-page{z-index:1;position:relative}.lp-section-inner{max-width:1140px;margin:0 auto}.lp-section{padding:6rem 2rem}.lp-glass{-webkit-backdrop-filter:blur(16px);background:#ffffff0a;border:1px solid #ffffff14;border-radius:18px;transition:border-color .25s,background .25s,transform .25s,box-shadow .25s}.lp-glass:hover{background:#ffffff12;border-color:#ffffff24;transform:translateY(-4px);box-shadow:0 16px 50px #00000073}.lp-btn-primary{background:var(--lp-accent);color:#fff;box-shadow:0 0 22px var(--lp-accent-glow);border-radius:10px;padding:.5rem 1.3rem;font-size:.875rem;font-weight:600;transition:opacity .2s,transform .2s}.lp-btn-primary:hover{opacity:.86;transform:translateY(-1px)}.lp-btn-ghost{color:#f0f0f899;border-radius:10px;padding:.5rem 1rem;font-size:.875rem;transition:background .2s,color .2s}.lp-btn-ghost:hover{color:#f0f0f8;background:#ffffff12}.lp-nav{z-index:200;-webkit-backdrop-filter:blur(24px);background:#080810a6;border-bottom:1px solid #ffffff12;align-items:center;height:66px;padding:0 2rem;transition:background .3s;display:flex;position:fixed;top:0;left:0;right:0}.lp-nav-inner{justify-content:space-between;align-items:center;gap:2rem;width:100%;max-width:1140px;margin:0 auto;display:flex}.lp-nav-brand{align-items:center;gap:.55rem;display:flex}.lp-nav-logo{width:auto;height:2rem}.lp-nav-brand-name{letter-spacing:-.025em;font-family:Space Grotesk,system-ui,sans-serif;font-size:1.1rem;font-weight:700}.lp-nav-links{align-items:center;gap:2rem;display:flex}.lp-nav-links a{color:#f0f0f88c;font-size:.875rem;transition:color .2s}.lp-nav-links a:hover{color:#f0f0f8}.lp-nav-actions{flex-shrink:0;align-items:center;gap:.6rem;display:flex}.lp-section-badge{letter-spacing:.1em;text-transform:uppercase;color:var(--lp-accent);border:1px solid var(--lp-accent-border);background:var(--lp-accent-subtle);border-radius:100px;align-items:center;gap:.35rem;margin-bottom:1.1rem;padding:.28rem .85rem;font-size:.72rem;font-weight:700;display:inline-flex}.lp-section-title{letter-spacing:-.04em;margin-bottom:.75rem;font-size:clamp(1.8rem,3.2vw,2.6rem);font-weight:800;line-height:1.12}.lp-section-sub{color:#f0f0f880;max-width:540px;font-size:1rem;line-height:1.7}.lp-section-header{text-align:center;margin-bottom:3.75rem}.lp-section-header .lp-section-sub{margin:0 auto}.lp-hero{text-align:center;align-items:center;min-height:100vh;padding:8rem 2rem 6rem;display:flex}.lp-hero-inner{max-width:820px;margin:0 auto}.lp-hero-badge{color:#f0f0f899;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1f;border-radius:100px;align-items:center;gap:.55rem;margin-bottom:2.25rem;padding:.38rem .95rem;font-size:.8rem;font-weight:500;display:inline-flex}.lp-badge-dot{background:var(--lp-accent);width:7px;height:7px;box-shadow:0 0 8px var(--lp-accent);border-radius:50%;flex-shrink:0;animation:2.2s ease-in-out infinite lpBlink}@keyframes lpBlink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.82)}}.lp-hero-title{letter-spacing:-.05em;margin-bottom:1.6rem;font-size:clamp(3rem,7.5vw,6rem);font-weight:800;line-height:1.03}.lp-gradient-text{background:linear-gradient(130deg, var(--lp-accent) 0%, #fff 65%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.lp-hero-sub{color:#f0f0f885;max-width:600px;margin:0 auto 2.6rem;font-size:1.15rem;line-height:1.75}.lp-hero-ctas{flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:1.2rem;display:flex}.lp-btn-hero{background:var(--lp-accent);color:#fff;box-shadow:0 0 36px var(--lp-accent-glow);border-radius:12px;align-items:center;gap:.5rem;padding:.9rem 2.1rem;font-size:1rem;font-weight:700;transition:opacity .2s,transform .2s;display:flex}.lp-btn-hero:hover{opacity:.87;transform:translateY(-2px)}.lp-btn-store{color:#f0f0f8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff0f;border:1px solid #ffffff26;border-radius:12px;align-items:center;gap:.6rem;padding:.9rem 1.6rem;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.lp-btn-store:hover{border-color:var(--lp-accent-border);background:#ffffff1c;transform:translateY(-2px)}.lp-hero-note{color:#f0f0f84d;font-size:.78rem}.lp-stats-wrap{padding:0 2rem 5.5rem}.lp-stats-grid{background:#ffffff14;border:1px solid #ffffff14;border-radius:18px;grid-template-columns:repeat(3,1fr);gap:1px;max-width:840px;margin:0 auto;display:grid;overflow:hidden}.lp-stat-item{text-align:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff0a;padding:1.75rem 1.5rem}.lp-stat-number{letter-spacing:-.04em;color:var(--lp-accent);margin-bottom:.3rem;font-family:Space Grotesk,system-ui,sans-serif;font-size:2.2rem;font-weight:800}.lp-stat-label{color:#f0f0f873;font-size:.8rem;line-height:1.4}.lp-features-grid{grid-template-columns:repeat(3,1fr);gap:1.2rem;display:grid}.lp-feat-card{padding:1.85rem}.lp-feat-icon{background:var(--lp-accent-subtle);border:1px solid var(--lp-accent-border);width:46px;height:46px;color:var(--lp-accent);border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;margin-bottom:1.15rem;display:flex}.lp-feat-name{letter-spacing:-.015em;margin-bottom:.45rem;font-family:Space Grotesk,system-ui,sans-serif;font-size:1rem;font-weight:700}.lp-feat-desc{color:#f0f0f87a;font-size:.855rem;line-height:1.65}.lp-pricing-bg{background:radial-gradient(ellipse at 50% 0%, rgba(var(--lp-accent-rgb), .07) 0%, transparent 65%)}.lp-pricing-cards{grid-template-columns:repeat(2,1fr);gap:1.5rem;max-width:740px;margin:0 auto;display:grid}.lp-plan-card{padding:2.1rem}.lp-plan-pro{border-color:var(--lp-accent-border)!important;background:linear-gradient(145deg, var(--lp-accent-subtle), #ffffff08)!important;box-shadow:0 0 60px var(--lp-accent-glow)!important}.lp-plan-pro:hover{transform:translateY(-5px)!important}.lp-plan-header{align-items:center;gap:.65rem;margin-bottom:1.2rem;display:flex}.lp-plan-name{font-family:Space Grotesk,system-ui,sans-serif;font-size:1.1rem;font-weight:700}.lp-plan-badge{letter-spacing:.06em;background:var(--lp-accent);color:#fff;border-radius:100px;padding:.2rem .6rem;font-size:.68rem;font-weight:700}.lp-plan-price{margin-bottom:1.6rem}.lp-plan-amount{letter-spacing:-.05em;font-family:Space Grotesk,system-ui,sans-serif;font-size:2.6rem;font-weight:800}.lp-plan-period{color:#f0f0f866;margin-left:.25rem;font-size:.875rem}.lp-plan-feats{flex-direction:column;gap:.65rem;margin-bottom:1.85rem;list-style:none;display:flex}.lp-plan-feats li{align-items:flex-start;gap:.6rem;font-size:.875rem;line-height:1.55;display:flex}.lp-f-yes{color:#34d399;flex-shrink:0;margin-top:1px;font-weight:700}.lp-f-no{color:#f0f0f859}.lp-f-x{color:#f0f0f847;flex-shrink:0;margin-top:1px;font-weight:700}.lp-plan-btn{border-radius:11px;width:100%;padding:.85rem;font-family:inherit;font-size:.9rem;font-weight:700;transition:all .2s}.lp-plan-btn-fill{background:var(--lp-accent);color:#fff;box-shadow:0 0 24px var(--lp-accent-glow)}.lp-plan-btn-fill:hover{opacity:.87;transform:translateY(-1px)}.lp-plan-btn-out{color:#f0f0f8bf;background:0 0;border:1px solid #ffffff24}.lp-plan-btn-out:hover{background:#ffffff12;border-color:#ffffff40}.lp-testi-grid{grid-template-columns:repeat(3,1fr);gap:1.2rem;display:grid}.lp-testi-card{padding:1.75rem}.lp-stars{color:#fbbf24;letter-spacing:.08em;margin-bottom:1rem;font-size:.85rem}.lp-testi-quote{color:#f0f0f88c;margin-bottom:1.25rem;font-size:.9rem;font-style:italic;line-height:1.7}.lp-testi-author{align-items:center;gap:.75rem;display:flex}.lp-author-av{background:var(--lp-accent-subtle);border:1px solid var(--lp-accent-border);width:40px;height:40px;color:var(--lp-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:Space Grotesk,system-ui,sans-serif;font-size:.85rem;font-weight:700;display:flex}.lp-author-name{font-size:.875rem;font-weight:600}.lp-author-school{color:#f0f0f859;margin-top:.1rem;font-size:.73rem}.lp-faq-list{flex-direction:column;gap:.75rem;max-width:730px;margin:0 auto;display:flex}.lp-faq-item{border-radius:13px;overflow:hidden}.lp-faq-q{text-align:left;color:#f0f0f8;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:13px;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:1.2rem 1.5rem;font-family:inherit;font-size:.93rem;font-weight:600;transition:background .2s,border-color .2s;display:flex}.lp-faq-q:hover{background:#ffffff12;border-color:#ffffff21}.lp-faq-item.lp-open .lp-faq-q{border-color:var(--lp-accent-border);border-bottom-right-radius:0;border-bottom-left-radius:0}.lp-faq-chevron{background:var(--lp-accent-subtle);border:1px solid var(--lp-accent-border);width:22px;height:22px;color:var(--lp-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;line-height:1;transition:transform .3s;display:flex}.lp-faq-item.lp-open .lp-faq-chevron{transform:rotate(180deg)}.lp-faq-ans{border:1px solid var(--lp-accent-border);background:#ffffff0a;border-top:none;border-bottom-right-radius:13px;border-bottom-left-radius:13px;max-height:0;transition:max-height .4s;overflow:hidden}.lp-faq-item.lp-open .lp-faq-ans{max-height:220px}.lp-faq-ans-inner{color:#f0f0f880;padding:1rem 1.5rem 1.3rem;font-size:.875rem;line-height:1.72}.lp-footer{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#080810d9;border-top:1px solid #ffffff12;padding:3.5rem 2rem}.lp-footer-inner{flex-direction:column;gap:2.25rem;max-width:1140px;margin:0 auto;display:flex}.lp-footer-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:2rem;display:flex}.lp-footer-brand{flex-direction:column;gap:.8rem;display:flex}.lp-footer-brand-row{align-items:center;gap:.5rem;display:flex}.lp-footer-logo{width:auto;height:1.75rem}.lp-footer-brand-name{font-family:Space Grotesk,system-ui,sans-serif;font-size:1rem;font-weight:700}.lp-footer-tagline{color:#f0f0f84d;max-width:210px;font-size:.8rem;line-height:1.55}.lp-footer-cols{flex-wrap:wrap;gap:3.5rem;display:flex}.lp-footer-col{flex-direction:column;gap:.55rem;display:flex}.lp-footer-col-title{text-transform:uppercase;letter-spacing:.12em;color:#f0f0f847;margin-bottom:.2rem;font-size:.68rem;font-weight:700}.lp-footer-link{color:#f0f0f873;font-size:.855rem;transition:color .2s}.lp-footer-link:hover{color:#f0f0f8}.lp-footer-bottom{border-top:1px solid #ffffff0f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.75rem;display:flex}.lp-footer-copy{color:#f0f0f840;font-size:.78rem}.lp-footer-right{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.lp-social-links{align-items:center;gap:.55rem;display:flex}.lp-social-btn{color:#f0f0f873;background:#ffffff0d;border:1px solid #ffffff17;border-radius:9px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.lp-social-btn:hover{border-color:var(--lp-accent-border);color:var(--lp-accent);background:#ffffff1a;transform:translateY(-2px)}.lp-play-btn{color:#f0f0f8b3;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:9px;align-items:center;gap:.55rem;padding:.5rem 1.1rem;font-size:.8rem;font-weight:600;transition:all .2s;display:flex}.lp-play-btn:hover{border-color:var(--lp-accent-border);background:#ffffff1c;transform:translateY(-2px)}.lp-anim{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(32px)}.lp-anim.lp-from-l{transform:translate(-36px)}.lp-anim.lp-from-r{transform:translate(36px)}.lp-anim.lp-scale{transform:scale(.93)translateY(14px)}.lp-anim.lp-vis{opacity:1!important;transform:none!important}.lp-d1{transition-delay:80ms}.lp-d2{transition-delay:.17s}.lp-d3{transition-delay:.26s}.lp-d4{transition-delay:.35s}.lp-d5{transition-delay:.44s}.lp-d6{transition-delay:.53s}.lp-lang-switcher{flex-shrink:0;position:relative}.lp-lang-dropdown-btn{letter-spacing:.05em;color:#f0f0f8b3;cursor:pointer;white-space:nowrap;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:5px;padding:5px 10px;font-family:inherit;font-size:.7rem;font-weight:700;transition:color .2s,background .2s,border-color .2s;display:flex}.lp-lang-dropdown-btn:hover{color:#f0f0f8f2;border-color:#fff3}.lp-lang-chevron{color:#f0f0f873;transition:transform .2s}.lp-lang-chevron.open{transform:rotate(180deg)}.lp-lang-dropdown-menu{z-index:200;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#10101cf7;border:1px solid #ffffff1f;border-radius:10px;min-width:100%;padding:4px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #0006}.lp-lang-option{letter-spacing:.05em;color:#f0f0f8a6;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;align-items:center;gap:6px;width:100%;padding:6px 10px;font-family:inherit;font-size:.7rem;font-weight:700;transition:background .15s,color .15s;display:flex}.lp-lang-option:hover{color:var(--lp-accent);background:#22d3ee1a}.lp-lang-flag{font-size:.95rem;line-height:1}.lp-footer-contact{text-align:center;border-top:1px solid #ffffff0f;margin-top:10px;padding-top:14px}.lp-footer-contact-link{color:#f0f0f859;font-size:.78rem;text-decoration:none;transition:color .2s}.lp-footer-contact-link:hover{color:#f0f0f8b3}@media (width<=900px){.lp-features-grid{grid-template-columns:repeat(2,1fr)}.lp-testi-grid{grid-template-columns:1fr}}@media (width<=700px){.lp-nav-links{display:none}.lp-pricing-cards{grid-template-columns:1fr;max-width:440px}.lp-stats-grid{grid-template-columns:1fr}.lp-footer-top{flex-direction:column}.lp-footer-bottom{flex-direction:column;align-items:flex-start}}@media (width<=560px){.lp-features-grid{grid-template-columns:1fr}.lp-hero-title{font-size:2.8rem}.lp-section{padding:4rem 1.25rem}.lp-stats-wrap{padding:0 1.25rem 4rem}.lp-btn-ghost,.lp-lang-btn span:last-child{display:none}.lp-lang-btn{padding:4px 7px}.lp-nav{padding:0 1rem}.lp-nav-inner{gap:.5rem}.lp-nav-actions{gap:.4rem}.lp-btn-primary{padding:.45rem .85rem;font-size:.8rem}}.legal-lang-switcher{gap:.375rem;margin-bottom:2rem;display:flex}.legal-lang-btn{border:1px solid var(--border,#2a2a2a);color:var(--text-muted,#888);cursor:pointer;background:0 0;border-radius:6px;padding:.3rem .75rem;font-size:.8rem;font-weight:600;transition:background .15s,color .15s,border-color .15s}.legal-lang-btn:hover{border-color:var(--accent,#7c6af7);color:var(--text,#e8e8e8)}.legal-lang-btn.active{background:var(--accent,#7c6af7);border-color:var(--accent,#7c6af7);color:#fff}.legal-page{background:var(--bg,#0f0f0f);min-height:100vh;color:var(--text,#e8e8e8);padding:2rem 1rem 4rem}.legal-container{max-width:760px;margin:0 auto;font-size:.95rem;line-height:1.7}.legal-container h1{margin-bottom:.25rem;font-size:2rem;font-weight:700}.legal-updated{color:var(--text-muted,#888);margin-bottom:2rem;font-size:.85rem}.legal-container h2{border-bottom:1px solid var(--border,#2a2a2a);margin-top:2.5rem;margin-bottom:.75rem;padding-bottom:.4rem;font-size:1.2rem;font-weight:600}.legal-container h3{color:var(--text-muted,#aaa);margin-top:1.25rem;margin-bottom:.5rem;font-size:1rem;font-weight:600}.legal-container p,.legal-container li{color:var(--text-secondary,#c8c8c8)}.legal-container ul,.legal-container ol{margin:.5rem 0 1rem;padding-left:1.5rem}.legal-container li{margin-bottom:.35rem}.legal-container a{color:var(--accent,#7c6af7);text-decoration:none}.legal-container a:hover{text-decoration:underline}.legal-table{border-collapse:collapse;width:100%;margin:1rem 0;font-size:.9rem}.legal-table th,.legal-table td{text-align:left;border:1px solid var(--border,#2a2a2a);padding:.6rem .75rem}.legal-table th{background:var(--surface,#1a1a1a);color:var(--text,#e8e8e8);font-weight:600}.legal-table td{color:var(--text-secondary,#c8c8c8)}.view-hidden{display:none!important}@keyframes onboarding-logo-bounce{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-10px)scale(1.04)}}.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}*,input,textarea,select{-webkit-tap-highlight-color:transparent}.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}.settings-theme-switch{border:1.5px solid var(--border);border-radius:10px;width:fit-content;display:flex;overflow:hidden}.settings-theme-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.6rem 1.4rem;transition:background .15s,color .15s;display:flex}.settings-theme-btn:not(:last-child){border-right:1.5px solid var(--border)}.settings-theme-btn.active{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.settings-theme-btn:hover:not(.active){background:var(--surface-raised);color:var(--text)}.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;-webkit-overflow-scrolling:touch;background:#00000080;justify-content:center;align-items:flex-start;padding:1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{width:100%;max-width:500px;margin:auto;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}.btn-show-more-completed{border:1.5px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:20px;margin:.75rem auto 0;padding:.5rem 1.25rem;font-size:.85rem;transition:border-color .15s,color .15s,background .15s;display:block}.btn-show-more-completed:hover{border-color:var(--border-focus);color:var(--text);background:var(--surface-raised)}.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)}}.loading-logo{object-fit:contain;border-radius:16px;width:64px;height:64px;margin-bottom:4px}.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-materia-collapsed{text-align:center!important;width:40px!important;min-width:0!important;padding:0 4px!important}.collapse-materia-btn{cursor:pointer;color:var(--text-muted);float:right;background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:.75rem;line-height:1;transition:color .15s,background .15s}.collapse-materia-btn:hover{color:var(--text);background:var(--btn-ghost-hover)}.col-materia-collapsed .collapse-materia-btn{float:none;margin:auto;display:block}.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}.cell-materia-collapsed{text-align:center;width:40px!important;min-width:0!important;padding:.5rem 0!important}.materia-dot-only{cursor:pointer;vertical-align:middle;border-radius:50%;width:14px;height:14px;transition:transform .15s,opacity .15s;display:inline-block}.materia-dot-only:hover{opacity:.85;transform:scale(1.3)}.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}.login-legal-links{border-top:1px solid var(--border);color:var(--text-muted);margin-top:1rem;padding-top:.75rem;font-size:.75rem}.sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding:.75rem 0}.app[data-has-banner] .sidebar-footer{padding-bottom:calc(50px + .75rem)}.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-play-info{background:var(--surface);border:1.5px solid #34a853;border-radius:12px;flex-direction:column;gap:.6rem;padding:1rem 1.1rem;display:flex}.sub-play-info-header{align-items:center;gap:.55rem;display:flex}.sub-play-info-title{color:var(--text);font-size:.9rem;font-weight:700}.sub-play-info-desc{color:var(--text-subtle);margin:0;font-size:.8rem;line-height:1.5}.sub-play-subscribe{flex-direction:column;gap:.55rem;display:flex}.sub-play-note{text-align:center;color:var(--text-subtle);margin:0;font-size:.75rem}.sub-btn-play{cursor:pointer;color:#fff;background:#34a853;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.65rem 1rem;font-size:.9rem;font-weight:600;transition:opacity .15s;display:flex}.sub-btn-play:hover{opacity:.88}[data-theme=dark] .sub-play-info{background:color-mix(in srgb, #34a853 8%, var(--surface))}.sub-play-restore{cursor:pointer;color:var(--text-subtle);text-align:center;background:0 0;border:none;width:100%;padding:0;font-size:.78rem;text-decoration:underline}.sub-play-restore:hover{color:var(--text)}.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-delete-account-btn{border:1px solid var(--danger,#e74c3c);color:var(--danger,#e74c3c);cursor:pointer;background:0 0;border-radius:8px;padding:.5rem 1.2rem;font-size:.88rem;font-weight:500;transition:background .15s,color .15s}.settings-delete-account-btn:hover{background:var(--danger,#e74c3c);color:#fff}.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}.remind-before-row{justify-content:space-between;align-items:center;display:flex}.remind-before-dials{gap:.75rem;margin-top:.6rem;display:flex}.dial-wrapper{border:1px solid var(--border);background:var(--surface-raised);border-radius:10px;flex:1;position:relative;overflow:hidden}.dial-wrapper:first-child{max-width:90px}.dial-highlight{border-top:1.5px solid var(--border-focus);border-bottom:1.5px solid var(--border-focus);pointer-events:none;z-index:3;background:0 0;height:40px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.dial-wrapper:before,.dial-wrapper:after{content:"";z-index:2;pointer-events:none;height:44px;position:absolute;left:0;right:0}.dial-wrapper:before{background:linear-gradient(to bottom, var(--surface-raised) 30%, transparent);top:0}.dial-wrapper:after{background:linear-gradient(to top, var(--surface-raised) 30%, transparent);bottom:0}.dial-picker{scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;z-index:1;height:120px;position:relative;overflow-y:scroll}.dial-picker::-webkit-scrollbar{display:none}.dial-pad{flex-shrink:0;height:40px}.dial-item{scroll-snap-align:center;height:40px;color:var(--text-muted);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:.9rem;transition:color .15s,font-size .15s,font-weight .15s;display:flex}.dial-item-active{color:var(--text);font-size:1.1rem;font-weight:700}.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}}.cal-day-overlay{-webkit-backdrop-filter:blur(4px);z-index:200;padding:0 0 env(safe-area-inset-bottom,0);background:#0000008c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.cal-day-modal{background:var(--surface);border:1px solid var(--border);border-radius:20px 20px 0 0;flex-direction:column;width:100%;max-width:540px;max-height:80vh;animation:.22s cubic-bezier(.22,1,.36,1) calDaySlideUp;display:flex;overflow:hidden}@keyframes calDaySlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.cal-day-modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.1rem 1.25rem .85rem;display:flex}.cal-day-modal-title{color:var(--text);text-transform:capitalize;flex:1;margin-right:.75rem;font-size:.95rem;font-weight:700}.cal-day-modal-close{background:var(--surface-raised);border:1px solid var(--border);width:2rem;height:2rem;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.cal-day-modal-close:hover{background:var(--btn-ghost-hover);color:var(--text)}.cal-day-modal-body{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.cal-day-modal-empty{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:.65rem;padding:2.5rem 1rem;display:flex}.cal-day-empty-icon{opacity:.35}.cal-day-empty-text{text-align:center;font-size:.875rem}.cal-day-modal-list{flex-direction:column;padding:.5rem 0;display:flex}.cal-day-row{cursor:pointer;border-bottom:1px solid var(--border);align-items:stretch;gap:.75rem;padding:.8rem 1.25rem;transition:background .12s;display:flex}.cal-day-row:last-child{border-bottom:none}.cal-day-row:hover{background:var(--surface-raised)}.cal-day-row--done{opacity:.55}.cal-day-row--done .cal-day-row-title{text-decoration:line-through}.cal-day-row-bar{border-radius:99px;flex-shrink:0;align-self:stretch;width:3px;min-height:1rem}.cal-day-row-body{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.cal-day-row-top{align-items:center;gap:.5rem;display:flex}.cal-day-row-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.9rem;font-weight:600;overflow:hidden}.cal-day-row-done-badge{color:var(--btn-primary-bg);flex-shrink:0;align-items:center;display:flex}.cal-day-row-subject{color:var(--text-muted);font-size:.73rem;font-weight:600}.cal-day-row-time{color:var(--text-muted);font-size:.75rem}.cal-day-row-desc{color:var(--text-muted);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.78rem;display:-webkit-box;overflow:hidden}.cal-day-row-chevron{color:var(--text-muted);opacity:.4;flex-shrink:0;align-self:center}.cal-day-modal-footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:flex-end;align-items:center;padding:.85rem 1.25rem;display:flex}.cal-day-add-btn{background:var(--btn-primary-bg);width:3rem;height:3rem;color:var(--btn-primary-text);border-radius:50%;justify-content:center;align-items:center;transition:opacity .15s,transform .15s;display:flex;box-shadow:0 4px 16px #00000040}.cal-day-add-btn:hover{opacity:.88;transform:scale(1.06)}.cal-day-add-btn:active{transform:scale(.96)}.ad-banner-spacer{flex-shrink:0;width:100%}.ad-banner-web{z-index:90;background:var(--surface);border-top:1px solid var(--border);justify-content:center;align-items:center;min-height:50px;display:flex;position:fixed;bottom:0;left:0;right:0}.ad-banner-web ins{width:100%;min-height:50px}.ad-banner-promo{z-index:90;background:var(--surface);border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;min-height:50px;padding:.6rem 1.25rem;display:flex;position:fixed;bottom:0;left:0;right:0}.ad-banner-promo-icon{color:var(--accent,#6366f1);flex-shrink:0;font-size:1rem}.ad-banner-promo-text{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.82rem;overflow:hidden}.ad-banner-promo-text strong{color:var(--text)}.ad-banner-promo-btn{background:var(--accent,#6366f1);color:#fff;white-space:nowrap;border-radius:7px;flex-shrink:0;padding:.35rem .9rem;font-size:.8rem;font-weight:700;transition:opacity .15s}.ad-banner-promo-btn:hover{opacity:.85}.app[data-has-banner] .app-main{padding-bottom:calc(50px + 1.5rem)}
