:root,:root[data-theme=dark]{color-scheme:dark;--md-sys-color-primary: #aac7ff;--md-sys-color-on-primary: #0a2870;--md-sys-color-primary-container: #2a4498;--md-sys-color-on-primary-container: #dde3ff;--md-sys-color-secondary: #bec6dc;--md-sys-color-on-secondary: #293041;--md-sys-color-secondary-container: #3f4759;--md-sys-color-on-secondary-container: #dae2f9;--md-sys-color-surface: #111318;--md-sys-color-surface-container-lowest: #0c0e14;--md-sys-color-surface-container-low: #191c22;--md-sys-color-surface-container: #1d2025;--md-sys-color-surface-container-high: #282a30;--md-sys-color-surface-container-highest:#32353b;--md-sys-color-on-surface: #e1e2e8;--md-sys-color-on-surface-variant: #c3c6cf;--md-sys-color-outline: #8d9199;--md-sys-color-outline-variant: #43474e;--md-sys-color-error: #ffb4ab;--md-sys-color-on-error: #690005;--md-sys-color-error-container: #93000a;--md-sys-color-on-error-container: #ffdad6;--md-sys-color-inverse-surface: #e1e2e8;--md-sys-color-inverse-on-surface: #2e3036;--md-sys-color-inverse-primary: #2a4498;--md-sys-color-tertiary: #efb8c8;--md-sys-color-surface-variant: #43474e;--app-positive: #4caf50;--app-negative: #f44336;--app-warning: #f0a840;--app-positive-container: #1e3a1e;--app-on-positive-container: #a5d6a7;--app-warning-container: #3a2d12;--app-on-warning-container: #ffd9a0;--app-pos-text: #a5d6a7;--app-neg-text: #ffab91;--app-amber: #ffb74d;--app-on-amber: #2e1a00;--md-sys-elevation-1: 0 1px 2px rgba(0,0,0,.3), 0 1px 3px 1px rgba(0,0,0,.15);--md-sys-elevation-2: 0 1px 2px rgba(0,0,0,.3), 0 2px 6px 2px rgba(0,0,0,.15);--md-sys-elevation-3: 0 1px 3px rgba(0,0,0,.3), 0 4px 8px 3px rgba(0,0,0,.15);--md-sys-elevation-4: 0 2px 3px rgba(0,0,0,.3), 0 6px 10px 4px rgba(0,0,0,.15);--md-sys-elevation-5: 0 4px 4px rgba(0,0,0,.3), 0 8px 12px 6px rgba(0,0,0,.15);--app-elevation-top: 0 -2px 8px rgba(0,0,0,.2);--backdrop-scrim: rgba(0,0,0,.6);--select-chevron: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%238d9199' d='M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z'/%3E%3C/svg%3E")}:root[data-theme=light]{color-scheme:light;--md-sys-color-primary: #445e91;--md-sys-color-on-primary: #ffffff;--md-sys-color-primary-container: #d8e2ff;--md-sys-color-on-primary-container: #001a41;--md-sys-color-secondary: #575e71;--md-sys-color-on-secondary: #ffffff;--md-sys-color-secondary-container: #dbe2f9;--md-sys-color-on-secondary-container: #141b2c;--md-sys-color-surface: #faf9fd;--md-sys-color-surface-container-lowest: #ffffff;--md-sys-color-surface-container-low: #f4f3f7;--md-sys-color-surface-container: #eeedf1;--md-sys-color-surface-container-high: #e8e7ec;--md-sys-color-surface-container-highest:#e2e2e6;--md-sys-color-on-surface: #1a1b20;--md-sys-color-on-surface-variant: #44474f;--md-sys-color-outline: #74777f;--md-sys-color-outline-variant: #c4c6d0;--md-sys-color-error: #ba1a1a;--md-sys-color-on-error: #ffffff;--md-sys-color-error-container: #ffdad6;--md-sys-color-on-error-container: #410002;--md-sys-color-inverse-surface: #2f3036;--md-sys-color-inverse-on-surface: #f1f0f4;--md-sys-color-inverse-primary: #aac7ff;--md-sys-color-tertiary: #715573;--md-sys-color-surface-variant: #e1e2ec;--app-positive: #2e7d32;--app-negative: #c62828;--app-warning: #b26a00;--app-positive-container: #d3efd4;--app-on-positive-container: #0f3d13;--app-warning-container: #ffefd2;--app-on-warning-container: #4a3000;--app-pos-text: #2e7d32;--app-neg-text: #bf360c;--app-amber: #ffb74d;--app-on-amber: #2e1a00;--md-sys-elevation-1: 0 1px 2px rgba(0,0,0,.14), 0 1px 3px 1px rgba(0,0,0,.07);--md-sys-elevation-2: 0 1px 2px rgba(0,0,0,.14), 0 2px 6px 2px rgba(0,0,0,.07);--md-sys-elevation-3: 0 1px 3px rgba(0,0,0,.14), 0 4px 8px 3px rgba(0,0,0,.07);--md-sys-elevation-4: 0 2px 3px rgba(0,0,0,.14), 0 6px 10px 4px rgba(0,0,0,.07);--md-sys-elevation-5: 0 4px 4px rgba(0,0,0,.14), 0 8px 12px 6px rgba(0,0,0,.07);--app-elevation-top: 0 -2px 8px rgba(0,0,0,.08);--backdrop-scrim: rgba(0,0,0,.4);--select-chevron: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%2374777f' d='M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z'/%3E%3C/svg%3E")}:root{--md-sys-shape-corner-none: 0;--md-sys-shape-corner-extra-small: 4px;--md-sys-shape-corner-small: 8px;--md-sys-shape-corner-medium: 12px;--md-sys-shape-corner-large: 16px;--md-sys-shape-corner-large-increased: 20px;--md-sys-shape-corner-extra-large: 28px;--md-sys-shape-corner-extra-large-increased: 32px;--md-sys-shape-corner-full: 999px;--md-sys-state-hover-opacity: .08;--md-sys-state-focus-opacity: .1;--md-sys-state-pressed-opacity: .12;--md-sys-typescale-display-small-size: 36px;--md-sys-typescale-display-small-weight: 300;--md-sys-typescale-title-large-size: 22px;--md-sys-typescale-title-medium-size: 16px;--md-sys-typescale-label-small-size: 11px;--md-sys-typescale-label-small-weight: 600;--md-sys-typescale-label-small-tracking: .07em}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}*{scrollbar-width:thin;scrollbar-color:var(--md-sys-color-outline-variant) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:transparent}::-webkit-scrollbar-thumb{background:var(--md-sys-color-outline-variant);border-radius:5px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--md-sys-color-outline);background-clip:padding-box}html,body{height:100%;color:var(--md-sys-color-on-surface);font-family:Roboto,-apple-system,sans-serif;font-size:14px}html{background:var(--md-sys-color-surface)}body{display:flex;flex-direction:column;min-height:100vh;background:transparent}#root{display:flex;flex-direction:column;flex:1 1 auto;min-height:100vh}.top-bar,.action-bar{flex:none}body:before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(120% 85% at 50% -10%,color-mix(in srgb,var(--md-sys-color-primary) 7%,var(--md-sys-color-surface)) 0%,var(--md-sys-color-surface) 62%)}:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px;border-radius:var(--md-sys-shape-corner-extra-small)}.mi{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;fill:currentColor;pointer-events:none;vertical-align:middle}.btn-filled{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 24px;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border:none;cursor:pointer;white-space:nowrap;font-family:Roboto,sans-serif;font-size:14px;font-weight:500;letter-spacing:.01em;line-height:1;position:relative}.btn-filled:disabled{opacity:.38;cursor:default}.btn-text{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 12px;border-radius:var(--md-sys-shape-corner-full);background:transparent;color:var(--md-sys-color-primary);border:none;cursor:pointer;white-space:nowrap;font-family:Roboto,sans-serif;font-size:14px;font-weight:500;letter-spacing:.01em;line-height:1;position:relative}.btn-text:active:not(:disabled){transform:scale(.94)}.btn-text{transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-spring)}.btn-text:disabled{opacity:.38;cursor:default}.btn-filled:after,.btn-text:after,.btn-icon:after{content:"";position:absolute;inset:0;border-radius:inherit;background:currentColor;opacity:0;pointer-events:none;transition:opacity var(--md-sys-motion-duration-short2) linear}.btn-filled:hover:not(:disabled):after,.btn-text:hover:not(:disabled):after,.btn-icon:hover:not(:disabled):after{opacity:var(--md-sys-state-hover-opacity)}.btn-filled:focus-visible:after,.btn-text:focus-visible:after,.btn-icon:focus-visible:after{opacity:var(--md-sys-state-focus-opacity)}.btn-filled:active:not(:disabled):after,.btn-text:active:not(:disabled):after,.btn-icon:active:not(:disabled):after{opacity:var(--md-sys-state-pressed-opacity)}.session-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--md-sys-color-outline-variant);margin-right:4px;transition:background var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard)}.session-dot.active{background:var(--app-positive)}.session-dot.expired{background:var(--app-negative)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border-radius:50%;background:transparent;color:var(--md-sys-color-on-surface-variant);border:none;cursor:pointer;padding:0;position:relative;transition:border-radius var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-spring),transform var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-spring),color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.btn-icon:hover:not(:disabled){transform:scale(1.08);color:var(--md-sys-color-on-surface);border-radius:30%}.btn-icon:disabled{opacity:.38;cursor:default}.chk{appearance:none;-webkit-appearance:none;width:18px;height:18px;flex-shrink:0;border:2px solid var(--md-sys-color-outline);border-radius:2px;background:transparent;cursor:pointer;vertical-align:middle;position:relative;transition:background var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard),border-color var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-spring)}.chk:active{transform:scale(.82)}.chk:checked{background:var(--md-sys-color-primary);border-color:var(--md-sys-color-primary);animation:chk-settle var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-spring)}@keyframes chk-settle{0%{transform:scale(.78)}to{transform:scale(1)}}.chk:checked:after{content:"";position:absolute;inset:0;background:var(--md-sys-color-on-primary);-webkit-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E") center / 16px no-repeat;mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E") center / 16px no-repeat;animation:chk-mark-in var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-spring)}@keyframes chk-mark-in{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.chk:indeterminate{background:var(--md-sys-color-primary);border-color:var(--md-sys-color-primary)}.chk:indeterminate:after{content:"";position:absolute;inset:0;background:var(--md-sys-color-on-primary);-webkit-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='4' y='10' width='16' height='4'/%3E%3C/svg%3E") center / 16px no-repeat;mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='4' y='10' width='16' height='4'/%3E%3C/svg%3E") center / 16px no-repeat}.src-sel{height:40px;min-width:140px;padding:0 32px 0 12px;border-radius:var(--md-sys-shape-corner-small);background:transparent var(--select-chevron) right 6px center / 20px no-repeat;border:1px solid var(--md-sys-color-outline);color:var(--md-sys-color-on-surface);font-family:Roboto,sans-serif;font-size:14px;cursor:pointer;appearance:none;-webkit-appearance:none;transition:border-color .1s}.src-sel:hover:not(:focus){border-color:var(--md-sys-color-on-surface)}.src-sel:focus{border:2px solid var(--md-sys-color-primary);padding-left:11px;outline:none}.src-sel option{background:var(--md-sys-color-surface-container-high)}.top-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 16px;background:color-mix(in srgb,var(--md-sys-color-surface-container) 70%,transparent);border-bottom:1px solid var(--md-sys-color-outline-variant);min-height:64px;box-shadow:var(--md-sys-elevation-1);position:sticky;top:0;z-index:50}.top-bar-headline{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:500;color:var(--md-sys-color-on-surface);white-space:nowrap;padding-right:12px}.top-bar-headline .mi{color:var(--md-sys-color-primary)}.top-bar-version{font-size:10px;opacity:.45;font-weight:400;position:relative;top:4px}.top-bar-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-left:auto}.day-nav{display:flex;align-items:center;gap:3px;margin:0 auto}.day-nav-kw{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--md-sys-color-on-surface-variant);opacity:.7;padding:0 6px 0 2px;white-space:nowrap}.day-nav-kw.is-refreshing{animation:weekPulse 1.6s ease-in-out infinite}@keyframes weekPulse{0%,to{opacity:.4}50%{opacity:.9}}.day-nav .date-field{margin-left:6px}.week-day{display:flex;flex-direction:column;align-items:center;min-width:40px;padding:3px 6px 4px;border:1px solid transparent;border-radius:var(--md-sys-shape-corner-small);background:transparent;color:inherit;font:inherit;line-height:1.15;cursor:pointer;position:relative;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.week-day:hover{background:color-mix(in srgb,currentColor 12%,transparent)}.week-day:active{transform:scale(.94)}.week-day:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:1px}.week-day-wd{font-size:9px;letter-spacing:.05em;text-transform:uppercase;opacity:.75}.week-day-h{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.week-booked{background:color-mix(in srgb,var(--md-sys-color-primary-container) 70%,transparent);color:var(--md-sys-color-on-primary-container)}.week-prepared{border-color:color-mix(in srgb,var(--md-sys-color-tertiary) 65%,transparent);border-style:dashed;color:var(--md-sys-color-tertiary)}.week-open{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container);border-color:transparent}.week-free{color:var(--md-sys-color-on-surface-variant);opacity:.5}.week-day.is-weekend{min-width:30px}.week-day.is-weekend .week-day-h{opacity:.6}.week-free.is-weekend{opacity:.32}.week-future{color:var(--md-sys-color-on-surface-variant);opacity:.32}.week-day.is-current{box-shadow:0 0 0 2px var(--md-sys-color-surface),0 0 0 4px var(--md-sys-color-primary)}.week-day.is-today:after{content:"";position:absolute;left:50%;bottom:-3px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--md-sys-color-primary)}.btn-text-compact{font-size:12px;height:32px;padding:0 10px}.merge-badge{position:absolute;top:4px;right:4px;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);font-size:10px;font-weight:600;min-width:16px;height:16px;line-height:16px;text-align:center;border-radius:var(--md-sys-shape-corner-full);padding:0 4px;animation:chipPop var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-spring) both}@media(max-width:640px){.top-bar{padding:10px 12px}.top-bar-headline{font-size:16px;padding-right:4px}.top-bar-actions{margin-left:0;width:100%;justify-content:flex-start}}.date-weekday{font-size:12px;font-weight:500;min-width:28px;text-align:center;color:var(--md-sys-color-on-surface-variant);text-transform:capitalize}.date-field{appearance:none;height:40px;min-width:148px;background:transparent;border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-small);color:var(--md-sys-color-on-surface);font-family:Roboto,sans-serif;font-size:14px;padding:0 12px;cursor:pointer;transition:border-color .1s}.date-field:hover:not(:focus){border-color:var(--md-sys-color-on-surface)}.date-field:focus{border:2px solid var(--md-sys-color-primary);padding:0 11px;outline:none}.snackbar{position:fixed;bottom:76px;left:50%;transform:translate(-50%);z-index:200;display:flex;align-items:center;gap:8px;min-width:288px;max-width:600px;padding:14px 8px 14px 16px;background:var(--md-sys-color-inverse-surface);color:var(--md-sys-color-inverse-on-surface);border-radius:var(--md-sys-shape-corner-small);font-size:14px;font-weight:500;letter-spacing:.01em;box-shadow:var(--md-sys-elevation-3);transition:opacity .2s}.snackbar[hidden]{display:none}.snackbar.error{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}.snackbar.success{background:var(--app-positive-container);color:var(--app-on-positive-container)}.snackbar.warning{background:var(--app-warning-container);color:var(--app-on-warning-container)}.snackbar.warning .btn-icon{color:var(--app-on-warning-container)}.snackbar-msg{flex:1}.snackbar .btn-icon{color:var(--md-sys-color-inverse-on-surface)}.snackbar.error .btn-icon{color:var(--md-sys-color-on-error-container)}.snackbar-undo{color:var(--md-sys-color-inverse-primary);font-weight:500;margin-right:8px}.snackbar.error .snackbar-undo{color:var(--md-sys-color-on-error-container)}.snackbar.success .snackbar-undo{color:var(--app-on-positive-container)}.snackbar.warning .snackbar-undo{color:var(--app-on-warning-container)}.desc-in.desc-missing-ticket{border-color:var(--app-amber);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--app-amber) 35%,transparent);background:color-mix(in srgb,var(--app-amber) 5%,transparent)}.desc-in.desc-project-changed{border-color:var(--md-sys-color-primary);background:color-mix(in srgb,var(--md-sys-color-primary) 7%,transparent)}.desc-warn-badge{position:absolute;top:50%;right:6px;transform:translateY(-50%);width:18px;height:18px;line-height:18px;text-align:center;font-size:11px;font-weight:700;background:var(--app-amber);color:var(--app-on-amber);border-radius:50%;pointer-events:auto;cursor:help;box-shadow:0 1px 2px #0000004d}.bcs-dup-badge,.bcs-clash-badge{display:inline-block;margin-left:6px;width:18px;height:18px;line-height:18px;text-align:center;font-size:11px;font-weight:700;border-radius:50%;cursor:help;vertical-align:middle}.bcs-dup-badge{background:color-mix(in srgb,var(--md-sys-color-on-surface-variant) 22%,transparent);color:var(--md-sys-color-on-surface-variant)}.bcs-clash-badge{background:var(--app-amber);color:var(--app-on-amber);box-shadow:0 1px 2px #0000004d;animation:chk-settle var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-spring)}.overlap-warn-badge{display:inline-block;margin-left:6px;width:18px;height:18px;line-height:18px;text-align:center;font-size:11px;font-weight:700;background:var(--app-amber);color:var(--app-on-amber);border-radius:50%;cursor:help;vertical-align:middle;box-shadow:0 1px 2px #0000004d;animation:chk-settle var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-spring)}.bulk-desc-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--md-sys-color-outline-variant);background:color-mix(in srgb,var(--md-sys-color-primary) 4%,transparent)}.bulk-desc-bar .mi{color:var(--md-sys-color-on-surface-variant);flex-shrink:0}.bulk-desc-input{flex:1;min-width:0;height:30px;padding:0 10px;background:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-on-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-small);font-size:13px;font-family:inherit}.bulk-desc-input:focus{outline:2px solid var(--md-sys-color-primary);outline-offset:1px}.bulk-desc-input:disabled{opacity:.5;cursor:not-allowed}.bulk-desc-bar .btn-text{height:30px;padding:0 12px;font-size:12px}.errors-dialog-overlay{position:fixed;inset:0;z-index:9999;background:var(--backdrop-scrim);display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.errors-dialog-modal{background:var(--md-sys-color-surface-container-high);border-radius:var(--md-sys-shape-corner-extra-large);padding:24px;width:min(560px,90vw);max-height:70vh;display:flex;flex-direction:column;gap:16px;box-shadow:var(--md-sys-elevation-4)}.errors-dialog-list{overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:8px}.errors-dialog-item{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container);border-radius:var(--md-sys-shape-corner-small);padding:10px 14px;font-size:13px;font-family:Roboto Mono,monospace;word-break:break-word;display:flex;align-items:flex-start;gap:10px}.row-err-fix{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;padding:0;cursor:pointer;border-radius:50%}.row-err-fix:hover{background:color-mix(in srgb,var(--md-sys-color-error) 12%,transparent)}.row-err-fix:focus-visible{outline:2px solid var(--md-sys-color-error);outline-offset:1px}.bcs-stats{display:inline-flex;align-items:center;gap:6px;margin-left:16px;padding:0;background:transparent;border:none;cursor:pointer;font-family:inherit}.bcs-stats:disabled{cursor:default;opacity:.7}.bcs-stats-loading,.bcs-stats-error{font-size:11px;color:var(--md-sys-color-on-surface-variant);padding:2px 8px;border-radius:var(--md-sys-shape-corner-full);background:color-mix(in srgb,var(--md-sys-color-primary) 6%,transparent)}.bcs-stats-error{color:var(--md-sys-color-error)}.bcs-stats-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:var(--md-sys-shape-corner-full);font-size:11px;font-weight:500;background:color-mix(in srgb,var(--md-sys-color-primary) 10%,transparent);color:var(--md-sys-color-on-surface);transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.bcs-stats:hover .bcs-stats-pill{background:color-mix(in srgb,var(--md-sys-color-primary) 18%,transparent)}.bcs-stats-pill.bcs-pos{color:var(--app-pos-text)}.bcs-stats-pill.bcs-neg{color:var(--app-neg-text)}.bcs-stats-pill.bcs-neutral{color:var(--md-sys-color-on-surface-variant)}.bcs-stats-val{font-family:Roboto Mono,monospace;font-variant-numeric:tabular-nums}.bcs-stats-scope{font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--md-sys-color-on-surface-variant)}@media(max-width:900px){.bcs-stats-scope{display:none}.bcs-stats .bcs-stats-pill:not(:first-of-type){display:none}}@media(max-width:640px){.bcs-stats{display:none}}.date-group{display:inline-flex;align-items:center;gap:2px;padding:2px 2px 2px 8px;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-surface-container-high)}.date-group .btn-icon{width:36px;height:36px}.date-group .date-field{border:none;background:transparent;height:36px;min-width:140px;border-radius:var(--md-sys-shape-corner-full)}.date-group .date-field:hover:not(:focus){border:none}.date-group .date-field:focus{border:none;padding:0 12px;box-shadow:inset 0 0 0 2px var(--md-sys-color-primary)}.topbar-menu{position:relative;display:inline-flex}.topbar-menu-popup{position:absolute;top:calc(100% + 6px);right:0;z-index:200;min-width:250px;padding:6px;background:var(--md-sys-color-surface-container-high);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);box-shadow:var(--md-sys-elevation-2);display:flex;flex-direction:column;animation:fadeInScale var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-spring) both;transform-origin:top right}.topbar-menu-item{display:flex;align-items:center;gap:12px;padding:9px 12px;border:none;border-radius:var(--md-sys-shape-corner-small);background:transparent;color:var(--md-sys-color-on-surface);font-family:inherit;font-size:13px;text-align:left;cursor:pointer}.topbar-menu-item:hover,.topbar-menu-item:focus-visible{background:var(--md-sys-color-surface-container-highest)}.topbar-menu-item .mi{color:var(--md-sys-color-on-surface-variant);flex-shrink:0}.wizard-connect{display:flex;flex-direction:column;align-items:center;text-align:center;padding:32px 24px;gap:12px}.wizard-connect-icon{color:var(--md-sys-color-primary)}.wizard-connect-title{margin:0;font-size:18px;font-weight:500}.wizard-connect-body{margin:0 0 8px;max-width:380px;font-size:13px;line-height:1.5;color:var(--md-sys-color-on-surface-variant)}.wizard-connect .sf-row{width:100%;max-width:380px;text-align:left}.wizard-connect .btn-filled{margin-top:8px}.newer-activity-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--md-sys-shape-corner-medium);background:color-mix(in srgb,var(--md-sys-color-primary) 10%,transparent);border:1px solid var(--md-sys-color-outline-variant);color:var(--md-sys-color-on-surface);font-size:13px}.newer-activity-banner .mi{color:var(--md-sys-color-primary);flex-shrink:0}.newer-activity-text{flex:1}.newer-activity-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.newer-activity-actions .btn-text{height:32px;padding:0 12px;font-size:13px}.newer-activity-actions .btn-icon{width:32px;height:32px}main{flex:1;overflow-x:clip;overflow-y:visible;padding:16px 20px 28px;display:flex;flex-direction:column;gap:16px}@media(max-width:640px){main{padding:12px;gap:12px}}@media(max-width:700px){main{padding-bottom:116px}.action-bar-inner{padding:10px 12px;gap:10px}#total-hrs{font-size:26px}.date-field{min-width:128px}}#loading{flex:1;display:flex;flex-direction:column;gap:14px;padding:8px 0 60px;color:var(--md-sys-color-on-surface-variant)}#loading .loading-rows{display:flex;flex-direction:column;gap:10px;margin-top:6px}#loading .loading-label{font-size:14px;font-weight:500;color:var(--md-sys-color-on-surface);text-align:center;margin-top:14px}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--md-sys-color-on-surface-variant);padding:60px 0}.empty-state .mi{color:var(--md-sys-color-outline)}.empty-state p{font-size:16px}.table-card{background:color-mix(in srgb,var(--md-sys-color-surface-container-low) 93%,transparent);backdrop-filter:blur(5px) saturate(1.1);-webkit-backdrop-filter:blur(5px) saturate(1.1);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);overflow-x:auto;overflow-y:auto;flex:0 1 auto;min-height:120px;box-shadow:var(--md-sys-elevation-1)}.data-table{width:100%;min-width:640px;border-collapse:collapse}.data-table th{position:sticky;top:0;z-index:1;background:var(--md-sys-color-surface-container-low);text-align:left;font-size:var(--md-sys-typescale-label-small-size);font-weight:var(--md-sys-typescale-label-small-weight);letter-spacing:var(--md-sys-typescale-label-small-tracking);text-transform:uppercase;color:var(--md-sys-color-on-surface-variant);padding:14px 12px 10px;border-bottom:1px solid var(--md-sys-color-outline-variant)}.data-table td{padding:5px 12px;border-bottom:1px solid var(--md-sys-color-outline-variant);vertical-align:middle}.data-table tfoot tr:last-child td,.data-table tbody tr:last-child td{border-bottom:none}.data-table tfoot td{padding:6px 8px}.data-table tbody tr.highlight td{background:color-mix(in srgb,var(--md-sys-color-primary) 18%,transparent);transition:background 3s ease-out}.data-table tbody tr.highlight-fade td{background:transparent;transition:background 2s ease-out}.data-table tbody tr:hover td{background:color-mix(in srgb,var(--md-sys-color-primary) 6%,transparent)}.data-table tbody tr.row-linked td{background:color-mix(in srgb,var(--md-sys-color-primary) 15%,transparent)}.data-table tbody tr.row-selected td{background:linear-gradient(90deg,color-mix(in srgb,var(--md-sys-color-primary) 34%,transparent),color-mix(in srgb,var(--md-sys-color-primary) 22%,transparent) 45%,color-mix(in srgb,var(--md-sys-color-primary) 16%,transparent));box-shadow:inset 0 1px color-mix(in srgb,var(--md-sys-color-primary) 85%,transparent),inset 0 -1px color-mix(in srgb,var(--md-sys-color-primary) 85%,transparent);color:var(--md-sys-color-on-surface)}.data-table tbody tr.row-linked td:first-child,.data-table tbody tr.row-selected td:first-child{position:relative}.data-table tbody tr.row-linked td:first-child:before,.data-table tbody tr.row-selected td:first-child:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:0 2px 2px 0;background:var(--md-sys-color-primary);opacity:.55}.data-table tbody tr.row-selected td:first-child:before{width:5px;opacity:1;box-shadow:0 0 12px 2px color-mix(in srgb,var(--md-sys-color-primary) 85%,transparent),0 0 30px 6px color-mix(in srgb,var(--md-sys-color-primary) 40%,transparent);animation:rowSelectBar var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-spring) both}@keyframes rowSelectBar{0%{transform:scaleY(.2);opacity:0}to{transform:scaleY(1);opacity:1}}.data-table tbody tr.row-selected td{animation:rowSelectFlash .62s var(--md-sys-motion-easing-standard-decelerate) both}@keyframes rowSelectFlash{0%{background-color:color-mix(in srgb,var(--md-sys-color-primary) 78%,transparent)}60%{background-color:color-mix(in srgb,var(--md-sys-color-primary) 30%,transparent)}to{background-color:transparent}}.data-table tr.done td{opacity:.45}.data-table tr.err td:not(.sc){background:color-mix(in srgb,var(--md-sys-color-error) 8%,transparent)}.badge{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:var(--md-sys-shape-corner-small);font-size:12px;font-weight:500;white-space:nowrap;cursor:default}.time-in,.desc-in{border:none;border-bottom:1px solid var(--md-sys-color-outline-variant);background:transparent;color:var(--md-sys-color-on-surface);font-family:Roboto,sans-serif;font-size:13px;padding:5px 4px 4px;transition:border-color .1s;border-radius:0}.time-in{width:62px;text-align:center;font-family:Roboto Mono,Courier New,monospace}.desc-in{width:100%;min-width:160px}.time-in:focus,.desc-in:focus{border-bottom:2px solid var(--md-sys-color-primary);padding-bottom:3px;outline:none}.time-in:hover:not(:focus),.desc-in:hover:not(:focus){border-bottom-color:var(--md-sys-color-on-surface)}.dur-cell{font-size:12px;color:var(--md-sys-color-on-surface-variant);font-variant-numeric:tabular-nums;white-space:nowrap;min-width:50px}.arrow{color:var(--md-sys-color-outline)}.proj-sel{background:var(--md-sys-color-surface-container-high);border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-small);color:var(--md-sys-color-on-surface);font-family:Roboto,sans-serif;font-size:12px;padding:4px 8px;transition:border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.proj-sel:hover{border-color:var(--md-sys-color-on-surface-variant);background:color-mix(in srgb,var(--md-sys-color-on-surface) 8%,var(--md-sys-color-surface-container-high))}.proj-sel:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:1px}#timeline{-webkit-user-select:none;user-select:none;position:sticky;top:var(--bcs-topbar-h, 64px);z-index:30;margin:0 -20px;padding:0 24px 6px;transition:padding-bottom var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard)}@media(max-width:640px){#timeline{margin:0 -12px;padding:0 16px 6px}}#timeline:before{content:"";position:absolute;inset:-8px 0 0;z-index:-1;background:color-mix(in srgb,var(--md-sys-color-surface) 82%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-bottom:1px solid transparent;opacity:0;transition:opacity var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-standard),border-color var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-standard)}#timeline.is-stuck:before{opacity:1;border-bottom-color:var(--md-sys-color-outline-variant)}#timeline.is-stuck #timeline-bar{height:28px}#timeline.is-stuck #timeline-labels{height:0;margin-top:0;opacity:0}#timeline-bar{position:relative;height:44px;transition:height var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard);background:color-mix(in srgb,var(--md-sys-color-surface-container-high) 76%,transparent);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);border-radius:var(--md-sys-shape-corner-medium);overflow:visible;box-shadow:inset 0 1px 3px #0003}.tl-bcs{position:absolute;left:0;bottom:0;height:5px;border-radius:0 0 2px 2px;pointer-events:none;background:repeating-linear-gradient(45deg,var(--md-sys-color-on-surface-variant) 0 2px,transparent 2px 5px);opacity:.85;z-index:11}.tl-block{position:absolute;top:3px;bottom:3px;border-radius:var(--md-sys-shape-corner-extra-small);opacity:1;transition:opacity .1s;cursor:grab;min-width:6px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.45);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0 4px;touch-action:none;-webkit-touch-callout:none}.tl-block.dragging{cursor:grabbing;z-index:10;box-shadow:var(--md-sys-elevation-3);will-change:left,width}.tl-block.tl-selected{outline:2px solid var(--md-sys-color-primary);outline-offset:2px;filter:brightness(1.3) saturate(1.15);box-shadow:0 0 0 1px color-mix(in srgb,var(--md-sys-color-primary) 90%,transparent),0 0 16px 3px color-mix(in srgb,var(--md-sys-color-primary) 55%,transparent),var(--md-sys-elevation-3);z-index:6}.tl-block.tl-selected:after{content:"";position:absolute;inset:-2px;border-radius:inherit;border:2px solid var(--md-sys-color-primary);pointer-events:none;animation:tlSelectRing .62s var(--md-sys-motion-easing-standard-decelerate) both}@keyframes tlSelectRing{0%{transform:scale(1);opacity:.95}60%{transform:scale(1.06);opacity:.35}to{transform:scale(1.1);opacity:0}}.tl-block.tl-linked{filter:brightness(1.22);box-shadow:0 0 0 2px color-mix(in srgb,var(--md-sys-color-primary) 70%,transparent),0 2px 10px #00000059;z-index:5}.tl-handle{position:absolute;top:-2px;bottom:-2px;width:10px;cursor:ew-resize;z-index:2;background:transparent;touch-action:none}.tl-handle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:4px;height:16px;border-radius:2px;background:#fff6;transition:background .1s}.tl-block:hover .tl-handle:after{background:#ffffffb3}.tl-handle-l{left:-4px;border-radius:4px 0 0 4px}.tl-handle-r{right:-4px;border-radius:0 4px 4px 0}#timeline-labels{position:relative;height:20px;margin-top:4px;overflow:hidden;transition:height var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard),margin-top var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard),opacity var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard)}#timeline-labels span{position:absolute;font-size:12px;color:var(--md-sys-color-on-surface);transform:translate(-50%);pointer-events:none}.meeting-panel{flex-shrink:0;background:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);overflow:hidden}.meeting-header{display:flex;align-items:center;gap:8px;padding:10px 10px 10px 16px;-webkit-user-select:none;user-select:none;font-size:13px;font-weight:500;color:var(--md-sys-color-on-surface-variant)}.meeting-header .meeting-close{margin-left:auto}.meeting-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}.meeting-form label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--md-sys-color-on-surface-variant)}.meeting-form select,.meeting-form input[type=text]{height:36px;border-radius:var(--md-sys-shape-corner-small);background:var(--md-sys-color-surface-container-high);border:1px solid var(--md-sys-color-outline);color:var(--md-sys-color-on-surface);font-family:Roboto,sans-serif;font-size:13px;padding:0 10px;transition:border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.meeting-form select:hover,.meeting-form input[type=text]:hover{border-color:var(--md-sys-color-on-surface-variant)}.meeting-form select{min-width:180px}.meeting-form .sel-trigger{height:36px;min-width:180px;padding:0 10px;border-radius:var(--md-sys-shape-corner-small);background:var(--md-sys-color-surface-container-high);border:1px solid var(--md-sys-color-outline);color:var(--md-sys-color-on-surface);font-size:13px}.meeting-form .sel-trigger:hover{border-color:var(--md-sys-color-on-surface-variant)}.meeting-form input[type=text]{width:80px;font-family:Roboto Mono,Courier New,monospace}#meeting-desc-in{width:200px;font-family:Roboto,sans-serif}.commits-panel{flex-shrink:0;background:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);overflow:hidden}.commits-header{display:flex;align-items:center;gap:8px;padding:10px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:13px;font-weight:500;color:var(--md-sys-color-on-surface-variant)}.commits-header:hover{background:color-mix(in srgb,var(--md-sys-color-primary) 6%,transparent)}.commit-row{display:flex;align-items:baseline;gap:10px;padding:4px 16px;font-size:13px;line-height:1.5}.commit-row:hover{background:color-mix(in srgb,var(--md-sys-color-primary) 4%,transparent)}.commit-time{font-family:Roboto Mono,Courier New,monospace;font-size:12px;color:var(--md-sys-color-on-surface-variant);min-width:42px;flex-shrink:0}.commit-sc{font-size:11px;font-weight:500;white-space:nowrap;flex-shrink:0;min-width:52px}.commit-msg{color:var(--md-sys-color-on-surface);word-break:break-word;cursor:pointer;flex:1}.commit-msg:hover{text-decoration:underline}.commit-use-btn{flex-shrink:0;background:none;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-extra-small);color:var(--md-sys-color-primary);cursor:pointer;font-size:12px;padding:2px 6px;opacity:.55;transition:opacity .15s}.commit-row:hover .commit-use-btn,.commit-use-btn:hover,.commit-use-btn:focus-visible{opacity:1}.commit-use-btn:hover{background:color-mix(in srgb,var(--md-sys-color-primary) 12%,transparent)}@media(hover:none){.commit-use-btn{opacity:1}}#commits-empty{padding:12px 16px;font-size:13px;color:var(--md-sys-color-on-surface-variant)}.progress-bar{height:4px;overflow:hidden;position:relative;background:var(--md-sys-color-surface-container-highest)}.progress-bar-fill{height:100%;background:var(--md-sys-color-primary);width:0%;transition:width var(--md-sys-motion-duration-medium3) var(--md-sys-motion-spring-default-spatial)}.progress-bar-determinate{box-shadow:inset 0 0 0 1px transparent}.action-bar{border-top:1px solid var(--md-sys-color-outline-variant);background:color-mix(in srgb,var(--md-sys-color-surface-container) 70%,transparent);box-shadow:var(--app-elevation-top);position:sticky;bottom:0;z-index:40}#progress-wrap{line-height:0}.action-bar-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;gap:16px;flex-wrap:wrap}.totals{display:flex;flex-direction:column;gap:4px}.totals-main{display:flex;align-items:baseline;gap:10px}#total-hrs{font-size:var(--md-sys-typescale-display-small-size);font-weight:var(--md-sys-typescale-display-small-weight);letter-spacing:-.02em;line-height:1;color:var(--md-sys-color-primary);font-variant-numeric:tabular-nums}#pause-hrs{font-size:12px;color:var(--md-sys-color-on-surface-variant);font-variant-numeric:tabular-nums}#entry-count{font-size:12px;color:var(--md-sys-color-on-surface-variant)}.action-controls{display:flex;align-items:center;gap:8px;margin-left:auto}.overwrite-label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--md-sys-color-on-surface-variant);cursor:pointer}.btn-error-text{color:var(--md-sys-color-error);font-size:12px}.m3-select{font-size:13px;height:32px;padding:0 28px 0 10px;border-radius:var(--md-sys-shape-corner-small);border:1px solid var(--md-sys-color-outline);background:var(--md-sys-color-surface-container) var(--select-chevron) right 4px center / 18px no-repeat;color:var(--md-sys-color-on-surface);cursor:pointer;font-family:Roboto,sans-serif;appearance:none;-webkit-appearance:none;transition:border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.m3-select:hover:not(:focus){border-color:var(--md-sys-color-on-surface)}.m3-select option{background:var(--md-sys-color-surface-container-high)}#confirm-overlay{position:fixed;inset:0;z-index:10000;background:var(--backdrop-scrim);display:flex;align-items:center;justify-content:center}.confirm-modal{max-width:400px;padding:24px;background:var(--md-sys-color-surface-container-high);border-radius:var(--md-sys-shape-corner-extra-large);box-shadow:var(--md-sys-elevation-4)}.confirm-modal h3{margin:0 0 12px;font-size:16px;font-weight:500}.confirm-modal p{margin:0 0 24px;font-size:14px;color:var(--md-sys-color-on-surface-variant);white-space:pre-line}.confirm-actions{display:flex;justify-content:flex-end;gap:8px}.settings-overlay{position:fixed;inset:0;z-index:9000;background:var(--backdrop-scrim);display:flex;align-items:center;justify-content:center}.settings-overlay[hidden]{display:none}.guide-overlay{position:fixed;inset:0;z-index:9500;background:var(--backdrop-scrim);display:flex;align-items:center;justify-content:center}.guide-overlay[hidden]{display:none}.guide-modal{background:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-extra-large);width:min(900px,94vw);height:74vh;display:flex;flex-direction:column;box-shadow:var(--md-sys-elevation-4)}.guide-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--md-sys-color-outline-variant)}.guide-header h2{margin:0;font-size:var(--md-sys-typescale-title-large-size);font-weight:500}.guide-body{overflow-y:auto;padding:24px;flex:1;font-size:14px;line-height:1.7}.guide-body h3{margin:24px 0 8px;font-size:15px;font-weight:600;color:var(--md-sys-color-primary)}.guide-body h3:first-child{margin-top:0}.guide-body p{margin:0 0 12px}.guide-body ul{margin:0 0 12px;padding-left:20px}.guide-body li{margin-bottom:4px}.guide-body code{background:var(--md-sys-color-surface-container-high);padding:2px 6px;border-radius:var(--md-sys-shape-corner-extra-small);font-size:13px}.guide-body kbd{background:var(--md-sys-color-surface-container-high);border:1px solid var(--md-sys-color-outline-variant);padding:2px 7px;border-radius:var(--md-sys-shape-corner-extra-small);font-size:12px;font-family:inherit}.guide-body .shortcut-grid{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;margin:8px 0 16px}.guide-body .shortcut-grid kbd{justify-self:end}.guide-body .md-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;cursor:pointer;border-radius:var(--md-sys-shape-corner-full);font:inherit;font-size:13px;font-weight:600;text-decoration:none;transition:box-shadow var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard)}.guide-body .md-btn:active{transform:scale(.96)}.guide-body .md-btn-tonal{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.guide-body .md-btn-tonal:hover{box-shadow:var(--md-sys-elevation-1)}.guide-body .md-btn-filled{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.guide-body .md-btn-filled:hover{box-shadow:var(--md-sys-elevation-2)}.guide-body .review-card{display:flex;gap:14px;align-items:flex-start;margin:28px 0 0;padding:18px 20px;border-radius:var(--md-sys-shape-corner-large);background:var(--md-sys-color-surface-container-high);border:1px solid var(--md-sys-color-outline-variant)}.guide-body .review-card-icon{flex:none;margin-top:2px;color:var(--md-sys-color-primary)}.guide-body .review-card-body p{margin:0 0 8px}.guide-body .review-card-body p:last-child{margin-bottom:0}.guide-body .guide-sig{margin-top:48px;padding-top:20px;border-top:1px solid var(--md-sys-color-outline-variant);text-align:center}.guide-body .guide-sig-line{margin:0 0 6px;font-size:15px;font-weight:500;letter-spacing:.01em;color:var(--md-sys-color-primary)}.guide-body .guide-sig-by{margin:0;font-size:12px;color:var(--md-sys-color-on-surface-variant)}.guide-split{display:flex;flex:1;min-height:0}.guide-nav{width:210px;flex:none;overflow-y:auto;padding:12px 8px 16px 16px;border-right:1px solid var(--md-sys-color-outline-variant)}.guide-search{width:100%;box-sizing:border-box;margin-bottom:12px;padding:7px 10px;font:inherit;font-size:13px;border-radius:var(--md-sys-shape-corner-small);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface)}.guide-search:focus{outline:none;border-color:var(--md-sys-color-primary)}.guide-nav-group+.guide-nav-group{margin-top:14px}.guide-nav-group h3{margin:0 0 4px 8px;font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--md-sys-color-on-surface-variant);opacity:.7}.guide-nav-list{list-style:none;margin:0;padding:0}.guide-nav-empty{margin:8px;font-size:13px;color:var(--md-sys-color-on-surface-variant)}.guide-tab{display:block;width:100%;text-align:left;padding:6px 10px;font-size:13px;font-weight:500;cursor:pointer;border:none;background:none;color:var(--md-sys-color-on-surface-variant);border-radius:var(--md-sys-shape-corner-small);transition:color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.guide-tab:hover{color:var(--md-sys-color-on-surface);background:color-mix(in srgb,currentColor 10%,transparent)}.guide-tab.active{color:var(--md-sys-color-on-secondary-container);background:var(--md-sys-color-secondary-container)}@media(max-width:640px){.guide-split{flex-direction:column}.guide-nav{width:auto;border-right:none;border-bottom:1px solid var(--md-sys-color-outline-variant);max-height:34vh}}.settings-modal{background:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-extra-large);width:min(900px,92vw);height:min(80vh,760px);display:flex;flex-direction:column;box-shadow:var(--md-sys-elevation-4)}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--md-sys-color-outline-variant)}.settings-header h2{margin:0;font-size:var(--md-sys-typescale-title-large-size);font-weight:500}.settings-body{display:flex;flex:1;overflow:hidden;min-height:0}.settings-sidebar{width:220px;min-width:180px;border-right:1px solid var(--md-sys-color-outline-variant);display:flex;flex-direction:column;overflow-y:auto}.settings-project-list{list-style:none;margin:0;padding:6px 0 8px}.settings-nav-label{padding:12px 16px 4px!important;cursor:default!important;font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--md-sys-color-on-surface-variant);opacity:.7;border-left-color:transparent!important;background:none!important}.settings-nav-label-actions{display:flex;align-items:center;justify-content:space-between;gap:4px;padding-right:8px!important}.settings-nav-actions{display:flex;align-items:center;gap:2px}.settings-nav-actions .btn-icon{width:26px;height:26px}.settings-project-list li{padding:10px 16px;cursor:pointer;font-size:14px;border-left:3px solid transparent;transition:background .15s}.settings-project-list li.settings-project-row{display:grid;grid-template-columns:1fr 28px;align-items:center;gap:4px;box-sizing:content-box}.settings-project-list li.settings-project-row>.settings-project-label{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-project-list li:hover{background:color-mix(in srgb,var(--md-sys-color-primary) 8%,transparent)}.settings-project-list li.active{background:color-mix(in srgb,var(--md-sys-color-primary) 12%,transparent);border-left-color:var(--md-sys-color-primary)}.settings-form{flex:1;padding:20px 24px;overflow-y:auto}.settings-empty-hint{color:var(--md-sys-color-on-surface-variant);font-size:14px;margin-top:60px;text-align:center}.sf-row{margin-bottom:16px}.sf-row label{display:block;font-size:12px;font-weight:500;color:var(--md-sys-color-on-surface-variant);margin-bottom:4px}.sf-row input,.sf-row select{width:100%;padding:8px 12px;border-radius:var(--md-sys-shape-corner-small);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);font-size:14px;font-family:inherit}.sf-row input:focus,.sf-row select:focus{outline:none;border-color:var(--md-sys-color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--md-sys-color-primary) 25%,transparent)}.sf-row .sf-check{width:auto;margin-right:8px}.sf-row .sel-trigger{width:100%;padding:8px 12px;font-size:14px;border-radius:var(--md-sys-shape-corner-small);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface)}.sf-row .sel-trigger:hover{border-color:var(--md-sys-color-outline)}.sf-colors{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;padding:4px 0}.sf-swatch{width:32px;height:32px;box-sizing:border-box;border-radius:50%;cursor:pointer;border:2px solid transparent;position:relative}.sf-swatch.sf-swatch-auto{border-color:var(--md-sys-color-outline-variant);border-style:dashed}.sf-swatch.active:after{content:"";position:absolute;top:50%;left:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:#0000008c;box-shadow:0 0 0 1.5px #ffffffd9}.sf-paths-list{margin-top:4px}.sf-paths-list .sf-path-row{display:flex;gap:6px;margin-bottom:6px}.sf-paths-list input{flex:1}.sf-del-path{background:none;border:none;color:var(--md-sys-color-error);cursor:pointer;padding:4px}.settings-footer{display:flex;justify-content:flex-end;gap:12px;padding:12px 24px;border-top:1px solid var(--md-sys-color-outline-variant)}.settings-save-btn{background:var(--md-sys-color-primary)!important;color:var(--md-sys-color-on-primary)!important}.setup-wizard-overlay{position:fixed;inset:0;z-index:9100;background:var(--backdrop-scrim);display:flex;align-items:center;justify-content:center}.setup-wizard{background:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-extra-large);width:min(600px,94vw);max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--md-sys-elevation-5);animation:swSlideIn var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-standard, cubic-bezier(.2,0,0,1))}.sw-panel.sw-nav-fwd{animation:swInFwd var(--md-sys-motion-duration-medium3) var(--md-sys-motion-easing-spring-soft) both}.sw-panel.sw-nav-back{animation:swInBack var(--md-sys-motion-duration-medium3) var(--md-sys-motion-easing-spring-soft) both}@keyframes swSlideIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@keyframes swInFwd{0%{opacity:0;transform:translate(32px)}to{opacity:1;transform:translate(0)}}@keyframes swInBack{0%{opacity:0;transform:translate(-32px)}to{opacity:1;transform:translate(0)}}.sw-header{padding:20px 24px 0;border-bottom:1px solid var(--md-sys-color-outline-variant)}.sw-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.sw-title{font-size:18px;font-weight:600}.sw-stepper{display:flex;align-items:flex-start;padding-bottom:1px;overflow-x:auto;gap:0}.sw-step{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;min-width:64px;position:relative}.sw-dot{width:26px;height:26px;border-radius:50%;border:2px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--md-sys-color-on-surface-variant);transition:background .2s,border-color .2s,color .2s}.sw-step.active .sw-dot{background:var(--md-sys-color-primary);border-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.sw-step.done .sw-dot{background:color-mix(in srgb,var(--md-sys-color-primary) 15%,transparent);border-color:var(--md-sys-color-primary);color:var(--md-sys-color-primary)}.sw-step-label{font-size:10px;color:var(--md-sys-color-on-surface-variant);white-space:nowrap;padding-bottom:12px}.sw-step.active .sw-step-label{color:var(--md-sys-color-primary);font-weight:500}.sw-step.done .sw-step-label{color:var(--md-sys-color-primary)}.sw-connector{position:absolute;top:13px;left:calc(50% + 13px);right:calc(-50% + 13px);height:1px;background:var(--md-sys-color-outline-variant)}.sw-step.done .sw-connector{background:var(--md-sys-color-primary)}.sw-body{flex:1;overflow-y:auto;padding:24px}.sw-loading{text-align:center;padding:48px 0;color:var(--md-sys-color-on-surface-variant);font-size:14px}.sw-panel h3{font-size:17px;font-weight:600;margin:0 0 12px}.sw-footer{display:flex;align-items:center;gap:8px;padding:14px 24px;border-top:1px solid var(--md-sys-color-outline-variant)}.sw-check-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.sw-check-item{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--md-sys-color-on-surface-variant)}.sw-ci-icon{font-size:16px;width:22px;text-align:center;flex-shrink:0}.sw-ci-ok{color:var(--md-sys-color-primary)}.sw-info-box{display:flex;align-items:center;gap:8px;margin-top:20px;padding:10px 14px;background:color-mix(in srgb,var(--md-sys-color-primary) 10%,transparent);border:1px solid color-mix(in srgb,var(--md-sys-color-primary) 30%,transparent);border-radius:var(--md-sys-shape-corner-small);font-size:13px;color:var(--md-sys-color-on-surface-variant)}.sw-status-ok{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--md-sys-shape-corner-small);background:color-mix(in srgb,var(--md-sys-color-primary) 10%,transparent);border:1px solid color-mix(in srgb,var(--md-sys-color-primary) 30%,transparent);color:var(--md-sys-color-primary);font-size:13px;font-weight:500}.sw-rec-url{font-family:monospace;font-size:11px;color:var(--md-sys-color-on-surface-variant);font-weight:400}.sw-hint{font-size:12px;color:var(--md-sys-color-on-surface-variant);margin-top:14px;margin-bottom:0}.sw-field-hint{font-size:12px;line-height:1.5;color:var(--md-sys-color-on-surface-variant);margin:6px 0 0}.sw-field-hint code{font-family:monospace;font-size:11px;background:var(--md-sys-color-surface-variant);padding:1px 5px;border-radius:var(--md-sys-shape-corner-extra-small)}.sw-field-hint a{color:var(--md-sys-color-primary)}.sw-discover-list{display:flex;flex-direction:column;gap:6px}.sw-disc-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--md-sys-color-surface-variant);border-radius:var(--md-sys-shape-corner-small);cursor:pointer;border:1px solid transparent;transition:border-color .15s}.sw-disc-item:hover{border-color:var(--md-sys-color-outline-variant)}.sw-disc-item input[type=checkbox]{cursor:pointer;accent-color:var(--md-sys-color-primary)}.sw-disc-info{flex:1;min-width:0}.sw-disc-name{display:block;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sw-disc-meta{display:block;font-size:11px;color:var(--md-sys-color-on-surface-variant);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sw-conf{font-size:11px;padding:2px 7px;border-radius:var(--md-sys-shape-corner-full);font-family:monospace;flex-shrink:0}.sw-conf.high{background:color-mix(in srgb,var(--md-sys-color-primary) 15%,transparent);color:var(--md-sys-color-primary)}.sw-conf.med{background:color-mix(in srgb,var(--app-warning) 15%,transparent);color:var(--app-warning)}.sw-conf.none{background:color-mix(in srgb,var(--md-sys-color-on-surface-variant) 12%,transparent);color:var(--md-sys-color-on-surface-variant);font-family:inherit}.sw-disc-summary{font-size:12px;color:var(--md-sys-color-on-surface-variant);margin-top:10px;display:flex;align-items:center}.sw-done-icon{text-align:center;color:var(--md-sys-color-primary);margin-bottom:8px}.sw-lead{color:var(--md-sys-color-on-surface-variant);font-size:14px;line-height:1.6;margin:0 0 20px}.sw-section-label{font-size:11px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--md-sys-color-primary);margin:20px 0 10px}.sw-panel .sw-section-label:first-of-type{margin-top:0}.sw-howto{margin:0 0 16px;padding:0 0 0 2px;list-style:none;counter-reset:sw-howto;display:flex;flex-direction:column;gap:10px}.sw-howto li{counter-increment:sw-howto;position:relative;padding-left:34px;font-size:14px;line-height:1.55;color:var(--md-sys-color-on-surface-variant)}.sw-howto li:before{content:counter(sw-howto);position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--md-sys-color-primary) 15%,transparent);color:var(--md-sys-color-primary);font-size:12px;font-weight:600}.sw-chip{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:var(--md-sys-shape-corner-full);font-size:11px;font-weight:500;vertical-align:1px}.sw-chip.ok{background:color-mix(in srgb,var(--md-sys-color-primary) 15%,transparent);color:var(--md-sys-color-primary)}.sw-chip.off{background:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface-variant);font-weight:400}.sw-warn-box{display:flex;align-items:flex-start;gap:10px;margin-bottom:16px;padding:10px 14px;background:color-mix(in srgb,var(--app-warning) 10%,transparent);border:1px solid color-mix(in srgb,var(--app-warning) 35%,transparent);border-radius:var(--md-sys-shape-corner-small);font-size:13px;line-height:1.5;color:var(--md-sys-color-on-surface-variant)}.sw-inline-btn{padding:0;font-size:13px;text-decoration:underline}.sw-details{margin-top:4px;padding:10px 14px;border-radius:var(--md-sys-shape-corner-small);border:1px solid var(--md-sys-color-outline-variant)}.sw-details summary{cursor:pointer;font-size:13px;font-weight:500;color:var(--md-sys-color-on-surface-variant);-webkit-user-select:none;user-select:none}.sw-details[open] summary{color:var(--md-sys-color-primary)}.health-dashboard{display:flex;flex-direction:column;gap:0}.health-dash-header{display:flex;align-items:center;gap:8px;margin-bottom:16px}.health-section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--md-sys-color-on-surface-variant);margin-bottom:10px;display:flex;align-items:center}.health-issue-badge{margin-left:8px;background:color-mix(in srgb,var(--md-sys-color-error) 15%,transparent);color:var(--md-sys-color-error);font-size:11px;padding:1px 7px;border-radius:var(--md-sys-shape-corner-full)}.health-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}@media(max-width:580px){.health-grid{grid-template-columns:1fr 1fr}}.health-source-card{background:var(--md-sys-color-surface-variant);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);padding:12px}.hsc-header{display:flex;align-items:flex-start;gap:8px;margin-bottom:6px}.hsc-icon{font-size:18px;line-height:1;flex-shrink:0;margin-top:1px}.hsc-name{font-size:13px;font-weight:600}.hsc-status{display:flex;align-items:center;font-size:11px;margin-top:2px}.hsc-detail{font-size:11px;color:var(--md-sys-color-on-surface-variant);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px}.hsc-fix{font-size:11px;padding:0;height:auto;color:var(--md-sys-color-primary)}.health-proj-list{border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);overflow:hidden}.health-proj-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--md-sys-color-outline-variant)}.health-proj-row:last-child{border-bottom:none}.health-proj-shortcut{font-family:monospace;font-size:12px;background:var(--md-sys-color-surface-variant);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-extra-small);padding:2px 7px;flex-shrink:0;min-width:72px;text-align:center}.health-proj-name{flex:1;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.health-proj-chips{display:flex;gap:4px;flex-shrink:0}.health-chip{font-size:10px;font-family:monospace;padding:2px 6px;border-radius:var(--md-sys-shape-corner-extra-small)}.health-chip.ok{background:color-mix(in srgb,var(--md-sys-color-primary) 15%,transparent);color:var(--md-sys-color-primary)}.health-chip.warn{background:color-mix(in srgb,var(--app-warning) 15%,transparent);color:var(--app-warning)}.health-chip.err{background:color-mix(in srgb,var(--md-sys-color-error) 15%,transparent);color:var(--md-sys-color-error)}.discover-overlay{position:absolute;inset:0;z-index:10;background:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-extra-large);display:flex;flex-direction:column}.discover-overlay[hidden]{display:none}.discover-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--md-sys-color-outline-variant)}.discover-header h3{margin:0;font-size:18px;font-weight:500}.discover-body{flex:1;overflow-y:auto;padding:16px 24px}.discover-group{margin-bottom:20px}.discover-group-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--md-sys-color-on-surface-variant);margin-bottom:8px}.discover-item{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:var(--md-sys-shape-corner-small);cursor:pointer;transition:background .12s}.discover-item:hover{background:color-mix(in srgb,var(--md-sys-color-primary) 8%,transparent)}.discover-item input[type=checkbox]{flex-shrink:0}.discover-item-info{flex:1;min-width:0}.discover-item-name{font-size:14px;font-weight:500}.discover-item-path{font-size:12px;color:var(--md-sys-color-on-surface-variant);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.discover-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 24px;border-top:1px solid var(--md-sys-color-outline-variant)}.discover-footer .discover-count{font-size:13px;color:var(--md-sys-color-on-surface-variant)}.discover-scan-bcs{font-size:13px}:root{--md-sys-motion-duration-short1: 50ms;--md-sys-motion-duration-short2: .1s;--md-sys-motion-duration-short3: .15s;--md-sys-motion-duration-short4: .2s;--md-sys-motion-duration-medium1: .25s;--md-sys-motion-duration-medium2: .3s;--md-sys-motion-duration-medium3: .35s;--md-sys-motion-duration-medium4: .4s;--md-sys-motion-duration-long1: .45s;--md-sys-motion-duration-long2: .5s;--md-sys-motion-duration-long3: .6s;--md-sys-motion-duration-long4: .7s;--md-sys-motion-easing-standard: cubic-bezier(.2, 0, 0, 1);--md-sys-motion-easing-standard-decelerate: cubic-bezier(0, 0, 0, 1);--md-sys-motion-easing-standard-accelerate: cubic-bezier(.3, 0, 1, 1);--md-sys-motion-easing-emphasized: cubic-bezier(.2, 0, 0, 1);--md-sys-motion-easing-emphasized-decelerate: cubic-bezier(.05, .7, .1, 1);--md-sys-motion-easing-emphasized-accelerate: cubic-bezier(.3, 0, .8, .15);--md-sys-motion-easing-spring: cubic-bezier(.34, 1.56, .64, 1);--md-sys-motion-easing-spring-soft: cubic-bezier(.3, 1.25, .5, 1);--md-sys-motion-spring-fast-spatial: var(--md-sys-motion-easing-spring);--md-sys-motion-spring-default-spatial: var(--md-sys-motion-easing-spring-soft);--md-sys-motion-spring-slow-spatial: var(--md-sys-motion-easing-spring-soft);--md-sys-motion-spring-fast-effects: var(--md-sys-motion-easing-standard);--md-sys-motion-spring-default-effects: var(--md-sys-motion-easing-standard)}@supports (animation-timing-function: linear(0,1)){:root{--md-sys-motion-easing-spring: linear(0, .0946 4.5%, .308 9.1%, .5545 13.6%, .7779 18.2%, .9486 22.7%, 1.0585 27.3%, 1.1134 31.8%, 1.1261 36.4%, 1.1117 40.9%, 1.0838 45.5%, 1.0527 50%, 1.0251 54.5%, 1.0044 59.1%, .9914 63.6%, .9852 68.2%, .9841 72.7%, .9862 77.3%, .9899 81.8%, .9938 86.4%, .9972 90.9%, .9997 95.5%, 1);--md-sys-motion-easing-spring-soft: linear(0, .0831 4.5%, .2648 9.1%, .4715 13.6%, .6603 18.2%, .8112 22.7%, .9195 27.3%, .9888 31.8%, 1.0272 36.4%, 1.0435 40.9%, 1.0455 45.5%, 1.0398 50%, 1.0308 54.5%, 1.0214 59.1%, 1.0132 63.6%, 1.0069 68.2%, 1.0025 72.7%, .9998 77.3%, .9984 81.8%, .9979 86.4%, .998 90.9%, .9983 95.5%, 1);--md-sys-motion-spring-fast-spatial: var(--md-sys-motion-easing-spring);--md-sys-motion-spring-default-spatial: var(--md-sys-motion-easing-spring-soft);--md-sys-motion-spring-slow-spatial: linear(0, .0768 4.5%, .2446 9.1%, .4361 13.6%, .6135 18.2%, .759 22.7%, .8677 27.3%, .9424 31.8%, .9891 36.4%, 1.0148 40.9%, 1.0261 45.5%, 1.0283 50%, 1.0255 54.5%, 1.0206 59.1%, 1.0151 63.6%, 1.0102 68.2%, 1.0063 72.7%, 1.0033 77.3%, 1.0014 81.8%, 1.0002 86.4%, .9995 90.9%, .9992 95.5%, 1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.6)}70%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes rippleExpand{to{transform:scale(4);opacity:0}}@keyframes pulseGlow{0%,to{box-shadow:0 0 color-mix(in srgb,var(--md-sys-color-primary) 40%,transparent)}50%{box-shadow:0 0 0 8px transparent}}@keyframes counterPulse{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes breathe{0%,to{opacity:.85}50%{opacity:1}}@keyframes heroEntrance{0%{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes subtleBounce{0%{transform:translateY(0)}30%{transform:translateY(-3px)}50%{transform:translateY(0)}70%{transform:translateY(-1px)}to{transform:translateY(0)}}@keyframes modalIn{0%{opacity:0;transform:scale(.85) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes backdropIn{0%{opacity:0;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{opacity:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}@keyframes tableRowIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes chipPop{0%{transform:scale(.8);opacity:0}60%{transform:scale(1.06)}to{transform:scale(1);opacity:1}}@keyframes skeletonShimmer{0%{background-position:-300px 0}to{background-position:300px 0}}@keyframes dayViewInFwd{0%{opacity:0;transform:translate(40px) scale(.98)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes dayViewInBack{0%{opacity:0;transform:translate(-40px) scale(.98)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes bookStamp{0%{transform:scale(1)}30%{transform:scale(.9)}60%{transform:scale(1.07)}to{transform:scale(1)}}@keyframes checkPop{0%{transform:scale(0) rotate(-14deg);opacity:0}60%{transform:scale(1.25) rotate(4deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.top-bar{animation:heroEntrance var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized-decelerate) both}main{animation:fadeIn var(--md-sys-motion-duration-medium3) var(--md-sys-motion-easing-standard-decelerate) both;animation-delay:.1s}.action-bar{animation:fadeInUp var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized-decelerate) both;animation-delay:.2s}.btn-filled,.btn-text,.btn-icon{transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-spring),border-radius var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-spring),box-shadow var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard)}.btn-filled:active:not(:disabled){transform:scale(.95)}.btn-text:active:not(:disabled){transform:scale(.96)}.btn-icon:active:not(:disabled){transform:scale(.88)}.btn-filled:hover:not(:disabled){box-shadow:var(--md-sys-elevation-1)}.table-card{animation:fadeInScale var(--md-sys-motion-duration-medium4) var(--md-sys-motion-easing-emphasized-decelerate) both;animation-delay:.15s;transition:box-shadow var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-standard)}.table-card:hover{box-shadow:var(--md-sys-elevation-2)}.commits-panel,.meeting-panel{animation:fadeInUp var(--md-sys-motion-duration-medium3) var(--md-sys-motion-easing-emphasized-decelerate) both;transition:box-shadow var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-standard),border-color var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard)}.commits-panel{animation-delay:.25s}.meeting-panel{animation-delay:.3s}.commits-panel:hover,.meeting-panel:hover{border-color:var(--md-sys-color-outline);box-shadow:0 1px 3px 1px #0000001a}.data-table tbody tr{animation:tableRowIn var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized-decelerate) both}.data-table tbody tr:nth-child(1){animation-delay:0ms}.data-table tbody tr:nth-child(2){animation-delay:30ms}.data-table tbody tr:nth-child(3){animation-delay:60ms}.data-table tbody tr:nth-child(4){animation-delay:90ms}.data-table tbody tr:nth-child(5){animation-delay:.12s}.data-table tbody tr:nth-child(6){animation-delay:.15s}.data-table tbody tr:nth-child(7){animation-delay:.18s}.data-table tbody tr:nth-child(8){animation-delay:.21s}.data-table tbody tr:nth-child(9){animation-delay:.24s}.data-table tbody tr:nth-child(10){animation-delay:.27s}.data-table tbody tr:nth-child(n+11){animation-delay:.3s}.data-table tbody tr{transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}@keyframes tlGrowIn{0%{opacity:0;transform:scaleX(.4)}to{opacity:1;transform:scaleX(1)}}.tl-block{transform-origin:left center;animation:tlGrowIn var(--md-sys-motion-duration-medium4) var(--md-sys-motion-spring-default-spatial) both;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),box-shadow var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard)}#timeline-bar.is-dragging .tl-block{animation-play-state:paused}.tl-block:hover{transform:scaleY(1.15);box-shadow:0 2px 8px #0000004d}#timeline-labels span{transition:left var(--md-sys-motion-duration-medium3) var(--md-sys-motion-easing-emphasized);animation:fadeIn var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard) both}#timeline:has(#timeline-bar.is-dragging) #timeline-labels span{transition:none}.tl-handle:after{transition:background .1s,height var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-spring)}.tl-block:hover .tl-handle:after{height:22px}.tl-now{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:var(--md-sys-color-primary);border-radius:1px;pointer-events:none;z-index:5}.tl-now-dot{position:absolute;top:-5px;left:50%;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:var(--md-sys-color-primary);animation:now-pulse 2.4s var(--md-sys-motion-easing-standard) infinite}@keyframes now-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--md-sys-color-primary) 55%,transparent)}50%{box-shadow:0 0 8px 3px color-mix(in srgb,var(--md-sys-color-primary) 30%,transparent)}}.tl-block:nth-child(1){animation-delay:50ms}.tl-block:nth-child(2){animation-delay:.1s}.tl-block:nth-child(3){animation-delay:.15s}.tl-block:nth-child(4){animation-delay:.2s}.tl-block:nth-child(5){animation-delay:.25s}.tl-block:nth-child(6){animation-delay:.3s}.tl-block:nth-child(7){animation-delay:.35s}.tl-block:nth-child(8){animation-delay:.4s}.tl-block:nth-child(n+9){animation-delay:.45s}.badge{animation:chipPop var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-spring) both;transition:transform var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),border-radius var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-spring),box-shadow var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.badge:hover{transform:scale(1.05);border-radius:var(--md-sys-shape-corner-full);box-shadow:0 1px 4px #0003}.snackbar:not([hidden]){animation:slideUp var(--md-sys-motion-duration-medium3) var(--md-sys-motion-easing-spring-soft) both}.snackbar.snackbar-leaving{animation:snackOut var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-emphasized-accelerate) both}@keyframes snackOut{to{opacity:0;transform:translate(-50%) translateY(16px) scale(.97)}}.snackbar-type-icon{flex-shrink:0}.settings-overlay:not([hidden]),.guide-overlay:not([hidden]),#confirm-overlay:not([hidden]){animation:backdropIn var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard-decelerate) both}.settings-overlay:not([hidden]) .settings-modal,.guide-overlay:not([hidden]) .guide-modal,#confirm-overlay:not([hidden])>div{animation:modalIn var(--md-sys-motion-duration-medium4) var(--md-sys-motion-easing-spring-soft) both}.discover-overlay:not([hidden]){animation:fadeInScale var(--md-sys-motion-duration-medium3) var(--md-sys-motion-easing-emphasized-decelerate) both}.discover-item{animation:fadeInUp var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard-decelerate) both}.skeleton{background:linear-gradient(90deg,var(--md-sys-color-surface-container-high) 25%,var(--md-sys-color-surface-container-highest) 50%,var(--md-sys-color-surface-container-high) 75%);background-size:600px 100%;animation:skeletonShimmer 1.8s infinite linear;border-radius:6px}.day-view{display:flex;flex-direction:column;gap:16px;flex:1;min-height:0}@media(max-width:640px){.day-view{gap:12px}}.day-view.nav-fwd{animation:dayViewInFwd var(--md-sys-motion-duration-medium4) var(--md-sys-motion-easing-spring-soft) both}.day-view.nav-back{animation:dayViewInBack var(--md-sys-motion-duration-medium4) var(--md-sys-motion-easing-spring-soft) both}#book-btn.stamp{animation:bookStamp var(--md-sys-motion-duration-long3) var(--md-sys-motion-easing-spring),bookFlash var(--md-sys-motion-duration-long3) var(--md-sys-motion-easing-standard)}@keyframes bookFlash{0%,45%{background:var(--app-positive);color:#fff}to{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}}.data-table tr.done .sc .mi{animation:checkPop var(--md-sys-motion-duration-long2) var(--md-sys-motion-easing-spring) both}.tl-block{transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),box-shadow var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard),left var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-spring-soft),width var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-spring-soft)}#timeline-bar.is-dragging .tl-block{transition-property:opacity,transform,box-shadow}.session-dot.active{animation:dot-breathe 2.4s var(--md-sys-motion-easing-standard) infinite}@keyframes dot-breathe{0%,to{transform:scale(1);box-shadow:0 0 color-mix(in srgb,var(--app-positive) 55%,transparent)}50%{transform:scale(1.35);box-shadow:0 0 10px 3px color-mix(in srgb,var(--app-positive) 45%,transparent)}}.session-dot.expired{animation:dot-alarm 1.2s var(--md-sys-motion-easing-standard) infinite}@keyframes dot-alarm{0%{box-shadow:0 0 color-mix(in srgb,var(--app-negative) 65%,transparent);transform:scale(1)}60%{box-shadow:0 0 0 9px transparent;transform:scale(1.15)}to{box-shadow:0 0 0 0 transparent;transform:scale(1)}}.session-btn.session-active{color:var(--app-positive)}.session-btn.session-active:hover:not(:disabled){background:color-mix(in srgb,var(--app-positive) 12%,transparent)}.session-btn.session-expired{color:var(--app-negative)}.session-btn.session-expired:hover:not(:disabled){background:color-mix(in srgb,var(--app-negative) 12%,transparent)}#total-hrs.updated{animation:counterPulse var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized) both,totalFlash var(--md-sys-motion-duration-long2) var(--md-sys-motion-easing-standard) both}@keyframes totalFlash{0%{color:var(--md-sys-color-on-primary-container);text-shadow:0 0 12px color-mix(in srgb,var(--md-sys-color-primary) 45%,transparent)}to{color:var(--md-sys-color-primary);text-shadow:none}}.commits-body,.meeting-body{display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--md-sys-motion-duration-medium3) var(--md-sys-motion-easing-emphasized),opacity var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard)}.commits-body[hidden],.meeting-body[hidden]{grid-template-rows:0fr;opacity:0;display:grid!important}.panel-inner{min-height:0;overflow:hidden}.commits-body>.panel-inner{padding:4px 0 8px}.meeting-body>.panel-inner{padding:12px 16px 16px}.commits-body[hidden]>.panel-inner,.meeting-body[hidden]>.panel-inner{padding-top:0;padding-bottom:0}.panel-chevron{margin-left:auto;display:inline-flex;transition:transform var(--md-sys-motion-duration-medium4) var(--md-sys-motion-easing-spring)}.panel-chevron.expanded{transform:rotate(180deg)}.commits-panel:has(>.commits-body:not([hidden])) .commits-header,.meeting-panel:has(>.meeting-body:not([hidden])) .meeting-header{background:color-mix(in srgb,var(--md-sys-color-primary) 6%,transparent);color:var(--md-sys-color-on-surface)}.time-in,.desc-in{transition:border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),box-shadow var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard)}.time-in:focus,.desc-in:focus{box-shadow:0 2px 0 0 var(--md-sys-color-primary)}.date-field{transition:border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),box-shadow var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard)}.date-field:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--md-sys-color-primary) 15%,transparent)}.src-sel{transition:border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),box-shadow var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard)}.src-sel:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--md-sys-color-primary) 15%,transparent)}.settings-project-list li{transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),border-left-color var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard),padding-left var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.settings-project-list li.active{padding-left:20px}.chk{transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard)}.chk:active{transform:scale(.85)}.sf-swatch{transition:box-shadow var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),border-color var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard)}.sf-swatch:hover{box-shadow:0 0 0 2px color-mix(in srgb,var(--md-sys-color-primary) 30%,transparent),0 2px 6px #00000059}.sf-swatch.active,.sf-swatch.active:hover{box-shadow:0 0 0 2px var(--md-sys-color-primary),0 2px 6px #00000059}.progress-bar:after{box-shadow:0 0 8px 2px color-mix(in srgb,var(--md-sys-color-primary) 30%,transparent)}.commit-row{animation:fadeInUp var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard-decelerate) both;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.commit-row:nth-child(1){animation-delay:0ms}.commit-row:nth-child(2){animation-delay:25ms}.commit-row:nth-child(3){animation-delay:50ms}.commit-row:nth-child(4){animation-delay:75ms}.commit-row:nth-child(5){animation-delay:.1s}.commit-row:nth-child(n+6){animation-delay:125ms}.empty-state:not([hidden]){animation:fadeInUp var(--md-sys-motion-duration-long1) var(--md-sys-motion-easing-emphasized-decelerate) both}.empty-state .mi{animation:subtleBounce 2s ease-in-out .5s 3}.top-bar-headline .mi{animation:subtleBounce 3s ease-in-out 1s 2}.work-items-panel .commits-header{border-left:3px solid var(--md-sys-color-tertiary)}.work-item-row{gap:6px}.work-item-row .wi-type{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--md-sys-color-on-surface-variant);min-width:40px}.ado-sourced{--ado-glow-color: color-mix(in srgb, var(--color, #7aa2f7) 60%, transparent);box-shadow:0 0 6px 1px var(--ado-glow-color);border:1px solid color-mix(in srgb,var(--color, #7aa2f7) 50%,transparent)}.ado-highlight{border-left:3px solid var(--md-sys-color-tertiary);box-shadow:inset 3px 0 8px -4px var(--md-sys-color-tertiary)}.badge-ado{box-shadow:0 0 6px 2px currentColor;outline:1.5px solid currentColor;outline-offset:1px}.static-meeting-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--md-sys-color-outline-variant);flex-wrap:wrap}.static-meeting-row .sm-project{width:90px;font-size:12px}.static-meeting-row .sm-desc{flex:1;min-width:120px;font-size:13px}.static-meeting-row .sm-time{width:80px;font-size:13px}.static-meeting-row .sm-sep{color:var(--md-sys-color-on-surface-variant);font-size:13px}.sm-days{display:flex;gap:2px}.sm-day-btn{width:26px;height:26px;border-radius:50%;border:1px solid var(--md-sys-color-outline);background:transparent;color:var(--md-sys-color-on-surface-variant);font-size:10px;cursor:pointer;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-spring)}.sm-day-btn:active{transform:scale(.88)}.sm-day-btn.active{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border-color:var(--md-sys-color-primary)}.sm-draft{background:var(--md-sys-color-surface-container-high);border-radius:var(--md-sys-shape-corner-small);padding:8px}.tl-unassigned{background:repeating-linear-gradient(135deg,var(--md-sys-color-surface-container-highest) 0 6px,var(--md-sys-color-surface-container-high) 6px 12px)!important;color:var(--md-sys-color-on-surface-variant)!important;border:1px dashed var(--md-sys-color-outline);font-weight:700}.unassigned-row{border-left:3px solid var(--md-sys-color-outline);background:color-mix(in srgb,var(--md-sys-color-surface-container-high) 55%,transparent)}.proj-sel-suggested{border-color:var(--md-sys-color-tertiary);border-style:dashed}.suggest-chip{font-size:10px;font-weight:600;letter-spacing:.02em;padding:1px 6px;border-radius:999px;white-space:nowrap;cursor:help;color:var(--md-sys-color-tertiary);background:color-mix(in srgb,var(--md-sys-color-tertiary) 18%,var(--md-sys-color-surface-container-highest))}.proj-sel-unassigned{border-color:var(--md-sys-color-primary);color:var(--md-sys-color-primary);font-weight:600;box-shadow:0 0 0 1px color-mix(in srgb,var(--md-sys-color-primary) 35%,transparent)}.tooltip{position:fixed;z-index:20000;pointer-events:none;transform:translate(-50%,-100%)}.tooltip.below{transform:translate(-50%)}.tooltip-bubble{background:var(--md-sys-color-inverse-surface);color:var(--md-sys-color-inverse-on-surface);font-size:12px;line-height:1.45;font-weight:400;padding:6px 10px;border-radius:var(--md-sys-shape-corner-extra-small);max-width:320px;white-space:pre-line;box-shadow:var(--md-sys-elevation-2);animation:tooltipIn var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-emphasized-decelerate) both}@keyframes tooltipIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.exp-loader{display:inline-block;flex-shrink:0;overflow:visible;animation:expLoaderIn var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-standard-decelerate) both}.exp-loader__shape{fill:var(--md-sys-color-primary);transform-box:view-box}.exp-loader__container{fill:var(--md-sys-color-surface-container-high)}.exp-loader--contained .exp-loader__shape{transform:scale(.78);transform-origin:50% 50%;transform-box:view-box}@keyframes expLoaderIn{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.sel-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:4px;text-align:left;font-family:Roboto,sans-serif;background-image:none!important;padding-right:8px!important}.sel-trigger:disabled{opacity:.5;cursor:not-allowed}.sel-trigger-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sel-trigger>.mi{color:var(--md-sys-color-on-surface-variant);flex-shrink:0;transition:transform var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard)}.sel-trigger.is-open>.mi{transform:rotate(180deg)}.sel-listbox{display:flex;flex-direction:column;background:var(--md-sys-color-surface-container-high);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);box-shadow:var(--md-sys-elevation-3);overflow:hidden;z-index:9999;animation:acPopIn .16s var(--md-sys-motion-easing-standard-decelerate) both;transform-origin:top center}.sel-listbox--above{transform-origin:bottom center}.sel-listbox-inner{list-style:none;margin:0;padding:4px;overflow-y:auto;overscroll-behavior:contain}.sel-search{flex:none;margin:0;border:none;outline:none;border-bottom:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface);font-family:Roboto,sans-serif;font-size:13px;padding:10px 12px}.sel-search::placeholder{color:var(--md-sys-color-on-surface-variant)}.sel-empty{padding:12px;font-size:12.5px;text-align:center;color:var(--md-sys-color-on-surface-variant)}.badge-trigger{border:none;cursor:pointer;gap:3px;font-family:Roboto,sans-serif;max-width:100%}.badge-trigger .badge-trigger-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge-trigger .badge-trigger-chev{flex-shrink:0;margin-right:-4px;opacity:0;transform:translate(-2px);transition:opacity var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard)}.badge-trigger:hover .badge-trigger-chev,.badge-trigger:focus-visible .badge-trigger-chev,.badge-trigger.is-open .badge-trigger-chev{opacity:.8;transform:translate(0)}.badge-trigger:hover{filter:brightness(1.12)}.badge-trigger.is-open .badge-trigger-chev{transform:translate(0) rotate(180deg)}.sel-group-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--md-sys-color-on-surface-variant);padding:8px 10px 4px}.sel-option{display:flex;align-items:center;gap:6px;padding:9px 10px;border-radius:var(--md-sys-shape-corner-small);font-size:13px;color:var(--md-sys-color-on-surface);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard)}.sel-option .sel-check{width:16px;height:16px;flex-shrink:0;color:var(--md-sys-color-primary);display:inline-flex}.sel-option-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sel-option.is-active{background:color-mix(in srgb,var(--md-sys-color-primary) 16%,transparent)}.sel-option.is-selected{color:var(--md-sys-color-primary);font-weight:500}.sel-option.is-disabled{color:var(--md-sys-color-on-surface-variant);opacity:.55;cursor:default}.ac-listbox,.time-listbox{list-style:none;margin:0;padding:4px;background:var(--md-sys-color-surface-container-high);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);box-shadow:var(--md-sys-elevation-3);overflow-y:auto;overscroll-behavior:contain;z-index:9999;animation:acPopIn .16s var(--md-sys-motion-easing-standard-decelerate) both;transform-origin:top center}.ac-listbox--above,.time-listbox--above{transform-origin:bottom center}@keyframes acPopIn{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes acPopInAbove{0%{opacity:0;transform:translateY(calc(-100% + 4px)) scale(.98)}to{opacity:1;transform:translateY(-100%) scale(1)}}.sel-listbox--above,.ac-listbox--above,.time-listbox--above{animation-name:acPopInAbove}.ac-option,.time-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border-radius:var(--md-sys-shape-corner-small);font-size:13px;color:var(--md-sys-color-on-surface);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard)}.ac-option.is-active,.time-option.is-active{background:color-mix(in srgb,var(--md-sys-color-primary) 16%,transparent)}.time-option__t{font-variant-numeric:tabular-nums;font-weight:500}.time-option__d{font-size:11px;color:var(--md-sys-color-on-surface-variant)}.time-option.is-current .time-option__t{color:var(--md-sys-color-primary)}.theme-scene{position:fixed;inset:0;z-index:-1;width:100%;height:100%;display:block;pointer-events:none}.desktop-card{border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);background:var(--md-sys-color-surface-container);padding:14px 16px;margin-bottom:20px}.desktop-card-head{display:flex;align-items:flex-start;gap:10px}.desktop-status-dot{width:10px;height:10px;border-radius:50%;margin-top:5px;flex-shrink:0;background:var(--md-sys-color-outline)}.desktop-status-dot.is-on{background:var(--app-positive);box-shadow:0 0 0 3px color-mix(in srgb,var(--app-positive) 22%,transparent)}.desktop-card-title{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:var(--md-sys-color-on-surface)}.desktop-status-label{font-size:12px;color:var(--md-sys-color-on-surface-variant);margin-top:2px}.desktop-status-label.is-on{color:var(--app-positive)}.desktop-card-body{font-size:13px;line-height:1.6;color:var(--md-sys-color-on-surface-variant);margin:12px 0}.desktop-download-btn{display:inline-flex;align-items:center;gap:8px;text-decoration:none}.desktop-card-note{font-size:11px;color:var(--md-sys-color-on-surface-variant);margin:10px 0 0}.desktop-hint{display:flex;align-items:center;gap:10px;padding:9px 12px;margin:0 0 12px;border-radius:var(--md-sys-shape-corner-medium);background:color-mix(in srgb,var(--md-sys-color-primary) 10%,var(--md-sys-color-surface-container));border:1px solid var(--md-sys-color-outline-variant);color:var(--md-sys-color-on-surface-variant);font-size:13px;animation:acPopIn .2s var(--md-sys-motion-easing-standard-decelerate) both}.desktop-hint>span{flex:1}.desktop-hint a{color:var(--md-sys-color-primary);font-weight:500}.desktop-hint .desktop-hint-close{flex-shrink:0;width:30px;height:30px}.skel-timeline{position:relative;height:44px;border-radius:var(--md-sys-shape-corner-medium)}.skel-tl-block{position:absolute;top:6px;bottom:6px;border-radius:var(--md-sys-shape-corner-extra-small);background:var(--md-sys-color-surface-container-highest);opacity:.85}.skel-row{display:flex;align-items:center;gap:12px;padding:0 12px;animation:fadeInUp var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard-decelerate) both}.skel-circle{width:18px;height:18px;border-radius:50%;flex-shrink:0}.skel-pill{width:64px;height:24px;border-radius:var(--md-sys-shape-corner-small);flex-shrink:0}.skel-slug{width:48px;height:16px;border-radius:var(--md-sys-shape-corner-extra-small);flex-shrink:0}.skel-desc{height:16px;border-radius:var(--md-sys-shape-corner-extra-small)}#loading .loading-label{display:inline-flex;align-items:center;gap:10px;justify-content:center}.empty-icon-circle{width:96px;height:96px;display:inline-flex;align-items:center;justify-content:center;background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border-radius:50%;animation:emptyMorph 7s ease-in-out infinite}.empty-icon-circle .mi{color:inherit;animation:none}.empty-icon-error{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}@keyframes emptyMorph{0%,to{border-radius:50%}33%{border-radius:42% 58% 57% 43%/45% 45% 55% 55%}66%{border-radius:58% 42% 45% 55%/55% 58% 42% 45%}}.empty-state p{font-size:16px;font-weight:500;color:var(--md-sys-color-on-surface)}.empty-state .empty-sub{font-size:13px;font-weight:400;color:var(--md-sys-color-on-surface-variant)}#add-row-btn{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);height:34px;padding:0 16px;margin:3px 2px;font-size:13px}.settings-project-list li{border-radius:0 var(--md-sys-shape-corner-full) var(--md-sys-shape-corner-full) 0;margin-right:8px}.sw-step.active .sw-dot{animation:chk-settle var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-spring)}.sw-step.done .sw-connector{transform-origin:left center;animation:swConnFill var(--md-sys-motion-duration-medium4) var(--md-sys-motion-easing-emphasized) both}@keyframes swConnFill{0%{transform:scaleX(0)}}#book-btn{height:48px;padding:0 28px;font-size:15px;letter-spacing:.02em;box-shadow:var(--md-sys-elevation-1)}#book-btn:hover:not(:disabled){box-shadow:var(--md-sys-elevation-2)}#book-btn:active:not(:disabled){border-radius:var(--md-sys-shape-corner-medium)}#book-btn.stamp:before{content:"";position:absolute;inset:-4px;border-radius:inherit;border:2px solid var(--app-positive);pointer-events:none;animation:bookBurst var(--md-sys-motion-duration-long3) var(--md-sys-motion-easing-emphasized-decelerate) both}@keyframes bookBurst{0%{opacity:.9;transform:scale(.92)}to{opacity:0;transform:scale(1.35)}}.progress-bar-fill{position:relative;overflow:hidden}.progress-bar-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--md-sys-color-on-primary) 35%,transparent),transparent);transform:translate(-100%);animation:progSweep 1.4s linear infinite}@keyframes progSweep{to{transform:translate(100%)}}@keyframes backdropOut{0%{opacity:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}to{opacity:0;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}}@keyframes modalOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.92) translateY(12px)}}.modal-closing{animation:backdropOut var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard-accelerate) both!important;pointer-events:none}.modal-closing>*{animation:modalOut var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-emphasized-accelerate) both!important}.top-bar{transition:box-shadow var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-standard)}body.scrolled .top-bar{box-shadow:var(--md-sys-elevation-3)}.top-bar-actions>*{animation:fadeInScale var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-spring) both}.top-bar-actions>*:nth-child(1){animation-delay:40ms}.top-bar-actions>*:nth-child(2){animation-delay:70ms}.top-bar-actions>*:nth-child(3){animation-delay:.1s}.top-bar-actions>*:nth-child(4){animation-delay:.13s}.top-bar-actions>*:nth-child(5){animation-delay:.16s}.top-bar-actions>*:nth-child(6){animation-delay:.19s}.top-bar-actions>*:nth-child(7){animation-delay:.22s}.top-bar-actions>*:nth-child(n+8){animation-delay:.25s}.data-table tbody tr:hover{transform:translate(3px)}.guide-tab{position:relative;border-bottom:2px solid transparent}.guide-tab.active{border-bottom-color:transparent}.guide-tab.active:after{content:"";position:absolute;left:8px;right:8px;bottom:-2px;height:2px;background:var(--md-sys-color-primary);border-radius:1px;animation:tabGrow var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-spring) both}@keyframes tabGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2}.theme-toggle-icon{animation:themeIconIn var(--md-sys-motion-duration-long2) var(--md-sys-motion-easing-spring) both}@keyframes themeIconIn{0%{transform:rotate(-90deg) scale(.6);opacity:0}to{transform:rotate(0) scale(1);opacity:1}}.crt{--crt-screen: #0a0c11;--crt-phosphor: #eaf1ff;position:fixed;inset:0;z-index:30000}.crt-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.crt-dim{position:absolute;inset:0;background:var(--crt-screen)}.crt-glow{position:absolute;left:0;right:0;top:50%;height:26px;translate:0 -50%;background:var(--crt-phosphor);filter:blur(14px);will-change:transform,opacity}.crt-line{position:absolute;left:0;right:0;top:50%;height:3px;translate:0 -50%;background:var(--crt-phosphor);will-change:transform,opacity}.crt-dot{position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px;border-radius:50%;background:var(--crt-phosphor);box-shadow:0 0 18px 6px color-mix(in srgb,var(--crt-phosphor) 95%,transparent),0 0 64px 26px color-mix(in srgb,var(--crt-phosphor) 50%,transparent);will-change:transform,opacity}.crt-dot-wake{animation:crtDotWake .17s ease-out both}.crt-glow-open,.crt-line-open{animation:crtLineOpen .17s ease-out both}.crt-line-x{animation:crtLineX .16s cubic-bezier(.55,0,.85,.35) both}.crt-glow-x{animation:crtGlowX .16s cubic-bezier(.55,0,.85,.35) both}.crt-dot-die{animation:crtDotDie .28s ease-out both}@keyframes crtDotWake{0%{transform:scale(0);opacity:0}60%{transform:scale(1.5);opacity:1}to{transform:scale(1);opacity:1}}@keyframes crtLineOpen{0%{transform:scaleX(.004)}to{transform:scaleX(1)}}@keyframes crtLineX{0%{transform:scaleX(1)}to{transform:scaleX(.004)}}@keyframes crtGlowX{0%{transform:scaleX(1);opacity:1}70%{opacity:.7}to{transform:scaleX(.004);opacity:0}}@keyframes crtDotDie{0%{transform:scale(.9);opacity:1}30%{transform:scale(1.6);opacity:1}to{transform:scale(.7);opacity:0}}html.crt-vt-off::view-transition-old(root),html.crt-vt-off::view-transition-new(root),html.crt-vt-on::view-transition-old(root),html.crt-vt-on::view-transition-new(root){transform-origin:50% 50%}html.crt-vt-off::view-transition-old(root){z-index:2}html.crt-vt-off::view-transition-new(root){z-index:1}html.crt-vt-on::view-transition-new(root){z-index:2}html.crt-vt-on::view-transition-old(root){z-index:1}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}}.empty-actions{display:flex;gap:8px;justify-content:center;margin-top:14px;flex-wrap:wrap}.status-line{display:block;line-height:1.4}.status-sep{opacity:.45}.status-warn{color:var(--md-sys-color-error);font-weight:500}.split-btn{display:inline-flex;align-items:stretch;gap:2px}.split-btn>.topbar-menu{display:flex;align-items:stretch}.split-btn>.topbar-menu>.split-btn-more{height:auto;align-self:stretch}.split-btn>#book-btn{border-top-right-radius:var(--md-sys-shape-corner-small);border-bottom-right-radius:var(--md-sys-shape-corner-small)}.split-btn-more{border-top-left-radius:var(--md-sys-shape-corner-small);border-bottom-left-radius:var(--md-sys-shape-corner-small);padding:0 10px;min-width:0;display:inline-flex;align-items:center;gap:0;transition:border-radius var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard)}.split-btn-more[aria-expanded=true]{border-radius:var(--md-sys-shape-corner-small)}.split-btn-more .mi{transition:transform var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard)}.split-btn-more[aria-expanded=true] .mi{transform:rotate(180deg)}.split-btn.is-armed>#book-btn,.split-btn.is-armed .split-btn-more{background:var(--md-sys-color-error);color:var(--md-sys-color-on-error)}.topbar-menu-popup.is-above{top:auto;bottom:calc(100% + 6px);transform-origin:bottom right}.topbar-menu-control{cursor:default}.topbar-menu-control>span{flex:none}.topbar-menu-control .sel-trigger{margin-left:auto;min-width:130px}.bcs-stats-muted{color:var(--md-sys-color-on-surface-variant);opacity:.5;padding:2px 6px}.bcs-stats-muted:hover{opacity:.9}.badge-tonal{background:color-mix(in srgb,var(--pc-light) 15%,transparent)!important;color:var(--pc-light)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pc-light) 28%,transparent)}[data-theme=light] .badge-tonal{background:color-mix(in srgb,var(--pc-dark) 9%,transparent)!important;color:var(--pc-dark)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pc-dark) 22%,transparent)}.origin-icon{display:inline-flex;align-items:center;color:var(--md-sys-color-on-surface-variant);opacity:.7;flex:none;margin-right:4px;cursor:help}tr:hover .origin-icon{opacity:1}.badge-cell{white-space:nowrap}.badge-cell>*{vertical-align:middle}input.chk{width:18px;height:18px;padding:0;border-width:2px;border-radius:3px}body.row-dragging{user-select:none;-webkit-user-select:none}body.row-dragging .data-table{cursor:default}.chk-cell{cursor:pointer}.chk-cell .row-chk{pointer-events:none}
