/* Daymark palette: change this token block to reskin the app. */
:root {
  --color-bg:#f6f7f9; --color-surface:#fff; --color-surface-subtle:#fbfbfc;
  --color-text:#202531; --color-text-muted:#707887; --color-text-soft:#89909c;
  --color-border:#e7e9ee; --color-border-soft:#eff0f3; --color-brand:#25334a;
  --color-brand-contrast:#fff; --color-link:#4264c5; --color-nav-active-text:#2c4caa;
  --color-nav-active-bg:#edf2ff; --color-blue:#4268d5; --color-blue-soft:#edf2ff;
  --color-green:#25765b; --color-green-soft:#e8f6ef; --color-amber:#9b6418;
  --color-amber-soft:#fff4df; --color-red:#a44444; --color-red-soft:#fff0ef;
  --color-purple:#7654aa; --color-purple-soft:#f3edff; --color-you:#5576d9;
  --color-emma:#d48a48; --color-shared:#36a184; --color-free-bg:#edf7f2;
  --color-free-text:#2d7a5c; --color-neutral-bg:#f0f1f4; --color-neutral-text:#737b88;
  --color-date-bg:#f3f5f8; --color-avatar-bg:#e5eafa; --color-avatar-text:#354b8a;
  --color-timeline-rail:#e1e5ed; --color-busy-dot:#d7dbe3; --color-good:#39a77d;
  --color-shadow:rgba(25,35,55,.045); --color-shadow-strong:rgba(20,30,50,.12);
  --color-overlay:rgba(255,255,255,.96); --color-dialog-backdrop:rgba(20,28,42,.42); --shadow-panel:0 8px 30px var(--color-shadow);
  --bg:var(--color-bg); --panel:var(--color-surface); --ink:var(--color-text);
  --muted:var(--color-text-muted); --line:var(--color-border); --navy:var(--color-brand);
  --blue-soft:var(--color-blue-soft); --green:var(--color-green); --green-soft:var(--color-green-soft);
  --amber:var(--color-amber); --amber-soft:var(--color-amber-soft); --purple:var(--color-purple);
  --purple-soft:var(--color-purple-soft); --shadow:var(--shadow-panel);
  color-scheme:light;
}
*{box-sizing:border-box} html{scroll-behavior:smooth;scroll-padding-top:18px} body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased} button,a{font:inherit} a{color:inherit;text-decoration:none} button:focus-visible,a:focus-visible{outline:3px solid var(--color-blue);outline-offset:3px;border-radius:7px} .shell{min-height:100vh;display:grid;grid-template-columns:238px minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;background:var(--panel);border-right:1px solid var(--line);padding:25px 16px;display:flex;flex-direction:column;gap:28px}.brand{display:flex;align-items:center;gap:11px;padding:0 10px;font-size:19px;font-weight:760;letter-spacing:-.5px}.logo{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;color:var(--color-brand-contrast);background:var(--navy);font-size:18px}.nav-label{color:var(--color-text-soft);font-size:10px;font-weight:750;letter-spacing:1.4px;padding:0 12px;margin-bottom:7px}.nav{display:grid;gap:5px}.nav-item{display:flex;align-items:center;gap:12px;border-radius:10px;padding:11px 12px;color:var(--color-text-muted);font-weight:600}.nav-item:hover{background:var(--color-surface-subtle)}.nav-item.active{color:var(--color-nav-active-text);background:var(--color-nav-active-bg)}.nav-icon{width:20px;text-align:center;font-size:17px}.side-bottom{margin-top:auto}.calendar-list{display:grid;gap:13px;padding:0 11px}.calendar-line{display:flex;align-items:center;gap:9px;color:var(--color-text-muted);font-size:12px}.dot{width:9px;height:9px;border-radius:3px;flex:0 0 auto;display:inline-block}.dot.you{background:var(--color-you)}.dot.emma{background:var(--color-emma)}.dot.shared{background:var(--color-shared)}.account{display:flex;gap:10px;align-items:center;padding:15px 9px 0;border-top:1px solid var(--line);margin-top:24px}.avatar{width:35px;height:35px;border-radius:50%;background:var(--color-avatar-bg);color:var(--color-avatar-text);display:grid;place-items:center;font-weight:750;font-size:12px}.account strong{display:block;font-size:12px}.account small{color:var(--muted);font-size:11px}
main{padding:30px clamp(18px,3.2vw,48px) 45px;max-width:1600px;width:100%;margin:0 auto;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}.eyebrow{text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:1.6px;color:var(--color-text-soft);margin-bottom:6px}h1{font-size:clamp(26px,3vw,34px);line-height:1.15;letter-spacing:-1.2px;margin:0}.subtitle{margin:8px 0 0;color:var(--muted);font-size:13px}.sync-status{display:flex;align-items:center;gap:9px;padding:10px 13px;background:var(--panel);border:1px solid var(--line);border-radius:12px;color:var(--color-text-muted);font-size:12px}.preview-dot{width:8px;height:8px;background:var(--color-amber);border-radius:50%;flex:0 0 auto}.sync-button{margin-left:5px;background:var(--navy);color:var(--color-brand-contrast);border:0;border-radius:8px;padding:8px 12px;font-weight:650;font-size:12px;white-space:nowrap}.sync-button:disabled{opacity:.45;cursor:not-allowed}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-bottom:23px}.stat,.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.stat{padding:18px 20px;min-width:0}.stat-head{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px;font-weight:650;gap:8px}.stat-symbol{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:var(--color-neutral-bg);font-size:16px;flex:0 0 auto}.stat-number{font-size:31px;font-weight:760;letter-spacing:-1px;margin:8px 0 3px}.stat-note{color:var(--color-text-soft);font-size:11px}.stat-note strong{color:var(--color-green);font-weight:700}.content-grid{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(310px,.9fr);gap:18px;align-items:start}.panel{overflow:hidden}.panel-head{padding:20px 21px 16px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}h2{font-size:16px;letter-spacing:-.3px;margin:0}.panel-desc{color:var(--muted);font-size:11px;margin:5px 0 0}.text-link{color:var(--color-link);font-size:12px;font-weight:700;white-space:nowrap}.timeline-body{padding:0 21px 8px}.timeline-day-label{color:var(--color-text-soft);font-size:9px;font-weight:800;letter-spacing:1.25px;padding:13px 0 4px;border-top:1px solid var(--color-border-soft)}.timeline-day-label:first-child{border-top:0;padding-top:2px}.timeline-entry{display:grid;grid-template-columns:57px 12px minmax(0,1fr);gap:10px;padding:11px 0}.timeline-time{font-size:10px;color:var(--color-text-muted);padding-top:2px;white-space:nowrap}.timeline-rail{border-left:2px solid var(--color-timeline-rail);position:relative}.timeline-dot{position:absolute;width:8px;height:8px;border-radius:50%;left:-5px;top:5px;background:var(--color-shared)}.timeline-dot.emma-dot{background:var(--color-emma)}.timeline-dot.you-dot{background:var(--color-you)}.timeline-dot.shared-dot{background:var(--color-shared)}.timeline-dot.free{background:var(--color-good)}.timeline-detail{min-width:0;padding-bottom:4px}.event-title{font-size:13px;font-weight:750;margin:1px 0 4px}.event-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;color:var(--color-text-muted);font-size:10px}.source{display:inline-flex;align-items:center;gap:5px}.source .dot{width:7px;height:7px;border-radius:2px}.pill{display:inline-flex;align-items:center;padding:4px 7px;border-radius:6px;font-size:9px;font-weight:800;white-space:nowrap;margin-top:7px}.pill.new{color:var(--green);background:var(--green-soft)}.pill.updated{color:var(--color-link);background:var(--blue-soft)}.pill.known{color:var(--color-neutral-text);background:var(--color-neutral-bg)}.all-day-entry{background:var(--color-surface-subtle);border-radius:10px;margin:5px 0;padding:10px 9px}.all-day-entry .timeline-rail{border-left-style:dashed}.event-kind{display:inline-flex;align-items:center;gap:4px;color:var(--color-text-muted);background:var(--color-neutral-bg);border-radius:5px;padding:3px 6px;font-size:9px;font-weight:750}.event-kind.reminder{color:var(--purple);background:var(--purple-soft)}.event-kind.all-day{color:var(--navy);background:var(--color-date-bg)}.reminder-entry .timeline-dot{background:var(--purple)}.reminder-entry .event-title{font-weight:650}.reminder-toggle{margin-top:8px;border:1px solid var(--line);border-radius:7px;background:var(--color-surface-subtle);color:var(--color-link);font-size:10px;font-weight:700;padding:6px 9px;min-height:32px;cursor:pointer}.reminder-toggle:hover{background:var(--color-blue-soft)}.panel-foot{padding:13px 20px;background:var(--color-surface-subtle);border-top:1px solid var(--line);color:var(--color-text-muted);font-size:10px}.availability-panel .panel-head{padding-bottom:17px}.range{border:1px solid var(--line);border-radius:8px;color:var(--color-text-muted);font-size:10px;font-weight:700;padding:7px 9px;white-space:nowrap}.availability-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 18px 18px}.person-card{border:1px solid var(--line);border-radius:11px;padding:12px 10px;min-width:0}.person-top{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--color-text-muted);font-weight:700}.person-top .dot{width:8px;height:8px}.person-num{font-size:20px;letter-spacing:-.5px;font-weight:780;margin:9px 0 1px}.person-caption{font-size:9px;color:var(--color-text-soft)}.week-list{padding:0 19px 17px}.day-row{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;padding:12px 0;border-top:1px solid var(--color-border-soft)}.day-name{font-size:11px;font-weight:750;padding-top:2px}.day-name small{display:block;color:var(--color-text-soft);font-weight:500;font-size:9px;margin-top:3px}.time-slots{display:flex;flex-wrap:wrap;gap:5px}.slot{border-radius:6px;padding:5px 7px;background:var(--color-free-bg);color:var(--color-free-text);font-size:9px;font-weight:700}.slot.busy{background:var(--color-neutral-bg);color:var(--color-text-soft);font-weight:600}.window-note{color:var(--color-text-soft);font-size:9px;margin:5px 0 0}.legend{display:flex;flex-wrap:wrap;gap:12px;padding:0 19px 17px;color:var(--color-text-muted);font-size:9px}.legend span{display:inline-flex;align-items:center;gap:5px}.legend .dot{width:7px;height:7px;border-radius:2px}.busy-legend{background:var(--color-busy-dot)}.bottom-grid{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(310px,.9fr);gap:18px;margin-top:18px}.status-panel{padding:19px 21px}.status-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-top:16px}.status-main{display:flex;gap:11px;align-items:center}.status-icon{width:34px;height:34px;border-radius:10px;background:var(--color-amber-soft);color:var(--color-amber);display:grid;place-items:center;font-weight:800}.status-main strong{font-size:12px;display:block}.status-main small{color:var(--muted);font-size:10px;display:block;margin-top:3px}.connected{font-size:10px;font-weight:750}.preview-label{color:var(--color-amber)}.calendar-roles{padding:0 20px 18px;display:grid;gap:12px}.role{display:flex;align-items:center;gap:10px}.role-name{font-size:11px;font-weight:700;flex:1}.role-name small{display:block;color:var(--color-text-soft);font-size:10px;font-weight:500;margin-top:2px}.role-status{font-size:10px;color:var(--color-text-muted);white-space:nowrap}.footer-note{color:var(--color-text-soft);text-align:center;font-size:10px;margin-top:24px}.mobile-nav{display:none}
@media(max-width:1050px){.shell{grid-template-columns:205px minmax(0,1fr)}.content-grid,.bottom-grid{grid-template-columns:1fr}}
@media(max-width:700px){.shell{display:block;padding-bottom:calc(76px + env(safe-area-inset-bottom))}.sidebar{display:none}main{padding:23px 14px 30px}.topbar{align-items:flex-start;flex-direction:column;margin-bottom:20px}.sync-status{width:100%;justify-content:space-between;flex-wrap:wrap}.sync-status>span:nth-child(2){flex:1;min-width:120px}.stats{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding:13px;min-width:0}.stat-head{font-size:11px}.stat-number{font-size:26px}.stat-note{font-size:10px}.content-grid,.bottom-grid{gap:14px}.panel-head{padding:17px 15px 13px}.timeline-body{padding:0 14px 7px}.timeline-entry{grid-template-columns:49px 10px minmax(0,1fr);gap:8px}.timeline-time{font-size:9px}.panel-foot{padding:12px 14px;line-height:1.5}.availability-summary{padding:0 12px 14px;gap:6px}.person-card{padding:10px 8px}.person-top{font-size:9px}.person-num{font-size:18px}.person-caption{font-size:8px}.week-list{padding-left:14px;padding-right:14px}.legend{padding-left:14px}.status-panel{padding:17px 15px}.calendar-roles{padding:0 15px 16px}.mobile-nav{position:fixed;z-index:10;display:flex;left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));justify-content:space-around;background:var(--color-overlay);backdrop-filter:blur(15px);border:1px solid var(--line);box-shadow:0 5px 25px var(--color-shadow-strong);border-radius:15px;padding:8px 4px}.mobile-nav a{display:grid;justify-items:center;gap:3px;color:var(--color-text-muted);font-size:9px;font-weight:700;min-width:55px;padding:3px 4px}.mobile-nav a:first-child{color:var(--color-nav-active-text)}.mobile-nav a span:first-child{font-size:17px}.role-status{font-size:9px}}
@media(max-width:360px){main{padding-left:10px;padding-right:10px}.stat{padding:10px}.stat-head{font-size:10px}.stat-symbol{width:26px;height:26px}.stat-number{font-size:24px}.person-card{padding:9px 6px}.person-top{font-size:8px}.sync-button{padding:7px 9px}.mobile-nav{left:6px;right:6px}.mobile-nav a{min-width:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.sync-ok{background:var(--color-good)}.sync-error{background:var(--color-red)}.text-link.setup-open{border:0;background:none;padding:0;cursor:pointer}.setup-dialog{width:min(510px,calc(100vw - 28px));max-height:min(90dvh,800px);overflow:auto;border:1px solid var(--color-border);border-radius:20px;padding:0;background:var(--color-surface);color:var(--color-text);box-shadow:0 24px 80px var(--color-shadow-strong)}.setup-dialog::backdrop{background:var(--color-dialog-backdrop);backdrop-filter:blur(3px)}.dialog-close-row{height:0;margin:0}.dialog-close{position:sticky;float:right;top:10px;right:10px;z-index:1;margin:10px 10px 0 0;border:0;background:var(--color-neutral-bg);color:var(--color-text-muted);border-radius:50%;width:32px;height:32px;font-size:22px;line-height:1;cursor:pointer}.dialog-content{padding:30px}.dialog-content h2{font-size:23px}.setup-copy{color:var(--color-text-muted);font-size:13px;margin:10px 0 22px}.field-label{display:block;font-size:11px;font-weight:750;color:var(--color-text);margin:16px 0 6px}.text-input{width:100%;min-height:42px;border:1px solid var(--color-border);border-radius:9px;padding:9px 11px;background:var(--color-surface-subtle);color:var(--color-text);font:inherit;font-size:13px}.text-input:focus{outline:3px solid var(--color-blue-soft);border-color:var(--color-blue)}.field-help{font-size:10px;color:var(--color-text-soft);margin:6px 0 14px}.primary-button{width:100%;margin-top:14px;min-height:44px;border:0;border-radius:10px;background:var(--color-brand);color:var(--color-brand-contrast);font-size:13px;font-weight:750;cursor:pointer}.primary-button:hover{filter:brightness(1.12)}.setup-error{margin-top:13px;border-radius:9px;padding:11px 12px;background:var(--color-red-soft);color:var(--color-red);font-size:12px;line-height:1.5}.calendar-assignments{display:grid;gap:1px;margin-top:18px}.calendar-assignments[hidden]{display:none}.calendar-assignments .field-label{margin-top:12px}.account-line{border-top:1px solid var(--color-border-soft);padding-top:15px;font-size:11px;color:var(--color-green);font-weight:700}.privacy-note{border-top:1px solid var(--color-border-soft);padding-top:14px;margin-top:20px;color:var(--color-text-soft);font-size:10px;line-height:1.55}.availability-placeholder{grid-column:1/-1;border:1px dashed var(--color-border);border-radius:11px;padding:19px 16px;color:var(--color-text-muted);font-size:12px;line-height:1.5}.live-empty{padding:22px 0;color:var(--color-text-muted);font-size:12px}.change-summary{margin-top:5px;color:var(--color-link)}
@media(max-width:700px){.dialog-content{padding:25px 20px}.setup-dialog{border-radius:18px}.sync-status{align-items:center}.setup-open{padding:5px 0!important}}
.secondary-button{width:100%;min-height:40px;border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface);color:var(--color-brand);font-size:12px;font-weight:700;cursor:pointer}.secondary-button:hover{background:var(--color-blue-soft)}
.footer-note a{color:var(--color-link);text-decoration:underline;text-underline-offset:2px}
