.pl-section{--planner-accent:#0d9488;--planner-accent-2:#14b8a6;--planner-surface:color-mix(in srgb,var(--surface) 92%,#ccfbf1);--planner-radius:18px;--planner-shadow:0 10px 40px color-mix(in srgb,#0f172a 8%,transparent);padding-block:0}html.dark .pl-section{--planner-surface:color-mix(in srgb,var(--surface) 88%,#134e4a);--planner-shadow:0 12px 40px rgba(0,0,0,0.35)}.pl-section__head{margin-bottom:.75rem}.pl-section__body{padding-top:.25rem}.pl-app{display:flex;flex-direction:column;gap:0;min-height:0;animation:pl-fade .45s ease}.pl-chrome{flex:0 0 auto;display:flex;flex-direction:column;gap:.2rem;padding:0 .15rem;margin:0;z-index:6;background:var(--bg,#f8fafc);min-width:0;width:100%;max-width:100%;box-sizing:border-box}html.dark .pl-chrome{background:var(--bg,#0b1220)}@keyframes pl-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.pl-app__top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:1.25rem 1.4rem;border-radius:calc(var(--planner-radius) + 4px);background:radial-gradient(1200px 280px at 10% -40%,color-mix(in srgb,var(--planner-accent) 28%,transparent),transparent),linear-gradient(160deg,var(--planner-surface),var(--surface));border:1px solid color-mix(in srgb,var(--planner-accent) 18%,var(--border));box-shadow:var(--planner-shadow)}.pl-rail{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;overscroll-behavior-x:contain;border-radius:10px;border:1px solid color-mix(in srgb,var(--planner-accent) 18%,var(--border));background:radial-gradient(900px 200px at 8% -60%,color-mix(in srgb,var(--planner-accent) 22%,transparent),transparent),linear-gradient(160deg,var(--planner-surface),var(--surface));box-shadow:none;min-width:0;width:100%;max-width:100%}.pl-rail::-webkit-scrollbar{height:4px}.pl-rail::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--planner-accent) 35%,#94a3b8);border-radius:999px}.pl-rail__track{display:flex;flex-wrap:nowrap;align-items:center;gap:.55rem;width:-moz-max-content;width:max-content;min-width:100%;padding:.45rem .65rem;box-sizing:border-box}.pl-rail__track>*{flex:0 0 auto}.pl-rail__brand{display:flex;flex-direction:column;gap:.1rem;min-width:11rem;max-width:16rem}.pl-rail__brand .pl-kicker{margin:0;font-size:.68rem}.pl-rail__brand strong{font-size:.92rem;font-weight:800;letter-spacing:-.02em;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pl-rail__sep{width:1px;align-self:stretch;min-height:2rem;background:color-mix(in srgb,var(--border) 80%,var(--planner-accent));flex:0 0 auto}.pl-rail__chips,.pl-rail__metrics{display:flex;align-items:center;gap:.35rem}.pl-metric{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .55rem;border-radius:10px;border:1px solid var(--border);background:var(--surface);white-space:nowrap;font-size:.72rem}.pl-metric i{color:var(--planner-accent);font-size:.75rem}.pl-metric b{font-size:.88rem;font-weight:800;color:var(--text)}.pl-metric em{font-style:normal;color:var(--muted);font-weight:600}.pl-metric.is-warn{border-color:color-mix(in srgb,#ef4444 40%,var(--border));background:color-mix(in srgb,#ef4444 8%,var(--surface))}.pl-metric.is-warn b,.pl-metric.is-warn i{color:#b91c1c}.pl-metric--accent i{color:#ea580c}.pl-rail__quick{display:inline-flex;align-items:center;gap:.3rem}.pl-rail__quick input,.pl-rail__search{height:2rem;border:1px solid var(--border);border-radius:10px;padding:0 .65rem;background:var(--surface);color:var(--text);font-size:.8rem;min-width:9rem}.pl-rail__search{min-width:8.5rem}.pl-rail__owner{display:inline-flex;align-items:center;gap:.35rem;max-width:12rem;padding:.35rem .6rem;border-radius:999px;border:1px solid var(--border);background:color-mix(in srgb,var(--planner-accent) 8%,var(--surface));color:var(--muted);font-size:.72rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pl-rail__owner--btn{cursor:pointer;color:var(--planner-accent);border-color:color-mix(in srgb,var(--planner-accent) 35%,var(--border));background:color-mix(in srgb,var(--planner-accent) 12%,var(--surface))}.pl-rail__owner--btn:hover{background:color-mix(in srgb,var(--planner-accent) 18%,var(--surface))}.pl-icon-btn{width:2rem;height:2rem;display:grid;place-items:center;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--planner-accent);cursor:pointer}.pl-icon-btn:hover{background:color-mix(in srgb,var(--planner-accent) 12%,var(--surface))}.pl-icon-btn--danger{color:#b91c1c;border-color:color-mix(in srgb,#ef4444 35%,var(--border))}.pl-lock{display:grid;place-items:center;min-height:22rem;padding:1.5rem}.pl-lock__card{max-width:28rem;text-align:center;padding:1.75rem 1.5rem;border-radius:var(--planner-radius);border:1px solid color-mix(in srgb,var(--planner-accent) 22%,var(--border));background:linear-gradient(160deg,var(--planner-surface),var(--surface));box-shadow:var(--planner-shadow)}.pl-lock__card i{font-size:1.75rem;color:var(--planner-accent);margin-bottom:.75rem}.pl-lock__card h2{margin:0 0 .6rem;font-size:1.2rem}.pl-lock__card p{margin:0 0 1.1rem;color:var(--muted);font-size:.9rem;line-height:1.45}.pl-rail__admin{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .45rem;border-radius:10px;border:1px solid color-mix(in srgb,#f59e0b 40%,var(--border));background:color-mix(in srgb,#f59e0b 10%,var(--surface));color:#b45309;font-size:.72rem;font-weight:700}.pl-rail__admin select{border:none;background:transparent;color:var(--text);font-size:.75rem;max-width:14rem;font-weight:600}.pl-admin-banner{margin:0;padding:.45rem .75rem;border-radius:10px;font-size:.8rem;background:color-mix(in srgb,#f59e0b 12%,var(--surface));border:1px solid color-mix(in srgb,#f59e0b 30%,var(--border));color:#92400e}.pl-ai__console{display:flex;flex-direction:column;gap:.85rem}.pl-ai__head h3{margin:.15rem 0 0;font-size:1.15rem}.pl-ai__form{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.pl-ai__form .pl-input{flex:1 1 16rem;min-width:12rem}.pl-ai__form select{height:2.25rem;border-radius:10px;border:1px solid var(--border);padding:0 .55rem;background:var(--surface)}.pl-ai__tip{margin:0;font-weight:700;color:var(--text)}.pl-ai__err{margin:0;color:#b91c1c;font-size:.85rem}.pl-ai__result{display:flex;flex-direction:column;gap:.55rem}.pl-dash__hint{margin:0 0 .75rem;font-size:.85rem}.pl-list__row{display:flex;align-items:center;gap:.45rem}.pl-list__row .pl-list__title{flex:1;min-width:0}.pl-list__row .pl-progress{flex:0 1 5rem;min-width:3.5rem}.pl-habit-wrap{position:relative;display:flex;align-items:stretch;gap:.35rem}.pl-habit-wrap .pl-habit{flex:1}.pl-habit-wrap .pl-x{align-self:flex-start}.pl-goal-head strong{flex:1}.pl-app__top h2{margin:.15rem 0 .35rem;font-size:clamp(1.35rem,1.1rem + 1vw,1.85rem);font-weight:800;letter-spacing:-.02em;color:var(--text)}.pl-app__actions{display:flex;gap:.5rem;align-items:center}.pl-btn--help{display:inline-flex;align-items:center;gap:.4rem;border-color:color-mix(in srgb,var(--planner-accent) 28%,var(--border));color:var(--planner-accent);background:color-mix(in srgb,var(--planner-accent) 8%,var(--surface))}.pl-btn--help:hover{background:color-mix(in srgb,var(--planner-accent) 16%,var(--surface))}.pl-sync{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .7rem;border-radius:999px;font-size:.75rem;font-weight:700;border:1px solid var(--border);background:var(--surface);color:var(--muted);white-space:nowrap}.pl-sync--syncing{color:#0369a1;border-color:color-mix(in srgb,#0ea5e9 35%,var(--border));background:color-mix(in srgb,#0ea5e9 10%,var(--surface))}.pl-sync--synced{color:#15803d;border-color:color-mix(in srgb,#16a34a 35%,var(--border));background:color-mix(in srgb,#16a34a 10%,var(--surface))}.pl-sync--offline{color:var(--muted)}.pl-sync--error{color:#b91c1c;border-color:color-mix(in srgb,#ef4444 35%,var(--border));background:color-mix(in srgb,#ef4444 8%,var(--surface))}.pl-help{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:1rem}.pl-help__backdrop{position:absolute;inset:0;border:0;background:color-mix(in srgb,#0f172a 45%,transparent);cursor:pointer}.pl-help__panel{position:relative;z-index:1;width:min(860px,100%);max-height:min(88vh,900px);overflow:auto;border-radius:22px;background:var(--surface);border:1px solid var(--border);box-shadow:0 24px 80px color-mix(in srgb,#0f172a 28%,transparent);padding:1.25rem 1.35rem 1.1rem;animation:pl-fade .28s ease}.pl-help__head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.pl-help__head h3{margin:.15rem 0 .25rem;font-size:1.35rem;font-weight:800;letter-spacing:-.02em}.pl-help__close{width:2.2rem;height:2.2rem;border-radius:12px;border:1px solid var(--border);background:var(--surface);font-size:1.35rem;line-height:1;cursor:pointer;color:var(--muted)}.pl-help__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.pl-help__card{padding:.95rem 1rem;border-radius:16px;border:1px solid var(--border);background:color-mix(in srgb,var(--planner-accent) 5%,var(--surface))}.pl-help__card i{color:var(--planner-accent);margin-bottom:.45rem;font-size:1.05rem}.pl-help__card h4{margin:0 0 .35rem;font-size:.95rem;font-weight:800}.pl-help__card p{margin:0;font-size:.84rem;line-height:1.5;color:var(--muted)}.pl-help__foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;align-items:center;margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--border);font-size:.8rem;color:var(--muted)}@media (max-width:720px){.pl-help__grid{grid-template-columns:1fr}}.pl-kicker{margin:0;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--planner-accent)}.pl-muted{margin:0;color:var(--muted);font-size:.88rem;line-height:1.45}.pl-flash{margin:0;padding:.55rem .85rem;border-radius:12px;background:color-mix(in srgb,var(--planner-accent) 12%,var(--surface));color:var(--text);font-size:.86rem}.pl-nav{display:flex;flex-wrap:nowrap;gap:.35rem;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;overscroll-behavior-x:contain;padding:.2rem;margin:0;border-radius:999px;background:color-mix(in srgb,var(--muted) 8%,var(--surface));border:1px solid var(--border);min-width:0;width:100%;max-width:100%;box-sizing:border-box}.pl-nav::-webkit-scrollbar{height:4px}.pl-nav::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--planner-accent) 35%,#94a3b8);border-radius:999px}.pl-nav__btn{display:inline-flex;align-items:center;gap:.4rem;flex:0 0 auto;padding:.55rem .85rem;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:.8rem;font-weight:700;cursor:pointer;transition:background .2s,color .2s,transform .15s}.pl-nav__btn:hover{color:var(--text);background:color-mix(in srgb,var(--surface) 80%,#fff)}.pl-nav__btn.is-active{color:#fff;background:linear-gradient(135deg,var(--planner-accent),var(--planner-accent-2));box-shadow:0 6px 18px color-mix(in srgb,var(--planner-accent) 35%,transparent)}.pl-app__body{flex:1 1 auto;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;padding:.35rem .1rem .45rem;box-sizing:border-box}.pl-boot{display:grid;place-items:center;gap:.75rem;min-height:240px;color:var(--muted)}.pl-boot__pulse{width:42px;height:42px;border-radius:50%;border:3px solid color-mix(in srgb,var(--planner-accent) 30%,transparent);border-top-color:var(--planner-accent);animation:pl-spin .8s linear infinite}@keyframes pl-spin{to{transform:rotate(1turn)}}.pl-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:12px;padding:.55rem .9rem;font-weight:700;font-size:.84rem;cursor:pointer;transition:transform .15s,box-shadow .15s}.pl-btn:hover{transform:translateY(-1px)}.pl-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.pl-btn--primary{border-color:transparent;color:#fff;background:linear-gradient(135deg,var(--planner-accent),#0f766e);box-shadow:0 8px 20px color-mix(in srgb,var(--planner-accent) 30%,transparent)}.pl-link{border:0;background:none;color:var(--planner-accent);font-weight:700;cursor:pointer;font-size:.8rem}.pl-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--planner-radius);padding:1rem 1.1rem;box-shadow:0 4px 18px color-mix(in srgb,#0f172a 4%,transparent)}.pl-card header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.65rem}.pl-card h4{margin:0 0 .55rem;font-size:.95rem;font-weight:800}.pl-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.pl-stack{display:flex;flex-direction:column;gap:.85rem}.pl-dash__hero{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:1.1rem 1.2rem;border-radius:var(--planner-radius);background:linear-gradient(135deg,color-mix(in srgb,var(--planner-accent) 10%,var(--surface)),var(--surface));border:1px solid var(--border)}.pl-dash__hero h3{margin:.2rem 0 .35rem;font-size:1.35rem}.pl-dash__chips{display:flex;flex-wrap:wrap;gap:.4rem;align-content:flex-start}.pl-chip{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:.4rem .75rem;font-size:.78rem;font-weight:700;cursor:pointer;color:var(--muted)}.pl-chip.is-on,.pl-chip:hover{color:#fff;border-color:transparent;background:var(--planner-accent)}.pl-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.65rem;margin-bottom:1rem}.pl-stat{display:flex;gap:.55rem;align-items:center;padding:.75rem .8rem;border-radius:14px;background:var(--surface);border:1px solid var(--border)}.pl-stat i{width:2rem;height:2rem;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--planner-accent) 14%,transparent);color:var(--planner-accent)}.pl-stat--warn i{background:color-mix(in srgb,#ef4444 14%,transparent);color:#dc2626}.pl-stat--accent i{background:color-mix(in srgb,#f59e0b 16%,transparent);color:#d97706}.pl-stat strong{display:block;font-size:1.05rem;font-weight:800;line-height:1.1}.pl-stat span{font-size:.7rem;color:var(--muted)}.pl-list{list-style:none;margin:0;padding:0;flex-direction:column}.pl-list,.pl-list li{display:flex;gap:.45rem}.pl-list li{flex-wrap:wrap;align-items:center;padding:.45rem .35rem;border-radius:10px}.pl-list li.is-overdue{background:color-mix(in srgb,#ef4444 8%,transparent)}.pl-list li.is-done .pl-list__title{text-decoration:line-through;opacity:.65}.pl-list__title{flex:1;min-width:0;font-weight:650;font-size:.88rem}.pl-pri{font-size:.65rem;font-weight:800;padding:.12rem .4rem;border-radius:999px;background:#e2e8f0;color:#475569}.pl-pri--urgent{background:#fee2e2;color:#b91c1c}.pl-pri--high{background:#ffedd5;color:#c2410c}.pl-pri--medium{background:#e0f2fe;color:#0369a1}.pl-pri--low{background:#f1f5f9;color:#64748b}.pl-tag{font-size:.65rem;font-weight:700;padding:.1rem .4rem;border-radius:999px;background:color-mix(in srgb,var(--muted) 12%,var(--surface));color:var(--muted)}.pl-progress{display:flex;align-items:center;gap:.45rem;width:100%;margin-top:.25rem}.pl-progress__track{flex:1;height:7px;border-radius:999px;background:color-mix(in srgb,var(--muted) 14%,var(--surface));overflow:hidden}.pl-progress__fill{height:100%;border-radius:inherit;transition:width .35s ease}.pl-progress__val{font-size:.7rem;font-weight:800;color:var(--muted);min-width:2.2rem;text-align:right}.pl-goal-row{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.pl-empty{margin:.35rem 0;color:var(--muted);font-size:.85rem}.pl-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.65rem;margin-bottom:.75rem}.pl-seg{display:inline-flex;padding:.2rem;border-radius:12px;background:color-mix(in srgb,var(--muted) 10%,var(--surface));border:1px solid var(--border)}.pl-seg button{border:0;background:transparent;padding:.4rem .7rem;border-radius:10px;font-weight:700;font-size:.8rem;color:var(--muted);cursor:pointer}.pl-seg button.is-on{background:var(--surface);color:var(--text);box-shadow:0 2px 8px color-mix(in srgb,#0f172a 8%,transparent)}.pl-toolbar__nav{display:flex;gap:.35rem}.pl-toolbar__nav button{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:.35rem .65rem;cursor:pointer;font-weight:700}.pl-cal__composer{display:grid;grid-template-columns:1fr auto auto;gap:.5rem;margin-bottom:.85rem;align-items:center}.pl-cal__composer input,.pl-cal__composer select,.pl-input{padding:.55rem .75rem;background:var(--surface)}.pl-cal__composer input,.pl-cal__composer select,.pl-input,.pl-ta{border:1px solid var(--border);border-radius:12px;color:var(--text);font:inherit}.pl-ta{width:100%;padding:.65rem .75rem;background:color-mix(in srgb,var(--muted) 4%,var(--surface));resize:vertical}.pl-ta--lg{min-height:280px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86rem;line-height:1.55}.pl-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.pl-month__head{text-align:center;font-size:.72rem;font-weight:800;color:var(--muted);padding:.35rem}.pl-month__cell{min-height:64px;border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:.35rem;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:.25rem}.pl-month__cell.is-out{opacity:.4}.pl-month__cell.is-today{border-color:var(--planner-accent);box-shadow:0 0 0 1px var(--planner-accent)}.pl-month__dots{display:flex;gap:3px}.pl-month__dots i{width:6px;height:6px;border-radius:50%}.pl-month--compact .pl-month__cell{min-height:44px;align-items:center}.pl-month--compact em{font-style:normal;font-size:.65rem;font-weight:800;color:var(--planner-accent)}.pl-week__hours,.pl-week__row{display:grid;grid-template-columns:52px repeat(7,minmax(0,1fr));gap:.25rem}.pl-week--day .pl-week__hours,.pl-week--day .pl-week__row{grid-template-columns:52px minmax(0,1fr)}.pl-week__dayhead{text-align:center;font-size:.75rem;font-weight:800;padding:.35rem}.pl-week__h{font-size:.68rem;color:var(--muted);padding-top:.35rem}.pl-week__cell{min-height:42px;border:1px dashed color-mix(in srgb,var(--border) 80%,transparent);border-radius:8px;padding:.15rem}.pl-week__evt{display:flex;justify-content:space-between;gap:.25rem;padding:.25rem .35rem;border-radius:8px;border-left:3px solid;background:color-mix(in srgb,var(--planner-accent) 8%,var(--surface));font-size:.72rem}.pl-week__evt button{border:0;background:none;cursor:pointer;color:var(--muted)}.pl-agenda{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.pl-agenda li{display:grid;grid-template-columns:90px 60px 24px 1fr auto;gap:.5rem;align-items:center;padding:.65rem .75rem;border-radius:12px;border:1px solid var(--border);background:var(--surface)}.pl-todo-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.pl-todo-list>li{display:flex;gap:.55rem;align-items:flex-start;padding:.75rem .85rem;border-radius:14px;border:1px solid var(--border);background:var(--surface);cursor:grab;transition:box-shadow .2s,transform .15s}.pl-todo-list>li:active{cursor:grabbing}.pl-todo-list>li.is-done{opacity:.72}.pl-todo-list>li:hover{box-shadow:var(--planner-shadow)}.pl-check{border:0;background:none;color:var(--planner-accent);font-size:1.15rem;cursor:pointer;padding:.1rem}.pl-todo-main{flex:1;min-width:0}.pl-todo-meta{display:flex;flex-wrap:wrap;gap:.3rem;margin:.25rem 0}.pl-checklist{list-style:none;margin:.25rem 0;padding:0;font-size:.8rem;color:var(--muted)}.pl-checklist .is-done{text-decoration:line-through}.pl-x{border:0;background:none;color:var(--muted);font-size:1.2rem;cursor:pointer;line-height:1}.pl-daily__cover{padding:1.25rem 1.35rem;margin-bottom:.85rem;border-radius:var(--planner-radius);background:linear-gradient(120deg,color-mix(in srgb,#fbbf24 18%,transparent),transparent),var(--surface);border:1px solid var(--border)}.pl-daily__cover h3{margin:.2rem 0 0}.pl-view-title{margin:0 0 .85rem;font-size:1.15rem}.pl-weekly__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.55rem}.pl-weekly__day h4{margin-top:0}.pl-goal-head{display:flex;gap:.45rem;align-items:center;margin-bottom:.35rem}.pl-habit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.pl-habit{--h:#f59e0b;display:flex;flex-direction:column;gap:.35rem;align-items:flex-start;text-align:left;padding:1rem;border-radius:16px;border:1px solid color-mix(in srgb,var(--h) 35%,var(--border));background:color-mix(in srgb,var(--h) 10%,var(--surface));cursor:pointer;transition:transform .15s,box-shadow .2s}.pl-habit:hover{transform:translateY(-2px);box-shadow:var(--planner-shadow)}.pl-habit.is-done{outline:2px solid var(--h)}.pl-habit i{color:var(--h);font-size:1.2rem}.pl-habit span{font-size:.75rem;color:var(--muted)}.pl-heat{display:grid;grid-template-columns:repeat(28,minmax(0,1fr));gap:3px}.pl-heat__cell{aspect-ratio:1;border-radius:3px;background:color-mix(in srgb,var(--muted) 12%,var(--surface))}.pl-heat__cell--1{background:#99f6e4}.pl-heat__cell--2{background:#5eead4}.pl-heat__cell--3{background:#14b8a6}.pl-heat__cell--4{background:#0f766e}.pl-mood__row{display:flex;flex-wrap:wrap;gap:.45rem}.pl-mood__btn{width:3rem;height:3rem;border-radius:14px;border:1px solid var(--border);background:var(--surface);font-size:1.35rem;cursor:pointer;transition:transform .15s}.pl-mood__btn.is-on,.pl-mood__btn:hover{transform:scale(1.08);border-color:var(--planner-accent);box-shadow:var(--planner-shadow)}.pl-minibars{display:flex;align-items:flex-end;gap:4px;height:72px;margin-top:.5rem}.pl-minibars__bar{flex:1;border-radius:4px 4px 2px 2px;min-height:4px}.pl-donut-wrap{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.pl-donut{width:120px;height:120px;border-radius:50%;mask:radial-gradient(circle at center,transparent 48%,#000 50%);-webkit-mask:radial-gradient(circle at center,transparent 48%,#000 50%)}.pl-donut-legend{list-style:none;margin:0;padding:0;font-size:.82rem}.pl-donut-legend li{display:flex;align-items:center;gap:.4rem;margin:.25rem 0}.pl-donut-legend i{width:10px;height:10px;border-radius:3px}.pl-spark{display:block}.pl-ai__hero{margin-bottom:.85rem;background:radial-gradient(600px 180px at 90% 0,color-mix(in srgb,#8b5cf6 22%,transparent),transparent),var(--surface)}@media (max-width:1100px){.pl-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pl-habit-grid,.pl-weekly__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.pl-agenda li,.pl-cal__composer,.pl-grid-2,.pl-habit-grid,.pl-stat-grid,.pl-weekly__grid{grid-template-columns:1fr}.pl-week__hours,.pl-week__row{grid-template-columns:40px repeat(7,minmax(64px,1fr));min-width:640px}.pl-week{overflow-x:auto}.pl-nav__btn span{display:none}.pl-nav__btn{padding:.65rem .75rem}}:root{--accent-hover:#0d9488;--danger:#dc2626;--shadow-card:0 8px 24px rgba(15,23,42,0.12);--radius-sm:10px;--border-strong:#64748b}.thcs-floating-panel{z-index:20080;box-shadow:var(--shadow-card)}.admin-user-menu{position:relative;flex-shrink:0}.admin-user-trigger{display:flex;align-items:center;gap:.45rem;padding:.35rem .55rem .35rem .35rem;border-radius:999px;border:1px solid var(--border);background:var(--surface);font:inherit;cursor:pointer;max-width:16rem;box-shadow:var(--shadow)}.admin-user-trigger:hover{border-color:var(--accent)}.admin-user-trigger__avatar{width:2rem;height:2rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:.85rem}.admin-user-trigger--avatar-only{padding:0;gap:0;border:none;background:transparent;box-shadow:none;max-width:none}.admin-user-trigger--avatar-only:hover{border:none}.admin-user-trigger--avatar-only .admin-user-trigger__avatar{width:2.35rem;height:2.35rem;font-size:.9rem;border:2px solid var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.admin-user-trigger__avatar-img{width:100%;height:100%;border-radius:999px;-o-object-fit:cover;object-fit:cover}.admin-user-menu__panel{min-width:13.25rem;max-width:min(15rem,calc(100vw - 1rem));padding:.25rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm)}.admin-user-menu__header{display:flex;flex-direction:column;align-items:center;gap:.12rem;text-align:center;background:var(--accent-soft);margin:-.25rem -.25rem .2rem;padding:.42rem .5rem .38rem;border-radius:var(--radius-sm) var(--radius-sm) 0 0;border-bottom:1px solid rgba(3,105,161,.12)}.admin-user-menu__header-title{font-size:.78rem;font-weight:700;color:var(--accent-hover)}.admin-user-menu__header-email{font-size:.68rem;font-weight:500;color:var(--accent);word-break:break-all;line-height:1.25}.admin-user-menu__panel .admin-user-menu__item{padding:.38rem .48rem;font-size:.78rem;gap:.45rem;border-radius:6px}.admin-user-menu__item{display:flex;align-items:center;gap:.55rem;width:100%;text-align:left;padding:.5rem .6rem;border:none;border-radius:8px;background:transparent;font:inherit;font-size:.84rem;color:var(--text);cursor:pointer}.admin-user-menu__item:hover{background:#f1f5f9}html.dark .admin-user-menu__item:hover{background:#1e293b}.admin-user-menu__item--google{font-weight:600}.admin-user-menu__item--danger{color:var(--danger)}.admin-user-menu__panel .admin-user-menu__icon{width:.95rem;font-size:.72rem;color:var(--accent);display:inline-flex;justify-content:center;flex-shrink:0}.admin-user-menu__divider{height:1px;background:var(--border);margin:.25rem .35rem}.edu-hb-ua-modal-backdrop{position:fixed;inset:0;z-index:20100;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(15,23,42,.45)}.edu-hb-ua-modal,.edu-hb-ua-trial{width:min(32rem,100%);max-height:min(80vh,640px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow:hidden}.edu-hb-ua-modal__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border-subtle);font-weight:700;color:var(--accent)}.edu-hb-ua-modal__close{border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:1rem;line-height:1}.edu-hb-ua-modal__body{padding:1rem;overflow:auto}.edu-hb-ua-modal__foot{display:flex;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;border-top:1px solid var(--border-subtle)}.edu-hb-ua-btn{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:8px;padding:.45rem .85rem;font:inherit;cursor:pointer}.edu-hb-ua-btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.edu-hb-ua-profile__row{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--border-subtle)}.edu-hb-ua-profile__label{color:var(--muted);font-size:.9rem}.edu-hb-ua-profile__avatar{margin-top:1rem;text-align:center}.edu-hb-ua-profile__avatar img{border-radius:999px;border:2px solid var(--accent-soft)}.edu-hb-ua-muted,.edu-hb-ua-profile__hint{margin-top:1rem;color:var(--muted);font-size:.88rem;line-height:1.45}.edu-hb-ua-login-err{display:none}.user-account-settings__toolbar{display:flex;gap:.5rem;margin-bottom:.75rem}.user-account-settings__search{flex:1;border:1px solid var(--border);border-radius:8px;padding:.45rem .6rem;font:inherit;background:var(--surface);color:var(--text)}.user-account-settings__collapse{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;padding:.45rem .65rem;font:inherit;cursor:pointer}.user-account-settings__section{border:1px solid var(--border-subtle);border-radius:8px;margin-bottom:.5rem;overflow:hidden}.user-account-settings__section-head{width:100%;display:flex;align-items:center;gap:.5rem;padding:.55rem .65rem;border:none;background:var(--surface-2);font:inherit;font-weight:600;text-align:left;cursor:pointer;color:var(--text)}.user-account-settings__list{list-style:none;margin:0;padding:.35rem .65rem .55rem}.user-account-settings__item{display:flex;justify-content:space-between;gap:.75rem;padding:.35rem 0;font-size:.9rem}.user-account-settings__value{color:var(--muted)}.user-account-settings__note{margin-top:.75rem;font-size:.82rem;color:var(--muted)}.edu-hb-ua-trial__body{padding:1rem}.edu-hb-ua-trial__actions{display:flex;justify-content:flex-end;padding:.75rem 1rem 1rem}.ua-change-pw{display:flex;flex-direction:column;gap:1rem}.ua-change-pw__lead{margin:0;font-size:.85rem;line-height:1.45;color:var(--muted,#64748b)}.ua-change-pw__form{display:flex;flex-direction:column;gap:.65rem}.ua-change-pw__form label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;font-weight:700;color:#334155}.ua-change-pw__form input[type=password],.ua-change-pw__form input[type=text]{border:1px solid #cbd5e1;border-radius:8px;padding:.55rem .7rem;font:inherit;font-weight:500}.ua-change-pw__check{flex-direction:row!important;align-items:center;gap:.45rem!important;font-weight:600!important}.ua-change-pw__err,.ua-change-pw__hint,.ua-change-pw__ok{margin:0;font-size:.82rem;line-height:1.4}.ua-change-pw__err{color:#b91c1c}.ua-change-pw__ok{color:#047857}.ua-change-pw__form button[type=submit]{margin-top:.25rem;border:none;border-radius:8px;padding:.65rem 1rem;background:#0f766e;color:#fff;font:inherit;font-weight:700;cursor:pointer}.ua-change-pw__form button[type=submit]:disabled{opacity:.65;cursor:not-allowed}.ua-change-pw__alt{padding-top:.75rem;border-top:1px solid #e2e8f0}.ua-change-pw__alt p{margin:0 0 .45rem;font-size:.82rem;color:#64748b}.ua-change-pw__alt button{border:1px solid #99f6e4;background:#f0fdfa;color:#0f766e;border-radius:8px;padding:.5rem .75rem;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}.ua-hub,.ua-security{display:flex;flex-direction:column;gap:.85rem}.ua-hub__tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:.3rem;padding:.25rem;border-radius:10px;background:#f1f5f9;border:1px solid #e2e8f0}.ua-hub__tab{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;border:none;background:transparent;color:#64748b;font:inherit;font-size:.72rem;font-weight:700;padding:.45rem .25rem;border-radius:8px;cursor:pointer;white-space:nowrap}.ua-hub__tab i{font-size:.75rem}.ua-hub__tab.is-active{background:#fff;color:#0f766e;box-shadow:0 1px 3px rgba(15,23,42,.08)}.ua-hub__body{min-width:0}@media (max-width:420px){.ua-hub__tab{flex-direction:column;gap:.15rem;font-size:.65rem}}.ua-security__tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:.3rem;padding:.25rem;border-radius:10px;background:#f1f5f9;border:1px solid #e2e8f0}.ua-security__tab{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;border:none;background:transparent;color:#64748b;font:inherit;font-size:.72rem;font-weight:700;padding:.45rem .25rem;border-radius:8px;cursor:pointer;white-space:nowrap}.ua-security__tab i{font-size:.75rem}.ua-security__tab.is-active{background:#fff;color:#0f766e;box-shadow:0 1px 3px rgba(15,23,42,.08)}.ua-security__block h3{margin:0 0 .45rem;font-size:.95rem;color:#0f172a}.ua-security__block p{margin:0 0 .55rem;font-size:.85rem;line-height:1.45;color:#334155}.ua-security__muted{color:#64748b!important}.ua-security__trial-btn{border:1px solid #99f6e4;background:#f0fdfa;color:#0f766e;border-radius:8px;padding:.55rem .75rem;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}@media (max-width:420px){.ua-security__tab{flex-direction:column;gap:.15rem;font-size:.65rem}}.login-password-modal{position:fixed;inset:0;z-index:var(--edulib-card-modal-z,21200);display:flex;align-items:center;justify-content:center;padding:.75rem;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:rgba(15,23,42,.22);backdrop-filter:blur(2px);font-family:inherit;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}.login-password-modal--top{z-index:22250}.login-password-modal__inner{width:100%;max-width:420px;margin:auto}.login-password-modal__card,.login-password-modal__inner{max-height:min(92dvh,920px);display:flex;flex-direction:column}.login-password-modal__card{border-radius:var(--radius,14px);overflow:hidden;border:1px solid var(--border-strong,#64748b);box-shadow:0 4px 6px rgba(15,23,42,.06),0 16px 40px rgba(15,23,42,.14),0 32px 64px rgba(15,23,42,.08);background:var(--surface,#fff);min-height:0}.login-password-modal__header{position:relative;display:flex;align-items:center;justify-content:center;padding:.55rem 2.75rem .55rem 1rem;border-bottom:1px solid rgba(15,118,110,.15)}.login-password-modal__header--edulib{background:linear-gradient(135deg,var(--accent-soft,#ccfbf1) 0,#99f6e4 55%,#5eead4 100%);color:var(--accent,#0f766e);box-shadow:0 2px 12px rgba(15,118,110,.12)}html.dark .login-password-modal__header--edulib{background:linear-gradient(135deg,#134e4a,#115e59 55%,#0f766e);color:#ccfbf1;border-bottom-color:rgba(94,234,212,.2)}.login-password-modal__brand{display:flex;align-items:center;gap:.55rem;min-width:0;max-width:100%}.login-password-modal__logo{width:40px;height:40px;-o-object-fit:contain;object-fit:contain;flex-shrink:0;border-radius:8px;box-shadow:0 2px 8px rgba(15,23,42,.12)}.login-password-modal__inst-text{display:flex;flex-direction:column;text-align:center;min-width:0}.login-password-modal__inst-title{font-size:.95rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#dc2626;line-height:1.25;text-shadow:0 1px 1px rgba(185,28,28,.22)}html.dark .login-password-modal__inst-title{color:#f87171;text-shadow:0 1px 2px rgba(0,0,0,.35)}.login-password-modal__inst-sub{font-size:.72rem;font-weight:700;letter-spacing:.02em;color:#ef4444;line-height:1.3;text-shadow:0 1px 1px rgba(185,28,28,.18)}html.dark .login-password-modal__inst-sub{color:#fca5a5;text-shadow:0 1px 2px rgba(0,0,0,.3)}.login-password-modal__header-close{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:999px;border:1px solid rgba(255,255,255,.65);background:rgba(255,255,255,.45);color:var(--accent,#0f766e);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,transform .15s,box-shadow .15s}html.dark .login-password-modal__header-close{background:rgba(15,23,42,.35);border-color:rgba(255,255,255,.2);color:#ccfbf1}.login-password-modal__header-close:hover{background:rgba(255,255,255,.7);transform:translateY(-50%) translateY(-1px);box-shadow:0 4px 12px rgba(15,118,110,.2)}.login-password-modal__body{padding:1rem 1.15rem 1.1rem;color:var(--text,#111827);background:var(--surface,#fff);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1 1 auto;min-height:0}.login-password-modal__google-btn{display:flex;align-items:center;justify-content:center;gap:.65rem;width:100%;padding:.72rem 1rem;border:1px solid #dadce0;border-radius:10px;background:#fff;color:#3c4043;font:inherit;font-size:.9375rem;font-weight:500;letter-spacing:.01em;cursor:pointer;transition:box-shadow .2s ease,transform .15s ease,border-color .15s ease,background .15s ease;box-shadow:0 1px 2px rgba(60,64,67,.08),0 4px 12px rgba(60,64,67,.12),0 8px 24px rgba(60,64,67,.08)}.login-password-modal__google-btn:hover:not(:disabled){background:#fafafa;border-color:#c6c9cc;transform:translateY(-2px);box-shadow:0 2px 4px rgba(60,64,67,.1),0 8px 20px rgba(60,64,67,.16),0 16px 40px rgba(60,64,67,.12)}.login-password-modal__google-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px rgba(60,64,67,.12),0 2px 8px rgba(60,64,67,.1)}.login-password-modal__google-btn:disabled{opacity:.65;cursor:not-allowed}.login-password-modal__google-icon{display:inline-flex;flex-shrink:0;line-height:0}.login-password-modal__divider{display:flex;align-items:center;gap:.75rem;margin:1.1rem 0;color:var(--muted,#6b7280);font-size:.8125rem}.login-password-modal__divider:after,.login-password-modal__divider:before{content:"";flex:1;height:1px;background:var(--border,#e5e7eb)}.login-password-modal__field{display:flex;flex-direction:column;gap:.28rem;margin-bottom:.7rem}.login-password-modal__field label{font-size:.85rem;font-weight:600;color:var(--text,#374151)}.login-password-modal__field input{width:100%;box-sizing:border-box;padding:.6rem .75rem;border-radius:8px;border:1px solid var(--border,#d1d5db);background:var(--surface,#fff);color:var(--text,#111827);font:inherit;font-size:.95rem}.login-password-modal__field input:focus{outline:none;border-color:var(--accent,#0f766e);box-shadow:0 0 0 3px rgba(15,118,110,.15)}.login-password-modal__pwd-wrap{position:relative;width:100%}.login-password-modal__pwd-wrap input{padding-right:2.75rem}.login-password-modal__pwd-toggle{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);width:2.25rem;height:2.25rem;border:none;border-radius:8px;background:transparent;color:var(--muted,#6b7280);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:.95rem}.login-password-modal__pwd-toggle:hover{color:var(--accent,#0f766e);background:rgba(15,118,110,.08)}.login-password-modal__checks{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin:.25rem 0 .75rem;font-size:.875rem;color:var(--text,#374151)}.login-password-modal__check{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.login-password-modal__check input{width:1rem;height:1rem;accent-color:var(--accent,#0f766e)}.login-password-modal__err{margin:0 0 .75rem;padding:.55rem .65rem;border-radius:8px;background:#fef2f2;color:#b91c1c;font-size:.875rem;line-height:1.4}html.dark .login-password-modal__err{background:rgba(127,29,29,.35);color:#fca5a5}.login-password-modal__actions--split{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between;margin-top:.35rem}.login-password-modal__btn-exit{border:1px solid var(--border,#e5e7eb);background:var(--surface,#fff);color:var(--muted,#475569);font:inherit;font-size:.875rem;font-weight:500;padding:.55rem .75rem;border-radius:8px;cursor:pointer}.login-password-modal__btn-exit:hover:not(:disabled){background:var(--surface-2,#f9fafb);border-color:#d1d5db}.login-password-modal__submit{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;flex:1;min-width:8rem;padding:.7rem 1rem;border:none;border-radius:8px;background:var(--accent,#0f766e);color:#fff;font:inherit;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 4px 14px rgba(15,118,110,.35);transition:background .15s,box-shadow .15s,transform .15s}.login-password-modal__submit:hover:not(:disabled){background:var(--accent-hover,#0d9488);transform:translateY(-1px);box-shadow:0 6px 20px rgba(15,118,110,.4)}.login-password-modal__btn-exit:disabled,.login-password-modal__submit:disabled{opacity:.65;cursor:not-allowed}.login-password-modal__tabs{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;margin-bottom:1rem;padding:.25rem;border-radius:10px;background:#f1f5f9;border:1px solid #e2e8f0}html.dark .login-password-modal__tabs{background:#0f172a;border-color:#334155}.login-password-modal__tab{border:none;background:transparent;color:#64748b;font:inherit;font-size:.875rem;font-weight:700;padding:.5rem .65rem;border-radius:8px;cursor:pointer}.login-password-modal__tab.is-active{background:#fff;color:#0f766e;box-shadow:0 1px 3px rgba(15,23,42,.08)}html.dark .login-password-modal__tab.is-active{background:#1e293b;color:#5eead4}.login-password-modal__row-between{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem .75rem;margin-bottom:.65rem}.login-password-modal__link{border:none;background:none;color:#0f766e;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}.login-password-modal__link:hover{color:#0d9488}.login-password-modal__hint{margin:0 0 .85rem;font-size:.82rem;line-height:1.45;color:#475569}.login-password-modal__optional{font-weight:500;color:#94a3b8;text-transform:none;letter-spacing:0}.login-password-modal__req{color:#dc2626;font-weight:800;margin-left:.1rem}.login-password-modal__field-hint{margin:.3rem 0 0;font-size:.72rem;color:#64748b}.login-password-modal__guest-note{margin:0 0 .75rem;font-size:.8rem;line-height:1.45;color:#475569}.login-password-modal__strength{display:grid;grid-template-columns:repeat(4,1fr);gap:.25rem;margin-top:.4rem}.login-password-modal__strength-bar{height:4px;border-radius:99px;background:#e2e8f0}.login-password-modal__strength.is-s1 .login-password-modal__strength-bar:first-child{background:#ef4444}.login-password-modal__strength.is-s2 .login-password-modal__strength-bar:nth-child(-n+2){background:#f59e0b}.login-password-modal__strength.is-s3 .login-password-modal__strength-bar:nth-child(-n+3){background:#14b8a6}.login-password-modal__strength.is-s4 .login-password-modal__strength-bar{background:#0f766e}.login-password-modal__secure-note{display:flex;gap:.45rem;align-items:flex-start;margin:0 0 .75rem;padding:.55rem .65rem;border-radius:8px;background:#f0fdfa;border:1px solid #99f6e4;color:#134e4a;font-size:.75rem;line-height:1.4}.login-password-modal__secure-note i{margin-top:.15rem;flex-shrink:0}.login-password-modal__ok{margin:0 0 .75rem;padding:.55rem .65rem;border-radius:8px;background:#ecfdf5;color:#047857;font-size:.875rem;line-height:1.4}.login-password-modal__check-email{text-align:center}.login-password-modal__check-icon{font-size:2rem;color:#0f766e;margin-bottom:.5rem}.login-password-modal__check-email h3{margin:0 0 .5rem;font-size:1.05rem;color:#0f172a}.login-password-modal__check-email p{margin:0 0 .85rem;font-size:.875rem;color:#475569;line-height:1.45}.login-password-modal__actions--stack{display:flex;flex-direction:column;gap:.5rem}.login-password-modal__actions--stack .login-password-modal__btn-exit,.login-password-modal__actions--stack .login-password-modal__submit{width:100%;flex:none}@media (max-width:480px){.login-password-modal{align-items:center;justify-content:center;padding:.85rem max(.85rem,env(safe-area-inset-right,0px)) max(.85rem,env(safe-area-inset-bottom,0px)) max(.85rem,env(safe-area-inset-left,0px))}.login-password-modal__inner{max-width:100%;width:100%;max-height:min(88dvh,720px);margin:auto}.login-password-modal__card{max-height:min(88dvh,720px);border-radius:14px;border:1px solid var(--border-strong,#64748b)}.login-password-modal__header{padding:.45rem 2.5rem .45rem .85rem}.login-password-modal__logo{width:34px;height:34px}.login-password-modal__inst-title{font-size:.85rem}.login-password-modal__inst-sub{font-size:.65rem}.login-password-modal__body{padding:.75rem .85rem .9rem}.login-password-modal__tabs{margin-bottom:.65rem}.login-password-modal__google-btn{padding:.6rem .85rem;font-size:.875rem}.login-password-modal__actions--split{flex-direction:column-reverse;gap:.4rem}.login-password-modal__actions--split .login-password-modal__btn-exit,.login-password-modal__actions--split .login-password-modal__submit{width:100%;flex:none;min-width:0}.login-password-modal__row-between{flex-direction:column;align-items:stretch;gap:.4rem}.login-password-modal__link{align-self:flex-end}}@media (max-height:700px){.login-password-modal{align-items:center;padding:.65rem}.login-password-modal__card,.login-password-modal__inner{max-height:min(90dvh,680px)}.login-password-modal__field{margin-bottom:.55rem}.login-password-modal__body{padding-top:.7rem;padding-bottom:.7rem}}.auth-recover{min-height:70vh;display:grid;place-items:center;padding:1.5rem;background:linear-gradient(180deg,#f0fdfa,#f8fafc 55%,#fff)}.auth-recover__card{width:100%;max-width:420px;background:#fff;border:1.5px solid #99f6e4;border-radius:14px;box-shadow:0 12px 40px rgba(15,23,42,.1);overflow:hidden}.auth-recover__head{display:flex;align-items:center;gap:.65rem;padding:.85rem 1rem;background:linear-gradient(135deg,#ccfbf1,#5eead4)}.auth-recover__head img{border-radius:8px}.auth-recover__head strong{display:block;color:#dc2626;font-size:.9rem;letter-spacing:.04em}.auth-recover__head span{display:block;color:#ef4444;font-size:.7rem;font-weight:700}.auth-recover__body{padding:1.25rem 1.35rem 1.5rem}.auth-recover__body h1{margin:0 0 .5rem;font-size:1.15rem;color:#0f172a}.auth-recover__email{margin:0 0 1rem;font-size:.875rem;color:#475569}.auth-recover__field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem;font-size:.8rem;font-weight:700;color:#334155}.auth-recover__field input{border:1px solid #cbd5e1;border-radius:8px;padding:.6rem .75rem;font:inherit;font-weight:500}.auth-recover__pwd{display:flex;gap:.35rem}.auth-recover__pwd input{flex:1}.auth-recover__pwd button{border:1px solid #cbd5e1;background:#f8fafc;border-radius:8px;width:2.5rem;cursor:pointer;color:#64748b}.auth-recover__hint{margin:-.35rem 0 .75rem;font-size:.72rem;color:#64748b}.auth-recover__err{margin:0 0 .75rem;padding:.5rem .65rem;border-radius:8px;background:#fef2f2;color:#b91c1c;font-size:.85rem}.auth-recover__btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:.7rem 1rem;border:none;border-radius:8px;background:#0f766e;color:#fff;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.auth-recover__btn:disabled{opacity:.65;cursor:not-allowed}.auth-recover__link{color:#0f766e;font-weight:700}.api-vault-admin{display:flex;flex-direction:column;gap:.65rem;flex:1 1 auto;min-height:0;min-width:min(100%,52rem);height:100%;overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-bottom:.25rem}.api-vault-admin__toolbar{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;flex-shrink:0}.api-vault-admin__toolbar--actions{justify-content:flex-start}.api-vault-admin__toolbar input,.api-vault-admin__toolbar select{border:1px solid var(--border);border-radius:8px;padding:.4rem .55rem;font:inherit;font-size:.84rem;background:var(--surface);color:var(--text)}.api-vault-admin__toolbar input[type=search]{flex:1 1 12rem;min-width:10rem}.api-vault-admin__btn{border:1px solid var(--border);background:var(--surface-2,#f8fafc);color:var(--text);border-radius:8px;padding:.4rem .7rem;font:inherit;font-size:.84rem;font-weight:600;cursor:pointer}.api-vault-admin__btn--primary{background:var(--accent,#0f766e);border-color:var(--accent,#0f766e);color:#fff}.api-vault-admin__btn--export{background:#16a34a;border-color:#15803d;color:#fff;display:inline-flex;align-items:center;gap:.35rem}.api-vault-admin__btn--export:hover:not(:disabled){background:#15803d}.api-vault-admin__btn--danger{color:#b91c1c;border-color:#fecaca}.api-vault-admin__btn:disabled{opacity:.55;cursor:not-allowed}.api-vault-admin__stats{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.78rem;color:var(--muted);flex-shrink:0}.api-vault-admin__stat{padding:.2rem .5rem;border-radius:999px;background:var(--surface-2,#f1f5f9)}.api-vault-admin__stat--warn{background:#fef3c7;color:#92400e}.api-vault-admin__stat--crit{background:#fee2e2;color:#991b1b}.api-vault-admin__table-wrap{flex:1 1 auto;min-height:12rem;max-height:min(52vh,32rem);min-width:100%;overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;border:1px solid #64748b;border-radius:6px}.api-vault-admin__table thead th{position:sticky;top:0;z-index:1;background:#f8fafc;box-shadow:0 1px 0 #cbd5e1}.api-vault-admin__account{font-size:.78rem;max-width:11rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.api-vault-admin__col-jump{width:2.5rem;text-align:center;padding-left:.35rem!important;padding-right:.35rem!important}.api-vault-admin__jump-btn{width:1.65rem;height:1.65rem;padding:0;border:1px solid #94a3b8;border-radius:6px;background:#f8fafc;color:#0f766e;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem}.api-vault-admin__jump-btn:hover:not(:disabled){background:#ecfdf5;border-color:#0f766e}.api-vault-admin__jump-btn:disabled{opacity:.35;cursor:not-allowed}.api-vault-admin__col-address{min-width:11rem;max-width:16rem}.api-vault-admin__address-link{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;color:#0369a1;text-decoration:none}.api-vault-admin__address-link:hover{text-decoration:underline}.api-vault-admin__address--flash{animation:api-vault-address-flash 1.8s ease}@keyframes api-vault-address-flash{0%,to{background:transparent}15%,45%{background:color-mix(in srgb,#0f766e 22%,#ecfdf5);box-shadow:inset 0 0 0 1px #0f766e}}.api-vault-admin__export-note{margin:0;font-size:.84rem;color:var(--muted);flex-shrink:0}.api-vault-admin__export-grid{display:grid;grid-template-columns:minmax(9rem,1.2fr) repeat(6,minmax(5.5rem,1fr));gap:.45rem;align-items:stretch;padding:.75rem;border:1px solid var(--border);border-radius:12px;background:var(--surface-2,#f8fafc);overflow:auto}.api-vault-admin__export-grid--wide{grid-template-columns:minmax(9rem,1.1fr) repeat(4,minmax(5.5rem,1fr))}.api-vault-admin__ok{margin:0;padding:.55rem .7rem;border-radius:8px;background:#ecfdf5;color:#065f46;font-size:.84rem;line-height:1.45}.api-vault-admin__import-box{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;padding:.75rem;border:1px solid var(--border);border-radius:12px;background:var(--surface-2,#f8fafc)}.api-vault-admin__import-box .api-vault-admin__export-row-label{flex:1 1 12rem}.api-vault-admin__file{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.api-vault-admin__btn--import{background:#1d4ed8;border-color:#1e40af;color:#fff;display:inline-flex;align-items:center;gap:.35rem}.api-vault-admin__export-row-label{display:flex;flex-direction:column;justify-content:center;gap:.2rem;padding:.5rem .65rem;border-radius:10px;background:#fff;border:1px solid var(--border);font-weight:800;font-size:.78rem;letter-spacing:.03em}.api-vault-admin__export-row-label small{font-weight:500;color:var(--muted);letter-spacing:0;font-size:.72rem}.api-vault-admin__export-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;min-height:5.5rem;padding:.55rem .35rem;border-radius:10px;border:1px solid var(--border);background:#fff;cursor:pointer;font:inherit;color:var(--text);position:relative}.api-vault-admin__export-cell i:first-child{font-size:1.35rem}.api-vault-admin__export-cell span{font-size:.78rem;font-weight:800}.api-vault-admin__export-cell small{font-size:.68rem;color:var(--muted);text-align:center;line-height:1.2}.api-vault-admin__export-dl{font-size:.75rem!important;opacity:.55}.api-vault-admin__export-cell:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px rgba(15,23,42,.1)}.api-vault-admin__export-cell--excel i:first-child{color:#16a34a}.api-vault-admin__export-cell--word i:first-child{color:#2563eb}.api-vault-admin__export-cell--pdf i:first-child{color:#dc2626}.api-vault-admin__export-cell--md i:first-child{color:#334155}.api-vault-admin__export-cell--html i:first-child{color:#ea580c}.api-vault-admin__export-cell--ppt i:first-child{color:#c2410c}@media (max-width:900px){.api-vault-admin__export-grid{grid-template-columns:1fr 1fr}.api-vault-admin__export-row-label{grid-column:1/-1}}.api-vault-admin__table{width:100%;border-collapse:collapse;font-size:.8rem;border:1px solid #64748b;table-layout:auto}.api-vault-admin__table td,.api-vault-admin__table th{padding:.32rem .45rem;border:1px solid #94a3b8;text-align:left;vertical-align:middle;line-height:1.25}.api-vault-admin__table th{position:sticky;top:0;background:#e2e8f0;z-index:1;font-weight:700;color:#0f172a;border-color:#64748b;white-space:nowrap}.api-vault-admin__table td{white-space:nowrap;background:var(--surface,#fff)}.api-vault-admin__table tr:hover td{background:rgba(15,118,110,.05)}.api-vault-admin__badge{display:inline-flex;align-items:center;padding:.12rem .45rem;border-radius:999px;font-size:.72rem;font-weight:700}.api-vault-admin__badge--free{background:#d1fae5;color:#065f46}.api-vault-admin__badge--paid{background:#dbeafe;color:#1e40af}.api-vault-admin__badge--ok{background:#d1fae5;color:#065f46}.api-vault-admin__badge--warning{background:#fef3c7;color:#92400e}.api-vault-admin__badge--critical,.api-vault-admin__badge--expired{background:#fee2e2;color:#991b1b}.api-vault-admin__badge--none{background:#f1f5f9;color:#475569}.api-vault-admin__pager{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.82rem;flex-shrink:0}.api-vault-admin__form{display:grid;grid-template-columns:repeat(2,minmax(12rem,1fr));gap:.55rem .75rem;min-width:min(100%,40rem);overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1 1 auto;max-height:none;padding-bottom:.5rem}.api-vault-admin__form label{display:flex;flex-direction:column;gap:.25rem;font-size:.78rem;font-weight:600;color:var(--muted)}.api-vault-admin__form label .api-vault-admin__hint{font-weight:400;font-size:.72rem;color:var(--muted);line-height:1.35}.api-vault-admin__form label.full{grid-column:1/-1}.api-vault-admin__form input,.api-vault-admin__form select,.api-vault-admin__form textarea{border:1px solid var(--border);border-radius:8px;padding:.45rem .55rem;font:inherit;font-size:.88rem;font-weight:500;color:var(--text);background:var(--surface)}.api-vault-admin__form textarea{min-height:4rem;resize:vertical}.api-vault-admin__err{margin:0;padding:.55rem .7rem;border-radius:8px;background:#fef2f2;color:#b91c1c;font-size:.84rem;line-height:1.45;flex-shrink:0;white-space:normal;word-break:break-word}.api-vault-admin__empty{padding:2rem 1rem;text-align:center;color:var(--muted)}.api-vault-admin__key-line{display:inline-flex;align-items:center;gap:.2rem;max-width:10.5rem;flex-wrap:nowrap;white-space:nowrap}.api-vault-admin__key-line__text{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:.74rem;font-family:ui-monospace,Cascadia Code,Consolas,monospace;letter-spacing:.01em;color:#0f172a}.api-vault-admin__key-line__copy{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:1.28rem;height:1.28rem;padding:0;margin:0;border:1px solid #64748b;border-radius:4px;background:#f8fafc;color:#0369a1;cursor:pointer;font-size:.68rem;line-height:1}.api-vault-admin__key-line__copy:hover:not(:disabled){background:#e0f2fe;border-color:#0284c7}.api-vault-admin__key-line__copy:disabled{opacity:.45;cursor:not-allowed}.api-vault-admin__col-key{max-width:11rem;padding-top:.28rem!important;padding-bottom:.28rem!important}.api-vault-admin__key-muted{color:var(--muted);font-size:.84rem}.api-vault-admin__btn--probe{background:#0ea5e9;border-color:#0284c7;color:#fff}.api-vault-admin__btn--probe:hover:not(:disabled){background:#0284c7}.api-vault-admin__stat--ok{background:#dcfce7;color:#166534}.api-vault-admin__code{font-size:.76rem;letter-spacing:.02em;white-space:nowrap}.api-vault-admin__health{display:inline-flex;align-items:center;padding:.15rem .45rem;border-radius:999px;font-size:.74rem;font-weight:700;white-space:nowrap}.api-vault-admin__health--ok{background:#dcfce7;color:#166534}.api-vault-admin__health--fail,.api-vault-admin__health--invalid_key{background:#fee2e2;color:#991b1b}.api-vault-admin__health--forbidden,.api-vault-admin__health--rate_limit{background:#fef3c7;color:#92400e}.api-vault-admin__health--disabled,.api-vault-admin__health--pending,.api-vault-admin__health--skip{background:#f1f5f9;color:#64748b}.api-vault-admin__row--system td{background:color-mix(in srgb,var(--surface-2,#f8fafc) 88%,#0ea5e9 12%)}.api-vault-admin__table td:first-child,.api-vault-admin__table th:first-child{width:2.5rem;text-align:center}.api-vault-admin__col-npc-check{width:2.25rem;text-align:center;padding-left:.35rem!important;padding-right:.35rem!important}.api-vault-admin__npc-na{color:#94a3b8;font-size:.85rem}.api-vault-admin__row--npc-selected{background:color-mix(in srgb,#0d9488 12%,#fff)}.api-vault-admin__npc-foot-check{padding:.45rem .65rem;background:#f8fafc;border-top:1px solid #cbd5e1;font-size:.84rem}@media (max-width:720px){.api-vault-admin{min-width:100%}.api-vault-admin__form{grid-template-columns:1fr;min-width:100%}.api-vault-admin__toolbar input[type=search]{flex:1 1 100%;min-width:100%}.api-vault-admin__btn,.api-vault-admin__toolbar select{flex:1 1 auto}}