:root{color-scheme:dark;--background: #090909;--background-deep: #050505;--surface: #111110;--surface-raised: #181817;--surface-strong: #20201f;--surface-hover: #252523;--text: #f2f0e9;--text-soft: #c7c4bc;--muted: #98968f;--faint: #66645f;--line: #30302e;--line-strong: #4b4a46;--inverse: #0a0a09;--inverse-background: #f0eee7;--success: #a5c9ad;--success-surface: #17231a;--warning: #dfbe82;--warning-surface: #282015;--danger: #dd918a;--danger-surface: #291817;--info: #a8b7cf;--info-surface: #171d27;--focus: #ffffff;--event-color: #b9b6ad;--radius: 3px;--radius-large: 8px;--shadow: 0 24px 70px rgb(0 0 0 / .48);--header-height: 64px;--nav-height: 68px;--page-inline: clamp(16px, 4vw, 28px);--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--font-interface: "Helvetica Neue", Helvetica, Arial, sans-serif;font-family:var(--font-interface);font-size:16px;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--background-deep);overscroll-behavior-y:none;text-size-adjust:100%;-webkit-text-size-adjust:100%}body,#root{min-height:100%;margin:0}body{min-height:100vh;min-height:100dvh;overflow-x:hidden;background:radial-gradient(circle at 84% -10%,rgb(255 255 255 / .045),transparent 32rem),var(--background-deep);color:var(--text)}body,button,input,select,textarea{font:inherit}button,input,select,textarea{color:inherit}button,[role=button],a{-webkit-tap-highlight-color:transparent}button,[role=button]{min-height:44px;touch-action:manipulation}button{border:0}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}h1,h2,h3,p,figure,dl,dd,ol,ul{margin:0}ol,ul{padding:0;list-style:none}button,input,select,textarea{outline:none}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:3px}::selection{background:var(--inverse-background);color:var(--inverse)}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{border-radius:999px;background:var(--line-strong)}.sr-only,.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.mobile-app{position:relative;isolation:isolate;display:flex;width:min(100%,760px);min-height:100vh;min-height:100dvh;flex-direction:column;margin:0 auto;padding-bottom:calc(var(--nav-height) + var(--safe-bottom));background:var(--background)}.mobile-app--auth,.mobile-app:has(.auth-page){padding-bottom:0}.app-header{position:sticky;z-index:40;top:0;display:flex;min-height:calc(var(--header-height) + var(--safe-top));align-items:center;justify-content:space-between;gap:12px;padding:calc(10px + var(--safe-top)) calc(var(--page-inline) + var(--safe-right)) 10px calc(var(--page-inline) + var(--safe-left));border-bottom:1px solid var(--line);background:#090909eb;backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%)}.brand-lockup{display:inline-flex;min-width:0;min-height:44px;align-items:center;gap:11px}.brand-mark,.brand-mark img,img.brand-mark{width:38px;height:38px;flex:0 0 38px;object-fit:cover}.brand-mark,img.brand-mark{filter:invert(1);mix-blend-mode:screen}.brand-copy{display:grid;min-width:0;gap:3px}.brand-copy strong{overflow:hidden;font-size:.76rem;font-weight:650;letter-spacing:.17em;line-height:1.1;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.brand-copy span,.brand-copy small{color:var(--muted);font-size:.62rem;font-weight:600;letter-spacing:.13em;line-height:1;text-transform:uppercase}.header-actions,.page-actions,.actions{display:flex;align-items:center;gap:8px}.main-content{width:100%;flex:1 0 auto}.bottom-nav{position:fixed;z-index:50;right:50%;bottom:0;display:grid;width:min(100%,760px);min-height:calc(var(--nav-height) + var(--safe-bottom));grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);padding:4px max(6px,var(--safe-right)) var(--safe-bottom) max(6px,var(--safe-left));border-top:1px solid var(--line);background:#0d0d0cf5;box-shadow:0 -12px 40px #00000040;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);transform:translate(50%)}.bottom-nav a,.bottom-nav button,.bottom-nav__item{position:relative;display:grid;min-width:0;min-height:60px;place-content:center;place-items:center;gap:4px;padding:5px 3px;border-radius:var(--radius);background:transparent;color:var(--muted);cursor:pointer}.bottom-nav :where(a,button)>span{max-width:100%;overflow:hidden;font-size:.58rem;font-weight:650;letter-spacing:.08em;line-height:1;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.bottom-nav a:before,.bottom-nav button:before,.bottom-nav__item:before{position:absolute;top:0;left:50%;width:20px;height:2px;background:transparent;content:"";transform:translate(-50%)}.bottom-nav :where(a,button,.bottom-nav__item)[aria-current=page],.bottom-nav :where(a,button,.bottom-nav__item).active,.bottom-nav :where(a,button,.bottom-nav__item).is-active{background:var(--surface-raised);color:var(--text)}.bottom-nav :where(a,button,.bottom-nav__item)[aria-current=page]:before,.bottom-nav :where(a,button,.bottom-nav__item).active:before,.bottom-nav :where(a,button,.bottom-nav__item).is-active:before{background:var(--text)}.nav-icon{display:grid;width:22px;height:22px;place-items:center}.nav-icon svg{width:21px;height:21px}.nav-label{max-width:100%;overflow:hidden;font-size:.58rem;font-weight:650;letter-spacing:.08em;line-height:1;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.page{display:grid;width:100%;align-content:start;gap:20px;padding:24px calc(var(--page-inline) + var(--safe-right)) 40px calc(var(--page-inline) + var(--safe-left));animation:page-enter .18s ease-out both}.page-header{display:grid;gap:15px;padding-bottom:18px;border-bottom:1px solid var(--line)}.page-header__top,.page-header>div:first-child{min-width:0}.eyebrow,.overline{color:var(--muted);font-size:.64rem;font-weight:700;letter-spacing:.17em;line-height:1.3;text-transform:uppercase}.page-title{margin-top:6px;font-size:clamp(2rem,10vw,3.65rem);font-weight:350;letter-spacing:-.045em;line-height:.96;text-wrap:balance}.page-subtitle{max-width:46ch;color:var(--muted);font-size:.86rem;line-height:1.55}.page-header>div>p:not(.eyebrow,.overline){margin-top:8px;color:var(--muted);font-size:.78rem;line-height:1.45}.page-header .page-actions{flex-wrap:wrap}.surface,.card,.dashboard-card,.auth-card,.account-section,.modal-panel{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,rgb(255 255 255 / .018),transparent 50%),var(--surface)}.surface,.card,.account-section{padding:18px}.card-list{display:grid;gap:9px}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.card-header h2,.card-header h3,.section-title{font-size:.79rem;font-weight:700;letter-spacing:.12em;line-height:1.35;text-transform:uppercase}.card-header p,.section-description{margin-top:5px;color:var(--muted);font-size:.78rem;line-height:1.45}.muted{color:var(--muted)}.meta,.timestamp{color:var(--faint);font-size:.64rem;font-weight:600;letter-spacing:.08em;line-height:1.35;text-transform:uppercase}.divider{height:1px;margin:4px 0;border:0;background:var(--line)}.button,.icon-button,.text-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line-strong);border-radius:var(--radius);background:transparent;color:var(--text);font-size:.69rem;font-weight:700;letter-spacing:.09em;line-height:1.2;text-transform:uppercase;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease,opacity .14s ease,transform .14s ease}.button{min-width:44px;padding:10px 15px}.button--primary,.button.primary{border-color:var(--inverse-background);background:var(--inverse-background);color:var(--inverse)}.button--secondary,.button.secondary,.button--quiet,.button.quiet{border-color:var(--line);background:var(--surface-raised)}.button--ghost,.button.ghost,.text-button{border-color:transparent;background:transparent;color:var(--text-soft)}.button--danger,.button.danger{border-color:color-mix(in srgb,var(--danger) 55%,var(--line));background:var(--danger-surface);color:var(--danger)}.button--full{width:100%}.button:active,.icon-button:active,.text-button:active{transform:translateY(1px)}.button:disabled,.icon-button:disabled,.text-button:disabled,button[aria-disabled=true]{cursor:not-allowed;opacity:.4}.icon-button{width:44px;min-width:44px;padding:0}.icon-button svg{width:19px;height:19px}.text-button{padding:8px 5px;color:var(--muted)}.status-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;min-height:48px;padding:9px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);color:var(--text-soft);font-size:.78rem;line-height:1.4}.mobile-app>.status-banner{border-top:0;border-right:0;border-left:0;border-radius:0;padding-right:calc(12px + var(--safe-right));padding-left:calc(12px + var(--safe-left))}.status-banner>.status-dot{background:var(--warning)}.status-banner strong{color:var(--text);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}.status-banner--offline,.status-banner.offline,.status-banner[data-state=offline]{border-color:color-mix(in srgb,var(--warning) 45%,var(--line));background:var(--warning-surface);color:var(--warning)}.status-banner--error,.status-banner.error,.status-banner[data-state=error]{border-color:color-mix(in srgb,var(--danger) 45%,var(--line));background:var(--danger-surface);color:var(--danger)}.status-banner--conflict,.status-banner.conflict,.status-banner[data-state=conflict]{border-color:color-mix(in srgb,var(--warning) 45%,var(--line));background:var(--warning-surface)}.status-banner--conflict>.status-dot,.status-banner.conflict>.status-dot,.status-banner[data-state=conflict]>.status-dot{background:var(--danger)}.status-banner--success,.status-banner[data-state=success]{border-color:color-mix(in srgb,var(--success) 42%,var(--line));background:var(--success-surface);color:var(--success)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--faint);box-shadow:0 0 0 4px #ffffff09}.status-dot.online,.status-dot.synced,.status-dot[data-state=online],.status-dot[data-state=synced]{background:var(--success)}.status-dot.syncing,.status-dot[data-state=syncing]{background:var(--info);animation:status-pulse 1.2s ease-in-out infinite}.status-dot.offline,.status-dot.queued,.status-dot[data-state=offline],.status-dot[data-state=queued]{background:var(--warning)}.status-dot.error,.status-dot.conflict,.status-dot[data-state=error],.status-dot[data-state=conflict]{background:var(--danger)}.sync-pill{display:inline-flex;min-height:28px;align-items:center;gap:7px;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:.59rem;font-weight:700;letter-spacing:.08em;line-height:1;text-transform:uppercase;white-space:nowrap}.sync-pill[data-state=synced],.sync-pill[data-state=idle],.sync-pill.synced,.sync-pill--idle,.sync-pill--synced{color:var(--success)}.sync-pill[data-state=queued],.sync-pill.queued,.sync-pill[data-state=offline],.sync-pill.offline,.sync-pill--queued,.sync-pill--offline{color:var(--warning)}.sync-pill[data-state=conflict],.sync-pill.conflict,.sync-pill[data-state=error],.sync-pill.error,.sync-pill--conflict,.sync-pill--error{color:var(--danger)}.sync-pill--syncing,.sync-pill[data-state=syncing]{color:var(--info)}.is-spinning{animation:spin .85s linear infinite}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:11px}.dashboard-card{position:relative;display:grid;min-height:150px;align-content:space-between;gap:22px;padding:18px;overflow:hidden}.dashboard-card:after{position:absolute;right:-26px;bottom:-40px;width:118px;height:118px;border:1px solid rgb(255 255 255 / .035);border-radius:50%;content:"";pointer-events:none}.dashboard-card__header,.dashboard-card__footer{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dashboard-card h2,.dashboard-card h3{font-size:clamp(1.15rem,6vw,1.65rem);font-weight:400;letter-spacing:-.025em;line-height:1.08}.dashboard-card .card-header{align-items:center;margin-bottom:0}.dashboard-card .card-header>span{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.63rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.dashboard-card p{max-width:42ch;color:var(--muted);font-size:.8rem;line-height:1.5}.dashboard-card__count,.metric{font-size:2rem;font-weight:350;letter-spacing:-.04em;line-height:1}.hidden-note{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:10px;padding:12px;border:1px dashed var(--line-strong);color:var(--muted);font-size:.75rem;line-height:1.5}.hidden-note svg{width:18px;height:18px}.title-button{display:inline-flex;max-width:100%;min-height:44px;align-items:flex-end;gap:10px;padding:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.title-button .page-title{min-width:0;overflow-wrap:anywhere}.title-button>svg{flex:0 0 auto;margin-bottom:5px;color:var(--muted)}.board-picker{display:grid;gap:7px}.board-picker>span{color:var(--muted);font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.dashboard-copy{overflow-wrap:anywhere;color:var(--text-soft)!important;font-size:.9rem!important;white-space:pre-wrap}.dashboard-copy--align-center{text-align:center}.dashboard-copy--align-right{text-align:right}.dashboard-copy--size-small{font-size:.8rem!important}.dashboard-copy--size-large{font-size:1.2rem!important}.dashboard-copy--size-display{font-size:1.5rem!important;letter-spacing:-.025em}.dashboard-copy--weight-regular{font-weight:400}.dashboard-copy--weight-medium{font-weight:500}.dashboard-copy--weight-bold{font-weight:700}.dashboard-copy--muted{opacity:.6}.dashboard-link{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--line);background:var(--background);color:var(--text-soft);font-size:.8rem}.dashboard-link>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-link>svg{flex:0 0 auto;color:var(--muted)}.checklist{display:grid;align-content:start;gap:3px}.checklist li{min-width:0}.checklist label{display:grid;min-height:46px;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;padding:6px 2px;border-top:1px solid var(--line);cursor:pointer}.checklist li:first-child label{border-top:0}.checklist input,.reminder-complete input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);opacity:0}.checkmark{display:grid;width:24px;height:24px;place-items:center;border:1px solid var(--line-strong);border-radius:2px;color:var(--inverse)}.checklist input:checked+.checkmark,.reminder-complete input:checked+.checkmark{border-color:var(--text);background:var(--text)}.checklist input:focus-visible+.checkmark,.reminder-complete input:focus-visible+.checkmark{outline:2px solid var(--focus);outline-offset:3px}.checklist strong{min-width:0;overflow-wrap:anywhere;font-size:.79rem;font-weight:500;line-height:1.4}.checklist .is-complete strong{color:var(--muted);text-decoration:line-through}.reminder-list{display:grid;gap:8px}.reminder-row{display:flex;min-width:0;min-height:68px;align-items:center;gap:10px;padding:10px 10px 10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);transition:border-color .14s ease,background-color .14s ease,opacity .14s ease}.reminder-row.is-complete,.reminder-row.completed,.reminder-row[data-complete=true]{background:color-mix(in srgb,var(--surface) 72%,var(--background));opacity:.7}.reminder-row.is-complete .reminder-title,.reminder-row.completed .reminder-title,.reminder-row[data-complete=true] .reminder-title{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--faint)}.reminder-toggle{display:grid;width:44px;min-width:44px;height:44px;place-items:center;padding:0;border:0;background:transparent;cursor:pointer}.reminder-complete{display:grid;width:44px;min-width:44px;height:44px;place-items:center;cursor:pointer}.reminder-complete .checkmark{width:23px;height:23px}.reminder-toggle:before{display:block;width:22px;height:22px;border:1px solid var(--line-strong);border-radius:2px;content:""}.reminder-row.is-complete .reminder-toggle:before,.reminder-row.completed .reminder-toggle:before,.reminder-row[data-complete=true] .reminder-toggle:before,.reminder-toggle[aria-pressed=true]:before{border-color:var(--text);background:linear-gradient(135deg,transparent 44%,var(--inverse) 44% 54%,transparent 54%) 6px 7px / 10px 7px no-repeat,var(--text)}.reminder-content,.reminder-copy{min-width:0;flex:1}.reminder-copy{display:grid;min-height:48px;align-content:center;justify-items:start;gap:3px;padding:4px 2px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.reminder-copy strong{overflow-wrap:anywhere;font-size:.9rem;font-weight:550;line-height:1.35}.reminder-copy span{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:.73rem;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.reminder-copy small{color:var(--warning);font-size:.59rem;font-weight:650;letter-spacing:.07em;line-height:1.35;text-transform:uppercase}.reminder-title{overflow-wrap:anywhere;font-size:.93rem;line-height:1.35}.reminder-notes{display:-webkit-box;margin-top:4px;overflow:hidden;color:var(--muted);font-size:.75rem;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.reorder-controls{display:grid;flex:0 0 auto;grid-template-columns:repeat(2,44px);gap:2px}.reorder-controls button{display:grid;width:44px;min-width:44px;min-height:44px;place-items:center;padding:0;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:var(--muted);cursor:pointer}.reminder-editor{display:grid;gap:14px;padding:16px;border:1px solid var(--line);background:var(--surface-raised)}.completed-reminders{display:grid;gap:9px;padding-top:5px;border-top:1px solid var(--line)}.section-toggle{display:flex;width:100%;min-height:48px;align-items:center;justify-content:space-between;gap:12px;padding:7px 4px;background:transparent;color:var(--muted);font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.section-toggle strong{display:grid;min-width:28px;height:28px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--text-soft);font-size:.7rem}.reminder-list--completed .reminder-row{background:color-mix(in srgb,var(--surface) 68%,var(--background));opacity:.75}.reminder-list--completed .reminder-copy strong{color:var(--muted);text-decoration:line-through}.completed-check{display:grid;width:44px;min-width:44px;height:44px;place-items:center;color:var(--success)}.calendar-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:9px}.calendar-toolbar__navigation,.calendar-toolbar__views{display:flex;min-width:0;align-items:center;gap:5px}.calendar-toolbar__navigation,.calendar-toolbar__views{width:100%}.calendar-toolbar__views.segmented-control{flex:1}.calendar-toolbar__label{min-width:0;flex:1;font-size:.94rem;font-weight:600;letter-spacing:-.01em;text-align:center}.segmented-control{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(72px,1fr);padding:3px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.segmented-control button,.segmented-control a{display:grid;min-height:44px;place-items:center;padding:8px 10px;border-radius:2px;background:transparent;color:var(--muted);font-size:.63rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.segmented-control :where(button,a)[aria-pressed=true],.segmented-control :where(button,a)[aria-current=page],.segmented-control :where(button,a).active{background:var(--surface-strong);color:var(--text)}.calendar-day-list{position:relative;display:grid;gap:9px;padding-left:17px}.calendar-day-list:before{position:absolute;top:0;bottom:0;left:4px;width:1px;background:var(--line);content:""}.calendar-day-heading,.all-day-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:var(--muted);font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.calendar-event{--event-color: var(--text-soft);position:relative;display:grid;min-height:68px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:13px 13px 13px 15px;border:1px solid var(--line);border-left:3px solid var(--event-color);border-radius:var(--radius);background:var(--surface);color:var(--text);text-align:left;cursor:pointer}.calendar-event>span:first-child{display:grid;min-width:0;gap:3px}.calendar-event:before{position:absolute;top:21px;left:-20px;width:7px;height:7px;border:2px solid var(--background);border-radius:50%;background:var(--event-color);content:""}.calendar-event__title{overflow-wrap:anywhere;font-size:.9rem;font-weight:600;line-height:1.35}.calendar-event__meta{margin-top:4px;color:var(--muted);font-size:.7rem;line-height:1.45}.calendar-event__time{color:var(--text-soft);font-size:.7rem;font-variant-numeric:tabular-nums;white-space:nowrap}.event-color--slate{--event-color: #a8b0ba}.event-color--blue{--event-color: #83a7cc}.event-color--green{--event-color: #91b69a}.event-color--amber{--event-color: #c9a76b}.event-color--orange{--event-color: #c38d68}.event-color--red{--event-color: #c9827c}.event-color--violet{--event-color: #a68fc0}.event-color--pink{--event-color: #bf8fa8}.month-calendar{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.month-weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.month-weekdays{border-bottom:1px solid var(--line)}.month-weekdays span{display:grid;min-height:34px;place-items:center;color:var(--faint);font-size:.56rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.month-cell{position:relative;isolation:isolate;display:grid;min-width:0;min-height:58px;align-content:start;justify-items:start;gap:5px;padding:7px 5px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent;color:var(--text-soft);font-size:.71rem;font-variant-numeric:tabular-nums;cursor:pointer}.month-cell:nth-child(7n){border-right:0}.month-cell:nth-last-child(-n+7){border-bottom:0}.month-cell.is-outside,.month-cell.outside-month,.month-cell[aria-disabled=true]{color:var(--faint);opacity:.48}.month-cell.is-today,.month-cell.today{color:var(--inverse)}.month-cell.is-today:before,.month-cell.today:before{position:absolute;z-index:-1;top:4px;left:3px;width:25px;height:25px;border-radius:50%;background:var(--text);content:""}.month-cell.is-selected,.month-cell.selected,.month-cell[aria-selected=true]{box-shadow:inset 0 0 0 2px var(--text)}.month-cell__events,.month-event-dots{display:flex;width:100%;flex-wrap:wrap;gap:3px}.month-event-dot{width:5px;height:5px;border-radius:50%;background:var(--event-color)}.month-event-label{width:100%;overflow:hidden;color:var(--muted);font-size:.53rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.form-stack,form.form-stack{display:grid;gap:15px}.form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.field{display:grid;min-width:0;gap:7px}.field>span:first-child,.field>label,label.field{color:var(--text-soft);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.field-hint,.field-error,.field>small{font-size:.68rem;font-weight:500;letter-spacing:0;line-height:1.45;text-transform:none}.field-hint{color:var(--muted)}.field>small{color:var(--muted)}.field-error{color:var(--danger)}input,select,textarea{width:100%;min-width:0;min-height:48px;border:1px solid var(--line);border-radius:var(--radius);background:var(--background);color:var(--text);font-size:1rem;line-height:1.35;transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease}input,select{padding:11px 12px}textarea{min-height:112px;padding:12px;resize:vertical}input::placeholder,textarea::placeholder{color:var(--faint);opacity:1}input:focus,select:focus,textarea:focus{border-color:var(--text-soft);background:var(--surface);box-shadow:0 0 0 1px var(--text-soft)}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger)}input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.48}input[type=checkbox],input[type=radio]{width:24px;min-width:24px;min-height:24px;margin:0;accent-color:var(--text)}.checkbox-field,.switch-field{display:flex;min-height:48px;align-items:center;gap:11px;color:var(--text-soft);font-size:.83rem;line-height:1.4;cursor:pointer}.actions{flex-wrap:wrap;justify-content:flex-end;padding-top:3px}.actions .button{flex:1 1 auto}.modal{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;align-items:end;padding-top:calc(20px + var(--safe-top));background:#000000bd;overscroll-behavior:contain;animation:modal-fade .16s ease-out both}.modal-panel{width:100%;max-height:calc(100dvh - var(--safe-top) - 20px);padding:20px max(18px,var(--safe-right)) max(20px,var(--safe-bottom)) max(18px,var(--safe-left));overflow:auto;border-right:0;border-bottom:0;border-left:0;border-radius:12px 12px 0 0;box-shadow:var(--shadow);animation:modal-rise .22s cubic-bezier(.22,.75,.25,1) both}.modal-panel:before{display:block;width:34px;height:3px;margin:-7px auto 18px;border-radius:999px;background:var(--line-strong);content:""}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:20px}.modal-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:20px}.modal-panel>header h2{font-size:1.35rem;font-weight:450;letter-spacing:-.025em}.modal-content{display:grid;gap:16px}.modal-title{font-size:1.35rem;font-weight:450;letter-spacing:-.025em}.auth-page{display:grid;width:100%;min-height:100vh;min-height:100dvh;place-items:center;padding:calc(24px + var(--safe-top)) calc(18px + var(--safe-right)) calc(24px + var(--safe-bottom)) calc(18px + var(--safe-left));background:radial-gradient(circle at 50% 0,rgb(255 255 255 / .065),transparent 28rem),var(--background)}.auth-card{display:grid;width:min(100%,420px);gap:24px;padding:clamp(22px,7vw,36px);box-shadow:var(--shadow)}.auth-card__brand,.auth-brand{display:grid;justify-items:start;gap:18px}.auth-card__brand .brand-mark,.auth-brand img{width:58px;height:58px;object-fit:cover;filter:invert(1);mix-blend-mode:screen}.auth-card h1{font-size:clamp(2rem,11vw,3.25rem);font-weight:350;letter-spacing:-.05em;line-height:.96}.auth-card p{color:var(--muted);font-size:.82rem;line-height:1.55}.auth-card footer{padding-top:16px;border-top:1px solid var(--line);color:var(--faint);font-size:.66rem;line-height:1.5}.auth-card .passkey-button{width:100%;min-height:50px}.input-with-icon{position:relative}.input-with-icon>svg{position:absolute;z-index:1;top:50%;left:13px;color:var(--muted);pointer-events:none;transform:translateY(-50%)}.input-with-icon input{padding-left:42px}.input-with-suffix{position:relative}.input-with-suffix input{padding-right:78px}.input-with-suffix>span{position:absolute;top:50%;right:12px;color:var(--muted);font-size:.67rem;font-weight:600;letter-spacing:0;text-transform:none;pointer-events:none;transform:translateY(-50%)}.hint{display:flex;align-items:flex-start;gap:8px;color:var(--muted);font-size:.72rem!important;line-height:1.5}.hint>svg{flex:0 0 auto;margin-top:1px}.error,.success{display:grid;gap:4px;padding:11px 12px;border:1px solid;border-radius:var(--radius);font-size:.74rem!important;line-height:1.5}.error{border-color:color-mix(in srgb,var(--danger) 50%,var(--line));background:var(--danger-surface);color:var(--danger)!important}.success{border-color:color-mix(in srgb,var(--success) 45%,var(--line));background:var(--success-surface);color:var(--success)!important}.auth-divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;color:var(--faint);font-size:.61rem;font-weight:650;letter-spacing:.1em;text-transform:uppercase}.auth-divider:before,.auth-divider:after{height:1px;background:var(--line);content:""}.account-section{display:grid;gap:16px}.account-section>.card-header{margin-bottom:0}.account-section>.card-header>svg{flex:0 0 auto;color:var(--muted)}.account-section>.button{width:100%}.account-section+.account-section{margin-top:10px}.account-row,.passkey-list li,.passkey-item,.session-item{display:grid;min-height:64px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.account-row:first-of-type,.passkey-list li:first-child,.passkey-item:first-child,.session-item:first-child{border-top:0}.account-row strong,.passkey-list strong,.passkey-item strong,.session-item strong{display:block;overflow-wrap:anywhere;font-size:.84rem;font-weight:600}.account-row small,.passkey-list small,.passkey-item small,.session-item small{display:block;margin-top:4px;color:var(--muted);font-size:.69rem;line-height:1.4;overflow-wrap:anywhere}.passkey-list{display:grid}.empty-state,.error-state,.offline-state,.conflict-state{display:grid;min-height:230px;place-items:center;align-content:center;gap:12px;padding:30px 20px;border:1px dashed var(--line-strong);border-radius:var(--radius);color:var(--muted);text-align:center}.empty-state__icon,.state-icon{display:grid;width:50px;height:50px;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--text-soft)}.empty-state h2,.empty-state h3,.error-state h2,.offline-state h2,.conflict-state h2{color:var(--text);font-size:1.15rem;font-weight:500;letter-spacing:-.02em}.empty-state p,.error-state p,.offline-state p,.conflict-state p{max-width:34ch;font-size:.8rem;line-height:1.55}.error-state,.conflict-state{border-color:color-mix(in srgb,var(--danger) 42%,var(--line))}.offline-state{border-color:color-mix(in srgb,var(--warning) 42%,var(--line))}.conflict-list{display:grid;gap:10px}.conflict-item,.conflict-card{display:grid;gap:14px;padding:15px;border:1px solid color-mix(in srgb,var(--warning) 44%,var(--line));border-radius:var(--radius);background:var(--warning-surface)}.conflict-item__header,.conflict-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.conflict-card__header>div,.conflict-item__header>div{display:grid;min-width:0;gap:5px}.conflict-card__header>svg,.conflict-item__header>svg{flex:0 0 auto;color:var(--danger)}.conflict-card__header strong,.conflict-item__header strong,.conflict-version strong{overflow-wrap:anywhere;font-size:.82rem;font-weight:600;line-height:1.4}.conflict-card__header small,.conflict-item__header small{color:var(--muted);font-size:.64rem;line-height:1.35}.conflict-versions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.conflict-version{min-width:0;padding:11px;border:1px solid var(--line);background:var(--background)}.conflict-version>span{display:block;margin-bottom:7px;color:var(--muted);font-size:.58rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.sync-queue{display:grid;gap:6px}.sync-queue-item{display:flex;min-height:50px;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid var(--line);background:var(--surface);font-size:.76rem}.toast-region{position:fixed;z-index:120;top:calc(12px + var(--safe-top));right:calc(12px + var(--safe-right));left:calc(12px + var(--safe-left));display:grid;justify-items:center;gap:8px;pointer-events:none}.toast{display:flex;width:min(100%,430px);min-height:48px;align-items:center;gap:10px;padding:10px 13px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-strong);box-shadow:var(--shadow);color:var(--text-soft);font-size:.77rem;line-height:1.4;pointer-events:auto}.loading-state{display:grid;min-height:180px;place-items:center}.loading-screen{display:grid;min-height:100vh;min-height:100dvh;place-content:center;justify-items:center;gap:18px;padding:calc(24px + var(--safe-top)) calc(24px + var(--safe-right)) calc(24px + var(--safe-bottom)) calc(24px + var(--safe-left));background:var(--background);color:var(--muted);font-size:.72rem;font-weight:650;letter-spacing:.08em;text-align:center;text-transform:uppercase}.loading-mark{position:relative;width:46px;height:46px;border:1px solid var(--line-strong)}.loading-mark:before,.loading-mark:after{position:absolute;top:50%;left:50%;width:25px;height:1px;background:var(--text);content:"";animation:status-pulse 1.1s ease-in-out infinite alternate}.loading-mark:before{transform:translate(-50%,-50%) rotate(45deg)}.loading-mark:after{transform:translate(-50%,-50%) rotate(-45deg)}.spinner{width:28px;height:28px;border:2px solid var(--line);border-top-color:var(--text);border-radius:50%;animation:spin .75s linear infinite}.skeleton{position:relative;min-height:16px;overflow:hidden;border-radius:2px;background:var(--surface-raised)}.skeleton:after{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgb(255 255 255 / .055),transparent);content:"";animation:skeleton-sweep 1.35s ease-in-out infinite;transform:translate(-100%)}@keyframes page-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-rise{0%{transform:translateY(24px)}to{transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes status-pulse{50%{opacity:.42}}@keyframes skeleton-sweep{to{transform:translate(100%)}}@media(hover:hover)and (pointer:fine){.button:hover,.icon-button:hover,.text-button:hover,.bottom-nav a:hover,.bottom-nav button:hover{border-color:var(--line-strong);background-color:var(--surface-hover);color:var(--text)}.button--primary:hover,.button.primary:hover{background:var(--text-soft);color:var(--inverse)}.dashboard-card:hover,.reminder-row:hover,.calendar-event:hover{border-color:var(--line-strong)}.month-cell:hover{background:var(--surface-hover)}}@media(min-width:620px){.mobile-app{border-right:1px solid var(--line);border-left:1px solid var(--line);box-shadow:0 0 80px #00000059}.page-header{grid-template-columns:minmax(0,1fr) auto;align-items:end}.page-header .page-actions{justify-content:flex-end}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-toolbar{flex-wrap:nowrap}.calendar-toolbar__navigation{width:auto;flex:1 1 auto}.calendar-toolbar__views{width:auto;flex:0 0 auto}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .field--full,.form-grid .full-width{grid-column:1 / -1}.actions .button{flex:0 0 auto}.modal{place-items:center;padding:calc(24px + var(--safe-top)) calc(24px + var(--safe-right)) calc(24px + var(--safe-bottom)) calc(24px + var(--safe-left))}.modal-panel{width:min(100%,570px);max-height:min(760px,calc(100dvh - 48px - var(--safe-top) - var(--safe-bottom)));padding:26px;border:1px solid var(--line);border-radius:var(--radius-large)}.modal-panel:before{display:none}.conflict-versions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:389px){:root{--page-inline: 13px}.brand-copy span,.brand-copy small{display:none}.page{gap:17px;padding-top:20px}.page-title{font-size:clamp(1.9rem,11vw,2.7rem)}.status-banner{grid-template-columns:auto minmax(0,1fr)}.status-banner>:last-child:not(:nth-child(2)){grid-column:2}.reorder-controls{grid-template-columns:44px}.calendar-toolbar__views,.calendar-toolbar__views .segmented-control{width:100%}.month-cell{min-height:54px;padding-inline:4px}.month-event-label{display:none}}@media(display-mode:standalone){.app-header,.bottom-nav{-webkit-user-select:none;user-select:none}.app-header{background:#090909f7}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(forced-colors:active){.surface,.card,.dashboard-card,.auth-card,.account-section,.modal-panel,.reminder-row,.calendar-event,.month-calendar{border-color:CanvasText}.status-dot,.month-event-dot{forced-color-adjust:none}}@media print{.app-header,.bottom-nav,.page-actions,.status-banner,.sync-pill{display:none!important}.mobile-app{padding-bottom:0}}
