@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)}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}.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}.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)}.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}.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}.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) 42px;gap:12px;align-items:center}.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}.preset-source-list{display:grid;gap:8px;padding:14px}.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}.calendar-refresh-button{width:38px;min-height:38px;color:var(--muted);justify-content:center}.calendar-refresh-button .spinning{animation:spin .9s linear infinite}.connected-account-list{display:grid;gap:12px}.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;overflow: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}.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}.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:18px}.settings-hero,.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:16px;align-items:flex-start;padding:22px}.settings-hero h1{font-size:clamp(2rem,5vw,4rem);line-height:.98}.settings-status{flex:0 0 auto;padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:var(--panel-soft);color:var(--muted);font-weight:760}.settings-layout{max-width:860px}.settings-form{display:grid;gap:14px;padding:16px}.settings-section{display:grid;gap:14px;padding:16px;background:var(--bg-soft);box-shadow:none}.settings-section-heading{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center}.settings-section-heading>svg{width:38px;height:38px;padding:9px;border-radius:10px;background:var(--accent-soft);color:var(--accent)}.settings-section-heading h2{font-size:1.2rem}.settings-section-heading span{color:var(--muted);font-size:.88rem}.settings-form label{display:grid;gap:7px;color:var(--muted);font-size:.82rem;font-weight:800}.settings-form input,.settings-form select,.settings-form textarea{width:100%;min-height:42px;padding:9px 11px;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:12px;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}.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-source-list{display:grid;gap:8px}.settings-source-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;min-height:58px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.settings-source-row>div{display:grid;gap:3px;min-width:0}.settings-source-row strong,.settings-source-row span{min-width:0;overflow-wrap:anywhere}.settings-source-row strong{color:var(--ink);font-weight:820}.settings-source-row span{color:var(--muted);font-size:.82rem;font-weight:720}.settings-saved{display:inline-flex;align-items:center;gap:6px;color:#2f6a51;font-weight:800}.settings-saved svg{width:16px;height:16px}.settings-save-button{width:fit-content}.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(2,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}.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}.mobile-week-list{display:none}.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}@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{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) auto;align-items:center;gap:8px;padding:10px 12px}.schedule-header>div:first-child{min-width:0}.schedule-header h2{overflow:hidden;font-size:1.12rem;line-height:1.08;text-overflow:ellipsis;white-space:nowrap}.schedule-header-actions{flex-wrap:nowrap;justify-content:flex-start;gap:6px}.view-switch{grid-template-columns:repeat(2,minmax(46px,1fr))}.view-switch button{min-height:32px;padding:0 8px;font-size:.82rem}.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}.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}.week-board{display:none}.mobile-week-list{display:grid;gap:8px;padding:0 12px 14px}.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.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-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))}@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}.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}}
