.ui-icon-btn{--icb-size: 36px;display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--icb-size);height:var(--icb-size);padding:0;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);line-height:0;transition:background-color var(--duration-instant) var(--ease-default),border-color var(--duration-instant) var(--ease-default),color var(--duration-instant) var(--ease-default),transform 80ms var(--ease-out)}.ui-icon-btn--sm{--icb-size: 28px;border-radius:var(--radius-sm)}.ui-icon-btn__icon{display:inline-flex;align-items:center;justify-content:center}.ui-icon-btn__icon svg{display:block;flex:none}.ui-icon-btn:hover:not(:disabled){background:var(--state-hover-bg);color:var(--text-primary)}.ui-icon-btn[aria-haspopup][aria-expanded=true],.ui-icon-btn[aria-pressed=true]{background:var(--state-active-bg);color:var(--text-primary)}.ui-icon-btn:active:not(:disabled){background:var(--state-active-bg);transform:scale(.94)}.ui-icon-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.ui-icon-btn:disabled{opacity:.4;cursor:not-allowed}.ui-icon-btn--subtle{background:var(--state-hover-bg);border-color:var(--glass-border)}.ui-icon-btn--subtle:hover:not(:disabled){background:var(--state-active-bg);border-color:var(--glass-border-hover)}.ui-icon-btn--accent{background:var(--accent-tint-bg);border-color:color-mix(in srgb,var(--accent-primary) 45%,transparent);color:var(--accent-text)}.ui-icon-btn--accent:hover:not(:disabled){background:var(--accent-tint-bg-strong);border-color:var(--accent-primary);color:var(--accent-text)}.ui-icon-btn--danger:hover:not(:disabled){background:color-mix(in srgb,var(--error-text) 12%,transparent);color:var(--danger-text)}@media (pointer: coarse){.ui-icon-btn{--icb-size: 44px}}.toast-container{position:fixed;bottom:24px;right:24px;z-index:var(--z-toast);display:flex;flex-direction:column;gap:8px;max-width:400px}.toast{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--radius-2xl);border:1px solid;box-shadow:var(--glass-shadow);font-size:var(--text-sm);font-family:var(--font-body);animation:toastSlideIn var(--duration-elaborate) var(--ease-out-expo)}@keyframes toastSlideIn{0%{opacity:0;transform:translate(20px) scale(.95)}40%{opacity:1}to{opacity:1;transform:translate(0) scale(1)}}.toast--exiting{animation:toastSlideOut var(--duration-instant) var(--ease-in) forwards}@keyframes toastSlideOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(16px) scale(.96)}}.toast-success{background:linear-gradient(180deg,#22c55e2e,#16a34a1f);color:var(--success-text);border-color:color-mix(in srgb,var(--success-border) 35%,transparent)}.toast-error{background:linear-gradient(180deg,#ef44442e,#dc26261f);color:var(--danger-text);border-color:color-mix(in srgb,var(--error-border) 35%,transparent)}.toast-warning{background:linear-gradient(180deg,#f59e0b2e,#d977061f);color:var(--warning-text);border-color:color-mix(in srgb,var(--warning-border) 35%,transparent)}.toast-info{background:linear-gradient(180deg,#6395ff2e,#4a7ef01f);color:var(--info-ink);border-color:color-mix(in srgb,var(--info-border) 35%,transparent)}.toast-icon{display:flex;align-items:center;flex-shrink:0}.toast-message{flex:1;line-height:1.4}.toast-dismiss{flex-shrink:0}@media (max-width: 640px){.toast-container{left:16px;right:16px;bottom:16px;max-width:none}}.glass-switch{--sw-w: 44px;--sw-h: 24px;--sw-thumb: 18px;--sw-gap: 3px;position:relative;display:inline-flex;align-items:center;gap:8px;padding:10px 4px;margin:0;background:transparent;border:0;color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent}.glass-switch--sm{--sw-w: 32px;--sw-h: 18px;--sw-thumb: 12px;--sw-gap: 3px;padding:5px 2px}.glass-switch--sm .glass-switch__caption{font-size:var(--font-size-xs);font-weight:600;white-space:nowrap}.glass-switch:focus{outline:none}.glass-switch:focus-visible .glass-switch__track{box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--accent-primary)}.glass-switch__track{position:relative;flex:none;width:var(--sw-w);height:var(--sw-h);border-radius:999px;background:var(--state-hover-bg);border:1px solid var(--glass-border-hover);box-shadow:inset 0 1px 2px var(--header-shadow);transition:background var(--duration-quick) var(--ease-default),border-color var(--duration-quick) var(--ease-default)}.glass-switch__thumb{position:absolute;top:calc((var(--sw-h) - 2px - var(--sw-thumb)) / 2);left:var(--sw-gap);width:var(--sw-thumb);height:var(--sw-thumb);border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--neutral-50);color:var(--neutral-700);box-shadow:var(--shadow-sm);transition:transform .22s var(--ease-spring)}.glass-switch__caption{font-size:var(--font-size-sm);font-weight:500;line-height:1.2;text-align:left;transition:color var(--duration-instant) var(--ease-default)}.glass-switch.is-on .glass-switch__track{background:linear-gradient(180deg,var(--yellow-400),var(--yellow-500));border-color:var(--yellow-600)}.glass-switch.is-on .glass-switch__thumb{transform:translate(calc(var(--sw-w) - 2px - var(--sw-thumb) - 2 * var(--sw-gap)))}.glass-switch.is-on .glass-switch__caption{color:var(--accent-text)}@media (hover: hover){.glass-switch:hover:not(.is-disabled) .glass-switch__track{border-color:var(--accent-primary)}.glass-switch:hover:not(.is-disabled) .glass-switch__caption{color:var(--text-primary)}.glass-switch.is-on:hover:not(.is-disabled) .glass-switch__caption{color:var(--accent-text)}}.glass-switch.is-disabled{cursor:not-allowed}.glass-switch.is-disabled .glass-switch__track,.glass-switch.is-disabled .glass-switch__caption{opacity:.45}.glass-switch.dark-mode-toggle{padding:8px 12px;background:var(--state-hover-bg);border:1px solid var(--glass-border);border-radius:20px;transition:border-color var(--duration-instant) var(--ease-default),background-color var(--duration-instant) var(--ease-default)}.glass-switch.dark-mode-toggle:hover{background:var(--state-active-bg);border-color:var(--glass-border-hover)}.glass-switch.dark-mode-toggle .glass-switch__caption,.glass-switch.dark-mode-toggle.is-on .glass-switch__caption{min-width:40px;color:var(--text-primary)}.lang-toggle{display:flex;align-items:center;justify-content:center;min-width:36px;height:28px;padding:0 8px;border:1px solid var(--glass-border);border-radius:6px;background:transparent;cursor:pointer;transition:background .15s ease,border-color .15s ease}.lang-toggle:hover{background:#ffffff0f;border-color:var(--glass-border-hover)}.lang-toggle:focus-visible{outline:2px solid var(--accent-purple);outline-offset:2px}.lang-toggle-label{font-size:11px;font-weight:700;font-family:var(--font-display);color:var(--text-secondary);letter-spacing:.5px}.ui-segmented{--seg-h: 32px;--seg-pad: 0 14px;--seg-font: var(--font-size-xs);display:inline-flex;flex-wrap:wrap;align-items:stretch;gap:4px;padding:3px;background:var(--state-hover-bg);border:1px solid var(--glass-border);border-radius:var(--radius-xl);max-width:100%;align-self:flex-start}.ui-segmented--sm{--seg-h: 28px;--seg-pad: 0 10px}.ui-segmented--full{display:flex;width:100%;align-self:stretch}.ui-segmented--full .ui-segmented__option{flex:1 1 0}.ui-segmented__option{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--seg-h);padding:var(--seg-pad);border-radius:calc(var(--radius-xl) - 3px);font-size:var(--seg-font);font-weight:600;letter-spacing:.02em;line-height:1.2;color:var(--text-secondary);white-space:nowrap;transition:background-color var(--duration-instant) var(--ease-default),color var(--duration-instant) var(--ease-default),transform 80ms var(--ease-out)}.ui-segmented__option:hover:not(:disabled):not(.is-active){background:var(--state-hover-bg);color:var(--text-primary)}.ui-segmented__option:active:not(:disabled){transform:scale(.97)}.ui-segmented__option:focus-visible{outline:2px solid var(--accent-primary);outline-offset:1px}.ui-segmented__option.is-active{background:var(--accent-primary);color:var(--on-accent);box-shadow:var(--shadow-xs)}.ui-segmented__option:disabled{opacity:.45;cursor:not-allowed}.ui-segmented__icon{display:inline-flex;flex:none}@media (pointer: coarse){.ui-segmented{--seg-h: 40px}}.ui-stepper{--stp-h: 36px;--stp-btn: 36px;--stp-value: 48px;--stp-font: var(--font-size-sm);display:inline-flex;align-items:stretch;flex:none;height:var(--stp-h);border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--state-hover-bg);overflow:hidden}.ui-stepper--sm{--stp-h: 28px;--stp-btn: 28px;--stp-value: 36px;--stp-font: var(--font-size-xs)}.ui-stepper__btn{display:inline-flex;align-items:center;justify-content:center;width:var(--stp-btn);border-radius:0;color:var(--text-secondary);font-size:calc(var(--stp-font) + 2px);font-weight:600;line-height:1;transition:background-color var(--duration-instant) var(--ease-default),color var(--duration-instant) var(--ease-default)}.ui-stepper__btn:hover:not(:disabled){background:var(--state-hover-bg);color:var(--text-primary)}.ui-stepper__btn:active:not(:disabled){background:var(--state-active-bg)}.ui-stepper__btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:-2px}.ui-stepper__btn:disabled{opacity:.35}.ui-stepper__value{display:inline-flex;align-items:center;justify-content:center;width:var(--stp-value);min-width:0;padding:0 4px;border:0;border-inline:1px solid var(--glass-border);border-radius:0;background:transparent;color:var(--text-primary);font-family:var(--font-display);font-size:var(--stp-font);font-weight:600;font-variant-numeric:tabular-nums;text-align:center}.ui-stepper__value:focus{outline:none;box-shadow:none}.ui-stepper:has(.ui-stepper__value:focus){border-color:var(--accent-primary)}@media (pointer: coarse){.ui-stepper{--stp-h: 44px;--stp-btn: 44px}}.qs-form{display:flex;flex-direction:column;gap:18px;width:100%;max-width:440px;padding:28px 26px;background:var(--surface-section-bg);border:1px solid var(--surface-section-border);border-radius:var(--surface-section-radius);box-shadow:var(--surface-section-shadow)}.qs-form--fullscreen{margin:auto}.qs-form--modal{max-width:none;box-shadow:none;border:none;padding:0;background:none}.qs-title{margin:0;font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:-.01em;color:var(--text-primary)}.light-mode .qs-title{color:#000000e6}.qs-form--modal .qs-title{font-size:17px}.qs-subtitle{margin:0;font-size:13px;line-height:1.5;color:var(--text-secondary)}.light-mode .qs-subtitle{color:#0000008c}.qs-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--text-secondary)}.light-mode .qs-field{color:#0009}.qs-input{height:44px;padding:0 14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:var(--text-primary);font-size:14px;font-weight:400;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}.qs-input::placeholder{color:var(--text-tertiary)}.qs-input:hover{border-color:#ffffff2e}.qs-input:focus-visible{outline:2px solid var(--accent-primary);outline-offset:1px}.light-mode .qs-input{background:#00000008;border-color:#0000001a;color:#000000e6}.light-mode .qs-input::placeholder{color:#00000059}.qs-stepper{display:flex;align-items:center;justify-content:space-between;gap:12px}.qs-stepper-label{font-size:13px;font-weight:600;color:var(--text-secondary)}.light-mode .qs-stepper-label{color:#0009}.qs-error{margin:0;padding:10px 12px;border:1px solid var(--error-border);border-radius:10px;background:var(--error-bg);color:var(--danger-text);font-size:13px;font-weight:400}.qs-actions{display:flex;gap:10px}.qs-actions .qs-submit{flex:1}.qs-cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:44px;padding:0 20px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#ffffff0a;color:var(--text-secondary);font-size:14px;font-weight:600;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease,opacity .14s ease}.qs-cancel:hover:not(:disabled){background:#ffffff14;color:var(--text-primary)}.qs-cancel:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.qs-cancel:disabled{opacity:.4;cursor:not-allowed}.light-mode .qs-cancel{border-color:#0000001f;background:#00000008;color:#000000a6}.light-mode .qs-cancel:hover:not(:disabled){background:#0000000f;color:#000000e6}.qs-submit{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid color-mix(in srgb,var(--yellow-400) 70%,transparent);min-height:44px;padding:0 20px;border-radius:999px;background:linear-gradient(180deg,color-mix(in srgb,var(--yellow-400) 95%,transparent),color-mix(in srgb,var(--yellow-500) 95%,transparent));color:var(--on-accent);font-size:14px;font-weight:700;letter-spacing:.02em;cursor:pointer;box-shadow:0 1px #ffffff2e inset,0 8px 22px color-mix(in srgb,var(--yellow-400) 18%,transparent);transition:transform .14s var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1)),box-shadow .14s ease,opacity .14s ease}.qs-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 1px #ffffff40 inset,0 12px 26px color-mix(in srgb,var(--yellow-400) 28%,transparent)}.qs-submit:active:not(:disabled){transform:translateY(0) scale(.98)}.qs-submit:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.qs-submit:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}@media (prefers-reduced-motion: reduce){.qs-submit,.qs-cancel,.qs-input{transition:none}.qs-submit:hover,.qs-submit:active{transform:none}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0000008c;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:20px;animation:overlayFadeIn var(--duration-standard) var(--ease-out)}.modal-content{border-radius:var(--surface-section-radius);border:1px solid var(--surface-section-border);background:var(--surface-overlay-bg);box-shadow:var(--glass-shadow-xl);width:100%;max-height:90vh;display:flex;flex-direction:column;animation:modalFadeIn var(--duration-elaborate) var(--ease-out-expo)}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modalFadeOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.95) translateY(6px)}}@keyframes overlayFadeOut{0%{opacity:1}to{opacity:0}}.modal-overlay--closing{animation:overlayFadeOut var(--duration-instant) var(--ease-in) forwards}.modal-content--closing{animation:modalFadeOut var(--duration-instant) var(--ease-in) forwards}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 24px;border-bottom:1px solid var(--surface-divider)}.modal-header__lead{display:flex;align-items:center;gap:10px;min-width:0}.modal-header__icon{display:inline-flex;color:var(--accent-text)}.modal-title{margin:0;font-size:20px;font-weight:600;font-family:var(--font-display);color:var(--text-primary)}.modal-body{padding:24px;overflow-y:auto;flex:1}.modal-footer{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding:16px 24px;border-top:1px solid var(--surface-divider)}@media (max-width: 768px){.modal-overlay{padding:12px;align-items:flex-end}.modal-header,.modal-body,.modal-footer{padding-inline:16px}.modal-footer>*{flex:1 1 auto}}@media (prefers-reduced-motion: reduce){.modal-content,.modal-overlay,.modal-overlay--closing,.modal-content--closing{animation-duration:0ms}}.btn{--btn-h: 38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--btn-h);padding:0 16px;border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:600;line-height:1.2;text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color var(--duration-instant) var(--ease-default),border-color var(--duration-instant) var(--ease-default),color var(--duration-instant) var(--ease-default),box-shadow var(--duration-instant) var(--ease-default),transform 80ms var(--ease-out)}.btn:active:not(:disabled){transform:scale(.97)}.btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.btn__icon{display:inline-flex;flex:none}.btn-sm{--btn-h: 32px;padding:0 12px;font-size:var(--font-size-xs)}.btn-md{--btn-h: 38px}.btn-lg{--btn-h: 44px;padding:0 22px;font-size:var(--font-size-md)}.btn--full{display:flex;width:100%}.btn:disabled,.btn[aria-disabled=true]{opacity:var(--btn-disabled-opacity, .5);box-shadow:none;cursor:not-allowed}.btn-primary{background-color:var(--accent-primary);border-color:var(--accent-primary);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background-color:var(--accent-primary-hover);border-color:var(--accent-primary-hover);color:var(--on-accent);box-shadow:0 8px 22px color-mix(in srgb,var(--accent-primary) 22%,transparent)}.btn-secondary{background-color:var(--state-hover-bg);border-color:var(--glass-border);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--state-active-bg);border-color:var(--glass-border-hover);color:var(--text-primary)}.btn-outline{background-color:transparent;border-color:var(--accent-primary);color:var(--accent-text)}.btn-outline:hover:not(:disabled){background-color:var(--accent-tint-bg);color:var(--accent-text)}.btn-ghost{background-color:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background-color:var(--state-hover-bg);color:var(--text-primary)}.btn-danger{background-color:var(--danger-fill);border-color:var(--danger-fill);color:var(--on-danger)}.btn-danger:hover:not(:disabled){background-color:var(--danger-fill-hover);border-color:var(--danger-fill-hover);color:var(--on-danger)}.btn-danger-soft{background-color:color-mix(in srgb,var(--error-text) 8%,transparent);border-color:color-mix(in srgb,var(--error-text) 45%,transparent);color:var(--danger-text)}.btn-danger-soft:hover:not(:disabled){background-color:color-mix(in srgb,var(--error-text) 14%,transparent);border-color:color-mix(in srgb,var(--error-text) 60%,transparent);color:var(--danger-text)}@media (pointer: coarse),(max-width: 768px){.btn{--btn-h: 44px}}.ctd-modal .modal-body{display:flex;flex-direction:column;gap:14px}.ctd-description{margin:0;font-size:13px;line-height:1.5;color:var(--text-secondary)}.ctd-checkbox{display:flex;gap:10px;align-items:flex-start;padding:12px;background:var(--bg-elevated);border:1px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;font-size:13px;color:var(--text-primary)}.ctd-checkbox-text{display:flex;flex-direction:column;gap:4px;white-space:normal}.ctd-checkbox-help{font-size:12px;color:var(--text-tertiary);font-weight:400;line-height:1.4}.ctd-file-pick{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;background:var(--bg-elevated);border:1px dashed var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:border-color .12s ease,color .12s ease,background .12s ease}.ctd-file-pick:hover{border-color:var(--accent-primary);color:var(--accent-text)}.ctd-file-pick-icon{color:inherit}.ctd-file-info{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-elevated);border:1px solid var(--glass-border);border-radius:var(--radius-md);font-size:13px}.ctd-file-info-icon{color:var(--accent-text);flex-shrink:0}.ctd-file-info-name{flex:1;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ctd-file-info-replace{background:none;border:none;color:var(--accent-text);font-size:12px;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm, 4px)}.ctd-file-info-replace:hover{background:#ffffff0d}.ctd-parse-error{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius-md);color:var(--danger-text);font-size:12px;line-height:1.4}.ctd-field{display:flex;flex-direction:column;gap:6px}.ctd-field-label{font-size:12px;font-weight:600;color:var(--text-secondary)}.ctd-field-input{padding:9px 12px;background:var(--bg-elevated);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-body);font-size:13px}.ctd-field-input:focus{outline:none;border-color:var(--accent-primary)}.std-format-grid{display:grid;grid-template-columns:1fr;gap:10px}@media (min-width: 480px){.std-format-grid{grid-template-columns:1fr 1fr}.std-format-grid>:first-child{grid-column:span 2}}.std-format-card{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:start;column-gap:12px;row-gap:2px;padding:14px 16px;min-height:80px;border-radius:var(--surface-item-radius);border:1px solid var(--surface-item-border);background:var(--surface-item-bg);box-shadow:var(--surface-item-shadow);text-align:left;font-family:var(--font-body);color:var(--text-primary);cursor:pointer;transition:background var(--duration-instant) var(--ease-default),border-color var(--duration-instant) var(--ease-default),transform var(--duration-instant) var(--ease-default),box-shadow var(--duration-instant) var(--ease-default)}.std-format-card:hover:not(:disabled){background:var(--surface-item-bg-hover);border-color:var(--surface-item-border-hover)}.std-format-card:active:not(:disabled){transform:scale(.985)}.std-format-card:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.std-format-card:disabled,.std-format-card--disabled{opacity:.55;cursor:not-allowed}.std-format-card-icon{grid-row:1 / 3;align-self:center;color:var(--accent-text)}.std-format-card-title{font-size:var(--font-size-md);font-weight:600;letter-spacing:-.01em}.std-format-card-desc{font-size:var(--font-size-xs);color:var(--text-secondary);line-height:1.5}.std-format-card-busy{grid-column:2;margin-top:6px;font-size:var(--font-size-xs);color:var(--accent-text);font-weight:600}@media (prefers-reduced-motion: reduce){.std-format-card{transition:none}.std-format-card:active:not(:disabled){transform:none}}.account-panel-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:var(--z-overlay);opacity:0;pointer-events:none;transition:opacity var(--duration-standard) var(--ease-default)}.account-panel-overlay.open{opacity:1;pointer-events:auto}.account-panel{position:fixed;top:0;right:0;bottom:0;width:320px;max-width:90vw;background:var(--surface-overlay-bg);z-index:var(--z-modal);display:flex;flex-direction:column;box-shadow:-4px 0 24px #0006;border-left:1px solid var(--surface-section-border);transform:translate(100%);transition:transform var(--duration-standard) cubic-bezier(.4,0,.2,1)}.account-panel.open{transform:translate(0)}.account-panel__header{padding:24px 20px 20px;border-bottom:1px solid var(--glass-border);display:flex;align-items:flex-start;justify-content:space-between;flex-shrink:0}.account-panel__identity{display:flex;align-items:center;gap:12px;min-width:0}.account-panel__avatar{width:40px;height:40px;border-radius:50%;background:var(--accent-primary);color:var(--on-accent);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:16px;font-weight:700;flex-shrink:0;text-transform:uppercase}.account-panel__email{font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-panel__close{flex-shrink:0}.account-panel__body{flex:1;padding:16px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.account-panel__impersonation{display:flex;flex-direction:column;gap:10px;padding:12px 14px;margin:4px 0 12px;border-radius:var(--radius-xl);border:1px solid rgba(245,158,11,.45);background:linear-gradient(180deg,#f59e0b2e,#f59e0b0f);box-shadow:0 10px 28px #f59e0b1f}.account-panel__impersonation-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.account-panel__impersonation-label{font-family:var(--font-display);font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#f59e0bf2}.account-panel__impersonation-email{font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-panel__impersonation-exit{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:40px;padding:0 14px;border-radius:var(--radius-lg);border:1px solid var(--accent-primary, var(--yellow-400));background:linear-gradient(180deg,var(--yellow-400),var(--yellow-500));color:var(--on-accent);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:transform var(--duration-instant, .12s) var(--ease-default, ease-out),box-shadow var(--duration-instant, .12s) var(--ease-default, ease-out),filter var(--duration-instant, .12s) var(--ease-default, ease-out)}.account-panel__impersonation-exit:hover{filter:brightness(1.04);box-shadow:0 8px 24px #f59e0b52}.account-panel__impersonation-exit:active{transform:scale(.985)}.account-panel__impersonation-exit:focus-visible{outline:2px solid var(--accent-primary, var(--yellow-400));outline-offset:2px}.account-panel__impersonation-exit .account-panel__action-icon{width:16px;height:16px;color:#1a1a1a}.light-mode .account-panel__impersonation{border-color:#f59e0b99;background:linear-gradient(180deg,#f59e0b2e,#f59e0b14);box-shadow:0 8px 24px #f59e0b2e}.light-mode .account-panel__impersonation-label{color:#b45309}.account-panel__section-label{font-family:var(--font-display);font-size:var(--text-xs);font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;padding:8px 12px 4px}.account-panel__action{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:10px 12px;background:none;border:none;border-radius:var(--radius-lg);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;cursor:pointer;text-align:left;transition:all var(--duration-instant) var(--ease-default)}.account-panel__action:hover{background-color:var(--bg-elevated)}.account-panel__action:active{transform:scale(.98)}.account-panel__action:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.account-panel__action-icon{width:20px;height:20px;color:var(--text-secondary);flex-shrink:0}.account-panel__action--danger,.account-panel__action--danger .account-panel__action-icon{color:var(--error)}.account-panel__action--danger:hover{background-color:color-mix(in srgb,var(--error-text) 10%,transparent)}.account-panel__create-form{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--surface-item-bg);border:1px solid var(--surface-item-border);border-radius:var(--surface-item-radius);box-shadow:var(--surface-item-shadow)}.account-panel__create-label{font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;color:var(--text-secondary)}.account-panel__create-input{width:100%;padding:8px 10px;font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);outline:none;transition:border-color var(--duration-instant) var(--ease-default)}.account-panel__create-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #eec52f26}.account-panel__create-input::placeholder{color:var(--text-tertiary)}.account-panel__create-error{font-family:var(--font-body);font-size:var(--text-xs);color:var(--error);padding:4px 0}.account-panel__create-actions{display:flex;gap:8px;justify-content:flex-end}.account-panel__create-cancel{padding:6px 12px;background:none;border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:all var(--duration-instant) var(--ease-default)}.account-panel__create-cancel:hover{border-color:var(--text-tertiary);color:var(--text-primary)}.account-panel__create-form--quickstart{gap:12px}.account-panel__create-confirm{padding:6px 12px;background:var(--accent-primary);border:none;border-radius:var(--radius-md);color:var(--on-accent);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:all var(--duration-instant) var(--ease-default)}.account-panel__create-confirm:hover:not(:disabled){opacity:.85}.account-panel__create-confirm:disabled{opacity:.4;cursor:not-allowed}.account-panel__divider{height:1px;background:var(--glass-border);margin:4px 12px}.account-panel__footer{padding:12px 20px 20px;border-top:1px solid var(--glass-border);flex-shrink:0}.account-panel__logout{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px;background:none;border:1px solid var(--error);border-radius:var(--radius-lg);color:var(--error);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all var(--duration-instant) var(--ease-default)}.account-panel__logout:hover{background-color:var(--error);color:#fff}.account-panel__logout:active{transform:scale(.98)}.account-panel__logout:focus-visible{outline:2px solid var(--error);outline-offset:2px}.account-panel__search-wrapper{position:relative}.account-panel__search-input{width:100%;padding:10px 12px;background:#ffffff0a;color:var(--text-primary);border:1px solid var(--glass-border);border-radius:var(--radius-xl);font-family:var(--font-body);font-size:var(--text-sm);outline:none;transition:border-color var(--duration-instant) var(--ease-default)}.account-panel__search-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #eec52f26}.account-panel__search-input::placeholder{color:var(--text-tertiary)}.account-panel__search-loading,.account-panel__search-empty{padding:16px 12px;text-align:center;font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-tertiary)}.account-panel__user-list{display:flex;flex-direction:column;gap:4px}.account-panel__user-group{display:flex;flex-direction:column;gap:2px}.account-panel__user-email{padding:8px 12px 4px;font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-panel__user-cabinet{display:flex;align-items:center;width:100%;padding:8px 12px 8px 24px;background:none;border:none;border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;text-align:left;transition:background var(--duration-instant) var(--ease-default)}.account-panel__user-cabinet:hover{background:var(--bg-elevated)}.account-panel__user-cabinet:focus-visible{outline:2px solid var(--accent-primary);outline-offset:-2px}.account-panel__cabinet-list{display:flex;flex-direction:column;gap:2px;margin-bottom:4px}.account-panel__cabinet-btn{display:block;width:100%;padding:8px 12px;background:none;border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;cursor:pointer;text-align:left;transition:all var(--duration-instant) var(--ease-default)}.account-panel__cabinet-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.account-panel__cabinet-btn.active{background:color-mix(in srgb,var(--accent-primary) 12%,transparent);color:var(--accent-text);border-color:color-mix(in srgb,var(--accent-primary) 25%,transparent);font-weight:600}.account-panel__cabinet-btn--shared{font-style:italic}.account-panel__cabinet-btn--shared:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--text-tertiary);margin-right:8px;vertical-align:middle}.account-panel__cabinet-btn--shared.active:before{background:var(--accent-primary)}.account-panel__section-label--sub{font-size:var(--text-xs);margin-top:8px;opacity:.7}@media (min-width: 768px){.account-panel__action--mobile-only{display:none}}.sync-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--blue-500);box-shadow:0 0 #4a90e280;animation:sync-pulse 1.4s ease-in-out infinite;margin-left:8px;vertical-align:middle}@keyframes sync-pulse{0%,to{box-shadow:0 0 #4a90e299;opacity:.9}50%{box-shadow:0 0 0 6px #4a90e200;opacity:1}}@media (prefers-reduced-motion: reduce){.sync-dot{animation:none}}.ui-select{--sel-h: 40px;--sel-font: var(--font-size-sm);position:relative;display:inline-flex;align-items:center;min-width:0;max-width:100%}.ui-select--sm{--sel-h: 32px;--sel-font: var(--font-size-xs)}.ui-select--full{display:flex;width:100%}.ui-select__control{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;min-width:0;height:var(--sel-h);padding:0 34px 0 12px;border:1px solid var(--input-border);border-radius:var(--radius-md);background:var(--input-bg);color:var(--text-primary);font-family:var(--font-body);font-size:var(--sel-font);font-weight:500;text-overflow:ellipsis;cursor:pointer;transition:border-color var(--duration-instant) var(--ease-default),box-shadow var(--duration-instant) var(--ease-default)}.ui-select__control:hover:not(:disabled){border-color:var(--glass-border-hover)}.ui-select__control:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-primary) 25%,transparent)}.ui-select__control:disabled{opacity:.5;cursor:not-allowed}.ui-select__control option{background:var(--bg-elevated);color:var(--text-primary)}.ui-select__chevron{position:absolute;right:10px;color:var(--text-secondary);pointer-events:none}.ui-select.is-disabled .ui-select__chevron{opacity:.5}@media (max-width: 768px){.ui-select{--sel-h: 44px;--sel-font: 16px}}.cabinet-switcher{max-width:200px}.cabinet-switcher .ui-select__control{font-family:var(--font-display);font-weight:600;color:var(--accent-text);text-overflow:ellipsis}.cabinet-switcher--static{display:block;font-family:var(--font-display);font-size:13px;font-weight:600;color:var(--accent-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 768px){.cabinet-switcher{max-width:170px}}.app-header{position:sticky;top:0;z-index:50;background-color:var(--card-bg);border-bottom:1px solid var(--border-color);height:var(--header-height);min-height:var(--header-height)}.header-container{display:flex;align-items:center;justify-content:space-between;gap:12px;height:56px;padding:0 16px;max-width:100%}@media (min-width: 768px){.header-container{padding:0 24px}}.header-left{display:flex;align-items:center;gap:24px;min-width:0}@media (min-width: 1200px){.header-left{gap:32px}}.header-brand{display:flex;align-items:center;gap:10px}.app-logo{height:56px;width:auto}@media (max-width: 480px){.app-logo{height:44px}}.app-title{font-family:var(--font-display);font-size:20px;font-weight:600;color:var(--text-primary);margin:0}.header-nav{display:none;align-items:center;gap:4px}@media (min-width: 768px){.header-nav{display:flex}}.header-nav-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:none;border:none;border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-display);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.header-nav-btn:hover{background-color:var(--bg-elevated);color:var(--text-primary)}.header-nav-btn--active{background-color:var(--accent-primary);color:var(--on-accent)}.header-nav-btn--active:hover{background-color:var(--accent-primary-hover);color:var(--on-accent)}.header-nav-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.header-right{display:flex;align-items:center;gap:12px}.header-user-email{display:none;font-family:var(--font-body);font-size:13px;color:var(--text-secondary)}@media (min-width: 1024px){.header-user-email{display:block}}.header-icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:none;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--duration-instant) var(--ease-default)}.header-icon-btn:hover{background-color:var(--bg-elevated);color:var(--text-primary)}.header-icon-btn:active{transform:scale(.95)}.header-icon-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.header-avatar-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:var(--accent-primary);color:var(--on-accent);border:none;border-radius:50%;font-family:var(--font-display);font-size:14px;font-weight:700;cursor:pointer;text-transform:uppercase;transition:all var(--duration-instant) var(--ease-default)}.header-avatar-btn:hover{opacity:.85}.header-avatar-btn:active{transform:scale(.95)}.header-avatar-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}@media (max-width: 768px){.header-nav{display:none}.header-right>:not(.header-avatar-btn):not(.cabinet-switcher){display:none}.header-container{padding-left:var(--space-md);padding-right:var(--space-md)}.app-logo{height:28px}}.bottom-tab-bar{display:none}@media (max-width: 768px){.bottom-tab-bar{display:flex;position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));height:var(--bottom-nav-height);padding:6px;gap:4px;background:var(--surface-overlay-bg);border:1px solid var(--surface-section-border);border-radius:var(--surface-section-radius);box-shadow:var(--glass-shadow-lg);z-index:50;justify-content:space-around;align-items:stretch}}.bottom-tab-bar__item{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:44px;padding:4px 0;background:none;border:none;border-radius:var(--radius-2xl);color:var(--text-tertiary);font-family:var(--font-body);font-size:11px;font-weight:500;cursor:pointer;transition:color var(--duration-instant) var(--ease-default),background-color var(--duration-instant) var(--ease-default),transform var(--duration-quick) var(--ease-spring);-webkit-tap-highlight-color:transparent;position:relative}.bottom-tab-bar__item--active{color:var(--accent-text);background:color-mix(in srgb,var(--accent-primary) 14%,transparent)}.bottom-tab-bar__item:active{transform:scale(.9);transition:transform 80ms var(--ease-out)}.bottom-tab-bar__item--active .bottom-tab-bar__icon{animation:bottomTabPop var(--duration-standard) var(--ease-spring)}@keyframes bottomTabPop{0%{transform:scale(.8)}50%{transform:scale(1.15)}to{transform:scale(1)}}@media (prefers-reduced-motion: reduce){.bottom-tab-bar__item,.bottom-tab-bar__item:active{transition:none;transform:none}.bottom-tab-bar__item--active .bottom-tab-bar__icon{animation:none}}.bottom-tab-bar__icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px}.bottom-tab-bar__label{max-width:100%;padding:0 2px;line-height:1;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bottom-tab-bar__item:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.light-mode .bottom-tab-bar{box-shadow:0 14px 40px #00000029}.impersonation-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 16px;background:linear-gradient(180deg,#f59e0bf2,#d97706f2);border-bottom:1px solid rgba(180,83,9,.6);color:#1a1a1a;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;flex-shrink:0;box-shadow:0 6px 18px #f59e0b33}.impersonation-banner__lead{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.impersonation-banner__badge{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#0000001f;color:#1a1a1a;flex-shrink:0}.impersonation-banner__text{display:inline-flex;align-items:baseline;gap:6px;min-width:0;overflow:hidden}.impersonation-banner__prefix{font-weight:600;text-transform:uppercase;font-size:var(--text-xs);letter-spacing:.06em;color:#000000b3}.impersonation-banner__email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1a1a1a;font-weight:600}.impersonation-banner__exit{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:4px 14px;background:#1a1a1a;border:1px solid rgba(0,0,0,.6);border-radius:var(--radius-md);color:var(--yellow-400);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;cursor:pointer;flex-shrink:0;transition:transform var(--duration-instant) var(--ease-default),background var(--duration-instant) var(--ease-default),box-shadow var(--duration-instant) var(--ease-default)}.impersonation-banner__exit:hover{background:#000;box-shadow:0 6px 18px #00000059}.impersonation-banner__exit:active{transform:scale(.97)}.impersonation-banner__exit:focus-visible{outline:2px solid #1a1a1a;outline-offset:2px}@media (max-width: 640px){.impersonation-banner{flex-direction:column;align-items:stretch;gap:8px;padding:10px 12px}.impersonation-banner__exit{width:100%;justify-content:center;min-height:36px}}@media (prefers-reduced-motion: reduce){.impersonation-banner__exit{transition:none}.impersonation-banner__exit:active{transform:none}}.plan-banner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem .75rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;border-bottom:1px solid var(--glass-border);text-align:center}@media (max-width: 480px){.plan-banner{padding:.5rem .75rem;font-size:.8125rem}}.plan-banner--frozen{background:linear-gradient(180deg,#dc2626f2,#b91c1cf2);color:#fff}.plan-banner--warning{background:linear-gradient(180deg,#fb923cf2,#ea580cf2);color:#fff}.plan-banner--info{background:linear-gradient(180deg,#f3d23e24,#f3d23e14);color:var(--text-primary);border-bottom-color:#f3d23e38}.plan-banner__text{flex:0 1 auto}.plan-banner__cta{display:inline-flex;align-items:center;padding:.3125rem .75rem;border-radius:999px;font-weight:600;text-decoration:none;background:#ffffff2e;color:inherit;transition:background var(--duration-instant) var(--ease-default)}.plan-banner__cta:hover{background:#ffffff47}.plan-banner--info .plan-banner__cta{background:var(--yellow-500);color:var(--on-accent)}.plan-banner--info .plan-banner__cta:hover{background:var(--yellow-400);color:var(--on-accent)}.time-budget-slider{display:flex;flex-direction:column;gap:8px;margin:12px 0;padding:12px 14px;background:var(--bg-elevated);border:1px solid var(--glass-border);border-radius:var(--radius-md)}.time-budget-slider-text{font-size:13px;color:var(--text-secondary)}.time-budget-slider-text strong{color:var(--text-primary);font-weight:600}.ui-slider{--ui-slider-fill: var(--accent-primary);--ui-slider-rest: color-mix(in srgb, var(--border-color) 80%, var(--bg-elevated));--ui-slider-thumb: var(--accent-primary);--ui-slider-track-h: 6px;--ui-slider-thumb-size: 18px;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;height:24px;margin:0;padding:0;border:0;background:transparent;cursor:pointer;touch-action:manipulation}.ui-slider--split{--ui-slider-fill: var(--color-rural);--ui-slider-rest: var(--accent-primary)}.ui-slider:focus{outline:none;box-shadow:none}.ui-slider::-webkit-slider-runnable-track{height:var(--ui-slider-track-h);border-radius:999px;background:linear-gradient(to right,var(--ui-slider-fill) 0 var(--ui-slider-pct, 0%),var(--ui-slider-rest) var(--ui-slider-pct, 0%) 100%)}.ui-slider::-moz-range-track{height:var(--ui-slider-track-h);border-radius:999px;background:linear-gradient(to right,var(--ui-slider-fill) 0 var(--ui-slider-pct, 0%),var(--ui-slider-rest) var(--ui-slider-pct, 0%) 100%)}.ui-slider::-webkit-slider-thumb{-webkit-appearance:none;width:var(--ui-slider-thumb-size);height:var(--ui-slider-thumb-size);margin-top:calc((var(--ui-slider-track-h) - var(--ui-slider-thumb-size)) / 2);border-radius:50%;background:var(--ui-slider-thumb);border:2px solid var(--bg-surface);box-shadow:var(--shadow-sm);transition:transform var(--duration-instant) var(--ease-spring)}.ui-slider::-moz-range-thumb{width:var(--ui-slider-thumb-size);height:var(--ui-slider-thumb-size);border-radius:50%;background:var(--ui-slider-thumb);border:2px solid var(--bg-surface);box-shadow:var(--shadow-sm);transition:transform var(--duration-instant) var(--ease-spring)}.ui-slider:not(:disabled):hover::-webkit-slider-thumb{transform:scale(1.12)}.ui-slider:not(:disabled):hover::-moz-range-thumb{transform:scale(1.12)}.ui-slider:not(:disabled):active::-webkit-slider-thumb{transform:scale(1.04)}.ui-slider:not(:disabled):active::-moz-range-thumb{transform:scale(1.04)}.ui-slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 2px var(--bg-surface),0 0 0 4px var(--accent-primary)}.ui-slider:focus-visible::-moz-range-thumb{box-shadow:0 0 0 2px var(--bg-surface),0 0 0 4px var(--accent-primary)}.ui-slider:disabled{--ui-slider-fill: var(--text-tertiary);--ui-slider-thumb: var(--text-tertiary);cursor:not-allowed;opacity:.55}@media (pointer: coarse){.ui-slider{height:44px;--ui-slider-thumb-size: 24px}}.profile-selector{display:flex;flex-direction:column;gap:12px}.profile-selector__header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.profile-selector__title{font-size:13px;font-weight:600;color:var(--text-primary);letter-spacing:.01em}.profile-selector__upgrade-hint{font-size:11px;color:var(--text-tertiary);font-style:italic}.profile-selector__tab-cap{margin-left:6px;font-size:10px;padding:1px 6px;border-radius:999px;background:#0000002e;letter-spacing:.04em;text-transform:uppercase}.ui-segmented__option.is-active .profile-selector__tab-cap{color:var(--on-accent)}.profile-selector__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}.profile-card{position:relative;display:flex;align-items:flex-start;gap:12px;padding:12px 14px;min-height:64px;text-align:left;background:var(--surface-item-bg);border:1px solid var(--surface-item-border);border-radius:var(--surface-item-radius);color:var(--text-primary);cursor:pointer;transition:transform .14s ease-out,border-color .14s ease-out,background-color .14s ease-out,box-shadow .2s ease-out;font:inherit;width:100%;box-shadow:var(--surface-item-shadow)}.profile-card:hover:not(.profile-card--selected):not(.profile-card--disabled){border-color:var(--surface-item-border-hover);transform:translateY(-1px);background:var(--surface-item-bg-hover)}.profile-card:active:not(.profile-card--disabled){transform:translateY(0)}.profile-card:focus-visible{outline:2px solid var(--yellow-400);outline-offset:2px}.profile-card--selected{border-color:var(--surface-item-selected-border);background:var(--surface-item-selected-bg);box-shadow:var(--surface-item-selected-shadow)}.profile-card--disabled{opacity:.4;cursor:not-allowed;filter:grayscale(.3)}.profile-card__badge{flex-shrink:0;width:32px;height:32px;display:grid;place-items:center;border-radius:var(--radius-md);background:var(--glass-bg-strong);border:1px solid var(--glass-border);color:var(--accent-text);font-weight:700;font-size:14px;letter-spacing:.02em;font-variant-numeric:tabular-nums;transition:background-color .14s ease-out,border-color .14s ease-out,color .14s ease-out}.profile-card--selected .profile-card__badge{background:var(--yellow-400);border-color:var(--yellow-300);color:var(--on-accent)}.profile-card__body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.profile-card__name{font-size:13px;font-weight:600;color:var(--text-primary);line-height:1.3;overflow-wrap:anywhere}.profile-card__desc{font-size:11.5px;color:var(--text-secondary);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-card__indicator{flex-shrink:0;width:20px;height:20px;margin-top:2px;display:grid;place-items:center;border-radius:999px;border:1.5px solid var(--glass-border-hover);background:transparent;color:var(--yellow-950);transition:background-color .14s ease-out,border-color .14s ease-out,transform .16s ease-out}.profile-card__indicator--check{border-radius:var(--radius-sm)}.profile-card--selected .profile-card__indicator{background:var(--yellow-400);border-color:var(--yellow-300);transform:scale(1.05)}.profile-card--selected .profile-card__indicator--dot:after{display:none}.profile-selector__footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:10px 12px;border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-bg-overlay)}.profile-selector__counter{display:inline-flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums;font-size:12px;color:var(--text-secondary)}.profile-selector__counter-value{font-size:14px;font-weight:700;color:var(--accent-text)}.profile-selector__counter-sep{color:var(--text-tertiary)}.profile-selector__counter-max{font-weight:600;color:var(--text-primary);margin-right:6px}.profile-selector__counter-label{color:var(--text-tertiary);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.profile-selector__quota{font-size:12px;color:var(--text-secondary);text-align:right;flex:1;min-width:200px}.profile-selector__quota--bad{color:var(--danger-text);font-weight:500}.profile-selector--compact{display:block}.profile-selector__list{display:flex;flex-direction:column;gap:4px;max-height:220px;overflow-y:auto;padding:4px;border:1px solid var(--surface-section-border);border-radius:var(--radius-md, 6px);background:var(--surface-overlay-bg)}.profile-selector__more{display:inline-flex;align-items:center;align-self:flex-start;gap:6px;min-height:32px;padding:4px 8px;margin-left:-8px;background:none;border:none;border-radius:var(--radius-md, 8px);color:var(--text-secondary);font-family:var(--font-body);font-size:13px;font-weight:500;cursor:pointer;transition:color .14s var(--ease-default)}.profile-selector__more:hover{color:var(--text-primary)}.profile-selector__more:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.profile-selector__more-chevron{transition:transform .16s var(--ease-default)}.profile-selector__more-chevron--open{transform:rotate(180deg)}@media (pointer: coarse){.profile-selector__more{min-height:44px}}@media (prefers-reduced-motion: reduce){.profile-selector__more,.profile-selector__more-chevron,.profile-card,.profile-card__indicator,.profile-card__badge{transition:none}.profile-card:hover:not(.profile-card--selected):not(.profile-card--disabled){transform:none}}.tabbar-wrapper{overflow-x:auto;margin-bottom:24px;-webkit-overflow-scrolling:touch}.tabbar{display:inline-flex;gap:4px;min-width:max-content;border-radius:var(--radius-2xl);border:1px solid var(--glass-border);background:var(--glass-bg);padding:4px}.tabbar-item{display:flex;align-items:center;gap:6px;padding:8px 14px;background:none;border:none;border-radius:var(--radius-xl);color:var(--text-secondary);font-family:var(--font-display);font-size:var(--text-sm);font-weight:500;cursor:pointer;white-space:nowrap;transition:color var(--duration-instant) var(--ease-default),background-color var(--duration-quick) var(--ease-out-expo),transform var(--duration-quick) var(--ease-spring);position:relative}.tabbar-item:hover{color:var(--text-primary);background:#ffffff0f}.tabbar-item:active{transform:scale(.96);transition:transform 80ms var(--ease-out)}.tabbar-item--active{background:var(--accent-primary);color:var(--on-accent);box-shadow:0 4px 16px color-mix(in srgb,var(--accent-primary) 22%,transparent)}.tabbar-item--active:hover{background:var(--accent-primary-hover);color:var(--on-accent)}.tabbar-item:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.tabbar-item-icon{display:flex;align-items:center;flex-shrink:0;transition:transform var(--duration-quick) var(--ease-spring)}.tabbar-item--active .tabbar-item-icon{transform:scale(1.1)}.tabbar-item-label{line-height:1}@media (max-width: 640px){.tabbar-item-label{display:none}.tabbar-item{padding:8px 12px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}}.badge{--badge-tone: var(--text-tertiary);--badge-ink: var(--text-secondary);display:inline-flex;align-items:center;gap:4px;max-width:100%;font-weight:600;line-height:1.3;white-space:nowrap;border-radius:999px;border:1px solid color-mix(in srgb,var(--badge-tone) 35%,transparent);background:color-mix(in srgb,var(--badge-tone) 14%,var(--bg-surface));color:var(--badge-ink)}.badge__icon{display:inline-flex;flex:none}.badge-sm{padding:2px 8px;font-size:11px}.badge-md{padding:3px 10px;font-size:var(--text-xs)}.badge--upper{text-transform:uppercase;letter-spacing:.05em}.badge-neutral{--badge-tone: var(--text-tertiary);--badge-ink: var(--text-secondary)}.badge-accent{--badge-tone: var(--accent-primary);--badge-ink: var(--accent-text)}.badge-info{--badge-tone: var(--info-border);--badge-ink: var(--info-ink)}.badge-success{--badge-tone: var(--success-border);--badge-ink: var(--success-text)}.badge-warning{--badge-tone: var(--warning-border);--badge-ink: var(--warning-text)}.badge-danger{--badge-tone: var(--error-border);--badge-ink: var(--danger-text)}.badge-purple{--badge-tone: var(--accent-purple);--badge-ink: var(--purple-ink)}.error-message{background-color:var(--error-bg);color:var(--danger-text);padding:12px 16px;border-radius:var(--radius-lg);margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--error-border);transition:all .2s ease}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:300px;padding:40px 20px}.empty-state-icon{color:var(--text-tertiary);margin-bottom:16px}.empty-state-icon svg{width:48px;height:48px}.empty-state-title{font-size:18px;font-family:var(--font-display);color:var(--text-primary);margin-bottom:8px}.empty-state-subtitle{font-size:14px;color:var(--text-secondary);max-width:300px;margin:0}.skeleton{background:var(--bg-elevated);background-image:linear-gradient(90deg,var(--bg-elevated) 0%,var(--bg-surface) 40%,var(--bg-elevated) 80%);background-size:200% 100%;animation:shimmer 1.5s infinite linear}.light-mode .skeleton{background:var(--bg-surface);background-image:linear-gradient(90deg,var(--bg-surface) 0%,var(--bg-primary) 40%,var(--bg-surface) 80%);background-size:200% 100%}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:240px;padding:40px 20px;gap:4px}.error-state-icon{color:var(--danger-text);margin-bottom:12px}.error-state-title{font-size:18px;font-family:var(--font-display);color:var(--text-primary);margin:0 0 4px}.error-state-message{font-size:14px;color:var(--text-secondary);max-width:320px;margin:0 0 16px}.error-state-retry{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 20px;border:1px solid color-mix(in srgb,var(--error-border) 35%,transparent);border-radius:var(--radius-lg);background:var(--glass-glaze);color:var(--text-primary);font-family:var(--font-body);font-weight:600;font-size:14px;cursor:pointer;transition:background-color var(--duration-instant) var(--ease-default),border-color var(--duration-instant) var(--ease-default),transform var(--duration-quick) var(--ease-spring)}.error-state-retry:hover{background:linear-gradient(180deg,#ffffff14,#ffffff08);border-color:color-mix(in srgb,var(--error-border) 55%,transparent)}.error-state-retry:active{transform:scale(.96)}.error-state-retry:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.light-mode .error-state-retry{background:linear-gradient(180deg,#ffffffe6,#fff9)}.light-mode .error-state-retry:hover{background:linear-gradient(180deg,#fff,#ffffffbf)}@media (prefers-reduced-motion: reduce){.error-state-retry{transition:none}}.cmt-scroll{overflow:visible}.cmp-table-wrap{overflow-x:auto;border:1px solid var(--surface-section-border);border-radius:var(--surface-section-radius);background:var(--surface-section-bg);box-shadow:var(--surface-section-shadow)}.cmp-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;font-variant-numeric:tabular-nums}.cmp-table th,.cmp-table td{padding:8px 12px;text-align:right;border-bottom:1px solid rgba(255,255,255,.04);vertical-align:middle}.cmp-table thead th{position:sticky;top:0;background:var(--bg-elevated);font-weight:600;color:var(--text-primary);text-align:center;z-index:1;letter-spacing:.02em;border-bottom:1px solid var(--glass-border)}.cmp-table__corner{text-align:left!important;position:sticky;left:0;z-index:2}.cmp-table__profile{white-space:normal;font-size:12px;padding:8px 12px!important;min-width:110px;display:table-cell}.cmp-table__profile-name{display:block;font-weight:600;line-height:1.3}.cmp-table__profile--recommended{background:color-mix(in srgb,var(--yellow-400) 14%,var(--bg-elevated))!important;box-shadow:inset 0 -2px 0 var(--yellow-400)}.cmp-table__profile--timeout{background:color-mix(in srgb,var(--error-text) 8%,var(--bg-elevated))!important}.cmp-table__metric{position:sticky;left:0;background:var(--bg-elevated);text-align:left;font-weight:400;color:var(--text-secondary);display:flex;align-items:center;gap:8px;white-space:nowrap;min-width:240px}.cmp-table tbody tr:nth-child(2n) .cmp-table__metric{background:color-mix(in srgb,var(--bg-elevated) 96%,var(--bg-surface))}.cmp-table__metric-label{flex:1}.cmp-table__arrow{font-size:10px;opacity:.6;cursor:help}.cmp-table__arrow--higher{color:var(--success-text)}.cmp-table__arrow--lower{color:var(--warning-text)}.cmp-table tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--bg-surface) 96%,var(--bg-elevated))}.cmp-table tbody tr:hover .cmp-table__cell:not(.cmp-table__cell--best):not(.cmp-table__cell--timeout){background:#ffffff08}.cmp-table__cell{color:var(--text-primary);text-align:right;position:relative}.cmp-table__cell--na{color:var(--text-tertiary);font-style:italic}.cmp-table__cell--best{background:var(--success-bg)!important;color:var(--success-text);font-weight:600;position:relative}.cmp-table__cell--best:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border:1px solid color-mix(in srgb,var(--success-text) 35%,transparent);border-radius:3px;pointer-events:none}.cmp-table__cell--timeout{position:relative;isolation:isolate}.cmp-table__cell--timeout:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(-45deg,transparent 0,transparent 6px,color-mix(in srgb,var(--error-text) 18%,transparent) 6px,color-mix(in srgb,var(--error-text) 18%,transparent) 8px);pointer-events:none;z-index:0}.cmp-table__cell--timeout>*{position:relative;z-index:1}.cmp-table__cell--best.cmp-table__cell--timeout:before{opacity:.4}.cmp-table__section-row th{position:sticky;left:0;background:color-mix(in srgb,var(--yellow-400) 8%,transparent);color:var(--accent-text);text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:600;padding:10px 12px;border-top:1px solid color-mix(in srgb,var(--yellow-400) 18%,transparent)}@media (max-width: 640px){.cmt-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.cmp-table__metric{min-width:110px;white-space:normal;position:sticky;left:0;z-index:1;background:var(--bg-elevated)}.cmp-table tbody tr:nth-child(2n) .cmp-table__metric{background:color-mix(in srgb,var(--bg-elevated) 96%,var(--bg-surface))}.cmp-table th,.cmp-table td{min-height:44px;padding:10px}}.ui-card{min-width:0;color:var(--text-primary);transition:border-color .16s var(--ease-out),background .16s ease,box-shadow .16s ease,transform .16s var(--ease-spring)}.ui-card--raised{background:var(--surface-section-bg);border:1px solid var(--surface-section-border);border-radius:var(--surface-section-radius);box-shadow:var(--surface-section-shadow)}.ui-card--inset{background:var(--surface-item-bg);border:1px solid var(--surface-item-border);border-radius:var(--surface-item-radius);box-shadow:var(--surface-item-shadow)}.ui-card--tile{border-radius:var(--surface-tile-radius)}.ui-card--pad-none{padding:0}.ui-card--pad-sm{padding:var(--surface-item-padding)}.ui-card--pad-md{padding:var(--surface-section-padding)}.ui-card--pad-lg{padding:var(--surface-section-padding-lg)}.ui-card__head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;margin-bottom:var(--surface-section-gap);padding-bottom:12px;border-bottom:1px solid var(--surface-divider)}.ui-card__title{margin:0;min-width:0;font-family:var(--section-title-font);font-size:var(--section-title-size);font-weight:var(--section-title-weight);letter-spacing:var(--section-title-tracking);text-transform:var(--section-title-case);color:var(--section-title-color)}.ui-card__actions{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.ui-card--interactive{cursor:pointer}.ui-card--interactive:hover{transform:translateY(-1px);border-color:var(--surface-item-border-hover);box-shadow:var(--surface-item-shadow-hover)}.ui-card--inset.ui-card--interactive:hover{background:var(--surface-item-bg-hover)}.ui-card--interactive:active{transform:translateY(0) scale(.99)}.ui-card--interactive:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.ui-card--selected,.ui-card--selected.ui-card--interactive:hover{background:var(--surface-item-selected-bg);border-color:var(--surface-item-selected-border);box-shadow:var(--surface-item-selected-shadow)}@media (prefers-reduced-motion: reduce){.ui-card{transition:none}.ui-card--interactive:hover,.ui-card--interactive:active{transform:none}}@media (max-width: 768px){.ui-card--pad-lg{padding:16px}}.tooltip-trigger{display:inline-flex;align-items:center}.tooltip-bubble{position:fixed;z-index:var(--z-max);background:var(--glass-bg-overlay);color:var(--text-primary);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--glass-shadow);padding:6px 10px;font-size:12px;font-weight:500;line-height:1.45;letter-spacing:.01em;max-width:240px;pointer-events:auto;opacity:0;transform:translate(-50%) translateY(4px);transition:opacity .15s ease-out,transform .15s ease-out}.tooltip-bubble--visible{opacity:1;transform:translate(-50%) translateY(0)}.tooltip-bubble--top{transform:translate(-50%) translateY(calc(-100% - 4px))}.tooltip-bubble--top.tooltip-bubble--visible{transform:translate(-50%) translateY(-100%)}.tooltip-bubble--bottom{transform:translate(-50%) translateY(4px)}.tooltip-bubble--bottom.tooltip-bubble--visible{transform:translate(-50%) translateY(0)}.tooltip-bubble--hint{background:var(--blue-950);border-color:var(--blue-700);color:var(--blue-200)}.tooltip-arrow{position:absolute;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent}.tooltip-arrow--top{bottom:-5px;border-top:5px solid var(--glass-border)}.tooltip-arrow--top:after{content:"";position:absolute;left:-5px;bottom:1px;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid var(--glass-bg-strong)}.tooltip-bubble--hint .tooltip-arrow--top{border-top-color:var(--blue-700)}.tooltip-bubble--hint .tooltip-arrow--top:after{border-top-color:var(--blue-950)}.tooltip-arrow--bottom{top:-5px;border-bottom:5px solid var(--glass-border)}.tooltip-arrow--bottom:after{content:"";position:absolute;left:-5px;top:1px;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid var(--glass-bg-strong)}.tooltip-bubble--hint .tooltip-arrow--bottom{border-bottom-color:var(--blue-700)}.tooltip-bubble--hint .tooltip-arrow--bottom:after{border-bottom-color:var(--blue-950)}@media (prefers-reduced-motion: reduce){.tooltip-bubble{transition:none}}.plan-status-group{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.plan-status__tilde{display:inline-block;width:12px;font-size:14px;font-weight:700;line-height:1;text-align:center;transform:translateY(-1px)}.plan-status__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.compare-grid{padding:16px;display:flex;flex-direction:column;gap:16px}.compare-grid__header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.compare-grid__title{margin:0;font-size:18px;color:var(--text-primary);display:inline-flex;align-items:baseline;gap:8px}.compare-grid__count{color:var(--text-tertiary);font-weight:400;font-size:14px;font-variant-numeric:tabular-nums}.compare-grid__pending-hint{font-size:11px;padding:4px 10px;background:color-mix(in srgb,var(--yellow-400) 18%,transparent);color:var(--accent-text);border-radius:999px;letter-spacing:.04em;text-transform:uppercase}.compare-grid__refresh{margin-left:auto}.compare-grid__empty{padding:48px;text-align:center;color:var(--text-tertiary);display:flex;flex-direction:column;gap:12px;align-items:center}.compare-reco{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;border:1px solid color-mix(in srgb,var(--yellow-400) 35%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--yellow-400) 12%,transparent),color-mix(in srgb,var(--yellow-400) 4%,transparent));border-radius:var(--radius-md);box-shadow:var(--shadow-glow)}.compare-reco__icon{flex-shrink:0;width:32px;height:32px;display:grid;place-items:center;border-radius:var(--radius-md);background:var(--yellow-400);color:var(--on-accent)}.compare-reco__body{display:flex;flex-direction:column;gap:2px;min-width:0}.compare-reco__label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-text);font-weight:600}.compare-reco__name{font-size:15px;font-weight:600;color:var(--text-primary)}.compare-reco__hint{font-size:12px;color:var(--text-secondary)}.compare-grid__cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.compare-card{position:relative;display:flex;flex-direction:column;gap:12px;min-height:220px;overflow:hidden}.compare-card--applied{border-color:var(--yellow-400);box-shadow:0 0 0 1px var(--yellow-400) inset}.compare-card--failed{border-color:var(--error-text)}.compare-card--timeout:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(-45deg,transparent 0,transparent 8px,color-mix(in srgb,var(--error-text) 12%,transparent) 8px,color-mix(in srgb,var(--error-text) 12%,transparent) 10px);pointer-events:none;z-index:0}.compare-card--timeout{border-color:color-mix(in srgb,var(--error-text) 35%,var(--glass-border))}.compare-card--recommended.compare-card--timeout:before{opacity:.3}.compare-card>*{position:relative;z-index:1}.compare-card__ribbon{position:absolute;top:10px;right:-28px;transform:rotate(35deg);background:var(--yellow-400);color:var(--on-accent);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 32px;z-index:2;box-shadow:0 2px 6px #0000004d}.compare-card__header{display:flex;flex-direction:column;gap:6px}.compare-card__title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.compare-card__title{margin:0;font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.3;flex:1;min-width:0;overflow-wrap:anywhere}.compare-card__desc{font-size:12px;color:var(--text-secondary);margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.compare-card__status{flex-shrink:0;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:999px;white-space:nowrap}.compare-card__status--pending{background:color-mix(in srgb,var(--yellow-400) 16%,transparent);color:var(--accent-text)}.compare-card__wins{display:flex;align-items:baseline;gap:4px;padding:8px 10px;background:var(--surface-item-bg);border:1px solid var(--surface-item-border);border-radius:var(--surface-item-radius);font-variant-numeric:tabular-nums;box-shadow:var(--surface-item-shadow)}.compare-card--recommended .compare-card__wins{background:color-mix(in srgb,var(--yellow-400) 12%,transparent);border-color:color-mix(in srgb,var(--yellow-400) 30%,transparent)}.compare-card__wins-value{font-size:22px;font-weight:700;color:var(--accent-text);line-height:1}.compare-card--recommended .compare-card__wins-value{color:var(--accent-text)}.compare-card__wins-sep{color:var(--text-tertiary);font-size:16px}.compare-card__wins-max{font-size:14px;font-weight:600;color:var(--text-primary);margin-right:6px}.compare-card__wins-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin-left:auto}.compare-card__metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;font-size:11px}.compare-card__metric{display:flex;flex-direction:column;gap:2px}.compare-card__metric dt{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.compare-card__metric dd{margin:0;font-variant-numeric:tabular-nums;color:var(--text-primary);font-weight:500;font-size:13px}.compare-card__pending{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--text-tertiary);font-style:italic;font-size:13px;padding:16px}.compare-card__pending-spinner{width:14px;height:14px;border-radius:50%;border:2px solid var(--glass-border);border-top-color:var(--yellow-300);animation:compare-card-spin .9s linear infinite}@keyframes compare-card-spin{to{transform:rotate(360deg)}}.compare-card__error{flex:1;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--error-bg);color:var(--danger-text);border-radius:var(--radius-sm);font-size:13px;text-align:center}.compare-card__actions{display:flex;gap:8px;margin-top:auto;padding-top:10px;border-top:1px solid rgba(255,255,255,.04)}.compare-card__actions button{flex:1}.compare-grid__table{margin-top:8px;display:flex;flex-direction:column;gap:8px}.compare-grid__table-title{margin:0;font-size:15px;color:var(--text-primary)}.compare-grid__table-hint{margin:0;font-size:12px;color:var(--text-tertiary);line-height:1.5}@media (prefers-reduced-motion: reduce){.compare-card__pending-spinner{animation:none}}@media (max-width: 480px){.compare-card__metrics{grid-template-columns:1fr}.compare-card__actions{flex-wrap:wrap}.compare-card__actions button{flex:1;min-height:44px;width:100%}.compare-card__status{font-size:9px;padding:3px 7px}}.adaptive-retry-panel{margin-top:24px;display:flex;flex-direction:column;gap:0}.adaptive-retry-panel__title{margin:0 0 8px;font-size:.975rem;font-weight:600;color:var(--text-primary);line-height:1.35}.adaptive-retry-panel__hint{margin:0 0 16px;font-size:.875rem;color:var(--text-muted, var(--text-secondary));line-height:1.5}.adaptive-retry-panel__list{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-direction:column;gap:2px}.adaptive-retry-panel__item{border-radius:10px;transition:background .16s cubic-bezier(.4,0,.2,1),border-color .16s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.adaptive-retry-panel__item.is-on{background:linear-gradient(180deg,#f5b9211a,#f5b9210a);border-color:#f5b92138}.adaptive-retry-panel__label{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 12px 4px 14px;width:100%;cursor:pointer;font-size:.9rem;color:var(--text-primary);border-radius:10px;min-height:44px;box-sizing:border-box}.adaptive-retry-panel__item:hover:not(.is-on){background:#ffffff08}.adaptive-retry-panel__text{flex:1;line-height:1.3}.adaptive-retry-panel__show-all{align-self:flex-start;background:transparent;color:var(--accent-text);border:none;padding:4px 0;margin-bottom:12px;font-size:.875rem;text-decoration:underline;cursor:pointer;transition:opacity .12s ease;min-height:28px}.adaptive-retry-panel__show-all:hover{opacity:.75}.adaptive-retry-panel__submit{align-self:flex-start;margin-top:4px;padding:9px 20px;background:var(--yellow-400);color:var(--on-accent);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-xl);font-size:.9rem;font-weight:500;cursor:pointer;transition:background .15s ease,transform .15s ease,opacity .15s ease;min-height:44px}.adaptive-retry-panel__submit:hover:not(:disabled){background:var(--yellow-300);transform:translateY(-1px);color:var(--on-accent)}.adaptive-retry-panel__submit:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.adaptive-retry-panel__submit:disabled{opacity:.4;cursor:not-allowed;transform:none}.light-mode .adaptive-retry-panel__item.is-on{background:linear-gradient(180deg,#d99a0e14,#d99a0e08);border-color:#d99a0e47}.light-mode .adaptive-retry-panel__item:hover:not(.is-on){background:#00000008}@media (prefers-reduced-motion: reduce){.adaptive-retry-panel__submit,.adaptive-retry-panel__show-all,.adaptive-retry-panel__item,.adaptive-retry-panel__label{transition:none}}.diagnostic-input-panel{display:flex;flex-direction:column;gap:12px;padding:4px 0 8px}.diagnostic-budget-label{font-size:13px;color:var(--text-secondary)}.diagnostic-budget-row{display:flex;align-items:center;gap:10px}.diagnostic-budget-input{width:100px;padding:6px 10px;border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:14px}.diagnostic-budget-input:focus-visible{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-primary)}.diagnostic-run-btn{padding:6px 16px;background:var(--accent-primary);color:var(--on-accent);border:none;border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer}.diagnostic-run-btn:disabled{opacity:.6;cursor:not-allowed}.diagnostic-live-panel{display:flex;flex-direction:column;gap:12px;padding:8px 0}.diagnostic-live-header{display:flex;align-items:center;gap:10px}.diagnostic-spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--border-primary);border-top-color:var(--accent-primary);border-radius:50%;animation:diagnostic-spin .8s linear infinite;flex-shrink:0}@keyframes diagnostic-spin{to{transform:rotate(360deg)}}.diagnostic-live-label{font-size:14px;font-weight:600;color:var(--text-primary)}.diagnostic-progress-text{font-size:12px;color:var(--text-secondary);background:var(--bg-secondary);border-radius:var(--radius-md);padding:8px 12px;line-height:1.5;white-space:pre-wrap}.diagnostic-live-body{display:flex;flex-direction:column;gap:8px}.diagnostic-progress-bar-container{height:6px;background:var(--border-primary);border-radius:3px;overflow:hidden}.diagnostic-progress-bar{height:100%;background:var(--accent-primary);border-radius:3px;transition:width .4s ease}.diagnostic-progress-caption{font-size:12px;color:var(--text-secondary)}.diagnostic-probe-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:220px;overflow-y:auto}.diagnostic-probe-item{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;border-radius:var(--radius-sm);font-size:12px}.diagnostic-probe-item:hover{background:var(--bg-secondary)}.diagnostic-probe-item.feasible{background:color-mix(in srgb,var(--success-text) 5%,transparent)}.diagnostic-probe-item.infeasible{background:color-mix(in srgb,var(--error-text) 5%,transparent)}.diagnostic-probe-item.running{background:color-mix(in srgb,var(--accent-primary) 8%,transparent)}.probe-name{font-family:var(--font-mono, monospace);font-size:11px;color:var(--text-secondary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.probe-time{font-size:11px;color:var(--text-tertiary);font-variant-numeric:tabular-nums;flex-shrink:0;margin-left:8px;min-width:42px;text-align:right}.probe-status{font-size:11px;font-weight:700;padding:1px 6px;border-radius:10px;flex-shrink:0;margin-left:8px}.probe-status.feasible{color:var(--success-text);background:color-mix(in srgb,var(--success-text) 15%,transparent)}.probe-status.infeasible{color:var(--danger-text);background:color-mix(in srgb,var(--error-text) 15%,transparent)}.probe-status.running{color:var(--accent-text);background:color-mix(in srgb,var(--accent-primary) 15%,transparent);animation:diagnostic-pulse 1.2s ease-in-out infinite}@keyframes diagnostic-pulse{0%,to{opacity:1}50%{opacity:.4}}.diagnostic-cancel-btn{align-self:flex-start;padding:5px 14px;background:transparent;border:1px solid var(--border-primary);border-radius:var(--radius-sm);font-size:13px;color:var(--text-secondary);cursor:pointer}.diagnostic-cancel-btn:hover{background:var(--bg-secondary)}.diagnostic-error-banner{background:color-mix(in srgb,var(--error-text) 10%,transparent);border:1px solid color-mix(in srgb,var(--error-text) 30%,transparent);color:var(--danger-text);border-radius:var(--radius-md);padding:10px 14px;font-size:13px;line-height:1.5}.diagnostic-headline{font-size:17px;font-weight:700;color:var(--text-primary);line-height:1.35;margin-bottom:4px}.diagnostic-recommendation{font-size:13px;color:var(--text-secondary);line-height:1.6;background:var(--bg-secondary);border-radius:var(--radius-md);padding:10px 14px}.diagnostic-warnings-banner{background:color-mix(in srgb,var(--warning-text) 10%,transparent);border:1px solid color-mix(in srgb,var(--warning-text) 30%,transparent);border-radius:var(--radius-md);padding:10px 14px;display:flex;flex-direction:column;gap:4px}.diagnostic-warning-item{font-size:13px;color:var(--warning-text);line-height:1.45}.diagnostic-sections{display:flex;flex-direction:column;gap:20px}.diagnostic-section{display:flex;flex-direction:column;gap:6px}.diagnostic-section-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.diagnostic-section-title--error{color:var(--danger-text)}.diagnostic-section-title--success{color:var(--success-text)}.diagnostic-section-title--warning{color:var(--warning-text)}.diagnostic-section-title--neutral{color:var(--text-secondary)}.diagnostic-item{background:var(--bg-secondary);border-radius:var(--radius-md);padding:10px 12px;border-left:3px solid transparent}.diagnostic-item--blocking{border-left-color:var(--error-border)}.diagnostic-item--warning{border-left-color:var(--warning-border)}.diagnostic-item--info{border-left-color:var(--border-primary)}.diagnostic-severity{font-size:11px;font-weight:600;text-transform:uppercase;margin-bottom:4px}.diagnostic-severity--blocking{color:var(--danger-text)}.diagnostic-severity--warning{color:var(--warning-text)}.diagnostic-severity--info{color:var(--text-tertiary)}.diagnostic-message{color:var(--text-primary);font-size:13px;line-height:1.4}.diagnostic-probing-section{border:1px solid var(--border-primary);border-radius:var(--radius-md);overflow:hidden}.diagnostic-probing-toggle{display:flex;align-items:center;gap:8px;width:100%;background:var(--bg-secondary);border:none;padding:10px 14px;font-size:13px;font-weight:600;color:var(--text-primary);cursor:pointer;text-align:left}.diagnostic-probing-toggle:hover{background:var(--bg-elevated)}.diagnostic-probing-arrow{font-size:12px;color:var(--text-tertiary);width:12px;display:inline-block}.diagnostic-probing-count{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 7px;border-radius:999px;font-size:11px;font-weight:600;color:var(--text-secondary);background:#ffffff0f;border:1px solid rgba(255,255,255,.08)}.light-mode .diagnostic-probing-count{color:var(--text-secondary);background:#0000000a;border-color:#00000012}.diagnostic-probing-body{display:flex;flex-direction:column;gap:16px;padding:14px}.diagnostic-probing-phase{display:flex;flex-direction:column;gap:6px}.diagnostic-probing-table{width:100%;border-collapse:collapse;font-size:12px}.diagnostic-probing-table th{text-align:left;padding:5px 10px;background:var(--bg-secondary);color:var(--text-secondary);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--border-primary)}.diagnostic-probing-table td{padding:6px 10px;border-bottom:1px solid var(--border-primary);color:var(--text-primary);vertical-align:top}.diagnostic-probing-table tbody tr:last-child td{border-bottom:none}.diagnostic-row--infeasible td{background:color-mix(in srgb,var(--error-text) 5%,transparent)}.diagnostic-cell-module{font-family:var(--font-mono, monospace);font-size:11px;color:var(--text-secondary);white-space:nowrap}.diagnostic-cell-time{white-space:nowrap;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.diagnostic-cell-violations{font-size:11px;color:var(--text-secondary);max-width:280px}.diagnostic-cell-description{font-size:12px;color:var(--text-primary);max-width:320px;line-height:1.4}.diagnostic-threshold{margin-left:8px}.diagnostic-blocking-group{margin-bottom:8px}.diagnostic-blocking-chips{display:flex;flex-wrap:wrap;gap:6px}.diagnostic-empty-all{text-align:center;color:var(--text-tertiary);font-size:14px;padding:24px 0}@media (max-width: 640px){.diagnostic-budget-row{flex-direction:column;align-items:flex-start}.diagnostic-probing-table{font-size:11px}}.verify-modal-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:var(--surface-stack-gap);font-size:13px;color:var(--text-secondary)}.verify-modal-meta strong{color:var(--text-primary)}.verify-modal-schedule{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px}.hv-section{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border:1px solid var(--surface-section-border);border-radius:var(--surface-section-radius);background:var(--surface-section-bg);box-shadow:var(--surface-section-shadow)}.hv-header{display:flex;align-items:center;gap:8px}.hv-title{font-size:13px;font-weight:600;color:var(--text-primary)}.hv-total{padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600;color:var(--text-secondary);border:1px solid rgba(255,255,255,.12)}.hv-scroll{display:flex;flex-direction:column;gap:6px;max-height:280px;overflow-y:auto}.hv-group-head{display:flex;align-items:center;gap:8px;width:100%;min-height:28px;padding:6px 10px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:transparent;color:var(--text-primary);font-size:12px;text-align:left;cursor:pointer;transition:background .14s cubic-bezier(.2,.8,.2,1),border-color .14s cubic-bezier(.2,.8,.2,1)}.hv-group-head:hover{background:#ffffff0a;border-color:#ffffff24}.hv-group-head:focus-visible,.hv-item-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.hv-group-constraint{flex:0 0 auto;font-size:10px;color:var(--text-secondary)}.hv-group-msg{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hv-group-count{flex:0 0 auto;font-size:11px;font-weight:600;color:var(--accent-text)}.hv-group-list{margin:4px 0 0;padding:0 0 0 10px;list-style:none;display:flex;flex-direction:column;gap:2px}.hv-item-btn{width:100%;min-height:28px;padding:4px 8px;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);font-size:12px;text-align:left;cursor:pointer}.hv-item-btn:hover{background:#ffffff0a;color:var(--text-primary)}.light-mode .hv-group-head,.light-mode .hv-total{border-color:#00000014}.light-mode .hv-group-head:hover,.light-mode .hv-item-btn:hover{background:#00000008}.light-mode .hv-group-count{color:var(--accent-text)}@media (prefers-reduced-motion: reduce){.hv-group-head{transition:none}}.week-dropdown{border:1px solid var(--border-color);border-radius:20px;background-color:var(--bg-secondary);padding:16px;margin-bottom:16px;animation:wk-slideDown .15s ease-out}@keyframes wk-slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.week-dropdown-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.week-dropdown-title{font-size:14px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:10px}.week-mini-calendar{overflow-x:auto;margin-bottom:12px;border-radius:14px;border:1px solid var(--surface-section-border);background:var(--surface-overlay-bg)}.week-mini-calendar table{width:100%;border-collapse:separate;border-spacing:0;font-size:11px}.week-mini-calendar th{padding:6px 4px;text-align:center;font-weight:600;color:var(--text-secondary);white-space:nowrap;background:var(--bg-tertiary)}.wk-vet-header{padding:6px 10px!important;text-align:left!important;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary)!important;min-width:100px;border-right:1px solid var(--border-color)}.wk-day-header{font-size:11px;font-weight:600;color:var(--text-primary)!important;border-left:1px solid var(--border-color);border-bottom:1px solid rgba(255,255,255,.04);padding:8px 4px!important}.light-mode .wk-day-header{border-bottom-color:#0000000a}.wk-day-header:first-of-type{border-left:none}.wk-slot-header{font-size:9px!important;font-weight:500!important;text-transform:uppercase;letter-spacing:.15em;color:var(--text-tertiary)!important;padding:4px 2px!important;border-bottom:1px solid var(--border-color)}.wk-slot-header.day-start{border-left:1px solid var(--border-color)}.wk-slot-header.night{background-color:#22c55e0a;color:#22c55e99!important}.week-mini-calendar td{padding:0;vertical-align:middle;border-bottom:1px solid rgba(255,255,255,.04)}.light-mode .week-mini-calendar td{border-bottom-color:#0000000a}.wk-vet-name{text-align:left;font-weight:600;white-space:nowrap;padding:6px 10px!important;color:var(--text-primary);font-size:12px;border-right:1px solid var(--border-color);min-width:100px;background-color:var(--bg-primary)}.week-mini-calendar tbody tr:nth-child(2n) .wk-vet-name{background-color:var(--bg-surface)}.wk-slot-cell{min-width:90px;padding:3px!important;border-right:1px solid rgba(255,255,255,.03)}.light-mode .wk-slot-cell{border-right-color:#00000008}.wk-slot-cell.day-start{border-left:1px solid var(--border-color)}.wk-slot-cell.night{background-color:#22c55e08}.week-mini-calendar tbody tr:hover td{background-color:#fcca1a08}.week-mini-calendar tbody tr:hover .wk-vet-name{background-color:#fcca1a0f}.wk-card{display:flex;align-items:center;gap:5px;height:34px;padding:0 8px;border-radius:10px;font-size:11px;font-weight:500;overflow:hidden;transition:filter .12s}.wk-card:hover{filter:brightness(1.08)}.wk-card-emoji{font-size:12px;line-height:1;flex-shrink:0}.wk-card-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;font-weight:500;color:var(--text-primary)}.light-mode .wk-card-text{color:#000000b3}.wk-card--empty{background-color:#ffffff05;border:1px solid rgba(255,255,255,.04);justify-content:center}.light-mode .wk-card--empty{background-color:#00000004;border-color:#0000000a}.wk-card--consult{border:1px solid rgba(192,132,252,.12)}.wk-card--rural{border:1px solid rgba(52,211,153,.12)}.wk-card--oncall-canine{background-color:#8b5cf624;border:2px solid rgba(250,204,21,.55);box-shadow:0 0 0 1px #ffd7001f}.light-mode .wk-card--oncall-canine{background-color:#8b5cf614;border-color:#ca8a0473}.wk-card--oncall-rural{background-color:#06b6d41f;border:2px solid rgba(250,204,21,.55);box-shadow:0 0 0 1px #ffd7001f}.light-mode .wk-card--oncall-rural{background-color:#06b6d414;border-color:#ca8a0473}.wk-card--oncall-mixed{background:linear-gradient(135deg,#8b5cf61f,#06b6d41f);border:2px solid rgba(250,204,21,.55);box-shadow:0 0 0 1px #ffd7001f}.light-mode .wk-card--oncall-mixed{background:linear-gradient(135deg,#8b5cf60f,#06b6d40f);border-color:#ca8a0473}.wk-card--oncall-canine .wk-card-text,.wk-card--oncall-rural .wk-card-text,.wk-card--oncall-mixed .wk-card-text{color:var(--text-primary)}.light-mode .wk-card--oncall-canine .wk-card-text,.light-mode .wk-card--oncall-rural .wk-card-text,.light-mode .wk-card--oncall-mixed .wk-card-text{color:#000000b3}.week-summary{display:flex;gap:8px;flex-wrap:wrap}.week-summary-item{display:flex;flex-direction:column;align-items:center;padding:8px 14px;background:var(--surface-item-bg);border:1px solid var(--surface-item-border);border-radius:var(--surface-item-radius);min-width:72px;box-shadow:var(--surface-item-shadow)}.week-summary-value{font-size:16px;font-weight:700;color:var(--text-primary)}.week-summary-label{font-size:9px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.week-no-schedule{color:var(--text-tertiary);font-style:italic;font-size:12px;padding:8px 0}.pl-tab{padding:1rem;display:flex;flex-direction:column;gap:1rem}.pl-tab-layout{display:flex;flex-direction:row;gap:1rem;align-items:flex-start}.pl-tab-main{flex:1;min-width:0}.pl-tab-aside{flex-shrink:0;display:flex;align-items:flex-start;position:relative;transition:width .18s var(--ease-out-expo, ease-out)}.pl-tab-aside--collapsed{width:32px}@media (prefers-reduced-motion: reduce){.pl-tab-aside{transition:none}}.pl-tab-empty{padding:3rem 2rem;text-align:center;color:var(--text-secondary);font-size:.95rem}@media (max-width: 1100px){.pl-tab-edit-row{flex-direction:column;align-items:stretch}.pl-tab-edit-main{width:100%}}.pl-asv-parent-ref{font-size:.85rem;color:var(--text-secondary);margin-bottom:.5rem;padding:6px 10px;background:#ffffff0a;border-radius:var(--radius-md);display:inline-block}.light-mode .pl-asv-parent-ref{background:#0000000a}.pl-asv-progress{position:relative;height:36px;border-radius:var(--radius-lg);overflow:hidden;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;margin:.75rem 0}.pl-asv-progress-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--blue-400),var(--yellow-400));transition:width .24s linear}.pl-asv-progress--phase2 .pl-asv-progress-fill{background:linear-gradient(90deg,var(--yellow-400),var(--blue-300))}.pl-asv-progress-text{position:relative;z-index:1;font-size:.85rem;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.light-mode .pl-asv-progress{background:#0000000d;border-color:#0000001a}.light-mode .pl-asv-progress-text{color:#fff}.pl-interrupted-banner{display:flex;gap:.75rem;align-items:flex-start;padding:.75rem 1rem;background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:var(--radius-md);margin:.5rem 0}.pl-interrupted-banner-icon{color:#c97f29;flex-shrink:0}.pl-interrupted-banner-heading{font-weight:600}.pl-interrupted-banner-subtext{font-size:.85rem;color:var(--text-secondary)}@media (max-width: 900px){.pl-tab-layout{flex-direction:column;align-items:stretch}.pl-tab-main{width:100%}}.pl-clipboard-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;background:color-mix(in srgb,var(--gold-900) 60%,var(--bg-surface));border:1px solid var(--gold-700);border-radius:var(--radius-md, 6px);font-size:13px;color:var(--accent-text);animation:pl-banner-in .15s ease}@keyframes pl-banner-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.pl-clipboard-clear{background:none;border:1px solid var(--gold-700);border-radius:var(--radius-sm, 4px);color:var(--accent-text);font-size:12px;padding:3px 8px;cursor:pointer;flex-shrink:0}.pl-clipboard-clear:hover{background:color-mix(in srgb,var(--gold-500) 10%,transparent)}.pl-dashboard-wrap{margin-top:1rem}.ss-sidebar{width:280px;flex-shrink:0;display:flex;flex-direction:column;gap:var(--surface-section-gap);padding:var(--surface-section-padding);background:var(--surface-section-bg);border:1px solid var(--surface-section-border);border-radius:var(--surface-section-radius);box-shadow:var(--surface-section-shadow);max-height:calc(100vh - 160px);max-height:calc(100dvh - 160px);position:sticky;top:16px}.ss-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:12px;min-width:0;border-bottom:1px solid var(--surface-divider)}.ss-sidebar-title{display:inline-flex;align-items:center;gap:8px;min-width:0;font-family:var(--section-title-font);font-size:var(--section-title-size);font-weight:var(--section-title-weight);letter-spacing:var(--section-title-tracking);text-transform:var(--section-title-case);color:var(--section-title-color)}.ss-sidebar-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:var(--text-secondary);font-family:var(--font-mono, ui-monospace);font-size:11px;font-weight:600;letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums}.light-mode .ss-sidebar-count{background:#0000000d;border-color:#00000014;color:#000000a6}.ss-sidebar-add{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 14px;border:1px solid rgba(243,210,62,.35);border-radius:999px;background:linear-gradient(180deg,#f3d23e2e,#f3d23e14);color:var(--accent-text);font-size:12px;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:transform .16s var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1)),border-color .16s ease,background .16s ease,box-shadow .16s ease;box-shadow:0 1px #ffffff0f inset,0 6px 18px #f3d23e14}.ss-sidebar-add:hover{transform:translateY(-1px);border-color:#f3d23e99;background:linear-gradient(180deg,#f3d23e47,#f3d23e24);box-shadow:0 1px #ffffff14 inset,0 8px 22px #f3d23e2e}.ss-sidebar-add:active{transform:translateY(0) scale(.98)}.ss-sidebar-add:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.light-mode .ss-sidebar-add{border-color:#be961e66;background:linear-gradient(180deg,#f3d23e52,#f3d23e2e);color:#6e5000f2}.light-mode .ss-sidebar-add:hover{background:linear-gradient(180deg,#f3d23e80,#f3d23e4d)}.ss-sidebar-head-actions{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.ss-sidebar-import{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;padding:0;border:1px solid var(--glass-border);border-radius:999px;background:var(--glass-bg-overlay);color:var(--text-secondary);cursor:pointer;transition:transform .16s var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1)),border-color .16s ease,background .16s ease,color .16s ease}.ss-sidebar-import span{display:none}.ss-sidebar-import:hover{transform:translateY(-1px);border-color:var(--glass-border-hover);background:var(--glass-bg);color:var(--text-primary)}.ss-sidebar-import:active{transform:translateY(0) scale(.98)}.ss-sidebar-import:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.light-mode .ss-sidebar-import{background:var(--bg-elevated);border-color:var(--border-color);color:var(--text-secondary)}.light-mode .ss-sidebar-import:hover{background:var(--bg-surface);color:var(--text-primary)}@media (prefers-reduced-motion: reduce){.ss-sidebar-import{transition:none}.ss-sidebar-import:hover,.ss-sidebar-import:active{transform:none}}.ss-sidebar-group-toggle{display:flex;align-items:center;gap:6px;width:100%;min-height:36px;padding:6px 10px;background:none;border:1px dashed var(--surface-item-border);border-radius:var(--surface-item-radius);color:var(--text-secondary);font-family:var(--font-body);font-size:13px;font-weight:500;text-align:left;cursor:pointer;transition:color .14s var(--ease-default),border-color .14s var(--ease-default)}.ss-sidebar-group-toggle:hover{color:var(--text-primary);border-color:var(--surface-item-border-hover)}.ss-sidebar-group-toggle:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.ss-sidebar-group-chevron{flex-shrink:0;transition:transform .16s var(--ease-default)}.ss-sidebar-group-chevron--open{transform:rotate(180deg)}@media (pointer: coarse){.ss-sidebar-group-toggle{min-height:44px}}@media (prefers-reduced-motion: reduce){.ss-sidebar-group-toggle,.ss-sidebar-group-chevron{transition:none}}.ss-sidebar-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 16px 24px;border:1px dashed rgba(255,255,255,.12);border-radius:var(--radius-2xl);background:#ffffff05;text-align:center}.light-mode .ss-sidebar-empty{border-color:#0000001f;background:#00000005}.ss-sidebar-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;background:#ffffff0a;color:var(--text-tertiary)}.light-mode .ss-sidebar-empty-icon{background:#0000000a;color:#00000073}.ss-sidebar-empty-icon svg{width:18px;height:18px}.ss-sidebar-empty-text{margin:0;font-size:12px;line-height:1.5;color:var(--text-secondary)}.light-mode .ss-sidebar-empty-text{color:#0000008c}.ss-sidebar-list{list-style:none;margin:0 -6px 0 0;padding:0 6px 0 0;display:flex;flex-direction:column;gap:8px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.ss-sidebar-list::-webkit-scrollbar{width:5px}.ss-sidebar-list::-webkit-scrollbar-track{background:transparent}.ss-sidebar-list::-webkit-scrollbar-thumb{background-color:#ffffff1f;border-radius:3px}.ss-sidebar-item{display:block}.ss-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:var(--surface-item-padding);background:var(--surface-item-bg);border:1px solid var(--surface-item-border);border-radius:var(--surface-item-radius);cursor:pointer;transition:transform .16s var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1)),border-color .16s var(--ease-out, ease-out),background .16s ease,box-shadow .16s ease;box-shadow:var(--surface-item-shadow);-webkit-tap-highlight-color:transparent}.ss-card:hover{transform:translateY(-1px);border-color:var(--surface-item-border-hover);background:var(--surface-item-bg-hover);box-shadow:var(--surface-item-shadow-hover)}.ss-card:active{transform:translateY(0) scale(.99);transition:transform 80ms ease-out}.ss-card:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.ss-card--active{border-color:var(--accent-primary);background:var(--surface-item-selected-bg);box-shadow:0 0 0 1px var(--accent-primary),var(--surface-item-selected-shadow)}.ss-card--active .ss-card-title{color:var(--accent-text)}.ss-card--active:hover{border-color:#f3d23ebf;background:linear-gradient(180deg,#ffdc781f,#ffffff0a)}.light-mode .ss-card--active:hover{border-color:var(--surface-item-border-hover);background:var(--surface-item-selected-bg);box-shadow:var(--surface-item-shadow-hover)}.ss-card--active:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:0 3px 3px 0;background:linear-gradient(180deg,var(--yellow-400),var(--yellow-300));box-shadow:0 0 12px #f3d23e66}.ss-card--applied:not(.ss-card--active):after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit;background:linear-gradient(135deg,transparent 70%,rgba(243,210,62,.08) 100%)}.ss-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-width:0;flex-wrap:wrap}.ss-card-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.ss-card-title{flex:1 1 auto;min-width:0;font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--text-primary);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.light-mode .ss-card-title{color:#000000e0}.light-mode .ss-card--active .ss-card-title{color:var(--accent-text)}.ss-card-id{flex:0 0 auto;align-self:center;font-size:11px;font-variant-numeric:tabular-nums;color:var(--text-tertiary)}.ss-card-meta{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:12px;font-variant-numeric:tabular-nums}.ss-card-meta-icon{color:var(--text-tertiary);flex-shrink:0}.ss-card-dates{letter-spacing:.01em}.ss-card-origin{font-size:11px;color:var(--text-secondary)}.ss-card-dates+.ss-card-origin:before{content:"·";margin-right:6px}.light-mode .ss-card-meta{color:#0000008c}.light-mode .ss-card-meta-icon{color:#00000073}.ss-card-badges{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ss-card-parent{font-size:11px;color:var(--text-tertiary);letter-spacing:.01em}.ss-card-parent strong{color:var(--info-ink);font-weight:600;font-variant-numeric:tabular-nums}.light-mode .ss-card-parent{color:#00000080}.light-mode .ss-card-parent strong{color:var(--info-ink)}.ss-card-progress-wrap{display:flex;flex-direction:column;gap:6px;margin-top:4px}@media (prefers-reduced-motion: reduce){.ss-sidebar-add,.ss-card{transition:none}.ss-sidebar-add:hover,.ss-card:hover,.ss-card:active{transform:none}}@media (max-width: 900px){.ss-sidebar{width:100%;position:static;max-height:none}.ss-sidebar-list{max-height:360px}}@media (max-width: 768px){.ss-sidebar-list{max-height:60vh}}.ss-card--ghost{cursor:default}.ss-card--ghost:hover{transform:none}.ss-card--ghost-queued,.ss-card--ghost-running{border-color:#f3d23e52;background:linear-gradient(180deg,#ffdc780f,#ffffff05)}.ss-card--ghost-canceling{border-color:#ffa55059;background:linear-gradient(180deg,#ffa55012,#ffffff05)}.ss-card--ghost-canceled{border-color:#ffffff1a;opacity:.65}.ss-card--ghost-failed{border-color:#f43f5e52;background:linear-gradient(180deg,#f43f5e0f,#ffffff05)}.ss-ghost-progress{position:relative;height:26px;border-radius:var(--radius-md);overflow:hidden;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center}.ss-ghost-progress-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--yellow-400),var(--yellow-300));transition:width .24s linear}.ss-ghost-progress--canceling .ss-ghost-progress-fill{background:linear-gradient(90deg,#f58f4a,#f7c46c);animation:ss-ghost-pulse 1.4s ease-in-out infinite}.ss-ghost-progress--queued .ss-ghost-progress-fill{background:linear-gradient(90deg,#f3d23e59,#f3d23e2e);width:100%!important;animation:ss-ghost-shimmer 1.6s ease-in-out infinite}.ss-ghost-progress-text{position:relative;z-index:1;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#241c00eb;text-shadow:0 1px 0 rgba(255,255,255,.25);font-variant-numeric:tabular-nums}.ss-ghost-progress--canceling .ss-ghost-progress-text{color:#281905eb}.ss-ghost-progress--queued .ss-ghost-progress-text{color:var(--accent-text);text-shadow:none}.ss-ghost-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.ss-ghost-status-dot{width:8px;height:8px;border-radius:999px;flex-shrink:0}.ss-ghost-status--canceled .ss-ghost-status-dot{background:#ffffff59}.ss-ghost-status--failed{color:#f48282eb}.ss-ghost-status--failed .ss-ghost-status-dot{background:#f43f5ed9}.ss-ghost-status-msg{font-size:11px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}@keyframes ss-ghost-shimmer{0%,to{opacity:.6}50%{opacity:1}}@keyframes ss-ghost-pulse{0%,to{opacity:.85}50%{opacity:1}}@media (prefers-reduced-motion: reduce){.ss-ghost-progress-fill{animation:none}}.light-mode .ss-ghost-progress{background:#0000000a;border-color:#00000014}.light-mode .ss-ghost-status{color:#0009}.light-mode .ss-ghost-status-msg{color:#00000080}.ss-ghost-cancel{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;margin-top:2px;height:22px;padding:0 8px;border:1px solid rgba(244,63,94,.32);background:#f43f5e14;color:#fca5a5f2;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease,transform .12s var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1))}.ss-ghost-cancel:hover{background:#f43f5e2e;border-color:#f43f5e8c;color:#ffc8c8}.ss-ghost-cancel:active{transform:scale(.96)}.ss-ghost-cancel:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.ss-ghost-cancel svg{display:block}.light-mode .ss-ghost-cancel{background:#dc262612;border-color:#dc26264d;color:#b41e1ef2}.light-mode .ss-ghost-cancel:hover{background:#dc262624;border-color:#dc26268c;color:#8c1414}.action-menu-panel{position:fixed;min-width:180px;display:flex;flex-direction:column;padding:4px;background:var(--bg-elevated);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:0 10px 30px #00000059;z-index:var(--z-modal);animation:action-menu-fade-in .12s ease-out}@keyframes action-menu-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.action-menu-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:transparent;border:none;border-radius:calc(var(--radius-md) - 2px);color:var(--text-primary);font-size:13px;font-weight:500;text-align:left;cursor:pointer;transition:background .1s ease,color .1s ease;white-space:nowrap}.action-menu-item:hover:not(:disabled){background:#ffffff14}.action-menu-item:focus-visible{outline:2px solid var(--yellow-400);outline-offset:-2px}.action-menu-item:disabled{opacity:.4;cursor:not-allowed}.action-menu-item--primary{color:var(--accent-text)}.action-menu-item--primary:hover:not(:disabled){background:color-mix(in srgb,var(--yellow-400) 18%,transparent)}.action-menu-item--danger{color:var(--danger-text)}.action-menu-item--danger:hover:not(:disabled){background:color-mix(in srgb,var(--error-text) 18%,transparent)}.action-menu-item-icon{display:inline-flex;align-items:center;flex-shrink:0}.action-menu-item-label{flex:1}@media (prefers-reduced-motion: reduce){.action-menu-panel,.action-menu-item{transition:none;animation:none}}.confirm-dialog__message{margin:0;font-size:var(--font-size-sm);line-height:1.55;color:var(--text-secondary)}.confirm-dialog--danger .modal-header__icon{color:var(--danger-text)}.schedule-details{margin-top:16px}.schedule-asv-header{display:flex;align-items:center;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08)}.schedule-asv-header h4{font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.schedule-asv-status{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--info-ink);background:color-mix(in srgb,var(--blue-400) 10%,transparent);border:1px solid color-mix(in srgb,var(--blue-400) 25%,transparent);padding:2px 10px;border-radius:999px}.schedule-calendar-compact{overflow-x:auto;overflow-y:visible;max-width:100%;border:1px solid var(--surface-section-border);border-radius:var(--surface-section-radius);margin-top:16px;background:var(--surface-section-bg);box-shadow:var(--surface-section-shadow);position:relative;scroll-behavior:smooth}.schedule-calendar-compact table{border-collapse:separate;border-spacing:0;font-family:var(--font-body);font-size:14px;table-layout:fixed;width:max-content;min-width:100%}.schedule-calendar-compact thead{display:table-header-group}.schedule-calendar-compact tbody{display:table-row-group}.schedule-calendar-compact tr{display:table-row}.schedule-calendar-compact th,.schedule-calendar-compact td{display:table-cell}.schedule-calendar-compact th{background-color:transparent;padding:10px 8px;border-bottom:1px solid rgba(255,255,255,.08);border-right:1px solid rgba(255,255,255,.04);font-weight:600;white-space:nowrap;font-size:13px;color:var(--text-secondary)}.light-mode .schedule-calendar-compact th{border-bottom-color:#0000000f;border-right-color:#0000000a}.schedule-calendar-compact thead th{position:sticky;top:0;z-index:2;background-color:var(--bg-tertiary)}.schedule-calendar-compact thead tr:first-child th{top:0}.schedule-calendar-compact thead tr:last-child th{top:42px;z-index:2}.schedule-calendar-compact thead tr:last-child th.vet-name-header{z-index:4}.schedule-calendar-compact th.vet-name-header{position:sticky;left:0;z-index:4;min-width:160px;width:160px;background-color:var(--bg-secondary);font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em;padding:14px 20px}.light-mode .schedule-calendar-compact th.vet-name-header{color:#00000059}.schedule-calendar-compact th.day-header{text-align:center;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--text-tertiary);border-left:1px solid rgba(255,255,255,.08);padding:14px 8px 8px}.light-mode .schedule-calendar-compact th.day-header{color:#0006;border-left-color:#0000000f}.schedule-calendar-compact th.day-header .day-date{display:block;font-size:24px;font-weight:600;letter-spacing:-.04em;color:var(--text-primary);margin-top:4px;font-family:var(--font-display)}.light-mode .schedule-calendar-compact th.day-header .day-date{color:#000000d9}.schedule-calendar-compact th.day-header.weekend-header{background-color:#eec52f0f;color:var(--accent-text)}.schedule-calendar-compact th.day-header.weekend-header .day-date{color:var(--accent-text)}.light-mode .schedule-calendar-compact th.day-header.weekend-header{background-color:#eec52f14;color:var(--accent-text)}.light-mode .schedule-calendar-compact th.day-header.weekend-header .day-date{color:var(--accent-text)}.schedule-calendar-compact th.slot-header{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-tertiary);padding:6px 4px;font-weight:500;text-align:center;border-top:1px solid rgba(255,255,255,.04)}.light-mode .schedule-calendar-compact th.slot-header{color:#00000052;border-top-color:#0000000a}.schedule-calendar-compact th.slot-header.day-start{border-left:1px solid rgba(255,255,255,.08)}.light-mode .schedule-calendar-compact th.slot-header.day-start{border-left-color:#0000000f}.schedule-calendar-compact th.slot-header.night-header{background-color:#00000014}.light-mode .schedule-calendar-compact th.slot-header.night-header{background-color:#00000008}.schedule-calendar-compact td.vet-name{position:sticky;left:0;z-index:3;min-width:160px;width:160px;padding:12px 20px;background-color:var(--bg-secondary);border-right:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.06)}.light-mode .schedule-calendar-compact td.vet-name{border-right-color:#0000000f;border-bottom-color:#0000000a}.schedule-calendar-compact td.vet-name .vet-name-text{font-size:15px;font-weight:500;color:var(--text-primary)}.light-mode .schedule-calendar-compact td.vet-name .vet-name-text{color:#000000d9}.schedule-calendar-compact tbody tr td{background-color:transparent}.schedule-calendar-compact tbody tr:nth-child(2n) td{background-color:#ffffff04}.light-mode .schedule-calendar-compact tbody tr:nth-child(2n) td{background-color:#00000004}.schedule-calendar-compact tbody tr:nth-child(2n) td.vet-name{background-color:var(--bg-secondary);background-image:linear-gradient(#ffffff04,#ffffff04)}.schedule-calendar-compact tbody tr:nth-child(odd) td.vet-name{background-color:var(--bg-secondary);background-image:none}.light-mode .schedule-calendar-compact tbody tr:nth-child(2n) td.vet-name{background-color:var(--bg-secondary);background-image:linear-gradient(#00000004,#00000004)}.light-mode .schedule-calendar-compact tbody tr:nth-child(odd) td.vet-name{background-color:var(--bg-secondary);background-image:none}.schedule-calendar-compact tbody tr:hover td{background-color:#ffffff0a}.schedule-calendar-compact tbody tr:hover td.vet-name{background-color:var(--bg-secondary);background-image:linear-gradient(#ffffff0f,#ffffff0f)}.schedule-calendar-compact tbody tr:hover td.vet-name .vet-name-text{color:var(--text-primary)}.light-mode .schedule-calendar-compact tbody tr:hover td{background-color:#00000006}.light-mode .schedule-calendar-compact tbody tr:hover td.vet-name{background-color:var(--bg-secondary);background-image:linear-gradient(#0000000a,#0000000a)}.schedule-calendar-compact tbody tr:last-child td:first-child{border-bottom-left-radius:var(--radius-3xl)}.schedule-calendar-compact tbody tr:last-child td:last-child{border-bottom-right-radius:var(--radius-3xl)}.schedule-calendar-compact td.slot-cell{padding:3px;min-width:120px;vertical-align:middle;border-bottom:1px solid rgba(255,255,255,.06);border-right:1px solid rgba(255,255,255,.04)}.light-mode .schedule-calendar-compact td.slot-cell{border-bottom-color:#0000000a;border-right-color:#00000008}.schedule-calendar-compact td.slot-cell.day-start{border-left:1px solid rgba(255,255,255,.08)}.light-mode .schedule-calendar-compact td.slot-cell.day-start{border-left-color:#0000000f}.schedule-calendar-compact td.slot-cell.night-cell,.schedule-calendar-compact tbody tr:nth-child(2n) td.slot-cell.night-cell,.schedule-calendar-compact tbody tr:nth-child(odd) td.slot-cell.night-cell{background-color:#0000000f}.light-mode .schedule-calendar-compact td.slot-cell.night-cell,.light-mode .schedule-calendar-compact tbody tr:nth-child(2n) td.slot-cell.night-cell,.light-mode .schedule-calendar-compact tbody tr:nth-child(odd) td.slot-cell.night-cell{background-color:#00000006}.schedule-calendar-compact tbody tr:hover td.slot-cell.night-cell{background-color:#0000001a}.light-mode .schedule-calendar-compact tbody tr:hover td.slot-cell.night-cell{background-color:#0000000a}.slot-content{padding:2px;min-height:52px;display:flex;align-items:center;justify-content:center;position:relative}.slot-card{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;height:68px;padding:0 12px;border-radius:var(--radius-2xl);font-size:13px;font-weight:500;overflow:hidden;gap:6px;transition:transform var(--duration-quick, .2s) var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1)),box-shadow var(--duration-quick, .2s) var(--ease-out-expo, cubic-bezier(.16, 1, .3, 1)),filter var(--duration-instant, .15s) var(--ease-default, ease)}.slot-card-left{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.slot-card-emoji{font-size:15px;line-height:1;flex-shrink:0;opacity:.9}.slot-card-site{font-size:14px;font-weight:600;letter-spacing:-.02em;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.light-mode .slot-card-site{color:#000000bf}.slot-card-badge{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);flex-shrink:0}.light-mode .slot-card-badge{color:#0006}.slot-card--consult{border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,#9162ff2e,#9162ff14);box-shadow:inset 0 1px #ffffff14}.light-mode .slot-card--consult{border-color:#9162ff33;background:linear-gradient(180deg,#9162ff1f,#9162ff0d)}.slot-card--rural{border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,#4780ff29,#4780ff12);box-shadow:inset 0 1px #ffffff14}.light-mode .slot-card--rural{border-color:#4780ff33;background:linear-gradient(180deg,#4780ff1a,#4780ff0a)}.slot-card--oncall-canine,.slot-card--oncall-rural,.slot-card--oncall-mixed{border:1px solid rgba(230,193,90,.3);background:linear-gradient(180deg,#e6c15a38,#e6c15a14);color:var(--oncall-label-tint);box-shadow:inset 0 1px #fff5d21f}.light-mode .slot-card--oncall-canine,.light-mode .slot-card--oncall-rural,.light-mode .slot-card--oncall-mixed{border-color:#e6c15a4d;background:linear-gradient(180deg,#e6c15a26,#e6c15a0f);color:var(--gold-800)}.slot-card--oncall-canine .slot-card-site,.slot-card--oncall-rural .slot-card-site,.slot-card--oncall-mixed .slot-card-site{color:var(--oncall-label-tint)}.light-mode .slot-card--oncall-canine .slot-card-site,.light-mode .slot-card--oncall-rural .slot-card-site,.light-mode .slot-card--oncall-mixed .slot-card-site{color:var(--gold-800)}.slot-card--dayoff{border:1px solid rgba(255,255,255,.05);background:#ffffff08;color:var(--text-secondary);box-shadow:none}.slot-card--dayoff .slot-card-site{color:var(--text-tertiary);font-style:italic}.light-mode .slot-card--dayoff{background:#00000006;border-color:#0000000a}.light-mode .slot-card--dayoff .slot-card-site{color:#00000059}.slot-card--rest{border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,#72c19229,#72c19214);box-shadow:inset 0 1px #ffffff14}.slot-card--rest .slot-card-site{color:var(--info-ink);font-weight:600}.light-mode .slot-card--rest{background:linear-gradient(180deg,#72c1921a,#72c1920a)}.light-mode .slot-card--rest .slot-card-site{color:var(--info-ink)}.slot-card--sick{border:1px solid color-mix(in srgb,var(--error-text) 22%,transparent);background:color-mix(in srgb,var(--error-text) 7%,transparent);box-shadow:none}.slot-card--sick .slot-card-site{color:var(--danger-text);font-weight:600}.light-mode .slot-card--sick{background:color-mix(in srgb,var(--error-text) 5%,transparent)}.light-mode .slot-card--sick .slot-card-site{color:var(--error-strong)}.slot-card--violated{border:2px solid var(--gold-500);background:#eec52f0f}.slot-card--violated .slot-card-site,.light-mode .slot-card--violated .slot-card-site{color:var(--accent-text)}.slot-card--empty{border:1px solid transparent;background:transparent;justify-content:center;height:68px}td.slot-cell.clickable-cell{cursor:pointer}td.slot-cell.clickable-cell:hover .slot-card:not(.slot-card--empty){transform:translateY(-2px) scale(1.01);box-shadow:0 8px 20px #00000026}td.slot-cell.clickable-cell:active .slot-card:not(.slot-card--empty){transform:translateY(0) scale(.99);transition:transform 80ms var(--ease-out, ease)}td.slot-cell.clickable-cell:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--accent-primary);z-index:1}.schedule-calendar-compact th.below-min-header{border-bottom:3px solid var(--error-text);color:var(--danger-text);font-weight:700}.schedule-calendar-compact td.slot-cell.below-min-col{border-bottom:3px solid var(--error-text);background-color:var(--error-bg)}.violation-icon{display:inline-flex;align-items:center;justify-content:center;width:10px;height:10px;border-radius:50%;font-size:0;position:absolute;top:6px;right:6px;cursor:help}.violation-hard{background-color:var(--error-text)}.violation-soft{background-color:var(--gold-500);color:var(--on-accent)}.holiday-header{background-color:#eec52f14!important;color:var(--accent-text)}.holiday-slot{background-color:#eec52f08}td.holiday-cell{background-color:#eec52f05}tr:hover td.holiday-cell{background-color:#eec52f0d}@media (max-width: 1024px){.schedule-calendar-compact{-webkit-overflow-scrolling:touch}}.slot-cell{position:relative}.sc-cell-diff-badge{position:absolute;top:2px;right:2px;z-index:3;width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-family:var(--font-mono, ui-monospace, "SF Mono", Menlo, monospace);font-size:11px;font-weight:700;line-height:1;color:#fff;pointer-events:none;box-shadow:0 0 0 1px #00000059}.sc-cell-diff-badge--added{background:var(--success-text)}.sc-cell-diff-badge--removed{background:var(--status-poor)}.sc-cell-diff-badge--changed{background:var(--warning-text)}.sc-cell-diff-badge--pinned{background:var(--accent-primary);color:var(--on-accent)}.sc-cell-lock-badge{position:absolute;bottom:2px;right:2px;z-index:1;color:var(--text-tertiary);pointer-events:none}.sc-cell--diff-removed{background:repeating-linear-gradient(-45deg,transparent,transparent 3px,color-mix(in srgb,var(--status-poor) 15%,transparent) 3px,color-mix(in srgb,var(--status-poor) 15%,transparent) 6px)!important;opacity:.6}@media (prefers-reduced-motion: reduce){.slot-card{transition:none}}.sc-cell--selected{outline:2px solid var(--accent-primary);outline-offset:-2px;background-color:var(--accent-primary-light)}.sc-cell--paste-ready{cursor:copy!important;outline:2px dashed var(--gold-600);outline-offset:-2px}.sc-cell--paste-ready:hover{outline-color:var(--gold-400);background:color-mix(in srgb,var(--gold-500) 10%,transparent)!important}.schedule-calendar-compact td.vet-name--reorderable{padding-left:26px}.slot-floating-badge{position:absolute;top:2px;right:2px;padding:0 5px;height:14px;line-height:14px;border-radius:7px;font-size:9px;font-weight:700;letter-spacing:.02em;color:var(--on-accent);background:var(--gold-400);box-shadow:0 1px 3px #00000040;pointer-events:none;white-space:nowrap}.slot-floating-badge--add{color:#fff;background:var(--success-text, #2e7d32)}.light-mode .slot-floating-badge{color:var(--gold-950, #1a1400)}.slot-rest-request-badge{position:absolute;top:2px;left:2px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:10px;line-height:1;box-shadow:0 1px 3px #00000040;pointer-events:none}.slot-rest-request-badge--hard{background:var(--accent-blue);border:1px solid color-mix(in srgb,var(--accent-blue) 60%,transparent)}.slot-rest-request-badge--soft{background:color-mix(in srgb,var(--accent-blue) 35%,transparent);border:1px solid color-mix(in srgb,var(--accent-blue) 55%,transparent)}.schedule-calendar-compact--short th.vet-name-header,.schedule-calendar-compact--color th.vet-name-header,.schedule-calendar-compact--short td.vet-name,.schedule-calendar-compact--color td.vet-name{min-width:0;width:auto;padding:8px 8px 8px 20px}.schedule-calendar-compact--short td.vet-name .vet-name-text,.schedule-calendar-compact--color td.vet-name .vet-name-text{font-size:13px;line-height:1.25}.schedule-calendar-compact--short td.slot-cell,.schedule-calendar-compact--color td.slot-cell{min-width:0;padding:2px}.schedule-calendar-compact--short th.slot-header,.schedule-calendar-compact--color th.slot-header{padding:6px 2px;font-size:11px;overflow:hidden;text-overflow:ellipsis}.schedule-calendar-compact--short th.day-header,.schedule-calendar-compact--color th.day-header{letter-spacing:.06em;overflow:hidden;text-overflow:ellipsis}.schedule-calendar-compact--short .slot-content,.schedule-calendar-compact--color .slot-content{min-height:40px;padding:1px}.schedule-calendar-compact--short .slot-card,.schedule-calendar-compact--color .slot-card{height:40px;padding:0 3px;flex-direction:column;justify-content:center;gap:1px;border-radius:var(--radius-lg)}.schedule-calendar-compact--short .slot-card-left{flex:none;flex-direction:column;align-items:center;gap:1px;max-width:100%}.schedule-calendar-compact--short .slot-card-emoji{font-size:11px}.schedule-calendar-compact--short .slot-card-site{max-width:100%;font-size:11px;letter-spacing:0}.schedule-calendar-compact--color .slot-card-left,.slot-cell--color .slot-card-site,.schedule-calendar-compact--short .slot-card-badge,.schedule-calendar-compact--color .slot-card-badge{display:none}.schedule-calendar-compact--short .slot-floating-badge,.schedule-calendar-compact--color .slot-floating-badge{width:7px;height:7px;padding:0;font-size:0}.schedule-calendar-compact--short .slot-rest-request-badge,.schedule-calendar-compact--color .slot-rest-request-badge{width:12px;height:12px;font-size:8px}.cell-tooltip{max-width:280px}.schedule-calendar-compact--short th.slot-header.night-header,.schedule-calendar-compact--color th.slot-header.night-header{font-size:10px;letter-spacing:0;text-overflow:clip}.slot-cell--color .slot-card-emoji{font-size:11px}.schedule-calendar-compact--short th.day-header,.schedule-calendar-compact--color th.day-header{padding:6px 2px;line-height:1.2}.day-header__weekday,.day-header__date{display:block;overflow:hidden;text-overflow:clip}.day-header__date{font-size:11px;letter-spacing:.02em;font-variant-numeric:tabular-nums}.schedule-calendar-compact--short .slot-card-emoji,.schedule-calendar-compact--color .slot-card-emoji{max-width:100%;overflow:hidden;white-space:nowrap}.schedule-calendar-sticky-overlay{background:var(--bg-secondary)}.sp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;background:#0006;animation:sp-overlay-in var(--duration-quick) var(--ease-out)}@keyframes sp-overlay-in{0%{opacity:0}to{opacity:1}}.sp-dialog{z-index:var(--z-modal);width:340px;background:var(--surface-overlay-bg);border:1px solid var(--surface-section-border);border-radius:var(--radius-2xl);box-shadow:var(--glass-shadow-xl),0 0 0 1px #0000000d;display:flex;flex-direction:column;overflow-y:auto;max-height:calc(100vh - 64px);max-height:calc(100dvh - 64px);animation:sp-dialog-in var(--duration-elaborate) var(--ease-out-expo)}@keyframes sp-dialog-in{0%{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.sp-header{display:flex;align-items:flex-start;gap:10px;padding:16px 16px 12px;border-bottom:1px solid rgba(255,255,255,.06)}.sp-header__info{flex:1;min-width:0}.sp-header__title{font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--text-primary);margin:0;line-height:1.3}.sp-header__slot{font-size:12px;color:var(--text-tertiary);margin-top:2px;display:block}.sp-header__close{flex-shrink:0}.sp-body{display:flex;flex-direction:column;gap:14px;padding:16px}.sp-field{display:flex;flex-direction:column;gap:6px}.sp-field__label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary)}.sp-site-grid{display:flex;flex-direction:column;gap:4px}.sp-site-chip{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:1.5px solid var(--glass-border);border-radius:var(--radius-lg);background:#ffffff0a;color:var(--text-secondary);font-family:var(--font-body);font-size:13px;font-weight:500;cursor:pointer;text-align:left;transition:border-color var(--duration-instant) var(--ease-default),background-color var(--duration-quick) var(--ease-out-expo),color var(--duration-instant) var(--ease-default),transform var(--duration-quick) var(--ease-spring)}.sp-site-chip:hover{border-color:var(--text-tertiary);color:var(--text-primary)}.sp-site-chip:active{transform:scale(.98);transition:transform 80ms var(--ease-out)}.sp-site-chip--active{font-weight:600;border-width:2px}.sp-site-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.sp-actions{display:flex;gap:8px;padding:12px 16px 16px}@media (max-width: 400px){.sp-dialog{width:calc(100vw - 32px)}}@media (prefers-reduced-motion: reduce){.sp-overlay,.sp-dialog{animation:none}.sp-site-chip{transition:none}}.soft-violation-badge-wrap{position:absolute;top:2px;right:2px;z-index:2;display:inline-flex;pointer-events:auto}.soft-violation-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border-radius:var(--radius-lg);border:1px solid rgba(245,158,11,.45);background:linear-gradient(180deg,#f59e0b52,#d977062e);color:var(--accent-text);cursor:help;-webkit-tap-highlight-color:transparent;box-shadow:inset 0 1px #ffffff40,0 2px 8px #f59e0b59,0 0 0 1px #ffffff0a;transition:transform .18s var(--ease-spring),box-shadow .18s var(--ease-default)}.soft-violation-badge:focus{outline:none}.soft-violation-badge:focus-visible{box-shadow:inset 0 1px #ffffff4d,0 0 0 2px var(--bg-primary),0 0 0 4px var(--warning-text)}@media (hover: hover){.soft-violation-badge:hover{transform:scale(1.08);box-shadow:inset 0 1px #ffffff59,0 4px 12px #f59e0b80,0 0 0 1px #ffffff0f}}.soft-violation-badge:active{transform:scale(.94)}.soft-violation-badge__icon{width:14px;height:14px;filter:drop-shadow(0 1px 0 rgba(0,0,0,.25))}.cell--has-soft-violation{position:relative;background-image:radial-gradient(120% 80% at 100% 0%,rgba(245,158,11,.16),rgba(245,158,11,.04) 55%,transparent 80%);background-color:transparent;box-shadow:inset -1px 1px #f59e0b59,inset 0 0 22px -10px #f59e0b59}.soft-violation-tooltip{position:absolute;top:calc(100% + 6px);right:0;z-index:10;min-width:220px;max-width:320px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;font-size:.78rem;line-height:1.4;color:var(--text-primary);background:linear-gradient(180deg,#1c1610eb,#14100ceb);border:1px solid rgba(245,158,11,.32);border-radius:var(--radius-xl);box-shadow:0 12px 32px #00000073,0 0 0 1px #0006,inset 0 1px #ffffff0d;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);pointer-events:none;animation:soft-violation-tooltip-in .14s var(--ease-spring);transform-origin:top right}.soft-violation-tooltip__line{color:var(--text-primary)}.soft-violation-tooltip__line+.soft-violation-tooltip__line{padding-top:4px;border-top:1px solid rgba(255,255,255,.06)}.light-mode .soft-violation-tooltip{background:linear-gradient(180deg,#fffcf6f5,#fcf7ecf5);border-color:#d9770659;color:#2a2118;box-shadow:0 12px 32px #3c28082e,0 0 0 1px #0000000a,inset 0 1px #fff9}.light-mode .soft-violation-tooltip__line{color:#2a2118}.light-mode .soft-violation-tooltip__line+.soft-violation-tooltip__line{border-top-color:#00000012}@keyframes soft-violation-tooltip-in{0%{opacity:0;transform:translateY(-4px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.soft-violation-badge,.soft-violation-tooltip{transition:none;animation:none}}.people-drag-handle{position:absolute;left:2px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:22px;height:32px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-tertiary);cursor:grab;touch-action:none;transition:color .14s ease-out,background .14s ease-out}tr:hover .people-drag-handle,.people-drag-handle:focus-visible{color:var(--text-secondary)}.people-drag-handle:hover{background:#ffffff14}.people-drag-handle:active{cursor:grabbing}.people-drag-handle:focus-visible{outline:2px solid var(--accent-primary);outline-offset:1px}.light-mode .people-drag-handle{color:#0000004d}.light-mode tr:hover .people-drag-handle,.light-mode .people-drag-handle:focus-visible{color:#0009}.light-mode .people-drag-handle:hover{background:#0000000f}.people-drop-target{box-shadow:inset 0 2px 0 var(--yellow-400)}@media (prefers-reduced-motion: reduce){.people-drag-handle{transition:none}}.sch-header{display:flex;align-items:center;justify-content:space-between;gap:12px 16px;flex-wrap:wrap;margin-bottom:var(--surface-stack-gap)}.sch-header__main{display:flex;flex-direction:column;gap:4px;min-width:0}.sch-header__titles{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}.sch-header__title{margin:0;font-family:var(--font-display);font-size:20px;font-weight:600;letter-spacing:-.01em;color:var(--text-primary)}.sch-header__meta{display:flex;flex-wrap:wrap;gap:2px 10px;margin:0;font-size:12px;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.sch-header__action{flex:none}@media (max-width: 640px){.sch-header__title{font-size:17px}.sch-header__action{width:100%}}.plan-legend{margin-top:var(--surface-section-gap);border:1px solid var(--surface-section-border);border-radius:var(--surface-item-radius);background:var(--surface-item-bg);box-shadow:var(--surface-item-shadow)}.plan-legend__summary{display:flex;align-items:center;gap:6px;min-height:36px;padding:0 var(--surface-section-padding);list-style:none;cursor:pointer;font-family:var(--section-title-font, var(--font-display));font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);border-radius:inherit}.plan-legend__summary::-webkit-details-marker{display:none}.plan-legend__summary:hover{color:var(--text-primary)}.plan-legend__summary:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.plan-legend__chevron{transition:transform .14s var(--ease-spring, ease)}.plan-legend[open] .plan-legend__chevron{transform:rotate(180deg)}.plan-legend__body{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 20px;padding:4px var(--surface-section-padding) var(--surface-section-padding);border-top:1px solid var(--surface-divider)}.plan-legend__group{min-width:0;padding-top:10px}.plan-legend__title{margin:0 0 6px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.plan-legend__list{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}.plan-legend__item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-primary)}.plan-legend__swatch{display:inline-flex;flex:none;align-items:center;justify-content:center;min-width:34px;font-size:13px;color:var(--text-secondary)}.plan-legend__text{min-width:0}.plan-legend__site,.plan-legend__code{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:20px;padding:0 4px;border-radius:6px;font-size:11px;font-weight:600;color:var(--text-primary)}.plan-legend__site{background:color-mix(in srgb,var(--legend-site) 24%,transparent);box-shadow:inset 3px 0 0 var(--legend-site)}.plan-legend__code{background:var(--state-hover-bg)}.plan-legend__oncall{width:34px;height:20px;border-radius:6px;background:var(--accent-tint-bg-strong);border:1px solid color-mix(in srgb,var(--accent-primary) 45%,transparent)}.plan-legend__dot{width:8px;height:8px;border-radius:50%;background:var(--gold-400)}.plan-legend__below-min{width:26px;height:3px;border-radius:2px;background:var(--error-text)}@media (prefers-reduced-motion: reduce){.plan-legend__chevron{transition:none}}.bottom-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:var(--z-modal);display:flex;align-items:flex-end}.bottom-sheet{width:100%;max-height:80vh;overflow-y:auto;background:var(--surface-overlay-bg);border:1px solid var(--surface-section-border);border-bottom:none;border-radius:var(--surface-section-radius) var(--surface-section-radius) 0 0;box-shadow:0 -18px 50px #0000004d;padding:8px 16px calc(16px + env(safe-area-inset-bottom));animation:bottom-sheet-up .15s cubic-bezier(.2,.9,.3,1)}@keyframes bottom-sheet-up{0%{transform:translateY(24px);opacity:.6}to{transform:translateY(0);opacity:1}}@media (prefers-reduced-motion: reduce){.bottom-sheet{animation:none}}.bottom-sheet-handle{width:36px;height:4px;border-radius:2px;background:#ffffff40;margin:4px auto 10px}.bottom-sheet-title{margin:0 0 12px;font-size:1rem;color:var(--text-primary)}.light-mode .bottom-sheet-handle{background:#0003}.light-mode .bottom-sheet-title{color:var(--text-primary)}.mss-row{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)}.mss-row:last-child{border-bottom:none}.mss-row-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.mss-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.mss-empty{color:var(--text-secondary);font-size:.85rem}.mss-chip{border-radius:8px;padding:3px 10px;font-size:.85rem;font-weight:600}.mss-chip--regular{background:#ffffff40;color:var(--text-primary)}.mss-chip--rural{background:var(--color-rural);color:#fff}.mss-chip--oncall{background:var(--color-oncall);color:#181818}.light-mode .mss-chip--regular{background:#00000014;color:var(--text-primary)}.mss-action{margin-top:8px;min-height:44px;width:100%;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,#ffffff0d,#ffffff05);color:var(--text-primary);font-weight:600}.mss-action--remove{border-color:color-mix(in srgb,var(--error-text) 40%,transparent);color:var(--danger-text)}.mss-picker{margin-top:8px}.mss-sites{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px}.mss-site{min-height:44px;border-radius:var(--surface-item-radius);border:1px solid var(--surface-item-border);background:var(--surface-item-bg);color:var(--text-primary);font-weight:600;box-shadow:var(--surface-item-shadow)}.light-mode .mss-row{border-bottom-color:#00000014}.light-mode .mss-action,.light-mode .mss-site{border-color:#0000001f;background:linear-gradient(180deg,#ffffffe6,#ffffffbf);color:var(--text-primary)}.msg{display:flex;flex-direction:column;gap:6px;width:100%}.msg-days,.msg-rows,.msg-row{width:100%;box-sizing:border-box}.msg-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.msg-week-label{font-weight:700;color:var(--text-primary)}.msg-days{display:grid;gap:4px;align-items:end}.msg-day{text-align:center;font-size:.7rem;color:var(--text-secondary);display:flex;flex-direction:column}.msg-day em{font-style:normal;font-weight:700;color:var(--text-primary)}.msg-rows{display:flex;flex-direction:column;gap:4px}.msg-row{display:grid;gap:4px;align-items:center}.msg-name{min-width:0;min-height:44px;padding:0;border:0;background:none;font:inherit;font-size:.72rem;text-align:left;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-radius:var(--radius-sm)}.msg-name:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.msg-name--expanded{white-space:normal;overflow-wrap:anywhere;color:var(--text-primary)}.msg-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.msg-cell{position:relative;height:44px;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;display:flex;flex-direction:column;gap:2px;padding:3px}.msg-seg{flex:1;border-radius:4px;background:transparent}.msg-seg--oncall{box-shadow:inset 0 0 0 2px var(--color-oncall)}.light-mode .msg-cell{border-color:#0000001a;background:#00000008}.yvc{display:flex;flex-direction:column}.yvc__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.yvc__name{font-family:var(--font-display);font-size:15px;font-weight:600;color:var(--text-primary);overflow-wrap:anywhere}.yvc__score{font-family:var(--font-display);font-size:34px;line-height:1;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap}.yvc__score--good{color:var(--success-text)}.yvc__stats{margin-top:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.yvc__stat{display:flex;flex-direction:column;gap:2px;min-width:0}.yvc__stat-value{font-size:16px;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.yvc__stat-label{font-size:11px;line-height:1.25;color:var(--text-secondary)}.pvc-section{margin-top:var(--surface-section-gap);border:1px solid var(--surface-section-border);border-radius:var(--surface-item-radius);background:var(--surface-item-bg);box-shadow:var(--surface-item-shadow)}.pvc-section__summary{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;min-height:36px;padding:6px var(--surface-section-padding);list-style:none;cursor:pointer;color:var(--text-secondary);border-radius:inherit}.pvc-section__summary::-webkit-details-marker{display:none}.pvc-section__summary:hover{color:var(--text-primary)}.pvc-section__summary:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.pvc-section__title{font-family:var(--section-title-font, var(--font-display));font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.pvc-section__stats{display:flex;flex-wrap:wrap;gap:2px 12px;min-width:0;font-size:13px}.pvc-section__stats strong{color:var(--text-primary);font-weight:600}.pvc-section__lowest{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pvc-section__chevron{margin-left:auto;flex-shrink:0;transition:transform .14s var(--ease-spring, ease)}.pvc-section[open] .pvc-section__chevron{transform:rotate(180deg)}.pvc{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;padding:var(--surface-section-padding);border-top:1px solid var(--surface-divider)}@media (max-width: 640px){.pvc{grid-template-columns:1fr}}@media (pointer: coarse){.pvc-section__summary{min-height:44px}}@media (prefers-reduced-motion: reduce){.pvc-section__chevron{transition:none}}.improve-review{--tone-color: var(--text-secondary);--tone-accent: rgba(255, 255, 255, .08);display:flex;flex-direction:column;gap:14px;padding:18px 18px 16px;margin:0 0 16px;background:var(--surface-section-bg);border:1px solid var(--surface-section-border);border-radius:var(--surface-section-radius);box-shadow:var(--surface-section-shadow);position:relative;overflow:hidden}.improve-review:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;border-top:2px solid var(--tone-color);opacity:.55;pointer-events:none}.improve-review--win{--tone-color: var(--success-text);--tone-accent: var(--success-bg)}.improve-review--regression{--tone-color: var(--warning-text);--tone-accent: var(--warning-bg)}.improve-review--flat{--tone-color: var(--text-tertiary, rgba(255, 255, 255, .4));--tone-accent: rgba(255, 255, 255, .06)}.improve-review__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.improve-review__title{display:flex;align-items:flex-start;gap:12px;min-width:0}.improve-review__badge{flex:none;width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--tone-color);background:var(--tone-accent);border:1px solid color-mix(in srgb,var(--tone-color) 35%,transparent)}.improve-review__title-text{min-width:0}.improve-review__title-text h3{margin:0 0 2px;font-size:15px;font-weight:600;color:var(--text-primary);letter-spacing:.01em}.improve-review__subtitle{margin:0;font-size:12.5px;color:var(--text-secondary);line-height:1.4}.improve-review__close{flex:none}.improve-review__counts{display:flex;flex-wrap:wrap;gap:8px}.improve-review__count{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:12.5px;color:var(--text-secondary);background:#ffffff0a;border:1px solid var(--glass-border);font-variant-numeric:tabular-nums}.improve-review__count strong{color:var(--text-primary);font-weight:700}.improve-review__count--added strong{color:var(--success-text)}.improve-review__count--removed strong{color:var(--danger-text)}.improve-review__count--changed strong{color:var(--warning-text)}.improve-review__count--score{margin-left:auto;background:color-mix(in srgb,var(--yellow-400) 12%,transparent);border-color:color-mix(in srgb,var(--yellow-400) 32%,transparent)}.improve-review__delta{font-weight:700;font-variant-numeric:tabular-nums}.improve-review__delta--good{color:var(--success-text)}.improve-review__delta--bad{color:var(--danger-text)}.improve-review__delta--neutral{color:var(--text-secondary)}.improve-review__footer{display:flex;justify-content:flex-end}.improve-review__cta{padding:10px 18px;border-radius:999px;border:1px solid color-mix(in srgb,var(--yellow-400) 55%,transparent);background:var(--yellow-400);color:var(--on-accent);font-weight:600;font-size:13px;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease;box-shadow:0 8px 24px #f5c5182e}.improve-review__cta:hover{background:var(--yellow-300);transform:translateY(-1px);color:var(--on-accent)}.improve-review__cta:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.improve-review__cta:active{transform:translateY(0)}@media (prefers-reduced-motion: reduce){.improve-review__cta{transition:none}}.light-mode .improve-review__count{background:#00000008}.cp-modal{display:flex;flex-direction:column;gap:16px}.cp-mode{align-self:flex-start}.mp-add-form{display:flex;flex-direction:column;gap:18px}.mp-add-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}.mp-add-field{display:flex;flex-direction:column;gap:6px;min-width:0}.mp-add-field--full{grid-column:1 / -1}.mp-add-label{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.light-mode .mp-add-label{color:#0000008c}.mp-add-optional{font-weight:500;letter-spacing:.04em;text-transform:lowercase;color:var(--text-tertiary)}.light-mode .mp-add-optional{color:#0006}.mp-add-input{height:38px;padding:0 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:var(--text-primary);font-size:14px;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}.mp-add-input::placeholder{color:var(--text-tertiary)}.mp-add-input:hover{border-color:#ffffff2e}.mp-add-input:focus-visible{outline:none;border-color:#f3d23e8c;background:#ffffff0f;box-shadow:0 0 0 3px #f3d23e2e}.light-mode .mp-add-input{background:#00000008;border-color:#0000001a;color:#000000e6}.light-mode .mp-add-input::placeholder{color:#00000059}.mp-add-form-error{margin:0;padding:10px 12px;border:1px solid var(--error-border);border-radius:var(--radius-xl);background:var(--error-bg);color:var(--danger-text);font-size:13px}.mp-add-form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:8px;border-top:1px solid var(--border-light)}@media (max-width: 420px){.mp-add-form-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.mp-add-input{transition:none}}.dp-trigger{display:inline-flex;align-items:center;gap:8px;padding:0 12px;height:38px;width:100%;border-radius:var(--radius-md, 8px);border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--text-primary);font:inherit;font-size:13px;text-align:left;cursor:pointer;transition:border-color .16s var(--ease-default),background-color .16s var(--ease-default),box-shadow .2s var(--ease-default);font-variant-numeric:tabular-nums}.dp-trigger--sm{height:32px;font-size:12px;padding:0 10px}.dp-trigger--lg{height:44px;font-size:14px;padding:0 14px}.dp-trigger:hover:not(.dp-trigger--disabled){border-color:var(--glass-border-hover);background:var(--glass-bg-strong)}.dp-trigger:focus-visible{outline:2px solid var(--yellow-400);outline-offset:2px}.dp-trigger[aria-expanded=true]{border-color:var(--yellow-400);box-shadow:0 0 0 1px var(--yellow-400) inset,var(--shadow-glow)}.dp-trigger--disabled{opacity:.5;cursor:not-allowed}.dp-trigger--empty .dp-trigger-label{color:var(--text-tertiary)}.dp-trigger-icon{flex-shrink:0;color:var(--accent-text)}.dp-trigger-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dp-trigger-chev{flex-shrink:0;color:var(--text-tertiary);transition:transform .2s var(--ease-default)}.dp-trigger[aria-expanded=true] .dp-trigger-chev{transform:rotate(180deg)}.dp-trigger-clear{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;color:var(--text-tertiary);cursor:pointer;flex-shrink:0}.dp-trigger-clear:hover{color:var(--text-primary);background:#ffffff14}.dp-pop{position:fixed;z-index:var(--z-max);box-sizing:border-box;width:300px;padding:12px;border-radius:var(--radius-lg, 12px);background:var(--glass-bg-strong);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow-lg);color:var(--text-primary);animation:dp-pop-in .16s var(--ease-out-expo);overflow:hidden}.dp-pop *{box-sizing:border-box}@keyframes dp-pop-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.dp-pop-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.dp-pop-title{flex:1;text-align:center;font-size:13px;font-weight:600;color:var(--text-primary);letter-spacing:.01em}.dp-grid{display:flex;flex-direction:column;gap:2px}.dp-grid-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;width:100%}.dp-grid-row--head{margin-bottom:4px}.dp-day-head{text-align:center;font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;padding:4px 0}.dp-day{display:inline-flex;align-items:center;justify-content:center;height:34px;border-radius:var(--radius-sm, 6px);border:1px solid transparent;background:transparent;color:var(--text-primary);font-size:12.5px;font-weight:500;cursor:pointer;transition:background-color .12s var(--ease-default),color .12s var(--ease-default),border-color .12s var(--ease-default);font-variant-numeric:tabular-nums}.dp-day:hover:not(.dp-day--disabled):not(.dp-day--selected){background:#ffffff0f;color:var(--text-primary)}.dp-day:focus-visible{outline:2px solid var(--yellow-400);outline-offset:-2px}.dp-day--muted{color:var(--text-tertiary);opacity:.55}.dp-day--today:not(.dp-day--selected){border-color:var(--yellow-700);color:var(--accent-text)}.dp-day--selected{background:var(--yellow-400);color:var(--on-accent);font-weight:700;box-shadow:0 0 0 1px var(--yellow-400) inset,0 4px 14px -6px #eec52f8c}.dp-day--disabled{opacity:.3;cursor:not-allowed}.dp-pop-footer{display:flex;justify-content:space-between;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--glass-border)}.dp-pop-link{background:transparent;border:0;color:var(--accent-text);font-size:12px;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm, 6px);transition:background-color .14s var(--ease-default)}.dp-pop-link:hover{background:color-mix(in srgb,var(--yellow-400) 12%,transparent)}.dp-pop-link--muted{color:var(--text-tertiary)}.dp-pop-link--muted:hover{background:#ffffff0f;color:var(--text-primary)}.dp-pop-link:focus-visible{outline:2px solid var(--yellow-400);outline-offset:1px}@media (prefers-reduced-motion: reduce){.dp-pop{animation:none}.dp-trigger,.dp-trigger-chev,.dp-day,.dp-pop-link{transition:none}}.form-field{margin-bottom:16px}.form-field label{display:block;margin-bottom:6px;font-weight:500;font-size:13px;color:var(--text-secondary)}.form-field .required{color:var(--danger-text);margin-left:2px}.form-field input,.form-field textarea{width:100%;padding:8px 10px;border:1px solid var(--input-border);border-radius:var(--radius-md);font-size:14px;font-family:var(--font-body);background-color:var(--input-bg);color:var(--text-primary);transition:all .15s ease}.form-field input:focus-visible,.form-field textarea:focus-visible{outline:none;border-color:var(--gold-400);box-shadow:var(--shadow-glow),0 0 0 2px var(--accent-primary)}.form-field .helper-text{display:block;margin-top:4px;font-size:12px;color:var(--text-tertiary)}.advanced-section{border-top:1px solid var(--border-light);margin-top:16px;padding-top:8px}.advanced-section-toggle{display:flex;align-items:center;gap:6px;background:none;border:none;color:var(--text-secondary);font-family:var(--font-body);font-size:13px;font-weight:500;cursor:pointer;padding:6px 0;transition:color var(--duration-instant) var(--ease-default)}.advanced-section-toggle:hover{color:var(--text-primary)}.advanced-section-chevron{transition:transform var(--duration-standard) var(--ease-default);flex-shrink:0}.advanced-section-chevron--open{transform:rotate(180deg)}.advanced-section-content{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows var(--duration-standard) var(--ease-default),visibility 0s linear var(--duration-standard)}.advanced-section-content--open{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows var(--duration-standard) var(--ease-default)}@media (prefers-reduced-motion: reduce){.advanced-section-content,.advanced-section-chevron,.advanced-section-inner{transition:none}}.advanced-section-inner{overflow:hidden;padding-top:0;transition:padding-top var(--duration-standard) var(--ease-default)}.advanced-section-content--open .advanced-section-inner{padding-top:12px}.schedule-generation-form{display:flex;flex-direction:column;gap:20px}.form-top-row{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.form-top-row>*{flex:1;min-width:140px}.schedule-generation-form input[type=date],.schedule-generation-form input[type=number]{background-color:#ffffff0f;border:1px solid var(--glass-border);border-radius:var(--radius-lg);font-family:var(--font-body);font-size:14px;color:var(--text-primary);transition:border-color var(--duration-quick) ease,box-shadow var(--duration-quick) ease}.schedule-generation-form input[type=date]:focus-visible,.schedule-generation-form input[type=number]:focus-visible{outline:none;border-color:color-mix(in srgb,var(--yellow-500) 40%,transparent);background-color:#ffffff14;box-shadow:0 0 0 2px var(--accent-primary)}.schedule-generation-form label,.toggle-label{font-size:13px;font-weight:500;color:var(--text-secondary)}.schedule-generation-form__actions{display:flex;justify-content:flex-end;gap:8px}.stop-icon{display:inline-block;width:14px;height:14px;background:#fff;border-radius:2px}.progress-fill.cancelling{background-color:var(--error-text)}.schedule-gen-status{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md, 12px);padding:var(--space-md, 12px) var(--space-lg, 16px);border-radius:var(--radius-md, 8px);background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}.schedule-gen-status-label{font-size:14px;font-weight:500;color:var(--text-primary)}.schedule-gen-status .generate-button{width:auto;padding:8px 16px;font-size:14px}.schedule-gen-error{padding:10px 14px;background-color:var(--error-bg);color:var(--danger-text);border:1px solid var(--error-border);border-radius:var(--radius-md);font-size:13px}.progress-section{display:flex;flex-direction:column;gap:6px}.progress-header{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary)}.progress-track{width:100%;height:8px;background-color:#ffffff0f;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--glass-border)}.progress-fill{height:100%;border-radius:3px;transition:width .1s linear,background-color .6s var(--ease-default)}.progress-fill--phase1{background-color:var(--accent-primary)}.progress-fill--phase2{background-color:var(--status-good)}.progress-phase-label{font-weight:500}.progress-elapsed{font-size:11px;color:var(--text-tertiary);text-align:center}.phases-container{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.penalty-weights-list{display:flex;flex-direction:column;gap:6px}.drag-handle{cursor:grab;color:var(--text-tertiary);font-size:12px;-webkit-user-select:none;user-select:none;letter-spacing:-3px;padding:2px 2px 2px 0;line-height:1;transition:color var(--duration-instant) ease}.drag-handle:hover{color:var(--accent-text)}.drag-handle:active{cursor:grabbing}.parameters-section-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:6px;border-bottom:1px solid var(--border-light);margin-bottom:4px}.parameters-section-title{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.parameters-section-sum{font-size:10px;font-weight:600;color:var(--accent-text);background-color:var(--accent-primary-light);padding:1px 6px;border-radius:10px}.parameters-section-desc{font-size:11px;color:var(--text-tertiary);margin-bottom:8px;line-height:1.3}.parameters-section{margin-bottom:0}@media (max-width: 900px){.phases-container{grid-template-columns:1fr}}@media (max-width: 600px){.form-top-row{flex-direction:column}}.preflight-panel{margin:var(--space-md, 12px) 0;padding:var(--space-md, 12px);border-radius:var(--radius-md, 8px);background:var(--error-bg);border:1px solid var(--error-border)}.preflight-panel__title{margin:0 0 var(--space-sm, 8px);font-size:var(--font-size-md, 15px);font-weight:600;color:var(--text-primary)}.preflight-panel__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-sm, 8px)}.preflight-panel__item{display:flex;gap:var(--space-sm, 8px);padding:var(--space-sm, 8px);border-radius:var(--radius-sm, 6px);background:#0003}.preflight-panel__body{flex:1 1 auto;min-width:0}.preflight-panel__message{color:var(--text-primary);font-size:var(--font-size-body, 13px);line-height:1.4;margin-bottom:var(--space-xs, 4px)}.preflight-panel__fix{color:var(--text-secondary);font-size:var(--font-size-sm, 12px);line-height:1.4}.generate-form-field{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.generate-form-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.light-mode .generate-form-label{color:#0000008c}.soft-violation-banner{display:flex;align-items:center;gap:10px;padding:10px 16px;margin:0 0 16px;background:linear-gradient(180deg,#f59e0b1a,#f59e0b08);border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.svb-icon{display:flex;align-items:center;flex-shrink:0;color:var(--warning-text)}.svb-text{flex:1;font-size:.875rem;color:var(--text-primary);line-height:1.4}.svb-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.svb-link{background:transparent;border:none;color:var(--warning-text);font-size:.875rem;text-decoration:underline;cursor:pointer;padding:4px 8px;min-height:28px;border-radius:var(--radius-md);transition:opacity var(--duration-instant) ease}.svb-link:hover{opacity:.8}.svb-action{background:var(--warning-text);color:var(--carbon-900);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);padding:5px 12px;font-size:.875rem;min-height:28px;cursor:pointer;transition:background var(--duration-instant) ease,opacity var(--duration-instant) ease;font-weight:500}.svb-action:hover{opacity:.9}.svb-link:focus-visible,.svb-action:focus-visible{outline:2px solid var(--warning-text);outline-offset:2px}.light-mode .soft-violation-banner{background:linear-gradient(180deg,#f59e0b0f,#f59e0b05);border-color:#f59e0b38;box-shadow:0 4px 16px #0000000f}@media (prefers-reduced-motion: reduce){.svb-link,.svb-action{transition:none}}.prp{--prp-radius: var(--surface-section-radius);--prp-radius-sm: var(--surface-item-radius);--prp-radius-xs: 8px;--prp-gap: 12px;--prp-trans: .16s cubic-bezier(.34, 1.56, .64, 1);--prp-surface-bg: var(--surface-overlay-bg);--prp-surface-border: var(--surface-section-border);--prp-surface-shadow: var(--glass-shadow-lg);--prp-card-bg: var(--surface-item-bg);--prp-card-bg-hover: var(--surface-item-bg-hover);--prp-card-border: var(--surface-item-border);--prp-card-border-hover: var(--surface-item-border-hover);--prp-card-shadow: var(--surface-item-shadow);--prp-card-shadow-hover: var(--surface-item-shadow-hover);--prp-pill-bg: rgba(255, 255, 255, .04);--prp-pill-border: rgba(255, 255, 255, .08);position:fixed;top:80px;right:16px;width:320px;max-height:calc(100vh - 100px);max-height:calc(100dvh - 100px);display:flex;flex-direction:column;z-index:30;border-radius:var(--prp-radius);border:1px solid var(--prp-surface-border);background:var(--prp-surface-bg);-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%);box-shadow:var(--prp-surface-shadow);overflow:hidden;animation:prp-slide-in .18s cubic-bezier(.2,.9,.3,1) both}@keyframes prp-slide-in{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}.prp--collapsed{max-height:56px}.prp-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:12px 14px;border:none;background:transparent;color:var(--text-primary);font:inherit;font-size:13px;font-weight:600;cursor:pointer;text-align:left;transition:background var(--prp-trans)}.prp-toggle:hover{background:#ffffff08}.prp-toggle:focus-visible{outline:2px solid var(--accent-primary);outline-offset:-2px}.prp-toggle-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prp-chevron{color:var(--text-tertiary);transition:transform var(--prp-trans),color var(--prp-trans);flex-shrink:0}.prp--collapsed .prp-chevron{transform:rotate(-90deg)}.prp-toggle:hover .prp-chevron{color:var(--text-secondary)}.prp-body{display:flex;flex-direction:column;gap:var(--prp-gap);padding:4px 12px 14px;overflow-y:auto;border-top:1px solid var(--prp-pill-border)}.prp-body::-webkit-scrollbar{width:8px}.prp-body::-webkit-scrollbar-track{background:transparent}.prp-body::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:999px}.prp-body::-webkit-scrollbar-thumb:hover{background:#ffffff24}.prp-empty,.prp-error{display:flex;align-items:center;justify-content:center;min-height:80px;padding:16px 12px;border-radius:var(--prp-radius-sm);background:linear-gradient(180deg,#ffffff06,#ffffff03);border:1px dashed rgba(255,255,255,.1);color:var(--text-tertiary);font-size:13px;text-align:center;margin-top:10px}.prp-error{border-style:solid;border-color:#dc5a5a75;background:#dc5a5a1a;color:#f5aaaa}.prp-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.prp-card{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:var(--prp-radius-sm);background:var(--prp-card-bg);border:1px solid var(--prp-card-border);box-shadow:var(--prp-card-shadow);transition:background var(--prp-trans),border-color var(--prp-trans),box-shadow var(--prp-trans),transform var(--prp-trans)}.prp-card:hover{background:var(--prp-card-bg-hover);border-color:var(--prp-card-border-hover);box-shadow:var(--prp-card-shadow-hover);transform:translateY(-1px)}.prp-card--clickable{cursor:pointer}.prp-card--clickable:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.prp-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.prp-vet{flex:1;min-width:0;font-size:13px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prp-kind{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);font-size:11px;font-weight:600;letter-spacing:.02em;white-space:nowrap}.prp-kind:before{content:"";display:inline-block;width:6px;height:6px;border-radius:999px;background:var(--text-tertiary)}.prp-kind--off:before{background:var(--yellow-400)}.prp-kind--work:before{background:#78c3f0}.prp-kind--rest:before{background:var(--success-300)}.prp-days{font-size:12px;color:var(--text-secondary);font-variant-numeric:tabular-nums;letter-spacing:.01em;line-height:1.4}.prp-note{position:relative;margin:0;padding:8px 10px 8px 22px;border-radius:var(--prp-radius-xs);background:#ffffff08;border-left:2px solid var(--yellow-400);color:var(--text-secondary);font-size:12px;font-style:italic;line-height:1.45;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.prp-note:before{content:'"';position:absolute;left:8px;top:4px;font-size:18px;font-style:normal;color:var(--accent-text);opacity:.7;line-height:1}.prp-actions{display:flex;gap:8px;margin-top:2px}.prp-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1;display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 12px;border-radius:var(--prp-radius-xs);font:inherit;font-size:12px;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:background var(--prp-trans),border-color var(--prp-trans),color var(--prp-trans),box-shadow var(--prp-trans),transform var(--prp-trans)}.prp-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.prp-btn:active:not(:disabled){transform:scale(.97)}.prp-btn:disabled{opacity:.55;cursor:not-allowed}.prp-btn--approve{background:var(--yellow-400);border:1px solid var(--yellow-500);color:var(--on-accent);box-shadow:0 6px 16px #eec52f42}.prp-btn--approve:hover:not(:disabled){background:var(--yellow-300);box-shadow:0 8px 20px #eec52f57;color:var(--on-accent)}.prp-btn--reject{background:transparent;border:1px solid rgba(255,255,255,.12);color:var(--text-secondary)}.prp-btn--reject:hover:not(:disabled){background:#dc5a5a1f;border-color:#dc5a5a6b;color:#f5aaaa}.light-mode .prp{--prp-pill-bg: rgba(35, 31, 29, .04);--prp-pill-border: rgba(35, 31, 29, .1)}.light-mode .prp-toggle:hover{background:#231f1d0a}.light-mode .prp-empty{background:linear-gradient(180deg,#231f1d08,#231f1d03);border-color:#231f1d24}.light-mode .prp-error{background:#c83c3c1a;border-color:#c83c3c75;color:#a02828}.light-mode .prp-kind{background:#231f1d0a;border-color:#231f1d1f;color:var(--text-secondary)}.light-mode .prp-note{background:#231f1d08}.light-mode .prp-btn--reject{border-color:#231f1d24;color:var(--text-secondary)}.light-mode .prp-btn--reject:hover:not(:disabled){background:#c83c3c14;border-color:#c83c3c6b;color:#a02828}.light-mode .prp-body::-webkit-scrollbar-thumb{background:#231f1d24}.light-mode .prp-body::-webkit-scrollbar-thumb:hover{background:#231f1d38}@media (max-width: 760px){.prp{top:auto;right:8px;left:8px;bottom:calc(var(--bottom-nav-height, 60px) + 18px + env(safe-area-inset-bottom));width:auto;max-height:60vh;border-radius:16px}.prp--collapsed{max-height:56px}.prp--collapsed .prp-chevron{transform:rotate(180deg)}}@media (max-width: 640px){.prp{right:8px;left:8px;bottom:calc(var(--bottom-nav-height, 60px) + 12px + env(safe-area-inset-bottom));border-radius:16px;max-height:60vh}.prp--collapsed{max-height:56px}.prp-card{gap:10px}.prp-card-head{flex-wrap:wrap;gap:6px}.prp-actions{flex-direction:column;gap:6px;margin-top:4px}.prp-btn{width:100%;min-height:44px;font-size:13px}}@media (prefers-reduced-motion: reduce){.prp,.prp-card,.prp-btn,.prp-chevron{animation:none;transition:none}.prp-card:hover{transform:none}.prp-btn:active:not(:disabled){transform:none}}.sb{--sb-radius: 14px;--sb-radius-sm: 8px;--sb-accent: 255, 180, 60;--sb-accent-strong: 230, 150, 30;--sb-bg: linear-gradient( 180deg, rgba(var(--sb-accent), .12), rgba(var(--sb-accent), .04) );--sb-border: rgba(var(--sb-accent), .28);--sb-shadow: 0 14px 38px rgba(0, 0, 0, .22), inset 0 1px 0 rgba(255, 255, 255, .06);--sb-icon-color: rgba(var(--sb-accent), .95);--sb-text: rgba(255, 255, 255, .92);--sb-text-muted: rgba(255, 255, 255, .62);--sb-ghost-bg: rgba(255, 255, 255, .04);--sb-ghost-bg-hover: rgba(255, 255, 255, .09);--sb-ghost-border: rgba(255, 255, 255, .18);--sb-trans: .16s cubic-bezier(.34, 1.56, .64, 1);background:var(--sb-bg);border:1px solid var(--sb-border);border-radius:var(--sb-radius);box-shadow:var(--sb-shadow);padding:12px 14px;margin-bottom:16px;color:var(--sb-text);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.sb-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sb-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:rgba(var(--sb-accent),.14);color:var(--sb-icon-color);flex-shrink:0}.sb-msg{flex:1 1 220px;min-width:200px;font-size:14px;line-height:1.45}.sb-count{font-variant-numeric:tabular-nums;color:var(--sb-icon-color);font-weight:700}.sb-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.sb-ghost,.sb-primary{font:inherit;min-height:32px;padding:6px 12px;border-radius:var(--sb-radius-sm);cursor:pointer;transition:background var(--sb-trans),border-color var(--sb-trans),transform var(--sb-trans),box-shadow var(--sb-trans)}.sb-ghost{background:var(--sb-ghost-bg);color:var(--sb-text);border:1px solid var(--sb-ghost-border)}.sb-ghost:hover{background:var(--sb-ghost-bg-hover);border-color:#ffffff42}.sb-primary{background:var(--accent-primary);color:var(--on-accent);border:1px solid rgba(0,0,0,.18);font-weight:600;box-shadow:0 4px 12px rgba(var(--sb-accent),.28)}.sb-primary:hover{background:var(--accent-primary-hover);transform:translateY(-1px);box-shadow:0 6px 16px rgba(var(--sb-accent),.36);color:var(--on-accent)}.sb-primary:active{transform:translateY(0)}.sb-ghost:focus-visible,.sb-primary:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.sb-list{list-style:none;margin:12px 0 2px;padding:10px 12px;font-size:13px;max-height:220px;overflow-y:auto;background:#00000029;border:1px solid rgba(255,255,255,.06);border-radius:var(--sb-radius-sm)}.sb-item{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.05);flex-wrap:wrap}.sb-item:last-child{border-bottom:none}.sb-item-vet{font-weight:600;color:var(--sb-text)}.sb-item-when{color:var(--sb-text);font-variant-numeric:tabular-nums}.sb-item-ts{margin-left:auto;color:var(--sb-text-muted);font-size:12px;font-variant-numeric:tabular-nums}.light-mode .sb{--sb-bg: linear-gradient( 180deg, rgba(var(--sb-accent), .18), rgba(var(--sb-accent), .08) );--sb-border: rgba(var(--sb-accent-strong), .42);--sb-shadow: 0 12px 32px rgba(0, 0, 0, .08), inset 0 1px 0 rgba(255, 255, 255, .6);--sb-icon-color: rgba(var(--sb-accent-strong), 1);--sb-text: rgba(20, 20, 24, .92);--sb-text-muted: rgba(20, 20, 24, .58);--sb-ghost-bg: rgba(255, 255, 255, .6);--sb-ghost-bg-hover: rgba(255, 255, 255, .85);--sb-ghost-border: rgba(0, 0, 0, .16)}.light-mode .sb-icon{background:rgba(var(--sb-accent),.22)}.light-mode .sb-primary{color:var(--yellow-ink-strong);border-color:#0000001f}.light-mode .sb-list{background:#ffffffb3;border-color:#00000014}.light-mode .sb-item{border-bottom-color:#0000000f}@media (prefers-reduced-motion: reduce){.sb-ghost,.sb-primary{transition:none}.sb-primary:hover{transform:none}}@media (max-width: 560px){.sb-actions{width:100%;justify-content:flex-end}.sb-item-ts{margin-left:0;width:100%}}.schedule-view{max-width:100%}.schedule-header{display:flex;justify-content:flex-end;align-items:center;margin-bottom:16px}.schedule-header h1{margin-bottom:0}.details-edit-row{display:flex;gap:0;align-items:flex-start}.details-edit-main{flex:1;min-width:0;overflow-x:auto}@media (max-width: 900px){.details-edit-row{flex-direction:column}}.details-schedule-separator{height:1px;background:#ffffff1a;margin:32px 0}.light-mode .details-schedule-separator{background:#00000014}.details-grid-area{display:flex;gap:0}.details-grid-main{flex:1;min-width:0;overflow-x:auto}.reset-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-primary)}.reset-btn:hover{background:#ffffff1a;color:var(--text-primary);transform:translateY(-1px)}.light-mode .reset-btn{background:#0000000a;border-color:#00000014;color:#000000d9}.light-mode .reset-btn:hover{background:#00000014;color:#000000d9}.save-btn{background:var(--accent-primary);border:none;color:var(--on-accent)}.save-btn:hover{background:var(--accent-primary-hover);color:var(--on-accent)}.generate-progress-btn{position:relative;overflow:hidden;padding:10px 20px;border:1px solid var(--glass-border);border-radius:var(--radius-xl);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;cursor:pointer;color:var(--neutral-950);background:var(--glass-bg-strong);min-width:180px;transition:border-color .3s var(--ease-default)}.generate-progress-btn:hover{border-color:var(--accent-primary)}.generate-progress-btn-fill{position:absolute;top:0;left:0;height:100%;border-radius:var(--radius-xl);transition:width .1s linear,background-color .6s var(--ease-default);z-index:0}.generate-progress-btn--phase1 .generate-progress-btn-fill{background-color:var(--accent-primary)}.generate-progress-btn--phase2 .generate-progress-btn-fill{background-color:var(--status-good)}.generate-progress-btn-text{position:relative;z-index:1;text-shadow:0 0 4px rgba(0,0,0,.1)}.interrupted-banner{background:var(--surface-section-bg);border:1px solid var(--surface-section-border);border-radius:var(--surface-section-radius);padding:10px 14px;margin-bottom:12px;display:flex;align-items:center;gap:10px;box-shadow:var(--surface-section-shadow)}.interrupted-banner-icon{color:var(--interrupted-icon);flex-shrink:0;display:flex;align-items:center}.interrupted-banner-heading{color:var(--interrupted-heading);font-size:var(--text-sm);font-weight:500}.interrupted-banner-subtext{color:var(--interrupted-subtext);font-size:var(--text-xs)}.schedule-year-section{margin-top:24px}.schedule-year-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.schedule-year-title{font-size:var(--text-base);margin:0}.year-nav{display:flex;gap:4px;align-items:center}.year-nav-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;color:var(--text-secondary);padding:0;transition:all var(--duration-instant) var(--ease-default)}.year-nav-btn:hover{color:var(--text-primary);background:var(--bg-elevated);border-color:var(--text-tertiary)}.year-nav-label{font-size:var(--text-sm);color:var(--text-secondary);min-width:40px;text-align:center}.modal-description{margin-bottom:12px;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5}.modal-hint{margin-bottom:16px;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5}.modal-list{margin-bottom:16px;padding-left:20px;color:var(--text-primary)}.modal-list li{margin-bottom:4px;font-size:var(--text-sm)}.modal-actions{display:flex;gap:8px;justify-content:flex-end}@media (max-width: 640px){.schedule-header{flex-direction:column;align-items:flex-start;gap:12px}}.resch{display:flex;flex-direction:column;gap:20px}.resch-panel{display:flex;flex-direction:column;gap:12px;animation:resch-fadein var(--duration-standard) var(--ease-out-expo)}@keyframes resch-fadein{0%{opacity:0;transform:translateY(6px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.resch-add-row{display:flex;gap:8px;align-items:flex-end}.resch-field{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.resch-field:first-child{flex:1.5}.resch-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary)}.resch-input{height:36px;padding:0 10px;font-size:13px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary);font-family:var(--font-body);width:100%;transition:border-color .15s,box-shadow .15s}.resch-input:hover{border-color:var(--text-tertiary)}.resch-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-primary) 15%,transparent)}.resch-add-btn{flex-shrink:0}@media (max-width: 540px){.resch-add-row{flex-direction:column;align-items:stretch}.resch-input{min-height:44px;height:44px}.resch-add-btn{flex-shrink:unset}}.resch-entries{display:flex;flex-direction:column;gap:6px}.resch-entry{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface-item-bg);border:1px solid var(--surface-item-border);border-radius:var(--surface-item-radius);transition:box-shadow .15s;box-shadow:var(--surface-item-shadow)}.resch-entry:hover{box-shadow:0 1px 4px #0000000f}.resch-entry-main{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.resch-entry-name{font-size:13px;font-weight:600;color:var(--text-primary);line-height:1.3}.resch-entry-dates{font-size:11px;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.resch-entry-rm{flex-shrink:0}.resch-hint{font-size:13px;color:var(--text-tertiary);text-align:center;padding:24px 16px;line-height:1.6;border:1px dashed rgba(255,255,255,.06);border-radius:var(--radius-xl)}.resch-edits-info{display:flex;gap:12px;align-items:center;padding:14px 16px;background:color-mix(in srgb,var(--accent-primary) 5%,var(--glass-bg-strong));border:1px solid color-mix(in srgb,var(--accent-primary) 15%,transparent);border-radius:var(--radius-xl);font-size:13px;color:var(--text-secondary);line-height:1.5}.resch-edits-info p{margin:0}.resch-edits-count{display:flex;align-items:center;justify-content:center;min-width:30px;height:30px;border-radius:var(--radius-md);background:var(--accent-primary);color:var(--on-accent);font-size:14px;font-weight:700;flex-shrink:0}.resch-progress{display:flex;flex-direction:column;gap:8px;padding:12px 14px;background:#ffffff0a;border-radius:var(--radius-xl);animation:resch-fadein .2s ease-out}.resch-progress-bar{height:6px;background:color-mix(in srgb,var(--accent-primary) 12%,var(--border-light));border-radius:3px;overflow:hidden}.resch-progress-fill{height:100%;background:var(--accent-primary);border-radius:3px;transition:width .1s linear}.resch-progress-text{font-size:12px;font-weight:500;color:var(--text-secondary);text-align:center;font-variant-numeric:tabular-nums}.resch-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:8px}.resch-spinner{animation:resch-spin .8s linear infinite}@keyframes resch-spin{to{transform:rotate(360deg)}}.asv-planning-section{margin-top:32px;padding-top:28px;border-top:1px solid rgba(255,255,255,.08)}.schedule-improved-badges{display:inline-flex;flex-wrap:wrap;gap:6px;margin-top:6px}.schedule-improved-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;background:color-mix(in srgb,var(--blue-400) 18%,transparent);border:1px solid color-mix(in srgb,var(--blue-400) 40%,transparent);border-radius:var(--radius-md);color:var(--blue-200);font-size:11px;font-weight:600;letter-spacing:.02em}.schedule-improved-badge svg{flex-shrink:0;color:var(--info-ink)}.schedule-improved-badge--secondary{background:#ffffff0a;border-color:var(--glass-border);color:var(--text-secondary)}.schedule-improved-badge--secondary svg{color:var(--text-tertiary)}.schedule-improve-progress{margin:16px 0 8px;padding:12px 14px;background:var(--bg-elevated);border:1px solid var(--glass-border);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:10px}.schedule-improve-progress-row{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;letter-spacing:.02em}.schedule-improve-progress-label{color:var(--blue-200)}.schedule-improve-progress-timer{color:var(--text-secondary);font-variant-numeric:tabular-nums}.schedule-improve-progress-bar{width:100%;height:8px;background:#ffffff0d;border-radius:var(--radius-md);overflow:hidden}.schedule-improve-progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--blue-500),var(--blue-300));transition:width .1s linear}.schedule-improve-result{display:flex;flex-direction:column;gap:12px;margin-top:4px}.schedule-improve-result-header{padding:10px 12px;border-radius:var(--radius-md);font-size:13px;font-weight:600;letter-spacing:.02em}.schedule-improve-result-header--win{background:color-mix(in srgb,var(--blue-400) 18%,transparent);border:1px solid color-mix(in srgb,var(--blue-400) 40%,transparent);color:var(--blue-200)}.schedule-improve-result-header--optimal{background:#ffffff0a;border:1px solid var(--glass-border);color:var(--text-secondary)}.schedule-improve-result-header--noop{background:color-mix(in srgb,var(--yellow-400) 14%,transparent);border:1px solid color-mix(in srgb,var(--yellow-400) 35%,transparent);color:var(--accent-text)}.schedule-improve-result-status{font-size:12px;color:var(--text-tertiary)}.schedule-improve-result-status strong{color:var(--text-secondary);font-family:var(--font-mono, monospace)}.schedule-improve-result-table{width:100%;border-collapse:collapse;font-size:12px}.schedule-improve-result-table thead th{text-align:right;padding:4px 8px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-size:10px;border-bottom:1px solid var(--glass-border)}.schedule-improve-result-table thead th:first-child{text-align:left}.schedule-improve-result-table tbody td{padding:8px;text-align:right;font-variant-numeric:tabular-nums;color:var(--text-primary)}.schedule-improve-result-label{text-align:left!important;color:var(--text-secondary)!important;font-weight:500;max-width:60%}.schedule-improve-result-delta--good{color:var(--info-ink);font-weight:600}.schedule-improve-result-delta--bad{color:var(--accent-text);font-weight:600}.asv-planning-status{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--info-ink);background:color-mix(in srgb,var(--blue-400) 10%,transparent);border:1px solid color-mix(in srgb,var(--blue-400) 25%,transparent);padding:2px 10px;border-radius:999px}@keyframes asv-spin{to{transform:rotate(360deg)}}.solver-warnings-banner{display:flex;align-items:flex-start;gap:12px;padding:14px 18px;border-radius:var(--radius-xl);border:1px solid color-mix(in srgb,var(--gold-500) 25%,transparent);background:color-mix(in srgb,var(--gold-500) 6%,rgba(20,17,15,.9));margin-bottom:12px}.solver-warnings-banner--asv{border-color:color-mix(in srgb,var(--blue-400) 25%,transparent);background:color-mix(in srgb,var(--blue-400) 6%,rgba(20,17,15,.9))}.solver-warnings-icon{flex-shrink:0;color:var(--accent-text);margin-top:1px}.solver-warnings-banner--asv .solver-warnings-icon{color:var(--info-ink)}.solver-warnings-content{display:flex;flex-direction:column;gap:4px;min-width:0}.solver-warning-label{font-family:var(--font-display);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--info-ink);margin-bottom:2px}.solver-warning-item{font-size:12px;line-height:1.4;color:var(--text-secondary)}.asv-planning-empty{padding:24px;text-align:center;border-radius:var(--radius-2xl);border:1px dashed rgba(255,255,255,.08);background:#ffffff05}.asv-planning-empty p{font-size:13px;color:var(--text-tertiary);margin:0}.ppg{--ppg-name-w: 136px;--ppg-row-h: 36px;width:100%;overflow-x:auto;overscroll-behavior-x:contain}@media (max-width: 640px){.ppg{--ppg-name-w: 88px;--ppg-row-h: 32px}}.ppg-table{width:100%;min-width:calc(var(--ppg-name-w) + var(--ppg-slots) * 10px);table-layout:fixed;border-collapse:separate;border-spacing:0}.ppg-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.ppg-name{width:var(--ppg-name-w);position:sticky;left:0;z-index:1;padding:0 10px 0 0;background:var(--bg-surface);color:var(--text-primary);font-size:var(--text-sm);font-weight:600;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ppg-name--head{background:transparent;font-weight:500}.ppg-day{padding:4px 0 6px;border-left:1px solid var(--border-light);color:var(--text-secondary);font-weight:500;text-align:center;white-space:nowrap;overflow:hidden}.ppg-day-name{display:block;font-size:var(--text-xs);line-height:1.2}.ppg-day-num{display:block;color:var(--text-primary);font-size:var(--text-base);font-weight:600;line-height:1.3;font-variant-numeric:tabular-nums}.ppg-day--weekend .ppg-day-num{color:var(--text-secondary)}.ppg-day--today .ppg-day-name,.ppg-day--today .ppg-day-num{color:var(--accent-text)}.ppg-day--today{box-shadow:inset 0 -2px 0 var(--accent-primary)}.ppg-slot{padding:2px 0 6px;color:var(--text-tertiary);font-size:var(--text-xs);font-weight:500;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ppg--compact .ppg-day-name{font-size:10px}.ppg--compact .ppg-day-num{font-size:var(--text-xs)}.ppg-table tbody th,.ppg-cell{height:var(--ppg-row-h);border-top:1px solid var(--border-light)}.ppg-cell{padding:3px 1px}.ppg-row--highlight .ppg-name{color:var(--accent-text)}.ppg-row--highlight .ppg-cell,.ppg-row--highlight .ppg-name{background:var(--accent-tint-bg)}.ppg-chip{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:24px;padding:0 6px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;color:var(--text-primary);overflow:hidden}.ppg-chip-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ppg-chip--work{background:color-mix(in srgb,var(--ppg-site) 24%,transparent);box-shadow:inset 3px 0 0 var(--ppg-site)}.ppg-chip--oncall{background:var(--accent-tint-bg-strong);color:var(--accent-text)}.ppg-chip--sick{background:var(--error-bg);color:var(--danger-text)}.ppg-chip--rest{background:var(--info-bg);color:var(--info-ink)}.ppg-chip--dayoff{background:var(--state-active-bg);color:var(--text-secondary)}.ppg--compact .ppg-cell{padding:4px 0}.ppg--compact .ppg-chip{min-height:0;padding:0;border-radius:3px}.ppg--compact .ppg-chip--work{background:color-mix(in srgb,var(--ppg-site) 70%,transparent);box-shadow:none}.ppg--compact .ppg-chip--oncall{background:var(--accent-primary)}.ppg--compact .tooltip-trigger{width:100%;height:100%}.rv-page{display:flex;flex-direction:column;gap:16px;padding:16px 0 32px;min-width:0}.rv-card{min-width:0}.rv-toolbar{display:flex;flex-direction:column;gap:14px}.rv-title{margin:0;font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--text-primary)}.rv-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px 18px}.rv-control{flex:0 0 auto}.rv-control--date{width:200px}.rv-control--grow{flex:1 1 220px}.rv-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.rv-time{color-scheme:dark;font-variant-numeric:tabular-nums}.light-mode .rv-time{color-scheme:light}.rv-btn-icon{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.rv-label-short{display:none}.rv-btn-icon svg{flex:none;display:block}.rv-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 14px;border-radius:var(--radius-xl);font-size:13px;border:1px solid var(--error-border);background:var(--error-bg);color:var(--danger-text)}.rv-banner--warning{border-color:var(--warning-border);background:var(--warning-bg);color:var(--warning-text)}.rv-banner--success{border-color:var(--success-border);background:var(--success-bg);color:var(--success-text)}.rv-layout,.rv-main{display:flex;flex-direction:column;gap:16px;min-width:0}.rv-routes{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.rv-half{display:flex;flex-direction:column;gap:12px;min-width:0}.rv-half-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding-bottom:8px;border-bottom:1px solid var(--glass-border)}.rv-half-title{margin:0}.rv-half-count{margin-left:auto;font-size:12px}.rv-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.rv-section-title{margin:0 0 12px;font-family:var(--section-title-font);font-size:var(--section-title-size);font-weight:var(--section-title-weight);letter-spacing:var(--section-title-tracking);text-transform:var(--section-title-case);color:var(--section-title-color)}.rv-section-head .rv-section-title{margin:0}.rv-empty{margin:4px 0;font-size:13px;color:var(--text-tertiary)}.rv-empty-state{text-align:center;padding:40px 20px}.rv-empty-title{margin:0 0 4px;font-size:15px;font-weight:600;color:var(--text-primary)}.rv-count{font-variant-numeric:tabular-nums;color:var(--text-tertiary)}.rv-scheduled-badge{position:relative;display:inline-flex;align-items:center;min-height:20px;padding:0;border:0;background:none;border-radius:var(--radius-sm);cursor:pointer;transition:transform var(--duration-quick) var(--ease-spring)}.rv-scheduled-badge .badge{display:inline-flex;align-items:center;gap:4px}.rv-scheduled-badge:hover .badge{filter:brightness(1.1)}.rv-scheduled-badge:after{content:"";position:absolute;top:-4px;right:0;bottom:-4px;left:0}.rv-scheduled-badge:active{transform:scale(.97)}.rv-scheduled-badge:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.light-mode .rv-scheduled-badge:hover .badge{filter:brightness(.96)}@media (prefers-reduced-motion: reduce){.rv-scheduled-badge{transition:none}}.rv-closed-toggle .glass-switch,.rv-closed-toggle .glass-switch:hover,.rv-scheduled-badge,.rv-scheduled-badge:hover{background:transparent;color:inherit}.rv-closed-toggle{display:flex;align-items:center;gap:8px;margin:0 0 12px;min-height:28px}.rv-closed-toggle-label{font-size:12px;color:var(--text-secondary);cursor:pointer}.rv-geo-warn{display:inline-flex;flex:none;color:var(--warning-text)}.rv-dot{width:10px;height:10px;flex:none;border-radius:50%;background:var(--text-tertiary);box-shadow:0 0 0 2px var(--glass-border)}.rv-route{--route-color: var(--yellow-400);display:flex;flex-direction:column;gap:12px;transition:border-color var(--duration-quick) var(--ease-spring),box-shadow var(--duration-quick) var(--ease-spring)}.rv-route:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.rv-route--highlighted{border-color:var(--route-color)}.rv-route-swatch{width:12px;height:12px;flex:none;border-radius:50%;background:var(--route-color);box-shadow:0 0 0 2px var(--glass-border)}.rv-route-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.rv-route-vet{margin:0;font-size:15px;font-weight:600;color:var(--text-primary)}.rv-route-site{font-size:12px;color:var(--text-tertiary)}.rv-route-summary{order:3;flex:1 0 100%;font-size:13px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.rv-route-toggle{margin-left:auto;order:2}.rv-route-head .badge{order:2}.rv-route-vet{min-width:0;overflow-wrap:anywhere}.rv-timeline{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid var(--route-color);display:flex;flex-direction:column;gap:6px}.rv-stop{position:relative;display:flex;flex-direction:column;gap:2px}.rv-stop-body{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.rv-stop-body:before{content:"";position:absolute;left:-20px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--route-color);border:2px solid var(--bg-surface)}.rv-stop--return .rv-stop-body:before{background:transparent;border-color:var(--route-color)}.light-mode .rv-page .dp-trigger-icon,.light-mode .rv-form .dp-trigger-icon{color:var(--accent-text)}.rv-stop--return .rv-stop-label{color:var(--text-secondary);font-style:italic}.rv-stop--done .rv-stop-time,.rv-stop--done .rv-stop-label,.rv-stop--done .rv-activity{color:var(--text-tertiary)}.rv-stop--done .rv-stop-body:before{background:var(--bg-surface);border-color:var(--route-color);opacity:.6}.rv-stop-done-icon{flex:none;color:var(--success-text, var(--text-tertiary))}.rv-leg{font-size:11px;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.rv-stop-time{font-size:13px;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.rv-stop-label{font-size:13px;color:var(--text-primary);overflow-wrap:anywhere}.rv-activity{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary)}.rv-route-metrics{display:flex;flex-wrap:wrap;gap:4px 16px;padding-top:10px;border-top:1px solid var(--glass-border);font-size:12px;color:var(--text-secondary)}.rv-route-metrics strong{color:var(--text-primary);font-variant-numeric:tabular-nums}.rv-map-skeleton{height:360px;border-radius:var(--surface-item-radius);background:var(--surface-item-bg)}.rv-dropped-list,.rv-warnings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.rv-warnings{margin-top:10px}.rv-dropped-group+.rv-dropped-group{margin-top:var(--surface-section-gap)}.rv-dropped-reason{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-size:13px;font-weight:600;color:var(--text-primary)}.rv-dropped-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.rv-warning{font-size:12px;color:var(--warning-text)}.rv-form{display:flex;flex-direction:column;gap:14px}.rv-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}.rv-form-advanced{display:flex;flex-direction:column;gap:14px;padding-top:8px}.rv-form .advanced-section{margin-top:0}.rv-fieldset{border:0;padding:0;margin:0;min-width:0}.rv-fieldset legend{padding:0;margin-bottom:6px}.rv-solve-help{margin:0;font-size:.875rem;color:var(--text-secondary)}.rv-solve-range{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}.rv-solve-bound{min-width:0}.rv-solve-bound-row{display:flex;flex-direction:column;gap:8px}.rv-solve-split{margin:0;font-size:13px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.rv-solve-error{margin:0;font-size:13px;color:var(--danger-text)}.rv-solve-scratch{display:flex;flex-direction:column;gap:4px}.rv-solve-scratch-toggle{margin:0}.rv-solve-scratch-hint{font-size:13px}@media (max-width: 640px){.rv-control,.rv-control--date,.rv-control--grow{flex:1 1 100%;width:100%}.rv-solve-range{grid-template-columns:minmax(0,1fr)}.rv-main{order:1}.rv-label-long{display:none}.rv-label-short{display:inline}.rv-actions{width:100%;margin-left:0;flex-wrap:nowrap;gap:8px}.rv-actions .btn{flex:1 1 0;min-width:0;padding-inline:10px}.rv-page .mp-add-input,.rv-form .mp-add-input{min-height:44px}.rv-page .mp-add-input,.rv-form .mp-add-input{font-size:16px}.rv-form-grid{grid-template-columns:1fr}.rv-routes{grid-template-columns:minmax(0,1fr)}.rv-map-skeleton{height:260px}}@media (prefers-reduced-motion: reduce){.rv-route{transition:none}}.light-mode .rv-banner{color:var(--error-strong)}.light-mode .rv-banner--warning{color:var(--warning-text)}.light-mode .rv-banner--success{color:var(--success-text)}.rv-form-hint{display:flex;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;border:1px solid var(--info-border);border-radius:var(--radius-xl);background:var(--info-bg);color:var(--info-ink);font-size:13px;line-height:1.45}.rv-form-hint svg{flex:none;margin-top:2px}.rv-textarea{resize:vertical;min-height:72px;font-family:inherit;line-height:1.45}.rv-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.rv-insert-now{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:var(--radius-lg);border:1px solid var(--glass-border);background:linear-gradient(180deg,#f3d23e14,#f3d23e08)}.rv-insert-now .rv-closed-toggle{margin:0}.rv-insert-now .rv-closed-toggle-label{font-size:13px;color:var(--text-primary)}.rv-stop--lunch .rv-stop-body:before{background:var(--bg-surface);border-color:var(--accent-primary)}.rv-stop--lunch .rv-stop-time{font-weight:500;color:var(--text-secondary)}.rv-stop-lunch-icon{flex:none;color:var(--accent-text)}.light-mode .rv-stop-lunch-icon{color:var(--accent-text)}.rv-solve-advanced{display:flex;flex-direction:column;gap:12px}.ob-checklist{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:60}.ob-checklist--mobile{right:12px;bottom:calc(var(--bottom-nav-height) + 12px + env(safe-area-inset-bottom))}.ob-checklist-pill{display:flex;align-items:center;gap:8px;height:44px;padding:0 14px 0 6px;background:var(--surface-overlay-bg);border:1px solid var(--surface-section-border);border-radius:var(--radius-3xl);box-shadow:var(--glass-shadow-lg);cursor:pointer;transition:transform .14s ease,border-color .14s ease}.ob-checklist-pill:hover{border-color:var(--glass-border-hover);transform:translateY(-1px)}.ob-checklist-pill:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.ob-checklist-pill-count{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap}.light-mode .ob-checklist-pill-count{color:#000c}.ob-checklist-card{display:flex;flex-direction:column;gap:10px;width:300px;max-width:320px;padding:16px;background:var(--surface-overlay-bg);border:1px solid var(--surface-section-border);border-radius:var(--radius-2xl);box-shadow:var(--glass-shadow-lg);animation:ob-checklist-pop .16s var(--ease-out-expo, ease-out)}@keyframes ob-checklist-pop{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.ob-checklist-card{animation:none}}.ob-checklist-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.ob-checklist-header-title{display:flex;align-items:center;gap:8px}.ob-checklist-header-title h3{margin:0;font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--text-primary)}.light-mode .ob-checklist-header-title h3{color:#000000e0}.ob-checklist-collapse{position:relative}.ob-checklist-list{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.ob-checklist-row{display:flex;align-items:center;gap:8px;min-height:44px;padding:4px 0}.ob-checklist-indicator{position:relative;display:flex;align-items:center;justify-content:center;flex:none;width:22px;height:22px;padding:0;background:#ffffff0d;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:var(--yellow-950);cursor:default}.ob-checklist-row[data-done=true] .ob-checklist-indicator{background:linear-gradient(180deg,var(--yellow-400),var(--yellow-500));border-color:color-mix(in srgb,var(--yellow-400) 70%,transparent)}.light-mode .ob-checklist-indicator{background:#00000008;border-color:#00000024}.ob-checklist-indicator[role=checkbox]{cursor:pointer;min-width:28px;min-height:28px}.ob-checklist-indicator[role=checkbox]:before{content:"";position:absolute;top:-8px;bottom:-8px;left:-16px;right:0}.ob-checklist-indicator[role=checkbox]:hover{border-color:color-mix(in srgb,var(--yellow-400) 60%,transparent)}.ob-checklist-indicator:focus-visible{outline:2px solid var(--accent-primary);outline-offset:1px}.ob-checklist-label{flex:1;align-self:stretch;display:flex;align-items:center;min-height:44px;padding:0;background:none;border:none;text-align:left;font-size:12.5px;font-weight:500;line-height:1.35;color:var(--text-primary);cursor:pointer;transition:color .14s ease}.ob-checklist-row[data-done=true] .ob-checklist-label{color:var(--text-tertiary);text-decoration:line-through;text-decoration-color:#ffffff40}.light-mode .ob-checklist-label{color:#000000bf}.light-mode .ob-checklist-row[data-done=true] .ob-checklist-label{color:#0006;text-decoration-color:#0003}.ob-checklist-label:hover{color:var(--accent-text)}.ob-checklist-label:focus-visible{outline:2px solid var(--accent-primary);outline-offset:1px}.ob-checklist-sublink{position:relative;flex:none;padding:2px 8px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);font-size:11px;font-weight:600;color:var(--text-secondary);cursor:pointer}.ob-checklist-sublink:before{content:"";position:absolute;top:-13px;bottom:-13px;left:-4px;right:-4px}.ob-checklist-sublink:hover{border-color:var(--glass-border-hover)}.light-mode .ob-checklist-sublink{background:#0000000a;border-color:#0000001a;color:#0009}.ob-checklist-sublink:focus-visible{outline:2px solid var(--accent-primary);outline-offset:1px}.ob-checklist-hide{display:flex;align-items:center;align-self:flex-start;margin-top:2px;padding:6px 4px;min-height:44px;background:none;border:none;font-size:12px;font-weight:600;color:var(--text-tertiary);cursor:pointer;transition:color .14s ease}.ob-checklist-hide:hover{color:var(--text-secondary)}.light-mode .ob-checklist-hide{color:#00000059}.light-mode .ob-checklist-hide:hover{color:#000000b3}.ob-checklist-hide:focus-visible{outline:2px solid var(--accent-primary);outline-offset:1px}.ob-checklist-ring-track{stroke:#ffffff24}.light-mode .ob-checklist-ring-track{stroke:#0000001a}.ob-checklist-ring-progress{stroke:var(--yellow-400);stroke-linecap:round;transition:stroke-dashoffset .22s ease}@media (prefers-reduced-motion: reduce){.ob-checklist-ring-progress{transition:none}}.ob-checklist-ring--done .ob-checklist-ring-progress{stroke:var(--yellow-500)}.dash-onboarding__head{display:flex;align-items:center;gap:12px}.dash-onboarding__titles{flex:1;min-width:0}.dash-onboarding__title{margin:0;font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--text-primary)}.dash-onboarding__progress{margin:2px 0 0;font-size:12px;color:var(--text-secondary)}.dash-onboarding__dismiss{align-self:flex-start}.dash-onboarding__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:4px 16px;margin-top:8px;padding-left:16px}.dash-onboarding--compact{padding-block:8px}.dash-onboarding__summary{display:flex;flex:1;align-items:center;gap:10px;min-width:0;min-height:44px;padding:0;background:none;border:none;border-radius:var(--radius-md);color:inherit;text-align:left;cursor:pointer}.dash-onboarding__summary:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.dash-onboarding__summary .dash-onboarding__title{font-size:14px}.dash-onboarding__count{font-size:13px;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.dash-onboarding__chevron{margin-left:auto;color:var(--text-secondary);transition:transform .14s var(--ease-spring, ease)}.dash-onboarding__summary[aria-expanded=true] .dash-onboarding__chevron{transform:rotate(180deg)}.dash-onboarding--compact .dash-onboarding__dismiss{align-self:center}@media (prefers-reduced-motion: reduce){.dash-onboarding__chevron{transition:none}}.dash{display:flex;flex-direction:column;gap:32px;padding-bottom:24px}.dash-section{display:flex;flex-direction:column;gap:12px;min-width:0}.dash-period{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.dash-period-nav{display:flex;align-items:center;gap:8px;min-width:0}.dash-period-title{margin:0;min-width:0;color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;line-height:1.2;text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-planning{min-width:0}.dash-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dash-section-title{margin:0;font-family:var(--section-title-font);font-size:var(--section-title-size);font-weight:var(--section-title-weight);letter-spacing:var(--section-title-tracking);text-transform:var(--section-title-case);color:var(--section-title-color)}.dash-empty-inline{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}.dash-empty-text{margin:0;color:var(--text-secondary);font-size:var(--text-sm)}.dash-routes{display:flex;flex-direction:column;gap:16px;min-width:0}@media (max-width: 640px){.dash{gap:24px}.dash-period-title{font-size:var(--text-lg)}.dash-zoom{width:100%}.dash-zoom .ui-segmented__option{flex:1}}.yearly-overview{margin-bottom:0;border-radius:var(--surface-section-radius);border:1px solid var(--surface-section-border);background:var(--surface-section-bg);box-shadow:var(--surface-section-shadow);padding:24px}.yearly-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:12px}.yo-title{margin:0;font-family:var(--font-display);font-size:20px;font-weight:600;letter-spacing:-.02em;color:var(--text-primary)}.yo-year-nav{display:flex;align-items:center;gap:12px}.yo-legend{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px}.yo-legend-item{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.yo-legend-swatch{flex:none;width:22px;height:12px;border-radius:999px;border:1px solid rgba(255,255,255,.08)}.yo-legend-swatch--applied{background:linear-gradient(90deg,#4e8bfff2 50%,#f0ca3df5 50%)}.yo-legend-swatch--current{background:transparent;box-shadow:0 0 0 2px var(--yellow-400)}.year-title{font-family:var(--font-display);font-size:32px;font-weight:600;letter-spacing:-.05em;margin:0;min-width:100px;text-align:center;color:#fff}.light-mode .year-title{color:#000000d9}.yo-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.yo-month{display:flex;flex-direction:column;align-items:center;gap:6px}.yo-month-label{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--text-tertiary);margin-bottom:4px}.light-mode .yo-month-label{color:var(--text-secondary)}.yo-month-count{min-height:1.4em;font-size:13px;color:var(--text-tertiary);font-variant-numeric:tabular-nums;margin-top:4px}.light-mode .yo-month-count{color:var(--text-secondary)}.yo-weeks{display:flex;flex-direction:column;gap:6px;width:100%}.yo-week-split{height:32px;border-radius:var(--radius-xl);cursor:pointer;transition:box-shadow var(--duration-instant) var(--ease-default),transform var(--duration-quick) var(--ease-spring);position:relative;display:flex;overflow:hidden;border:1px solid rgba(255,255,255,.06)}.yo-week-split:hover{transform:scale(1.02);box-shadow:0 2px 8px #00000026}.yo-week-split:active{transform:scale(.98);transition:transform 80ms var(--ease-out)}.yo-half{flex:1;position:relative}.yo-half--applied-a{background:linear-gradient(180deg,#4e8bfff2,#4e8bffd9)}.yo-half--applied-b{background:linear-gradient(180deg,#f0ca3df5,#e4b71ce0);color:var(--on-accent)}.yo-half--unapplied{background:#ffffff1a}.yo-half--empty{background:#ffffff0a}.light-mode .yo-half--applied-a{background:linear-gradient(180deg,#4e8bffd9,#4e8bffbf)}.light-mode .yo-half--applied-b{background:linear-gradient(180deg,#f0ca3de6,#e4b71ccc);color:var(--on-accent)}.light-mode .yo-half--unapplied{background:#0000000f}.light-mode .yo-half--empty{background:#00000005}.yo-half--asv-ok{background:linear-gradient(180deg,color-mix(in srgb,var(--blue-400) 80%,transparent),color-mix(in srgb,var(--blue-500) 70%,transparent))}.yo-half--asv-fail{background:color-mix(in srgb,var(--error-text) 25%,transparent)}.yo-half--asv-empty{background:#ffffff0a}.light-mode .yo-half--asv-empty{background:#00000005}.yo-half-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--on-accent);pointer-events:none;line-height:1}.yo-half--applied-b .yo-half-label{color:var(--yellow-ink);text-shadow:none}.yo-week--selected,.yo-week--current{box-shadow:0 0 0 2px var(--yellow-400),0 0 12px #eec52f33}.yo-now-dot{position:absolute;right:-5px;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;background:var(--yellow-400);box-shadow:0 0 8px #eec52f99;border:2px solid var(--bg-primary);z-index:1}@media (max-width: 1024px){.yo-grid{grid-template-columns:repeat(6,1fr);gap:10px}}@media (max-width: 640px){.yo-grid{grid-template-columns:repeat(4,1fr);gap:8px}.yearly-overview{padding:16px}.year-title{font-size:28px}.yo-week{height:24px}}@media (prefers-reduced-motion: reduce){.yo-week{transition:none}}.light-mode .yo-legend-swatch{border-color:#0000002e}.ysp-container{margin-top:16px}.ysp-pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.ysp-pills .ysp-val{font-size:1.25em}.ysp-pills .ysp-val--good{color:var(--success-text)}.ysp-section-header{display:flex;align-items:center;gap:8px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border-color);font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--text-secondary)}.ysp-section-header svg{color:var(--info-ink)}.ysp-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.ysp-asv-section{margin-top:24px}.ysp-section-dot{width:8px;height:8px;border-radius:50%}.ysp-section-dot--asv{background:var(--blue-400)}.ysp-asv-placeholder{font-size:13px;color:var(--text-tertiary);font-style:italic;margin:0}@media (max-width: 640px){.ysp-card-grid{grid-template-columns:1fr}.ysp-pills{gap:6px}}.rsp{margin-top:24px}.rsp__title{margin:0 0 12px;font-family:var(--section-title-font);font-size:var(--section-title-size);font-weight:var(--section-title-weight);letter-spacing:var(--section-title-tracking);text-transform:var(--section-title-case);color:var(--section-title-color)}.rsp__totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-bottom:12px}.rsp__vets{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.rsp__vet{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.rsp__vet-name{grid-column:1 / -1;font-family:var(--font-display);font-size:15px;font-weight:600;color:var(--text-primary);overflow-wrap:anywhere}.rsp__stat{display:flex;flex-direction:column;gap:2px;min-width:0}.rsp__stat-value{font-size:16px;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.rsp__totals .rsp__stat-value{font-size:20px}.rsp__stat-label{display:flex;align-items:center;gap:4px;font-size:11px;line-height:1.25;color:var(--text-secondary)}.rsp__stat-icon{flex:none}.stats-view{display:flex;flex-direction:column;gap:32px;padding-bottom:24px;min-width:0}.save-status{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.save-status--saving{width:12px;height:12px;border:2px solid color-mix(in srgb,var(--gold-500) 30%,transparent);border-top-color:var(--gold-500);border-radius:50%;animation:save-status-spin .6s linear infinite}@keyframes save-status-spin{to{transform:rotate(360deg)}}.save-status--saved{color:var(--success-text);animation:save-status-pop .3s cubic-bezier(.34,1.56,.64,1)}@keyframes save-status-pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.save-status--error{font-size:12px;font-weight:700;color:var(--danger-text);width:14px;height:14px;line-height:14px;text-align:center}@media (prefers-reduced-motion: reduce){.save-status--saving,.save-status--saved{animation:none}}.cuc-card{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:24px}.cuc-header{display:flex;align-items:flex-start;gap:12px;flex:1;min-width:220px}.cuc-text{display:flex;flex-direction:column;gap:4px}.cuc-title{font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.cuc-desc{font-size:12px;line-height:1.5;color:var(--text-secondary);margin:0;max-width:480px}.cuc-status{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;margin-top:2px}@media (max-width: 480px){.cuc-card{flex-direction:column;align-items:stretch}}.adv-disclosure{grid-column:1 / -1;border-top:1px solid var(--border-color);padding-top:12px}.adv-disclosure__summary{display:inline-flex;align-items:center;gap:6px;min-height:32px;cursor:pointer;list-style:none;font-size:13px;font-weight:600;color:var(--text-secondary);border-radius:8px}.adv-disclosure__summary::-webkit-details-marker{display:none}.adv-disclosure__summary:before{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .14s ease}.adv-disclosure[open]>.adv-disclosure__summary:before{transform:rotate(45deg)}.adv-disclosure__summary:hover{color:var(--text-primary)}.adv-disclosure__summary:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.adv-disclosure__body{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px 24px;margin-top:12px}@media (prefers-reduced-motion: reduce){.adv-disclosure__summary:before{transition:none}}.vt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.vt-empty{color:var(--text-secondary);font-size:var(--text-sm);padding:32px;text-align:center}.vt-card{position:relative;border:1px solid var(--glass-border);display:flex;flex-direction:column;gap:10px}.vt-sick-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;background:color-mix(in srgb,var(--error-text) 14%,transparent);border:1px solid color-mix(in srgb,var(--error-text) 30%,var(--glass-border));color:var(--danger-text);font-size:10px;font-weight:700;letter-spacing:.3px;font-variant-numeric:tabular-nums;white-space:nowrap;cursor:help}.vt-sick-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--error-text);box-shadow:0 0 0 2px color-mix(in srgb,var(--error-text) 18%,transparent)}.vt-sick-badge-year{opacity:.7;font-weight:600}.light-mode .vt-sick-badge{background:color-mix(in srgb,var(--error-text) 10%,var(--bg-elevated))}.vt-card--hidden{visibility:hidden;pointer-events:none}.vt-card--enter{animation:vt-card-enter .35s cubic-bezier(.34,1.56,.64,1)}@keyframes vt-card-enter{0%{opacity:0;transform:scale(.85) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.vt-card-header{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:8px}.vt-card-name{font-family:var(--font-display);font-size:15px;font-weight:600;color:var(--text-primary);background:none;border:none;border-bottom:1px dashed transparent;padding:0 0 1px;cursor:text;text-align:left;transition:border-color .15s ease;flex:1 1 0;min-width:0;overflow-wrap:break-word;line-height:1.3}.vt-card-name:hover{border-bottom-color:var(--text-tertiary)}.vt-card-name:focus-visible{outline:2px solid var(--gold-500);outline-offset:2px}.vt-name-input{font-family:var(--font-display);font-size:15px;font-weight:600;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--gold-600);border-radius:var(--radius-md);padding:2px 8px;outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--gold-500) 20%,transparent);width:100%;min-width:0}.vt-card-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.vt-status-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 10px}.vt-free{font-size:12px;color:var(--text-secondary);white-space:nowrap}.vt-free-value{font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary)}.vt-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.vt-field{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}.vt-field-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:500;color:var(--text-secondary);white-space:nowrap}.vt-unit{font-size:11px;font-weight:400;color:var(--text-secondary);white-space:nowrap}.vt-tenure-fields{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.vt-tenure-picker{flex:1;min-width:132px}.vt-status--saving{width:12px;height:12px;border:2px solid color-mix(in srgb,var(--gold-500) 30%,transparent);border-top-color:var(--gold-500);border-radius:50%;animation:vt-spin .6s linear infinite}@keyframes vt-spin{to{transform:rotate(360deg)}}.vt-status--saved{color:var(--success-text);animation:vt-pop .3s cubic-bezier(.34,1.56,.64,1)}@keyframes vt-pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.vt-status--error{font-size:12px;font-weight:700;color:var(--danger-text);cursor:default}@media (prefers-reduced-motion: reduce){.vt-card,.vt-card-name{transition:none}.vt-status--saving,.vt-status--saved,.vt-card--enter{animation:none}}@media (max-width: 480px){.vt-grid{grid-template-columns:1fr}}.vt-tenure-summary{align-self:flex-start;min-height:28px;padding:0;background:none;border:none;border-radius:6px;color:var(--text-secondary);font-family:var(--font-body);font-size:12px;text-align:left;cursor:pointer}.vt-tenure-summary:hover{color:var(--text-primary)}.vt-tenure-summary:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.vc-advanced{margin-top:24px}.vc-advanced .adv-disclosure__body{margin-top:12px}.sa-field{display:flex;align-items:center;gap:8px;min-height:32px;padding:0 10px;border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass-bg-overlay);transition:border-color var(--duration-quick) var(--ease-default)}.sa-field:hover{border-color:var(--glass-border-hover)}.sa-field:focus-within{border-color:var(--accent-primary)}.sa-pin{color:var(--text-tertiary);flex-shrink:0}.sa-input{flex:1;min-width:0;min-height:28px;border:0;outline:none;background:transparent;color:var(--text-primary);font-size:13px}.sa-input:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:4px}.sa-status{display:inline-flex;flex-shrink:0}.sa-status--ok{color:var(--success-text)}.sa-status--warn{color:var(--warning-text)}@media (prefers-reduced-motion: reduce){.sa-field{transition:none}}.light-mode .sa-field{background:#ffffffb3}.light-mode .sa-status--ok{color:var(--success-500)}.light-mode .sa-status--warn{color:var(--warning-border)}.fn-cell-wrap{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:6px;width:100%;height:100%;padding:4px;min-width:0}.fn-cell-add{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:26px;padding:3px 8px;border-radius:var(--radius-lg, 10px);border:1px dashed color-mix(in srgb,var(--gold-500) 30%,transparent);background:linear-gradient(180deg,#ffffff0d,#ffffff05);color:var(--accent-text);cursor:pointer;flex-shrink:0;transition:border-color .15s ease,background .15s ease}.fn-cell-add:hover{border-color:var(--gold-500);background:color-mix(in srgb,var(--gold-500) 8%,transparent)}.fn-cell-add:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.fn-cell-add-sign{font-size:15px;font-weight:700;line-height:1}.fn-cell-preview{display:flex;flex-direction:column;gap:4px;overflow-y:auto;max-height:96px;padding-right:2px;min-height:0}.fn-preview-item{display:block;width:100%;text-align:left;padding:4px 7px;border-radius:var(--radius-md, 8px);border:1px solid color-mix(in srgb,var(--gold-500) 22%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--gold-500) 12%,transparent),color-mix(in srgb,var(--gold-500) 4%,transparent));color:var(--text-secondary);font-size:11px;font-weight:500;line-height:1.25;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:border-color .12s ease,background .12s ease}.fn-preview-item:hover{border-color:color-mix(in srgb,var(--gold-500) 45%,transparent);color:var(--text-primary)}.fn-preview-item:focus-visible{outline:2px solid var(--accent-primary);outline-offset:1px}.fn-preview-item--inactive{opacity:.45;border-style:dashed}.light-mode .fn-cell-add{background:linear-gradient(180deg,#00000008,#00000003)}.light-mode .fn-preview-item{background:linear-gradient(180deg,color-mix(in srgb,var(--gold-500) 10%,transparent),color-mix(in srgb,var(--gold-500) 3%,transparent))}.fn-popover-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;background:#00000080;animation:fn-overlay-in .15s ease-out}@keyframes fn-overlay-in{0%{opacity:0}to{opacity:1}}.fn-popover{display:flex;flex-direction:column;gap:14px;width:min(420px,92vw);max-height:85vh;overflow-y:auto;background:color-mix(in srgb,var(--bg-primary) 92%,transparent);border:1px solid color-mix(in srgb,var(--gold-500) 20%,transparent);border-radius:var(--radius-3xl);box-shadow:0 32px 64px #00000080,0 0 24px color-mix(in srgb,var(--gold-500) 6%,transparent);padding:20px;animation:fn-pop-in .2s cubic-bezier(.34,1.56,.64,1)}@keyframes fn-pop-in{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.fn-pop-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.fn-pop-title{font-family:var(--font-display);font-size:15px;font-weight:600;color:var(--text-primary)}.fn-pop-list{display:flex;flex-direction:column;gap:12px}.fn-pop-empty{font-size:13px;color:var(--text-tertiary);text-align:center;padding:12px 0}.fn-entry{display:flex;flex-direction:column;gap:8px;border-radius:var(--radius-2xl);border:1px solid rgba(255,255,255,.08);background:#14110fe6;box-shadow:0 10px 30px #00000040,inset 0 1px #ffffff0a;padding:12px;transition:opacity .15s ease}.fn-entry--inactive{opacity:.55}.fn-entry-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.fn-entry-row--switch{gap:8px}.fn-entry-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);flex-shrink:0}.fn-slider-group{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:1}.fn-slider-value{font-size:11px;font-weight:600;color:var(--text-primary);white-space:nowrap}.fn-select--target{flex:1;min-width:0;max-width:65%;text-overflow:ellipsis}.fn-switch-label{font-size:11px;font-weight:500;color:var(--text-tertiary);transition:color .15s ease}.fn-switch-label.is-active{color:var(--accent-text);font-weight:700}.fn-entry-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:2px;padding-top:8px;border-top:1px solid rgba(255,255,255,.06)}.fn-active-toggle{display:flex;align-items:center;gap:8px}.fn-active-label{font-size:12px;font-weight:500;color:var(--text-secondary)}.fn-pop-add{display:flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:10px;border-radius:var(--radius-xl);border:1px dashed color-mix(in srgb,var(--gold-500) 35%,transparent);background:#ffffff05;color:var(--accent-text);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.fn-pop-add:hover{background:color-mix(in srgb,var(--gold-500) 8%,transparent);border-color:var(--gold-500)}.fn-pop-add:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.fn-pop-add-sign{font-size:16px;line-height:1}.light-mode .fn-popover{box-shadow:0 24px 48px #00000029,0 0 24px color-mix(in srgb,var(--gold-500) 6%,transparent)}.light-mode .fn-entry{background:#ffffffb3;border-color:#0000000f;box-shadow:0 10px 24px #00000014,inset 0 1px #ffffff80}.light-mode .fn-entry-footer{border-top-color:#0000000f}@media (prefers-reduced-motion: reduce){.fn-popover-overlay,.fn-popover,.fn-cell-add,.fn-preview-item,.fn-entry,.fn-pop-add{animation:none;transition:none}}@media (max-width: 600px){.fn-popover{width:94vw;padding:16px}.fn-entry-row{flex-wrap:wrap}.fn-slider-group{align-items:flex-start;width:100%}}.fn-entry-row--wrap{align-items:flex-start}.fn-anchor-hint{margin:-2px 0 0;font-size:10px;font-style:italic;color:var(--text-tertiary)}.info-popover{position:fixed;z-index:var(--z-modal);padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--glass-border);background:linear-gradient(180deg,#ffffff0d,#ffffff05),var(--bg-elevated);box-shadow:0 18px 50px #0000002e;color:var(--text-primary);font-size:13px;line-height:1.5;animation:info-popover-in .14s cubic-bezier(.34,1.3,.64,1)}.info-popover p{margin:0}.info-popover p+p,.info-popover ul{margin-top:8px}.info-popover ul{padding-left:18px;margin-bottom:0}.light-mode .info-popover{background:linear-gradient(180deg,#fffffff5,#ffffffe6),var(--bg-elevated)}@keyframes info-popover-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.info-popover{animation:none}}.smh{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.smh__item{display:inline-flex;align-items:center;gap:2px;padding:0 2px 0 10px;min-height:30px;border:1px solid var(--surface-item-border);border-radius:999px;background:var(--surface-item-bg);font-size:12px;font-weight:600;color:var(--text-secondary)}.smh__actions{display:flex;justify-content:flex-end;margin-top:8px}.tw-panel{display:flex;flex-direction:column;gap:24px}.tw-empty{color:var(--text-secondary);font-size:var(--text-sm);padding:32px;text-align:center}.tw-panel-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.tw-panel-description{font-size:13px;line-height:1.6;color:var(--text-secondary);margin:0;max-width:520px}.tw-legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;flex-shrink:0}.tw-legend-item{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.4px}.tw-legend-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.tw-legend-dot--work{background:var(--yellow-500)}.tw-legend-dot--oncall{background:var(--blue-500)}.tw-legend-dot--closed{background:var(--text-tertiary);opacity:.4}.tw-legend-dot--mixed{background:var(--success-text)}.tw-legend-hint{font-size:11px;color:var(--text-tertiary);font-style:italic}.tw-sites-list{display:flex;flex-direction:column;gap:16px}.tw-site-card{border:1px solid var(--glass-border);overflow:visible}.tw-site-card--hidden{visibility:hidden;pointer-events:none}.tw-site-card--enter{animation:tw-site-enter .35s cubic-bezier(.34,1.56,.64,1)}@keyframes tw-site-enter{0%{opacity:0;transform:scale(.85) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.tw-add-btn{font-family:var(--font-body);font-size:13px;font-weight:600;padding:10px 20px;background:var(--accent-primary);color:var(--on-accent);border:1.5px solid var(--accent-primary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-instant) var(--ease-default);align-self:flex-start}.tw-add-btn:hover{background:var(--accent-primary-hover);border-color:var(--accent-primary-hover);color:var(--on-accent)}.tw-add-btn:focus-visible{outline:2px solid var(--gold-500);outline-offset:2px}.tw-error{color:var(--danger-text);font-size:13px;padding:8px 12px;background:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius-md)}.tw-site-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.tw-day-hdr--hours{font-size:9px;color:var(--text-tertiary)}.tw-hours-cell{display:flex;align-items:center;gap:4px;padding:4px 6px;border-radius:var(--radius-xl);border:1px solid var(--surface-divider);background:#ffffff05}.tw-hours-input{font-family:var(--font-display);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary);background:#0003;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);padding:4px;outline:none;transition:border-color .15s ease;color-scheme:dark;width:70px}.tw-hours-input:focus{border-color:var(--gold-600);box-shadow:0 0 0 2px color-mix(in srgb,var(--gold-500) 15%,transparent)}.tw-hours-sep{font-size:10px;color:var(--text-tertiary);opacity:.5}.tw-site-name-row{display:flex;align-items:center;gap:8px}.tw-color-picker{position:relative}.tw-site-color{width:16px;height:16px;border-radius:4px;border:2px solid rgba(255,255,255,.15);cursor:pointer;flex-shrink:0;transition:transform .15s ease,border-color .15s ease;padding:0}.tw-site-color:hover{transform:scale(1.15);border-color:#ffffff4d}.tw-site-color:focus-visible{outline:2px solid var(--gold-500);outline-offset:2px}.light-mode .tw-site-color{border-color:#00000026}.light-mode .tw-site-color:hover{border-color:#0000004d}.tw-color-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.tw-site-name{font-family:var(--font-display);font-size:15px;font-weight:600;color:var(--text-primary);background:none;border:none;border-bottom:1px dashed transparent;padding:0 0 1px;cursor:text;text-align:left;transition:border-color .15s ease;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tw-site-name:hover{border-bottom-color:var(--text-tertiary)}.tw-site-name:focus-visible{outline:2px solid var(--gold-500);outline-offset:2px}.tw-name-input{font-family:var(--font-display);font-size:15px;font-weight:600;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--gold-600);border-radius:var(--radius-md);padding:2px 8px;outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--gold-500) 20%,transparent);width:100%;min-width:0}.tw-site-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.tw-status--saving{width:12px;height:12px;border:2px solid color-mix(in srgb,var(--gold-500) 30%,transparent);border-top-color:var(--gold-500);border-radius:50%;animation:tw-spin .6s linear infinite}@keyframes tw-spin{to{transform:rotate(360deg)}}.tw-status--saved{color:var(--info-ink);animation:tw-pop .3s cubic-bezier(.34,1.56,.64,1)}@keyframes tw-pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.tw-status--error{font-size:12px;font-weight:700;color:var(--danger-text)}.tw-clipboard-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;margin-bottom:12px;background:color-mix(in srgb,var(--gold-900) 60%,var(--bg-surface));border:1px solid var(--gold-700);border-radius:var(--radius-md);font-size:13px;color:var(--accent-text);animation:tw-banner-in .15s ease}@keyframes tw-banner-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tw-clipboard-clear{background:none;border:1px solid var(--gold-700);border-radius:var(--radius-sm);color:var(--accent-text);font-size:12px;padding:3px 10px;cursor:pointer;white-space:nowrap;transition:all .15s var(--ease-default)}.tw-clipboard-clear:hover{background:var(--accent-tint-bg-strong);color:var(--accent-text)}.tw-grid-wrapper{overflow:visible;padding-top:4px}.tw-grid{display:grid;grid-template-columns:48px repeat(7,1fr);gap:3px;min-width:max-content}.tw-grid--with-hours{grid-template-columns:48px repeat(7,1fr) auto}.tw-grid--with-floating{grid-template-columns:48px repeat(7,1fr) auto minmax(150px,190px)}.tw-floating-cell{display:flex;align-items:flex-start;min-width:0}.tw-corner{display:flex;align-items:flex-end;justify-content:center;padding-bottom:4px}.tw-corner-key{display:inline-flex;gap:6px;cursor:help}.tw-day-hdr{text-align:center;font-family:var(--font-display);font-size:11px;font-weight:600;color:var(--text-secondary);padding:6px 0;text-transform:uppercase;letter-spacing:.3px}.tw-day-hdr--weekend{color:var(--accent-text)}.tw-slot-row{display:contents}.tw-slot-label{display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.3px}.tw-cell{border-radius:var(--radius-xl);padding:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:60px;min-width:72px;position:relative;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.tw-cell:hover{box-shadow:0 4px 16px #0003}.tw-mixed-dot{position:absolute;top:5px;right:5px;width:6px;height:6px;border-radius:50%;background:var(--success-text);flex-shrink:0;pointer-events:none}.tw-cell--work{background:color-mix(in srgb,var(--yellow-500) 8%,rgba(255,255,255,.03));border:1px solid color-mix(in srgb,var(--yellow-500) 20%,transparent);box-shadow:inset 0 1px #ffffff0a}.tw-cell--work:hover{border-color:color-mix(in srgb,var(--yellow-500) 35%,transparent);box-shadow:inset 0 1px #ffffff0a,0 4px 20px color-mix(in srgb,var(--yellow-500) 10%,transparent)}.tw-cell--oncall{background:color-mix(in srgb,var(--blue-500) 8%,rgba(255,255,255,.03));border:1px solid color-mix(in srgb,var(--blue-500) 20%,transparent);box-shadow:inset 0 1px #ffffff0a}.tw-cell--oncall:hover{border-color:color-mix(in srgb,var(--blue-500) 35%,transparent);box-shadow:inset 0 1px #ffffff0a,0 4px 20px color-mix(in srgb,var(--blue-500) 10%,transparent)}.tw-cell--closed{background:#ffffff05;border:1px solid rgba(255,255,255,.06);opacity:.5}.tw-cell--closed:hover{opacity:.75}.tw-cell--paste-ready{cursor:copy;outline:2px dashed var(--gold-600);outline-offset:-2px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:none;border:none;font:inherit;color:inherit}.tw-cell--paste-ready:focus-visible{outline:2px solid var(--accent-primary);outline-offset:-2px}.tw-cell--paste-ready:hover{outline-color:var(--gold-400);background:color-mix(in srgb,var(--gold-500) 10%,transparent)!important}.tw-mode-chip{--tw-chip-color: var(--state-active-bg);position:relative;width:32px;height:14px;padding:0;border:none;border-radius:999px;background:transparent;cursor:pointer}.tw-mode-chip:before{content:"";position:absolute;top:4px;right:3px;bottom:4px;left:3px;border-radius:999px;background:var(--tw-chip-color);transition:inset .15s ease,background .15s ease}.tw-mode-chip:hover:before{top:3px;right:1px;bottom:3px;left:1px}.tw-mode-chip--work{--tw-chip-color: color-mix(in srgb, var(--yellow-500) 70%, transparent)}.tw-mode-chip--oncall{--tw-chip-color: color-mix(in srgb, var(--blue-500) 75%, transparent)}.tw-mode-chip--closed{--tw-chip-color: color-mix(in srgb, var(--text-tertiary) 45%, transparent)}.tw-mode-chip:focus-visible{outline:2px solid var(--accent-primary);outline-offset:1px}.tw-staff-btn{background:none;border:none;cursor:pointer;padding:2px 4px;border-radius:var(--radius-md);transition:background .15s ease}.tw-staff-btn:hover{background:#ffffff0f}.tw-staff-btn:focus-visible{outline:2px solid var(--gold-500);outline-offset:1px}.tw-cell-nums{display:flex;gap:6px;align-items:baseline}.tw-cell-tag{font-family:var(--font-display);font-size:9px;font-weight:700;color:var(--accent-text);opacity:.8;letter-spacing:.3px}.tw-cell-val{font-family:var(--font-display);font-size:14px;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums;line-height:1.1}.tw-cell-tag--rural,.tw-cell-val--rural{color:var(--info-ink)}.tw-cell-tag--asv,.tw-cell-val--asv{color:var(--purple-ink)}.tw-hover-tip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:100;background:var(--surface-overlay-bg);border:1px solid var(--surface-section-border);border-radius:var(--radius-xl);box-shadow:0 16px 40px #00000080,0 0 12px color-mix(in srgb,var(--gold-500) 6%,transparent),inset 0 1px #ffffff0f;padding:10px 12px;display:flex;flex-direction:column;gap:6px;white-space:nowrap;pointer-events:none;animation:tw-tip-in .1s ease-out}.tw-hover-tip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--glass-border)}@keyframes tw-tip-in{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.tw-hover-section{display:flex;flex-direction:column;gap:2px}.tw-hover-section+.tw-hover-section{padding-top:4px;border-top:1px solid rgba(255,255,255,.08)}.tw-hover-section--specs{flex-direction:row;gap:6px}.tw-hover-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.tw-hover-val{font-family:var(--font-display);font-size:12px;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.tw-hover-spec{display:flex;align-items:center;gap:2px;font-size:11px;font-weight:600;color:var(--text-secondary)}.tw-hover-spec-emoji{font-size:11px}.tw-closed-mark{color:var(--text-tertiary);font-size:14px;margin-top:4px;opacity:.4}.tw-popover-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;background:#00000080;animation:tw-overlay-in .15s ease-out}@keyframes tw-overlay-in{0%{opacity:0}to{opacity:1}}.tw-popover{background:color-mix(in srgb,var(--bg-primary) 92%,transparent);border:1px solid color-mix(in srgb,var(--gold-500) 20%,transparent);border-radius:var(--radius-3xl);box-shadow:0 32px 64px #00000080,0 0 24px color-mix(in srgb,var(--gold-500) 6%,transparent);padding:20px;max-width:90vw;animation:tw-pop-in .2s cubic-bezier(.34,1.56,.64,1)}@keyframes tw-pop-in{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.tw-pop-grid{display:flex;gap:16px;align-items:stretch}.tw-pop-card{position:relative;overflow:hidden;border-radius:var(--radius-2xl);border:1px solid var(--surface-section-border);background:var(--surface-overlay-bg);box-shadow:0 10px 30px #00000040,inset 0 1px #ffffff0a;min-width:200px;display:flex;flex-direction:column}.tw-pop-card-glow{pointer-events:none;position:absolute;inset:0 0 auto 0;height:80px}.tw-pop-card-glow--gold{background:linear-gradient(180deg,color-mix(in srgb,var(--gold-500) 12%,transparent),transparent)}.tw-pop-card-glow--green{background:linear-gradient(180deg,color-mix(in srgb,var(--blue-400) 10%,transparent),transparent)}.tw-pop-card-glow--neutral{background:linear-gradient(180deg,rgba(255,255,255,.06),transparent)}.tw-pop-card-head{position:relative;display:flex;align-items:flex-start;gap:10px;padding:16px 16px 0;margin-bottom:14px}.tw-pop-card-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--accent-text);font-size:16px;flex-shrink:0}.tw-pop-card-title{font-family:var(--font-display);font-size:14px;font-weight:600;letter-spacing:.02em;color:var(--text-primary);padding-top:6px}.tw-pop-card-body{position:relative;padding:0 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}.tw-pop-sub-title{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--text-secondary);margin-bottom:2px}.tw-pop-sub-title--spaced{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}.tw-pop-sub-title-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.tw-pop-sub-title-dot--gold{background:var(--gold-500)}.tw-pop-sub-title-dot--green{background:var(--blue-400)}.tw-pop-minmax-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tw-pop-minmax-grid--single{grid-template-columns:1fr}.tw-pop-minmax-col{display:flex;flex-direction:column;gap:6px;border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.06);background:#ffffff04;padding:10px}.tw-pop-minmax-label{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:2px}.tw-pop-field-group{display:flex;flex-direction:column;gap:6px}.tw-pop-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.06);background:#ffffff05;padding:8px 10px}.tw-pop-label{font-size:12px;font-weight:500;color:var(--text-secondary);min-width:32px}.tw-pop-unspecified{display:flex;align-items:center;justify-content:space-between;border-radius:var(--radius-xl);border:1px dashed rgba(255,255,255,.08);background:#ffffff04;padding:10px 14px;margin-top:4px}.tw-pop-unspecified-label{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.2em;color:var(--text-tertiary)}.tw-pop-unspecified-val{font-family:var(--font-display);font-size:20px;font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums}.tw-pop-unspecified-val--over{color:var(--danger-text)}.tw-pop-disabled{opacity:.35;cursor:not-allowed}.tw-pop-disabled button,.tw-pop-disabled input{pointer-events:none}.tw-pop-group-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);padding:0 2px}.tw-pop-separator{margin:8px 0;border-top:1px solid rgba(255,255,255,.06)}.tw-pop-section-label{font-family:var(--font-display);font-size:11px;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;padding:0 2px 4px}.tw-pop-sub-section{margin-top:4px}.tw-pop-sub-header{display:flex;justify-content:flex-end;gap:4px;padding:0 0 3px}.tw-pop-sub-hdr-label{width:62px;text-align:center;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary)}.tw-pop-sub-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.06);background:#ffffff04;padding:6px 10px;margin-bottom:4px}.tw-pop-sub-label{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:500;color:var(--text-secondary);min-width:0;overflow:hidden;white-space:nowrap}.tw-pop-sub-emoji{font-size:14px;flex-shrink:0}.tw-pop-sub-steppers{display:flex;gap:4px}.tw-pop-sub-free{display:flex;align-items:center;justify-content:space-between;border-radius:var(--radius-xl);border:1px dashed rgba(255,255,255,.08);background:#ffffff04;padding:8px 12px;margin-top:4px}.tw-pop-sub-free-label{font-size:10px;font-weight:600;color:var(--text-tertiary)}.tw-pop-sub-free-val{font-family:var(--font-display);font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.tw-pop-sub-free-val--over{color:var(--danger-text)}@media (prefers-reduced-motion: reduce){.tw-cell,.tw-mode-chip:before,.tw-staff-btn,.tw-site-card{transition:none}.tw-hover-tip,.tw-popover,.tw-popover-overlay,.tw-status--saving,.tw-status--saved,.tw-site-card--enter{animation:none}}@media (max-width: 768px){.tw-grid-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.tw-site-card{overflow-x:hidden}.tw-panel-intro{flex-direction:column;gap:12px}.tw-pop-grid{flex-direction:column}.tw-pop-card{min-width:unset}.tw-popover{max-height:85vh;overflow-y:auto}.tw-pop-minmax-grid{grid-template-columns:1fr}}@media (max-width: 600px){.tw-cell{min-width:60px;min-height:54px}.tw-grid{grid-template-columns:36px repeat(7,1fr)}.tw-grid--with-hours{grid-template-columns:36px repeat(7,1fr) auto}.tw-grid--with-floating{grid-template-columns:36px repeat(7,1fr) auto auto}.tw-slot-label{font-size:9px}.tw-day-hdr{font-size:10px;padding:4px 0}}.tw-cell-tag--mixed,.tw-cell-val--mixed{color:var(--success-text)}.tw-mixed-or{display:flex;align-items:center;gap:6px}.tw-mixed-or-left{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}.tw-mixed-or-left .tw-pop-row,.tw-mixed-or-right .tw-pop-row{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:6px 10px;background:linear-gradient(180deg,#ffffff0a,#ffffff05)}.light-mode .tw-mixed-or-left .tw-pop-row,.light-mode .tw-mixed-or-right .tw-pop-row{border-color:#00000014;background:linear-gradient(180deg,#ffffffb3,#ffffff80)}.tw-mixed-or-link{display:flex;align-items:center;gap:4px;align-self:stretch}.tw-mixed-or-bracket{width:8px;align-self:stretch;margin:14px 0;border:1px solid rgba(255,255,255,.18);border-left:none;border-radius:0 8px 8px 0}.light-mode .tw-mixed-or-bracket{border-color:#0000002e}.tw-mixed-or-word{font-size:11px;font-style:italic;color:var(--text-secondary)}.tw-mixed-or-arrow{font-size:11px;color:var(--text-secondary)}.light-mode .tw-mixed-or-word,.light-mode .tw-mixed-or-arrow{color:#00000073}.tw-mixed-or-right{display:flex;align-items:center}.tw-mixed-or-right .tw-pop-row{gap:8px}@media (pointer: coarse){.tw-mode-chip{height:24px;width:40px}.tw-mode-chip:before{top:9px;right:4px;bottom:9px;left:4px}}.oc-panel{display:flex;flex-direction:column;gap:20px}.oc-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.oc-spacing-card{display:flex;flex-direction:column;gap:16px}.oc-spacing-card-header{display:flex;align-items:flex-start;gap:12px}.oc-spacing-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:var(--radius-md);background:var(--accent-tint-bg);color:var(--accent-text);border:1px solid color-mix(in srgb,var(--gold-700) 40%,transparent)}.oc-spacing-titles{flex:1;min-width:0}.oc-spacing-label{margin:0;font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.3}.oc-spacing-subtitle{margin:2px 0 0;font-size:12px;color:var(--text-tertiary);line-height:1.3}.oc-spacing-value-display{display:flex;align-items:baseline;gap:6px}.oc-spacing-number{font-family:var(--font-display);font-size:32px;font-weight:700;color:var(--accent-text);line-height:1;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.oc-spacing-unit{font-size:13px;font-weight:500;color:var(--text-tertiary)}.oc-spacing-slider-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--text-tertiary);padding:0 2px;margin-top:2px}.oc-spacing-max-label{color:var(--accent-text);font-weight:500}@media (prefers-reduced-motion: reduce){.oc-spacing-card,.oc-save-btn{transition:none}.oc-save-spinner{animation:none}}.oncall-eligibility-section{margin-top:16px}.oncall-section-title{margin:0 0 6px;font-family:var(--section-title-font);font-size:var(--section-title-size);font-weight:var(--section-title-weight);letter-spacing:var(--section-title-tracking);text-transform:var(--section-title-case);color:var(--section-title-color)}.oncall-section-desc{font-size:13px;color:var(--text-secondary);margin:0 0 16px}.oncall-eligibility-table{width:100%;border-collapse:collapse}.oncall-eligibility-table th{font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;padding:6px 12px;text-align:center}.oncall-eligibility-table th:first-child{text-align:left}.oncall-elig-vet-name{font-size:13px;font-weight:500;color:var(--text-primary);padding:6px 12px}.oncall-elig-cell{text-align:center;padding:4px 12px}.oncall-elig-toggle{width:32px;height:32px;border:1px solid var(--border-primary, rgba(255,255,255,.12));border-radius:6px;background:transparent;cursor:pointer;font-size:16px;color:var(--text-tertiary);transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center}.oncall-elig-toggle:hover{background:var(--hover-bg, rgba(255,255,255,.06))}.oncall-elig-toggle--active{color:var(--accent-text);border-color:color-mix(in srgb,var(--gold-700) 60%,transparent);background:var(--accent-tint-bg)}.oncall-elig-toggle:focus-visible{outline:2px solid var(--gold-500);outline-offset:2px}.oncall-elig-disabled-col{opacity:.35;cursor:not-allowed}.oncall-elig-disabled-col button{pointer-events:none}@media (max-width: 600px){.oc-cards-grid{grid-template-columns:1fr}}.oc-count-spread-row{display:flex;gap:12px}.oc-count-spread-card{flex:1;display:flex;flex-direction:column;gap:10px;transition:border-color .2s ease}.oc-count-spread-head{display:flex;align-items:center;gap:6px}.oc-count-spread-icon{color:var(--text-tertiary);opacity:.5;display:flex}.oc-count-spread-label{font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--text-primary)}.oc-section-desc{margin:0 0 12px}.oc-count-spread-display{text-align:center}.oc-count-spread-value{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--text-tertiary);opacity:.4;font-variant-numeric:tabular-nums}.oc-count-spread-value--active{color:var(--accent-text);opacity:1}@media (max-width: 600px){.oc-count-spread-row{flex-direction:column}}.stg-intro{display:flex;flex-direction:column;gap:10px;margin-bottom:var(--surface-stack-gap)}.stg-intro__row{display:flex;align-items:center;gap:6px;min-width:0}.stg-intro__text{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:var(--text-secondary)}.stg-intro__actions{margin-left:auto;flex-shrink:0}@media (max-width: 640px){.stg-intro__text{display:none}}.xp-tab{display:flex;flex-direction:column;gap:20px}.xp-tab-legend{display:flex;gap:16px;flex-shrink:0;flex-wrap:wrap}.xp-legend-item{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.4px;font-variant-numeric:tabular-nums;cursor:help;border-radius:4px}.xp-legend-item:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.xp-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.xp-legend-dot--junior{background:var(--info-text)}.xp-legend-dot--intermediate{background:var(--gold-400)}.xp-legend-dot--expert{background:var(--accent-purple)}.xp-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:12px}.xp-card-title{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}.xp-card-name{font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xp-card-scores{display:flex;gap:6px}.xp-card-status{display:flex;align-items:center;width:20px;height:20px;justify-content:center;flex-shrink:0}.xp-disciplines{display:flex;flex-direction:column;gap:12px}.xp-discipline{display:flex;align-items:center;gap:14px}.xp-discipline-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;min-width:80px;flex-shrink:0}.xp-discipline-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.xp-discipline-dot--canine{background:var(--info-text)}.xp-discipline-dot--rural{background:var(--success-text)}.xp-discipline--disabled{opacity:.38;pointer-events:none}.xp-discipline-hint{font-size:10px;font-weight:500;color:var(--text-tertiary);white-space:nowrap;margin-left:auto;padding-left:8px}.xp-scoring{display:flex;flex-direction:column;gap:16px}.xp-scoring-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.xp-scoring-description{font-size:12px;line-height:1.6;color:var(--text-secondary);margin:0;max-width:420px}.xp-scoring-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.xp-scoring-item{display:flex;flex-direction:column;gap:6px}.xp-scoring-label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--text-primary)}.xp-scoring-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.xp-scoring-dot--junior{background:var(--info-text)}.xp-scoring-dot--intermediate{background:var(--gold-400)}.xp-scoring-dot--expert{background:var(--accent-purple)}.xp-scoring-input-wrapper{display:flex;align-items:center;gap:4px}.xp-scoring-input{width:100%;padding:8px 10px;border-radius:var(--radius-xl);border:1px solid var(--glass-border);background:#ffffff0f;color:var(--text-primary);font-size:14px;font-variant-numeric:tabular-nums;transition:border-color var(--duration-instant) var(--ease-default);min-height:44px}.xp-scoring-input:focus{outline:none;border-color:color-mix(in srgb,var(--gold-500) 40%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--gold-500) 20%,transparent)}.xp-scoring-unit{font-size:13px;font-weight:600;color:var(--text-tertiary);flex-shrink:0}.xp-scoring-hint{font-size:11px;color:var(--text-tertiary);font-variant-numeric:tabular-nums}@media (prefers-reduced-motion: reduce){.xp-scoring-input{transition:none}}@media (max-width: 720px){.stg-card-grid{grid-template-columns:1fr}}@media (max-width: 480px){.xp-tab-legend{gap:10px}.xp-discipline{flex-direction:column;align-items:flex-start;gap:8px}.xp-discipline-hint{margin-left:0}.xp-scoring-grid{grid-template-columns:1fr}}.holidays-panel{max-width:700px;display:flex;flex-direction:column;gap:16px}.holidays-panel-header{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.holidays-panel-actions{display:flex;gap:8px;align-items:center}.holidays-reset-year{width:80px;height:36px;padding:4px 10px;border:1px solid var(--glass-border);border-radius:var(--radius-xl);background:#ffffff0f;color:var(--text-primary);font-size:13px;font-family:var(--font-body);font-variant-numeric:tabular-nums}.holidays-reset-year:focus{outline:none;border-color:color-mix(in srgb,var(--yellow-500) 40%,transparent)}.hol-add-form{display:grid;gap:10px;grid-template-columns:auto 1fr auto}.hol-add-name{min-width:0}@media (max-width: 480px){.hol-add-form{grid-template-columns:1fr}}.holidays-table{width:100%;border-collapse:collapse;font-size:13px;border-radius:var(--radius-2xl);overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#0000002e}.light-mode .holidays-table{background:var(--surface-item-bg);border-color:var(--surface-item-border)}.holidays-table th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--text-secondary);padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.holidays-table td{padding:10px 16px;border-bottom:1px solid rgba(255,255,255,.06);color:var(--text-primary)}.holidays-table tbody tr:last-child td{border-bottom:none}.holidays-table tbody tr{transition:background var(--duration-instant) var(--ease-default)}.holidays-table tbody tr:hover{background:#ffffff08}.hol-oncall-section{margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08)}.hol-oncall-title{margin:0 0 4px;font-family:var(--font-display);font-size:18px;font-weight:600;color:var(--text-primary)}.hol-oncall-legend{margin:-8px 0 16px;font-size:12px;color:var(--text-secondary)}.hol-oncall-desc{margin:0 0 16px;font-size:13px;color:var(--text-secondary);line-height:1.5}.hol-oncall-grid{display:flex;flex-wrap:wrap;gap:12px}.hol-staffing-cell{flex:1 1 180px;max-width:240px;padding:12px 14px;border-radius:var(--surface-item-radius);border:1px solid var(--surface-item-border);background:var(--surface-item-bg);box-shadow:var(--surface-item-shadow);cursor:pointer;text-align:left;color:inherit;font:inherit;transition:transform var(--duration-quick) var(--ease-default),border-color var(--duration-quick) var(--ease-default)}.hol-staffing-cell:hover{transform:translateY(-1px);border-color:var(--glass-border-hover)}.hol-staffing-cell:focus-visible{outline:2px solid var(--gold-500);outline-offset:2px}.hol-staffing-cell-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.hol-staffing-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.hol-staffing-site-name{font-family:var(--font-display);font-size:13px;font-weight:600;color:var(--text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hol-staffing-cell-numbers{display:flex;gap:8px;flex-wrap:wrap}.hol-staffing-tag{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary)}.hol-staffing-tag-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary)}@media (prefers-reduced-motion: reduce){.hol-staffing-cell{transition:none}}.pair-config-tab{max-width:900px}.pair-card__top{display:flex;flex-direction:column;gap:12px}@media (min-width: 640px){.pair-card__top{flex-direction:row;align-items:center;justify-content:space-between}}.pair-card__info{display:flex;align-items:center;gap:12px;min-width:0}.pair-card__names{min-width:0}.pair-card__name-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-primary)}.pair-card__name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pair-card__separator{color:var(--text-tertiary)}.pair-card__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pair-add__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.pair-add__title{font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--text-primary)}.pair-add__subtitle{margin-top:4px;font-size:12px;color:var(--text-tertiary)}.pair-add__form{display:grid;gap:10px;grid-template-columns:1fr}@media (min-width: 900px){.pair-add__form{grid-template-columns:1fr 1fr .9fr .9fr auto}}@media (min-width: 640px) and (max-width: 899px){.pair-add__form{grid-template-columns:1fr 1fr}}@media (max-width: 480px){.pair-card__top{flex-direction:column;align-items:flex-start}.pair-card__actions{width:100%}.stg-card-grid{grid-template-columns:1fr}}.wr-tab{max-width:100%;display:flex;flex-direction:column;gap:16px}.wr-section-header{display:flex;align-items:center;gap:8px;padding-bottom:4px;border-bottom:1px solid var(--surface-divider)}.wr-section-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.wr-section-dot--gold{background:var(--gold-500)}.wr-section-dot--blue{background:var(--blue-400)}.wr-section-title{font-family:var(--section-title-font);font-size:var(--section-title-size);font-weight:var(--section-title-weight);letter-spacing:var(--section-title-tracking);text-transform:var(--section-title-case);color:var(--section-title-color)}.wr-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-radius:var(--surface-section-radius);border:1px solid var(--surface-section-border);background:var(--surface-section-bg);padding:14px 18px;box-shadow:var(--surface-section-shadow)}.wr-year-nav{display:flex;align-items:center;gap:12px}.wr-year-title{font-family:var(--font-display);font-size:28px;font-weight:600;letter-spacing:-.04em;margin:0;min-width:70px;text-align:center;color:var(--text-primary)}.wr-legend{display:none;gap:8px;flex-wrap:wrap}@media (min-width: 1024px){.wr-legend{display:flex}}.wr-legend-item{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-xl);border:1px solid var(--surface-divider);background:#ffffff0a;padding:6px 12px;font-size:11px;color:var(--text-secondary);white-space:nowrap}.wr-legend-swatch{width:10px;height:10px;border-radius:3px;flex-shrink:0}.wr-legend-swatch--timeoff-hard{background:var(--blue-500)}.wr-legend-swatch--timeoff-soft{background:var(--blue-300)}.wr-legend-swatch--workday-hard{background:var(--yellow-500)}.wr-legend-swatch--workday-soft{background:var(--yellow-200)}.wr-legend-swatch--rest-hard{background:var(--rest-accent)}.wr-legend-swatch--rest-soft{background:var(--success-300)}.wr-legend-swatch--wished{background:transparent;border:1px dashed var(--text-secondary)}.wr-legend-item--note{background:transparent}.wr-legend-swatch--sickness-hard{background:var(--error-text)}.wr-legend-mobile{display:flex;flex-wrap:wrap;gap:8px}@media (min-width: 1024px){.wr-legend-mobile{display:none}}.wr-grid-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--surface-section-radius);border:1px solid var(--surface-section-border);background:var(--surface-section-bg);box-shadow:var(--surface-section-shadow);padding-bottom:4px}.wr-grid-wrapper::-webkit-scrollbar{height:8px}.wr-grid-wrapper::-webkit-scrollbar-track{background:transparent;margin:0 8px}.wr-grid-wrapper::-webkit-scrollbar-thumb{background:var(--text-tertiary);border-radius:4px}.wr-grid-wrapper::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.wr-grid{border-collapse:collapse;width:100%;min-width:max-content;table-layout:fixed}.wr-grid th,.wr-grid td{padding:0;text-align:center}.wr-name-header{position:sticky;left:0;z-index:3;background:var(--bg-surface);text-align:left!important;padding:12px 18px!important;font-family:var(--font-display);font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.12em;min-width:160px;border-right:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border)}.wr-name-cell{position:sticky;left:0;z-index:2;background:var(--bg-surface);text-align:left!important;padding:12px 18px!important;font-family:var(--font-body);font-weight:500;font-size:15px;color:var(--text-primary);white-space:nowrap;border-right:1px solid var(--glass-border);border-bottom:1px solid var(--border-light)}.wr-month-header-corner{border-bottom:none}.wr-month-label{font-family:var(--font-display);font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.12em;border-bottom:none;border-left:1px solid rgba(255,255,255,.18);text-align:left!important;padding:6px 0 2px 8px!important}.wr-month-label:first-of-type{border-left:none}.wr-date-header{padding:8px 0 6px!important;min-width:32px;border-bottom:1px solid rgba(255,255,255,.08);border-left:1px solid rgba(255,255,255,.04);vertical-align:middle}.wr-date-header.wr-month-start{border-left:1px solid rgba(255,255,255,.18)}.wr-date-header.wr-weekend{background:#ffffff04}.wr-date-weekday{display:block;font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.1em;line-height:1}.wr-date-header.wr-weekend .wr-date-weekday{color:var(--accent-text)}.wr-date-header--today{border-bottom:2px solid var(--yellow-500)}.wr-date-header--today .wr-date-num{color:var(--accent-text);font-weight:800}.wr-date-header--today .wr-date-weekday{color:var(--accent-text)}.wr-date-num{display:block;font-family:var(--font-display);font-size:20px;font-weight:600;letter-spacing:-.04em;color:var(--text-primary);line-height:1.2;margin-top:2px}.wr-date-header.wr-weekend .wr-date-num{color:var(--accent-text)}.wr-cell{width:32px;height:42px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.06);border-left:1px solid rgba(255,255,255,.04);vertical-align:middle;position:relative;padding:2px!important;contain:layout style paint;content-visibility:auto;contain-intrinsic-size:32px 42px}.wr-cell--month-start{border-left:1px solid rgba(255,255,255,.18)}.wr-cell--weekend{background:#ffffff03}.wr-cell--selecting{background:#eec52f26!important}.wr-cell--selecting .wr-cell-inner{border-color:#eec52f80!important;transition:none!important}.wr-cell--popup-selected .wr-cell-inner{border-color:var(--yellow-500)!important;box-shadow:0 0 8px #eec52f4d}.wr-cell--leave-request-highlight{background:#ff8c3c33!important;outline:2px solid rgba(255,140,60,.55);outline-offset:-2px;animation:wr-leave-pulse 1.4s ease-in-out 2}@keyframes wr-leave-pulse{0%,to{outline-color:#ff8c3c8c}50%{outline-color:#ff8c3cf2}}@media (prefers-reduced-motion: reduce){.wr-cell--leave-request-highlight{animation:none}}.light-mode .wr-cell--leave-request-highlight{background:#ff78282e!important;outline-color:#dc6e1ea6}.wr-cell-inner{position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:8px;border:1px solid transparent;transition:border-color 80ms var(--ease-default),background 80ms var(--ease-default);overflow:hidden}.wr-cell:not(:has(.wr-cell-inner)){box-shadow:inset 0 0 0 1px #ffffff0a}.wr-cell:not(:has(.wr-cell-inner)):hover{box-shadow:inset 0 0 0 1px #ffffff1a;background:#ffffff08}.wr-cell-slots{position:absolute;top:4px;right:0;bottom:4px;left:4px;width:5px;display:flex;flex-direction:column;gap:2px}.wr-slot-dot{flex:1;border-radius:2px;transition:background .1s var(--ease-default)}.wr-slot-dot--empty{background:#ffffff1f}.wr-slot-dot--timeoff-hard{background:#ffffffd9;box-shadow:0 0 3px #4a7ef066}.wr-slot-dot--timeoff-soft{background:#fff9}.wr-slot-dot--workday-hard{background:#ffffffd9;box-shadow:0 0 3px #eec52f66}.wr-slot-dot--workday-soft{background:#fff9}.wr-slot-dot--absence-hard{background:#ffffffd9;box-shadow:0 0 3px #a855f766}.wr-slot-dot--absence-soft{background:#fff9}.wr-slot-dot--sickness-hard{background:#ffffffd9;box-shadow:0 0 3px #ef444473}.wr-slot-dot--rest-hard{background:#ffffffd9;box-shadow:0 0 3px #22c55e73}.wr-slot-dot--rest-soft{background:#fff9}.wr-cell-inner.wr-cell--timeoff-hard{background:#4a7ef0b8;border-color:#4a7ef04d;box-shadow:inset 0 0 0 1px #4a7ef02e}.wr-cell-inner.wr-cell--timeoff-soft{background:#8dafff9e;border-color:#8dafff47;box-shadow:inset 0 0 0 1px #8dafff29}.wr-cell-inner.wr-cell--workday-hard{background:#eec52fb8;border-color:#eec52f4d;box-shadow:inset 0 0 0 1px #eec52f2e;color:var(--on-accent)}.wr-cell-inner.wr-cell--workday-soft{background:#faea999e;border-color:#faea994d;box-shadow:inset 0 0 0 1px #faea992e}.wr-cell-inner.wr-cell--mixed{background:linear-gradient(135deg,#eec52f5c,#4a7ef05c);border-color:#ffffff2e}.wr-cell-inner.wr-cell--absence-hard{background:#a855f7a8;border-color:#a855f747;box-shadow:inset 0 0 0 1px #a855f729}.wr-cell-inner.wr-cell--absence-soft{background:#a855f775;border-color:#a855f733}.wr-cell-inner.wr-cell--sickness-hard{background:#ef4444b3;border-color:#ef44444d;box-shadow:inset 0 0 0 1px #ef44442e}.wr-cell-inner.wr-cell--rest-hard{background:#22c55eb3;border-color:#22c55e4d;box-shadow:inset 0 0 0 1px #22c55e2e}.wr-cell-inner.wr-cell--rest-soft{background:#4ade808c;border-color:#4ade8047;box-shadow:inset 0 0 0 1px #4ade8029}.wr-hint{font-size:11px;color:var(--text-tertiary);margin-top:10px}.wr-empty{color:var(--text-secondary);font-size:var(--text-sm);padding:32px;text-align:center}.wr-popup-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);background:#0000008c}.wr-popup{position:fixed;z-index:var(--z-modal);top:50%;left:50%;transform:translate(-50%,-50%);width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;background:var(--surface-overlay-bg);border:1px solid var(--surface-section-border);border-radius:var(--radius-3xl);box-shadow:var(--glass-shadow-xl);padding:20px 24px 16px;display:flex;flex-direction:column;gap:16px;animation:wr-popup-enter .16s var(--ease-out-expo)}@keyframes wr-popup-enter{0%{opacity:0;transform:translate(-50%,-50%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.wr-popup-header{display:flex;flex-direction:column;gap:12px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.08)}.wr-popup-vet{font-family:var(--font-display);font-weight:700;font-size:16px;color:var(--text-primary);letter-spacing:-.01em}.wr-popup-date{font-size:12px;color:var(--accent-text);font-weight:500;white-space:nowrap}.wr-popup-date-range{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.wr-popup-date-field{display:inline-flex;flex-direction:column;gap:4px;align-items:flex-start;flex:1 1 140px;min-width:0}.wr-popup-date-field__label{font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em}.wr-popup-date-arrow{color:var(--text-tertiary);font-size:14px;align-self:flex-end;padding-bottom:10px}.wr-popup-section{display:flex;flex-direction:column;gap:6px}.wr-popup-label{font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.6px}.wr-cell-inner[class*=-soft]{border-style:dashed;border-color:color-mix(in srgb,var(--text-primary) 55%,transparent)}.wr-popup-label{display:inline-flex;align-items:center;gap:6px}.wr-popup-info{display:inline-flex;color:var(--text-secondary);cursor:help;border-radius:50%}.wr-popup-info:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.wr-popup-check{display:flex;align-items:flex-start;gap:10px;min-height:28px;cursor:pointer}.wr-popup-check input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--accent-primary);cursor:pointer}.wr-popup-check input:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.wr-popup-check__text{display:flex;flex-direction:column;gap:2px}.wr-popup-check__label{font-size:13px;font-weight:600;color:var(--text-primary)}.wr-popup-check__hint{font-size:11px;color:var(--text-tertiary)}.wr-popup-help{font-size:11px;line-height:1.4;color:var(--text-tertiary);margin:-4px 0 0}.wr-popup-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.wr-popup-actions-right{display:flex;gap:8px;margin-left:auto}.wr-popup-btn{font-family:var(--font-body);font-size:13px;font-weight:600;min-height:36px;padding:8px 18px;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:background-color .14s var(--ease-default),color .14s var(--ease-default),transform .14s var(--ease-default),box-shadow .14s var(--ease-default),border-color .14s var(--ease-default)}.wr-popup-btn:focus-visible{outline:2px solid var(--accent-primary, var(--yellow-400));outline-offset:2px}.wr-popup-btn:active{transform:translateY(0)}.wr-popup-btn--primary{background:var(--yellow-400);color:var(--on-accent);border-color:color-mix(in srgb,var(--yellow-400) 55%,transparent);box-shadow:0 8px 24px #f5c5182e}.wr-popup-btn--primary:hover{background:var(--yellow-300);transform:translateY(-1px);box-shadow:0 12px 28px #f5c5183d;color:var(--on-accent)}.wr-popup-btn--ghost{background:#ffffff08;color:var(--text-secondary);border-color:var(--glass-border)}.wr-popup-btn--ghost:hover{color:var(--text-primary);background:#ffffff14;border-color:var(--glass-border-hover)}.wr-popup-btn--danger{background:color-mix(in srgb,var(--error-text) 10%,transparent);color:var(--danger-text);border-color:color-mix(in srgb,var(--error-text) 30%,transparent)}.wr-popup-btn--danger:hover{background:color-mix(in srgb,var(--error-text) 18%,transparent);color:#fecaca;border-color:color-mix(in srgb,var(--error-text) 50%,transparent)}.light-mode .wr-popup-btn--ghost{background:#00000005}.light-mode .wr-popup-btn--ghost:hover{background:#0000000f}.light-mode .wr-popup-btn--danger{background:color-mix(in srgb,var(--error-text) 6%,transparent);color:var(--danger-text)}.light-mode .wr-popup-btn--danger:hover{background:color-mix(in srgb,var(--error-text) 12%,transparent)}@media (max-width: 640px){.wr-name-header,.wr-name-cell{min-width:96px;font-size:13px;padding:10px!important}.wr-date-header{min-width:40px}.wr-cell{width:40px;height:44px;contain-intrinsic-size:40px 44px}.wr-date-num{font-size:16px}}@media (prefers-reduced-motion: reduce){.wr-popup{animation:none}.wr-cell,.wr-popup-btn{transition:none}}.rural-tab{display:flex;flex-direction:column;gap:20px}.rural-tab-legend{display:flex;gap:16px;flex-shrink:0}.rural-legend-item{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.4px}.rural-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.rural-legend-dot--canine{background:var(--gold-500)}.rural-legend-dot--rural{background:var(--blue-500)}.rural-mixer-list{display:flex;flex-direction:column;gap:12px}.rural-mixer{padding:16px 20px}.rural-mixer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.rural-mixer-name{font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--text-primary)}.rural-mixer-status{display:flex;align-items:center;width:20px;height:20px;justify-content:center}.rural-mixer-body{display:flex;flex-direction:column;gap:8px}.rural-mixer-labels{display:flex;align-items:center;justify-content:space-between}.rural-mixer-side{display:flex;align-items:baseline;gap:5px;min-width:70px}.rural-mixer-side--rural{justify-content:flex-end;text-align:right}.rural-mixer-pct{font-family:var(--font-display);font-size:18px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.rural-mixer-side--canine .rural-mixer-pct{color:var(--accent-text)}.rural-mixer-side--rural .rural-mixer-pct{color:var(--info-ink)}.rural-mixer-type{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary)}@media (max-width: 480px){.rural-mixer{padding:14px 16px}.rural-mixer-pct{font-size:15px}}.rd-tab{display:flex;flex-direction:column;gap:16px}.rd-list{display:flex;flex-direction:column;overflow-x:auto}.rd-row{display:grid;grid-template-columns:minmax(140px,1fr) 290px 290px 24px;align-items:center;gap:8px 24px;padding:8px 4px;min-width:780px;border-bottom:1px solid var(--border-color)}.rd-row:last-child{border-bottom:0}.rd-row--head{padding-top:0;font-size:12px;font-weight:600;color:var(--text-secondary)}.rd-row-name{font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--text-primary);overflow-wrap:anywhere}.as-tab{display:flex;flex-direction:column;gap:20px}.as-tab-legend{display:flex;gap:16px;flex-shrink:0;margin-top:14px}.as-legend-item{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.4px}.as-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.as-legend-dot--active{background:var(--blue-400)}.as-legend-dot--inactive{background:var(--text-tertiary);opacity:.4}.as-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}@media (max-width: 1100px){.as-columns{grid-template-columns:1fr}}.as-column{display:flex;flex-direction:column;gap:12px}.as-column-header{display:flex;align-items:center;gap:8px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.06)}.light-mode .as-column-header{border-bottom-color:#0000000f}.as-column-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.as-column-dot--gold{background:var(--gold-500)}.as-column-dot--blue{background:var(--blue-400)}.as-column-title{font-family:var(--font-display);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--text-secondary)}.as-empty{font-size:12px;color:var(--text-tertiary);font-style:italic;padding:8px 0;margin:0}.as-card-list{display:flex;flex-direction:column;gap:12px}.as-card{position:relative;border-radius:var(--surface-section-radius);border:1px solid var(--surface-section-border);background:var(--surface-section-bg);padding:12px 14px;box-shadow:var(--surface-section-shadow);transition:border-color var(--duration-quick) var(--ease-default),box-shadow var(--duration-quick) var(--ease-default)}.as-card:hover{border-color:var(--glass-border-hover);box-shadow:0 22px 46px #00000038,inset 0 1px #ffffff0d}.as-card--all{border-color:color-mix(in srgb,var(--blue-400) 28%,transparent)}.as-card--all:hover{border-color:color-mix(in srgb,var(--blue-400) 45%,transparent)}.as-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.as-card-name{font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.as-card-status{display:flex;align-items:center;width:18px;height:18px;justify-content:center;flex-shrink:0}.as-matrix{display:grid;grid-template-columns:minmax(64px,auto) repeat(var(--as-sites, 1),1fr) auto;gap:6px 10px;align-items:center}.as-matrix-head,.as-matrix-row{display:contents}.as-matrix-axis-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--text-tertiary);padding-right:6px}.as-matrix-site-name{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-bottom:4px;border-bottom:1px dashed rgba(255,255,255,.08);max-width:80px;margin-inline:auto}.light-mode .as-matrix-site-name{border-bottom-color:#00000014}.as-matrix-summary-head{content:""}.as-matrix-cell{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-inline:auto;border-radius:999px;border:1.5px solid rgba(255,255,255,.14);background:#ffffff06;cursor:pointer;padding:0;position:relative;transition:transform .12s var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1)),background .14s ease,border-color .14s ease,box-shadow .14s ease}.as-matrix-cell:after{content:"";width:10px;height:10px;border-radius:50%;background:#ffffff29;transition:background .14s ease,transform .14s ease}.as-matrix-cell:hover{border-color:#ffffff47;background:#ffffff0d}.as-matrix-cell:hover:after{background:#fff6}.as-matrix-cell:active{transform:scale(.92)}.as-matrix-cell:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.as-matrix-cell--active{border-color:#6395ff8c;background:linear-gradient(180deg,#6395ff38,#6395ff14);box-shadow:0 0 0 1px #6395ff2e inset,0 4px 14px #6395ff29}.as-matrix-cell--active:after{background:var(--blue-400);box-shadow:0 0 8px #6395ff99;transform:scale(1.05)}.as-matrix-cell--active:hover{border-color:#6395ffcc;background:linear-gradient(180deg,#6395ff52,#6395ff24)}.light-mode .as-matrix-cell{border-color:#0000001f;background:#00000008}.light-mode .as-matrix-cell:after{background:#0000002e}.light-mode .as-matrix-cell:hover{border-color:#0000003d;background:#0000000d}.light-mode .as-matrix-cell--active{border-color:#3666d48c;background:linear-gradient(180deg,#6395ff73,#6395ff38);box-shadow:0 0 0 1px #3666d440 inset}.light-mode .as-matrix-cell--active:after{background:#284da8}.as-matrix-summary{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:var(--text-secondary);font-size:10px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}.as-matrix-summary:hover:not(:disabled){border-color:#6395ff73;color:var(--blue-200);background:#6395ff14}.as-matrix-summary--all{border-color:#6395ff66;background:linear-gradient(180deg,#6395ff29,#6395ff0f);color:var(--blue-200);cursor:default}.as-matrix-summary:disabled{cursor:default}.light-mode .as-matrix-summary{background:#0000000a;border-color:#00000014;color:var(--text-secondary)}.light-mode .as-matrix-summary:hover:not(:disabled){background:#6395ff29;border-color:#3666d473;color:#1c377af2}.light-mode .as-matrix-summary--all{background:linear-gradient(180deg,#6395ff47,#6395ff24);border-color:#3666d480;color:#1c377af2}@media (prefers-reduced-motion: reduce){.as-card,.as-matrix-cell,.as-matrix-cell:after,.as-matrix-summary{transition:none}.as-matrix-cell:active{transform:none}}@media (max-width: 768px){.as-columns{grid-template-columns:1fr}}@media (max-width: 640px){.as-tab{overflow-x:hidden}.as-card{padding:10px 12px;overflow-x:auto;-webkit-overflow-scrolling:touch}.as-matrix-axis-label{font-size:9px}.as-matrix-site-name{max-width:48px;font-size:9px}.as-matrix-cell{width:40px;height:40px}.as-matrix-cell:after{width:10px;height:10px}}.hdp-tab{display:flex;flex-direction:column;gap:16px}.hdp-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:10px}.hdp-card{display:grid;grid-template-columns:minmax(0,1fr) auto 20px;align-items:center;gap:12px}.hdp-card-name{font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--text-primary);letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.hdp-status{display:flex;align-items:center;justify-content:center;width:20px;height:20px}.hdp-empty{padding:32px 20px;text-align:center;color:var(--text-tertiary);font-style:italic;background:var(--surface-item-bg);border:1px solid var(--surface-item-border);border-radius:var(--surface-item-radius);box-shadow:var(--surface-item-shadow)}@media (max-width: 480px){.hdp-card{grid-template-columns:1fr auto;grid-template-areas:"name   status" "choice choice";align-items:center}.hdp-card-name{grid-area:name}.hdp-status{grid-area:status}.hdp-choice{grid-area:choice}}.emoji-picker-wrapper{display:inline-flex}.emoji-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;background:#0000004d;animation:emoji-overlay-in .15s ease-out}@keyframes emoji-overlay-in{0%{opacity:0}to{opacity:1}}.emoji-picker-trigger{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:transparent;font-size:18px;cursor:pointer;transition:background-color .12s,border-color .12s;padding:0;line-height:1}.emoji-picker-trigger:hover{background:var(--bg-elevated);border-color:var(--gold-400)}.emoji-picker-popover{width:280px;background:var(--glass-bg-overlay);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow-xl, 0 8px 24px rgba(0, 0, 0, .3));overflow:hidden;animation:emoji-pop-in .15s ease-out}@keyframes emoji-pop-in{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.emoji-picker-tabs{display:flex;border-bottom:1px solid var(--border-light);padding:0 4px;gap:0}.emoji-picker-tab{flex:1;padding:7px 4px;border:none;background:transparent;color:var(--text-tertiary);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;cursor:pointer;border-bottom:2px solid transparent;transition:color .12s,border-color .12s}.emoji-picker-tab:hover{color:var(--text-secondary)}.emoji-picker-tab--active{color:var(--accent-text);border-bottom-color:var(--gold-400)}.emoji-picker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;padding:8px;max-height:200px;overflow-y:auto}.emoji-picker-cell{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:var(--radius-sm);font-size:18px;cursor:pointer;transition:background-color .1s,transform .1s;padding:0}.emoji-picker-cell:hover{background:var(--bg-elevated);transform:scale(1.15)}.emoji-picker-cell--selected{background:#c9a22726;box-shadow:0 0 0 1.5px var(--gold-400)}.emoji-picker-grid::-webkit-scrollbar{width:4px}.emoji-picker-grid::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}@media (prefers-reduced-motion: reduce){.emoji-picker-popover{animation:none}.emoji-picker-cell:hover{transform:none}}.subspec-panel{display:flex;flex-direction:column;gap:20px}.subspec-panel>.stg-panel:not(.subspec-matrix-panel),.subspec-panel>.stg-add-panel{max-width:900px}.subspec-header{display:flex;align-items:center;gap:12px}.subspec-status-area{display:flex;align-items:center}.subspec-status{font-size:11px;font-weight:600}.subspec-status.saving{display:inline-block;width:12px;height:12px;border:2px solid var(--text-tertiary);border-top-color:transparent;border-radius:50%;animation:subspec-spin .6s linear infinite}.subspec-status.saved{color:var(--success-text)}.subspec-status.error{color:var(--danger-text)}@keyframes subspec-spin{to{transform:rotate(360deg)}}.subspec-defs-panel{display:flex;flex-direction:column;gap:0}.subspec-category{padding-top:20px}.subspec-category:first-child{padding-top:0}.subspec-category+.subspec-category{margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08)}.subspec-category--disabled{opacity:.35;cursor:not-allowed}.subspec-category--disabled button,.subspec-category--disabled input,.subspec-category--disabled select{pointer-events:none}.subspec-cat-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.subspec-cat-emoji{font-size:18px}.subspec-cat-label{font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--text-primary)}.subspec-cat-count{font-size:11px;font-weight:500;color:var(--text-secondary);background:#ffffff0d;border:1px solid rgba(255,255,255,.08);padding:2px 8px;border-radius:999px;font-variant-numeric:tabular-nums}.subspec-empty{margin:0 0 8px;font-size:12px;color:var(--text-tertiary);font-style:italic}.subspec-chip-list{display:flex;flex-wrap:wrap;gap:10px}.subspec-chip-card{display:inline-flex;align-items:center;gap:10px;padding:10px 12px}.subspec-chip-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.08);background:#ffffff0d;font-size:18px;flex-shrink:0}.subspec-chip-body{min-width:0}.subspec-chip-name{font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subspec-chip-meta{margin-top:4px;display:flex;align-items:center;gap:6px}.subspec-chip-delete{margin-left:4px}.subspec-add-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.subspec-add-title{font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--text-primary)}.subspec-add-subtitle{margin-top:4px;font-size:12px;color:var(--text-tertiary)}.subspec-add-form{display:grid;gap:10px;grid-template-columns:1fr}@media (min-width: 768px){.subspec-add-form{grid-template-columns:160px auto 1fr auto}}.subspec-add-emoji{display:flex;align-items:center;justify-content:center}.subspec-add-name{flex:1}.subspec-matrix-panel{padding:20px 24px}.subspec-matrix-header{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}@media (min-width: 768px){.subspec-matrix-header{flex-direction:row;align-items:flex-end;justify-content:space-between}}.subspec-matrix-title{font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:-.03em;color:var(--text-primary);margin:0}.subspec-matrix-legend{display:flex;flex-wrap:wrap;gap:8px}.subspec-table-wrapper{overflow:hidden;border-radius:var(--radius-2xl);border:1px solid rgba(255,255,255,.08);background:#0000002e}.subspec-matrix{width:100%;border-collapse:collapse;font-size:13px}.subspec-matrix thead tr{border-bottom:1px solid rgba(255,255,255,.08)}.subspec-matrix th{text-align:center;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--text-tertiary);padding:14px 12px;white-space:nowrap}.subspec-matrix th.subspec-matrix-vet{text-align:left;min-width:180px;padding-left:16px}.subspec-matrix-emoji{display:block;font-size:16px;line-height:1.2}.subspec-matrix-abbr{display:block;font-size:10px;margin-top:2px;letter-spacing:.08em}.subspec-matrix tbody tr{border-bottom:1px solid rgba(255,255,255,.06);transition:background var(--duration-instant) var(--ease-default)}.subspec-matrix tbody tr:last-child{border-bottom:none}.subspec-matrix tbody tr:hover{background:#ffffff08}.subspec-matrix td{padding:10px 12px}.subspec-matrix td.subspec-matrix-vet{padding:12px 16px}.subspec-matrix-vet-name{font-size:15px;font-weight:500;color:var(--text-primary)}.subspec-matrix-cell{text-align:center}.subspec-toggle-icon{font-size:18px;line-height:1}.subspec-matrix--disabled{opacity:.35}@media (prefers-reduced-motion: reduce){.subspec-status.saving{animation:none;border-color:var(--text-tertiary)}}@media (max-width: 640px){.subspec-matrix-panel{padding:16px;overflow-x:hidden}.subspec-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.subspec-matrix th.subspec-matrix-vet,.subspec-matrix td.subspec-matrix-vet{min-width:96px;padding-left:10px}.subspec-matrix-vet-name{font-size:13px}.subspec-matrix th{padding:10px 8px}.subspec-matrix td{padding:8px}.subspec-chip-list{gap:8px}.subspec-editor-row{grid-template-columns:1fr}.subspec-vet-strip-track{flex-wrap:nowrap}}.subspec-radar{display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--surface-item-bg);border:1px solid var(--surface-item-border);border-radius:var(--surface-item-radius);box-shadow:var(--surface-item-shadow)}.subspec-radar--responsive{padding:.75rem}.subspec-radar--responsive>svg{width:100%;max-width:440px;height:auto;aspect-ratio:1 / 1;display:block}.subspec-editor{display:block}.subspec-editor>.subspec-sum-pill{margin-bottom:.75rem}.subspec-sum-pill{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-radius:var(--radius-xl);background:var(--glass-bg-overlay);border:1px solid var(--glass-border)}.subspec-sum-pill.ok{border-color:#4ade8066}.subspec-sum-pill.warn{border-color:#fbbf2466}.subspec-sum-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:var(--text-tertiary)}.subspec-sum-value{font-weight:600;color:var(--text-primary)}.subspec-sliders{display:flex;flex-direction:column;gap:.5rem}.subspec-slider-row{padding:.75rem;border-radius:var(--surface-item-radius);background:var(--surface-item-bg);border:1px solid var(--surface-item-border);box-shadow:var(--surface-item-shadow)}.subspec-slider-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.subspec-slider-name{font-weight:600;color:var(--text-primary);font-size:.9rem}.subspec-slider-hint{font-size:.7rem;color:var(--text-tertiary)}.subspec-slider-value{font-weight:700;color:var(--text-primary)}.subspec-slider-label-block{min-width:0;flex:1}.subspec-pct-input-wrap{display:inline-flex;align-items:baseline;gap:.2rem;flex-shrink:0}.subspec-pct-input{box-sizing:border-box;width:56px;padding:.3rem .4rem;border-radius:var(--radius-md);background:var(--glass-bg-overlay);border:1px solid var(--glass-border);color:var(--text-primary);font:inherit;font-weight:700;font-size:.95rem;text-align:right;font-variant-numeric:tabular-nums;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.subspec-pct-input::-webkit-outer-spin-button,.subspec-pct-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.subspec-pct-input:focus{outline:none;border-color:var(--accent-primary);background:var(--glass-bg)}.subspec-pct-suffix{font-weight:600;color:var(--text-secondary);font-size:.85rem}.subspec-pct-bar{margin-top:.5rem;height:4px;width:100%;border-radius:999px;background:var(--glass-bg-overlay);overflow:hidden}.subspec-pct-bar-fill{height:100%;background:var(--accent-primary);border-radius:999px;transition:width .2s var(--ease-out-expo)}.subspec-single-notice{color:var(--text-tertiary);font-size:.85rem;margin:0}.subspec-vet-strip{display:flex;flex-direction:column;gap:.75rem}.subspec-vet-strip-search{max-width:320px}.subspec-search-input{width:100%;padding:.5rem .75rem;border-radius:var(--radius-xl);background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-primary);box-sizing:border-box}.subspec-search-input:focus{outline:none;border-color:var(--accent-primary)}.subspec-vet-strip-track{display:flex;gap:.6rem;overflow-x:auto;padding:.25rem .25rem .75rem;scroll-snap-type:x proximity;scroll-padding-inline:.5rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.subspec-vet-strip-track::-webkit-scrollbar{height:6px}.subspec-vet-strip-track::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:999px}.subspec-vet-strip-track>.subspec-vet-card{flex:0 0 160px;scroll-snap-align:start}.subspec-vet-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;width:100%;text-align:center}.subspec-vet-card__chart{display:flex;align-items:center;justify-content:center;width:100%;min-height:120px}.subspec-vet-card__placeholder{width:110px;height:110px;border-radius:999px;background:var(--glass-bg-overlay);border:1px dashed var(--glass-border)}.subspec-vet-card__meta{display:flex;flex-direction:column;align-items:center;gap:.2rem;width:100%}.subspec-vet-card__name{font-weight:600;color:var(--text-primary);font-size:.85rem;line-height:1.1;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subspec-vet-card__dom{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--text-secondary);background:var(--glass-bg-overlay);padding:.1rem .45rem;border-radius:999px}.subspec-vet-card__dom-emoji{font-size:.95rem;line-height:1}.subspec-vet-card__dom-pct{font-weight:600;color:var(--text-secondary)}.subspec-vet-card__chips{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;width:100%}.subspec-vet-card__chip{display:inline-flex;align-items:center;gap:.2rem;padding:.1rem .4rem;border-radius:999px;background:var(--glass-bg-overlay);font-size:.7rem;font-variant-numeric:tabular-nums;line-height:1.4}.subspec-vet-card__chip-emoji{font-size:.85rem;line-height:1}.subspec-vet-card__chip-pct{font-weight:600;color:var(--text-secondary)}.subspec-radar.subspec-radar--compact{padding:0;background:transparent;border:none;box-shadow:none}.subspec-profile-section{display:flex;flex-direction:column;gap:1.25rem}.subspec-editor-row{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:1.5rem;align-items:start}.subspec-editor-row>*{min-width:0}@media (max-width: 900px){.subspec-editor-row{grid-template-columns:1fr}}.subspec-panel-center{display:block}.subspec-panel-center>.subspec-panel-vet-header,.subspec-panel-center>.subspec-radar,.subspec-panel-center>.subspec-gauges{margin-bottom:1rem}.subspec-panel-vet-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.subspec-panel-vet-header h3{color:var(--text-primary);margin:0}.subspec-panel-dominants{display:flex;gap:.5rem}.subspec-dominant-pill{padding:.5rem .75rem;border-radius:var(--radius-xl);background:var(--glass-bg);border:1px solid var(--glass-border);text-align:right}.subspec-dominant-name{font-size:.7rem;color:var(--text-tertiary)}.subspec-dominant-value{font-weight:700;color:var(--text-primary)}.subspec-solver-hint{font-size:.85rem;color:var(--text-secondary);background:var(--surface-item-bg);border:1px solid var(--surface-item-border);padding:.75rem;border-radius:var(--surface-item-radius);box-shadow:var(--surface-item-shadow)}.subspec-compact{padding:1rem;color:var(--text-tertiary);text-align:center}.subspec-save-state{font-size:.85rem;min-height:1.2rem;color:var(--text-tertiary)}.subspec-save-state.saved{color:#4ade80}.subspec-save-state.error{color:#fb7185}.subspec-gauges{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:var(--surface-item-bg);border:1px solid var(--surface-item-border);border-radius:var(--surface-item-radius);box-shadow:var(--surface-item-shadow)}.subspec-gauge-row{display:flex;flex-direction:column;gap:.4rem}.subspec-gauge-header{display:flex;justify-content:space-between;align-items:baseline}.subspec-gauge-name{font-weight:600;color:var(--text-primary);font-size:.9rem}.subspec-gauge-value{font-weight:700;color:var(--text-secondary);font-size:.85rem}.subspec-gauge-track{height:10px;border-radius:999px;background:var(--glass-bg-overlay);overflow:hidden}.subspec-gauge-fill{height:100%;background:var(--accent-primary);border-radius:999px;transition:width .2s var(--ease-out-expo)}.rt-tab{display:flex;flex-direction:column;gap:16px}.stg-panel.rt-header{margin-bottom:0}.rt-card-title{margin:0 0 4px;font-family:var(--section-title-font);font-size:var(--section-title-size);font-weight:var(--section-title-weight);letter-spacing:var(--section-title-tracking);text-transform:var(--section-title-case);color:var(--section-title-color)}.rt-list{border:0;padding:0;margin:0 0 16px;min-width:0;display:flex;flex-direction:column;gap:10px}.rt-empty{color:var(--text-tertiary);font-size:13px;margin:0 0 16px}.rt-error{color:var(--danger-text);font-size:13px;margin:0 0 12px}.rt-notice{color:var(--text-secondary);font-size:13px;margin:0 0 12px}.rt-list{overflow-x:auto;position:relative}.rt-table{width:100%;border-collapse:separate;border-spacing:0 8px}.rt-table th{padding:0 8px 4px;text-align:left;font-size:12px;font-weight:600;color:var(--text-secondary);white-space:nowrap}.rt-cell{padding:4px 8px;vertical-align:middle}.rt-cell--name{min-width:180px}.rt-cell--action{width:1%}.rt-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.rt-color{width:38px;height:38px;padding:3px;border:1px solid var(--glass-border);border-radius:10px;background:transparent;cursor:pointer}.rt-color::-webkit-color-swatch-wrapper{padding:0}.rt-color::-webkit-color-swatch{border:0;border-radius:7px}.rt-color::-moz-color-swatch{border:0;border-radius:7px}.rt-add{display:inline-flex;align-items:center;gap:6px;height:40px}.rt-add svg{flex:none}.rt-color:focus-visible,.rt-add:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.rt-params{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px 24px;margin-top:12px}.rt-param-control{display:flex;align-items:center;gap:12px}.rt-range{flex:1}.rt-value{min-width:2.5em;text-align:right;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary)}.rt-num{width:84px;text-align:right;font-variant-numeric:tabular-nums}.rt-param-switch{display:flex;align-items:center;gap:12px;min-height:44px}.rt-param-switch label{cursor:pointer}.rt-param-help{font-size:12px;color:var(--text-tertiary)}@media (max-width: 640px){.rt-row .mp-add-input,.rt-num{height:44px;font-size:16px}.rt-color{height:44px}}@media (prefers-reduced-motion: reduce){.rt-row,.rt-add{transition:none}}.light-mode .rt-error{color:var(--error-strong)}.rt-card--readonly .rt-table{opacity:.85}.rt-card--readonly .rt-delete,.rt-card--readonly .ui-stepper__btn{display:none}.rt-progress-mode,.rt-lunch{grid-column:1 / -1}.rt-lunch-fields{display:flex;flex-wrap:wrap;gap:12px 16px}.rt-lunch-field{display:flex;flex-direction:column;gap:6px;min-width:120px}.rt-lunch-field .mp-add-input{min-height:44px}.rt-time{color-scheme:dark;font-variant-numeric:tabular-nums}.light-mode .rt-time{color-scheme:light}.rt-tab .mp-add-label{text-transform:none;letter-spacing:0;font-size:13px;font-weight:600;color:var(--text-secondary)}.cl-title{display:flex;align-items:center;gap:10px}.cl-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px}.cl-search{position:relative;flex:1 1 240px}.cl-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.mp-add-input.cl-search-input{width:100%;padding-left:36px}.ss-sidebar-add.cl-add{height:38px;padding:0 16px;font-size:13px}.cl-add svg{flex:none}.cl-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.cl-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px;padding:12px 14px;border:1px solid var(--surface-item-border);border-radius:var(--surface-item-radius);background:var(--surface-item-bg);transition:border-color var(--duration-quick) var(--ease-default);content-visibility:auto;contain-intrinsic-size:auto 72px;box-shadow:var(--surface-item-shadow)}.cl-row:hover{border-color:var(--glass-border-hover)}.cl-row--readonly{align-items:center}.cl-cell{flex:1 1 200px;min-width:0}.cl-cell:first-child{flex-basis:180px}.cl-cell:nth-child(2){flex-grow:2}.cl-row-actions{display:flex;align-items:center;gap:8px;margin-left:auto;height:38px}.cl-row-actions .rt-delete{margin-left:0}.cl-readonly-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.cl-name{color:var(--text-primary);font-weight:600;font-size:14px}.cl-address{color:var(--text-secondary);font-size:13px;overflow-wrap:anywhere}.cl-geo{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px}.cl-geo--ok{color:var(--success-text)}.cl-geo--warn{color:var(--warning-text)}.cl-geo:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.cl-draft{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px;padding:14px;margin-bottom:12px;border:1px solid rgba(243,210,62,.35);border-radius:var(--radius-xl);background:linear-gradient(180deg,#f3d23e14,#f3d23e05)}.cl-draft-actions{display:flex;gap:8px;margin-left:auto}.light-mode .cl-draft{border-color:#be961e66;background:linear-gradient(180deg,#f3d23e29,#f3d23e0f)}.cl-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:28px 16px;text-align:center;color:var(--text-tertiary)}.cl-empty-title{margin:0;color:var(--text-primary);font-weight:600}.cl-empty-text{margin:0;font-size:13px;max-width:42ch}@media (max-width: 640px){.cl-cell,.cl-cell:first-child{flex:1 1 100%}.cl-row .mp-add-input,.cl-draft .mp-add-input,.mp-add-input.cl-search-input{height:44px;font-size:16px}.ss-sidebar-add.cl-add{height:44px;flex:1 1 100%;justify-content:center}.cl-row-actions{height:44px}.cl-geo{width:44px;height:44px}.cl-draft-actions{flex:1 1 100%}.cl-draft-actions .btn{flex:1}}@media (prefers-reduced-motion: reduce){.cl-row{transition:none}}.vmc{--vmc-radius: var(--surface-section-radius);--vmc-radius-sm: var(--surface-item-radius);--vmc-radius-xs: 6px;--vmc-gap: 8px;--vmc-gap-cell: 4px;--vmc-trans: .14s var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1));--vmc-surface-bg: var(--surface-section-bg);--vmc-surface-border: var(--surface-section-border);--vmc-surface-shadow: var(--surface-section-shadow);--vmc-cell-bg: linear-gradient( 180deg, rgba(255, 255, 255, .035), rgba(255, 255, 255, .015) );--vmc-cell-border: rgba(255, 255, 255, .08);--vmc-cell-weekend-bg: linear-gradient( 180deg, rgba(255, 255, 255, .02), rgba(255, 255, 255, .005) );display:flex;flex-direction:column;gap:var(--vmc-gap);padding:16px;border-radius:var(--vmc-radius);border:1px solid var(--vmc-surface-border);background:var(--vmc-surface-bg);box-shadow:var(--vmc-surface-shadow)}.vmc-header{display:flex;align-items:center;gap:8px}.vmc-month-label{flex:1;margin:0;font-size:16px;font-weight:600;letter-spacing:.01em;color:var(--text-primary);text-align:center}.vmc-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--vmc-gap-cell)}.vmc-weekday{padding:6px 0;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);text-align:center}.vmc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--vmc-gap-cell)}.vmc-cell{display:flex;flex-direction:column;gap:4px;padding:6px;min-height:92px;border-radius:var(--vmc-radius-sm);background:var(--vmc-cell-bg);border:1px solid var(--vmc-cell-border)}.vmc-cell--weekend{background:var(--vmc-cell-weekend-bg)}.vmc-cell--blank{background:transparent;border-color:transparent}.vmc-day-num{font-size:11px;font-weight:600;color:var(--text-secondary);padding-left:2px;line-height:1}.vmc-halfdays{display:flex;flex-direction:column;gap:3px;flex:1}.vmc-halfday{flex:1;min-height:16px;display:flex;align-items:center;justify-content:center;padding:0 4px;border-radius:var(--vmc-radius-xs);border:1px solid transparent;background:transparent;font-family:inherit;font-size:9px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;color:var(--text-tertiary);transition:background var(--vmc-trans),color var(--vmc-trans),border-color var(--vmc-trans),transform var(--vmc-trans),box-shadow var(--vmc-trans)}.vmc-halfday-label{display:inline-block;opacity:.55}.vmc-halfday:hover:not(:disabled){background:#ffffff0f;border-color:#ffffff1f;color:var(--text-secondary)}.vmc-halfday:active:not(:disabled){transform:scale(.97)}.vmc-halfday:focus-visible{outline:2px solid var(--accent-primary);outline-offset:1px;z-index:1}.vmc-halfday:disabled{cursor:not-allowed}.vmc-halfday--free .vmc-halfday-label{opacity:.5}.vmc-halfday--assigned{background:linear-gradient(180deg,var(--yellow-400),var(--yellow-500));border-color:var(--yellow-500);color:var(--on-accent);box-shadow:inset 0 1px #ffffff59,0 2px 6px #eec52f33}.vmc-halfday--assigned .vmc-halfday-label{opacity:1}.vmc-halfday--assigned:hover:not(:disabled){background:linear-gradient(180deg,var(--yellow-300),var(--yellow-400));border-color:var(--yellow-400);color:var(--on-accent)}.vmc-halfday--off{background:repeating-linear-gradient(-45deg,#ffffff0a,#ffffff0a 4px,#ffffff14 4px,#ffffff14 8px);border-color:#ffffff0f;color:var(--text-tertiary)}.vmc-halfday--off .vmc-halfday-label{opacity:.4}.vmc-halfday--pending{background:#eec52f2e;border:1px dashed var(--yellow-400);color:var(--accent-text)}.vmc-halfday--pending .vmc-halfday-label{opacity:1}.vmc-halfday--pending:hover:not(:disabled){background:#eec52f42;border-color:var(--yellow-300)}.vmc-halfday--composing{background:#eec52f14;border:2px solid var(--yellow-400);color:var(--accent-text);box-shadow:0 0 0 2px #f3d23e2e,0 4px 12px #eec52f2e}.vmc-halfday--composing .vmc-halfday-label{opacity:1}.vmc-halfday--composing:hover:not(:disabled){background:#eec52f24;border-color:var(--yellow-300)}.light-mode .vmc{--vmc-surface-bg: var(--surface-section-bg);--vmc-surface-border: var(--surface-section-border);--vmc-surface-shadow: var(--surface-section-shadow);--vmc-cell-bg: linear-gradient( 180deg, rgba(255, 255, 255, .6), rgba(255, 255, 255, .3) );--vmc-cell-border: rgba(35, 31, 29, .08);--vmc-cell-weekend-bg: linear-gradient( 180deg, rgba(35, 31, 29, .03), rgba(35, 31, 29, .01) )}.light-mode .vmc-halfday:hover:not(:disabled){background:#231f1d0a;border-color:#231f1d1a}.light-mode .vmc-halfday--off{background:repeating-linear-gradient(-45deg,#231f1d08,#231f1d08 4px,#231f1d0f 4px,#231f1d0f 8px);border-color:#231f1d14;color:var(--text-secondary)}.light-mode .vmc-halfday--pending{background:#eec52f38;border-color:var(--yellow-500);color:var(--accent-text)}.light-mode .vmc-halfday--composing{background:#eec52f1f;border-color:var(--yellow-500);color:var(--accent-text);box-shadow:0 0 0 2px #eec52f38,0 4px 12px #eec52f26}@media (max-width: 640px){.vmc{padding:10px;--vmc-gap-cell: 3px}.vmc-weekdays,.vmc-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.vmc-cell{min-height:64px;padding:4px}.vmc-halfday{min-height:36px;font-size:11px;width:100%;padding:0 2px}.vmc-weekday{font-size:11px;letter-spacing:.04em}}@media (max-width: 480px){.vmc{padding:8px;--vmc-gap-cell: 2px}.vmc-cell{min-height:56px;padding:3px;gap:2px}.vmc-day-num{font-size:.6875rem;padding-left:1px}.vmc-halfdays{gap:2px}.vmc-halfday{min-height:36px;font-size:0}.vmc-weekday{font-size:0;letter-spacing:0}.vmc-weekday:after{content:attr(data-short);font-size:11px;font-weight:700;letter-spacing:0;text-transform:uppercase}}@media (prefers-reduced-motion: reduce){.vmc-halfday{transition:none}.vmc-halfday:active:not(:disabled){transform:none}}.lrc{--lrc-radius: var(--surface-section-radius);--lrc-radius-sm: var(--surface-item-radius);--lrc-radius-xs: 8px;--lrc-gap: 12px;--lrc-trans: .14s cubic-bezier(.34, 1.56, .64, 1);--lrc-surface-bg: var(--surface-overlay-bg);--lrc-surface-border: var(--surface-section-border);--lrc-surface-shadow: var(--glass-shadow-lg);--lrc-pill-bg: linear-gradient( 180deg, rgba(255, 255, 255, .04), rgba(255, 255, 255, .015) );--lrc-pill-border: rgba(255, 255, 255, .08);position:fixed;left:50%;bottom:16px;transform:translate(-50%);width:min(680px,calc(100vw - 32px));z-index:90;display:flex;flex-direction:column;gap:var(--lrc-gap);padding:14px 16px;border-radius:var(--lrc-radius);border:1px solid var(--lrc-surface-border);background:var(--lrc-surface-bg);-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%);box-shadow:var(--lrc-surface-shadow);animation:lrc-slide-up .16s cubic-bezier(.2,.9,.3,1) both}@keyframes lrc-slide-up{0%{transform:translate(-50%,120%);opacity:0}to{transform:translate(-50%);opacity:1}}@media (prefers-reduced-motion: reduce){.lrc{animation:none}}.lrc-row{display:flex;align-items:center;gap:var(--lrc-gap)}.lrc-row--top{justify-content:space-between;flex-wrap:wrap}.lrc-row--actions{justify-content:flex-end}.lrc-count{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.lrc-count-label{color:var(--text-primary);font-weight:500}.lrc-note-label{position:relative;display:block;width:100%}.lrc-note{width:100%;resize:vertical;min-height:44px;max-height:140px;padding:10px 56px 10px 12px;border-radius:var(--lrc-radius-sm);background:#ffffff08;border:1px solid var(--lrc-pill-border);color:var(--text-primary);font-size:13px;font-family:inherit;line-height:1.5;transition:border-color var(--lrc-trans),background var(--lrc-trans)}.lrc-note::placeholder{color:var(--text-tertiary)}.lrc-note:hover{background:#ffffff0b}.lrc-note:focus{outline:none;background:#ffffff0d;border-color:var(--yellow-400);box-shadow:0 0 0 3px #eec52f26}.lrc-note-counter{position:absolute;right:10px;bottom:8px;font-size:11px;color:var(--text-tertiary);font-variant-numeric:tabular-nums;pointer-events:none}.lrc-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:8px 18px;border-radius:var(--lrc-radius-sm);font-size:13px;font-weight:600;cursor:pointer;transition:background var(--lrc-trans),border-color var(--lrc-trans),transform var(--lrc-trans),box-shadow var(--lrc-trans)}.lrc-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.lrc-btn:active{transform:scale(.98)}.lrc-btn--ghost{background:transparent;border:1px solid var(--lrc-pill-border);color:var(--text-secondary)}.lrc-btn--ghost:hover{background:#ffffff0a;border-color:#ffffff2e;color:var(--text-primary)}.lrc-btn--primary{background:var(--yellow-400);border:1px solid var(--yellow-500);color:var(--on-accent);box-shadow:0 8px 20px #eec52f47}.lrc-btn--primary:hover{background:var(--yellow-300);box-shadow:0 10px 24px #eec52f5c;color:var(--on-accent)}.lrc-btn-count{font-size:11px;font-weight:500;opacity:.7;padding-left:6px;border-left:1px solid rgba(0,0,0,.18)}.light-mode .lrc{--lrc-surface-bg: var(--surface-overlay-bg);--lrc-surface-border: var(--surface-section-border);--lrc-surface-shadow: var(--glass-shadow-lg);--lrc-pill-bg: linear-gradient( 180deg, rgba(35, 31, 29, .04), rgba(35, 31, 29, .015) );--lrc-pill-border: rgba(35, 31, 29, .1)}.light-mode .lrc-note{background:#ffffffb3;border-color:#231f1d1f}.light-mode .lrc-note:hover{background:#ffffffe6}.light-mode .lrc-note:focus{background:#fff;border-color:var(--yellow-500);box-shadow:0 0 0 3px #eec52f38}.light-mode .lrc-btn--ghost{border-color:#231f1d24;color:var(--text-secondary)}.light-mode .lrc-btn--ghost:hover{background:#231f1d0a;border-color:#231f1d38}@media (max-width: 520px){.lrc{width:calc(100vw - 16px);bottom:8px;padding:12px;border-radius:14px}.lrc-row--top{flex-direction:column;align-items:stretch}.lrc-btn{flex:1;padding:8px 12px}.lrc-btn-count{display:none}}.vrl{--vrl-radius: 14px;--vrl-radius-sm: 10px;--vrl-radius-xs: 6px;--vrl-gap: 8px;--vrl-trans: .14s var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1));--vrl-item-bg: var(--glass-glaze);--vrl-item-bg-hover: linear-gradient( 180deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .03) );--vrl-item-border: rgba(255, 255, 255, .1);--vrl-item-border-hover: rgba(255, 255, 255, .18);--vrl-item-shadow: 0 4px 14px rgba(0, 0, 0, .14), inset 0 1px 0 rgba(255, 255, 255, .05);--vrl-item-shadow-hover: 0 10px 26px rgba(0, 0, 0, .22), inset 0 1px 0 rgba(255, 255, 255, .07);--vrl-pending-bg: rgba(238, 197, 47, .22);--vrl-pending-border: var(--yellow-400);--vrl-pending-fg: var(--yellow-300);--vrl-approved-bg: rgba(80, 200, 140, .2);--vrl-approved-border: rgba(80, 200, 140, .5);--vrl-approved-fg: rgb(150, 230, 190);--vrl-rejected-bg: rgba(220, 90, 90, .18);--vrl-rejected-border: rgba(220, 90, 90, .46);--vrl-rejected-fg: rgb(245, 170, 170);list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--vrl-gap)}.vrl-empty{display:flex;align-items:center;justify-content:center;min-height:80px;padding:20px 16px;border-radius:var(--vrl-radius);background:linear-gradient(180deg,#ffffff06,#ffffff03);border:1px dashed rgba(255,255,255,.1);color:var(--text-tertiary);font-size:13px;text-align:center}.vrl-item{display:grid;grid-template-columns:minmax(120px,max-content) 1fr auto auto;align-items:center;gap:12px;padding:10px 14px;min-height:52px;border-radius:var(--vrl-radius-sm);background:var(--vrl-item-bg);border:1px solid var(--vrl-item-border);box-shadow:var(--vrl-item-shadow);transition:background var(--vrl-trans),border-color var(--vrl-trans),box-shadow var(--vrl-trans),transform var(--vrl-trans)}.vrl-item:hover{background:var(--vrl-item-bg-hover);border-color:var(--vrl-item-border-hover);box-shadow:var(--vrl-item-shadow-hover);transform:translateY(-1px)}.vrl-kind{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap}.vrl-kind:before{content:"";display:inline-block;width:6px;height:6px;border-radius:999px;background:var(--text-tertiary)}.vrl-kind--off:before{background:var(--yellow-400)}.vrl-kind--work:before{background:#78c3f0}.vrl-kind--rest:before{background:var(--success-300)}.vrl-dates{font-size:12px;color:var(--text-secondary);font-variant-numeric:tabular-nums;letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vrl-status{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:3px 10px;border-radius:999px;border:1px solid transparent;font-size:11px;font-weight:600;letter-spacing:.03em;white-space:nowrap}.vrl-status--pending{background:var(--vrl-pending-bg);border-color:var(--vrl-pending-border);color:var(--vrl-pending-fg)}.vrl-status--approved{background:var(--vrl-approved-bg);border-color:var(--vrl-approved-border);color:var(--vrl-approved-fg)}.vrl-status--rejected{background:var(--vrl-rejected-bg);border-color:var(--vrl-rejected-border);color:var(--vrl-rejected-fg)}.vrl-action{display:inline-flex;align-items:center;justify-content:flex-end;min-width:0}.vrl-cancel-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 12px;border-radius:var(--vrl-radius-sm);background:transparent;border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);font-family:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:background var(--vrl-trans),color var(--vrl-trans),border-color var(--vrl-trans),transform var(--vrl-trans)}.vrl-cancel-btn:hover{background:#dc5a5a1f;border-color:#dc5a5a6b;color:#f5aaaa}.vrl-cancel-btn:active{transform:scale(.97)}.vrl-cancel-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.light-mode .vrl{--vrl-item-bg: linear-gradient( 180deg, rgba(255, 255, 255, .88), rgba(255, 255, 255, .62) );--vrl-item-bg-hover: linear-gradient( 180deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, .82) );--vrl-item-border: rgba(35, 31, 29, .1);--vrl-item-border-hover: rgba(35, 31, 29, .18);--vrl-item-shadow: 0 4px 14px rgba(0, 0, 0, .05), inset 0 1px 0 rgba(255, 255, 255, .55);--vrl-item-shadow-hover: 0 10px 26px rgba(0, 0, 0, .08), inset 0 1px 0 rgba(255, 255, 255, .7);--vrl-pending-bg: rgba(238, 197, 47, .26);--vrl-pending-border: var(--yellow-500);--vrl-pending-fg: var(--yellow-700);--vrl-approved-bg: rgba(40, 150, 95, .16);--vrl-approved-border: rgba(40, 150, 95, .46);--vrl-approved-fg: rgb(30, 110, 70);--vrl-rejected-bg: rgba(200, 60, 60, .14);--vrl-rejected-border: rgba(200, 60, 60, .46);--vrl-rejected-fg: rgb(160, 40, 40)}.light-mode .vrl-empty{background:linear-gradient(180deg,#231f1d08,#231f1d03);border-color:#231f1d1f;color:var(--text-tertiary)}.light-mode .vrl-cancel-btn{border-color:#231f1d1f;color:var(--text-secondary)}.light-mode .vrl-cancel-btn:hover{background:#c83c3c14;border-color:#c83c3c6b;color:#a02828}@media (max-width: 560px){.vrl-item{grid-template-columns:1fr auto;grid-template-areas:"kind   status" "dates  action";row-gap:6px;padding:10px 12px}.vrl-kind{grid-area:kind}.vrl-dates{grid-area:dates;font-size:11px}.vrl-status{grid-area:status;justify-self:end}.vrl-action{grid-area:action;justify-self:end}.vrl-cancel-btn{min-height:36px;padding:6px 14px}}@media (prefers-reduced-motion: reduce){.vrl-item,.vrl-cancel-btn{transition:none}.vrl-item:hover,.vrl-cancel-btn:active{transform:none}}.vet-cal-view{max-width:720px;margin:0 auto;padding:24px 16px 140px;display:flex;flex-direction:column;gap:20px}.vcv-header{display:flex;flex-direction:column;gap:14px;padding:18px 20px;border-radius:var(--surface-section-radius);border:1px solid var(--surface-section-border);background:var(--surface-section-bg);box-shadow:var(--surface-section-shadow);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}@media (min-width: 540px){.vcv-header{flex-direction:row;align-items:center;justify-content:space-between;gap:24px}}.vcv-header-titles{display:flex;flex-direction:column;gap:4px;min-width:0}.vcv-title{margin:0;font-size:1.4rem;font-weight:600;letter-spacing:-.01em;color:inherit}.vcv-subtitle{margin:0;font-size:.85rem;color:var(--text-secondary);line-height:1.4}.vcv-month-picker{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-xl);border:1px solid var(--glass-border);background:var(--glass-bg);transition:border-color var(--duration-instant) ease,background-color var(--duration-instant) ease}.vcv-month-picker:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 3px #f5b9422e}.vcv-month-picker-label{font-size:.78rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.vcv-month-input{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:none;background:transparent;color:inherit;font:inherit;font-size:.9rem;font-weight:500;padding:0;min-width:130px;cursor:pointer}.vcv-month-input:focus-visible{outline:none;box-shadow:0 0 0 2px var(--accent-primary);border-radius:var(--radius-sm, 4px)}.vcv-month-input::-webkit-calendar-picker-indicator{filter:invert(.8);cursor:pointer;opacity:.7;transition:opacity .14s ease}.vcv-month-input::-webkit-calendar-picker-indicator:hover{opacity:1}.vcv-error{padding:12px 16px;border-radius:var(--radius-xl);border:1px solid var(--error-border);background:var(--error-bg);color:var(--danger-text);font-size:.9rem}.vcv-hint{display:flex;align-items:flex-start;gap:8px;margin:0;padding:10px 14px;border-radius:var(--surface-item-radius);border:1px solid var(--surface-item-border);background:var(--surface-item-bg);color:var(--text-secondary);font-size:.82rem;line-height:1.45;box-shadow:var(--surface-item-shadow)}.vcv-hint svg{flex:0 0 auto;margin-top:2px;color:var(--accent-text)}.vcv-calendar,.vcv-requests{display:flex;flex-direction:column;gap:12px}.vcv-section-title{margin:0;font-size:1.05rem;font-weight:600;letter-spacing:-.005em;color:inherit}.light-mode .vcv-month-input::-webkit-calendar-picker-indicator{filter:none;opacity:.55}.light-mode .vcv-month-input::-webkit-calendar-picker-indicator:hover{opacity:.85}@media (max-width: 540px){.vet-cal-view{padding:16px 12px 100px;gap:16px;overflow-x:hidden}.vcv-header{padding:14px 16px;gap:10px}.vcv-title{font-size:1.2rem}.vcv-month-picker{width:100%;box-sizing:border-box;justify-content:space-between}.vcv-month-input{flex:1;min-width:0}.vcv-hint{font-size:.78rem;padding:8px 12px}}@media (max-width: 400px){.vet-cal-view{padding:12px 8px 96px}.vcv-header{padding:12px}}@media (prefers-reduced-motion: reduce){.vcv-month-picker{transition:none}.vcv-month-input::-webkit-calendar-picker-indicator{transition:none}}.mvp-container{display:flex;flex-direction:column;gap:24px}@media (max-width: 768px){.mvp-container{max-width:100%;overflow-x:auto}}.mvp-header{display:flex;flex-direction:column;gap:2px}.mvp-name{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--text-primary);margin:0}.mvp-subtitle{font-size:var(--text-sm);color:var(--text-tertiary)}.mvp-empty{color:var(--text-tertiary);text-align:center;padding:40px 0}.mvp-section{margin-top:0}.mvp-section-title{font-size:14px;font-weight:700;color:var(--text-primary);margin:0 0 10px}.ct-tab{display:flex;flex-direction:column;gap:20px;max-width:880px}.ct-panel{display:flex;flex-direction:column;gap:16px}.ct-panel-header{display:flex;flex-direction:column;gap:4px}.ct-panel-title{margin:0;font-family:var(--section-title-font);font-size:var(--section-title-size);font-weight:var(--section-title-weight);letter-spacing:var(--section-title-tracking);text-transform:var(--section-title-case);color:var(--section-title-color);display:inline-flex;align-items:center;gap:10px}.ct-panel-sub{margin:0;font-size:13px;line-height:1.5;color:var(--text-secondary)}.ct-count{display:inline-grid;place-items:center;min-width:24px;height:22px;padding:0 8px;border-radius:999px;background:#ffffff0f;border:1px solid var(--glass-border);font-family:var(--font-body);font-size:11px;font-weight:600;color:var(--text-secondary)}.ct-form{display:grid;grid-template-columns:1fr;gap:14px}@media (min-width: 720px){.ct-form{grid-template-columns:1.2fr 1fr 1.2fr auto;align-items:end;gap:12px}}.ct-field{display:flex;flex-direction:column;gap:6px;min-width:0}.ct-field--submit{align-self:stretch}@media (min-width: 720px){.ct-field--submit{align-self:end}}.ct-label{font-family:var(--font-display);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--text-tertiary)}.ct-input{width:100%;height:44px;padding:0 14px;font-family:var(--font-body);font-size:14px;color:var(--text-primary);background:#ffffff0a;border:1px solid var(--glass-border);border-radius:var(--radius-lg);transition:border-color .14s var(--ease-default),background .14s var(--ease-default),box-shadow .14s var(--ease-default);-webkit-appearance:none;-moz-appearance:none;appearance:none}.ct-input::placeholder{color:var(--text-tertiary)}.ct-input:hover{border-color:var(--glass-border-hover)}.ct-input:focus-visible{outline:none;border-color:var(--yellow-500);box-shadow:0 0 0 3px color-mix(in srgb,var(--yellow-500) 24%,transparent)}.ct-submit{height:44px;min-width:140px;padding:0 20px;font-family:var(--font-body);font-size:13px;font-weight:700;color:var(--on-accent);background:var(--yellow-500);border:1px solid color-mix(in srgb,var(--yellow-500) 60%,transparent);border-radius:var(--radius-lg);cursor:pointer;box-shadow:0 10px 24px color-mix(in srgb,var(--yellow-500) 18%,transparent);transition:transform .14s var(--ease-default),box-shadow .14s var(--ease-default),background .14s var(--ease-default)}.ct-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 30px color-mix(in srgb,var(--yellow-500) 24%,transparent)}.ct-submit:focus-visible{outline:2px solid var(--yellow-300);outline-offset:2px}.ct-submit:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.ct-error{grid-column:1 / -1;padding:10px 14px;font-size:13px;color:var(--danger-text);background:color-mix(in srgb,var(--error-text) 14%,transparent);border:1px solid color-mix(in srgb,var(--error-text) 28%,transparent);border-radius:var(--radius-lg)}.ct-empty{padding:28px 16px;border-radius:var(--surface-item-radius);border:1px solid var(--surface-item-border);text-align:center;font-size:13px;color:var(--text-secondary);background:var(--surface-item-bg);box-shadow:var(--surface-item-shadow)}.ct-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.ct-member{display:grid;grid-template-columns:44px 1fr auto auto auto;align-items:center;gap:14px;padding:12px 14px;border-radius:var(--surface-item-radius);border:1px solid var(--surface-item-border);background:var(--surface-item-bg);transition:border-color .14s var(--ease-default),background .14s var(--ease-default),transform .14s var(--ease-default);box-shadow:var(--surface-item-shadow)}.ct-member:hover{border-color:var(--surface-item-border-hover);background:var(--surface-item-bg-hover)}.ct-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-display);font-size:14px;font-weight:700;letter-spacing:.04em;border:1px solid var(--glass-border);background:#ffffff0d;color:var(--text-primary)}.ct-avatar--vet{background:linear-gradient(135deg,color-mix(in srgb,var(--yellow-500) 28%,transparent),color-mix(in srgb,var(--yellow-300) 12%,transparent));color:var(--accent-text);border-color:color-mix(in srgb,var(--yellow-500) 30%,transparent)}.ct-avatar--asv{background:linear-gradient(135deg,color-mix(in srgb,var(--blue-400) 28%,transparent),color-mix(in srgb,var(--blue-200) 12%,transparent));color:var(--blue-200);border-color:color-mix(in srgb,var(--blue-400) 32%,transparent)}.ct-info{display:flex;flex-direction:column;gap:2px;min-width:0}.ct-name{font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ct-email{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ct-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.ct-invite-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 14px;border-radius:var(--radius-lg);font-family:var(--font-body);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:transform .14s var(--ease-default),box-shadow .14s var(--ease-default),background .14s var(--ease-default),opacity .14s var(--ease-default)}.ct-invite-btn--not_invited{color:var(--on-accent);background:var(--yellow-500);border:1px solid color-mix(in srgb,var(--yellow-500) 60%,transparent);box-shadow:0 6px 16px color-mix(in srgb,var(--yellow-500) 18%,transparent)}.ct-invite-btn--not_invited:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 22px color-mix(in srgb,var(--yellow-500) 26%,transparent)}.ct-invite-btn--invited{color:var(--accent-text);background:color-mix(in srgb,var(--yellow-500) 10%,transparent);border:1px solid color-mix(in srgb,var(--yellow-500) 30%,transparent);box-shadow:none}.ct-invite-btn--invited:hover:not(:disabled){background:color-mix(in srgb,var(--yellow-500) 18%,transparent);border-color:color-mix(in srgb,var(--yellow-500) 45%,transparent)}.ct-invite-btn--active{color:var(--text-tertiary);background:#ffffff0a;border:1px solid var(--glass-border);box-shadow:none;cursor:default}.ct-invite-btn:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}.ct-invite-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}@media (max-width: 720px){.ct-member{grid-template-columns:44px 1fr auto;grid-template-areas:"avatar info    remove" "avatar chips   chips" "avatar invite  invite";row-gap:6px}.ct-avatar{grid-area:avatar}.ct-info{grid-area:info}.ct-chips{grid-area:chips}.ct-invite-btn{grid-area:invite;justify-self:start}.ct-remove{grid-area:remove}}.light-mode .ct-input{background:#ffffffeb}.light-mode .ct-avatar--vet{color:var(--accent-text)}.light-mode .ct-avatar--asv{color:var(--blue-700)}.light-mode .ct-invite-btn--invited{color:var(--accent-text)}.light-mode .ct-invite-btn--active{color:var(--text-secondary);background:#0000000a;border-color:#0000001f}@media (prefers-reduced-motion: reduce){.ct-input,.ct-submit,.ct-member,.ct-invite-btn{transition:none}}.cabinet-admin{display:flex;flex-direction:column;gap:16px}.cabinet-admin .stg-panel{margin-bottom:0}.cabinet-admin__card{display:flex;flex-direction:column;gap:16px}.cabinet-admin__card--danger{border-color:color-mix(in srgb,var(--error-text) 35%,transparent)}.cabinet-admin__row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.cabinet-admin__row+.cabinet-admin__row{padding-top:16px;border-top:1px solid var(--surface-divider)}.cabinet-admin__text{flex:1 1 260px;min-width:0}.cabinet-admin__title{margin:0;font-size:15px;font-weight:600;color:var(--text-primary)}.cabinet-admin__desc{margin:4px 0 0;font-size:13px;line-height:1.5;color:var(--text-secondary)}.upgrade-prompt__body{margin:0;font-size:.9rem;line-height:1.5;color:var(--text-secondary)}.module-preview-trigger{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:4px;padding:0;background:none;border:none;border-radius:50%;color:var(--text-tertiary);cursor:help;transition:color var(--duration-instant) var(--ease-default),background var(--duration-instant) var(--ease-default);flex-shrink:0}.module-preview-trigger:hover,.module-preview-trigger:focus-visible{color:var(--accent-text);background:var(--state-hover-bg)}.module-preview-trigger:focus-visible{outline:2px solid var(--accent-primary);outline-offset:1px}.module-preview-popover{position:fixed;z-index:var(--z-modal);width:760px;max-width:calc(100vw - 16px);padding:18px 20px 20px;background:var(--surface-overlay-bg);border:1px solid var(--surface-section-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);animation:module-preview-fade-in .12s ease-out}.module-preview-popover--right,.module-preview-popover--left{transform:translateY(-50%)}.module-preview-popover--below{width:calc(100vw - 16px)}@keyframes module-preview-fade-in{0%{opacity:0}to{opacity:1}}.module-preview-header{margin-bottom:14px}.module-preview-title{font-family:var(--font-display, var(--font-body));font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.module-preview-subtitle{font-size:12px;color:var(--text-tertiary);line-height:1.4}.module-preview-grids{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.module-preview-grid{background:#ffffff05;border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:10px}.module-preview-grid--before{border-color:color-mix(in srgb,var(--yellow-400) 35%,transparent)}.module-preview-grid--after{border-color:color-mix(in srgb,var(--blue-400) 35%,transparent)}.module-preview-grid-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;text-align:center}.module-preview-grid--before .module-preview-grid-label{color:var(--accent-text)}.module-preview-grid--after .module-preview-grid-label{color:var(--info-ink)}.module-preview-cells{display:grid;gap:3px;align-items:center}.module-preview-corner{min-width:70px}.module-preview-day{font-size:11px;color:var(--text-tertiary);text-align:center;font-weight:600;letter-spacing:.02em}.module-preview-vet{font-size:12px;color:var(--text-secondary);text-align:right;padding-right:8px;font-weight:500;white-space:nowrap}.module-preview-cell{height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:11px;font-weight:600;color:var(--text-secondary);border:1.5px solid transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px;transition:none}.module-preview-cell--empty{background:#ffffff05}.module-preview-cell--oncall{background:color-mix(in srgb,var(--blue-400) 22%,transparent);color:var(--blue-200)}.module-preview-cell--canine{background:color-mix(in srgb,var(--yellow-400) 18%,transparent);color:var(--accent-text)}.module-preview-cell--rural{background:color-mix(in srgb,var(--yellow-300) 14%,transparent);color:var(--accent-text)}.module-preview-cell--off{background:#94a3b81a;color:var(--text-secondary)}.module-preview-cell--label-siteA{background:color-mix(in srgb,var(--yellow-400) 22%,transparent);color:var(--yellow-200)}.module-preview-cell--label-siteB{background:color-mix(in srgb,var(--blue-400) 22%,transparent);color:var(--blue-200)}.module-preview-cell--label-surgery{background:color-mix(in srgb,var(--accent-purple) 25%,transparent);color:color-mix(in srgb,var(--accent-purple) 70%,white)}.module-preview-cell--bad{border-color:var(--yellow-500);box-shadow:0 0 0 2px color-mix(in srgb,var(--yellow-400) 35%,transparent)}.module-preview-cell--good{border-color:var(--blue-400);box-shadow:0 0 0 2px color-mix(in srgb,var(--blue-400) 35%,transparent)}.module-preview-explanation{margin:0;padding:10px 12px;background:#ffffff06;border-left:3px solid var(--blue-400);border-radius:0 var(--radius-sm, 4px) var(--radius-sm, 4px) 0;font-size:12.5px;line-height:1.5;color:var(--text-secondary)}.module-picker{display:flex;align-items:center}.module-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;background:#0000004d;animation:module-picker-overlay-in .15s ease-out}@keyframes module-picker-overlay-in{0%{opacity:0}to{opacity:1}}.module-picker-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:32px;background:none;border:1px dashed var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--duration-instant) var(--ease-default)}.module-picker-btn:hover:not(.disabled){color:var(--accent-text);border-color:var(--accent-primary);background:var(--bg-elevated)}.module-picker-btn.disabled{opacity:.3;cursor:default}.module-picker-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.module-picker-dropdown{min-width:240px;background:var(--surface-overlay-bg);border:1px solid var(--surface-section-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);padding:4px;animation:module-picker-fade-in .15s ease-out}@keyframes module-picker-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.module-picker-header{padding:8px 12px 4px;font-size:var(--text-xs);font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.module-picker-search{position:relative;display:flex;align-items:center;margin:4px 8px 6px}.module-picker-search-icon{position:absolute;left:8px;color:var(--text-tertiary);pointer-events:none}.module-picker-search-input{width:100%;padding:6px 8px 6px 28px;background:var(--bg-elevated);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-sm);transition:border-color var(--duration-instant) var(--ease-default)}.module-picker-search-input::placeholder{color:var(--text-tertiary)}.module-picker-search-input:focus{outline:none;border-color:var(--accent-primary)}.module-picker-empty{padding:12px;text-align:center;font-size:var(--text-xs);color:var(--text-tertiary);font-style:italic}.module-picker-item{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;border-radius:var(--radius-md);cursor:pointer;transition:background var(--duration-instant) var(--ease-default)}.module-picker-item-icon{flex-shrink:0;margin-top:2px;color:var(--text-tertiary)}.module-picker-item:hover .module-picker-item-icon,.module-picker-item--active .module-picker-item-icon{color:var(--accent-text)}.module-picker-item-body{flex:1;min-width:0}.module-picker-item:hover:not(.module-picker-item--disabled){background:var(--bg-elevated)}.module-picker-item--disabled{opacity:.38;cursor:not-allowed}.module-picker-item--disabled .module-picker-item-desc{color:var(--warning-text);opacity:1}.module-picker-item:focus-visible{outline:2px solid var(--accent-primary);outline-offset:-2px}.module-picker-item-name{display:flex;align-items:center;gap:6px;font-size:var(--text-sm);font-weight:500;color:var(--text-primary)}.module-picker-item-desc{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:2px}.module-picker-item--locked{opacity:.78}.module-picker-item--locked:hover{background:#fbbf2414}.module-picker-item--locked .module-picker-item-name{display:inline-flex;align-items:center;gap:6px}.module-picker-item-lock-inline{color:var(--accent-text);flex-shrink:0}.module-picker-item-plan{display:inline-flex;align-items:center;gap:4px;font-weight:600;color:var(--accent-text);letter-spacing:.02em}.loading-spinner{text-align:center;padding:40px;color:var(--text-secondary)}.spinner{border:4px solid var(--border-light);border-top:4px solid var(--gold-400);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto 16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ssp-trigger{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:8px 14px;border-radius:var(--radius-xl);border:1px solid var(--surface-item-border);background:linear-gradient(180deg,#ffffff0d,#ffffff05),var(--surface-item-bg);color:var(--text-primary);text-align:left;cursor:pointer;transition:border-color .14s ease}.ssp-trigger:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.ssp-trigger__icon{color:var(--accent-text);flex-shrink:0}.ssp-trigger__text{display:flex;flex-direction:column;flex:1;min-width:0}.ssp-trigger__caption{font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--text-secondary)}.ssp-trigger__label{font-family:var(--font-display);font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ssp-trigger__chevron{color:var(--text-secondary);flex-shrink:0}.ssp-sheet{display:flex;flex-direction:column;gap:16px}.ssp-group__label,.ssp-subgroup__label{margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--text-secondary)}.ssp-subgroup__label{margin-top:8px;padding-left:4px;font-weight:600}.ssp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.ssp-row{display:flex;align-items:center;gap:4px}.ssp-row__remove{flex-shrink:0;margin-right:4px}.ssp-item{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:8px 12px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--text-primary);font-size:15px;text-align:left;cursor:pointer}.ssp-item:active{background:var(--state-hover-bg)}.ssp-item:focus-visible{outline:2px solid var(--accent-primary);outline-offset:-2px}.ssp-item__icon{color:var(--text-secondary);flex-shrink:0}.ssp-item__label{flex:1}.ssp-item--active{border-color:color-mix(in srgb,var(--accent-primary) 45%,transparent);background:color-mix(in srgb,var(--accent-primary) 12%,transparent);font-weight:600}.ssp-item--active .ssp-item__icon,.ssp-item__check{color:var(--accent-text)}.light-mode .ssp-trigger{background:linear-gradient(180deg,#fffffff2,#fffc),var(--surface-item-bg)}.settings-view{max-width:1400px}.settings-header{margin-bottom:24px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.settings-header h2{font-family:var(--font-display);font-size:32px;font-weight:600;letter-spacing:-.03em;margin-bottom:4px}.settings-layout{display:flex;gap:24px}.settings-content{flex:1;min-width:0}.settings-empty{display:flex;align-items:center;justify-content:center;min-height:300px;color:var(--text-secondary)}.settings-nav{width:220px;flex-shrink:0;position:sticky;top:80px;align-self:flex-start;max-height:calc(100vh - 100px);max-height:calc(100dvh - 100px);overflow-y:auto;border-radius:var(--surface-section-radius);border:1px solid var(--surface-section-border);background:var(--surface-section-bg);padding:16px;box-shadow:var(--surface-section-shadow)}.settings-nav__group{margin-bottom:16px}.settings-nav__group:last-of-type{margin-bottom:8px}.settings-nav__group-label{display:flex;align-items:center;gap:6px;padding:4px 12px;margin-bottom:4px;font-family:var(--font-body);font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.12em;-webkit-user-select:none;user-select:none}.settings-nav__subgroup{margin-top:8px}.settings-nav__subgroup:first-of-type{margin-top:0}.settings-nav__subgroup-label{padding:2px 12px 2px 18px;margin-bottom:2px;font-family:var(--font-body);font-size:9px;font-weight:600;color:color-mix(in srgb,var(--text-tertiary) 70%,transparent);text-transform:uppercase;letter-spacing:.1em;-webkit-user-select:none;user-select:none}.settings-nav__item-wrapper{position:relative;display:flex;align-items:center}.settings-nav__item-wrapper:hover .settings-nav__remove,.settings-nav__item-wrapper:focus-within .settings-nav__remove,.settings-nav__remove:focus-visible{opacity:1}.settings-nav__remove{position:absolute;right:8px;top:0;bottom:0;margin-block:auto;opacity:0;z-index:1;transition:opacity var(--duration-quick) var(--ease-default)}@media (hover: none){.settings-nav__remove{opacity:1}}.settings-nav__item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:1px solid transparent;border-radius:var(--surface-item-radius);background:none;color:var(--text-secondary);font-family:var(--font-body);font-size:13px;font-weight:500;cursor:pointer;transition:color var(--duration-instant) var(--ease-default),background var(--duration-quick) var(--ease-out-expo),box-shadow var(--duration-quick) var(--ease-out-expo),transform var(--duration-quick) var(--ease-spring);text-align:left}.settings-nav__item:active{transform:scale(.97);transition:transform 80ms var(--ease-out)}.settings-nav__item:hover{background:var(--state-hover-bg);color:var(--text-primary)}.settings-nav__item--active,.settings-nav__item--active:hover{background:var(--surface-item-selected-bg);color:var(--text-primary);border-color:var(--surface-item-selected-border);box-shadow:inset 3px 0 0 var(--accent-primary);font-weight:600}.settings-nav__item--optional{padding-right:44px}.settings-nav__icon{flex-shrink:0;color:var(--text-tertiary);transition:color var(--duration-instant) var(--ease-default)}.settings-nav__item:hover .settings-nav__icon{color:var(--text-primary)}.settings-nav__item--active .settings-nav__icon{color:var(--accent-text)}.settings-nav__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-nav .module-picker{margin-top:8px;padding:0}.settings-nav .module-picker-btn{width:100%;justify-content:center;border:1px dashed rgba(255,255,255,.12);border-radius:var(--radius-2xl);padding:10px 12px;font-size:12px;color:var(--text-tertiary);background:none;cursor:pointer;transition:all var(--duration-instant) var(--ease-default)}.settings-nav .module-picker-btn:hover{border-color:var(--accent-primary);color:var(--accent-text);background:#eec52f0d}@media (max-width: 768px){.settings-layout{flex-direction:column;gap:16px}.settings-view{overflow-x:hidden}.settings-content{overflow-x:hidden;min-width:0}.settings-header h2{font-size:24px}.settings-content .stg-panel .stg-description{display:none}.settings-nav--mobile{width:100%;position:static;max-height:none;display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:0;border:none;background:none;box-shadow:none}.settings-nav--mobile .module-picker{margin-top:0;padding:0}}.settings-nav::-webkit-scrollbar{height:4px;width:4px}.settings-nav::-webkit-scrollbar-track{background:transparent}.settings-nav::-webkit-scrollbar-thumb{background:var(--text-tertiary);border-radius:2px;opacity:.5}.settings-nav::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.stg-panel{padding:24px;margin-bottom:20px}.stg-subtitle{margin:0 0 8px;font-family:var(--section-title-font);font-size:var(--section-title-size);font-weight:var(--section-title-weight);letter-spacing:var(--section-title-tracking);text-transform:var(--section-title-case);color:var(--section-title-color)}.stg-title{font-family:var(--font-display);font-size:26px;font-weight:600;letter-spacing:-.03em;color:var(--text-primary);margin:0}.stg-description{margin-top:8px;max-width:680px;font-size:14px;line-height:1.6;color:var(--text-secondary)}.stg-stats{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.stg-stat{padding:16px}.stg-stat__accent{height:4px;width:48px;border-radius:2px;margin-bottom:12px}.stg-stat__accent--neutral{background:#ffffff80}.stg-stat__accent--blue{background:var(--blue-400)}.stg-stat__accent--red{background:var(--error-text)}.stg-stat__accent--green{background:var(--success-text)}.stg-stat__accent--gold{background:var(--yellow-500);color:var(--on-accent)}.stg-stat__accent--purple{background:var(--accent-purple)}.stg-stat__value{font-family:var(--font-display);font-size:26px;font-weight:600;letter-spacing:-.04em;color:var(--text-primary)}.stg-stat__label{margin-top:4px;font-size:12px;color:var(--text-tertiary)}.stg-card{padding:16px 20px}.stg-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px;margin-bottom:16px}.stg-add-panel{padding:20px 24px}.stg-select{height:44px;border-radius:var(--radius-xl);border:1px solid var(--glass-border);background:#ffffff0f;padding:0 16px;font-family:var(--font-body);font-size:13px;color:var(--text-secondary);outline:none;transition:border-color var(--duration-instant) var(--ease-default),background var(--duration-instant) var(--ease-default);min-width:0}.stg-select:focus{border-color:color-mix(in srgb,var(--yellow-500) 40%,transparent);background:#ffffff14}.stg-select option{background:var(--bg-surface);color:var(--text-primary)}.stg-icon-box{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-2xl);background:#ffffff12;font-size:18px;flex-shrink:0}.stg-rule-bar{display:flex;align-items:center;gap:12px;margin-top:14px;border-radius:var(--radius-2xl);border:1px solid rgba(255,255,255,.08);background:var(--state-hover-bg);padding:10px 14px}.stg-rule-bar__icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-xl);font-size:14px;flex-shrink:0}.stg-rule-bar__icon--blue{background:color-mix(in srgb,var(--blue-400) 14%,transparent);color:var(--info-ink)}.stg-rule-bar__icon--red{background:color-mix(in srgb,var(--error-text) 14%,transparent);color:var(--danger-text)}.stg-rule-bar__text{font-size:12px;color:var(--text-secondary)}.stg-rule-bar__text strong{font-weight:500;color:var(--text-primary)}.stg-panel__row{display:flex;flex-direction:column;gap:20px}@media (min-width: 1024px){.stg-panel__row{flex-direction:row;align-items:flex-end;justify-content:space-between}.stg-stats{flex-shrink:0}}.stg-empty{padding:40px 24px;text-align:center;color:var(--text-tertiary);font-size:var(--text-sm);border-radius:var(--radius-2xl);border:1px dashed var(--glass-border)}@media (prefers-reduced-motion: reduce){.stg-card,.stg-select{transition:none}}.plan-summary{display:flex;flex-direction:column;gap:.75rem}.plan-summary__header{display:flex;align-items:center;gap:.625rem}.plan-summary__main{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap}.plan-summary__name{font-size:1.375rem;font-weight:600}.plan-summary__price{font-size:.95rem;color:var(--text-secondary)}.plan-summary__trial{margin:0;font-size:.875rem;color:var(--text-primary)}.plan-summary__trial--warn{color:var(--warning-text);font-weight:500}.plan-summary__cta{align-self:flex-start;padding:.5rem .875rem;border-radius:var(--radius-xl);border:1px solid rgba(243,210,62,.38);background:#f3d23e24;color:var(--accent-text);font-size:.875rem;font-weight:600;cursor:pointer;transition:background var(--duration-instant) var(--ease-default)}.plan-summary__cta:hover{background:#f3d23e38}.plan-summary__metrics-title{margin:.5rem 0 0;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary)}.plan-summary__metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(9rem,100%),1fr));gap:.625rem}@media (max-width: 380px){.plan-summary__main{gap:.375rem}.plan-summary__name{font-size:1.2rem}}.plan-summary__metric{display:flex;justify-content:space-between;align-items:baseline;padding:.625rem .75rem;border-radius:var(--surface-item-radius);background:var(--surface-item-bg);border:1px solid var(--surface-item-border);font-size:.875rem;box-shadow:var(--surface-item-shadow)}.plan-summary__metric--near{border-color:#fb923c7a;background:#fb923c14}.plan-summary__metric-label{color:var(--text-secondary)}.plan-summary__metric-value{font-weight:600}.account-view{max-width:560px;margin:0 auto;padding:clamp(16px,4vw,32px) 0}@media (max-width: 640px){.account-view__section{margin-bottom:12px}.account-view__title{font-size:var(--text-xl);margin-bottom:20px}}.account-view__title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;color:var(--text-primary);margin-bottom:32px}.account-view__section{border:1px solid var(--glass-border);margin-bottom:16px}.account-view__section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.account-view__section-title{font-family:var(--font-display);font-size:var(--text-base);font-weight:600;color:var(--text-primary)}.account-view__section-value{font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-secondary)}.account-view__section-action{padding:6px 14px;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:all var(--duration-instant) var(--ease-default)}.account-view__section-action:hover{background:var(--accent-primary);color:var(--on-accent);border-color:var(--accent-primary)}.account-view__section-action:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.account-view__back{display:inline-flex;align-items:center;gap:6px;padding:0;margin-bottom:16px;background:none;border:none;color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;transition:color var(--duration-instant) var(--ease-default)}.account-view__back:hover{color:var(--text-primary)}.account-view__team-desc{font-size:var(--text-sm);color:var(--text-secondary);margin:4px 0 14px;line-height:1.4}.account-view__team-error{font-size:var(--text-sm);color:var(--danger-text);margin:0 0 8px}.account-view__team-form{display:flex;gap:8px;margin-bottom:14px}.account-view__team-input{flex:1;padding:7px 10px;font-size:var(--text-sm);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary);font-family:var(--font-body)}.account-view__team-input:focus{outline:2px solid var(--accent-primary);outline-offset:-1px}.account-view__team-add{padding:7px 16px;background:var(--accent-primary);color:var(--on-accent);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity .15s}.account-view__team-add:hover{opacity:.85}.account-view__team-add:disabled{opacity:.5;cursor:not-allowed}.account-view__team-list{display:flex;flex-direction:column;gap:6px}.account-view__member{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--surface-item-bg);border:1px solid var(--surface-item-border);border-radius:var(--surface-item-radius);box-shadow:var(--surface-item-shadow)}.account-view__member-info{flex:1;display:flex;align-items:center;gap:10px;min-width:0}.account-view__member-email{font-size:var(--text-sm);font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0}.account-view__member-vet{font-size:var(--text-xs);padding:3px 6px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);max-width:150px;flex-shrink:0}.account-view__member-remove{padding:4px;background:none;border:none;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:color .15s,background-color .15s;flex-shrink:0}.account-view__member-remove:hover{color:var(--danger-text);background:color-mix(in srgb,var(--status-poor) 10%,transparent)}.account-view__team-empty{font-size:var(--text-sm);color:var(--text-tertiary);text-align:center;padding:12px 0}.plan-card{position:relative;display:flex;flex-direction:column;gap:.875rem;padding:clamp(1.125rem,2.5vw,1.5rem);border-radius:var(--surface-section-radius);border:1px solid var(--surface-section-border);background:var(--surface-section-bg);color:var(--text-primary);box-shadow:var(--surface-section-shadow);transition:background var(--duration-standard) var(--ease-default),transform var(--duration-standard) var(--ease-default),border-color var(--duration-standard) var(--ease-default);min-width:0}.plan-card:hover{border-color:var(--glass-border-hover)}.plan-card--highlight{border-color:var(--surface-item-selected-border);background:var(--surface-item-selected-bg);box-shadow:var(--surface-item-selected-shadow)}.plan-card--current{border-color:#22c55e66}.plan-card--disabled{opacity:.55}.plan-card__badge{align-self:flex-start}.plan-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.plan-card__name{margin:0;font-size:1.25rem;font-weight:600}.plan-card__enterprise-icon{color:var(--text-secondary)}.plan-card__description{margin:0;font-size:.875rem;line-height:1.45;color:var(--text-secondary)}.plan-card__price{display:flex;align-items:baseline;gap:.5rem;padding-bottom:1rem;border-bottom:1px solid var(--glass-border)}.plan-card__price-amount{font-size:2rem;font-weight:600;letter-spacing:-.02em}.plan-card__price-period{font-size:.875rem;color:var(--text-secondary)}.plan-card__features-label{margin:0 0 .75rem;font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-tertiary)}.plan-card__features ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.625rem}.plan-card__features li{display:flex;align-items:flex-start;gap:.625rem;font-size:.875rem;line-height:1.4}.plan-card__features--locked ul{opacity:.48}.plan-card__feature-icon{flex-shrink:0;margin-top:.125rem;color:var(--text-secondary)}.plan-card__feature-icon--ok{color:var(--success-text)}.plan-card__cta-wrap{margin-top:auto;padding-top:.5rem}.plan-card__cta{display:inline-flex;width:100%;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border-radius:var(--radius-xl);border:1px solid transparent;background:#ffffff0f;color:var(--text-primary);font-size:.875rem;font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background var(--duration-instant) var(--ease-default),transform var(--duration-instant) var(--ease-default)}@media (max-width: 480px){.plan-card__cta{min-height:44px}}.plan-card__cta--primary{background:linear-gradient(180deg,var(--yellow-400),var(--yellow-500));color:var(--on-accent);box-shadow:0 10px 30px #f3d23e3d}.plan-card__cta--primary:hover:not(:disabled){background:linear-gradient(180deg,var(--yellow-300),var(--yellow-400));color:var(--on-accent)}.plan-card__cta--secondary{border-color:var(--glass-border)}.plan-card__cta--secondary:hover:not(:disabled){background:#ffffff1a;border-color:var(--glass-border-hover)}.plan-card__cta:disabled{cursor:default;opacity:.6}.downgrade-modal__warning{margin:0 0 1rem;font-size:.875rem;line-height:1.45;color:var(--text-secondary)}.downgrade-modal__list{list-style:disc;padding-left:1.25rem;margin:0;display:flex;flex-direction:column;gap:.5rem;font-size:.875rem;line-height:1.4;color:var(--danger-text)}.pricing-view{position:relative;min-height:100%;padding:clamp(1.5rem,4vw,3rem) clamp(1rem,3vw,1.5rem) 4rem;background:var(--surface-section-bg);border:1px solid var(--surface-section-border);border-radius:var(--surface-section-radius);box-shadow:var(--surface-section-shadow)}.pricing-view__header{position:relative;max-width:48rem;margin:0 auto 2.75rem;text-align:center}.pricing-view__title{margin:0;font-size:clamp(2rem,3vw,2.75rem);font-weight:600;letter-spacing:-.02em;color:var(--text-primary)}.pricing-view__subtitle{margin-top:1rem;font-size:1rem;line-height:1.6;color:var(--text-secondary)}.pricing-view__grid{position:relative;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(min(15rem,100%),1fr));max-width:80rem;margin:0 auto}@media (max-width: 640px){.pricing-view__grid{gap:.875rem}.pricing-view__header{margin-bottom:2rem}.pricing-view__title{font-size:1.75rem}}@media (max-width: 480px){.pricing-view__grid{gap:.75rem}}.pricing-view__error{position:relative;max-width:32rem;margin:0 auto 1.5rem;padding:.75rem 1rem;border-radius:var(--radius-xl);background:var(--error-bg);color:var(--danger-text);border:1px solid var(--error-border);font-size:.875rem;text-align:center}.pricing-view__loading{text-align:center;color:var(--text-secondary)}.pricing-view__footer{position:relative;max-width:40rem;margin:2.5rem auto 0;padding:1rem 1.25rem;border-radius:var(--surface-section-radius);border:1px solid var(--surface-section-border);background:var(--surface-section-bg);text-align:center;font-size:.875rem;color:var(--text-secondary);box-shadow:var(--surface-section-shadow)}.cc{display:flex;flex-direction:column;gap:8px}.cc-field{display:flex;flex-direction:column;gap:6px}.cc-field .mp-add-input{width:100%}.cc-list{list-style:none;margin:0;padding:4px;max-height:336px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--surface-section-border);border-radius:var(--surface-item-radius);background:var(--surface-overlay-bg);box-shadow:var(--glass-shadow-lg)}.cc-list[hidden]{display:none}.cc-option{display:flex;flex-direction:column;gap:1px;min-height:40px;justify-content:center;padding:6px 10px;border-radius:8px;cursor:pointer;transition:background var(--duration-quick) var(--ease-default)}.cc-option--active{background:linear-gradient(180deg,#f3d23e2e,#f3d23e14);box-shadow:inset 0 0 0 1px #f3d23e59}.light-mode .cc-option--active{background:linear-gradient(180deg,#f3d23e57,#f3d23e2e);box-shadow:inset 0 0 0 1px #be961e73}.cc-option-name{color:var(--text-primary);font-size:14px;font-weight:600}.cc-option-address{color:var(--text-secondary);font-size:12px;overflow-wrap:anywhere}.cc-mark{background:transparent;color:var(--accent-text);font-weight:700;text-decoration:underline;text-decoration-color:#f3d23e99;text-underline-offset:2px}.light-mode .cc-mark{color:var(--yellow-ink-strong)}.cc-option--create{flex-direction:row;align-items:center;gap:8px;color:var(--accent-text);font-weight:600;font-size:13px}.light-mode .cc-option--create{color:var(--yellow-ink-strong)}.cc-option--create svg{flex:none}.cc-hint{padding:10px;color:var(--text-tertiary);font-size:13px}.cc-preview{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--surface-item-border);border-radius:var(--surface-item-radius);background:var(--surface-item-bg)}.cc-preview-icon{flex:none;margin-top:2px;color:var(--accent-text)}.light-mode .cc-preview-icon{color:var(--yellow-ink)}.cc-preview-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.cc-preview-name{color:var(--text-primary);font-weight:600;font-size:14px}.cc-preview-address{color:var(--text-secondary);font-size:13px;overflow-wrap:anywhere}.cc-preview-warn{flex:none;color:var(--warning-text)}.cc .cl-draft{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 12px;padding:12px;border:1px solid rgba(243,210,62,.35);border-radius:var(--radius-lg);background:linear-gradient(180deg,#f3d23e14,#f3d23e05)}.light-mode .cc .cl-draft{border-color:#be961e66;background:linear-gradient(180deg,#f3d23e29,#f3d23e0f)}.cc .cl-cell{flex:1 1 180px;min-width:0}.cc .cl-cell .mp-add-input{width:100%}.cc .cl-draft-actions{display:flex;gap:8px;margin-left:auto}@media (max-width: 640px){.cc-option{min-height:44px}.cc-field .mp-add-input,.cc .cl-draft .mp-add-input{height:44px;font-size:16px}.cc .cl-cell,.cc .cl-draft-actions{flex:1 1 100%}.cc .cl-draft-actions .btn{flex:1}}@media (prefers-reduced-motion: reduce){.cc-option{transition:none}}.rv-board{--rv-board-col-h: min(60vh, 520px);display:grid;grid-template-columns:repeat(4,minmax(220px,1fr)) auto;gap:12px;align-items:start;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding-bottom:4px}.rv-board-col{display:flex;flex-direction:column;gap:8px;min-width:0;box-sizing:border-box;padding:10px;border-radius:var(--surface-item-radius);background:var(--surface-section-bg);border:1px solid var(--surface-item-border);scroll-snap-align:start;transition:border-color var(--duration-quick) var(--ease-default),background var(--duration-quick) var(--ease-default)}.rv-board-col--over{border-style:dashed;border-color:var(--accent-primary);background:var(--accent-tint-bg)}.rv-board-col--refused{border-style:dashed;border-color:var(--danger-text);background:var(--state-active-bg);cursor:not-allowed}.rv-board-col--collapsed{width:56px;align-items:center;padding-inline:4px}.rv-board-col--collapsed .rv-board-col-head{flex-direction:column-reverse;gap:8px}.rv-board-col--collapsed .rv-board-col-title{writing-mode:vertical-rl;transform:rotate(180deg)}.rv-board-col--cancelled:not(.rv-board-col--collapsed){width:240px}.rv-board-col-head{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:28px}.rv-board-col-title{margin:0;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.rv-board-list{list-style:none;margin:0;padding:0 2px 2px 0;display:flex;flex-direction:column;gap:6px;max-height:var(--rv-board-col-h);overflow-y:auto;overscroll-behavior:contain}.rv-board-empty{margin:0;padding:14px 4px;text-align:center;font-size:12px;color:var(--text-tertiary)}.rv-board-card{display:flex;flex-direction:column;gap:4px;box-sizing:border-box;padding:8px 6px 8px 10px;border-radius:var(--surface-item-radius);border:1px solid var(--surface-item-border);background:var(--surface-item-bg);box-shadow:var(--surface-item-shadow);cursor:grab;touch-action:manipulation;transition:border-color var(--duration-quick) var(--ease-spring),transform var(--duration-quick) var(--ease-spring)}.rv-board-card:hover{border-color:var(--surface-item-border-hover);background:var(--surface-item-bg-hover)}.rv-board-card:active{cursor:grabbing;transform:scale(.98)}.rv-board-card--busy{opacity:.6;cursor:progress}.rv-board-card-head{display:flex;align-items:center;gap:6px;min-width:0}.rv-board-card-open{flex:1;min-width:0;min-height:28px;padding:0;text-align:left;font-size:14px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-radius:var(--radius-sm)}.rv-board-card-open:hover{text-decoration:underline}.rv-board-card-open:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.rv-board-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;min-width:0;padding-left:14px;font-size:12px;color:var(--text-secondary)}.rv-board-card-place{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rv-board-card-age{color:var(--text-tertiary);font-variant-numeric:tabular-nums}.rv-board-card>.rv-scheduled-badge{align-self:flex-start;max-width:calc(100% - 14px);margin-left:14px;overflow:hidden}.rv-board-card>.rv-scheduled-badge .badge{max-width:100%;min-width:0;box-sizing:border-box}.rv-chip-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 640px){.rv-board{grid-template-columns:repeat(4,82%) auto;scroll-snap-type:x mandatory}.rv-board-col--cancelled:not(.rv-board-col--collapsed){width:82vw}.rv-board-card-open{min-height:44px}}@media (prefers-reduced-motion: reduce){.rv-board-col,.rv-board-card{transition:none}.rv-board-card:active{transform:none}}.rv-tasks-panel{display:flex;flex-direction:column;gap:12px}.rv-tasks-head{flex-wrap:wrap;justify-content:flex-start;margin-bottom:0}.rv-tasks-add{margin-left:auto}.rv-tasks-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.rv-tasks-search{position:relative;display:flex;align-items:center;flex:0 1 280px;min-width:180px;color:var(--text-tertiary)}.rv-tasks-search svg{position:absolute;left:10px;pointer-events:none}.rv-tasks-search .mp-add-input{width:100%;min-height:32px;padding-left:30px}@media (max-width: 640px){.rv-tasks-head .rv-section-title{flex:1 1 auto}.rv-tasks-panel{order:2}.rv-tasks-add{order:1}.rv-tasks-view{order:2}.rv-tasks-search{flex:1 1 100%}.rv-tasks-search .mp-add-input{min-height:44px}}.rv-cal{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:12px;align-items:start;min-width:0}.rv-cal-main{display:flex;flex-direction:column;gap:10px;min-width:0}.rv-cal-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.rv-cal-title{margin:0;min-width:12ch;text-align:center;font-size:15px;font-weight:600;color:var(--text-primary);text-transform:capitalize;font-variant-numeric:tabular-nums}.rv-cal-mode{margin-left:auto}.rv-cal-grid{display:flex;flex-direction:column;gap:4px;min-width:0}.rv-cal-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.rv-cal-weekday{padding:2px 6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.rv-cal-cell{display:flex;flex-direction:column;gap:4px;min-width:0;min-height:92px;box-sizing:border-box;padding:4px;border-radius:var(--radius-md);background:var(--surface-section-bg);border:1px solid var(--surface-divider)}.rv-cal-grid--week .rv-cal-cell{min-height:200px}.rv-cal-cell--outside{opacity:.55}.rv-cal-cell--today{border-color:var(--accent-primary)}.rv-cal-day{font-size:12px;font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums;padding:0 2px}.rv-cal-cell--today .rv-cal-day{color:var(--accent-text)}.rv-cal-chips{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px;min-width:0}.rv-cal-chip{display:flex;align-items:center;gap:4px;width:100%;min-height:24px;box-sizing:border-box;padding:2px 6px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;text-align:left;cursor:pointer;background:var(--rv-chip-bg, var(--state-active-bg));color:var(--rv-chip-ink, var(--text-primary));transition:filter var(--duration-quick) var(--ease-default)}.rv-cal-chip:hover{filter:brightness(1.08)}.rv-cal-chip:focus-visible{outline:2px solid var(--accent-primary);outline-offset:1px}.rv-cal-chip-half{flex:none;font-size:10px;font-weight:700;opacity:.85}.rv-cal-chip-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rv-cal-more{align-self:flex-start;padding:0 4px;font-size:11px;color:var(--accent-text);cursor:pointer;border-radius:var(--radius-sm)}.rv-cal-more:hover{text-decoration:underline}.rv-cal-more:focus-visible{outline:2px solid var(--accent-primary)}.rv-cal-tray{display:flex;flex-direction:column;gap:8px;min-width:0;padding:10px;border-radius:var(--surface-item-radius);background:var(--surface-section-bg);border:1px solid var(--surface-item-border)}.rv-cal-tray-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:480px;overflow-y:auto}.rv-cal-tray-item{display:flex;align-items:center;gap:6px;width:100%;min-height:32px;box-sizing:border-box;padding:4px 8px;border-radius:var(--radius-md);border:1px solid var(--surface-item-border);background:var(--surface-item-bg);color:var(--text-primary);font-size:13px;text-align:left;cursor:pointer}.rv-cal-tray-item:hover{border-color:var(--surface-item-border-hover);background:var(--surface-item-bg-hover)}.rv-cal-tray-item:focus-visible{outline:2px solid var(--accent-primary);outline-offset:1px}.rv-cal-tray-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 900px){.rv-cal{grid-template-columns:minmax(0,1fr)}}@media (max-width: 640px){.rv-cal-cell{min-height:56px;padding:2px}.rv-cal-chip{min-height:20px;padding:1px 3px;font-size:10px}.rv-cal-chip-half{display:none}.rv-cal-weekday{padding:2px;font-size:10px}.rv-cal-tray-item{min-height:44px}}@media (prefers-reduced-motion: reduce){.rv-cal-chip{transition:none}}.manual-improve-modal{display:flex;flex-direction:column;gap:1rem}.manual-improve-time{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;color:var(--text-secondary)}.manual-improve-time input{padding:.4rem .6rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary)}.manual-improve-error{margin:0;padding:.5rem .75rem;border-left:3px solid var(--error-border);background:var(--error-bg);color:var(--danger-text);border-radius:var(--radius-sm);font-size:.875rem}.manual-improve-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.manual-improve-actions .btn-primary{padding:.5rem 1rem;border-radius:var(--radius-md);background:var(--accent-primary);color:var(--on-accent);border:none;cursor:pointer;font-weight:600}.manual-improve-actions .btn-primary:disabled{opacity:.5;cursor:not-allowed}.manual-improve-actions .btn-secondary{padding:.5rem 1rem;border-radius:var(--radius-md);background:transparent;color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer}.rv-compute-progress{display:grid;gap:10px;padding:14px 16px}.rv-compute-progress-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.rv-compute-progress-icon{flex:none;color:var(--accent-text);animation:rv-compute-spin 1s linear infinite}.light-mode .rv-compute-progress-icon{color:var(--accent-text)}.rv-compute-progress-title{margin:0;font-family:var(--section-title-font);font-size:var(--section-title-size);font-weight:var(--section-title-weight);letter-spacing:var(--section-title-tracking);text-transform:var(--section-title-case);color:var(--section-title-color)}.rv-compute-progress-label{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.rv-compute-progress-cancel{margin-left:auto;min-height:36px}.rv-compute-progress-track{position:relative;height:10px;overflow:hidden;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent-primary) 35%,transparent);background:linear-gradient(180deg,#ffffff0d,#ffffff05)}.light-mode .rv-compute-progress-track{background:linear-gradient(180deg,#0000000a,#00000005)}.rv-compute-progress-fill{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:left center;background:linear-gradient(90deg,var(--yellow-300),var(--yellow-400));transition:transform .16s var(--ease-spring)}.light-mode .rv-compute-progress-fill{background:linear-gradient(90deg,var(--yellow-400),var(--yellow-500))}.rv-compute-progress-track--queued:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent-primary) 30%,transparent),transparent);animation:rv-compute-shimmer 1.6s linear infinite}@keyframes rv-compute-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes rv-compute-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.rv-compute-progress-fill{transition:none}.rv-compute-progress-track--queued:after,.rv-compute-progress-icon{animation:none}}.rv-plans-header{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:12px 20px}.rv-plans-title{margin:0}.rv-plans-clear{margin-left:auto}.rsp-scroll{position:relative;max-width:100%;overflow-x:auto;margin:0 -4px;padding:0 4px}.rsp-table{width:100%;border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}.rsp-table th,.rsp-table td{padding:10px 12px;text-align:left;vertical-align:top;border-top:1px solid var(--surface-divider)}.rsp-table thead th{border-top:0;padding-top:0;font-family:var(--section-title-font);font-size:var(--section-title-size);font-weight:var(--section-title-weight);letter-spacing:var(--section-title-tracking);text-transform:var(--section-title-case);color:var(--section-title-color)}.rsp-table tbody th{width:28%;min-width:140px;font-weight:400}.rsp-table td{min-width:150px}.rsp-col--day{background:var(--surface-item-bg);box-shadow:var(--surface-item-shadow)}.rsp-table thead .rsp-col--day{border-radius:var(--surface-item-radius) var(--surface-item-radius) 0 0;padding-top:10px}.rsp-kpi{display:block;font-size:13px;font-weight:600;color:var(--text-primary)}.rsp-hint{display:block;margin-top:2px;font-size:11px;color:var(--text-tertiary)}.rsp-cell{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.rsp-value{display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:600;color:var(--text-primary)}.rsp-value svg{flex:none}.rsp-value-row{display:inline-flex;align-items:center;gap:6px}.rsp-info{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:help}.rsp-info:hover{color:var(--text-secondary)}.rsp-info:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.rsp-value--success svg{color:var(--success-text)}.rsp-value--warning svg{color:var(--warning-text)}.rsp-sub{font-size:12px;color:var(--text-secondary)}.rsp-muted{color:var(--text-tertiary)}.rsp-priorities{display:flex;flex-wrap:wrap;gap:4px 10px}.rsp-priority--urgent{color:var(--text-primary);font-weight:600}.rsp-range{position:relative;display:block;width:100%;max-width:160px;height:6px;border-radius:3px;background:var(--surface-item-border)}.rsp-range-span{position:absolute;top:0;bottom:0;min-width:2px;border-radius:3px;background:var(--yellow-400);opacity:.45}.rsp-range-mean{position:absolute;top:-3px;width:2px;height:12px;margin-left:-1px;border-radius:1px;background:var(--yellow-500)}@media (max-width: 640px){.rsp-table th,.rsp-table td{padding:8px}.rsp-table tbody th{min-width:110px}.rsp-table td{min-width:120px}.rsp-hint{display:none}}.rsp-head{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px}.rsp-title{margin:0}.rsp-summary{display:flex;flex-wrap:wrap;gap:4px 16px;margin:0;font-size:13px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.rsp-toggle{margin-left:auto}.rsp-head+.rsp-scroll{margin-top:12px}.rv-preview{display:flex;flex-direction:column;gap:14px}.rv-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.rv-preview-head .rv-section-title{margin:0}.rv-preview-subtitle{margin:4px 0 0;font-size:13px;color:var(--text-secondary)}.rv-preview-empty{margin:0;font-size:13px;color:var(--text-tertiary)}.rv-preview-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.rv-preview-group{padding:var(--surface-item-padding);border-radius:var(--surface-item-radius);border:1px solid var(--surface-item-border);background:var(--surface-item-bg);box-shadow:var(--surface-item-shadow)}.rv-preview-group-title{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:13px;font-weight:600;color:var(--text-primary);text-align:left}.rv-preview-count{min-width:20px;padding:0 6px;border-radius:999px;text-align:center;font-size:11px;font-variant-numeric:tabular-nums;color:var(--text-secondary);background:#ffffff14}.light-mode .rv-preview-count{background:#0000000f}.rv-preview-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.rv-preview-item{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:13px}.rv-preview-label{font-weight:500;color:var(--text-primary)}.rv-preview-detail{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.rv-preview-transition{display:inline-flex;align-items:center;gap:4px}.rv-preview-transition svg{flex:none;color:var(--text-tertiary)}.rv-preview-delta{font-size:12px;color:var(--text-tertiary)}.rv-preview-table-wrap{grid-column:1 / -1;overflow-x:auto}.rv-preview-table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.rv-preview-table th,.rv-preview-table td{padding:6px 8px;text-align:left;border-bottom:1px solid var(--glass-border)}.rv-preview-table thead th{font-size:12px;font-weight:500;color:var(--text-tertiary)}.rv-preview-table tbody th{font-weight:500;color:var(--text-primary)}.rv-preview-table td{color:var(--text-secondary)}.rv-preview-row--changed th,.rv-preview-row--changed td{color:var(--text-primary)}.rv-preview-table-note{margin:6px 0 0;font-size:12px;color:var(--text-tertiary)}.rv-preview-actions{margin:0}.rv-preview-pool-count{color:var(--warning-text);font-weight:600}.rv-preview-alert{display:flex;align-items:center;gap:8px;margin:0;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--error-border);background:var(--error-bg);color:var(--danger-text);font-size:13px;font-weight:600}.rv-preview-alert svg{flex:none}.rv-preview-warnings{display:grid;gap:6px;margin:0;padding:0;list-style:none}.rv-preview-warning{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius-md);border:1px solid var(--warning-border);background:var(--warning-bg);color:var(--warning-text);font-size:13px;font-weight:600}.rv-preview-warning svg{flex:none}.rv-preview-group--warning{border-color:var(--warning-border)}.rv-preview-group--danger{border-color:var(--error-border)}@media (min-width: 641px){.rv-preview-group--wide{grid-column:span 2}}.rv-preview-late{color:var(--warning-text)}.rv-banner--info{border-color:var(--info-border);background:var(--info-bg);color:var(--info-ink)}.light-mode .rv-banner--info{color:var(--info-ink)}.rv-draft-banner{flex-wrap:wrap}.rv-draft-banner-actions{display:inline-flex;gap:8px}@media (max-width: 640px){.rv-preview-groups{grid-template-columns:1fr}.rv-draft-banner-actions{width:100%;justify-content:flex-end}}.scroll-pills{position:relative;width:100%}.scroll-pills__track{display:flex;gap:var(--space-sm);overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding:var(--space-sm) var(--space-md);scrollbar-width:none}.scroll-pills__track::-webkit-scrollbar{display:none}.scroll-pills__item{flex:0 0 auto;scroll-snap-align:center;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;background:transparent;color:var(--text-secondary);border:1px solid transparent;border-radius:var(--radius-2xl, 14px);font-family:var(--font-body);font-size:13px;font-weight:500;line-height:1.2;cursor:pointer;white-space:nowrap;transition:color var(--duration-instant, .15s) var(--ease-default),background var(--duration-quick, .2s) var(--ease-out-expo),border-color var(--duration-quick, .2s) var(--ease-out-expo)}.scroll-pills__item:hover{color:var(--text-primary);background:#ffffff0d}.scroll-pills__item--active{color:var(--info-ink);background:linear-gradient(90deg,#ffffff14,#ffffff05);border-color:var(--glass-border);font-weight:600}.acm-body{margin-bottom:var(--space-md);font-family:var(--font-body);font-size:var(--font-size-body);line-height:1.55;color:var(--text-secondary)}.acm-label{display:flex;flex-direction:column;gap:8px;margin-bottom:8px;font-family:var(--font-body);font-size:var(--font-size-sm);color:var(--text-secondary)}.acm-label code{padding:3px 8px;border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:var(--glass-bg-overlay);font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--font-size-sm);color:var(--text-primary)}.acm-input{width:100%;margin-bottom:var(--space-md);min-height:42px;padding:11px 14px;border-radius:var(--radius-lg);border:1px solid var(--glass-border);background:var(--glass-bg-overlay);color:var(--text-primary);font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--font-size-body);transition:border-color var(--duration-instant) var(--ease-default),box-shadow var(--duration-instant) var(--ease-default)}.acm-input:hover{border-color:var(--glass-border-hover)}.acm-input:focus{outline:none;border-color:color-mix(in srgb,var(--accent-primary) 65%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-primary) 22%,transparent)}.acm-error{margin-bottom:var(--space-md);color:var(--danger-text);font-family:var(--font-body);font-size:var(--font-size-sm)}@keyframes acm-fade{0%{opacity:0}to{opacity:1}}@keyframes acm-slide{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.light-mode .acm-label code,.light-mode .acm-input{background:var(--bg-elevated);border-color:var(--border-color)}.light-mode .acm-error{color:var(--error-strong)}.aup-email{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:600;letter-spacing:-.01em;color:var(--text-primary);word-break:break-all}.aup-meta{margin-top:4px;font-family:var(--font-body);font-size:var(--font-size-sm);color:var(--text-tertiary)}.aup-muted{color:var(--text-tertiary);font-family:var(--font-body);font-size:var(--font-size-sm)}.aup-cabinet-list{display:flex;flex-direction:column;gap:10px}@media (max-width: 768px){.aup-cabinet-list{max-width:100%;overflow-x:auto}}.aup-cabinet{padding:14px;border-radius:var(--radius-xl);border:1px solid var(--glass-border);background:var(--glass-bg-overlay)}.aup-cabinet-name{font-family:var(--font-body);font-size:var(--font-size-body);font-weight:600;color:var(--text-primary)}.aup-cabinet-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0 12px;font-family:var(--font-body);font-size:var(--font-size-sm);color:var(--text-secondary)}.aup-cabinet-delete{width:100%;min-height:38px;padding:8px 14px;font-size:var(--font-size-sm)}.aup-usage-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--glass-border);font-family:var(--font-body);font-size:var(--font-size-sm);color:var(--text-primary)}.aup-usage-row:last-child{border-bottom:none}.aup-usage-row span:first-child{color:var(--text-secondary)}.aup-usage-row span:last-child{font-variant-numeric:tabular-nums}.aup-error{color:var(--danger-text);font-family:var(--font-body);font-size:var(--font-size-sm)}.light-mode .aup-cabinet{background:var(--bg-elevated);border-color:var(--border-color)}.light-mode .aup-usage-row{border-bottom-color:var(--border-color)}.light-mode .aup-error{color:var(--error-strong)}.admin-section-header{margin:0 0 4px;font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:600;letter-spacing:-.02em;color:var(--text-primary)}.admin-section{margin-top:var(--space-lg)}.admin-section--spaced{margin-top:var(--space-xl)}.admin-meta-grid{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0;padding:14px 16px;border-radius:var(--radius-xl);border:1px solid var(--glass-border);background:var(--glass-bg-overlay);font-family:var(--font-body);font-size:var(--font-size-sm)}.admin-meta-grid dt{font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);align-self:center}.admin-meta-grid dd{margin:0;color:var(--text-primary);font-variant-numeric:tabular-nums}.light-mode .admin-meta-grid{background:var(--bg-elevated);border-color:var(--border-color)}.admin-filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.admin-filter-label{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary)}.admin-empty-hint{margin:0;padding:14px 16px;border-radius:var(--radius-xl);border:1px dashed var(--glass-border);color:var(--text-tertiary);font-family:var(--font-body);font-size:var(--font-size-sm);text-align:center}.light-mode .admin-empty-hint{border-color:var(--border-color)}.admin-inline-error{margin:0 0 var(--space-md);padding:10px 14px;border-radius:var(--radius-xl);border:1px solid color-mix(in srgb,var(--error-text) 36%,transparent);background:color-mix(in srgb,var(--error-text) 12%,transparent);color:var(--danger-text);font-family:var(--font-body);font-size:var(--font-size-sm)}.light-mode .admin-inline-error{background:color-mix(in srgb,var(--error-text) 10%,transparent);border-color:color-mix(in srgb,var(--error-text) 38%,transparent);color:var(--error-strong)}.admin-inline-form{display:flex;gap:8px;margin:12px 0;flex-wrap:wrap}.admin-inline-form input,.admin-inline-form .admin-form__input{flex:1;min-width:220px;width:auto}@media (max-width: 480px){.admin-inline-form{flex-direction:column}.admin-inline-form input,.admin-inline-form .admin-form__input,.admin-inline-form button{width:100%}}.admin-section-header+.admin-subtitle{margin-top:4px}.admin-subtitle{margin:0 0 var(--space-md);color:var(--text-secondary);font-family:var(--font-body);font-size:var(--font-size-sm);line-height:1.55}.admin-table-wrapper{margin-top:12px;border-radius:var(--radius-xl);border:1px solid var(--glass-border);background:var(--glass-bg-overlay);overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-table{width:100%;border-collapse:separate;border-spacing:0;font-family:var(--font-body);font-size:var(--font-size-sm)}.admin-table thead th{position:sticky;top:0;z-index:1;padding:11px 14px;text-align:left;font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);background:var(--glass-bg-overlay);border-bottom:1px solid var(--glass-border);white-space:nowrap}.admin-table tbody td{padding:11px 14px;color:var(--text-primary);border-bottom:1px solid var(--glass-border);vertical-align:middle}.admin-table-row--clickable{cursor:pointer;transition:background var(--duration-instant) var(--ease-default)}.admin-table-row--clickable:hover{background:color-mix(in srgb,var(--accent-primary) 6%,transparent)}.admin-table-row--clickable:focus-visible{outline:2px solid var(--accent-primary);outline-offset:-2px}.admin-form-row{display:flex;flex-direction:column;gap:6px}.admin-form-row label{font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary)}.admin-form-row input,.admin-form-row textarea{min-height:42px;padding:11px 14px;border-radius:var(--radius-lg);border:1px solid var(--glass-border);background:var(--glass-bg-overlay);color:var(--text-primary);font-family:var(--font-body);font-size:var(--font-size-body);line-height:1.4;transition:border-color var(--duration-instant) var(--ease-default),box-shadow var(--duration-instant) var(--ease-default),background var(--duration-instant) var(--ease-default)}.admin-form-row input:hover,.admin-form-row textarea:hover{border-color:var(--glass-border-hover)}.admin-form-row input:focus,.admin-form-row textarea:focus{outline:none;border-color:color-mix(in srgb,var(--accent-primary) 65%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-primary) 22%,transparent)}.admin-form-row input::placeholder,.admin-form-row textarea::placeholder{color:var(--text-tertiary)}.admin-form-row textarea{min-height:96px;resize:vertical;font-family:var(--font-body)}.admin-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;justify-content:flex-end;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:admin-panel-fade-in var(--duration-instant) var(--ease-out) both}.admin-panel{width:min(440px,100vw);height:100%;padding:var(--space-lg);background:var(--glass-bg-strong);border-left:1px solid var(--glass-border);box-shadow:var(--glass-shadow-xl);overflow-y:auto;animation:admin-panel-slide-in var(--duration-standard) var(--ease-spring) both}.admin-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md);gap:12px}.admin-panel-section{margin-bottom:var(--space-md)}.admin-panel-section-label{margin-bottom:var(--space-sm);font-family:var(--font-display);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary)}.admin-danger-zone{margin-top:var(--space-lg);padding:var(--space-md);border-radius:var(--radius-xl);border:1px solid color-mix(in srgb,var(--error-text) 30%,transparent);background:color-mix(in srgb,var(--error-text) 6%,transparent)}.admin-danger-actions{display:flex;flex-direction:column;gap:8px}.admin-danger-actions-row{display:flex;gap:8px;flex-wrap:wrap}@keyframes admin-panel-fade-in{0%{opacity:0}to{opacity:1}}@keyframes admin-panel-slide-in{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 768px){.admin-panel{width:100vw;padding:var(--space-md);padding-bottom:calc(var(--space-lg) + env(safe-area-inset-bottom,0px))}.admin-table thead th,.admin-table tbody td{padding:9px 11px}}@media (max-width: 640px){.admin-table,.admin-table thead,.admin-table tbody,.admin-table tr,.admin-table td{display:block}.admin-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.admin-table tbody tr{margin-bottom:10px;padding:12px 14px;border-radius:var(--radius-xl);border:1px solid var(--glass-border);background:var(--glass-bg-overlay);box-shadow:var(--glass-shadow)}.admin-table tbody tr:last-child{margin-bottom:0}.admin-table tbody td{padding:6px 0;border-bottom:none;display:flex;align-items:flex-start;gap:10px;font-size:var(--font-size-sm)}.admin-table tbody td:before{content:attr(data-label);flex-shrink:0;width:110px;font-family:var(--font-display);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);padding-top:2px}.admin-table tbody td a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--accent-primary) 45%,transparent);background:color-mix(in srgb,var(--accent-primary) 12%,transparent);font-size:var(--font-size-sm);font-weight:600;color:var(--accent-text)}.admin-table-wrapper{overflow-x:visible;border:none;background:none;box-shadow:none;border-radius:0}.admin-danger-actions-row{flex-direction:column}}@media (max-width: 640px){.light-mode .admin-table tbody tr{background:var(--bg-elevated);border-color:var(--border-color);box-shadow:none}.light-mode .admin-table-wrapper{background:none;border-color:transparent}}@media (prefers-reduced-motion: reduce){.admin-panel-overlay,.admin-panel{animation:admin-panel-fade-in 60ms linear both}.admin-table-row--clickable{transition:none}}.light-mode .admin-table-wrapper{background:var(--bg-elevated);border-color:var(--border-color)}.light-mode .admin-table thead th{background:var(--bg-elevated);border-bottom-color:var(--border-color)}.light-mode .admin-table tbody td{border-bottom-color:var(--border-color)}.light-mode .admin-table-row--clickable:hover{background:color-mix(in srgb,var(--accent-primary) 9%,transparent)}.light-mode .admin-form-row input,.light-mode .admin-form-row textarea{background:var(--bg-elevated);border-color:var(--border-color)}.light-mode .admin-panel-overlay{background:#231f1d73}.light-mode .admin-panel{background:var(--bg-surface);border-left-color:var(--border-color)}.light-mode .admin-danger-zone{background:color-mix(in srgb,var(--error-text) 8%,transparent);border-color:color-mix(in srgb,var(--error-text) 32%,transparent)}.admin-pp-list{padding:var(--space-md)}.admin-pp-list__header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:var(--space-md)}.admin-pp-list__header h2{margin:0;font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:600;letter-spacing:-.01em;color:var(--text-primary)}.admin-pp-list__table{width:100%;border-collapse:separate;border-spacing:0;font-family:var(--font-body)}.admin-pp-list__table th,.admin-pp-list__table td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--glass-border);vertical-align:middle}.admin-pp-list__table tr:last-child td{border-bottom:none}.admin-pp-list__table th{font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary)}.admin-pp-list__table td code{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;border:1px solid var(--glass-border);background:var(--glass-bg-overlay);font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;color:var(--text-secondary)}.admin-pp-list__desc{color:var(--text-secondary);font-family:var(--font-body);font-size:var(--font-size-sm);line-height:1.5;max-width:480px}.light-mode .admin-pp-list__table th,.light-mode .admin-pp-list__table td{border-bottom-color:var(--border-color)}.light-mode .admin-pp-list__table td code{background:var(--bg-elevated);border-color:var(--border-color)}@media (max-width: 640px){.admin-pp-list__table,.admin-pp-list__table thead,.admin-pp-list__table tbody,.admin-pp-list__table tr,.admin-pp-list__table td{display:block}.admin-pp-list__table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.admin-pp-list__table tbody tr{margin-bottom:10px;padding:12px 14px;border-radius:var(--radius-xl);border:1px solid var(--glass-border);background:var(--glass-bg-overlay);box-shadow:var(--glass-shadow)}.admin-pp-list__table tbody tr:last-child{margin-bottom:0}.admin-pp-list__table tbody td{padding:6px 0;border-bottom:none;display:flex;align-items:flex-start;gap:10px;font-size:var(--font-size-sm)}.admin-pp-list__table tbody td:before{content:attr(data-label);flex-shrink:0;width:100px;font-family:var(--font-display);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);padding-top:2px}.admin-pp-list__table tbody td[data-label=""]:before{display:none}.admin-pp-list__table tbody td[data-label=""] .btn{width:100%;margin-top:4px}.admin-pp-list__desc{max-width:unset}}@media (max-width: 640px){.light-mode .admin-pp-list__table tbody tr{background:var(--bg-elevated);border-color:var(--border-color);box-shadow:none}}.pp-edit{padding:var(--space-md);max-width:960px}.pp-edit__header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:var(--space-md)}.pp-edit__header h2{display:flex;align-items:center;gap:10px;margin:0;font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:600;letter-spacing:-.01em;color:var(--text-primary)}.pp-edit__header h2 code{padding:3px 10px;border-radius:999px;border:1px solid var(--glass-border);background:var(--glass-bg-overlay);font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;font-weight:500;color:var(--text-secondary)}.pp-edit__actions{display:flex;gap:8px;flex-wrap:wrap}.pp-edit__phase,.pp-edit__meta{margin-bottom:12px;padding:var(--space-md);border-radius:var(--radius-xl);border:1px solid var(--glass-border);background:var(--glass-bg-overlay)}.pp-edit__phase legend,.pp-edit__meta legend{display:flex;align-items:center;gap:12px;padding:0 8px;font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary)}.pp-edit__sum{padding:3px 10px;border-radius:999px;border:1px solid var(--glass-border);background:var(--glass-bg);font-family:var(--font-mono, ui-monospace, monospace);font-size:11px;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.pp-edit__phase--ok .pp-edit__sum{border-color:color-mix(in srgb,var(--success-text) 36%,transparent);background:color-mix(in srgb,var(--success-text) 16%,transparent);color:#86efac}.pp-edit__phase--bad .pp-edit__sum{border-color:color-mix(in srgb,var(--error-text) 36%,transparent);background:color-mix(in srgb,var(--error-text) 16%,transparent);color:var(--danger-text)}.pp-edit__field{display:grid;grid-template-columns:1fr 140px;gap:12px;align-items:center;padding:6px 0}.pp-edit__field-key{font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;color:var(--text-secondary)}.pp-edit__field input{min-height:36px;padding:8px 12px;border-radius:var(--radius-lg);border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--text-primary);font-family:var(--font-body);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;text-align:right;transition:border-color var(--duration-instant) var(--ease-default),box-shadow var(--duration-instant) var(--ease-default)}.pp-edit__field input:hover{border-color:var(--glass-border-hover)}.pp-edit__field input:focus-visible{outline:none;border-color:color-mix(in srgb,var(--accent-primary) 65%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-primary) 22%,transparent)}.pp-edit__meta label{display:block;margin-bottom:12px;font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary)}.pp-edit__meta input,.pp-edit__meta textarea{display:block;width:100%;margin-top:6px;padding:10px 14px;border-radius:var(--radius-lg);border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--text-primary);font-family:var(--font-body);font-size:var(--font-size-body);text-transform:none;letter-spacing:normal;transition:border-color var(--duration-instant) var(--ease-default),box-shadow var(--duration-instant) var(--ease-default)}.pp-edit__meta input:focus-visible,.pp-edit__meta textarea:focus-visible{outline:none;border-color:color-mix(in srgb,var(--accent-primary) 65%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-primary) 22%,transparent)}.pp-edit__meta textarea{min-height:80px;resize:vertical}.pp-edit__error{margin:0 0 var(--space-md) 0;padding:12px 16px;border-radius:var(--radius-xl);border:1px solid color-mix(in srgb,var(--error-text) 40%,transparent);background:color-mix(in srgb,var(--error-text) 14%,transparent);color:var(--danger-text);font-family:var(--font-body);font-size:var(--font-size-sm)}.light-mode .pp-edit__phase,.light-mode .pp-edit__meta,.light-mode .pp-edit__header h2 code,.light-mode .pp-edit__sum{background:var(--bg-elevated);border-color:var(--border-color)}.light-mode .pp-edit__phase--ok .pp-edit__sum{background:color-mix(in srgb,var(--success-text) 18%,transparent);border-color:color-mix(in srgb,var(--success-text) 38%,transparent);color:#166534}.light-mode .pp-edit__phase--bad .pp-edit__sum{background:color-mix(in srgb,var(--error-text) 14%,transparent);border-color:color-mix(in srgb,var(--error-text) 40%,transparent);color:var(--error-strong)}.light-mode .pp-edit__field input,.light-mode .pp-edit__meta input,.light-mode .pp-edit__meta textarea{background:var(--bg-surface);border-color:var(--border-color)}.light-mode .pp-edit__error{background:color-mix(in srgb,var(--error-text) 12%,transparent);border-color:color-mix(in srgb,var(--error-text) 38%,transparent);color:var(--error-strong)}@media (max-width: 640px){.pp-edit{padding:var(--space-sm)}.pp-edit__header{flex-direction:column;align-items:flex-start}.pp-edit__actions{width:100%;justify-content:stretch}.pp-edit__actions .btn{flex:1}.pp-edit__field{grid-template-columns:1fr auto;gap:8px}.pp-edit__field input{width:80px;min-height:44px}}.adb-root{display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:var(--space-md);align-items:flex-start}.adb-sidebar{position:sticky;top:var(--space-lg);padding:var(--space-md);max-height:calc(100vh - 200px);overflow-y:auto;border-radius:var(--radius-2xl);border:1px solid var(--glass-border);background:var(--glass-bg);box-shadow:var(--glass-shadow)}.adb-table-list{display:flex;flex-direction:column;gap:2px}.adb-table-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:9px 12px;border:none;border-radius:var(--radius-lg);background:transparent;color:var(--text-secondary);font-family:var(--font-body);font-size:var(--font-size-sm);text-align:left;cursor:pointer;transition:background var(--duration-instant) var(--ease-default),color var(--duration-instant) var(--ease-default)}.adb-table-item:hover{background:var(--glass-border);color:var(--text-primary)}.adb-table-item:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.adb-table-item--active{background:color-mix(in srgb,var(--accent-primary) 18%,transparent);color:var(--accent-text);font-weight:600;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-primary) 35%,transparent)}.adb-table-name{font-family:var(--font-mono, ui-monospace, monospace)}.adb-table-count{font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--font-size-xs);color:var(--text-tertiary);font-variant-numeric:tabular-nums}.adb-main{padding:var(--space-md);min-height:400px}.adb-table-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:var(--space-md)}.adb-pager{display:flex;align-items:center;gap:8px;font-family:var(--font-body);font-size:var(--font-size-sm);color:var(--text-secondary)}.adb-null{color:var(--text-tertiary);font-style:italic}.adb-empty,.adb-loading{padding:var(--space-xl);text-align:center;color:var(--text-tertiary);font-family:var(--font-body);font-size:var(--font-size-sm)}.adb-row-json{flex:1;margin:0;padding:var(--space-md);border-radius:var(--radius-xl);border:1px solid var(--glass-border);background:var(--glass-bg-overlay);color:var(--text-primary);font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--font-size-sm);line-height:1.55;overflow:auto;white-space:pre-wrap;word-break:break-word}@keyframes adb-fade{0%{opacity:0}to{opacity:1}}@keyframes adb-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){.adb-root{grid-template-columns:1fr}.adb-sidebar{position:static;max-height:280px}.adb-table-view .admin-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}}.light-mode .adb-sidebar{background:var(--bg-elevated);border-color:var(--border-color)}.light-mode .adb-table-item:hover{background:#231f1d0d}.light-mode .adb-table-item--active{background:color-mix(in srgb,var(--accent-primary) 20%,transparent);color:var(--accent-text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-primary) 45%,transparent)}.light-mode .adb-row-json{background:var(--bg-elevated);border-color:var(--border-color)}.admin-layout{display:grid;grid-template-columns:15rem minmax(0,1fr);min-height:100%;gap:var(--space-lg);padding:var(--space-lg)}@media (max-width: 900px){.admin-layout{grid-template-columns:1fr;padding:var(--space-md);gap:var(--space-sm)}}.admin-sidebar{position:sticky;top:80px;height:fit-content;padding:14px;border-radius:var(--radius-2xl);border:1px solid var(--glass-border);background:var(--glass-bg);box-shadow:var(--glass-shadow-lg)}@media (max-width: 900px){.admin-sidebar{position:static;padding:10px}.admin-sidebar__nav{flex-direction:row;flex-wrap:wrap;gap:6px}.admin-sidebar__title{margin-bottom:8px}.admin-sidebar__nav a{min-height:44px;display:inline-flex;align-items:center;padding:10px 14px}}.admin-sidebar__title{margin:0 0 12px;padding:4px 8px;font-family:var(--font-display);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary)}.admin-sidebar__nav{display:flex;flex-direction:column;gap:2px}.admin-sidebar__nav a{padding:9px 12px;border-radius:var(--radius-lg);color:var(--text-secondary);font-family:var(--font-body);font-size:var(--font-size-sm);text-decoration:none;transition:background var(--duration-instant) var(--ease-default),color var(--duration-instant) var(--ease-default)}.admin-sidebar__nav a:hover{background:var(--glass-border);color:var(--text-primary)}.admin-sidebar__nav a.is-active{background:color-mix(in srgb,var(--accent-primary) 18%,transparent);color:var(--accent-text);font-weight:600;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-primary) 35%,transparent)}@media (min-width: 901px){.admin-sidebar .scroll-pills{border-bottom:none}.admin-sidebar .scroll-pills__track{flex-direction:column;overflow-x:visible;padding:0;gap:2px;scroll-snap-type:none}.admin-sidebar .scroll-pills__item{width:100%;text-align:left;padding:9px 12px;border-radius:var(--radius-lg)}}.admin-main{display:flex;flex-direction:column;gap:var(--space-md);min-width:0}.admin-warning{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius-xl);border:1px solid color-mix(in srgb,var(--error-text) 36%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--error-text) 14%,transparent),color-mix(in srgb,var(--error-text) 6%,transparent));color:var(--danger-text);font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:500}.admin-card+.admin-card{margin-top:var(--space-md)}.admin-card h1{margin:0 0 var(--space-md);font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:600;letter-spacing:-.02em;color:var(--text-primary)}.admin-card h2{margin:0 0 12px;font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary)}.admin-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--font-size-sm)}.admin-table th,.admin-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--glass-border)}.admin-table th{font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary)}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table a{color:var(--accent-text);text-decoration:none;font-weight:600;transition:color var(--duration-instant) var(--ease-default)}.admin-table a:hover{color:var(--accent-text)}.admin-form{display:flex;flex-direction:column;gap:var(--space-md)}.admin-form__section{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:var(--radius-xl);border:1px solid var(--glass-border);background:var(--glass-bg-overlay)}.admin-form__section-title{font-family:var(--font-display);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary)}.admin-form__row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px}@media (max-width: 560px){.admin-form__row{grid-template-columns:1fr;gap:6px;padding-bottom:8px;border-bottom:1px solid var(--glass-border)}.admin-form__row:last-child{border-bottom:none;padding-bottom:0}.admin-form__input{width:100%}}.admin-form__label{font-family:var(--font-body);font-size:var(--font-size-sm);color:var(--text-secondary)}.admin-form__plan-value{font-family:var(--font-body);font-size:var(--font-size-xs);color:var(--text-tertiary);min-width:3rem;text-align:right;font-variant-numeric:tabular-nums}.admin-form__input{width:8rem;min-height:38px;padding:9px 12px;border-radius:var(--radius-lg);border:1px solid var(--glass-border);background:var(--glass-bg-overlay);color:var(--text-primary);font-family:var(--font-body);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;transition:border-color var(--duration-instant) var(--ease-default),box-shadow var(--duration-instant) var(--ease-default),background var(--duration-instant) var(--ease-default)}.admin-form__input:hover:not(:disabled){border-color:var(--glass-border-hover)}.admin-form__input:focus{outline:none;border-color:color-mix(in srgb,var(--accent-primary) 65%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-primary) 22%,transparent)}.admin-form__input--wide{width:100%}.admin-form__input:disabled{opacity:.45;cursor:not-allowed}.admin-form__checkbox{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-body);font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer}.admin-form__checkbox input[type=checkbox]{width:18px;height:18px;margin:0;border-radius:var(--radius-sm);accent-color:var(--accent-primary);cursor:pointer}.admin-form__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.admin-success{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--success-text) 30%,transparent);background:color-mix(in srgb,var(--success-text) 14%,transparent);color:#86efac;font-family:var(--font-body);font-size:var(--font-size-xs);font-weight:500}.light-mode .admin-sidebar{background:var(--glass-bg);border-color:var(--glass-border);box-shadow:var(--glass-shadow)}.light-mode .admin-sidebar__nav a:hover{background:#231f1d0a}.light-mode .admin-sidebar__nav a.is-active{background:color-mix(in srgb,var(--accent-primary) 22%,transparent);color:var(--accent-text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-primary) 45%,transparent)}.light-mode .admin-warning{background:linear-gradient(180deg,color-mix(in srgb,var(--error-text) 14%,transparent),color-mix(in srgb,var(--error-text) 6%,transparent));border-color:color-mix(in srgb,var(--error-text) 40%,transparent);color:var(--error-strong)}.light-mode .admin-success{background:color-mix(in srgb,var(--success-text) 16%,transparent);border-color:color-mix(in srgb,var(--success-text) 36%,transparent);color:#166534}.schedule-preview{--sp-vet-col: 44px;background:#1e1b19a6;border:1px solid rgba(35,31,29,.2);border-radius:var(--radius-xl);padding:12px;max-width:100%;overflow:hidden}.sp-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(35,31,29,.15)}.sp-header-left{display:flex;align-items:center;gap:10px}.sp-title{font-family:var(--font-display);font-size:12px;font-weight:600;color:var(--text-primary)}.sp-badge{font-size:10px;color:var(--accent-text);background:var(--gold-950);border:1px solid color-mix(in srgb,var(--gold-700) 40%,transparent);border-radius:4px;padding:2px 6px;font-weight:600}.sp-header-right{display:flex;align-items:center;gap:6px}.sp-dot{width:6px;height:6px;border-radius:50%;background:var(--success-text)}.sp-status{font-size:10px;color:var(--text-tertiary)}.sp-grid{display:grid;gap:2px}.sp-cell{text-align:center;font-size:10px;border-radius:3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:flex;align-items:center;justify-content:center}.sp-day{font-size:8px;font-weight:600;color:var(--text-secondary);padding:4px 0 1px;text-transform:uppercase;letter-spacing:.5px}.sp-day--weekend{color:var(--accent-text);opacity:.7}.sp-slot-hdr{font-size:7px;font-weight:500;color:var(--text-tertiary);padding:1px 0 3px;opacity:.6}.sp-vet{text-align:left;font-size:8px;font-weight:500;color:var(--navy-300);padding:4px 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-data{padding:4px 2px;transform:scale(.85);opacity:0;transition:opacity .25s ease,transform .25s ease;font-weight:600;min-height:22px;font-size:8px}.sp-data.sp-visible{opacity:1;transform:scale(1)}.sp-empty{background:#231f1d0f}.sp-site.site-0{background:var(--navy-800);color:var(--navy-200)}.sp-site.site-1{background:var(--gold-900);color:var(--accent-text)}.sp-site.site-2{background:var(--navy-900);color:var(--navy-300)}.sp-oncall-c{background:linear-gradient(135deg,#8b5cf626,#8b5cf614);border:1px solid rgba(238,197,47,.3);color:var(--accent-text);font-size:9px}.sp-oncall-r{background:linear-gradient(135deg,#06b6d41f,#06b6d40f);border:1px solid rgba(238,197,47,.3);color:var(--accent-text);font-size:9px}.sp-legend{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:10px;padding-top:8px;border-top:1px solid rgba(35,31,29,.1)}.sp-legend-sep{width:1px;align-self:stretch;background:#231f1d26}.sp-legend-item{display:flex;align-items:center;gap:4px;font-size:8px;color:var(--text-tertiary)}.sp-legend-dot{width:6px;height:6px;border-radius:2px;flex-shrink:0}.sp-legend-dot.site-0{background:var(--navy-800)}.sp-legend-dot.site-1{background:var(--gold-900)}.sp-legend-dot.site-2{background:var(--navy-900)}.sp-legend-dot.sp-legend-oncall{background:var(--gold-500);border-radius:50%}.light-mode .schedule-preview{background:#f5f4f3cc;border-color:#231f1d26}.light-mode .sp-site.site-0{background:var(--navy-50);color:var(--navy-600)}.light-mode .sp-site.site-1{background:var(--gold-100);color:var(--accent-text)}.light-mode .sp-site.site-2{background:var(--navy-100);color:var(--navy-500)}.light-mode .sp-empty{background:#231f1d0d}.light-mode .sp-oncall-c{background:#8b5cf614;border-color:#eec52f40}.light-mode .sp-oncall-r{background:#06b6d40f;border-color:#eec52f40}@media (max-width: 1100px){.schedule-preview{--sp-vet-col: 48px;padding:12px}.sp-vet{font-size:8px;padding:3px 2px}.sp-data{padding:3px 1px;font-size:8px;min-height:20px}.sp-day{font-size:8px}.sp-slot-hdr{font-size:6px}.sp-legend-item{font-size:7px}.sp-legend{gap:6px 10px}}@media (max-width: 920px){.schedule-preview{--sp-vet-col: 40px}}@media (max-width: 900px){.sp-data{font-size:0;padding:2px 1px;min-height:18px}.sp-data{font-size:9px;overflow:hidden;max-width:100%}.sp-vet{font-size:7px;padding:2px 1px}.sp-day{font-size:7px;letter-spacing:0}.sp-slot-hdr,.sp-legend{display:none}}@media (prefers-reduced-motion: reduce){.sp-data{transition:none;opacity:1;transform:none}}.landing-page{display:flex;min-height:100vh;min-height:100dvh;background:var(--bg-primary)}.landing-left{flex:1 1 0;min-width:0;background:linear-gradient(160deg,#14182a 0%,var(--bg-primary) 60%,#14182a 100%);position:relative;overflow-x:clip;overflow-y:visible;display:flex;flex-direction:column}.light-mode .landing-left{background:linear-gradient(160deg,#f0eeec,#f5f4f3 60%,#faf9f8)}.landing-left-scroll{flex:1;overflow-y:visible;padding:48px 40px;position:relative;z-index:1}.landing-glow{position:absolute;border-radius:50%;pointer-events:none;z-index:0}.landing-glow--green{top:-20%;left:-10%;width:400px;height:400px;background:radial-gradient(circle,rgba(35,31,29,.08) 0%,transparent 70%)}.landing-glow--gold{bottom:-15%;right:10%;width:300px;height:300px;background:radial-gradient(circle,rgba(238,197,47,.05) 0%,transparent 70%)}.light-mode .landing-glow--green{background:radial-gradient(circle,rgba(35,31,29,.12) 0%,transparent 70%)}.light-mode .landing-glow--gold{background:radial-gradient(circle,rgba(238,197,47,.08) 0%,transparent 70%)}.landing-brand{margin-bottom:36px;animation:landingFadeUp .5s var(--ease-default) both}.landing-logo-row{display:flex;align-items:center;gap:14px;margin-bottom:8px}.landing-logo{height:120px;width:auto}.landing-subtitle{font-size:11px;color:var(--text-tertiary);letter-spacing:3px;text-transform:uppercase}.landing-hero{display:flex;flex-direction:column;gap:28px;margin-bottom:40px}.landing-hero-text{flex:0 0 auto;display:flex;flex-direction:column;justify-content:center;max-width:560px}.landing-tagline{font-family:var(--font-display);font-size:38px;color:var(--text-primary);line-height:1.2;margin-bottom:12px;font-weight:300;animation:landingFadeUp .6s var(--ease-default) .1s both}.landing-tagline-accent{color:var(--accent-text)}.landing-description{font-size:15px;color:var(--text-secondary);line-height:1.7;margin-bottom:0;max-width:440px;animation:landingFadeUp .6s var(--ease-default) .2s both}.landing-preview-wrap{flex:1;min-width:0;display:flex;align-items:stretch;animation:landingFadeUp .6s var(--ease-default) .3s both}.landing-preview-wrap .schedule-preview{flex:1;display:flex;flex-direction:column}.landing-preview-wrap .sp-grid{flex:1}.landing-milestones{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:40px;padding:32px 0;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);animation:landingFadeUp .6s var(--ease-default) .4s both}.landing-milestone{text-align:center}.landing-milestone-icon{display:flex;align-items:center;justify-content:center;margin:0 auto 12px;color:var(--accent-text)}.landing-milestone-title{font-family:var(--font-display);font-size:13px;font-weight:600;color:var(--text-primary);margin:0 0 6px}.landing-milestone-desc{font-size:11px;color:var(--text-tertiary);line-height:1.5;margin:0}.landing-testimonial{background:var(--glass-bg-strong);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);padding:28px;margin-bottom:24px;animation:landingFadeUp .6s var(--ease-default) .5s both}.landing-testimonial-quote{position:relative;margin-bottom:20px}.landing-quote-mark{position:absolute;top:-12px;left:-4px;font-size:48px;font-family:Georgia,serif;color:var(--accent-text);line-height:1;opacity:.6}.landing-testimonial-quote p{font-size:15px;color:var(--text-primary);line-height:1.7;margin:0;font-style:italic;padding-left:24px}.landing-testimonial-author{display:flex;align-items:center;gap:12px;padding-left:24px}.landing-testimonial-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#655e5a,#454240);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:var(--yellow-400);flex-shrink:0}.landing-testimonial-name{font-size:14px;font-weight:600;color:var(--text-primary)}.landing-testimonial-clinic{font-size:12px;color:var(--accent-text)}.landing-right{flex:0 0 clamp(340px,32vw,440px);background:linear-gradient(180deg,var(--bg-surface) 0%,var(--bg-elevated) 100%);padding:48px 36px;display:flex;flex-direction:column;justify-content:flex-start;border-left:1px solid var(--border-color);animation:landingSlideIn .5s var(--ease-default) .15s both}.landing-right-inner{width:100%;max-width:360px;margin:0 auto}@media (min-width: 769px){.landing-right-inner{position:sticky;top:48px;align-self:flex-start}}@keyframes landingFadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes landingSlideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion: reduce){.landing-brand,.landing-tagline,.landing-description,.landing-preview-wrap,.landing-milestones,.landing-testimonial,.landing-right{animation:none!important}}@media (max-width: 1024px){.landing-right{padding:40px 28px}.landing-tagline{font-size:32px}.landing-logo{height:100px}.landing-milestones{gap:12px}.landing-left-scroll{padding:32px 24px}}@media (max-width: 768px){.landing-page{flex-direction:column;min-height:100vh;min-height:100dvh}.landing-left{flex:0 0 auto}.landing-left-scroll{padding:28px 20px 20px;overflow-y:visible}.landing-preview-wrap{display:none}.landing-hero{gap:16px;margin-bottom:28px}.landing-brand{margin-bottom:20px}.landing-logo{height:72px}.landing-milestones{grid-template-columns:repeat(2,1fr);gap:14px;padding:20px 0;margin-bottom:24px}.landing-tagline{font-size:26px}.landing-description{font-size:14px;margin-bottom:16px}.landing-testimonial{padding:20px;margin-bottom:16px}.landing-right{flex:0 0 auto;width:100%;border-left:none;border-top:1px solid var(--border-color);padding:28px 20px 32px;animation:landingFadeUp .4s var(--ease-default) .1s both}.landing-right-inner{max-width:none}}@media (max-width: 420px){.landing-left-scroll{padding:20px 16px 16px}.landing-tagline{font-size:22px}.landing-milestones{grid-template-columns:1fr 1fr;gap:10px;padding:16px 0}.landing-right{padding:24px 16px}}.auth-heading{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--text-primary);margin-bottom:4px;font-weight:400}.auth-subtitle{color:var(--text-secondary);margin-bottom:28px;font-size:var(--text-sm)}.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--text-tertiary);font-size:var(--text-xs)}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-top:1px solid var(--border-color)}.auth-form{display:flex;flex-direction:column;gap:18px}.auth-field label{display:block;margin-bottom:6px;font-size:var(--text-sm);font-weight:500;color:var(--text-primary)}.auth-field input{width:100%;padding:12px 14px;border:1px solid var(--input-border);border-radius:var(--radius-lg);font-size:var(--text-sm);background-color:var(--input-bg);color:var(--text-primary);transition:border-color .2s,box-shadow .2s,background-color .2s}.auth-field input:focus{outline:none;border-color:var(--accent-primary);box-shadow:var(--shadow-glow)}.auth-field input::placeholder{color:var(--text-tertiary)}.auth-password-wrapper{position:relative;display:flex;align-items:center}.auth-password-wrapper input{padding-right:44px}.auth-password-toggle{position:absolute;right:4px}.auth-link{text-align:center;font-size:14px;color:var(--text-secondary)}.auth-link a{color:var(--accent-text);text-decoration:none;font-weight:500;transition:color .15s}.auth-link a:hover{text-decoration:underline}.auth-error{background-color:var(--error-bg);color:var(--danger-text);padding:10px 14px;border-radius:var(--radius-md);font-size:14px;border:1px solid var(--error-border)}.auth-success{background-color:var(--success-bg);color:var(--success-text);padding:10px 14px;border-radius:var(--radius-md);font-size:14px;border:1px solid var(--success-border)}.auth-link-button{background:none;border:none;color:var(--accent-text);text-decoration:underline;cursor:pointer;padding:0;font-size:inherit}.auth-link-button:disabled{opacity:.6;cursor:not-allowed}.compare-view{padding:24px;max-width:1400px;margin:0 auto;box-sizing:border-box;min-width:0}.compare-view__header{display:flex;margin-bottom:16px}@media (max-width: 640px){.compare-view{padding:12px;overflow-x:hidden}}.clrv{--clrv-radius: 16px;--clrv-radius-sm: 12px;--clrv-radius-xs: 8px;--clrv-gap: 14px;--clrv-trans: .16s var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1));--clrv-surface: linear-gradient( 180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .02) );--clrv-surface-hover: linear-gradient( 180deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .03) );--clrv-border: rgba(255, 255, 255, .1);--clrv-border-hover: rgba(255, 255, 255, .18);--clrv-shadow: 0 4px 14px rgba(0, 0, 0, .14), inset 0 1px 0 rgba(255, 255, 255, .05);--clrv-shadow-hover: 0 18px 50px rgba(0, 0, 0, .22), inset 0 1px 0 rgba(255, 255, 255, .07);--clrv-pending-bg: rgba(238, 197, 47, .22);--clrv-pending-border: var(--yellow-400);--clrv-pending-fg: var(--yellow-300);--clrv-approved-bg: rgba(80, 200, 140, .2);--clrv-approved-border: rgba(80, 200, 140, .5);--clrv-approved-fg: rgb(150, 230, 190);--clrv-rejected-bg: rgba(220, 90, 90, .18);--clrv-rejected-border: rgba(220, 90, 90, .46);--clrv-rejected-fg: rgb(245, 170, 170);display:flex;flex-direction:column;gap:20px;max-width:1080px;margin:0 auto;padding:28px 20px 64px;width:100%;box-sizing:border-box}.clrv-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 20px;border-radius:var(--clrv-radius);background:var(--clrv-surface);border:1px solid var(--clrv-border);box-shadow:var(--clrv-shadow);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.clrv-header h1{margin:0;font-size:18px;font-weight:600;letter-spacing:.01em;color:var(--text-primary)}.clrv-filter{display:inline-flex;align-items:center;gap:10px}.clrv-filter-label{font-size:12px;font-weight:500;color:var(--text-secondary)}.clrv-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.clrv-empty{display:flex;align-items:center;justify-content:center;min-height:120px;padding:24px 18px;border-radius:var(--clrv-radius);background:linear-gradient(180deg,#ffffff06,#ffffff03);border:1px dashed rgba(255,255,255,.1);color:var(--text-tertiary);font-size:13px;text-align:center}.clrv-item{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:var(--clrv-radius-sm);background:var(--clrv-surface);border:1px solid var(--clrv-border);box-shadow:var(--clrv-shadow);transition:background var(--clrv-trans),border-color var(--clrv-trans),box-shadow var(--clrv-trans),transform var(--clrv-trans)}.clrv-item:hover{background:var(--clrv-surface-hover);border-color:var(--clrv-border-hover);box-shadow:var(--clrv-shadow-hover);transform:translateY(-1px)}.clrv-line{display:grid;grid-template-columns:minmax(140px,1.4fr) minmax(110px,max-content) 1fr auto;align-items:center;gap:12px}.clrv-vet{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clrv-kind{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--text-secondary);white-space:nowrap}.clrv-kind:before{content:"";display:inline-block;width:6px;height:6px;border-radius:999px;background:var(--text-tertiary)}.clrv-kind--off:before{background:var(--yellow-400)}.clrv-kind--work:before{background:#78c3f0}.clrv-kind--rest:before{background:var(--success-300)}.clrv-dates{font-size:12px;color:var(--text-secondary);font-variant-numeric:tabular-nums;letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clrv-status{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:3px 10px;border-radius:999px;border:1px solid transparent;font-size:11px;font-weight:600;letter-spacing:.03em;white-space:nowrap}.clrv-pending .clrv-status{background:var(--clrv-pending-bg);border-color:var(--clrv-pending-border);color:var(--clrv-pending-fg)}.clrv-approved .clrv-status{background:var(--clrv-approved-bg);border-color:var(--clrv-approved-border);color:var(--clrv-approved-fg)}.clrv-rejected .clrv-status{background:var(--clrv-rejected-bg);border-color:var(--clrv-rejected-border);color:var(--clrv-rejected-fg)}.clrv-note{margin:0;padding:8px 12px;border-left:2px solid var(--clrv-border-hover);font-size:12px;font-style:italic;color:var(--text-secondary);line-height:1.5;word-break:break-word}.clrv-hint{margin:0;font-size:12px;color:var(--text-secondary);line-height:1.5}.clrv-purge{align-self:flex-start;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 12px;border-radius:var(--clrv-radius-sm);background:transparent;border:1px solid rgba(220,90,90,.32);color:#f5aaaa;font-family:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:background var(--clrv-trans),border-color var(--clrv-trans),color var(--clrv-trans),transform var(--clrv-trans)}.clrv-purge:hover{background:#dc5a5a24;border-color:#dc5a5a8c}.clrv-purge:active{transform:scale(.97)}.clrv-purge:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.clrv-purge:disabled{opacity:.5;cursor:not-allowed;transform:none}.clrv-error{padding:12px 14px;border-radius:var(--clrv-radius-sm);background:#dc5a5a1a;border:1px solid rgba(220,90,90,.32);color:#f5aaaa;font-size:12px}.light-mode .clrv{--clrv-surface: linear-gradient( 180deg, rgba(255, 255, 255, .88), rgba(255, 255, 255, .62) );--clrv-surface-hover: linear-gradient( 180deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, .82) );--clrv-border: rgba(35, 31, 29, .1);--clrv-border-hover: rgba(35, 31, 29, .18);--clrv-shadow: 0 4px 14px rgba(0, 0, 0, .05), inset 0 1px 0 rgba(255, 255, 255, .55);--clrv-shadow-hover: 0 18px 50px rgba(0, 0, 0, .08), inset 0 1px 0 rgba(255, 255, 255, .7);--clrv-pending-bg: rgba(238, 197, 47, .26);--clrv-pending-border: var(--yellow-500);--clrv-pending-fg: var(--yellow-700);--clrv-approved-bg: rgba(40, 150, 95, .16);--clrv-approved-border: rgba(40, 150, 95, .46);--clrv-approved-fg: rgb(30, 110, 70);--clrv-rejected-bg: rgba(200, 60, 60, .14);--clrv-rejected-border: rgba(200, 60, 60, .46);--clrv-rejected-fg: rgb(160, 40, 40)}.light-mode .clrv-empty{background:linear-gradient(180deg,#231f1d08,#231f1d03);border-color:#231f1d1f;color:var(--text-tertiary)}.light-mode .clrv-purge{border-color:#c83c3c52;color:#a02828}.light-mode .clrv-purge:hover{background:#c83c3c1a;border-color:#c83c3c8c}.light-mode .clrv-error{background:#c83c3c14;border-color:#c83c3c52;color:#a02828}@media (max-width: 640px){.clrv{padding:20px 12px 56px;overflow-x:hidden}.clrv-header{padding:14px;flex-direction:column;align-items:flex-start;gap:10px}.clrv-header h1{font-size:16px}.clrv-filter{width:100%;justify-content:space-between}.clrv-select{flex:1;min-width:0}.clrv-line{grid-template-columns:1fr auto;grid-template-areas:"vet    status" "kind   kind" "dates  dates";row-gap:6px}.clrv-vet{grid-area:vet;min-width:0}.clrv-kind{grid-area:kind}.clrv-dates{grid-area:dates;white-space:normal;word-break:break-all}.clrv-status{grid-area:status;justify-self:end}.clrv-purge{width:100%;min-height:44px;padding:6px 14px;box-sizing:border-box}}@media (prefers-reduced-motion: reduce){.clrv-item,.clrv-purge{transition:none}.clrv-item:hover,.clrv-purge:active{transform:none}}.ai-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:32px 16px}.ai-card{width:100%;max-width:440px}.ai-title{margin:0 0 8px;font-size:22px;font-weight:600}.ai-desc{margin:0 0 24px;color:var(--text-secondary);font-size:14px}.ai-form{display:flex;flex-direction:column;gap:16px}.ai-label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;color:var(--text-secondary)}.ai-input{padding:10px 12px;border-radius:var(--radius-lg);border:1px solid var(--glass-border);background:var(--glass-bg-overlay);color:var(--text-primary);font-size:14px}.ai-input:focus{outline:2px solid var(--accent-primary);outline-offset:1px}.ai-submit{margin-top:8px;padding:12px 16px;border-radius:var(--radius-xl);border:none;background:linear-gradient(180deg,var(--yellow-400),var(--yellow-500));color:var(--on-accent);font-weight:600;font-size:14px;cursor:pointer;transition:transform var(--duration-instant) var(--ease-spring)}.ai-submit:not(:disabled):hover{transform:translateY(-1px)}.ai-submit:disabled{opacity:.55;cursor:not-allowed}.ai-error{color:var(--danger-text);font-size:13px}.ambient-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;overflow:hidden;--mx: 0px;--my: 0px}.ambient-blob{position:absolute;border-radius:50%;opacity:0;animation-fill-mode:forwards}.ambient-blob--1{width:50vw;height:50vw;top:-15%;left:-10%;background:radial-gradient(circle,rgba(35,31,29,.12) 0%,transparent 70%);animation:blobFadeIn 2s ease-out .2s forwards}.ambient-blob--2{width:40vw;height:40vw;bottom:-10%;right:-5%;background:radial-gradient(circle,rgba(238,197,47,.06) 0%,transparent 70%);animation:blobFadeIn 2s ease-out .5s forwards}.ambient-blob--3{width:35vw;height:35vw;top:30%;right:15%;background:radial-gradient(circle,rgba(74,126,240,.07) 0%,transparent 70%);animation:blobFadeIn 2s ease-out .8s forwards}.ambient-blob--4{width:45vw;height:45vw;top:50%;left:-5%;background:radial-gradient(circle,rgba(74,126,240,.08) 0%,transparent 70%);animation:blobFadeIn 2s ease-out 1.1s forwards}.ambient-blob--5{width:30vw;height:30vw;top:-5%;right:20%;background:radial-gradient(circle,rgba(201,164,27,.04) 0%,transparent 70%);animation:blobFadeIn 2s ease-out 1.4s forwards}@keyframes blobDrift1{0%{transform:translate(0) scale(1)}50%{transform:translate(4vw,3vh) scale(1.05)}to{transform:translate(-3vw,5vh) scale(.97)}}@keyframes blobDrift2{0%{transform:translate(0) scale(1)}50%{transform:translate(-5vw,-2vh) scale(1.08)}to{transform:translate(3vw,-4vh) scale(.95)}}@keyframes blobDrift3{0%{transform:translate(0) scale(1)}50%{transform:translate(-3vw,4vh) scale(1.03)}to{transform:translate(2vw,-3vh) scale(1.06)}}@keyframes blobDrift4{0%{transform:translate(0) scale(1)}50%{transform:translate(5vw,-3vh) scale(.96)}to{transform:translate(-2vw,4vh) scale(1.04)}}@keyframes blobDrift5{0%{transform:translate(0) scale(1)}50%{transform:translate(-4vw,2vh) scale(1.07)}to{transform:translate(3vw,3vh) scale(.98)}}@keyframes blobFadeIn{to{opacity:1}}.ambient-grain{position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;width:200%;height:200%;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:128px 128px;opacity:.025;pointer-events:none;mix-blend-mode:overlay}.ambient-fog{display:none}@keyframes fogDrift{0%{transform:translate(0) scale(1) rotate(0)}33%{transform:translate(3vw,-2vh) scale(1.04) rotate(.5deg)}66%{transform:translate(-2vw,3vh) scale(.97) rotate(-.3deg)}to{transform:translate(1vw,-1vh) scale(1.02) rotate(.2deg)}}.light-mode .ambient-fog{background:radial-gradient(ellipse 50% 40% at 30% 40%,rgba(35,31,29,.03) 0%,transparent 60%),radial-gradient(ellipse 40% 50% at 70% 60%,rgba(238,197,47,.02) 0%,transparent 60%),radial-gradient(ellipse 35% 35% at 50% 30%,rgba(74,126,240,.02) 0%,transparent 55%)}.ambient-vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 70% 60% at 50% 50%,transparent 40%,rgba(0,0,0,.4) 100%);pointer-events:none}.light-mode .ambient-blob--1{background:radial-gradient(circle,rgba(35,31,29,.08) 0%,transparent 70%)}.light-mode .ambient-blob--2{background:radial-gradient(circle,rgba(238,197,47,.05) 0%,transparent 70%)}.light-mode .ambient-blob--3{background:radial-gradient(circle,rgba(74,126,240,.05) 0%,transparent 70%)}.light-mode .ambient-blob--4{background:radial-gradient(circle,rgba(35,31,29,.06) 0%,transparent 70%)}.light-mode .ambient-blob--5{background:radial-gradient(circle,rgba(201,164,27,.03) 0%,transparent 70%)}.light-mode .ambient-grain{opacity:.015}.light-mode .ambient-vignette{background:radial-gradient(ellipse 70% 60% at 50% 50%,transparent 40%,rgba(0,0,0,.08) 100%)}@media (prefers-reduced-motion: reduce){.ambient-blob{animation:blobFadeIn .5s ease-out forwards!important;translate:0 0!important;transition:none!important}.ambient-fog{display:none}.ambient-grain{animation:none}}.ob-wizard{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background:var(--bg-primary)}.ob-skip-row{display:flex;flex-direction:column;align-items:center;gap:4px;padding:0 24px 40px}.ob-skip{background:none;border:none;padding:12px 16px;min-height:44px;border-radius:var(--radius-md);color:var(--text-secondary);font-size:14px;font-weight:500;text-decoration:underline;text-underline-offset:3px;cursor:pointer;transition:color .14s ease}.ob-skip:hover{color:var(--text-primary);background:none}.ob-skip:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.ob-skip-hint{margin:0;color:var(--text-tertiary);font-size:12px;text-align:center}@media (prefers-reduced-motion: reduce){.ob-skip{transition:none}}.app-layout{display:flex;min-height:100vh;min-height:100dvh}.app-main{flex:1;display:flex;flex-direction:column;min-width:0}.app-content{flex:1;padding:24px;overflow-y:auto}@media (max-width: 768px){.app-content{padding:16px;padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px) + 16px)}}*{margin:0;padding:0;box-sizing:border-box}:root{--yellow-50: #FEFBEB;--yellow-100: #FDF4CC;--yellow-200: #FAEA99;--yellow-300: #F7DE66;--yellow-400: #F3D23E;--yellow-500: #EEC52F;--yellow-600: #C9A41B;--yellow-700: #967B14;--yellow-800: #64530E;--yellow-900: #3B3108;--yellow-950: #251F05;--carbon-50: #F5F4F3;--carbon-100: #E8E6E4;--carbon-200: #CCC8C5;--carbon-300: #AFA9A5;--carbon-400: #8A8380;--carbon-500: #655E5A;--carbon-600: #4A4542;--carbon-700: #363230;--carbon-800: #2D2926;--carbon-900: #231F1D;--carbon-950: #161311;--blue-50: #EEF3FF;--blue-100: #D9E4FF;--blue-200: #B3C9FF;--blue-300: #8DAFFF;--blue-400: #6395FF;--blue-500: #4A7EF0;--blue-600: #3666D4;--blue-700: #284DA8;--blue-800: #1C377A;--blue-900: #12234E;--blue-950: #0B1630;--neutral-50: #FAF9F8;--neutral-100: #F0EEEC;--neutral-200: #E0DEDA;--neutral-300: #CCC8C5;--neutral-400: #A5A09C;--neutral-500: #7D7874;--neutral-600: #605C58;--neutral-700: #454240;--neutral-800: #2E2B29;--neutral-900: #231F1D;--neutral-950: #1A1816;--gold-50: var(--yellow-50);--gold-100: var(--yellow-100);--gold-200: var(--yellow-200);--gold-300: var(--yellow-300);--gold-400: var(--yellow-400);--gold-500: var(--yellow-500);--gold-600: var(--yellow-600);--gold-700: var(--yellow-700);--gold-800: var(--yellow-800);--gold-900: var(--yellow-900);--gold-950: var(--yellow-950);--navy-50: var(--carbon-50);--navy-100: var(--carbon-100);--navy-200: var(--carbon-200);--navy-300: var(--carbon-300);--navy-400: var(--carbon-400);--navy-500: var(--carbon-500);--navy-600: var(--carbon-600);--navy-700: var(--carbon-700);--navy-800: var(--carbon-800);--navy-900: var(--carbon-900);--navy-950: var(--carbon-950);--success-100: #dcfce7;--success-300: #4ade80;--success-500: #16a34a;--text-muted-static: #666;--chart-bg-base: #0f121b;--oncall-label-tint: #fff5d6;--yellow-ink: #241b00;--yellow-ink-strong: #1a1408;--color-rural: rgba(71, 128, 255, .55);--color-oncall: rgba(230, 193, 90, .75);--font-display: "Space Grotesk", sans-serif;--font-body: "Space Grotesk", -apple-system, BlinkMacSystemFont, sans-serif;--radius-xl: 12px;--radius-2xl: 18px;--radius-3xl: 24px;--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 900;--z-modal: 1000;--z-toast: 1100;--z-max: 2000;--glass-bg: linear-gradient(180deg, #202636 0%, #1a1f2c 100%);--glass-bg-strong: linear-gradient(180deg, #272e40 0%, #1d222f 100%);--glass-bg-overlay: linear-gradient(180deg, #191e2a 0%, #0f121b 100%);--glass-glaze: linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .02));--glass-border: rgba(255, 255, 255, .1);--glass-border-hover: rgba(255, 255, 255, .16);--glass-shadow: 0 18px 40px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.05);--glass-shadow-lg: 0 20px 70px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.05);--glass-shadow-xl: 0 20px 80px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.05);--surface-section-bg: linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .02));--surface-section-border: rgba(255, 255, 255, .08);--surface-section-radius: var(--radius-3xl);--surface-tile-radius: var(--radius-2xl);--surface-section-shadow: 0 18px 50px rgba(0, 0, 0, .18), inset 0 1px 0 rgba(255, 255, 255, .04);--surface-section-padding: 14px;--surface-section-padding-lg: 20px;--surface-section-gap: 12px;--surface-stack-gap: 16px;--surface-divider: rgba(255, 255, 255, .06);--surface-item-bg: linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .02));--surface-item-bg-hover: linear-gradient(180deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .03));--surface-item-border: rgba(255, 255, 255, .08);--surface-item-border-hover: rgba(255, 255, 255, .18);--surface-item-radius: var(--radius-xl);--surface-item-padding: 12px 14px;--surface-item-shadow: inset 0 1px 0 rgba(255, 255, 255, .03);--surface-item-shadow-hover: 0 12px 30px rgba(0, 0, 0, .18), inset 0 1px 0 rgba(255, 255, 255, .05);--surface-item-selected-bg: linear-gradient(180deg, rgba(255, 220, 120, .09), rgba(255, 255, 255, .03));--surface-item-selected-border: rgba(243, 210, 62, .55);--surface-item-selected-shadow: 0 14px 38px rgba(0, 0, 0, .22), 0 0 0 1px rgba(243, 210, 62, .18), inset 0 1px 0 rgba(255, 255, 255, .05);--surface-overlay-bg: linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .02)), linear-gradient(var(--bg-surface), var(--bg-surface));--section-title-font: var(--font-display);--section-title-size: 13px;--section-title-weight: 600;--section-title-tracking: .06em;--section-title-case: uppercase;--section-title-color: var(--text-secondary);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-glow: 0 0 12px rgba(238, 197, 47, .15);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--duration-instant: .15s;--duration-quick: .2s;--duration-standard: .25s;--duration-elaborate: .4s;--ease-default: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--bg-primary: #10141d;--bg-surface: #181d28;--bg-elevated: #252c3c;--bg-secondary: var(--bg-surface);--bg-tertiary: var(--bg-elevated);--text-primary: #F0EEEC;--text-secondary: #B3AEAA;--text-tertiary: #A8A39F;--border-color: rgba(204, 200, 197, .12);--border-light: rgba(204, 200, 197, .06);--accent-primary: var(--yellow-500);--accent-primary-hover: var(--yellow-400);--accent-primary-light: var(--yellow-900);--on-accent: var(--yellow-ink);--on-danger: #ffffff;--danger-fill: var(--error-strong);--danger-fill-hover: var(--error-border);--accent-text: var(--yellow-400);--accent-tint-bg: color-mix(in srgb, var(--accent-primary) 14%, var(--bg-surface));--accent-tint-bg-strong: color-mix(in srgb, var(--accent-primary) 22%, var(--bg-surface));--state-hover-bg: rgba(255, 255, 255, .07);--state-active-bg: rgba(255, 255, 255, .12);--danger-text: #fb8f8f;--info-ink: var(--blue-300);--purple-ink: #a78bfa;--accent-secondary: #363230;--accent-secondary-hover: #8A8380;--accent-secondary-light: #1e1b19;--error-bg: #2e2020;--error-text: #ef4444;--error-border: #dc2626;--error-tint: #fca5a5;--error-strong: #b91c1c;--success-bg: #1e261e;--success-text: #22c55e;--success-border: #16a34a;--warning-bg: #2a2518;--warning-text: #f59e0b;--warning-border: #d97706;--info-bg: var(--blue-950);--info-text: var(--blue-400);--info-border: var(--blue-600);--card-bg: var(--bg-surface);--input-bg: var(--bg-surface);--input-border: var(--border-color);--input-focus: var(--yellow-500);--header-bg: var(--bg-surface);--header-shadow: rgba(0, 0, 0, .5);--status-good: #22c55e;--status-moderate: #f59e0b;--status-poor: #ef4444;--accent-sage: var(--carbon-500);--accent-blue: var(--blue-500);--accent-coral: var(--blue-500);--accent-purple: #8b5cf6;--rest-accent: var(--success-text);--interrupted-bg: #451a03;--interrupted-text: #fb923c;--interrupted-border: #92400e;--interrupted-heading: #fcd34d;--interrupted-subtext: #d97706;--interrupted-badge-bg: #7c2d12;--interrupted-icon: #fbbf24;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-body: 15px;--font-size-md: 16px;--font-size-lg: 20px;--font-size-xl: 26px;--font-size-title: 32px;--header-height: 64px;--bottom-nav-height: 0px;--content-max-width: 1400px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--route-1: #3987e5;--route-2: #d95926;--route-3: #199e70;--route-4: #c98500;--route-5: #d55181;--route-6: #008300;--route-7: #9085e9;--route-8: #e66767;--route-ink-1: var(--carbon-950);--route-ink-2: var(--carbon-950);--route-ink-3: var(--carbon-950);--route-ink-4: var(--carbon-950);--route-ink-5: var(--carbon-950);--route-ink-6: var(--carbon-50);--route-ink-7: var(--carbon-950);--route-ink-8: var(--carbon-950)}.light-mode{--route-1: #2468bd;--route-2: #eb6834;--route-3: #1baf7a;--route-4: #eda100;--route-5: #e87ba4;--route-6: #008300;--route-7: #4a3aa7;--route-8: #e34948;--route-ink-1: var(--carbon-50);--route-ink-6: var(--carbon-50);--route-ink-7: var(--carbon-50);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .14);--shadow-glow: 0 0 12px rgba(238, 197, 47, .2);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--bg-primary: #FDFCF9;--bg-surface: #FAF9F8;--bg-elevated: #FDFCF9;--bg-secondary: var(--bg-surface);--bg-tertiary: #F0EEEC;--text-primary: #231F1D;--text-secondary: #605C58;--text-tertiary: #6F6A64;--border-color: rgba(35, 31, 29, .15);--border-light: rgba(35, 31, 29, .07);--accent-primary: var(--yellow-500);--accent-primary-hover: var(--yellow-400);--accent-primary-light: var(--yellow-100);--accent-text: var(--yellow-800);--accent-tint-bg: color-mix(in srgb, var(--accent-primary) 14%, var(--bg-surface));--accent-tint-bg-strong: color-mix(in srgb, var(--accent-primary) 22%, var(--bg-surface));--state-hover-bg: rgba(35, 31, 29, .06);--state-active-bg: rgba(35, 31, 29, .1);--danger-text: var(--error-strong);--info-ink: var(--blue-700);--purple-ink: #6d28d9;--accent-secondary: var(--carbon-500);--accent-secondary-hover: var(--carbon-600);--accent-secondary-light: var(--carbon-100);--error-bg: #FDF2F0;--error-text: #ef4444;--error-border: #dc2626;--success-bg: #EBF2EC;--success-text: #166534;--success-border: #16a34a;--warning-bg: #FDF3E0;--warning-text: #92400e;--warning-border: #d97706;--info-bg: var(--blue-50);--info-text: var(--blue-500);--info-border: var(--blue-600);--card-bg: #FDFCF9;--input-bg: #FAF9F8;--input-border: rgba(35, 31, 29, .12);--input-focus: var(--yellow-500);--header-bg: #FDFCF9;--header-shadow: rgba(0, 0, 0, .08);--status-good: #22c55e;--status-moderate: #f59e0b;--status-poor: #ef4444;--accent-sage: var(--carbon-500);--accent-blue: var(--blue-500);--accent-coral: var(--blue-500);--accent-purple: #8b5cf6;--rest-accent: var(--success-text);--interrupted-bg: #fff7ed;--interrupted-text: #c2410c;--interrupted-border: #fed7aa;--interrupted-heading: #9a3412;--interrupted-subtext: #ea580c;--interrupted-badge-bg: #ffedd5;--interrupted-icon: #f97316;--glass-bg: linear-gradient(180deg, #FAF9F8 0%, #F5F4F3 100%);--glass-bg-strong: linear-gradient(180deg, #FDFCF9 0%, #F5F4F3 100%);--glass-bg-overlay: linear-gradient(180deg, #FDFCF9 0%, #FAF9F8 100%);--glass-border: rgba(0, 0, 0, .08);--glass-border-hover: rgba(0, 0, 0, .14);--glass-shadow: 0 18px 40px rgba(0,0,0,.06), inset 0 1px 0 rgba(255,255,255,.8);--glass-shadow-lg: 0 20px 70px rgba(0,0,0,.08), inset 0 1px 0 rgba(255,255,255,.8);--glass-shadow-xl: 0 20px 80px rgba(0,0,0,.1), inset 0 1px 0 rgba(255,255,255,.8);--surface-section-bg: linear-gradient(180deg, rgba(255, 255, 255, .7), rgba(255, 255, 255, .45));--surface-section-border: rgba(0, 0, 0, .08);--surface-section-shadow: 0 18px 50px rgba(0, 0, 0, .06), inset 0 1px 0 rgba(255, 255, 255, .5);--surface-divider: rgba(0, 0, 0, .06);--surface-item-bg: linear-gradient(180deg, rgba(255, 255, 255, .85), rgba(255, 255, 255, .5));--surface-item-bg-hover: linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(255, 255, 255, .6));--surface-item-border: rgba(0, 0, 0, .07);--surface-item-border-hover: rgba(0, 0, 0, .14);--surface-item-shadow: inset 0 1px 0 rgba(255, 255, 255, .7);--surface-item-shadow-hover: 0 10px 24px rgba(0, 0, 0, .06), inset 0 1px 0 rgba(255, 255, 255, .8);--surface-item-selected-bg: linear-gradient(180deg, rgba(243, 210, 62, .18), rgba(243, 210, 62, .06));--surface-item-selected-border: rgba(190, 150, 30, .55);--surface-item-selected-shadow: 0 12px 28px rgba(0, 0, 0, .08), 0 0 0 1px rgba(190, 150, 30, .18);--surface-overlay-bg: linear-gradient(180deg, rgba(255, 255, 255, .7), rgba(255, 255, 255, .45)), linear-gradient(var(--bg-surface), var(--bg-surface));--section-title-color: rgba(0, 0, 0, .7);--color-rural: rgba(71, 128, 255, .65);--color-oncall: rgba(230, 193, 90, .8)}body{font-family:var(--font-body);background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease;line-height:1.5}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;margin-bottom:16px;line-height:1.3}.container{max-width:1200px;margin:0 auto;padding:20px}button{padding:0;background:none;color:inherit;border:none;border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-body);font-size:14px;font-weight:500}button:disabled{cursor:not-allowed}input,select,textarea{padding:8px;border:1px solid var(--input-border);border-radius:var(--radius-md);font-family:var(--font-body);font-size:14px;background-color:var(--input-bg);color:var(--text-primary);transition:all .2s ease}input:focus,select:focus,textarea:focus{border-color:var(--accent-primary);box-shadow:var(--shadow-glow)}input:focus:not(:focus-visible),select:focus:not(:focus-visible),textarea:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.loading{text-align:center;padding:40px;color:var(--text-secondary)}.error{background-color:var(--error-bg);color:var(--error-text);padding:12px;border-radius:var(--radius-md);margin-bottom:16px;transition:all .3s ease}.success{background-color:var(--success-bg);color:var(--success-text);padding:12px;border-radius:var(--radius-md);margin-bottom:16px;transition:all .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.93)}to{opacity:1;transform:scale(1)}}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:0ms!important;transition-duration:0ms!important}}.animate-fade-in{animation:fadeIn var(--duration-elaborate) var(--ease-out-expo)}@media (max-width: 768px){:root{--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--font-size-body: 14px;--font-size-md: 15px;--font-size-lg: 18px;--font-size-xl: 22px;--font-size-title: 26px;--header-height: 48px;--bottom-nav-height: 60px}input,select,textarea{font-size:16px}}
