:root{--navy:#071f2f;--navy2:#0b2f42;--navy3:#123d56;--blue:#1a73e8;--blue2:#0b57d0;--blueBg:#e8f0fe;--blueLine:#a8c7fa;--green:#63d60b;--green2:#188038;--greenBg:#e9f7e4;--bg:#f6f8fb;--card:#fff;--soft:#f2f5f9;--line:#dfe6ee;--line2:#edf1f6;--text:#202124;--muted:#5f6368;--faint:#98a2b3;--amber:#fbbc04;--red:#d93025;--shadow:0 1px 2px rgba(16,24,40,.04),0 8px 24px rgba(16,24,40,.07);--top:58px;--sub:48px;--radius:12px;--elev-0:none;--elev-1:0 1px 2px rgba(16,24,40,.05);--elev-2:0 1px 2px rgba(16,24,40,.04),0 8px 24px rgba(16,24,40,.07);--elev-3:0 2px 4px rgba(16,24,40,.06),0 12px 32px rgba(16,24,40,.12);--elev-4:0 6px 12px rgba(16,24,40,.09),0 24px 56px rgba(16,24,40,.18);--shadow:var(--elev-2);--ease-out:cubic-bezier(.16,1,.3,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);--dur-fast:120ms;--dur-base:200ms;--dur-slow:350ms;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--sp-8:40px;--accent:var(--blue);--accent-strong:var(--blue2);--accent-bg:var(--blueBg);--accent-line:var(--blueLine);--font-stack:var(--font-sans,Inter),ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--fs-xs:11px;--fs-sm:12px;--fs-base:14px;--fs-md:15px;--fs-lg:18px;--fs-xl:24px;--fs-display:28px;--fw-regular:400;--fw-medium:550;--fw-semibold:650;--fw-bold:750;--fw-black:900;--status-scheduled:var(--blue);--status-scheduled-bg:var(--blueBg);--status-scheduled-line:var(--blueLine);--status-active:#8a6d00;--status-active-bg:#fff7df;--status-active-line:#fdd663;--status-done:var(--green2);--status-done-bg:var(--greenBg);--status-done-line:#b7e4a8;--status-risk:var(--red);--status-risk-bg:#fce8e6;--status-risk-line:#f6aea9;--status-paused:#475467;--status-paused-bg:#eef2f7;--status-paused-line:#cfd7e6}*{box-sizing:border-box}body,html{height:100%}body{margin:0;background:var(--bg);font-family:var(--font-stack);color:var(--text);font-size:var(--fs-base);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.card{transition:box-shadow var(--dur-base) var(--ease-out)}.card:hover{box-shadow:var(--elev-3)}.btn,.chip,.holding-tab,.iconbtn,.launchpad-counter,.mini-btn,.navbtn,.subbtn,.viewtab{transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.btn:active{transform:translateY(1px)}.drawer{transition:right var(--dur-base) var(--ease-out)}.event,.holding-card,.kanban-card,.status-job-card,.unassigned-card{transition:box-shadow var(--dur-fast) var(--ease-out),outline-color var(--dur-fast) var(--ease-out)}.page{animation:page-rise var(--dur-base) var(--ease-out)}@keyframes page-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.sf-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--muted);font-size:var(--fs-sm);font-weight:var(--fw-semibold);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.sf-chip .dot{width:8px;height:8px;border-radius:50%;background:var(--faint);flex:none}.sf-chip[data-status=scheduled] .dot{background:var(--status-scheduled)}.sf-chip[data-status=active] .dot{background:var(--status-active)}.sf-chip[data-status=done] .dot{background:var(--status-done)}.sf-chip[data-status=risk] .dot{background:var(--status-risk)}.sf-chip[data-status=paused] .dot{background:var(--status-paused)}.sf-chip:hover{background:var(--soft)}.sf-chip.on{background:var(--accent-bg);border-color:var(--accent-line);color:var(--accent-strong)}.sf-chip.on[data-status=scheduled]{background:var(--status-scheduled-bg);border-color:var(--status-scheduled-line);color:var(--status-scheduled)}.sf-chip.on[data-status=active]{background:var(--status-active-bg);border-color:var(--status-active-line);color:var(--status-active)}.sf-chip.on[data-status=done]{background:var(--status-done-bg);border-color:var(--status-done-line);color:var(--status-done)}.sf-chip.on[data-status=risk]{background:var(--status-risk-bg);border-color:var(--status-risk-line);color:var(--status-risk)}.sf-chip.on[data-status=paused]{background:var(--status-paused-bg);border-color:var(--status-paused-line);color:var(--status-paused)}.sf-chip .count{font-size:var(--fs-xs);color:var(--faint);font-weight:var(--fw-semibold)}.sf-chip.on .count{color:inherit}.sf-pagehead{display:flex;flex-direction:column;gap:var(--sp-4);margin-bottom:var(--sp-4)}.sf-pagehead-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap}.sf-pagehead-title h1{margin:0;font-size:var(--fs-xl);font-weight:var(--fw-bold);letter-spacing:-.035em;color:var(--text);display:flex;align-items:baseline;gap:8px}.sf-pagehead-title .count{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--faint)}.sf-pagehead-title p{margin:3px 0 0;font-size:var(--fs-base);color:var(--muted)}.sf-pagehead-actions,.sf-pagehead-meta{display:flex;align-items:center;gap:8px}.sf-pagehead-actions{flex-wrap:wrap}.sf-stat-row{display:grid;grid-gap:var(--sp-3);gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.sf-stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-3) var(--sp-4);display:flex;flex-direction:column;gap:2px;text-align:left;box-shadow:var(--elev-1);transition:box-shadow var(--dur-base) var(--ease-out)}button.sf-stat{cursor:pointer;font:inherit}button.sf-stat:hover{box-shadow:var(--elev-3)}.sf-stat .label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;font-weight:var(--fw-semibold);color:var(--faint)}.sf-stat .val{font-size:var(--fs-xl);font-weight:var(--fw-black);color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.15}.sf-stat .sub{display:flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--muted)}.sf-stat .delta{font-weight:var(--fw-semibold)}.sf-stat .delta.up{color:var(--status-done)}.sf-stat .delta.down{color:var(--status-risk)}.sf-stat .delta.flat{color:var(--muted)}.sf-stat[data-status=risk] .val{color:var(--status-risk)}.sf-stat[data-status=done] .val{color:var(--status-done)}.sf-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:var(--sp-7) var(--sp-5);border:1px dashed var(--line);border-radius:var(--radius);background:var(--card)}.sf-empty.compact{padding:var(--sp-4)}.sf-empty h3{margin:0;font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--text)}.sf-empty p{margin:0;font-size:var(--fs-base);color:var(--muted);max-width:380px}.sf-empty .sf-empty-icon{color:var(--faint)}.sf-empty .sf-empty-action{margin-top:var(--sp-2)}.skel{position:relative;overflow:hidden;background:var(--soft);border-radius:8px}.skel:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);animation:skel-sweep 1.4s var(--ease-out) infinite}@keyframes skel-sweep{to{transform:translateX(100%)}}.skel-line{height:12px}.skel-stat{height:74px;border-radius:10px}.skel-row{height:42px;border-radius:0}.skel-card{height:160px;border-radius:var(--radius)}.skel-stack{display:grid;grid-gap:10px;gap:10px}.skel-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.stat-card .val{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cc-today-row{align-items:stretch}.cc-map-card{display:flex;flex-direction:column}.cc-map-card .map{flex:1 1}.cc-schedule{display:flex;flex-direction:column;gap:2px;max-height:360px;overflow-y:auto}.cc-schedule-row{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-2) var(--sp-3);border:0;border-radius:8px;background:transparent;text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.cc-schedule-row:hover{background:var(--soft)}.cc-schedule-time{flex:0 0 72px;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cc-schedule-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:1px}.cc-schedule-body b{font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text)}.cc-schedule-body b,.cc-schedule-body small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-schedule-body small{font-size:var(--fs-sm);color:var(--muted)}.cc-attention{display:grid;grid-gap:var(--sp-4);gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.cc-attention-group h3{margin:0 0 var(--sp-2);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.05em;font-weight:var(--fw-semibold);color:var(--muted);display:flex;align-items:center;gap:8px}.cc-attention-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;font-size:var(--fs-xs);font-weight:var(--fw-bold);background:var(--soft);color:var(--muted)}.cc-attention-group[data-tone=risk] .cc-attention-count{background:var(--status-risk-bg);color:var(--status-risk)}.cc-attention-group[data-tone=active] .cc-attention-count{background:var(--status-active-bg);color:var(--status-active)}.cc-attention-group[data-tone=scheduled] .cc-attention-count{background:var(--status-scheduled-bg);color:var(--status-scheduled)}.cc-attention-row{display:flex;flex-direction:column;gap:1px;width:100%;padding:var(--sp-2) var(--sp-3);border:0;border-left:3px solid var(--line);border-radius:0 8px 8px 0;background:transparent;text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.cc-attention-row:hover{background:var(--soft)}.cc-attention-group[data-tone=risk] .cc-attention-row{border-left-color:var(--status-risk-line)}.cc-attention-group[data-tone=active] .cc-attention-row{border-left-color:var(--status-active-line)}.cc-attention-group[data-tone=scheduled] .cc-attention-row{border-left-color:var(--status-scheduled-line)}.cc-attention-row b{font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text)}.cc-attention-row small{font-size:var(--fs-sm);color:var(--muted)}.cc-attention-clear{font-size:var(--fs-sm);color:var(--faint);padding:var(--sp-2) var(--sp-3);margin:0}.ai-suggest-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-bottom:10px;border-color:var(--blueLine);background:var(--blueBg);color:var(--blue2);font-weight:900}.ai-suggest-btn:disabled{opacity:.6;cursor:wait}.ai-suggest-btn svg{width:13px;height:13px}.event.event-ghost{background:rgba(232,240,254,.55);border:1.5px dashed var(--blueLine);color:var(--blue2);cursor:pointer;box-shadow:none;animation:ghost-in var(--dur-slow) var(--ease-spring)}.event.event-ghost:hover{background:var(--blueBg);outline:2px solid var(--blueLine)}@keyframes ghost-in{0%{opacity:0;transform:translateY(-6px) scale(.96)}to{opacity:1;transform:none}}.event-ghost-head{display:flex;align-items:flex-start;justify-content:space-between;gap:4px}.event-ghost-dismiss{border:0;background:transparent;color:var(--blue2);font-size:13px;line-height:1;padding:0 2px;cursor:pointer;opacity:.7}.event-ghost-dismiss:hover{opacity:1}.event-ghost-meta{display:flex;align-items:center;gap:5px;margin-top:3px;font-size:10px;font-weight:800;color:var(--blue2)}.event-ghost-meta .score-chip{padding:1px 6px;font-size:10px}.presence-stack{display:inline-flex;align-items:center}.presence-avatar{width:24px;height:24px;border-radius:50%;background:var(--blueBg);color:var(--blue2);border:2px solid var(--card);display:grid;place-items:center;font-size:9px;font-weight:900;margin-left:-6px;box-shadow:var(--elev-1);animation:presence-pop var(--dur-base) var(--ease-spring)}.presence-avatar:first-child{margin-left:0}@keyframes presence-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}.live-pill-err{border-color:#fdd663;background:#fff8e1;color:#7a4a00}.live-pill-err .live-dot{background:var(--amber);box-shadow:0 0 0 3px rgba(251,188,4,.18)}.palette-overlay{position:fixed;inset:0;z-index:240;background:rgba(7,31,47,.38);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;padding:12vh 16px 16px;animation:palette-fade var(--dur-fast) var(--ease-out)}@keyframes palette-fade{0%{opacity:0}to{opacity:1}}.palette{width:min(640px,100%);background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--elev-4);overflow:hidden;animation:palette-pop var(--dur-base) var(--ease-out)}@keyframes palette-pop{0%{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:none}}.palette-input-row{display:flex;align-items:center;gap:10px;padding:6px 14px;border-bottom:1px solid var(--line)}.palette [cmdk-input]{flex:1 1;height:46px;border:0;outline:0;background:transparent;font-size:15px;color:var(--text)}.palette [cmdk-input]::placeholder{color:var(--faint)}.palette-kbd{font-size:10px;font-weight:800;color:var(--muted);background:var(--soft);border:1px solid var(--line);border-radius:5px;padding:2px 6px}.palette [cmdk-list]{max-height:min(420px,52vh);overflow:auto;padding:6px;scroll-padding-block:8px}.palette [cmdk-empty]{padding:18px 12px;text-align:center;color:var(--muted);font-size:13px}.palette [cmdk-group-heading]{padding:8px 10px 4px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:var(--faint)}.palette [cmdk-item]{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:8px;font-size:13px;font-weight:700;color:var(--text);cursor:pointer}.palette [cmdk-item] b{font-weight:900}.palette [cmdk-item][data-selected=true]{background:var(--blueBg);color:var(--blue2)}.palette-item-hint{margin-left:auto;font-size:11px;font-weight:800;color:var(--faint)}.palette [cmdk-item][data-selected=true] .palette-item-hint{color:var(--blue2)}.palette-item-sep{color:var(--faint);font-weight:400}.palette-ask-icon{color:var(--blue);font-size:14px}.palette-ask{padding:14px;display:grid;grid-gap:12px;gap:12px}.palette-ask-q{font-size:13px;font-weight:900;color:var(--text)}.palette-ask-a{font-size:13px;line-height:1.55;color:#344054;white-space:pre-wrap;border:1px solid var(--line);border-radius:10px;background:var(--soft);padding:12px;max-height:46vh;overflow:auto}.palette-ask-loading{display:flex;align-items:center;gap:9px;color:var(--muted)}.palette-ask-error{border-color:var(--status-risk-line);background:var(--status-risk-bg);color:var(--status-risk)}.palette-ask-foot{display:flex;justify-content:flex-end;gap:8px}.palette-spinner{width:14px;height:14px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--blue);animation:palette-spin .7s linear infinite}@keyframes palette-spin{to{transform:rotate(1turn)}}.sf-pin-slot{display:block;line-height:0}.sf-pin{display:block;cursor:pointer;filter:drop-shadow(0 2px 3px rgba(16,24,40,.35));transform-origin:50% 100%;transition:transform var(--dur-fast) var(--ease-out);animation:sf-pin-drop var(--dur-base) var(--ease-out)}.sf-pin.is-selected,.sf-pin:hover{transform:scale(1.15)}@keyframes sf-pin-drop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.sf-pin{animation:none;transition:none}}.map-info-card{display:grid;grid-gap:6px;gap:6px;min-width:200px;max-width:280px;font-family:var(--font-stack);color:var(--text)}.map-info-card-head{display:flex;align-items:flex-start;gap:8px}.map-info-card-title{flex:1 1;font-size:var(--fs-base);font-weight:var(--fw-bold);line-height:1.3}.map-info-card-head .pill{flex-shrink:0}.map-info-card-close{flex-shrink:0;border:0;background:transparent;color:var(--faint);cursor:pointer;font-size:var(--fs-sm);line-height:1;padding:3px 4px;border-radius:6px}.map-info-card-close:hover{color:var(--muted);background:var(--soft)}.map-info-card-meta{font-size:var(--fs-sm);color:var(--muted);line-height:1.4}.map-info-card-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.pill.slate{background:var(--status-paused-bg);color:var(--status-paused)}.gm-style .gm-style-iw-c:has(.map-info-card){border-radius:var(--radius);box-shadow:var(--elev-3);padding:12px 14px}.gm-style .gm-style-iw-d:has(.map-info-card){overflow:auto}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}