:root{--bg: #f4f7fb;--card: #ffffff;--text: #0f172a;--muted: #6b7280;--accent: #2563eb;--accent-700: #1e40af;--success: #10b981;--danger: #ef4444;--glass: rgba(255,255,255,.6);--radius: 12px;--container: 1000px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial}body{margin:0;background:linear-gradient(180deg,#eef2ff 0%,var(--bg) 60%);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-bottom:60px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:linear-gradient(180deg,#eef2ff 0%,var(--bg) 60%);color:#0f172a;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-bottom:60px}.app-container{max-width:var(--container);margin:2.2rem auto;padding:1.2rem}.navbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:linear-gradient(90deg,#2563eb1a,#6366f10f);padding:.9rem 1.2rem;border-radius:14px;box-shadow:0 6px 18px #1018280f;margin-bottom:1.6rem}.nav-left{display:flex;align-items:center;gap:1rem}.nav-brand{font-weight:700;font-size:1.4rem;color:var(--accent-700);letter-spacing:-.5px}.nav-links{display:flex;gap:.8rem;align-items:center}.nav-links a{color:var(--accent-700);text-decoration:none;padding:.35rem .6rem;border-radius:8px;transition:all .15s ease;font-weight:600}.nav-links a:hover{background:#2563eb14;transform:translateY(-1px)}.btn{background:var(--accent);color:#fff;padding:.45rem .85rem;border-radius:8px;border:none;cursor:pointer;font-weight:600;box-shadow:0 6px 14px #2563eb24}.btn.ghost{background:transparent;color:var(--accent-700);box-shadow:none;border:1px solid rgba(16,24,40,.06)}.header-welcome{margin:1.2rem 0;display:flex;align-items:center;justify-content:space-between;gap:1rem}.header-welcome h1{margin:0;font-size:2rem;line-height:1}.grid{display:grid;grid-template-columns:1fr 340px;gap:1.2rem}.card{background:var(--card);border-radius:var(--radius);padding:1.2rem;box-shadow:0 6px 20px #0206170d}.habit-list{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.habit-card{display:flex;gap:1rem;align-items:flex-start;padding:1rem;border-radius:10px;background:linear-gradient(0deg,#02061703,#ffffff05);border:1px solid rgba(15,23,42,.03);transition:transform .12s ease,box-shadow .12s ease}.habit-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0206170f}.habit-icon{width:64px;height:64px;border-radius:10px;background:linear-gradient(180deg,#2563eb0f,#0ea5e905);display:flex;align-items:center;justify-content:center;font-size:28px;color:var(--accent-700);flex:0 0 64px}.habit-content{flex:1}.habit-content h3{margin:0;font-size:1.15rem}.habit-meta{margin-top:.55rem;color:var(--muted);font-size:.95rem}.pill{display:inline-block;padding:.28rem .5rem;border-radius:999px;background:#0f172a08;color:var(--muted);font-weight:600;font-size:.85rem;margin-right:.5rem}.habit-actions{display:flex;flex-direction:column;gap:.6rem;align-items:flex-end}.icon-btn{background:transparent;border:1px solid rgba(15,23,42,.06);padding:.35rem .5rem;border-radius:8px;cursor:pointer}.icon-btn.positive{border-color:#10b9811f;background:#10b9810f;color:var(--success)}.sidebar{display:flex;flex-direction:column;gap:1rem}.small-card{padding:1rem;border-radius:10px;background:linear-gradient(180deg,#fff9,#ffffff80);border:1px solid rgba(2,6,23,.04)}.habit-form label{display:block;font-weight:600;margin-bottom:.35rem;color:#0f172a;font-size:.9rem}.habit-form input[type=text],.habit-form input[type=time],.habit-form select{width:100%;padding:.5rem;border-radius:8px;border:1px solid rgba(15,23,42,.08);margin-bottom:.75rem;font-size:.95rem}.habit-form .row{display:flex;gap:.5rem;align-items:center}.habit-form .row .half{flex:1}.habit-form .submit-row{margin-top:.5rem;display:flex;gap:.6rem;align-items:center}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#eef2ff,#f9fafc 60%);padding:2rem}.auth-card{background:#fff;width:100%;max-width:420px;border-radius:16px;box-shadow:0 10px 35px #00000012;padding:2rem 2rem 1.8rem;text-align:left;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.auth-card h2{margin-top:0;font-size:1.5rem;font-weight:700;color:var(--accent-700, #2563eb)}.auth-card p.lead{color:#6b7280;font-size:.95rem;margin-bottom:1.2rem}.auth-form label{font-weight:600;font-size:.9rem;display:block;margin-bottom:.4rem}.auth-form input{width:100%;padding:.55rem .8rem;border:1px solid #d1d5db;border-radius:10px;margin-bottom:.9rem;font-size:.95rem}.auth-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.auth-links{margin-top:1.2rem;text-align:center;font-size:.9rem;color:#6b7280}.auth-links a{color:var(--accent-700, #2563eb);text-decoration:none;font-weight:600;margin:0 6px}.auth-links a:hover{text-decoration:underline}.tip{padding:.8rem;border-radius:8px;background:linear-gradient(90deg,#6366f10f,#6366f105);border:1px dashed rgba(99,102,241,.08);color:var(--accent-700)}@media(max-width:920px){.grid{grid-template-columns:1fr}.header-welcome{flex-direction:column;align-items:flex-start;gap:.7rem}.nav-links{display:none}.nav-brand{font-size:1.2rem}}.pill{background:#f3f4f6;padding:6px 10px;border-radius:999px;font-size:.9rem;color:#374151}.pill.success{background:#dcfce7;color:#065f46}.nav-link{text-decoration:none;color:#0b4db1;padding:6px 8px;border-radius:6px}.nav-link:hover{background:#eef6ff}.dropdown-item{padding:12px 16px;text-align:left;border:none;background:transparent;cursor:pointer;font-size:14px;color:#0f172a}.dropdown-item:hover{background:#f8fafc}.dropdown-item.danger{color:#b91c1c;font-weight:600}.habit-form{max-width:720px;margin:12px auto;padding:18px;background:#fff;border-radius:12px;box-shadow:0 8px 30px #0307120f}.habit-form .row{display:flex;gap:12px;align-items:center;margin-bottom:12px}.habit-form input[type=text],.habit-form input[type=time]{width:100%;padding:10px 12px;border-radius:8px;border:1px solid #e6eefc;font-size:14px}.autocomplete-list{position:absolute;background:#fff;border:1px solid #e6eefc;box-shadow:0 12px 40px #0206170f;z-index:40;width:100%;margin-top:6px;border-radius:8px;max-height:220px;overflow:auto}.autocomplete-item{padding:8px 12px;display:flex;gap:8px;align-items:center;cursor:pointer}.autocomplete-item:hover{background:#f1f7ff}.template-icon{font-size:20px;width:28px;text-align:center}.profile-page{padding:28px;display:flex;justify-content:center}.profile-card{width:980px;display:flex;gap:24px;background:#fff;padding:22px;border-radius:12px;box-shadow:0 12px 30px #0206170f}.profile-left{width:260px;display:flex;flex-direction:column;align-items:center;gap:12px}.avatar-wrap{width:160px;text-align:center}.avatar-img{width:160px;height:160px;border-radius:12px;object-fit:cover}.avatar-fallback{width:160px;height:160px;border-radius:12px;background:#f3f6fb;display:flex;align-items:center;justify-content:center;font-size:64px;color:#2563eb}.avatar-actions{display:flex;gap:8px;margin-top:8px}.profile-meta{text-align:center;margin-top:8px}.meta-name{font-weight:700;font-size:18px}.meta-email{color:#6b7280;font-size:13px}.profile-right{flex:1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label{display:flex;flex-direction:column;gap:6px}.form-grid input{padding:10px 12px;border-radius:8px;border:1px solid #e6eefc;font-size:14px}input.readonly{background:#f9fafb;color:#6b7280}.btn.small{padding:6px 10px;font-size:13px}.btn.ghost{background:transparent;border:1px solid #e6eefc;color:#0b4db1}:root[data-theme=dark]{--bg: #0b1220;--card: #0f172a;--text: #e5e7eb;--muted: #9aa3b2;--accent: #3b82f6;--accent-700: #2563eb;--success: #10b981;--danger: #ef4444;--glass: rgba(13, 18, 30, .5)}:root[data-theme=dark] body{background:linear-gradient(180deg,#0d172a 0%,var(--bg) 60%)}:root[data-theme=dark] .card,:root[data-theme=dark] .small-card,:root[data-theme=dark] .habit-form,:root[data-theme=dark] .auth-card{background:var(--card);border-color:#ffffff0f;box-shadow:0 12px 30px #00000073;color:var(--text)}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] .dropdown-item,:root[data-theme=dark] .autocomplete-list{background:#0b1628;color:var(--text);border-color:#ffffff14}:root[data-theme=dark] .dropdown-item:hover{background:#0f213b}:root[data-theme=dark] .navbar{background:linear-gradient(90deg,#3b82f61f,#6366f112);box-shadow:0 8px 24px #00000059}:root[data-theme=dark] .pill.success{background:#0f2a23;color:#a7f3d0}:root[data-theme=dark] .tip{background:linear-gradient(90deg,#3b82f61f,#6366f10f);border-color:#93c5fd2e;color:#cfe1ff}:root[data-theme=dark] .btn{box-shadow:0 6px 14px #0000006b}:root[data-theme=dark] .btn.ghost{border-color:#ffffff14;color:#cfe1ff}:root[data-theme=dark] .fc-theme-standard .fc-scrollgrid,:root[data-theme=dark] .fc-theme-standard td,:root[data-theme=dark] .fc-theme-standard th{border-color:#ffffff14}:root[data-theme=dark] .profile-card{background:var(--card);color:var(--text);border:1px solid rgba(255,255,255,.06);box-shadow:0 12px 30px #00000073}:root[data-theme=dark] .profile-page{background:transparent}:root[data-theme=dark] .profile-card .meta-email{color:var(--muted)}:root[data-theme=dark] .form-grid input,:root[data-theme=dark] .profile-card input{background:#0b1628;color:var(--text);border:1px solid rgba(255,255,255,.08)}:root[data-theme=dark] input.readonly{background:#0f213b;color:#cbd5e1}:root[data-theme=dark] .avatar-fallback{background:#0f213b;color:#cfe1ff}:root[data-theme=dark] .ns-card,:root[data-theme=dark] .ns-section{background:var(--card);color:var(--text);border:1px solid rgba(255,255,255,.06);box-shadow:0 12px 30px #00000073}:root[data-theme=dark] .ns-label,:root[data-theme=dark] .ns-title{color:var(--text)}:root[data-theme=dark] .ns-help{color:var(--muted)}:root[data-theme=dark] .ns-input{background:#0b1628;color:var(--text);border:1px solid rgba(255,255,255,.08)}:root[data-theme=dark] .ns-readonly{background:#0f213b;color:#e5e7eb;border-color:#ffffff14}:root{--cal-border: rgba(15,23,42,.14);--cal-strong: rgba(15,23,42,.28);--cal-today: color-mix(in oklab, var(--accent) 12%, transparent)}:root[data-theme=dark]{--cal-border: rgba(255,255,255,.14);--cal-strong: rgba(255,255,255,.28);--cal-today: color-mix(in oklab, var(--accent) 18%, transparent)}.fc-theme-standard .fc-scrollgrid,.fc-theme-standard td,.fc-theme-standard th{border-color:var(--cal-border)}.fc-daygrid .fc-scrollgrid-section>td{border-bottom:2px solid var(--cal-strong)}.fc-daygrid-day{border-right-width:1.5px}.fc-col-header,.fc-col-header-cell{border-bottom:2px solid var(--cal-strong)}.fc-timegrid-slot{border-top:1.5px solid var(--cal-border)}.fc-timegrid-slot-minor{border-top-style:dotted;opacity:.8}.fc-timegrid-col{border-right:1.5px solid var(--cal-border)}.fc-timegrid-axis-cushion,.fc-col-header-cell-cushion{color:var(--text)}.fc-day-today,.fc-timegrid-col.fc-day-today{background:var(--cal-today)!important}.fc-timegrid-now-indicator-line{border-top:2px solid var(--accent)!important}.fc-timegrid-now-indicator-arrow{border-color:var(--accent)!important}:root[data-theme=dark] .fc .fc-daygrid-event{background:#12325f;border-color:#2f5da3;color:#e5efff}:root[data-theme=dark] .habit-card{background:#0f172a;border-color:#ffffff0f;box-shadow:0 12px 30px #0000006b}:root[data-theme=dark] .pill{background:#0f213b;color:#cbd5e1}.habit-actions .icon-btn:hover{filter:brightness(1.02);transform:translateY(-1px)}.bell-btn{border:1px solid rgba(15,23,42,.08)}:root[data-theme=dark] .bell-btn{background:#0b1628;border-color:#ffffff14;color:var(--text)}.badge-dot{margin-left:6px;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#ef4444;color:#fff;font-weight:700;display:inline-flex;align-items:center;justify-content:center;font-size:12px}.menu-panel{position:absolute;right:0;margin-top:10px;width:320px;background:var(--card);border-radius:8px;box-shadow:0 10px 30px #0206171f;border:1px solid rgba(15,23,42,.06);z-index:120;max-height:420px;overflow:auto}:root[data-theme=dark] .menu-panel{border-color:#ffffff14;box-shadow:0 12px 30px #00000073}.menu-head{padding:12px;border-bottom:1px solid rgba(15,23,42,.06);display:flex;justify-content:space-between;align-items:center}:root[data-theme=dark] .menu-head{border-color:#ffffff14}.menu-row{padding:12px;border-bottom:1px solid rgba(15,23,42,.06);display:flex;gap:10px;align-items:flex-start}.menu-row.row-unseen{background:color-mix(in oklab,var(--accent) 8%,transparent)}:root[data-theme=dark] .menu-row{border-color:#ffffff14}.muted{color:var(--muted)}.card-strong{border:2px solid rgba(15,23,42,.18)}:root[data-theme=dark] .card-strong{border-color:#ffffff59}.page-dark-shell{background:linear-gradient(180deg,#0d172a 0%,var(--bg) 60%);padding:28px 16px 40px}:root{--cal-border: rgba(15,23,42,.22);--cal-strong: rgba(15,23,42,.38)}:root[data-theme=dark]{--cal-border: rgba(255,255,255,.22);--cal-strong: rgba(255,255,255,.42)}.header-welcome h1{color:var(--text);z-index:1}.habit-actions .icon-btn{background:#fff;color:#111827}:root[data-theme=dark] .habit-actions .icon-btn{background:#0b1628;color:#e5e7eb;border:1px solid rgba(255,255,255,.12)}:root[data-theme=dark] body{background:linear-gradient(180deg,#050b16,#0b162b 60%)!important;color:#e5e7eb!important}:root[data-theme=dark]{--bg: #0b1628;--card: #0f172a;--text: #e5e7eb;--muted: #94a3b8}:root{--cal-bg: var(--bg, #f6f8fb);--cal-card: var(--card, #ffffff);--cal-text: var(--text, #0f172a);--cal-muted: var(--muted, #6b7280);--cal-accent: var(--accent, #2563eb);--cal-accent-700: var(--accent-700, #1e40af);--cal-border: rgba(15,23,42,.1);--cal-grid: rgba(15,23,42,.08);--cal-today: rgba(37, 99, 235, .1);--cal-select: rgba(37, 99, 235, .2);--cal-popover-shadow: 0 10px 30px rgba(0,0,0,.15)}.dark{--cal-bg: var(--bg, #0b1220);--cal-card: var(--card, #0f172a);--cal-text: var(--text, #e5e7eb);--cal-muted: var(--muted, #94a3b8);--cal-accent: var(--accent, #60a5fa);--cal-accent-700: var(--accent-700, #3b82f6);--cal-border: rgba(255,255,255,.08);--cal-grid: rgba(148,163,184,.14);--cal-today: rgba(96,165,250,.12);--cal-select: rgba(96,165,250,.2);--cal-popover-shadow: 0 14px 36px rgba(0,0,0,.45)}.fc{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;color:var(--cal-text)}.fc,.fc .fc-scrollgrid,.fc-theme-standard .fc-scrollgrid{background:var(--cal-card);border-color:var(--cal-border)}.fc .fc-toolbar{background:var(--cal-card);color:var(--cal-text);border-bottom:1px solid var(--cal-border);padding:.5rem .75rem}.fc .fc-toolbar-title{font-weight:700;letter-spacing:.2px}.fc .fc-button{border-radius:.6rem;border:1px solid var(--cal-border);background:#94a3b824;color:var(--cal-text);padding:.4rem .65rem}.fc .fc-button:disabled{opacity:.6}.fc .fc-button-primary:not(:disabled):hover{background:var(--cal-accent);color:#fff;border-color:var(--cal-accent-700)}.fc .fc-button-primary.fc-button-active{background:var(--cal-accent);color:#fff;border-color:var(--cal-accent-700)}.fc .fc-col-header,.fc .fc-col-header-cell{background:var(--cal-card);color:var(--cal-muted);border-color:var(--cal-border);font-weight:600}.fc .fc-daygrid-day,.fc .fc-timegrid-slot,.fc .fc-timegrid-axis-cushion,.fc .fc-timegrid-slot-label{border-color:var(--cal-grid)}.fc .fc-daygrid-day-number{color:var(--cal-muted);font-weight:600}.fc .fc-day-today{background:var(--cal-today)}.fc .fc-day-today .fc-daygrid-day-number{color:var(--cal-accent)}.fc .fc-highlight{background:var(--cal-select)}.fc .fc-daygrid-event,.fc .fc-timegrid-event{background:#60a5fa29;border:1px solid var(--cal-accent);color:var(--cal-text);border-radius:.5rem;padding:.15rem .35rem}.dark .fc .fc-daygrid-event,.dark .fc .fc-timegrid-event{box-shadow:0 4px 14px #00000059}.fc .fc-event:hover{filter:brightness(1.05)}.fc .fc-timegrid-axis-cushion,.fc .fc-timegrid-slot-label{color:var(--cal-muted);background:var(--cal-card)}.fc .fc-popover{background:var(--cal-card);border:1px solid var(--cal-border);box-shadow:var(--cal-popover-shadow);color:var(--cal-text)}.fc .fc-popover-header{background:var(--cal-card);color:var(--cal-muted);border-bottom:1px solid var(--cal-border)}.fc .fc-daygrid-more-link{color:var(--cal-accent)}.fc,.fc *{transition:background-color .25s ease,color .25s ease,border-color .25s ease}:root[data-theme=dark] .nav-brand,:root[data-theme=dark] .nav-brand a{color:#fff!important}:root[data-theme=dark] .nav-links a,:root[data-theme=dark] a.nav-link,:root[data-theme=dark] .nav-link{color:#fff!important}:root[data-theme=dark] .nav-links a:hover,:root[data-theme=dark] a.nav-link:hover,:root[data-theme=dark] .nav-link:hover{background:#ffffff1a!important;color:#eaf2ff!important}:root[data-theme=dark] .nav-link.active{border-bottom:2px solid #ffffff;color:#fff!important}:root{--hc-border: rgba(15,23,42,.1);--hc-chip: rgba(148,163,184,.16);--hc-chip-text: var(--text, #0f172a);--hc-ghost-hover: rgba(148,163,184,.2)}.dark{--hc-border: rgba(255,255,255,.08);--hc-chip: rgba(148,163,184,.2);--hc-chip-text: var(--text, #e5e7eb);--hc-ghost-hover: rgba(255,255,255,.1)}.habit-card{background:var(--card)!important;color:var(--text);border:1px solid var(--hc-border);box-shadow:0 10px 30px #00000040;overflow:visible}.habit-card .icon{background:color-mix(in oklab,var(--card),#94a3b8 14%)}.habit-card .pill{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .55rem;border-radius:999px;background:var(--hc-chip);color:var(--hc-chip-text);font-size:.8rem;font-weight:600}.habit-card .pill.success{background:color-mix(in oklab,var(--accent, #2563eb),white 80%);color:color-mix(in oklab,var(--accent, #2563eb),black 20%)}.btn{font-weight:600;border-radius:8px;border:1px solid transparent;outline:none;transition:background-color .2s ease,border-color .2s ease,color .2s ease,filter .2s ease}.btn:focus-visible{box-shadow:0 0 0 3px color-mix(in oklab,var(--accent,#2563eb),transparent 70%)}.btn.primary{background:var(--accent,#2563eb);color:#fff}.btn.primary:hover{filter:brightness(1.05)}.btn.primary:disabled{background:#10b98138;color:#064e3b;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--text);border-color:var(--hc-border);padding:.5rem .7rem}.btn.ghost:hover{background:var(--hc-ghost-hover);border-color:color-mix(in oklab,var(--hc-border),var(--accent) 30%)}.habit-card .actions{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}@media(max-width:560px){.habit-card{flex-direction:column!important;align-items:stretch!important;gap:.75rem}.habit-card .actions{align-items:stretch}.habit-card .actions>div{justify-content:flex-start}}:root{--ah-card: var(--card, #fff);--ah-text: var(--text, #0f172a);--ah-muted: var(--muted, #6b7280);--ah-accent: var(--accent, #2563eb);--ah-accent-700: var(--accent-700, #1e40af);--ah-border: rgba(15,23,42,.1);--ah-input-bg: color-mix(in oklab, var(--card, #fff), #0f172a 5%);--ah-chip: rgba(148,163,184,.18);--ah-shadow: 0 10px 30px rgba(0,0,0,.12)}.dark{--ah-card: var(--card, #0f172a);--ah-text: var(--text, #e5e7eb);--ah-muted: var(--muted, #94a3b8);--ah-border: rgba(255,255,255,.08);--ah-input-bg: color-mix(in oklab, var(--card, #0f172a), #ffffff 3%);--ah-shadow: 0 14px 36px rgba(0,0,0,.45)}.ah-wrap{padding:20px;display:flex;justify-content:center}.ah-card{width:720px;max-width:calc(100% - 32px);background:var(--ah-card);color:var(--ah-text);border:1px solid var(--ah-border);border-radius:16px;box-shadow:var(--ah-shadow);padding:28px}.ah-title{margin:0 0 16px;font-size:32px;font-weight:800;letter-spacing:.2px;opacity:.95}.ah-field{margin-bottom:14px;display:flex;flex-direction:column;gap:6px}.ah-label{font-size:14px;font-weight:700;color:var(--ah-text)}.ah-hint{font-size:13px;color:var(--ah-muted)}.ah-input,.ah-select{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--ah-border);background:var(--ah-input-bg);color:var(--ah-text);outline:none;transition:border-color .2s,box-shadow .2s,background-color .2s,color .2s}.ah-input:focus,.ah-select:focus{border-color:var(--ah-accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--ah-accent),transparent 70%)}.ah-days{display:flex;gap:8px;flex-wrap:wrap}.ah-weekday{padding:8px 10px;border-radius:10px;border:1px solid var(--ah-border);background:var(--ah-input-bg);color:var(--ah-text);font-weight:600;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}.ah-weekday.is-active{border-color:var(--ah-accent);background:color-mix(in oklab,var(--ah-accent),var(--ah-card) 84%);color:color-mix(in oklab,var(--ah-accent),#000 15%)}.ah-reminder{display:flex;align-items:center;gap:10px}.ah-reminder label{color:var(--ah-text)}.ah-select-inline{margin-left:auto;padding:8px 10px;border-radius:10px;border:1px solid var(--ah-border);background:var(--ah-input-bg);color:var(--ah-text)}.ah-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.ah-btn{padding:10px 14px;border-radius:12px;font-weight:700;border:1px solid transparent;cursor:pointer;transition:filter .2s,background-color .2s,border-color .2s}.ah-btn--primary{background:var(--ah-accent);color:#fff}.ah-btn--primary:hover{filter:brightness(1.05)}.ah-btn--secondary{background:var(--ah-chip);color:var(--ah-text);border-color:var(--ah-border)}.ah-btn--secondary:hover{background:color-mix(in oklab,var(--ah-chip),#ffffff 5%)}.ah-two{display:flex;gap:10px}.ah-two>div{flex:1}.ah-card,.ah-card *{transition:background-color .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease}@media(max-width:560px){.ah-card{padding:20px}.ah-title{font-size:26px}.ah-two{flex-direction:column}}:root{--ns-bg: #f6f8fc;--ns-card: #ffffff;--ns-text: #0f172a;--ns-muted: #6b7280;--ns-border: #e5e7eb;--ns-ring: #2563eb;--ns-primary: #2563eb;--ns-primary-600: #1d4ed8;--ns-success: #10b981;--ns-danger: #ef4444;--ns-shadow: 0 10px 30px rgba(2,6,23,.08)}.ns-page{padding:32px 20px 56px;background:radial-gradient(1200px 280px at 30% -20%,#eaf2ff 0%,transparent 70%),linear-gradient(0deg,var(--ns-bg),var(--ns-bg));min-height:calc(100vh - 64px);display:flex;justify-content:center}.ns-card{width:100%;max-width:880px;background:var(--ns-card);border:1px solid var(--ns-border);border-radius:16px;box-shadow:var(--ns-shadow);padding:20px}@media(min-width:640px){.ns-card{padding:28px}}.ns-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.ns-title{margin:0;font-size:28px;line-height:1.2;color:var(--ns-text);letter-spacing:-.02em}.ns-muted{color:var(--ns-muted);margin:6px 0 0}.ns-alert{padding:10px 12px;border-radius:10px;font-size:14px;margin:12px 0 8px;border:1px solid var(--ns-border)}.ns-alert-success{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.ns-alert-error{background:#fef2f2;border-color:#fecaca;color:#7f1d1d}.ns-skeleton{color:var(--ns-muted);padding:8px 0 4px}.ns-form{margin-top:6px;display:flex;flex-direction:column;gap:18px}.ns-row{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:720px){.ns-row{grid-template-columns:1fr 1fr}}.ns-field{display:flex;flex-direction:column;gap:8px}.ns-label{font-weight:600;color:var(--ns-text);letter-spacing:.01em}.ns-input,.ns-input[type=time],.ns-input[type=number],.ns-input[type=text],.ns-input:where(select){width:100%;padding:10px 12px;font-size:14px;border-radius:10px;border:1px solid var(--ns-border);background:#fff;outline:none;transition:border-color .15s ease,box-shadow .15s ease;box-shadow:inset 0 1px #02061705}.ns-input:focus{border-color:var(--ns-ring);box-shadow:0 0 0 3px #2563eb26}.ns-input:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.ns-help{margin:-2px 0 0;font-size:12px;color:var(--ns-muted)}.ns-actions{display:flex;gap:10px;justify-content:flex-end;border-top:1px dashed var(--ns-border);padding-top:16px;margin-top:6px}.ns-primary,.ns-secondary{border:1px solid transparent;border-radius:12px;font-weight:600;padding:10px 14px;cursor:pointer;transition:transform .04s ease,box-shadow .15s ease,background .15s ease,color .15s ease;box-shadow:0 6px 16px #0206170d}.ns-primary{background:var(--ns-primary);color:#fff}.ns-primary:hover{background:var(--ns-primary-600);transform:translateY(-1px)}.ns-primary:disabled{opacity:.7;cursor:not-allowed;transform:none}.ns-secondary{background:#fff;color:var(--ns-text);border-color:var(--ns-border)}.ns-secondary:hover{background:#f8fafc;transform:translateY(-1px)}@media(max-width:420px){.ns-title{font-size:24px}}:root{--pf-bg: var(--bg, #f4f7fb);--pf-card: var(--card, #ffffff);--pf-text: var(--text, #0f172a);--pf-muted: var(--muted, #6b7280);--pf-accent: var(--accent, #2563eb);--pf-border: rgba(15, 23, 42, .08);--pf-shadow: 0 10px 30px rgba(0, 0, 0, .08)}.dark{--pf-bg: #0b1220;--pf-card: #0f172a;--pf-text: #e5e7eb;--pf-muted: #94a3b8;--pf-border: rgba(255, 255, 255, .08);--pf-shadow: 0 14px 36px rgba(0, 0, 0, .45)}.pf-page{min-height:100vh;background:var(--pf-bg);display:flex;justify-content:center;padding:40px 20px;box-sizing:border-box;color:var(--pf-text)}.pf-card{width:100%;max-width:950px;background:var(--pf-card);border:1px solid var(--pf-border);border-radius:20px;box-shadow:var(--pf-shadow);padding:32px;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;transition:background-color .3s ease,color .3s ease,border-color .3s ease}.pf-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px;margin-bottom:24px}.pf-title{font-size:32px;font-weight:800;margin:0;color:var(--pf-text)}.pf-muted{color:var(--pf-muted);margin-top:4px}.pf-header-actions{display:flex;gap:10px}.pf-section-title{font-size:20px;font-weight:700;margin-bottom:10px;color:var(--pf-text)}.pf-avatar-row{display:flex;align-items:center;gap:20px}.pf-avatar{width:80px;height:80px;border-radius:14px;border:2px solid var(--pf-border);object-fit:cover;background:var(--pf-card);box-shadow:0 4px 10px #0000001a}.pf-avatar-fallback{width:80px;height:80px;border-radius:14px;background:var(--pf-border);color:var(--pf-text);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:26px}.pf-avatar-actions{display:flex;flex-direction:column;gap:8px}.pf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.pf-field{display:flex;flex-direction:column}.pf-label{font-weight:600;font-size:14px;margin-bottom:4px;color:var(--pf-text)}.pf-error{color:#ef4444;font-weight:500;margin-left:4px}.pf-input{background:color-mix(in oklab,var(--pf-card),#0b1220 5%);color:var(--pf-text);border:1px solid var(--pf-border);border-radius:8px;padding:10px 12px;font-size:15px;outline:none;transition:border-color .2s,box-shadow .2s}.pf-input:focus{border-color:var(--pf-accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--pf-accent),transparent 70%)}.pf-readonly{background:color-mix(in oklab,var(--pf-card),#ffffff 3%);border:1px solid var(--pf-border);border-radius:8px;padding:10px 12px;color:var(--pf-text)}.pf-primary,.pf-secondary,.pf-danger{border-radius:10px;font-weight:700;border:1px solid transparent;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s;padding:8px 16px}.pf-primary{background:var(--pf-accent);color:#fff}.pf-primary:hover{filter:brightness(1.05)}.pf-secondary{background:#94a3b826;color:var(--pf-text);border-color:var(--pf-border)}.pf-secondary:hover{background:#94a3b840}.pf-danger{background:#ef4444;color:#fff}.pf-danger:hover{filter:brightness(1.05)}.pf-inline{display:flex;align-items:center;gap:10px}.pf-help{font-size:12px;color:var(--pf-muted);margin-top:4px}.pf-card,.pf-card *{transition:background-color .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease}@media(max-width:600px){.pf-card{padding:20px;border-radius:14px}.pf-title{font-size:26px}}.dark{--pf-bg: #0b1220;--pf-card: #0f172a;--pf-text: #e5e7eb;--pf-muted: #94a3b8;--pf-border: rgba(255, 255, 255, .25);--pf-shadow: 0 14px 36px rgba(0, 0, 0, .45)}.pf-card{width:100%;max-width:950px;background:var(--pf-card);border:2px solid rgba(255,255,255,.85);border-radius:20px;box-shadow:0 0 25px #0006;padding:32px;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;transition:background-color .3s ease,color .3s ease,border-color .3s ease}
