:root,[data-theme=light]{--bg: #fff1f6;--bg-elevated: #fff7fa;--surface: #ffffff;--text: #4a1836;--text-muted: #9a5b7a;--border: #f3c6d8;--accent: #e11d74;--accent-soft: #fce4ef;--accent-text: #ffffff;--danger: #be123c;--danger-soft: #ffe4e8;--success: #0f766e;--success-soft: #e6f7f4;--warning: #b45309;--warning-soft: #fff3d6;--shadow: 0 10px 30px rgba(225, 29, 116, .08);--radius: 18px;--radius-sm: 12px;--text-size: 13px;--title-size: 16px;--icon-size: 16px;--nav-height: 64px;--sidebar-width: 232px;--header-height: 56px}[data-theme=dark]{--bg: #160d22;--bg-elevated: #1f1330;--surface: #2a1840;--text: #fde7f3;--text-muted: #c9a0c4;--border: #4d2d62;--accent: #e85aaa;--accent-soft: #4a1840;--accent-text: #2a1020;--danger: #fb7185;--danger-soft: #3f1528;--success: #5eead4;--success-soft: #16332f;--warning: #fbbf24;--warning-soft: #3a2a12;--shadow: 0 10px 30px rgba(20, 8, 32, .45)}html[data-theme=light]{color-scheme:light}html[data-theme=dark]{color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{font-size:var(--text-size);text-size-adjust:100%;-webkit-text-size-adjust:100%;touch-action:manipulation}html,body,#root{min-height:100%}body{margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:var(--text-size);background:var(--bg);color:var(--text);line-height:1.45;overscroll-behavior:none}button,input,select,textarea{font:inherit;font-size:var(--text-size);color:inherit}input::placeholder,textarea::placeholder{font-size:var(--text-size)}a{color:inherit;text-decoration:none}h1,h2{margin:0;font-size:var(--title-size);font-weight:700}p{margin:0;font-size:var(--text-size)}.app-shell{min-height:100dvh;background:var(--bg)}.app-main{min-width:0}.app-header{min-height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;max-width:880px;margin-inline:auto;padding:.9rem 1rem .4rem}.app-header-brand{display:flex;align-items:center;gap:.55rem;min-width:0;color:inherit}.app-logo{width:28px;height:28px;flex-shrink:0;border-radius:8px;display:block}.app-header-brand h1{margin:0;line-height:1.2}.account-menu{position:relative;flex-shrink:0}.account-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:40;width:min(calc(100vw - 2rem),240px);display:flex;flex-direction:column;gap:.35rem;padding:.55rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);font-size:var(--text-size);line-height:1.25}.account-name{margin:0;padding:.2rem .35rem .05rem;font-size:var(--title-size);font-weight:700;line-height:1.2}.account-email-row{display:flex;align-items:center;gap:.2rem;min-height:28px;padding:.1rem .15rem .1rem .35rem}.account-email{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:var(--text-size);line-height:1.25}.account-icon-btn{flex-shrink:0;width:26px;height:26px;display:grid;place-items:center;padding:0;border:0;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer}.account-icon-btn:hover,.account-icon-btn:focus-visible{color:var(--text);background:var(--accent-soft)}.account-row{display:flex;align-items:center;gap:.4rem;width:100%;min-height:32px;margin:0;padding:.25rem .35rem;border:0;border-radius:8px;background:transparent;color:inherit;font:inherit;font-size:var(--text-size);font-weight:600;line-height:1.25;text-align:left;cursor:pointer}.account-row svg,.account-icon-btn svg{width:var(--icon-size);height:var(--icon-size);flex-shrink:0}.account-row:hover,.account-row:focus-visible{background:var(--accent-soft)}.account-row select{flex:1;min-width:0;min-height:26px;margin:0;padding:.1rem .3rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);font-size:var(--text-size);line-height:1.25}.account-logout{color:var(--danger)}.account-logout:hover,.account-logout:focus-visible{background:var(--danger-soft)}.account-divider{width:100%;margin:.3rem 0;border:0;border-top:1px solid var(--border)}.app-header h1,.page-title,.section-title,.login-card h1,.sidebar-brand{display:flex;align-items:center;gap:.55rem;font-size:var(--title-size);font-weight:700;letter-spacing:-.02em}.app-content{width:100%;max-width:880px;margin-inline:auto;padding:.5rem 1rem calc(var(--nav-height) + 1.4rem);display:flex;flex-direction:column;gap:1rem}.page,.profile-form{display:flex;flex-direction:column;gap:1rem}.page-title{font-size:var(--title-size)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.1rem}.stack{display:flex;flex-direction:column;gap:1rem}.stack-gap{display:flex;flex-direction:column;gap:.85rem}.section-title{font-size:var(--title-size)}.muted{color:var(--text-muted)}.eyebrow{font-size:var(--title-size);font-weight:650;letter-spacing:-.02em;margin-bottom:.4rem}.field,.field-check{display:flex;flex-direction:column;gap:.4rem}.field-label{font-size:var(--text-size);font-weight:600}.field-control{position:relative}.field-control.has-icon .field-input{padding-left:2.65rem}.field-control.has-action .field-input{padding-right:3rem}.field-icon,.field-action{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;color:var(--text-muted)}.field-icon{left:.8rem;pointer-events:none}.field-action{right:.3rem;width:40px;height:40px;border:0;border-radius:10px;background:transparent;cursor:pointer}.field-action:hover,.field-action:focus-visible{color:var(--text);background:var(--accent-soft)}.field-input{width:100%;min-height:44px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);padding:.65rem .85rem;font-size:var(--text-size)}.field-input::placeholder{color:var(--text-muted);opacity:.72;font-size:var(--text-size)}.field-input:focus{outline:2px solid var(--accent);outline-offset:1px}.field-input[readonly]{opacity:.75}.rs__control{min-height:44px;border:1px solid var(--border)!important;border-radius:var(--radius-sm)!important;background:var(--bg-elevated)!important;box-shadow:none!important;font-size:var(--text-size)}.rs__control--is-focused{outline:2px solid var(--accent);outline-offset:1px}.rs__value-container{padding:.35rem .7rem}.rs__input-container,.rs__single-value,.rs__placeholder,.rs__input,.rs__option{font-size:var(--text-size)!important;line-height:1.25}.rs__input input{font-size:var(--text-size)!important}.rs__single-value,.rs__input{color:var(--text)!important}.rs__placeholder{color:var(--text-muted)!important;margin:0}.rs__indicator-separator{display:none}.rs__indicator{color:var(--text-muted)!important;padding:.35rem}.rs__menu{background:var(--surface)!important;border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);overflow:hidden;font-size:var(--text-size)}.rs__menu-list{padding:.2rem}.rs__option{color:var(--text)!important;background:transparent!important;border-radius:8px;padding:.4rem .55rem;cursor:pointer}.rs__option--is-focused{background:var(--accent-soft)!important}.rs__option--is-selected{background:var(--accent)!important;color:var(--accent-text)!important}.rs__menu-portal{z-index:80}.field-textarea{min-height:120px;resize:vertical}.field-hint{color:var(--text-muted);font-size:var(--text-size)}.field-check{flex-direction:row;align-items:center;gap:.7rem;min-height:48px}.field-check input{width:1.15rem;height:1.15rem}.btn{min-height:44px;border:0;border-radius:14px;padding:.65rem 1rem;font-size:var(--text-size);font-weight:650;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-text)}.btn-secondary{background:var(--accent-soft);color:var(--text)}.btn-ghost{background:transparent;color:var(--text)}.btn-danger{background:var(--danger-soft);color:var(--danger)}.icon-button{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:var(--surface);border:1px solid var(--border)}.icon-button.is-active{background:var(--accent-soft);color:var(--accent);border-color:transparent}.nav-icon{width:var(--icon-size);height:var(--icon-size)}.banner{margin:0;padding:.7rem .85rem;border-radius:var(--radius-sm);font-size:var(--text-size)}.banner-error{background:var(--danger-soft);color:var(--danger)}.banner-success{background:var(--success-soft);color:var(--success)}.banner-warning{background:var(--warning-soft);color:var(--warning)}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(5,1fr);min-height:var(--nav-height);padding:.35rem .35rem calc(.35rem + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--surface) 92%,transparent);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.bottom-nav-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;color:var(--text-muted);font-size:var(--text-size);font-weight:650;border-radius:12px}.bottom-nav-link.is-active{color:var(--accent);background:var(--accent-soft)}.sidebar{display:none}.login-page,.boot-screen{min-height:100dvh;display:grid;place-items:center;padding:1.25rem}.boot-screen{color:var(--text-muted)}.login-card{width:min(100%,420px);background:var(--surface);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow);padding:1.4rem 1.2rem 1.3rem;display:flex;flex-direction:column;gap:.75rem}.login-kicker{font-size:var(--text-size);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.login-card h1{font-size:var(--title-size);letter-spacing:-.02em}.login-divider{width:100%;margin:.35rem 0 0;border:0;border-top:1px solid var(--border)}.login-prefs{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.login-prefs .field-input{min-height:40px}.sheet-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-end;justify-content:center;background:#14082075;padding:0}.sheet{width:100%;max-width:520px;max-height:88dvh;overflow:auto;display:flex;flex-direction:column;gap:.75rem;background:var(--surface);border-radius:20px 20px 0 0;padding:1rem 1rem calc(1.2rem + env(safe-area-inset-bottom));box-shadow:var(--shadow)}.sheet .field-textarea{min-height:72px}.calendar-toolbar{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:.4rem;margin-bottom:.55rem}.calendar-nav-btn{min-width:44px;padding:.4rem}.calendar-month-label{text-align:center;font-weight:700;font-size:var(--title-size);text-transform:capitalize}.calendar-today-btn{width:100%;margin-top:.55rem}.calendar-month{overflow:hidden;border-radius:12px;border:1px solid var(--border);background:var(--surface)}.calendar-month,.calendar-month table,.calendar-month td,.calendar-month th{font-size:var(--text-size)!important;font-family:inherit!important}.calendar-month .coparent_main,.calendar-month .month_default_main{width:100%!important;border:0!important;background:var(--surface)!important;background-color:var(--surface)!important}.calendar-month .coparent_header,.calendar-month .month_default_header{background:var(--bg-elevated)!important;background-color:var(--bg-elevated)!important;border-color:var(--border)!important}.calendar-month .coparent_header_inner,.calendar-month .month_default_header_inner{color:var(--text)!important;text-align:center!important;font-size:var(--text-size)!important;font-weight:650!important;line-height:1.2!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-month .coparent_cell,.calendar-month .month_default_cell{border-color:var(--border)!important}.calendar-month .coparent_cell_inner,.calendar-month .month_default_cell_inner,.calendar-month .coparent_cell_header,.calendar-month .month_default_cell_header{color:var(--text)!important}.calendar-month .coparent_cell_header,.calendar-month .month_default_cell_header{color:var(--text-muted)!important;text-align:center!important;font-weight:650!important}.calendar-month .coparent_event_inner,.calendar-month .month_default_event_inner{font-size:var(--text-size)!important;padding:1px 4px!important;border-radius:8px!important;color:#fff!important}.calendar-day-head{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin-bottom:.7rem}.event-list,.people-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.people-list li{color:var(--text-muted)}.related-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.related-head .section-title{margin:0}.invite-list{list-style:none;margin:.7rem 0 0;padding:0;display:flex;flex-direction:column;gap:.7rem}.invite-row{display:flex;flex-direction:column;gap:.45rem}.invite-actions{display:flex;gap:.45rem}.event-list li{display:flex;align-items:center;gap:.35rem}.event-row{flex:1;display:flex;align-items:center;gap:.65rem;min-height:48px;text-align:left;background:var(--accent-soft);border:0;border-radius:12px;padding:.55rem .7rem;cursor:pointer}.event-row strong,.event-row .muted{display:block}.event-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}@media(min-width:768px){.sheet-backdrop{align-items:center;padding:1.5rem}.sheet{border-radius:var(--radius);max-height:90vh}}@media(min-width:768px){.app-header,.app-content{padding-left:1.5rem;padding-right:1.5rem;max-width:760px}}@media(min-width:1024px){.app-shell{display:grid;grid-template-columns:var(--sidebar-width) 1fr}.sidebar{display:flex;flex-direction:column;position:sticky;top:0;height:100dvh;padding:1.4rem 1rem;border-right:1px solid var(--border);background:var(--bg-elevated)}.sidebar-brand{display:flex;align-items:center;gap:.55rem;font-size:var(--title-size);font-weight:750;letter-spacing:-.02em;padding:.3rem .75rem 1.2rem}.sidebar-nav{display:flex;flex-direction:column;gap:.35rem}.sidebar-link{display:flex;align-items:center;gap:.75rem;min-height:46px;padding:.55rem .8rem;border-radius:12px;color:var(--text-muted);font-weight:650}.sidebar-link.is-active{background:var(--accent-soft);color:var(--text)}.bottom-nav{display:none}.app-header{padding:1.1rem 2rem .4rem;max-width:880px}.app-content{max-width:880px;padding:.6rem 2rem 2rem}}
