@import"https://fonts.googleapis.com/css2?family=Nunito+Sans:opsz,wght@6..12,400;6..12,500;6..12,600;6..12,700;6..12,800;6..12,900&display=swap";:root{color-scheme:light;--bg: #f6f8fb;--panel: #ffffff;--panel-soft: #f8fafc;--ink: #172033;--muted: #64748b;--line: #e2e8f0;--line-strong: #cbd5e1;--accent: #2563eb;--accent-soft: #eff6ff;--accent-ink: #ffffff;--ok: #0f766e;--ok-soft: #ecfdf5;--warn: #b7791f;--warn-soft: #fffbeb;--danger: #dc2626;--shadow: 0 18px 42px rgba(15, 23, 42, .07);--shadow-tight: 0 8px 22px rgba(15, 23, 42, .08);--radius: 8px;--font-ui: "Nunito Sans", "Avenir Next", Avenir, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-family:var(--font-ui);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body{margin:0;min-width:320px;min-height:100vh;color:var(--ink);background:linear-gradient(180deg,#ffffff 0,var(--bg) 260px),var(--bg);overflow-x:hidden;overscroll-behavior-x:none}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease,transform .12s ease}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{min-height:100vh;overscroll-behavior-x:none}.app-main{width:min(1440px,calc(100% - 32px));margin:0 auto;padding:20px 0 40px}.error-banner{width:min(1440px,calc(100% - 32px));margin:12px auto 0;padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius);background:#fff7df;color:#5d4610;font-size:.9rem}.error-banner{background:#fff2f0;color:var(--danger)}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-screen.signin-only{background:radial-gradient(circle at 50% calc(50% - 90px),rgba(37,99,235,.14),transparent 270px),radial-gradient(circle at 50% calc(50% + 70px),rgba(76,132,104,.13),transparent 260px),linear-gradient(180deg,#fffdf8,#f4f1eb)}.auth-signin-button{min-height:58px;display:inline-flex;align-items:center;gap:12px;padding:0 22px 0 10px;border:1px solid rgba(23,27,34,.1);border-radius:999px;background:linear-gradient(180deg,#fffffffa,#ffffffdb),#fff;color:var(--ink);box-shadow:0 22px 70px #2563eb2e,0 14px 42px #3a2d1e1f,inset 0 1px #ffffffe6;font-size:1rem;font-weight:850}.auth-signin-button:hover{transform:translateY(-1px);border-color:#4c846857;box-shadow:0 24px 76px #2563eb38,0 16px 48px #3a2d1e24,inset 0 1px #fffffff2}.auth-signin-button:focus-visible{outline:3px solid rgba(37,99,235,.3);outline-offset:4px}.google-mark{width:38px;height:38px;display:inline-grid;place-items:center;border-radius:50%;background:conic-gradient(from 10deg,#4285f4,#34a853,#fbbc05,#ea4335,#4285f4);color:#fff;font-size:1.05rem;font-weight:900;line-height:1;box-shadow:inset 0 0 0 4px #ffffffeb}.auth-card{width:min(560px,100%);padding:32px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.auth-card svg{width:36px;height:36px;color:var(--accent)}.auth-card h1,.top-nav h1,.panel-header h2,.drawer-header h2{margin:0;letter-spacing:0}.auth-card h1{margin-top:16px;font-size:clamp(2.1rem,7vw,4rem);line-height:1}.auth-card p{color:var(--muted);line-height:1.6}.setup-card{display:grid;gap:16px}.setup-card label{display:grid;gap:8px;color:var(--muted);font-size:.86rem;font-weight:800}.setup-card input{width:100%;min-height:46px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--ink)}.eyebrow{margin:0 0 6px;color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.top-nav{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:18px;width:min(1440px,calc(100% - 32px));margin:0 auto;padding:18px 0 12px;background:#f7f5f0eb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.top-nav h1{font-size:clamp(1.5rem,3vw,2.4rem)}.view-tabs,.nav-actions,.filter-row,.checkbox-row,.event-meta-row,.drawer-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.view-tabs{padding:4px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.view-tabs button,.icon-button,.primary-button,.secondary-button,.danger-button{min-height:40px;border:1px solid transparent;border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.view-tabs button{padding:8px 10px;background:transparent;color:var(--muted)}.view-tabs button.active{background:var(--ink);color:#fff}.view-tabs svg,.primary-button svg,.secondary-button svg,.danger-button svg,.icon-button svg{width:17px;height:17px;flex:0 0 auto}.icon-button{width:40px;background:var(--panel);border-color:var(--line);color:var(--ink)}.danger-icon-button{color:var(--danger);border-color:#ffd2d2;background:#fff8f8}.primary-button,.secondary-button,.danger-button{padding:0 14px;font-weight:700}.primary-button{background:var(--accent);color:var(--accent-ink)}.primary-button.compact{min-width:78px}.secondary-button{background:var(--panel);color:var(--ink);border-color:var(--line)}.danger-button{background:#fff3f3;color:var(--danger);border-color:#ffd2d2}.account-menu{position:relative}.account-summary{min-height:40px;max-width:190px;display:inline-flex;align-items:center;gap:8px;padding:4px 10px 4px 6px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--ink);font:inherit;font-weight:700;cursor:pointer}.account-summary span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu img,.account-summary svg{width:28px;height:28px;border-radius:50%;flex:0 0 auto}.account-summary svg{padding:5px;background:var(--panel-soft);color:var(--muted)}.account-popover{position:absolute;right:0;top:calc(100% + 8px);z-index:20;width:min(280px,calc(100vw - 24px));display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.account-popover span{color:var(--muted);overflow-wrap:anywhere}.account-name-form{display:grid;gap:7px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.account-name-form label{color:var(--muted);font-size:.78rem;font-weight:800}.account-name-form input{width:100%;min-height:38px;padding:0 10px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--ink);font:inherit;font-weight:700}.account-reference,.save-status{font-size:.78rem}.save-status{color:#2f6a51;font-weight:800}.account-popover button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-soft);color:var(--ink);font-weight:700}.account-popover svg{width:16px;height:16px}.full-width{width:100%}.inline-error{margin:10px 0 0;color:var(--danger);font-size:.9rem}.dashboard-grid,.sources-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}.main-panel,.side-panel,.source-form{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.main-panel{padding:18px;min-width:0}.side-panel{display:grid;gap:12px;padding:14px}.source-tools-panel{align-content:start}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.panel-header h2{font-size:clamp(1.4rem,3vw,2rem)}.person-chip{min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--panel-soft);color:var(--muted)}.person-chip:before{content:"";display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:var(--person-color)}.person-chip.selected{border-color:color-mix(in srgb,var(--person-color),#000 12%);color:var(--ink)}.week-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.day-column{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-soft);overflow:hidden}.day-column.selected-day{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent),transparent 78%)}.day-heading-button{width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left}.day-heading-button:hover .day-heading,.day-heading-button:focus-visible .day-heading{background:#fff}.day-heading-button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.day-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:10px 12px;border-bottom:1px solid var(--line);color:var(--muted)}.day-heading strong{display:block;color:var(--ink);font-size:1rem}.day-heading span{display:block;margin-top:1px;font-size:.82rem}.day-heading small{flex:0 0 auto;color:var(--muted);font-size:.78rem}.day-events,.event-list,.source-list{display:grid;gap:10px;padding:10px}.day-events{gap:0;padding:0}.week-event-row{width:100%;min-width:0;display:grid;grid-template-columns:82px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:9px 12px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left}.week-event-row:last-child{border-bottom:0}.week-event-row:hover{background:#fff}.week-event-row.candidate{background:#fff9ea}.week-event-row.cancelled{opacity:.64;text-decoration:line-through}.week-event-row.past-event,.event-card.past-event{color:color-mix(in srgb,var(--muted),#ffffff 16%);background:#f3f1ec;opacity:.72}.week-event-row.past-event:hover,.event-card.past-event:hover{background:#efede8}.week-event-row.past-event .person-dot,.event-card.past-event .person-dot{opacity:.42}.week-event-time{color:var(--muted);font-size:.78rem;font-weight:700;line-height:1.25}.week-event-body{min-width:0;display:grid;gap:3px}.week-event-title-line,.event-card-title-line{min-width:0;display:flex;align-items:center;gap:8px}.week-event-title-line strong,.event-card-title-line strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-card-badges{display:none}.event-alert-pill{min-height:22px;display:inline-flex;align-items:center;padding:0 7px;border:1px solid #f0d5a2;border-radius:999px;background:var(--warn-soft);color:var(--warn);font-size:.68rem;font-weight:850;white-space:nowrap}.event-alert-pill.review{border-color:color-mix(in srgb,#8b5cf6,#ffffff 66%);background:#f5f1ff;color:#6d4cc2}.source-dot-stack{display:inline-flex;align-items:center;flex:0 0 auto}.source-dot{width:10px;height:10px;border-radius:50%;background:var(--source-color, var(--accent));box-shadow:0 0 0 2px #fff}.source-dot+.source-dot{margin-left:-2px}.week-event-meta{min-width:0;display:flex;gap:6px;color:var(--muted);font-size:.78rem}.week-event-meta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-event-meta span+span:before{content:"/";margin-right:6px;color:var(--line-strong)}.week-event-people{display:flex;justify-content:flex-end;gap:4px;min-width:20px}.day-empty{display:block;padding:12px;font-size:.86rem}.day-detail-backdrop{position:fixed;inset:0;z-index:25;display:flex;justify-content:flex-end;background:#16201d2e}.day-detail-sheet{width:min(720px,100%);height:100%;display:grid;align-content:start;gap:14px;padding:20px;border-left:1px solid var(--line);background:#fff;box-shadow:-20px 0 60px #16201d24;overflow-y:auto}.day-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.day-detail-header h3{margin:0;font-size:1.32rem;letter-spacing:0}.day-detail-header span{display:block;margin-top:4px;color:var(--muted)}.day-detail-alerts{display:flex;flex-wrap:wrap;gap:8px}.day-detail-alerts span{min-height:30px;display:inline-flex;align-items:center;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--panel-soft);color:var(--muted);font-size:.82rem;font-weight:800}.day-detail-alerts .needs-attention{border-color:#f0d5a2;background:#fff8e8;color:var(--warn)}.day-detail-list{display:grid;gap:10px}.day-event-detail{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-soft)}.day-event-detail.candidate{border-color:#eccf93;background:#fff9ea}.day-event-detail.cancelled{opacity:.64;text-decoration:line-through}.day-event-detail.past-event{color:color-mix(in srgb,var(--muted),#ffffff 16%);background:#f3f1ec;opacity:.72}.day-event-main{display:grid;min-width:0;gap:10px}.day-event-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.day-event-title-actions{display:inline-flex;align-items:center;flex:0 0 auto;gap:6px}.day-event-title-row strong{min-width:0;overflow-wrap:anywhere}.event-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px;margin:0}.event-detail-grid div{min-width:0}.event-detail-grid dt{display:inline-flex;align-items:center;gap:5px;margin-bottom:3px;color:var(--muted);font-size:.74rem;font-weight:800;text-transform:uppercase}.event-detail-grid dt svg{width:13px;height:13px;flex:0 0 auto}.event-detail-grid dd{margin:0;min-width:0;overflow-wrap:anywhere;line-height:1.35}.event-detail-notes,.event-detail-warning{margin:0;color:var(--muted);line-height:1.45}.event-detail-warning{color:var(--warn);font-weight:700}.compact-action{align-self:start}.compact-empty{min-height:92px;display:grid;place-items:center}.event-list,.source-list{padding:0}.event-card,.source-row{width:100%;min-width:0;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--ink);text-align:left}.event-card{display:grid;gap:8px}.event-card:hover,.source-row:hover{border-color:var(--line-strong)}.event-card.compact-card{padding:10px}.event-card.candidate{border-color:#eccf93;background:#fff9ea}.event-card.cancelled{opacity:.64;text-decoration:line-through}.event-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:.78rem}.event-card-header>span:first-child,.week-board-event-time{display:inline-flex;align-items:center;gap:6px}.event-card>strong,.event-card-title-line strong,.source-row strong{min-width:0;overflow-wrap:anywhere}.source-pill{max-width:160px;padding:3px 7px;border:1px solid var(--line);border-radius:999px;background:var(--panel-soft);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-dot{width:10px;height:10px;border-radius:50%;background:var(--person-color)}.location-label{display:inline-flex;align-items:center;min-width:0;gap:4px;color:var(--muted);font-size:.82rem;overflow-wrap:anywhere}.location-label svg{width:13px;height:13px;flex:0 0 auto}.metric{display:grid;grid-template-columns:40px 1fr;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-soft)}.metric svg{width:22px;height:22px;color:var(--accent)}.metric.warn svg{color:var(--warn)}.metric.ok svg{color:var(--ok)}.metric strong{display:block;font-size:1.5rem}.metric span,.quiet{color:var(--muted)}.insight-block{padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-soft)}.insight-block h3,.source-form h3{margin:0 0 10px}.insight-block ul{margin:0;padding-left:18px;color:var(--muted);line-height:1.5}.insight-block p{margin:0;color:var(--muted);line-height:1.5}.source-tools-card,.source-tools-section{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-tight)}.source-tools-card{display:grid;gap:12px;padding:14px}.source-tools-card h3,.source-tools-card p{margin:0}.source-tools-card h3{font-size:1rem}.source-tools-card p{color:var(--muted);font-size:.86rem;font-weight:680;line-height:1.42}.source-tools-section{overflow:hidden}.source-tools-section summary{min-height:58px;display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:10px;align-items:center;padding:10px 12px;cursor:pointer;list-style:none}.source-tools-section summary::-webkit-details-marker{display:none}.source-tools-section summary span{display:grid;gap:3px;min-width:0}.source-tools-section summary strong,.source-tools-section summary small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-tools-section summary strong{color:var(--ink);font-size:.95rem;font-weight:850}.source-tools-section summary small{color:var(--muted);font-size:.78rem;font-weight:760}.source-tools-section summary>svg{width:18px;height:18px;justify-self:center;color:var(--muted);transition:transform .16s ease}.source-tools-section[open] summary{border-bottom:1px solid var(--line);background:var(--panel-soft)}.source-tools-section[open] summary>svg{transform:rotate(180deg)}.compact-empty{min-height:160px}.maps-link{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent);color:var(--accent-ink);font-weight:800;text-decoration:none}.maps-link.compact{min-height:32px;padding:0 10px;font-size:.88rem}.maps-link svg{width:16px;height:16px}.source-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center}.source-actions{display:inline-flex;align-items:center;gap:8px}.source-row span,.source-row p{display:block;margin:4px 0 0;color:var(--muted);overflow-wrap:anywhere}.source-row p{color:var(--muted)}.source-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:var(--radius);background:#eef1ff;color:var(--accent)}.source-form{display:grid;gap:12px;padding:14px}.source-tools-section .source-form{border:0;border-radius:0;box-shadow:none}.preset-source-list{display:grid;gap:8px;padding:10px}.preset-source-list h3{margin:0}.preset-source-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.preset-source-row>div{display:grid;min-width:0}.preset-source-row strong,.preset-source-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preset-source-row span{color:var(--muted);font-size:.84rem}.secondary-button.compact{min-height:34px;padding:7px 10px}.schedule-sync-button{width:40px;min-width:40px;min-height:40px;padding:0;justify-content:center}.schedule-sync-control{position:relative;display:inline-flex;align-items:center;gap:8px;min-width:40px}.schedule-sync-control.sync-syncing .schedule-sync-button{border-color:color-mix(in srgb,var(--accent),transparent 42%);background:var(--accent-soft);color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent),transparent 86%);opacity:1}.schedule-sync-control.sync-success .schedule-sync-button{border-color:color-mix(in srgb,var(--ok),transparent 50%);background:var(--ok-soft);color:var(--ok)}.schedule-sync-control.sync-warning .schedule-sync-button{border-color:color-mix(in srgb,var(--warn),transparent 45%);background:var(--warn-soft);color:var(--warn)}.schedule-sync-control.sync-error .schedule-sync-button{border-color:color-mix(in srgb,var(--danger),transparent 48%);background:#fff2f0;color:var(--danger)}.schedule-sync-button .spinning,.calendar-refresh-button .spinning{animation:spin .9s linear infinite}.schedule-sync-status{max-width:min(360px,calc(100vw - 260px));min-height:32px;display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#fffffff0;color:var(--muted);box-shadow:var(--shadow-tight);font-size:.82rem;font-weight:800;line-height:1.2}.schedule-sync-status>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sync-status-dot{width:7px;height:7px;flex:0 0 auto;border-radius:999px;background:var(--muted)}.sync-success .sync-status-dot{background:var(--ok)}.sync-warning .sync-status-dot{background:var(--warn)}.sync-error .sync-status-dot{background:var(--danger)}.sync-syncing .sync-status-dot{background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent),transparent 86%)}.calendar-refresh-button{width:38px;min-height:38px;color:var(--muted);justify-content:center}.connected-account-list{display:grid;gap:12px}.source-tools-section .connected-account-list{max-height:min(560px,62vh);overflow-y:auto;padding:10px}.connected-account{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.connected-account-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding-bottom:10px;border-bottom:1px solid var(--line)}.connected-account-identity{display:grid;min-width:0;gap:2px}.connected-account-identity strong{min-width:0;overflow:hidden;color:var(--ink);font-size:1rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.connected-account-header span{color:var(--muted);font-size:.78rem}.google-source-section{display:grid;gap:6px}.google-source-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.google-source-section-heading>span{color:var(--muted);font-size:.74rem;font-weight:800}.google-source-section-label{margin:0;color:var(--muted);font-size:.7rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.calendar-picker-list{display:grid;max-height:min(360px,42vh);overflow-y:auto;overflow-x:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.calendar-picker-row{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:start;padding:9px 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.calendar-picker-list .calendar-picker-row{border-width:1px 0 0;border-radius:0}.calendar-picker-list .calendar-picker-row:first-child{border-top:0}.calendar-picker-row.selected{background:#f7fbff}.calendar-picker-row input{width:16px;height:16px;margin:2px 0 0}.calendar-picker-row span,.calendar-picker-row small{display:grid;min-width:0}.calendar-picker-title{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.calendar-picker-row strong{min-width:0;overflow:hidden;font-size:.9rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.calendar-access{margin-top:2px;color:var(--muted);font-size:.78rem;line-height:1.28}.sync-badge{display:inline-flex;align-items:center;gap:4px;min-height:22px;padding:2px 6px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--panel-soft);font-size:.68rem;font-weight:800;white-space:nowrap}.sync-badge svg{width:13px;height:13px}.sync-badge.ok{border-color:color-mix(in srgb,var(--ok),#fff 62%);color:var(--ok);background:#edf8f3}.sync-badge.warning{border-color:#f0d5a2;color:var(--warn);background:#fff8e8}.sync-badge.error{border-color:#f2b8b8;color:var(--danger);background:#fff1f1}.sync-detail{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;margin-top:4px;color:var(--muted);font-size:.74rem;line-height:1.3}.sync-detail span{min-width:0}.sync-detail span+span:before{content:"";display:inline-block;width:4px;height:4px;margin-right:8px;border-radius:999px;background:var(--line-strong);vertical-align:middle}.drawer-backdrop{position:fixed;inset:0;z-index:30;display:flex;justify-content:flex-end;background:#16201d47;overscroll-behavior-x:contain}.event-drawer{width:min(520px,100%);min-height:100%;display:grid;align-content:start;gap:14px;padding:20px;border:0;background:var(--panel);box-shadow:-20px 0 60px #16201d29;overflow-y:auto;overscroll-behavior-x:contain;touch-action:pan-y}.drawer-header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.drawer-header span,.drawer-facts span{color:var(--muted)}.form-field{display:grid;gap:6px}.form-field span,.form-field-header label{color:var(--muted);font-size:.86rem;font-weight:700}.form-field-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.field-icon-link{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--accent);text-decoration:none;box-shadow:0 8px 20px #0f172a14}.field-icon-link:hover,.field-icon-link:focus-visible{border-color:var(--accent);color:var(--accent-strong);outline:none}.field-icon-link svg{width:17px;height:17px}.form-field input,.form-field select,.form-field textarea{width:100%;min-height:42px;padding:9px 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-soft);color:var(--ink)}.form-field textarea{min-height:96px;resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.checkbox-row label{min-height:36px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--panel-soft)}.drawer-facts{display:grid;gap:6px;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-soft);font-size:.9rem}.empty-state{display:grid;min-height:220px;place-items:center;border:1px dashed var(--line-strong);border-radius:var(--radius);color:var(--muted);background:var(--panel-soft)}.brand-lockup{min-width:220px;display:flex;align-items:center;gap:11px}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent),#ffffff 70%);border-radius:var(--radius);background:var(--accent-soft);color:var(--accent)}.brand-mark svg{width:18px;height:18px}.brand-copy{min-width:0;display:grid;gap:1px}.brand-copy strong{color:var(--ink);font-size:1.08rem;line-height:1.1}.brand-copy span{color:var(--muted);font-size:.84rem;font-weight:650}.top-nav{padding:14px 0;border-bottom:1px solid rgba(226,232,240,.78);background:#ffffffd1}.app-main{padding-top:18px}.view-tabs{gap:2px;padding:3px;box-shadow:inset 0 0 0 1px #ffffffb8}.view-tabs button{min-height:36px;padding:7px 12px;font-size:.9rem;font-weight:650}.view-tabs button:hover{background:var(--panel-soft);color:var(--ink)}.view-tabs button.active{background:var(--ink);box-shadow:var(--shadow-tight)}.icon-button,.primary-button,.secondary-button,.danger-button,.account-summary{box-shadow:0 1px #fffc inset}.icon-button:hover,.secondary-button:hover,.account-summary:hover,.account-menu.open .account-summary{border-color:var(--line-strong);background:#fff;box-shadow:var(--shadow-tight)}.primary-button{border-color:color-mix(in srgb,var(--accent),#000 8%);background:linear-gradient(180deg,#3974ff 0%,var(--accent) 100%);box-shadow:0 10px 24px #2563eb38}.primary-button:hover{transform:translateY(-1px);box-shadow:0 14px 28px #2563eb45}.dashboard-grid{grid-template-columns:minmax(0,1fr) 304px;gap:18px}.main-panel,.side-panel,.source-form{border-color:#e2e8f0eb;box-shadow:var(--shadow)}.main-panel{padding:18px}.panel-header{align-items:center;padding-bottom:14px;border-bottom:1px solid var(--line)}.panel-header h2{font-size:clamp(1.55rem,2.7vw,2.25rem);line-height:1.05}.eyebrow{color:var(--accent);font-size:.68rem;letter-spacing:.14em}.filter-row{gap:7px}.person-chip{min-height:32px;padding:0 11px;border-color:var(--line);background:#fff;color:#475569;font-size:.9rem;font-weight:650}.person-chip:hover{border-color:var(--line-strong);box-shadow:var(--shadow-tight)}.person-chip.selected{border-color:color-mix(in srgb,var(--person-color),#ffffff 30%);background:color-mix(in srgb,var(--person-color),#ffffff 92%)}.week-grid{gap:14px}.day-column{border-color:var(--line);background:#fff;box-shadow:0 1px #0f172a05}.day-column:hover{border-color:var(--line-strong);box-shadow:var(--shadow-tight)}.day-column.selected-day{border-color:color-mix(in srgb,var(--accent),#ffffff 12%);box-shadow:0 0 0 2px #2563eb24,var(--shadow-tight)}.day-heading{min-height:54px;padding:11px 13px;background:linear-gradient(180deg,#fff,#fbfdff)}.day-heading-button:hover .day-heading,.day-heading-button:focus-visible .day-heading{background:var(--accent-soft)}.day-heading strong{font-size:.95rem;letter-spacing:0}.day-heading span,.day-heading small{font-weight:650}.day-heading small{min-height:24px;display:inline-flex;align-items:center;padding:0 8px;border:1px solid var(--line);border-radius:999px;background:var(--panel-soft)}.week-event-row{position:relative;grid-template-columns:84px minmax(0,1fr) auto;min-height:62px;padding:10px 13px 10px 16px}.week-event-row:hover{background:#f8fbff}.week-event-row.candidate{background:var(--warn-soft)}.week-event-row.past-event,.event-card.past-event{color:#475569;background:#fbfcff;opacity:1}.week-event-row.past-event:hover,.event-card.past-event:hover{background:#f8fbff}.week-event-row.past-event .week-event-body strong,.event-card.past-event strong{color:#334155}.week-event-time{color:#475569;font-size:.76rem}.week-event-body{gap:5px}.week-event-title-line strong{font-size:.94rem;line-height:1.12}.week-event-meta{color:var(--muted);font-size:.77rem}.person-dot{box-shadow:0 0 0 2px #fff}.day-detail-backdrop,.drawer-backdrop{background:#0f172a52;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.day-detail-sheet{width:min(760px,100%);gap:16px;padding:22px;background:#fff;box-shadow:-24px 0 64px #0f172a2e;animation:sheet-in .15s ease-out}.day-detail-header{position:sticky;top:-22px;z-index:2;margin:-22px -22px 0;padding:22px 22px 14px;border-bottom:1px solid var(--line);background:#fffffff0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.day-detail-header h3{font-size:1.5rem;line-height:1.1}.day-detail-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.day-detail-stats div{min-width:0;display:grid;gap:3px;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-soft)}.day-detail-stats strong{font-size:1.12rem;line-height:1}.day-detail-stats span{color:var(--muted);font-size:.76rem;font-weight:750}.day-detail-stats .needs-attention{border-color:color-mix(in srgb,var(--warn),#ffffff 68%);background:var(--warn-soft)}.day-detail-list{gap:12px}.day-event-detail{position:relative;grid-template-columns:minmax(0,1fr) auto;padding:16px 14px 16px 20px;border-color:var(--line);background:#fff;box-shadow:0 1px #0f172a05}.day-event-detail:before{content:"";position:absolute;left:0;top:14px;width:3px;height:calc(100% - 28px);border-radius:0 999px 999px 0;background:var(--event-color, var(--accent))}.day-event-detail.candidate{border-color:color-mix(in srgb,var(--warn),#ffffff 62%);background:#fffdfa}.day-event-title-row strong{font-size:1rem}.status-pill{min-height:26px;display:inline-flex;align-items:center;padding:0 9px;border:1px solid color-mix(in srgb,var(--ok),#ffffff 70%);border-radius:999px;background:var(--ok-soft);color:var(--ok);font-size:.76rem;font-weight:800;text-transform:capitalize}.event-weather-badge{width:23px;height:23px;display:inline-grid;place-items:center;flex:0 0 auto;border:1px solid rgba(104,132,148,.22);border-radius:999px;background:#ffffffa8;color:#4b92aa}.event-weather-badge svg{width:15px;height:15px}.event-weather-badge.clear{color:#cf8b2d}.event-weather-badge.rain,.event-weather-badge.storm{color:#397b9b}.day-event-detail.candidate .status-pill{border-color:color-mix(in srgb,var(--warn),#ffffff 62%);background:var(--warn-soft);color:var(--warn)}.event-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px 16px}.event-detail-grid dt{color:#64748b;font-size:.68rem;letter-spacing:.04em}.event-detail-grid dd{color:#243044;font-size:.9rem;font-weight:560}.compact-action{min-height:38px;background:#fff;font-size:.9rem}.side-panel{position:sticky;top:88px;gap:12px;background:#ffffffb8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.metric{grid-template-columns:38px 1fr;padding:13px;background:#fff}.metric svg{padding:7px;width:34px;height:34px;border-radius:var(--radius);background:var(--accent-soft)}.metric strong{font-size:1.35rem;line-height:1}.metric span{font-size:.86rem;font-weight:650}.insight-block{background:#fff}.insight-block h3{font-size:1rem}.event-drawer{width:min(560px,100%);padding:22px;box-shadow:-24px 0 64px #0f172a33;animation:sheet-in .15s ease-out}.drawer-header{padding-bottom:12px;border-bottom:1px solid var(--line)}.drawer-header h2{font-size:1.55rem}.form-field input,.form-field select,.form-field textarea{background:#fff;border-color:var(--line)}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid rgba(37,99,235,.16);border-color:var(--accent)}.drawer-facts{background:var(--panel-soft)}@keyframes sheet-in{0%{opacity:.72;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;scroll-behavior:auto!important;transition-duration:1ms!important}}@media(max-width:980px){.top-nav,.dashboard-grid,.sources-layout{grid-template-columns:1fr}.top-nav{position:static}.brand-lockup{min-width:0}.side-panel{position:static}.view-tabs{overflow-x:auto;flex-wrap:nowrap}.view-tabs button{flex:1 0 auto}}@media(max-width:640px){.app-main,.top-nav,.error-banner{width:min(100% - 20px,1440px)}.top-nav{gap:12px}.view-tabs span{display:none}.nav-actions{justify-content:stretch}.brand-copy span{display:none}.primary-button.compact{flex:1}.panel-header,.drawer-header{display:grid}.main-panel{padding:12px}.side-panel{padding:10px}.week-grid{grid-template-columns:1fr}.week-event-row{grid-template-columns:72px minmax(0,1fr)}.week-event-meta{font-size:.74rem}.week-event-meta span:last-child{max-width:48%}.week-event-people{display:none}.day-detail-sheet{padding:12px}.day-detail-header{top:-12px;margin:-12px -12px 0;padding:14px 12px 12px}.day-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.day-event-detail{grid-template-columns:1fr;padding:14px 12px 14px 16px}.event-detail-grid{grid-template-columns:1fr}.compact-action{width:100%}.form-grid{grid-template-columns:1fr}}:root{--bg: #f4f1eb;--bg-soft: #faf8f4;--panel: #fffdf8;--panel-soft: #f8f4ed;--ink: #171b22;--muted: #6b7280;--line: #e5ded3;--line-strong: #d3c7b8;--accent: #4c8468;--accent-soft: #e7f1e9;--shadow: 0 18px 50px rgba(58, 45, 30, .08);--shadow-tight: 0 10px 26px rgba(58, 45, 30, .08)}body{background:radial-gradient(circle at 84% 0%,rgba(237,121,93,.12),transparent 26rem),radial-gradient(circle at 0% 14%,rgba(76,132,104,.12),transparent 28rem),linear-gradient(180deg,#fffdf8 0,var(--bg) 620px)}.top-nav{position:fixed;inset:12px auto 12px 12px;z-index:20;width:252px;display:grid;grid-template-columns:1fr;grid-template-rows:auto auto 1fr auto auto;align-items:stretch;gap:20px;margin:0;padding:24px 18px;border:1px solid var(--line);border-radius:18px;background:#fffdf8eb;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.top-nav.collapsed{width:76px;grid-template-rows:auto auto 1fr;gap:14px;padding:14px 12px}.app-main{width:min(1540px,calc(100% - 292px));margin-left:268px;padding:28px 24px 48px}.nav-collapsed .app-main{width:min(1600px,calc(100% - 112px));margin-left:104px}.brand-lockup{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}.brand-mark{width:46px;height:46px;border-radius:10px;background:linear-gradient(180deg,#5d9679,#3e765c);color:#fff;box-shadow:0 12px 22px #4c84683d}.brand-mark svg{width:24px;height:24px;fill:currentColor}.brand-copy strong{font-size:1.34rem}.nav-collapse-button{width:36px;min-height:36px;padding:0}.top-nav.collapsed .brand-lockup{grid-template-columns:1fr;justify-items:center}.top-nav.collapsed .brand-copy,.top-nav.collapsed .nav-family,.top-nav.collapsed .nav-settings,.top-nav.collapsed .view-tabs span,.top-nav.collapsed .nav-actions>.primary-button span,.top-nav.collapsed .account-summary span{display:none}.top-nav.collapsed .brand-mark{width:44px;height:44px}.top-nav.collapsed .view-tabs button{grid-template-columns:1fr;justify-items:center;padding:0}.top-nav.collapsed .nav-actions{align-self:end;grid-template-columns:1fr;justify-items:center}.top-nav.collapsed .primary-button.compact{width:40px;min-width:40px;padding:0}.top-nav.collapsed .schedule-sync-button{width:40px;min-width:40px;justify-content:center}.top-nav.collapsed .account-summary{width:40px;padding:5px}.view-tabs{display:grid;gap:6px;padding:0;border:0;background:transparent}.view-tabs button{min-height:44px;display:grid;grid-template-columns:22px minmax(0,1fr);justify-content:stretch;gap:12px;padding:0 14px;border-radius:var(--radius);color:#26312d;text-align:left;font-weight:760}.view-tabs button:hover,.view-tabs button.active{background:var(--accent-soft);color:#2f6a51}.nav-family,.nav-settings{align-self:start;display:grid;gap:8px;padding-top:18px;border-top:1px solid var(--line)}.nav-settings-header{color:var(--muted);font-size:.82rem;font-weight:780}.nav-settings-card{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-soft);color:var(--ink);text-align:left}.nav-settings-card:hover,.nav-settings-card.active{border-color:#b8d7c4;background:var(--accent-soft)}.nav-settings-card strong,.nav-settings-card small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-settings-card strong{margin-bottom:4px;font-size:.92rem}.nav-settings-card small{color:var(--muted);font-size:.75rem;line-height:1.25}.settings-card-icon{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#fff;color:var(--accent);box-shadow:var(--shadow-tight)}.settings-card-icon svg{width:17px;height:17px}.nav-family-header{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:.82rem;font-weight:780}.nav-family-row{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;min-height:34px;color:#2f352f;font-size:.92rem;font-weight:650}.family-avatar{display:inline-grid;place-items:center;width:42px;height:42px;border:2px solid #fff;border-radius:50%;background:linear-gradient(180deg,#ffffff4d,#fff0),var(--person-color, var(--accent));color:#fff;box-shadow:0 8px 18px #2a22191f;font-size:.78rem;font-weight:850}.family-avatar.small{width:28px;height:28px;font-size:.66rem}.muted-avatar{background:#8e938c}.nav-actions{align-self:end;display:grid;grid-template-columns:1fr}.nav-actions .account-menu{grid-column:1 / -1}.top-nav .account-popover{top:auto;right:auto;bottom:0;left:calc(100% + 24px);width:min(300px,calc(100vw - 132px))}.top-nav.collapsed .account-popover{left:calc(100% + 24px)}.dashboard-grid,.sources-layout{grid-template-columns:minmax(0,1fr) 336px;gap:20px}.dashboard-grid{grid-template-columns:minmax(0,1fr)}.settings-view{display:grid;gap:14px}.settings-hero,.settings-section-nav,.settings-form,.settings-section{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.settings-hero{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px 16px}.settings-hero h1{margin:0;font-size:clamp(1.45rem,3vw,2.1rem);line-height:1.04}.settings-hero p{margin:2px 0 0;color:var(--muted);font-size:.9rem;font-weight:720}.settings-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.settings-status{flex:0 0 auto;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:var(--panel-soft);color:var(--muted);font-size:.82rem;font-weight:760}.settings-layout{display:grid;grid-template-columns:238px minmax(0,1fr);align-items:start;gap:14px}.settings-section-nav{position:sticky;top:16px;display:grid;gap:8px;padding:10px}.settings-section-nav button{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center;min-height:58px;padding:9px;border:1px solid transparent;border-radius:calc(var(--radius) - 2px);background:transparent;color:var(--muted);text-align:left}.settings-section-nav button:hover,.settings-section-nav button.active{border-color:var(--line);background:var(--panel-soft);color:var(--ink)}.settings-section-nav button.active{border-color:#b8d7c4;background:var(--accent-soft)}.settings-section-nav button>span:last-child{display:grid;gap:2px;min-width:0}.settings-section-nav strong,.settings-section-nav small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-section-nav strong{font-size:.92rem;font-weight:850}.settings-section-nav small{color:var(--muted);font-size:.76rem;font-weight:740}.settings-panel-stack{min-width:0}.settings-form{display:grid;gap:10px;padding:0;border:0;background:transparent;box-shadow:none}.settings-calendar-sources{min-width:0}.settings-section{display:grid;gap:12px;padding:14px;background:var(--panel);box-shadow:none}.settings-section-heading{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center}.settings-section-heading>svg{width:34px;height:34px;padding:8px;border-radius:10px;background:var(--accent-soft);color:var(--accent)}.settings-section-heading h2{margin:0;font-size:1.1rem}.settings-section-heading span{color:var(--muted);font-size:.84rem}.settings-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.settings-field-wide{grid-column:1 / -1}.settings-form label{display:grid;gap:6px;color:var(--muted);font-size:.82rem;font-weight:800}.settings-form input,.settings-form select,.settings-form textarea{width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--ink);font:inherit;font-weight:650}.settings-form select{appearance:none;padding-right:36px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 18px,calc(100% - 12px) 18px;background-size:6px 6px,6px 6px;background-repeat:no-repeat}.settings-form textarea{resize:vertical}.settings-checkbox-row{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.settings-checkbox-row input{width:20px;min-height:20px;padding:0;justify-self:start;accent-color:var(--accent)}.settings-checkbox-row span{display:grid;gap:3px;color:var(--ink)}.settings-checkbox-row small{color:var(--muted);font-size:.82rem;font-weight:700}.settings-member-list{display:flex;flex-wrap:wrap;gap:8px;padding-top:2px}.settings-member-list span{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-weight:750}.settings-member-list i{width:9px;height:9px;border-radius:50%;background:var(--person-color)}.settings-access-section{gap:14px}.family-access-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.family-access-summary>div{display:grid;gap:5px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.family-access-summary span,.family-access-summary small,.family-access-list article>div span,.household-profile-list article>div span{color:var(--muted);font-size:.78rem;font-weight:780}.family-access-summary strong,.family-access-list article>div strong,.household-profile-list article>div strong{min-width:0;overflow-wrap:anywhere;color:var(--ink);font-weight:850}.family-access-list,.household-profile-list{display:grid;gap:8px}.family-access-list article,.household-profile-list article{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;min-width:0;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.family-access-list article>div:not(.family-access-avatar),.household-profile-list article>div:not(.family-access-avatar){display:grid;gap:2px;min-width:0}.family-access-avatar{width:40px;height:40px;display:inline-grid;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-weight:900}.family-access-avatar.child{background:#fff4e5;color:#a65c17}.family-role-pill{min-width:78px;padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:var(--panel-soft);color:var(--muted);font-size:.78rem;font-weight:850;text-align:center}.family-role-pill.owner{border-color:#b8d7c4;background:var(--accent-soft);color:var(--accent)}.family-role-pill.admin{border-color:#c7d7ef;background:#edf4ff;color:#2f5f9f}.family-role-pill.child{border-color:#ead8bd;background:#fff8ed;color:#8d5a1f}.settings-saved{display:inline-flex;align-items:center;gap:6px;color:#2f6a51;font-size:.86rem;font-weight:800}.settings-saved svg{width:16px;height:16px}.settings-save-button{width:fit-content;min-height:36px}@media(max-width:980px){.settings-layout{grid-template-columns:1fr}.settings-section-nav{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.settings-hero{display:grid;gap:10px}.settings-header-actions{justify-content:stretch}.settings-header-actions .settings-status{margin-right:auto}.settings-section-nav{gap:6px;padding:6px}.settings-section-nav button{grid-template-columns:1fr;gap:6px;min-height:68px;padding:8px}.settings-section-nav .settings-card-icon{width:30px;height:30px}.settings-section-nav small{white-space:normal}.settings-field-grid,.family-access-summary{grid-template-columns:1fr}.family-access-list article,.household-profile-list article{grid-template-columns:36px minmax(0,1fr)}.family-role-pill{grid-column:2;justify-self:start}.source-row{grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:start}.source-row .source-icon{width:36px;height:36px}.source-row .source-actions{grid-column:2;justify-content:flex-start;margin-top:2px}}.home-panel{display:grid;gap:16px;padding:0;border:0;background:transparent;box-shadow:none}.schedule-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fffdf8e6;box-shadow:var(--shadow)}.schedule-header{align-items:center;margin:0;padding:18px 18px 14px;border-bottom:1px solid var(--line)}.schedule-header h2{font-size:clamp(1.45rem,2.6vw,2rem);line-height:1.06}.schedule-header-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.view-switch{display:inline-grid;grid-template-columns:repeat(3,minmax(64px,1fr));padding:3px;border:1px solid var(--line);border-radius:var(--radius);background:#ffffffc7}.view-switch button{min-height:34px;padding:0 12px;border:0;border-radius:calc(var(--radius) - 2px);background:transparent;color:var(--muted);font-size:.88rem;font-weight:760}.view-switch button:hover,.view-switch button.active{background:var(--ink);color:#fff}.schedule-filter-bar{display:flex;align-items:center;gap:10px;padding:14px 18px 18px;overflow:visible}.family-filter-strip{min-width:0;display:flex;align-items:center;gap:10px;overflow-x:auto;overscroll-behavior-x:contain}.source-filter-strip{flex:0 0 auto;margin-left:2px}.calendar-filter-menu{position:relative}.calendar-filter-menu.open{z-index:18}.calendar-filter-trigger{min-height:36px;display:inline-flex;align-items:center;gap:8px;padding:0 12px;border:1px solid color-mix(in srgb,var(--accent),#ffffff 68%);border-radius:999px;background:var(--accent-soft);color:#2f6a51;font-size:.84rem;font-weight:820;list-style:none;cursor:pointer}.calendar-filter-trigger svg{width:16px;height:16px}.calendar-filter-trigger strong{min-width:38px;min-height:24px;display:grid;place-items:center;border-radius:999px;background:#ffffffbd;color:var(--accent);font-size:.72rem}.calendar-filter-backdrop{display:none}.calendar-filter-panel{position:absolute;top:calc(100% + 8px);left:0;z-index:1;width:min(360px,calc(100vw - 40px));max-height:min(430px,calc(100vh - 220px));display:grid;gap:10px;padding:12px;overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.calendar-filter-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-filter-panel-header>span{color:var(--ink);font-size:.82rem;font-weight:850}.calendar-filter-panel-header>div{display:inline-flex;gap:6px;flex:0 0 auto}.calendar-filter-panel-header button{min-height:28px;padding:0 8px;border:1px solid var(--line);border-radius:999px;background:var(--panel-soft);color:var(--muted);font-size:.72rem;font-weight:820}.calendar-filter-list{display:grid;gap:6px}.calendar-filter-option{min-width:0;display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:38px;padding:7px 8px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--ink);font-size:.82rem;font-weight:780;cursor:pointer}.calendar-filter-option:hover{border-color:var(--line-strong);background:var(--panel-soft)}.calendar-filter-option input{width:16px;height:16px;accent-color:var(--accent)}.calendar-filter-option span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-filter-option.muted{color:var(--muted)}.calendar-filter-option.muted span{text-decoration:line-through}.calendar-filter-option strong{min-width:22px;min-height:22px;display:grid;place-items:center;border-radius:999px;background:var(--panel-soft);font-size:.72rem}.calendar-filter-empty{margin:0;color:var(--muted);font-size:.82rem;font-weight:720}.calendar-filter-help{margin:-2px 0 0;color:var(--muted);font-size:.78rem;font-weight:690;line-height:1.35}.living-day-view{display:grid;gap:0;margin:0;padding:0;overflow:hidden;border:0;border-radius:0;background:transparent;box-shadow:none}.living-day-stage{position:relative;min-height:clamp(280px,28vw,380px);overflow:hidden;border:0;border-radius:0;background:radial-gradient(circle at 7% 71%,rgba(255,255,255,.86) 0 48px,transparent 50px),radial-gradient(ellipse at 10% 27%,rgba(255,255,255,.62) 0 16px,transparent 17px),radial-gradient(ellipse at 31% 26%,rgba(255,255,255,.58) 0 18px,transparent 19px),radial-gradient(ellipse at 53% 25%,rgba(255,255,255,.5) 0 22px,transparent 23px),linear-gradient(90deg,#fff3c8,#fbf7ed 34%,#e7f2fb 66%,#c8dbff)}.living-day-scene{position:absolute;inset:0;pointer-events:none}.living-day-scene:before{content:"";position:absolute;left:-3%;right:-3%;bottom:34px;height:142px;background:radial-gradient(ellipse at 6% 96%,rgba(70,97,69,.34) 0 18%,transparent 19%),radial-gradient(ellipse at 25% 108%,rgba(215,178,96,.28) 0 27%,transparent 28%),radial-gradient(ellipse at 53% 108%,rgba(91,146,119,.26) 0 40%,transparent 41%),radial-gradient(ellipse at 82% 104%,rgba(64,97,147,.28) 0 41%,transparent 42%)}.living-day-scene:after{content:"";position:absolute;left:0;right:0;bottom:0;height:56px;background:#ffffffb8}.living-day-silhouette{position:absolute;left:5%;right:5%;bottom:60px;z-index:0;height:152px;background:url(/assets/living-day/scene-silhouette.svg) center bottom / 100% 100% no-repeat;opacity:.78;pointer-events:none}.living-day-sun{position:absolute;left:42px;top:46%;width:82px;height:82px;border-radius:999px;background:#fff9;box-shadow:0 0 0 22px #ffffff38,0 0 64px #ffcf6047}.living-day-moon{position:absolute;right:48px;top:18%;width:44px;height:44px;border-radius:999px;background:#fff5c7;box-shadow:inset -15px 0 #7789b542}.living-day-day-house,.living-day-night-house{position:absolute;z-index:1;pointer-events:none}.living-day-day-house{left:34px;bottom:70px;width:84px;height:58px;border-radius:6px 6px 4px 4px;background:linear-gradient(90deg,#5f804fa8,#5f804fa8) 12px 24px / 8px 34px no-repeat,linear-gradient(90deg,#fff5cce6,#fff5cce6) 52px 20px / 15px 14px no-repeat,linear-gradient(180deg,#f8f0d6,#e9d7b8);box-shadow:inset 0 0 0 1px #775c381f,0 10px 22px #785e361f}.living-day-day-house:before{content:"";position:absolute;left:-5px;top:-28px;width:95px;height:42px;clip-path:polygon(50% 0,100% 100%,0 100%);background:linear-gradient(135deg,#bd8951,#8f6847)}.living-day-day-house:after{content:"";position:absolute;left:-28px;bottom:2px;width:28px;height:62px;border-radius:999px 999px 4px 4px;background:radial-gradient(circle at 34% 19%,#8dad70 0 34%,transparent 35%),radial-gradient(circle at 65% 29%,#7fa467 0 37%,transparent 38%),linear-gradient(90deg,transparent 44%,#806946 45% 55%,transparent 56%)}.living-day-night-house{right:28px;bottom:72px;width:76px;height:68px;border-radius:7px;background:linear-gradient(90deg,#ffe078e0,#ffe078e0) 48px 28px / 13px 18px no-repeat,linear-gradient(180deg,#324c74c2,#233960b3);box-shadow:inset 0 0 0 1px #fffdf840,0 14px 28px #1b376333}.living-day-night-house:before{content:"";position:absolute;left:6px;top:-27px;width:62px;height:62px;border-radius:4px;background:#1b3862c7;transform:rotate(45deg)}.living-day-night-house:after{content:"";position:absolute;right:-22px;bottom:-2px;width:32px;height:74px;border-radius:999px 999px 3px 3px;background:radial-gradient(circle at 48% 17%,rgba(37,64,105,.7) 0 34%,transparent 35%),radial-gradient(circle at 62% 31%,rgba(26,52,91,.72) 0 36%,transparent 37%),linear-gradient(90deg,transparent 46%,rgba(36,45,63,.62) 47% 55%,transparent 56%)}.living-day-day-house{left:24px;bottom:60px;width:124px;height:84px;border-radius:0;background:url(/assets/living-day/day-house.png) center / contain no-repeat;box-shadow:none}.living-day-night-house{right:16px;bottom:58px;width:124px;height:86px;border-radius:0;background:url(/assets/living-day/night-house.png) center / contain no-repeat;box-shadow:none}.living-day-day-house:before,.living-day-day-house:after,.living-day-night-house:before,.living-day-night-house:after{content:none}.living-day-sky{display:none}.living-day-path{position:absolute;inset:auto 8.2% 55px;z-index:1;height:90px;background:url(/assets/living-day/curved-path.svg) center / 100% 100% no-repeat;filter:drop-shadow(0 8px 12px rgba(15,23,42,.13));opacity:.94}.living-day-time-axis{position:absolute;left:3%;right:4%;bottom:18px;display:flex;justify-content:space-between;color:#0f172a8f;font-size:.95rem;font-weight:650}.living-day-now{--day-progress: 50%;position:absolute;left:clamp(22px,var(--day-progress),calc(100% - 22px));top:auto;bottom:34px;z-index:6;display:grid;justify-items:center;gap:5px;transform:translate(-50%);color:#fff;font-size:.8rem;font-weight:900;text-transform:uppercase}.living-day-now:after{content:"";order:-1;width:2px;height:58px;border-radius:999px;background:#3a76ff}.living-day-now span{min-height:22px;display:inline-flex;align-items:center;padding:0 7px;border-radius:999px;background:#3f73f6;box-shadow:0 8px 18px #2360dc40}.living-day-stops{position:absolute;inset:54px 8.4% 60px;display:grid;grid-template-columns:repeat(var(--stop-count, 1),minmax(0,1fr));align-items:start;gap:14px}.living-day-stop{--stop-position: 50%;position:relative;z-index:5;width:100%;height:220px;min-width:0;display:block;justify-items:center;padding:0;border:0;background:transparent;color:var(--ink);text-align:left}.living-day-stop:nth-child(2n){padding-top:22px}.living-day-stop-pin{position:absolute;left:50%;top:auto;bottom:0;z-index:2;width:44px;height:44px;display:grid;place-items:center;overflow:hidden;border:3px solid #fffdfa;border-radius:999px;background:var(--event-color, var(--accent));box-shadow:0 10px 20px #4d3e2b29;transform:translate(-50%)}.living-day-stop:nth-child(2n) .living-day-stop-pin{top:auto}.living-day-stop-art{width:min(104px,100%);height:66px;margin:2px auto 0;border-radius:8px;object-fit:cover}.living-day-stop-card{position:absolute;left:50%;top:0;width:100%;max-width:184px;min-height:142px;min-width:0;display:grid;justify-items:center;gap:6px;padding:13px 14px 10px;border:1px solid rgba(15,23,42,.16);border-radius:9px;background:#ffffffe0;box-shadow:0 6px 18px #0f172a1a;text-align:center;transform:translate(-50%)}.living-day-stop:nth-child(2n) .living-day-stop-card{top:0}.living-day-stop-card:after{content:"";position:absolute;left:50%;bottom:-46px;width:2px;height:46px;background:#ffffffeb;transform:translate(-50%)}.living-day-stop.next-event .living-day-stop-card{box-shadow:0 16px 30px #4d3e2b24,0 0 0 3px color-mix(in srgb,var(--event-color, var(--accent)),transparent 76%)}.living-day-stop-time{display:inline-flex;align-items:center;gap:5px;min-width:0;color:var(--muted);font-size:.78rem;font-weight:840;white-space:nowrap}.living-day-stop-card strong,.living-day-stop-card small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.living-day-stop-card strong{color:#24362f;font-size:.95rem;font-weight:900;line-height:1.15;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.living-day-stop-card small{display:none}.conflict-banner{display:grid;gap:10px;margin:0 18px 18px;padding:12px;border:1px solid rgba(220,38,38,.24);border-left:4px solid var(--danger);border-radius:var(--radius);background:#fff5f4;color:#72211d}.conflict-banner-title{display:flex;align-items:center;gap:10px}.conflict-banner-title svg{width:20px;height:20px;color:var(--danger)}.conflict-banner-title div{min-width:0;display:grid;gap:2px}.conflict-banner-title strong{font-size:.92rem;font-weight:900}.conflict-banner-title span{color:#8a3b35;font-size:.78rem;font-weight:720}.conflict-list{display:flex;flex-wrap:wrap;gap:6px}.conflict-chip,.event-conflict-badge{min-width:0;display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(220,38,38,.24);border-radius:999px;background:#fff;color:var(--danger);font-size:.7rem;font-weight:880}.conflict-chip{max-width:100%;padding:4px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-conflict-badge{flex:0 0 auto;min-height:20px;padding:0 6px}.event-conflict-badge svg{width:12px;height:12px}.week-board-event.has-conflict,.month-event-chip.has-conflict,.day-timeline-card.has-conflict,.day-event-detail.has-conflict,.event-card.has-conflict,.living-day-stop.has-conflict .living-day-stop-card{border-color:#dc26266b;background:#fff8f6}.conflict-warning{color:var(--danger)}.weather-ribbon{display:grid;grid-template-columns:1fr;gap:10px;overflow-x:auto;margin:0 18px 18px;padding:13px 16px 15px;border:1px solid rgba(123,161,191,.26);border-top:3px solid rgba(76,137,197,.7);border-radius:var(--radius);background:linear-gradient(180deg,#f0f8ffeb,#f7fbffc2),#ffffffd6}.weather-ribbon-empty{grid-template-columns:1fr}.weather-ribbon-single{width:fit-content;max-width:calc(100% - 36px)}.weather-ribbon-title{display:inline-flex;align-items:center;gap:7px;min-width:0;color:#355f83;font-size:.82rem;font-weight:820;white-space:nowrap}.weather-ribbon-title svg{width:16px;height:16px;color:#4b92aa}.weather-ribbon-title-short{display:none}.weather-days{min-width:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:1180px;gap:0}.weather-ribbon-single .weather-days{grid-template-columns:minmax(156px,190px)}.weather-day{min-width:0;min-height:76px;display:grid;grid-template-columns:1fr;grid-template-areas:"label" "icon" "temp" "note";place-items:center;gap:5px;padding:10px 8px;border-radius:0;color:#23323a;text-align:center}.weather-day+.weather-day{border-left:1px solid rgba(123,161,191,.22)}.weather-day.clear{background:#fff6d680}.weather-day.cloud{background:#ecf4f98f}.weather-day.rain,.weather-day.storm{background:#e2f2faa8}.weather-day.fog,.weather-day.cold{background:#ebf2f79e}.weather-day.missing{align-content:center;grid-template-columns:1fr;color:var(--muted)}.weather-day>span{grid-area:label;color:#1f3152;font-size:.72rem;font-weight:840;text-transform:uppercase}.weather-day svg{grid-area:icon;width:25px;height:25px;color:#4b92aa}.weather-day.clear svg{color:#cf8b2d}.weather-day.rain svg,.weather-day.storm svg{color:#397b9b}.weather-day strong{grid-area:temp;justify-self:center;font-size:.94rem;font-weight:840;line-height:1;white-space:nowrap}.weather-day small,.weather-status{grid-area:note;min-width:0;overflow:hidden;color:var(--muted);font-size:.76rem;font-weight:720;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.weather-status{align-self:center;padding:0 4px;font-size:.78rem}.day-context-bar{display:grid;grid-template-columns:auto auto;align-items:stretch;justify-content:start;gap:12px;margin:0 18px 18px}.day-summary-rail{min-width:0;display:flex;align-items:stretch;gap:8px;padding:8px;border:1px solid var(--line);border-radius:var(--radius);background:#fffdfad6}.day-summary-rail>span{min-width:74px;display:grid;align-content:center;gap:2px;padding:8px 10px;border-radius:7px;background:var(--panel-soft)}.day-summary-rail strong{color:var(--ink);font-size:1rem;font-weight:900;line-height:1}.day-summary-rail small{color:var(--muted);font-size:.7rem;font-weight:820;text-transform:uppercase}.day-summary-rail .needs-attention{background:var(--warn-soft)}.day-summary-rail .needs-attention strong,.day-summary-rail .needs-attention small{color:var(--warn)}.day-context-bar .weather-ribbon{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;overflow:hidden;width:fit-content;max-width:100%;margin:0;padding:8px 10px;border-top-width:1px}.day-context-bar .weather-days{min-width:0;grid-template-columns:minmax(136px,170px)}.day-context-bar .weather-day{min-height:52px;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon temp" "icon note";justify-items:start;place-items:center start;gap:2px 8px;padding:7px 9px;border-radius:7px;text-align:left}.day-context-bar .weather-day>span{display:none}.day-context-bar .weather-day svg{width:19px;height:19px}.day-context-bar .weather-day strong{justify-self:start;font-size:.9rem}.day-context-bar .weather-day small{max-width:100%;font-size:.72rem}.day-timeline{position:relative;display:grid;gap:12px;margin:0 18px 20px}.day-timeline:before{content:"";position:absolute;left:111px;top:18px;bottom:18px;width:1px;background:linear-gradient(180deg,transparent,var(--line-strong) 12%,var(--line-strong) 88%,transparent)}.day-timeline-group{position:relative;display:grid;grid-template-columns:96px minmax(0,1fr);gap:28px}.day-timeline-time{position:relative;display:grid;justify-items:end;align-content:start;gap:3px;padding-top:14px;color:var(--ink);text-align:right}.day-timeline-time:after{content:"";position:absolute;top:17px;right:-22px;z-index:1;width:11px;height:11px;border:2px solid var(--panel);border-radius:999px;background:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent),#ffffff 38%)}.day-timeline-time span{font-size:.85rem;font-weight:900;white-space:nowrap}.day-timeline-time small{color:var(--muted);font-size:.7rem;font-weight:820;text-transform:uppercase}.day-timeline-events{min-width:0;display:grid;gap:10px}.day-timeline-group.clustered .day-timeline-events{padding:8px;border:1px solid color-mix(in srgb,var(--line),#ffffff 30%);border-radius:var(--radius);background:color-mix(in srgb,var(--panel-soft),#ffffff 44%)}.day-timeline-card{position:relative;width:100%;min-width:0;display:grid;gap:12px;padding:14px 15px 14px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--ink);box-shadow:0 1px #4d3e2b08;text-align:left}.day-timeline-card:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 999px 999px 0;background:var(--event-color, var(--accent))}.day-timeline-card:hover{border-color:var(--line-strong);background:#fff;box-shadow:var(--shadow-tight)}.day-timeline-card.with-art{grid-template-columns:78px minmax(0,1fr);align-items:start}.day-timeline-art{display:none}.day-timeline-card.with-art .day-timeline-art{display:block;width:78px;height:78px;border-radius:var(--radius)}.day-timeline-card-main{min-width:0;display:grid;gap:7px}.day-timeline-card-kicker{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:.78rem;font-weight:820}.day-timeline-card-kicker>span:first-child{min-width:0;display:inline-flex;align-items:center;gap:6px}.day-timeline-title{min-width:0;color:#243044;font-size:1.03rem;font-weight:900;line-height:1.2;overflow-wrap:anywhere}.day-timeline-meta{min-width:0;display:flex;align-items:center;gap:9px;color:var(--muted);font-size:.82rem;font-weight:720}.day-timeline-meta .location-label{max-width:min(62ch,62%)}.day-timeline-source{min-width:0;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-timeline-source:before{content:"";display:inline-block;width:4px;height:4px;margin:0 8px 2px 0;border-radius:999px;background:var(--line-strong)}.day-timeline-people{display:inline-flex;align-items:center;margin-left:auto}.day-timeline-card.candidate{border-color:#eccf93;background:#fff9ea}.day-timeline-card.past-event{color:#475569;background:#fbfcff}.day-timeline-card.past-event .day-timeline-title{color:#334155}.mobile-week-list{display:none}.month-board{overflow-x:auto;border-top:1px solid var(--line);background:#fff}.month-board-weekdays,.month-board-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:1060px}.month-board-weekdays{min-height:42px;border-bottom:1px solid var(--line);background:#fffffff5}.month-board-weekdays span{display:grid;place-items:center;border-right:1px solid var(--line);color:var(--muted);font-size:.74rem;font-weight:900;text-transform:uppercase}.month-board-weekdays span:last-child{border-right:0}.month-day-cell{min-width:0;min-height:150px;display:grid;align-content:start;gap:8px;padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fffdf894}.month-day-cell:nth-child(7n),.month-day-empty:nth-child(7n){border-right:0}.month-day-cell.selected-day{background:#f3f8ff;box-shadow:inset 0 0 0 2px #4c846838}.month-day-cell.open-day{background:#fffdf85c}.month-day-empty{min-height:150px;background:#f5f3ee}.month-day-header{width:100%;min-width:0;min-height:30px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0;border:0;background:transparent;color:var(--ink);text-align:left}.month-day-header:hover,.month-day-header:focus-visible{color:#2f6a51}.month-day-header span{color:var(--muted);font-size:.68rem;font-weight:860;text-transform:uppercase}.month-day-header strong{width:30px;height:30px;display:grid;place-items:center;border-radius:999px;background:#ffffffc7;color:var(--ink);font-size:.9rem;font-weight:900}.month-day-cell.selected-day .month-day-header strong{background:var(--ink);color:#fff}.month-event-list{min-width:0;display:grid;gap:6px}.month-event-chip{--event-fill: color-mix(in srgb, var(--event-color, var(--accent)), #ffffff 90%);width:100%;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 6px;padding:7px 8px;border:0;border-left:3px solid var(--event-color, var(--accent));border-radius:7px;background:linear-gradient(135deg,var(--event-fill),rgba(255,255,255,.72));color:#253045;text-align:left}.month-event-chip:hover,.month-event-chip:focus-visible{transform:translateY(-1px);box-shadow:0 8px 18px #2a221914}.month-event-chip.school,.month-event-chip.sport{--event-color: #3b82f6}.month-event-chip.community{--event-color: #4c8468}.month-event-chip.family{--event-color: #7c5fd3}.month-event-chip.work,.month-event-chip.errand{--event-color: #d59a2f}.month-event-chip.candidate{--event-color: #8b5cf6}.month-event-chip.past-event{opacity:.72}.month-event-chip>span:first-child{min-width:0;display:inline-flex;align-items:center;gap:5px;overflow:hidden;color:#536074;font-size:.68rem;font-weight:780;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.month-event-chip strong{min-width:0;grid-column:1 / -1;overflow:hidden;color:#24304a;font-size:.76rem;font-weight:860;line-height:1.12;text-overflow:ellipsis;white-space:nowrap}.month-event-chip .source-dot-stack{grid-column:2;grid-row:1;align-self:center}.month-more-button,.month-day-open{min-height:26px;display:inline-flex;align-items:center;justify-content:center;padding:0 8px;border:1px dashed var(--line-strong);border-radius:999px;background:#ffffff9e;color:var(--muted);font-size:.72rem;font-weight:820}.month-more-button:hover,.month-more-button:focus-visible{border-style:solid;color:#2f6a51}.month-day-open{justify-content:flex-start;border-color:transparent;background:transparent;color:color-mix(in srgb,var(--muted),#ffffff 8%)}.family-filter-strip .person-chip{min-height:42px;display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;padding:5px 12px 5px 6px;background:#ffffffb8;font-weight:730}.family-filter-strip .person-chip:before{display:none}.family-filter-strip .person-chip.selected{background:color-mix(in srgb,var(--person-color, var(--accent)),#ffffff 88%)}.week-board{overflow-x:auto;border-top:1px solid var(--line);background:#fff}.week-board-header,.week-board-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:1180px}.week-board-header{min-height:52px;border-bottom:1px solid var(--line);background:#fffffff0}.week-board-day-header{min-width:0;min-height:52px;display:grid;place-items:center;padding:10px;border:0;border-right:1px solid var(--line);background:transparent;color:#172033}.week-board-day-header:last-child,.week-board-cell:last-child{border-right:0}.week-board-day-header:hover,.week-board-day-header:focus-visible,.week-board-day-header.selected-day{background:#f3f8ff}.week-board-day-header strong{font-size:.84rem;letter-spacing:.02em}.week-board-row{border-bottom:1px solid var(--line)}.week-board-row-all-day .week-board-cell{min-height:76px}.week-board-cell{min-width:0;min-height:128px;display:grid;align-content:start;gap:10px;padding:14px 12px;border-right:1px solid var(--line);background:#fffdf88c}.week-board-event{--event-fill: color-mix(in srgb, var(--event-color, var(--accent)), #ffffff 90%);position:relative;width:100%;min-width:0;min-height:82px;display:grid;align-content:start;gap:5px;padding:12px 32px 24px 14px;border:0;border-left:3px solid var(--event-color, var(--accent));border-radius:7px;background:linear-gradient(135deg,var(--event-fill),rgba(255,255,255,.72));color:#253045;text-align:left;box-shadow:inset 0 0 0 1px #ffffff85}.week-board-event:hover,.week-board-event:focus-visible{transform:translateY(-1px);box-shadow:0 10px 20px #2a221914,inset 0 0 0 1px #ffffffa3}.week-board-event.school,.week-board-event.sport{--event-color: #3b82f6}.week-board-event.community{--event-color: #4c8468}.week-board-event.family{--event-color: #7c5fd3}.week-board-event.work,.week-board-event.errand{--event-color: #d59a2f}.week-board-event.candidate{--event-color: #8b5cf6}.week-board-event.past-event{opacity:.72}.week-board-event-time,.week-board-event-location,.week-board-event-footer{min-width:0;overflow:hidden;color:#536074;font-size:.78rem;font-weight:690;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.week-board-event strong{min-width:0;overflow:hidden;color:#24304a;font-size:.94rem;line-height:1.16;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.week-board-event-footer{position:absolute;right:10px;bottom:10px;display:inline-flex;align-items:center}.person-dot{width:18px;height:18px;border:2px solid #fff;border-radius:50%;box-shadow:0 5px 10px #2a22191f}.week-event-people{gap:0}.week-event-people .person-dot+.person-dot,.event-meta-row .person-dot+.person-dot{margin-left:-4px}.side-panel{top:28px;background:#fffdf8d1}.metric,.insight-block{background:#fff}.preference-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.preference-row span{min-height:26px;display:inline-flex;align-items:center;padding:0 8px;border:1px solid var(--line);border-radius:999px;background:var(--panel-soft);color:var(--muted);font-size:.74rem;font-weight:800}.week-board-event.past-event,.month-event-chip.past-event,.day-timeline-card.past-event,.day-event-detail.past-event,.event-card.past-event{opacity:.56;filter:saturate(.72)}.week-board-event.past-event,.day-timeline-card.past-event,.day-event-detail.past-event,.event-card.past-event{background:#f3f1ec}.week-board-event.past-event:hover,.week-board-event.past-event:focus-visible,.month-event-chip.past-event:hover,.month-event-chip.past-event:focus-visible,.day-timeline-card.past-event:hover,.day-timeline-card.past-event:focus-visible,.event-card.past-event:hover,.event-card.past-event:focus-visible{opacity:.72;filter:saturate(.82)}.week-board-event.past-event strong,.month-event-chip.past-event strong,.day-timeline-card.past-event strong,.day-event-detail.past-event strong,.event-card.past-event strong{color:color-mix(in srgb,var(--muted),var(--ink) 18%)}.week-board-event.past-event .event-weather-badge,.month-event-chip.past-event .event-weather-badge,.day-timeline-card.past-event .event-weather-badge,.day-event-detail.past-event .event-weather-badge,.event-card.past-event .event-weather-badge,.week-board-event.past-event .person-dot,.month-event-chip.past-event .person-dot,.day-timeline-card.past-event .person-dot,.day-event-detail.past-event .person-dot,.event-card.past-event .person-dot{opacity:.55}@media(max-width:1180px){.app-main{width:auto;margin-left:276px;padding-right:16px}.nav-collapsed .app-main{width:auto;margin-left:104px}.dashboard-grid,.sources-layout{grid-template-columns:minmax(0,1fr)}.side-panel{position:static;grid-template-columns:repeat(3,minmax(0,1fr))}.side-panel .insight-block{grid-column:1 / -1}}@media(max-width:900px){.top-nav{position:fixed;inset:auto 12px 12px;width:auto;min-height:76px;grid-template-rows:none;grid-template-columns:1fr;padding:8px;border-radius:22px}.top-nav.collapsed{width:auto;grid-template-rows:none;grid-template-columns:1fr;padding:8px}.brand-lockup,.nav-family,.nav-settings,.nav-collapse-button{display:none}.nav-actions{position:absolute;right:8px;bottom:calc(100% + 8px);z-index:30;display:block}.nav-actions>.icon-button,.nav-actions>.secondary-button,.nav-actions>.primary-button{display:none}.top-nav .account-popover,.top-nav.collapsed .account-popover{top:auto;right:0;bottom:calc(100% + 8px);left:auto;width:min(340px,calc(100vw - 24px))}.top-nav .account-summary{width:44px;min-height:44px;padding:6px}.top-nav .account-summary span{display:none}.top-nav.collapsed .view-tabs span{display:block}.view-tabs{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.view-tabs button{min-height:58px;grid-template-columns:1fr;justify-items:center;gap:4px;padding:6px 4px;font-size:.72rem}.view-tabs span{display:block}.app-main{width:min(100%,760px);margin:0 auto;padding:18px 14px 112px}.nav-collapsed .app-main{width:min(100%,760px);margin:0 auto}.week-board-header,.week-board-row,.month-board-weekdays,.month-board-grid{min-width:920px}.weather-ribbon{grid-template-columns:1fr}.weather-days{grid-template-columns:repeat(7,minmax(112px,1fr));min-width:920px;overflow-x:auto;padding-bottom:2px}.day-column,.day-column:nth-child(2n){border-right:0}}@media(max-width:620px){.schedule-card{border-radius:7px}.schedule-add-button{width:36px;min-height:34px;padding:0}.schedule-add-button span{display:none}.schedule-header{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:8px;padding:10px 12px}.schedule-header>div:first-child{min-width:0}.schedule-header h2{font-size:1.12rem;line-height:1.08;white-space:normal}.schedule-header-actions{flex-wrap:nowrap;justify-content:space-between;gap:6px}.view-switch{flex:1 1 auto;grid-template-columns:repeat(3,minmax(44px,1fr))}.view-switch button{min-height:32px;padding:0 7px;font-size:.78rem}.schedule-filter-bar{flex-wrap:nowrap;gap:7px;padding:8px 12px 9px}.family-filter-strip{flex:1 1 auto;gap:8px;padding-bottom:2px;scrollbar-width:thin}.family-filter-strip .person-chip{min-height:34px;padding:3px 9px 3px 5px;font-size:.8rem}.calendar-filter-trigger{min-height:34px;gap:6px;padding:0 8px}.calendar-filter-trigger span{display:none}.calendar-filter-trigger strong{min-width:32px;min-height:22px}.weather-ribbon{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;overflow:hidden;margin:0 12px 10px;padding:7px 8px;border-top-width:1px}.weather-days{min-width:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;overflow:hidden;padding:0}.weather-ribbon-single{width:auto;max-width:none}.weather-day{min-height:42px;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"label temp" "icon temp";justify-items:start;place-items:center start;gap:1px 4px;padding:5px 6px;border-radius:6px;text-align:left}.weather-day:nth-child(n+4){display:none}.weather-day+.weather-day{border-left:0}.weather-day>span{font-size:.63rem}.weather-day svg{width:15px;height:15px}.weather-day strong{justify-self:end;font-size:.82rem}.weather-day small{display:none}.weather-ribbon-title{max-width:86px;gap:4px;font-size:.74rem}.weather-ribbon-title span{overflow:hidden;text-overflow:ellipsis}.weather-ribbon-title-full{display:none}.weather-ribbon-title-short{display:inline}.day-context-bar{grid-template-columns:minmax(0,1fr);gap:8px;margin:0 12px 10px}.day-summary-rail{overflow-x:auto;padding:6px}.day-summary-rail>span{min-width:68px;padding:7px 8px}.day-summary-rail strong{font-size:.92rem}.day-context-bar .weather-ribbon{grid-template-columns:auto minmax(0,1fr);gap:8px;margin:0;padding:7px 8px}.day-context-bar .weather-days{grid-template-columns:repeat(1,minmax(0,1fr));min-width:0}.day-context-bar .weather-day{min-height:42px;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"label temp" "icon temp";gap:1px 4px;padding:5px 6px}.day-context-bar .weather-day>span{display:block;font-size:.63rem}.day-context-bar .weather-day svg{width:15px;height:15px}.day-context-bar .weather-day strong{justify-self:end;font-size:.82rem}.day-context-bar .weather-day small{display:none}.calendar-filter-menu.open{z-index:28}.calendar-filter-backdrop{position:fixed;inset:0;z-index:0;display:block;border:0;border-radius:0;background:#0f172a3d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:default}.calendar-filter-panel{position:fixed;inset:auto 12px 12px;z-index:1;width:auto;max-height:min(68vh,520px);border-radius:var(--radius);box-shadow:0 -18px 48px #0f172a2e}.living-day-view{gap:10px;margin:0 12px 10px;padding:12px}.living-day-stage{min-height:0;padding:48px 10px 14px 28px}.living-day-sky{inset:10px 12px auto;font-size:.62rem}.living-day-path{inset:52px auto 30px 34px;width:6px;height:auto;background:linear-gradient(180deg,#d99d62,#4e987d 52%,#7a76a8)}.living-day-time-axis,.living-day-sun,.living-day-moon{display:none}.living-day-day-house{left:4px;bottom:18px;display:block;opacity:.78;transform:scale(.56);transform-origin:left bottom}.living-day-night-house{right:-4px;bottom:20px;display:block;opacity:.74;transform:scale(.56);transform-origin:right bottom}.living-day-now{display:none}.living-day-stops{position:relative;inset:auto;width:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.living-day-stop,.living-day-stop:nth-child(2n){position:relative;left:auto;top:auto;height:auto;width:100%;display:grid;grid-template-columns:42px minmax(0,1fr);justify-items:start;align-items:center;gap:8px;padding:0;transform:none}.living-day-stop-pin{position:relative;left:auto;top:auto;z-index:1;transform:none}.living-day-stop-card{position:relative;left:auto;top:auto;width:100%;max-width:none;padding:7px 9px;transform:none}.living-day-stop:nth-child(2n) .living-day-stop-pin,.living-day-stop:nth-child(2n) .living-day-stop-card{top:auto}.living-day-stop-time{font-size:.64rem}.living-day-stop-card strong{font-size:.84rem}.conflict-banner{margin:0 12px 10px;padding:10px}.conflict-banner-title{align-items:flex-start}.week-board,.month-board{display:none}.mobile-week-list{display:grid;gap:8px;padding:0 12px 14px}.mobile-month-list{gap:10px}.mobile-month-week{min-width:0;display:grid;gap:8px}.mobile-month-week-heading{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 2px 0;color:var(--muted)}.mobile-month-week-heading strong{min-width:0;overflow:hidden;color:var(--ink);font-size:.9rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.mobile-month-week-heading span{flex:0 0 auto;font-size:.72rem;font-weight:820}.mobile-week-day{min-width:0;display:grid;gap:6px;padding:8px;border:1px solid var(--line);border-radius:var(--radius);background:#fffdf8c7}.mobile-week-day-header{min-width:0;min-height:32px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:0;border:0;background:transparent;color:var(--ink);text-align:left}.mobile-week-day-header span{min-height:24px;display:inline-flex;align-items:center;padding:0 8px;border-radius:999px;background:var(--accent-soft);color:#2f6a51;font-size:.72rem;font-weight:850}.mobile-week-day-header strong{min-width:0;overflow:hidden;color:#2d5a4a;font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.mobile-week-day-header small{color:var(--muted);font-size:.72rem;font-weight:780;white-space:nowrap}.mobile-week-events{display:grid;gap:6px}.mobile-week-open-days{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px dashed var(--line-strong);border-radius:var(--radius);background:#fffdf894;color:var(--muted);font-size:.8rem;font-weight:700}.mobile-week-open-days strong{min-width:0;overflow:hidden;color:var(--ink);text-overflow:ellipsis;white-space:nowrap}.mobile-week-events .event-card,.event-list .event-card.compact-card{grid-template-columns:minmax(0,1fr);padding:8px 10px;gap:5px}.mobile-week-events .event-card.past-event,.event-list .event-card.compact-card.past-event{color:color-mix(in srgb,var(--muted),#ffffff 16%);background:#f3f1ec;opacity:.56;filter:saturate(.72)}.mobile-week-events .event-card.past-event:hover,.event-list .event-card.compact-card.past-event:hover{background:#efede8;opacity:.72;filter:saturate(.82)}.mobile-week-events .event-card.past-event strong,.event-list .event-card.compact-card.past-event strong{color:color-mix(in srgb,var(--muted),var(--ink) 18%)}.mobile-week-events .event-card.past-event .person-dot,.event-list .event-card.compact-card.past-event .person-dot{opacity:.55}.mobile-week-events .event-card.with-art,.event-list .event-card.compact-card.with-art{grid-template-columns:minmax(0,1fr)}.mobile-week-events .event-card.with-art .event-card-art,.event-list .event-card.compact-card.with-art .event-card-art{display:none}.mobile-week-events .event-card.with-art .event-card-header,.mobile-week-events .event-card.with-art .event-card-title-line,.mobile-week-events .event-card.with-art>span:not(.event-card-title-line),.mobile-week-events .event-card.with-art .event-meta-row,.event-list .event-card.compact-card.with-art .event-card-header,.event-list .event-card.compact-card.with-art .event-card-title-line,.event-list .event-card.compact-card.with-art>span:not(.event-card-title-line),.event-list .event-card.compact-card.with-art .event-meta-row{grid-column:auto}.mobile-week-events .event-card-header,.event-list .event-card.compact-card .event-card-header{font-size:.72rem}.mobile-week-events .event-card-title-line,.event-list .event-card.compact-card .event-card-title-line{align-items:center;flex-wrap:wrap;gap:5px}.mobile-week-events .event-card-title-line strong,.event-list .event-card.compact-card .event-card-title-line strong{flex:1 1 120px;font-size:.95rem}.mobile-week-events .event-card-badges,.event-list .event-card.compact-card .event-card-badges{display:inline-flex;gap:4px}.mobile-week-events .source-pill,.event-list .event-card.compact-card .source-pill{max-width:116px;font-size:.7rem}.mobile-week-events .event-meta-row,.event-list .event-card.compact-card .event-meta-row{flex-wrap:nowrap;gap:5px;overflow:hidden}.mobile-week-events .location-label,.event-list .event-card.compact-card .location-label{flex:1 1 auto;overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.mobile-week-events .location-label svg,.event-list .event-card.compact-card .location-label svg{display:none}.mobile-week-events .person-dot,.event-list .event-card.compact-card .person-dot{width:12px;height:12px;border-width:1px}.week-event-row{grid-template-columns:70px minmax(0,1fr)}.week-event-people{display:flex;grid-column:2;justify-content:flex-start}.side-panel{grid-template-columns:1fr}}:root{--bg: #f3efe8;--bg-soft: #faf7f0;--panel: #fffdfa;--panel-soft: #f8f2e8;--ink: #24362f;--muted: #76756c;--line: #eadfce;--line-strong: #d8c8b4;--accent: #3f765c;--accent-soft: #eaf2e7;--accent-ink: #fffdf8;--peach: #ee9b70;--peach-soft: #fff0e7;--sky: #7ea9c8;--sky-soft: #eef7fb;--gold: #e4b65f;--gold-soft: #fff6dd;--shadow: 0 18px 46px rgba(77, 62, 43, .1);--shadow-tight: 0 10px 24px rgba(77, 62, 43, .1);--radius: 8px}body{background:linear-gradient(180deg,#fffdf8 0,#faf7f0 44%,var(--bg) 100%)}.auth-screen.signin-only{background:linear-gradient(180deg,#fffdf8,#f5efe5)}.welcome-phone{width:min(375px,calc(100vw - 36px));min-height:690px;display:grid;align-content:start;justify-items:center;gap:12px;padding:18px 22px 20px;border:1px solid rgba(224,211,191,.86);border-radius:28px;background:linear-gradient(180deg,#fffdf8f5,#fff9eef0),var(--panel);box-shadow:0 26px 70px #4d3e2b29,inset 0 1px #ffffffe6}.phone-status{width:100%;display:flex;justify-content:space-between;color:var(--ink);font-size:.78rem;font-weight:850}.welcome-brand-mark{width:48px;height:48px;display:grid;place-items:center;margin-top:24px;color:var(--peach);font-size:2.1rem;line-height:1}.welcome-phone h1{margin:0;color:#2d5a4a;font-family:var(--font-ui);font-size:clamp(3rem,14vw,4.8rem);font-weight:900;line-height:.95;text-align:center}.welcome-phone>p{margin:0;color:#44554e;font-size:1rem;font-weight:760}.family-house-art{position:relative;width:min(290px,82vw);height:210px;margin:12px 0 0;overflow:hidden;border-radius:0 0 46% 46%}.family-house-art:before{content:"";position:absolute;left:-18px;right:-18px;bottom:-38px;height:112px;border-radius:50% 50% 0 0;background:#fff9ef}.art-sun{position:absolute;top:8px;right:44px;width:22px;height:22px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 9px #e4b65f29}.art-house{position:absolute;left:82px;bottom:56px;width:120px;height:92px;border-radius:12px 12px 8px 8px;background:linear-gradient(135deg,transparent 0 28px,rgba(255,255,255,.42) 29px 48px,transparent 49px),#d9e5d5;box-shadow:inset 0 0 0 1px #3f765c29}.art-house:before{content:"";position:absolute;left:-10px;top:-33px;width:92px;height:92px;border-top:8px solid var(--peach);border-left:8px solid var(--peach);border-radius:4px;transform:rotate(45deg)}.art-house:after{content:"♥";position:absolute;left:47px;top:18px;color:var(--accent);font-size:2rem}.art-tree{position:absolute;bottom:52px;width:44px;height:106px;border-radius:999px 999px 10px 10px;background:#a8bea7}.art-tree:after{content:"";position:absolute;left:20px;bottom:0;width:4px;height:76px;border-radius:999px;background:#557564}.art-tree.left{left:22px}.art-tree.right{right:28px;background:#f2c9ad}.art-family{position:absolute;bottom:44px;width:28px;border-radius:999px 999px 10px 10px;box-shadow:0 -19px 0 -3px currentColor}.art-family.one{left:104px;height:46px;color:#466b5d;background:#466b5d}.art-family.two{left:132px;height:58px;color:#e3a75b;background:#e3a75b}.art-family.three{left:160px;height:46px;color:#8c9f74;background:#8c9f74}.art-family.four{left:184px;height:38px;color:#edb37f;background:#edb37f}.welcome-copy{display:grid;gap:7px;margin-top:6px;text-align:center}.welcome-copy strong{color:var(--ink);font-size:1.1rem;line-height:1.18}.welcome-copy span{max-width:278px;color:var(--muted);font-size:.86rem;font-weight:650;line-height:1.45}.welcome-phone .auth-signin-button{width:100%;min-height:48px;margin-top:8px;justify-content:center;padding:0 18px;border:0;border-radius:999px;background:linear-gradient(180deg,#4f8a6d,var(--accent));color:#fff;box-shadow:0 16px 28px #3f765c38;font-size:.95rem;font-weight:850}.auth-login-link{min-height:36px;border:0;background:transparent;color:var(--accent);font-weight:820}.welcome-dots{display:inline-flex;gap:7px;margin-top:4px}.welcome-dots span{width:7px;height:7px;border-radius:999px;background:#d8cdbc}.welcome-dots span:first-child{background:var(--accent)}.dashboard-home{display:grid;gap:14px}.schedule-board-section{margin-top:4px}.schedule-card,.settings-hero,.settings-form,.settings-section,.source-form,.main-panel,.side-panel{border-radius:var(--radius)}.top-nav{border-radius:0;box-shadow:none}.brand-mark{background:transparent;color:var(--peach);box-shadow:none}.brand-mark svg{fill:currentColor}.brand-copy strong,.schedule-header h2,.settings-hero h1{color:#2d5a4a;font-family:var(--font-ui);font-weight:900}.primary-button{background:linear-gradient(180deg,#4d876b 0%,var(--accent) 100%);border-color:#386a51;color:#fff;box-shadow:0 12px 24px #3f765c33}.view-tabs button.active{background:var(--accent-soft);color:#2f6a51;box-shadow:none}.weather-ribbon{border-color:#7ea9c857;border-top-color:var(--sky);background:linear-gradient(180deg,#eef7fbf0,#fffdf8e0)}@media(max-width:900px){.top-nav{border-radius:18px}.top-nav .nav-actions{display:none}}@media(max-width:620px){.welcome-phone{min-height:min(690px,calc(100vh - 28px));padding:16px 18px}}.event-card-art,.day-event-art,.drawer-event-art{display:block;object-fit:cover;border:1px solid rgba(234,223,206,.86);background:var(--panel-soft)}.event-card.with-art{grid-template-columns:72px minmax(0,1fr)}.event-card-art{display:none}.event-card.with-art .event-card-art{grid-row:1 / span 4;display:block;width:72px;height:72px;border-radius:var(--radius)}.event-card.with-art .event-card-header,.event-card.with-art .event-card-title-line,.event-card.with-art>span:not(.event-card-title-line),.event-card.with-art .event-meta-row{grid-column:2}.day-event-art{display:none}.day-event-detail.with-art{grid-template-columns:96px minmax(0,1fr) auto}.day-event-detail.with-art .day-event-art{display:block;width:96px;height:96px;border-radius:var(--radius);box-shadow:0 10px 22px #4d3e2b1a}.drawer-header.with-art{display:grid;grid-template-columns:auto minmax(0,1fr) auto}.drawer-event-art{width:96px;height:96px;border-radius:var(--radius);box-shadow:0 12px 26px #4d3e2b1a}.event-visual-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-soft)}.event-visual-row span{min-width:0;display:grid;gap:3px}.event-visual-row strong,.event-visual-row small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-visual-row small{color:var(--muted);font-size:.8rem;font-weight:700}@media(max-width:620px){.day-event-detail.with-art{grid-template-columns:72px minmax(0,1fr)}.day-event-detail.with-art .day-event-art{width:72px;height:72px}.day-event-detail.with-art .compact-action{grid-column:1 / -1}.drawer-header.with-art{grid-template-columns:minmax(0,1fr) auto}.drawer-event-art{grid-column:1 / -1;width:100%;height:auto;aspect-ratio:16 / 9}.event-visual-row{grid-template-columns:1fr}}.top-nav{position:sticky;inset:0 auto auto;z-index:20;width:min(1540px,calc(100% - 32px));display:grid;grid-template-columns:minmax(190px,1fr) auto;grid-template-rows:auto;align-items:center;gap:16px;margin:0 auto;padding:12px 0;border:0;border-bottom:1px solid rgba(226,232,240,.78);border-radius:0;background:#fffdf8eb;box-shadow:none;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.app-main,.nav-collapsed .app-main{width:min(1540px,calc(100% - 32px));margin:0 auto;padding:18px 0 48px}.brand-lockup{grid-template-columns:auto minmax(0,1fr)}.home-brand-button{width:fit-content;border:0;background:transparent;color:inherit;text-align:left}.home-brand-button:hover .brand-copy strong,.home-brand-button:focus-visible .brand-copy strong{color:var(--accent)}.home-brand-button:focus-visible{outline:3px solid color-mix(in srgb,var(--accent),transparent 70%);outline-offset:4px}.view-tabs{display:flex;justify-content:center;gap:2px;padding:3px;border:1px solid var(--line);background:var(--panel)}.view-tabs button{min-height:38px;display:inline-flex;grid-template-columns:unset;align-items:center;justify-content:center;gap:8px;padding:0 14px;text-align:center}.nav-actions{align-self:center;position:static;right:auto;bottom:auto;z-index:auto;display:flex;justify-content:flex-end;align-items:center;gap:8px}.nav-actions .account-menu{grid-column:auto}.top-nav .nav-actions>.icon-button,.top-nav .nav-actions>.secondary-button,.top-nav .nav-actions>.primary-button,.top-nav .nav-actions>.account-menu{flex:0 0 auto}.top-nav .schedule-sync-control{flex:0 1 auto}.top-nav .schedule-sync-button{width:40px;justify-content:center}.top-nav .primary-button.compact{flex:0 0 auto}.nav-icon-action.active{border-color:#b8d7c4;background:var(--accent-soft);color:#2f6a51}.top-nav .account-popover,.top-nav.collapsed .account-popover{top:calc(100% + 8px);right:0;bottom:auto;left:auto;width:min(300px,calc(100vw - 24px));max-width:calc(100vw - 24px)}@media(min-width:641px)and (max-width:980px){.top-nav .account-popover,.top-nav.collapsed .account-popover{right:auto;left:0}}@media(max-width:980px){.top-nav{grid-template-columns:1fr;align-items:stretch;gap:10px}.brand-lockup{display:grid;justify-self:start}.view-tabs{justify-content:flex-start;overflow-x:auto}.view-tabs button{flex:0 0 auto}.top-nav .nav-actions{position:static;right:auto;bottom:auto;z-index:auto;display:flex;justify-content:flex-start;flex-wrap:wrap}}@media(max-width:640px){.app-main,.top-nav,.error-banner{width:min(100% - 20px,1540px)}.app-main,.nav-collapsed .app-main{padding-top:10px}.top-nav{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 0;background:#fffdf8fa;-webkit-backdrop-filter:none;backdrop-filter:none}.top-nav .brand-lockup{min-width:0;gap:8px}.top-nav .brand-mark{width:36px;height:36px}.top-nav .brand-copy strong{font-size:1rem}.top-nav .nav-actions{position:static;right:auto;bottom:auto;z-index:auto;display:grid;grid-template-columns:repeat(4,38px);justify-content:end;align-items:center;gap:6px}.top-nav .nav-actions>.icon-button,.top-nav .nav-actions>.secondary-button,.top-nav .nav-actions>.primary-button{display:inline-flex}.top-nav .schedule-sync-control{width:38px;min-width:38px}.top-nav .schedule-sync-status{position:absolute;top:calc(100% + 8px);right:0;z-index:35;max-width:min(300px,calc(100vw - 20px))}.schedule-sync-button,.nav-actions>.primary-button.compact{width:38px;min-width:38px;min-height:38px;padding:0}.nav-actions>.primary-button span,.account-summary span{display:none}.account-summary{width:38px;min-height:38px;padding:5px}.top-nav .account-popover,.top-nav.collapsed .account-popover{position:fixed;inset:auto 10px 10px;z-index:70;width:auto;max-height:min(72vh,460px);overflow-y:auto;border-radius:var(--radius);box-shadow:0 -18px 48px #4d3e2b33}}:root{--ambient-bg: linear-gradient(180deg, #fffdf8 0, #faf7f0 44%, var(--bg) 100%);--ambient-texture: linear-gradient(135deg, rgba(126, 169, 200, .08), transparent 38%), linear-gradient(225deg, rgba(238, 155, 112, .08), transparent 42%);--ambient-nav-bg: rgba(255, 253, 248, .92);--ambient-mobile-nav-bg: rgba(255, 253, 248, .98);--ambient-ribbon-bg: linear-gradient(180deg, rgba(238, 247, 251, .94), rgba(255, 253, 248, .88));--ambient-ribbon-border: rgba(126, 169, 200, .34);--ambient-ribbon-accent: var(--sky)}.app-shell{position:relative;min-height:100vh;background:var(--ambient-bg);transition:background .26s ease}.app-shell:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:var(--ambient-texture),url(/assets/backgrounds/ambient-wash.jpg) center / cover no-repeat;opacity:.82}.app-main,.event-drawer,.modal-backdrop,.manual-event-modal{position:relative;z-index:1}.top-nav{background:var(--ambient-nav-bg);z-index:80}.day-detail-backdrop,.drawer-backdrop{z-index:120}.weather-ribbon{border-color:var(--ambient-ribbon-border);border-top-color:var(--ambient-ribbon-accent);background:var(--ambient-ribbon-bg)}.app-shell[data-ambient-theme=weather-clear]{--ambient-bg: linear-gradient(120deg, rgba(255, 240, 196, .58), transparent 42%), linear-gradient(235deg, rgba(177, 220, 235, .5), transparent 56%), linear-gradient(180deg, #fffdf8 0, #f6f2e8 50%, #edf5ef 100%);--ambient-texture: linear-gradient(100deg, rgba(228, 182, 95, .1), transparent 34%), linear-gradient(260deg, rgba(126, 169, 200, .12), transparent 48%);--ambient-ribbon-bg: linear-gradient(180deg, rgba(255, 248, 224, .95), rgba(255, 253, 248, .88));--ambient-ribbon-border: rgba(223, 174, 88, .36);--ambient-ribbon-accent: #e4b65f}.app-shell[data-ambient-theme=weather-warm]{--ambient-bg: linear-gradient(115deg, rgba(255, 228, 193, .62), transparent 42%), linear-gradient(245deg, rgba(169, 216, 213, .46), transparent 56%), linear-gradient(180deg, #fffaf2 0, #f6eee2 52%, #edf4ed 100%);--ambient-texture: linear-gradient(105deg, rgba(238, 155, 112, .11), transparent 36%), linear-gradient(252deg, rgba(76, 132, 104, .1), transparent 52%);--ambient-ribbon-bg: linear-gradient(180deg, rgba(255, 241, 222, .95), rgba(255, 252, 246, .88));--ambient-ribbon-border: rgba(238, 155, 112, .38);--ambient-ribbon-accent: #ee9b70}.app-shell[data-ambient-theme=weather-cloud]{--ambient-bg: linear-gradient(125deg, rgba(222, 231, 232, .7), transparent 44%), linear-gradient(245deg, rgba(210, 226, 218, .58), transparent 58%), linear-gradient(180deg, #fbfbf7 0, #f0f0ea 50%, #e9f0ed 100%);--ambient-texture: linear-gradient(110deg, rgba(126, 137, 147, .08), transparent 40%), linear-gradient(250deg, rgba(76, 132, 104, .08), transparent 50%);--ambient-ribbon-bg: linear-gradient(180deg, rgba(240, 245, 244, .96), rgba(255, 253, 248, .88));--ambient-ribbon-border: rgba(126, 137, 147, .28);--ambient-ribbon-accent: #8fa3aa}.app-shell[data-ambient-theme=weather-rain],.app-shell[data-ambient-theme=weather-storm]{--ambient-bg: linear-gradient(128deg, rgba(196, 218, 226, .72), transparent 46%), linear-gradient(238deg, rgba(214, 231, 229, .5), transparent 58%), linear-gradient(180deg, #f9fbfa 0, #edf2ef 50%, #e5eeef 100%);--ambient-texture: repeating-linear-gradient(106deg, rgba(77, 123, 146, .08) 0 1px, transparent 1px 24px), linear-gradient(250deg, rgba(76, 132, 104, .08), transparent 52%);--ambient-ribbon-bg: linear-gradient(180deg, rgba(231, 244, 249, .96), rgba(250, 253, 252, .88));--ambient-ribbon-border: rgba(77, 123, 146, .34);--ambient-ribbon-accent: #4d7b92}.app-shell[data-ambient-theme=weather-fog],.app-shell[data-ambient-theme=weather-cold]{--ambient-bg: linear-gradient(120deg, rgba(231, 237, 240, .78), transparent 48%), linear-gradient(240deg, rgba(221, 232, 229, .58), transparent 60%), linear-gradient(180deg, #fcfbf7 0, #f0f3f0 50%, #e9f1f3 100%);--ambient-texture: linear-gradient(100deg, rgba(126, 169, 200, .1), transparent 42%), linear-gradient(250deg, rgba(190, 204, 203, .12), transparent 52%);--ambient-ribbon-bg: linear-gradient(180deg, rgba(239, 246, 248, .96), rgba(255, 253, 248, .88));--ambient-ribbon-border: rgba(126, 169, 200, .3);--ambient-ribbon-accent: #7ea9c8}.app-shell[data-ambient-theme=season-spring]{--ambient-bg: linear-gradient(118deg, rgba(213, 235, 202, .5), transparent 44%), linear-gradient(238deg, rgba(255, 226, 210, .48), transparent 56%), linear-gradient(180deg, #fffdf8 0, #f3f1e6 52%, #edf5ec 100%);--ambient-texture: linear-gradient(110deg, rgba(76, 132, 104, .09), transparent 42%), linear-gradient(250deg, rgba(238, 155, 112, .09), transparent 54%)}.app-shell[data-ambient-theme=season-summer]{--ambient-bg: linear-gradient(115deg, rgba(255, 232, 174, .5), transparent 42%), linear-gradient(238deg, rgba(178, 222, 226, .5), transparent 56%), linear-gradient(180deg, #fffaf0 0, #f5f0e0 52%, #eaf3ef 100%);--ambient-texture: linear-gradient(110deg, rgba(228, 182, 95, .11), transparent 42%), linear-gradient(250deg, rgba(126, 169, 200, .1), transparent 54%)}.app-shell[data-ambient-theme=season-fall]{--ambient-bg: linear-gradient(115deg, rgba(235, 187, 130, .46), transparent 42%), linear-gradient(238deg, rgba(198, 221, 188, .44), transparent 56%), linear-gradient(180deg, #fffaf2 0, #f2ecdf 52%, #edf2e8 100%);--ambient-texture: linear-gradient(110deg, rgba(188, 121, 75, .1), transparent 42%), linear-gradient(250deg, rgba(76, 132, 104, .09), transparent 54%)}.app-shell[data-ambient-theme=season-winter],.app-shell[data-ambient-theme=calm]{--ambient-bg: linear-gradient(118deg, rgba(226, 235, 240, .58), transparent 46%), linear-gradient(238deg, rgba(235, 229, 217, .48), transparent 58%), linear-gradient(180deg, #fffdf8 0, #f3f1eb 52%, #edf2f1 100%);--ambient-texture: linear-gradient(110deg, rgba(126, 169, 200, .08), transparent 42%), linear-gradient(250deg, rgba(76, 132, 104, .07), transparent 54%)}.ambient-theme-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ambient-theme-options button{display:grid;gap:6px;align-content:start;min-height:112px;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--ink);text-align:left}.ambient-theme-options button:hover,.ambient-theme-options button.active{border-color:#b8d7c4;background:var(--accent-soft)}.ambient-theme-options strong{font-size:.94rem;font-weight:850}.ambient-theme-options small{color:var(--muted);font-size:.78rem;font-weight:720}.ambient-theme-swatch{width:100%;height:38px;border-radius:calc(var(--radius) - 2px);border:1px solid rgba(77,62,43,.1);background:linear-gradient(120deg,#fff6dd,#eef7fb 52%,#e7f1e9)}.ambient-theme-swatch.weather{background:linear-gradient(120deg,#fff6dd,#eef7fb 50%,#e6f0f5)}.ambient-theme-swatch.season{background:linear-gradient(120deg,#e7f1e9,#fff0e7 52%,#fff6dd)}.ambient-theme-swatch.calm{background:linear-gradient(120deg,#fffdf8,#f4f1eb 52%,#eef7fb)}@media(max-width:900px){.ambient-theme-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.top-nav{background:var(--ambient-mobile-nav-bg)}.ambient-theme-options{grid-template-columns:1fr}}.ai-assistant-page{width:min(100%,980px);margin:0 auto;padding:22px}.ai-assistant-shell{display:grid;gap:0;overflow:hidden;border:1px solid rgba(15,23,42,.1);border-radius:8px;background:#fff;color:#101828;box-shadow:0 18px 45px #0f172a14}.ai-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:28px 30px 18px}.ai-hero-title{display:flex;gap:16px;min-width:0}.ai-hero-title>svg{flex:0 0 auto;width:32px;height:32px;color:#155eef}.ai-hero h2{margin:0 0 10px;font-size:clamp(2rem,4vw,2.65rem);line-height:1.04;letter-spacing:0;color:#101828}.ai-hero p{max-width:680px;margin:0 0 12px;color:#344054;font-size:1.05rem;line-height:1.55;font-weight:650}.ai-hero span{color:#667085;font-size:.92rem;font-weight:720}.ai-refresh-button{flex:0 0 auto;gap:8px;min-height:42px;border-radius:8px;color:#155eef;font-weight:820}.ai-refresh-button svg{width:18px;height:18px}.ai-tab-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid #eaecf0}.ai-tab-strip button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:58px;border:0;border-bottom:3px solid transparent;background:#fff;color:#667085;font:inherit;font-size:.98rem;font-weight:850;cursor:pointer}.ai-tab-strip button.active{border-color:#155eef;color:#155eef}.ai-tab-strip strong{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:#f2f4f7;color:#344054;font-size:.78rem;font-weight:900}.ai-tab-panel{min-height:420px}.ai-section-stack{display:grid}.ai-section{display:grid;gap:14px;padding:22px 30px;border-bottom:1px solid #eaecf0}.ai-section:last-child{border-bottom:0}.ai-section-heading{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}.ai-section-heading>span{display:inline-grid;place-items:center;width:28px;height:28px;color:#155eef}.ai-section-heading svg{width:24px;height:24px}.ai-section-heading h3{margin:0;color:#101828;font-size:1.2rem;line-height:1.2;letter-spacing:0}.ai-section-heading>strong{color:#155eef;font-size:.95rem;font-weight:850}.ai-timeline-list,.ai-section-stack{min-width:0}.ai-timeline-list{display:grid;gap:0}.ai-timeline-list button,.ai-coverage-row,.ai-review-main{width:100%;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.ai-timeline-list button{display:grid;grid-template-columns:88px 1fr;gap:14px;min-height:38px;align-items:center}.ai-timeline-list span,.ai-alert-row span,.ai-review-time span,.ai-review-time strong{color:#667085;font-size:.9rem;font-weight:760}.ai-timeline-list strong,.ai-alert-row strong,.ai-coverage-row strong,.ai-review-main strong{color:#1d2939;font-size:1rem;line-height:1.35}.ai-alert-row{display:grid;grid-template-columns:128px 1fr;gap:14px;align-items:center;min-height:38px;color:#d92d20}.ai-alert-row span{color:#d92d20}.ai-check-row{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:center;min-height:34px;color:#344054;font-weight:720}.ai-check-row input{width:18px;height:18px;margin:0}.ai-coverage-row{display:grid;grid-template-columns:110px 1fr auto;gap:14px;align-items:center;min-height:42px}.ai-coverage-row span,.ai-coverage-row small{color:#667085;font-weight:730}.ai-artwork-row{display:flex;align-items:center;justify-content:space-between;gap:14px;color:#344054;font-weight:720}.ai-review-row{display:grid;grid-template-columns:130px 1fr auto;gap:16px;align-items:center;padding:13px 0;border-top:1px solid #eaecf0}.ai-review-row:first-of-type{border-top:0}.ai-review-time{display:grid;grid-template-columns:28px 1fr;gap:4px 10px;align-items:center}.ai-review-time svg{grid-row:span 2;width:22px;height:22px;color:#667085}.ai-review-main{display:grid;gap:3px}.ai-review-main span,.ai-review-main small{color:#667085;font-size:.92rem;font-weight:690}.ai-review-actions{display:flex;gap:10px}.ai-review-actions button{display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;color:#155eef;cursor:pointer}.ai-review-actions button:first-child{color:#159947}.ai-review-actions button:last-child{color:#667085}.ai-review-actions svg{width:20px;height:20px}.ai-answer{white-space:pre-wrap;margin:0;padding:14px 16px;border:1px solid #eaecf0;border-radius:8px;background:#f9fafb;color:#1d2939;font:inherit;line-height:1.5}.ai-example-grid{display:flex;flex-wrap:wrap;gap:10px}.ai-example-grid button,.ai-person-picker button{min-height:38px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;color:#344054;font:inherit;font-size:.9rem;font-weight:780;cursor:pointer}.ai-example-grid button{padding:0 12px}.ai-draft-form{display:grid;gap:13px}.ai-draft-form label{display:grid;gap:6px;color:#344054;font-size:.88rem;font-weight:820}.ai-draft-form input{min-height:44px;width:100%;border:1px solid #d0d5dd;border-radius:8px;padding:0 12px;color:#101828;font:inherit;font-size:.96rem;background:#fff}.ai-person-picker{display:flex;flex-wrap:wrap;gap:9px}.ai-person-picker button{padding:0 12px}.ai-person-picker button.selected{border-color:#155eef;background:#eff4ff;color:#155eef}.ai-missing-line,.ai-empty-line{margin:0;color:#667085;line-height:1.5;font-weight:690}.ai-save-draft{justify-self:start}.ai-status{padding:12px 30px;border-top:1px solid #eaecf0;background:#f9fafb;color:#344054;font-size:.92rem;font-weight:760}.ai-composer{display:grid;grid-template-columns:1fr 58px;gap:12px;padding:18px 30px 22px;border-top:1px solid #eaecf0;background:#fff}.ai-composer input{min-width:0;min-height:56px;border:1px solid #98a2b3;border-radius:8px;padding:0 18px;color:#101828;font:inherit;font-size:1rem;font-weight:680;background:#fff}.ai-composer button{display:inline-grid;place-items:center;width:58px;height:56px;border:0;border-radius:8px;background:#155eef;color:#fff;cursor:pointer}.ai-composer svg{width:24px;height:24px}@media(max-width:700px){.ai-assistant-page{padding:0}.ai-assistant-shell{min-height:calc(100vh - 70px);border-width:0;border-radius:0;box-shadow:none}.ai-hero{padding:26px 24px 16px}.ai-hero h2{font-size:2rem}.ai-hero p{font-size:1rem}.ai-refresh-button{min-width:44px;padding:0 10px;font-size:.9rem}.ai-refresh-button svg{margin:0}.ai-tab-strip button{min-height:54px}.ai-section{padding:20px 24px}.ai-alert-row,.ai-timeline-list button,.ai-coverage-row,.ai-review-row{grid-template-columns:1fr;gap:6px}.ai-coverage-row small{display:block}.ai-review-row{align-items:start}.ai-review-time{grid-template-columns:24px auto auto;justify-content:start}.ai-review-time svg{grid-row:auto}.ai-review-actions{width:100%;justify-content:end}.ai-review-actions button{width:46px;height:44px}.ai-composer{position:sticky;bottom:0;z-index:5;grid-template-columns:1fr 56px;padding:14px 24px calc(14px + env(safe-area-inset-bottom));box-shadow:0 -10px 24px #0f172a14}}
