@import"https://fonts.googleapis.com/css2?family=Source+Code+Pro:ital,wght@0,200..900;1,200..900&family=Source+Sans+3:ital,wght@0,200..900;1,200..900&display=swap";:root{--color-background: #fdfcfa;--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-text: #2d2a26;--color-text-secondary: #5c5650;--color-text-muted: #9a928a;--color-text-inverse: #ffffff;--color-border: #e8e4df;--color-border-subtle: #f3f0ec;--color-accent: #e07a5f;--color-accent-hover: #c9655c;--color-accent-subtle: #fdf0ed;--color-accent-contrast: #ffffff;--color-accent-background: #fdf0ed;--color-secondary: #81b29a;--color-secondary-hover: #6a9a82;--color-secondary-subtle: #e8f4ed;--color-tertiary: #f2cc8f;--color-tertiary-hover: #e5b86b;--color-tertiary-subtle: #fef9f0;--color-today: #fff8f0;--color-today-border: #e07a5f;--color-selected: #fdf0ed;--color-selected-border: #e07a5f;--color-hover: #faf8f6;--color-event-default: #e07a5f;--color-event-allday: #81b29a;--color-event-text: #ffffff;--color-focus-ring: rgba(224, 122, 95, .4);--focus-ring-width: 2px;--focus-ring-offset: 2px;--color-overlay: rgba(45, 42, 38, .35);--gradient-primary: linear-gradient(135deg, #e07a5f 0%, #c9655c 100%);--gradient-secondary: linear-gradient(135deg, #81b29a 0%, #6a9a82 100%);--gradient-surface: linear-gradient(180deg, #ffffff 0%, #fdfcfa 100%);--gradient-header: linear-gradient(180deg, #ffffff 0%, #faf8f6 100%);--gradient-warm-subtle: linear-gradient(135deg, #fdf0ed 0%, #fff8f0 100%);--shadow-sm: 0 1px 2px rgba(45, 42, 38, .04);--shadow-md: 0 4px 6px rgba(45, 42, 38, .06), 0 2px 4px rgba(45, 42, 38, .04);--shadow-lg: 0 10px 15px rgba(45, 42, 38, .08), 0 4px 6px rgba(45, 42, 38, .04);--shadow-warm: 0 4px 12px rgba(224, 122, 95, .15);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 9999px;--transition-fast: .1s ease;--transition-normal: .15s ease;--transition-slow: .2s ease;--header-height: 56px;--details-panel-width: 320px;--calendar-cell-min-height: 100px}[data-theme=dark]{color-scheme:dark;--color-background: #1c1814;--color-surface: #242018;--color-surface-elevated: #2c271f;--color-text: #f0ebe4;--color-text-secondary: #c8bdb4;--color-text-muted: #8c7e75;--color-text-inverse: #1c1814;--color-border: #3a342c;--color-border-subtle: #2e2820;--color-accent: #e8836a;--color-accent-hover: #d4706a;--color-accent-subtle: #2e1f1a;--color-accent-contrast: #ffffff;--color-accent-background: #2e1f1a;--color-secondary: #8bbda4;--color-secondary-hover: #74a58c;--color-secondary-subtle: #1a2820;--color-tertiary: #f2cc8f;--color-tertiary-hover: #e5b86b;--color-tertiary-subtle: #2a2010;--color-today: #2a1e16;--color-today-border: #e8836a;--color-selected: #2e1f1a;--color-selected-border: #e8836a;--color-hover: #2c2720;--color-event-default: #e8836a;--color-event-allday: #8bbda4;--color-event-text: #ffffff;--color-focus-ring: rgba(232, 131, 106, .4);--gradient-primary: linear-gradient(135deg, #e8836a 0%, #d4706a 100%);--gradient-secondary: linear-gradient(135deg, #8bbda4 0%, #74a58c 100%);--gradient-surface: linear-gradient(180deg, #242018 0%, #1c1814 100%);--gradient-header: linear-gradient(180deg, #242018 0%, #1e1a14 100%);--gradient-warm-subtle: linear-gradient(135deg, #2e1f1a 0%, #2a1e16 100%);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .25);--shadow-md: 0 4px 6px rgba(0, 0, 0, .35), 0 2px 4px rgba(0, 0, 0, .25);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .4), 0 4px 6px rgba(0, 0, 0, .3);--shadow-warm: 0 4px 12px rgba(232, 131, 106, .2);--color-overlay: rgba(0, 0, 0, .55)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-background);transition:background-color var(--transition-slow),color var(--transition-slow)}:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus-ring);outline-offset:var(--focus-ring-offset)}:focus:not(:focus-visible){outline:none}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit}.app{height:100vh;display:flex;flex-direction:column;overflow:hidden}.app-layout{display:flex;height:100vh;width:100%;overflow:hidden}.app-layout__sidebar{position:fixed;left:0;top:0;bottom:0;z-index:200;width:12rem}.app-layout__sidebar-backdrop{display:none}.app-layout__main{flex:1;display:flex;flex-direction:column;min-height:0;margin-left:12rem}.app-layout__topbar{position:sticky;top:0;z-index:100;flex-shrink:0}.app-layout__content{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.app-layout .basefn-sidebar{background:var(--gradient-surface);border-right:1px solid var(--color-border);color:var(--color-text);overflow:visible}.app-layout .basefn-sidebar__header{border-bottom:1px solid var(--color-border);overflow:visible}.app-layout .basefn-sidebar__nav{overflow-y:auto;flex:1}.app-layout .basefn-sidebar__item{color:var(--color-text-secondary);border-radius:var(--radius-md);border:none;background:transparent;cursor:pointer;width:100%;text-align:left}.app-layout .basefn-sidebar__item:hover{background-color:var(--color-hover);color:var(--color-text)}.app-layout .basefn-sidebar__item--active,.app-layout .basefn-sidebar__item--active:hover{background-color:var(--color-selected);color:var(--color-text);font-weight:var(--font-weight-semibold)}.app-layout .basefn-sidebar__footer{border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-1)}.sidebar-footer-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:transparent;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;text-align:left;width:100%;transition:background-color var(--transition-fast),color var(--transition-fast)}.sidebar-footer-btn:hover{background-color:var(--color-hover);color:var(--color-text)}.sidebar-footer-btn-label{flex:1}.app-layout .basefn-topbar{background:var(--gradient-header);border-bottom:1px solid var(--color-border)}.app-layout .basefn-topbar__menu-button{display:none}.header-nav{display:flex;align-items:center;gap:var(--space-4)}@media(max-width:768px){.app-layout__sidebar{transform:translate(-100%);transition:transform .3s ease-out}.app-layout--sidebar-open .app-layout__sidebar{transform:translate(0)}.app-layout__main{margin-left:0}.app-layout--sidebar-open .app-layout__sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0000004d;z-index:199}.app-layout .basefn-topbar__menu-button{display:flex;color:var(--color-text-secondary)}.app-layout .basefn-topbar__menu-button:hover{background-color:var(--color-hover);color:var(--color-text)}}.offline-banner{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background-color:var(--color-text-muted);color:var(--color-text-inverse);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:center;flex-shrink:0;z-index:300}.offline-banner__dot{width:8px;height:8px;border-radius:var(--radius-full);background-color:var(--color-tertiary);flex-shrink:0}.main-layout{flex:1;min-height:0;display:flex;overflow:hidden}.main-content{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.details-panel{width:var(--details-panel-width);background:var(--gradient-surface);border-left:1px solid var(--color-border);flex-shrink:0;display:flex;flex-direction:column;overflow:hidden}.details-panel-content{padding:var(--space-6)}.details-panel-header{flex-shrink:0;padding:var(--space-6);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);border-bottom:1px solid var(--color-border)}.details-panel-header-info{flex:1;min-width:0}.details-panel-date{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--space-1)}.details-panel-weekday{font-size:var(--font-size-sm);color:var(--color-text-muted)}.details-panel-body{flex:1;min-height:0;overflow-y:auto;padding:var(--space-4) var(--space-6)}.calendar-nav{display:flex;align-items:center;gap:var(--space-3)}.calendar-nav-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);min-width:160px;margin-right:var(--space-4)}.calendar-nav .view-toggle{margin-left:auto}.person-avatars{display:flex;align-items:center;gap:var(--space-2);margin-right:var(--space-2)}.person-avatar{width:32px;height:32px;padding:0;border:none;border-radius:var(--radius-full);overflow:hidden;cursor:pointer;transition:filter var(--transition-fast),opacity var(--transition-fast);background:transparent;display:flex;align-items:center;justify-content:center}.person-avatar:hover{filter:brightness(1.15)}.person-avatar--active{box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--person-color)}.person-avatar--inactive{opacity:.35}.person-avatar--inactive:hover{opacity:.7}.person-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-full)}.person-avatar--initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:#fff;border-radius:var(--radius-full)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);transition:all var(--transition-normal);gap:var(--space-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--gradient-primary);color:var(--color-accent-contrast);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);box-shadow:var(--shadow-warm)}.btn-secondary{background-color:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-hover)}.btn-ghost{background-color:transparent;color:var(--color-text)}.btn-ghost:hover:not(:disabled){background-color:var(--color-hover)}.btn-icon{padding:var(--space-2);width:36px;height:36px}.basefn-button{gap:var(--space-2);box-shadow:none;transition:background-color var(--transition-normal),filter var(--transition-normal),border-color var(--transition-normal),color var(--transition-normal)}.basefn-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.basefn-button.basefn-button--primary{background:var(--color-accent);border:none;color:#fff}.basefn-button.basefn-button--primary:hover:not(:disabled){background:var(--color-accent);filter:brightness(1.1)}.basefn-button.basefn-button--primary:active:not(:disabled){background:var(--color-accent);filter:brightness(.9)}.basefn-button.basefn-button--secondary{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}.basefn-button.basefn-button--secondary:hover:not(:disabled){background:var(--color-hover);border-color:var(--color-border)}.basefn-button.basefn-button--secondary:active:not(:disabled){filter:brightness(.95)}.basefn-button.basefn-button--ghost{color:var(--color-text-secondary)}.basefn-button.basefn-button--ghost:hover:not(:disabled){background:var(--color-hover);color:var(--color-text)}.basefn-button.basefn-button--ghost:active:not(:disabled){background:var(--color-border-subtle);border:none;filter:none}.basefn-button.button--xs{height:24px;padding:0 var(--space-2);font-size:var(--font-size-xs)}.basefn-button.button--sm{height:28px;padding:0 var(--space-3);font-size:var(--font-size-sm)}.basefn-button.button--lg{height:44px;padding:0 var(--space-6);font-size:var(--font-size-base)}.basefn-button.button--icon{padding:0;width:36px}.basefn-button.button--icon.button--xs{width:24px}.basefn-button.button--icon.button--sm{width:28px}.basefn-button.button--icon.button--lg{width:44px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--color-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-6)}.modal{background:var(--gradient-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:480px;width:100%;max-height:90vh;overflow-y:auto}.modal--sm{max-width:360px}.modal--lg{max-width:720px}.modal-header{padding:var(--space-6);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.modal-body{padding:var(--space-6)}.modal-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:var(--space-3)}.form-group{margin-bottom:var(--space-5)}.form-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);margin-bottom:var(--space-2)}.form-input{width:100%;padding:var(--space-2) var(--space-3);font-size:var(--font-size-base);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-text);transition:border-color var(--transition-normal)}.form-input:hover{border-color:var(--color-text-muted)}.form-input:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px var(--color-focus-ring)}.form-input::placeholder{color:var(--color-text-muted)}.form-textarea{min-height:80px;resize:vertical}.form-checkbox-group{display:flex;align-items:center;gap:var(--space-2)}.form-checkbox{width:18px;height:18px;accent-color:var(--color-accent)}.form-row{display:flex;gap:var(--space-4)}.form-row>*{flex:1}.form-error{font-size:var(--font-size-sm);color:#dc2626;margin-top:var(--space-1)}.person-select{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.person-select-avatar{width:36px;height:36px;padding:0;border:none;border-radius:var(--radius-full);background-color:transparent;cursor:pointer;transition:filter var(--transition-fast),transform var(--transition-fast);overflow:hidden;display:flex;align-items:center;justify-content:center}.person-select-avatar:hover{filter:brightness(1.15)}.person-select-avatar--selected{box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--person-color);transform:scale(1.05)}.person-select-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-full)}.person-select-avatar-initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:#fff;border-radius:var(--radius-full)}.person-select-avatar-initials--clear{background-color:var(--color-border);font-size:var(--font-size-base)}.empty-state{text-align:center;padding:var(--space-8) var(--space-4);color:var(--color-text-muted)}.empty-state-icon{font-size:48px;margin-bottom:var(--space-4);opacity:.5}.empty-state-title{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.empty-state-text{font-size:var(--font-size-sm)}@media(max-width:768px){.main-layout{flex-direction:column}.details-panel{width:100%;border-left:none;border-top:1px solid var(--color-border);max-height:40vh;flex-shrink:0}.details-panel:not(.details-panel--has-selection){display:none}.details-panel-header{padding:var(--space-4)}.details-panel-body{padding:var(--space-3) var(--space-4)}.event-details{padding:var(--space-4)}.main-content{padding:0}.calendar-nav{gap:var(--space-1);padding:0 var(--space-1);flex-wrap:nowrap;overflow:hidden}.calendar-nav-title{min-width:0;font-size:var(--font-size-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:0;flex-shrink:1}.calendar-nav .person-avatars{display:none}.calendar-nav .view-toggle{margin-left:0;flex-shrink:0}.calendar-nav .view-toggle-btn{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs)}.calendar-nav .btn-icon{width:28px;height:28px;padding:2px;flex-shrink:0}.calendar-nav .btn-secondary{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);flex-shrink:0;white-space:nowrap}}.mobile-fab{display:none}@media(max-width:768px){.mobile-fab{display:flex;position:fixed;bottom:var(--space-6);right:var(--space-6);width:56px;height:56px;border-radius:var(--radius-full);background:var(--gradient-primary);color:var(--color-accent-contrast);align-items:center;justify-content:center;box-shadow:var(--shadow-lg),var(--shadow-warm);z-index:50;border:none;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.mobile-fab:active{transform:scale(.92)}}.calendar-page{flex:1;min-height:0;display:flex;flex-direction:column}.month-grid{flex:1;min-height:0;display:flex;flex-direction:column;background-color:var(--color-surface);overflow:hidden}.month-grid-header{display:grid;grid-template-columns:repeat(7,1fr);background-color:var(--color-background);border-bottom:1px solid var(--color-border)}.month-grid-header-cell{padding:var(--space-3) var(--space-2);text-align:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.month-grid-body{flex:1;min-height:0;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(6,1fr)}.day-cell{height:100%;min-height:0;padding:var(--space-2);border-right:1px solid var(--color-border-subtle);border-bottom:1px solid var(--color-border-subtle);cursor:pointer;transition:background-color var(--transition-fast);display:flex;flex-direction:column;gap:2px;overflow:hidden}.day-cell:nth-child(7n){border-right:none}.day-cell:hover{background-color:var(--color-hover)}.day-cell--outside-month{background-color:var(--color-background)}.day-cell--outside-month .day-cell-number{color:var(--color-text-muted)}.day-cell--today{background:var(--gradient-warm-subtle)}.day-cell--today .day-cell-number{background:var(--gradient-primary);color:var(--color-accent-contrast);font-weight:var(--font-weight-bold)}.day-cell--selected{background-color:var(--color-selected)}.day-cell--selected .day-cell-number{background:var(--gradient-primary);color:var(--color-accent-contrast)}.day-cell-header{display:flex;align-items:flex-start;justify-content:flex-start}.day-cell-number{width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);transition:all var(--transition-fast)}.day-cell-events{flex:1;min-height:0;display:flex;flex-direction:column;gap:2px;overflow:hidden}.day-cell-more{flex-shrink:0;font-size:var(--font-size-xs);color:var(--color-text-muted);padding:2px var(--space-1)}.day-cell-more--desktop{display:block}.day-cell-more--tablet{display:none}.event-chip-wrapper--third{display:block}@media(max-width:1180px){.event-chip-wrapper--third,.day-cell-more--desktop{display:none}.day-cell-more--tablet{display:block}}.event-chip{padding:2px var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:opacity var(--transition-fast)}.event-chip:hover{opacity:.85}.event-chip--timed,.event-chip--allday,.event-chip--multiday{color:var(--color-event-text)}.event-chip--selected{box-shadow:0 0 0 2px var(--color-accent)}.event-chip-time{opacity:.85;margin-right:var(--space-1)}.event-dot{width:6px;height:6px;border-radius:var(--radius-full);background-color:var(--color-event-default);flex-shrink:0}.event-dot--allday{background-color:var(--color-event-allday)}.event-list{display:flex;flex-direction:column;gap:var(--space-3)}.event-list-section{margin-bottom:var(--space-4)}.event-list-section-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.event-list-item{padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast)}.event-list-item:hover{border-color:var(--color-accent);background-color:var(--color-hover)}.event-list-item--selected{border-color:var(--color-accent);background-color:var(--color-selected)}.event-list-item-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1)}.event-list-item-dot{width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.event-list-item-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.event-list-item-time{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.event-details{flex-shrink:0;padding:var(--space-6);border-top:1px solid var(--color-border);background-color:var(--color-surface)}.event-details-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--space-4)}.event-details-row{display:flex;gap:var(--space-3);margin-bottom:var(--space-3)}.event-details-icon{width:20px;height:20px;color:var(--color-text-muted);flex-shrink:0;display:flex;align-items:center;justify-content:center}.event-details-value{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.event-details-actions{margin-top:var(--space-6);display:flex;gap:var(--space-3)}.item-expanded{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.item-expanded-row{display:flex;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-2)}.item-expanded-icon{width:16px;height:16px;color:var(--color-text-muted);flex-shrink:0;display:flex;align-items:center;justify-content:center}.item-expanded-value{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.item-expanded-actions{display:flex;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap}.task-completed-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--color-accent);flex-shrink:0}.confirm-text{font-size:var(--font-size-base);color:var(--color-text);margin:0;line-height:var(--line-height-normal)}.keyboard-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);background-color:var(--color-background);padding:2px 6px;border-radius:var(--radius-sm);border:1px solid var(--color-border);font-family:ui-monospace,monospace}@media(max-width:768px){.day-cell{padding:var(--space-1)}.day-cell-number{width:18px;height:18px;font-size:10px}.event-chip{padding:1px var(--space-1);font-size:10px}.month-grid-header-cell{padding:var(--space-2) var(--space-1);font-size:10px}.event-chip-wrapper--third,.day-cell-more--desktop{display:none}.day-cell-more--tablet{display:block}}.week-grid{flex:1;min-height:0;display:flex;flex-direction:column;background-color:var(--color-surface);overflow:hidden}.week-scroll-container{flex:1;min-height:0;overflow-y:scroll;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.week-scroll-container::-webkit-scrollbar{width:8px}.week-scroll-container::-webkit-scrollbar-track{background:transparent}.week-scroll-container::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:4px}.week-header-days{margin-right:8px}.week-header{display:flex;border-bottom:1px solid var(--color-border);background-color:var(--color-background);flex-shrink:0}.week-header-days{flex:1;display:grid;grid-template-columns:repeat(7,1fr)}.week-header-day{padding:var(--space-3) var(--space-2);text-align:center;cursor:pointer;transition:background-color var(--transition-fast);display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.week-header-day:hover{background-color:var(--color-hover)}.week-header-day--today .week-header-day-num{background:var(--gradient-primary);color:var(--color-accent-contrast);border-radius:var(--radius-full);width:28px;height:28px;display:flex;align-items:center;justify-content:center}.week-header-day--selected{background-color:var(--color-selected)}.week-header-day-name{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.week-header-day-num{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text)}.week-time-gutter{width:60px;flex-shrink:0;border-right:1px solid var(--color-border);background-color:var(--color-background)}.week-time-label{height:60px;padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:right;position:relative;top:-8px}.week-allday-row{display:flex;border-bottom:1px solid var(--color-border);height:32px;flex-shrink:0;background-color:var(--color-surface);position:sticky;top:0;z-index:10}.week-allday-label{display:flex;align-items:center;justify-content:flex-end;padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted)}.week-allday-events{flex:1;display:grid;grid-template-columns:repeat(7,1fr)}.week-allday-cell{padding:2px;display:flex;flex-direction:column;gap:2px;border-left:1px solid var(--color-border-subtle)}.week-allday-cell:first-child{border-left:none}.week-allday-chip{padding:2px var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-event-text);border-radius:var(--radius-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.week-allday-chip:hover{opacity:.85}.week-allday-chip--selected{box-shadow:0 0 0 2px var(--color-accent)}.week-body{display:flex;flex-shrink:0}.week-columns{flex:1;position:relative;display:grid;grid-template-columns:repeat(7,1fr)}.week-hour-line{position:absolute;left:0;right:0;height:60px;border-bottom:1px solid var(--color-border-subtle);pointer-events:none}.week-hour-line:nth-child(1){top:0}.week-hour-line:nth-child(2){top:60px}.week-hour-line:nth-child(3){top:120px}.week-hour-line:nth-child(4){top:180px}.week-hour-line:nth-child(5){top:240px}.week-hour-line:nth-child(6){top:300px}.week-hour-line:nth-child(7){top:360px}.week-hour-line:nth-child(8){top:420px}.week-hour-line:nth-child(9){top:480px}.week-hour-line:nth-child(10){top:540px}.week-hour-line:nth-child(11){top:600px}.week-hour-line:nth-child(12){top:660px}.week-hour-line:nth-child(13){top:720px}.week-hour-line:nth-child(14){top:780px}.week-hour-line:nth-child(15){top:840px}.week-hour-line:nth-child(16){top:900px}.week-hour-line:nth-child(17){top:960px}.week-hour-line:nth-child(18){top:1020px}.week-hour-line:nth-child(19){top:1080px}.week-hour-line:nth-child(20){top:1140px}.week-hour-line:nth-child(21){top:1200px}.week-hour-line:nth-child(22){top:1260px}.week-hour-line:nth-child(23){top:1320px}.week-hour-line:nth-child(24){top:1380px}.week-day-column{position:relative;min-height:1440px;border-left:1px solid var(--color-border-subtle);cursor:pointer}.week-day-column--first{border-left:none}.week-day-column:hover{background-color:var(--color-hover)}.week-day-column--today{background-color:var(--color-today)}.week-current-time{position:absolute;height:2px;background-color:#ef4444;z-index:10;pointer-events:none}.week-current-time:before{content:"";position:absolute;left:0;top:-4px;width:10px;height:10px;background-color:#ef4444;border-radius:var(--radius-full)}.week-event-block{position:absolute;left:2px;right:2px;padding:var(--space-1) var(--space-2);color:var(--color-event-text);border-radius:var(--radius-sm);font-size:var(--font-size-xs);overflow:hidden;cursor:pointer;z-index:5;transition:all var(--transition-fast);display:flex;flex-direction:column}.week-event-block:hover{opacity:.9}.week-event-block--selected{box-shadow:0 0 0 2px var(--color-accent);z-index:6}.week-event-block-title{font-weight:var(--font-weight-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.week-event-block-time{font-size:10px;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.view-toggle{display:flex;gap:1px;background-color:var(--color-border);border-radius:var(--radius-md);padding:1px}.view-toggle-btn{padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background-color:var(--color-surface);border:none;cursor:pointer;transition:all var(--transition-fast)}.view-toggle-btn:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.view-toggle-btn:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.view-toggle-btn:hover{background-color:var(--color-hover)}.view-toggle-btn--active{background:var(--gradient-primary);color:var(--color-accent-contrast)}.view-toggle-btn--active:hover{background:var(--color-accent-hover)}.week-header-day-name--short{display:none}.week-header-day-name--full{display:inline}@media(max-width:768px){.week-grid{overflow-x:auto;-webkit-overflow-scrolling:touch}.week-header,.week-scroll-container,.week-allday-row,.week-body{min-width:700px}.week-time-gutter{width:36px;position:sticky;left:0;z-index:5}.week-allday-label{position:sticky;left:0;z-index:5;font-size:9px;padding:2px 4px}.week-time-label{font-size:9px;padding:2px 4px}.week-header-day{padding:var(--space-2) var(--space-1);min-height:52px}.week-header-day-name--full{display:none}.week-header-day-name--short{display:inline}.week-header-day-num{font-size:var(--font-size-sm)}.week-header-day--today .week-header-day-num{width:24px;height:24px;font-size:var(--font-size-sm)}.week-event-block{padding:1px 2px;left:1px;right:1px;font-size:10px}.week-event-block-title{font-size:10px}.week-event-block-time{display:none}.week-allday-chip{padding:1px var(--space-1);font-size:10px}.week-allday-row{height:28px}.week-header-days{margin-right:0}}.day-grid{flex:1;min-height:0;display:flex;flex-direction:column;background-color:var(--color-surface);overflow:hidden}.day-header{display:flex;align-items:center;padding:var(--space-4);border-bottom:1px solid var(--color-border);background-color:var(--color-background)}.day-header-date{display:flex;align-items:center;gap:var(--space-3)}.day-header-weekday{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.day-header-num{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text);width:40px;height:40px;display:flex;align-items:center;justify-content:center}.day-header-num--today{background:var(--gradient-primary);color:var(--color-accent-contrast);border-radius:var(--radius-full)}.day-allday-section{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);background-color:var(--color-surface)}.day-allday-label{font-size:var(--font-size-xs);color:var(--color-text-muted);flex-shrink:0}.day-allday-events{display:flex;flex-wrap:wrap;gap:var(--space-2)}.day-allday-chip{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-event-text);border-radius:var(--radius-sm);cursor:pointer}.day-allday-chip:hover{opacity:.85}.day-allday-chip--selected{box-shadow:0 0 0 2px var(--color-accent)}.day-scroll-container{flex:1;min-height:0;overflow:auto}.day-body{display:flex;flex-direction:column;min-height:100%;padding:var(--space-4)}.day-hours--horizontal{display:flex;padding-left:0;margin-bottom:var(--space-2)}.day-hours--horizontal .day-hour-label{flex:1;text-align:center;font-size:var(--font-size-xs);color:var(--color-text-muted)}.day-hours--vertical{display:none}.day-timeline{position:relative;flex:1;min-height:120px;background-color:var(--color-background);border-radius:var(--radius-md);border:1px solid var(--color-border)}.day-hour-line{position:absolute;top:0;bottom:0;width:1px;background-color:var(--color-border-subtle);pointer-events:none}.day-hour-line:nth-child(1){left:0%}.day-hour-line:nth-child(2){left:calc(100% / 24 * 1)}.day-hour-line:nth-child(3){left:calc(100% / 24 * 2)}.day-hour-line:nth-child(4){left:12.5%}.day-hour-line:nth-child(5){left:calc(100% / 24 * 4)}.day-hour-line:nth-child(6){left:calc(100% / 24 * 5)}.day-hour-line:nth-child(7){left:25%}.day-hour-line:nth-child(8){left:calc(100% / 24 * 7)}.day-hour-line:nth-child(9){left:calc(100% / 24 * 8)}.day-hour-line:nth-child(10){left:37.5%}.day-hour-line:nth-child(11){left:calc(100% / 24 * 10)}.day-hour-line:nth-child(12){left:calc(100% / 24 * 11)}.day-hour-line:nth-child(13){left:50%}.day-hour-line:nth-child(14){left:calc(100% / 24 * 13)}.day-hour-line:nth-child(15){left:calc(100% / 24 * 14)}.day-hour-line:nth-child(16){left:62.5%}.day-hour-line:nth-child(17){left:calc(100% / 24 * 16)}.day-hour-line:nth-child(18){left:calc(100% / 24 * 17)}.day-hour-line:nth-child(19){left:75%}.day-hour-line:nth-child(20){left:calc(100% / 24 * 19)}.day-hour-line:nth-child(21){left:calc(100% / 24 * 20)}.day-hour-line:nth-child(22){left:87.5%}.day-hour-line:nth-child(23){left:calc(100% / 24 * 22)}.day-hour-line:nth-child(24){left:calc(100% / 24 * 23)}.day-current-time{position:absolute;background-color:#ef4444;z-index:10;pointer-events:none}.day-current-time--horizontal{top:0;bottom:0;width:2px}.day-current-time--horizontal:before{content:"";position:absolute;top:0;left:-4px;width:10px;height:10px;background-color:#ef4444;border-radius:var(--radius-full)}.day-current-time--vertical{display:none}.day-events{position:absolute;top:0;bottom:0;left:0;right:0}.day-event-block{position:absolute;padding:var(--space-2);color:var(--color-event-text);border-radius:var(--radius-sm);font-size:var(--font-size-xs);overflow:hidden;cursor:pointer;z-index:5;transition:all var(--transition-fast)}.day-event-block:hover{opacity:.9}.day-event-block--selected{box-shadow:0 0 0 2px var(--color-accent);z-index:6}.day-event-block--horizontal{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:var(--space-1);box-sizing:border-box;overflow:hidden}.day-event-block--vertical{display:none}.day-event-block-title{font-weight:var(--font-weight-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.day-event-block-time{font-size:10px;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-event-block--horizontal .day-event-block-title,.day-event-block--horizontal .day-event-block-time{max-width:100%}@media(max-width:768px){.day-body{flex-direction:row;padding:0}.day-hours--horizontal{display:none}.day-hours--vertical{display:flex;flex-direction:column;width:50px;flex-shrink:0;border-right:1px solid var(--color-border);background-color:var(--color-background)}.day-hours--vertical .day-hour-label{height:60px;padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:right}.day-timeline{flex:1;min-height:1440px;border-radius:0;border:none;border-left:1px solid var(--color-border)}.day-hour-line{left:0;right:0;top:auto;bottom:auto;width:auto;height:1px}.day-hour-line:nth-child(1){top:0%;left:0;width:100%}.day-hour-line:nth-child(2){top:calc(100% / 24 * 1);left:0;width:100%}.day-hour-line:nth-child(3){top:calc(100% / 24 * 2);left:0;width:100%}.day-hour-line:nth-child(4){top:12.5%;left:0;width:100%}.day-hour-line:nth-child(5){top:calc(100% / 24 * 4);left:0;width:100%}.day-hour-line:nth-child(6){top:calc(100% / 24 * 5);left:0;width:100%}.day-hour-line:nth-child(7){top:25%;left:0;width:100%}.day-hour-line:nth-child(8){top:calc(100% / 24 * 7);left:0;width:100%}.day-hour-line:nth-child(9){top:calc(100% / 24 * 8);left:0;width:100%}.day-hour-line:nth-child(10){top:37.5%;left:0;width:100%}.day-hour-line:nth-child(11){top:calc(100% / 24 * 10);left:0;width:100%}.day-hour-line:nth-child(12){top:calc(100% / 24 * 11);left:0;width:100%}.day-hour-line:nth-child(13){top:50%;left:0;width:100%}.day-hour-line:nth-child(14){top:calc(100% / 24 * 13);left:0;width:100%}.day-hour-line:nth-child(15){top:calc(100% / 24 * 14);left:0;width:100%}.day-hour-line:nth-child(16){top:62.5%;left:0;width:100%}.day-hour-line:nth-child(17){top:calc(100% / 24 * 16);left:0;width:100%}.day-hour-line:nth-child(18){top:calc(100% / 24 * 17);left:0;width:100%}.day-hour-line:nth-child(19){top:75%;left:0;width:100%}.day-hour-line:nth-child(20){top:calc(100% / 24 * 19);left:0;width:100%}.day-hour-line:nth-child(21){top:calc(100% / 24 * 20);left:0;width:100%}.day-hour-line:nth-child(22){top:87.5%;left:0;width:100%}.day-hour-line:nth-child(23){top:calc(100% / 24 * 22);left:0;width:100%}.day-hour-line:nth-child(24){top:calc(100% / 24 * 23);left:0;width:100%}.day-current-time--horizontal{display:none}.day-current-time--vertical{display:block;left:0;right:0;height:2px;width:auto}.day-current-time--vertical:before{content:"";position:absolute;left:0;top:-4px;width:10px;height:10px;background-color:#ef4444;border-radius:var(--radius-full)}.day-event-block--horizontal{display:none}.day-event-block--vertical{display:flex;flex-direction:column;box-sizing:border-box;padding:var(--space-1) var(--space-2)}.day-events{top:0;bottom:0;left:0;right:0}.day-allday-section{flex-direction:column;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3)}.day-header{padding:var(--space-3)}.day-header-num{font-size:var(--font-size-xl);width:36px;height:36px}.day-hours--vertical{width:42px}.day-hours--vertical .day-hour-label{font-size:10px;padding:2px 4px}}.calendar-swipe-container{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;touch-action:pan-y}@media(max-width:768px){.calendar-swipe-container{touch-action:pan-y pinch-zoom}.calendar-page{height:100%;overflow:hidden}.calendar-page .main-layout{overflow:hidden}.calendar-page .main-content{min-height:0;overflow:hidden}}.housekeeping-page{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.housekeeping-content{flex:1;min-height:0;overflow-y:auto;padding:var(--space-6)}.housekeeping-nav{display:flex;align-items:center;gap:var(--space-4)}.filter-tabs{display:flex;gap:1px;background-color:var(--color-border);border-radius:var(--radius-md);padding:1px}.filter-tab{padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background-color:var(--color-surface);border:none;cursor:pointer;transition:all var(--transition-fast)}.filter-tab:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.filter-tab:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.filter-tab:hover{background-color:var(--color-hover)}.filter-tab--active{background:var(--gradient-primary);color:var(--color-accent-contrast)}.filter-tab--active:hover{background:var(--color-accent-hover)}.task-list{max-width:800px;margin:0 auto}.task-group{margin-bottom:var(--space-6)}.task-group-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-3)}.task-group-items{display:flex;flex-direction:column;gap:var(--space-3)}.task-card{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.task-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-sm)}.task-card--completed{opacity:.6}.task-card--completed .task-title{text-decoration:line-through;color:var(--color-text-muted)}.task-card--overdue{border-color:#fca5a5}.task-card--overdue:hover{border-color:#ef4444}.task-card-main{display:flex;align-items:flex-start;gap:var(--space-3);flex:1;min-width:0}.task-checkbox{width:20px;height:20px;margin-top:2px;accent-color:var(--color-accent);cursor:pointer;flex-shrink:0}.task-card-content{flex:1;min-width:0}.task-card-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1)}.task-title{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text)}.task-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-2);line-height:var(--line-height-normal)}.task-card-meta{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.task-person{display:flex;align-items:center;gap:var(--space-1)}.task-person-initials{width:20px;height:20px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:var(--font-weight-semibold);color:#fff}.task-person-name,.task-due-date{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.task-due-date--overdue{color:#ef4444;font-weight:var(--font-weight-medium)}.frequency-badge{display:inline-flex;align-items:center;padding:2px var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);background-color:var(--color-background);border-radius:var(--radius-full)}.task-actions{display:flex;gap:var(--space-1);opacity:0;transition:opacity var(--transition-fast)}.task-card:hover .task-actions{opacity:1}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);gap:var(--space-1)}.btn-icon.btn-sm{width:28px;height:28px;padding:var(--space-1)}.frequency-select{display:flex;gap:var(--space-2);flex-wrap:wrap}.frequency-option{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.frequency-option:hover{border-color:var(--color-text-muted)}.frequency-option--selected{background:var(--gradient-primary);color:var(--color-accent-contrast);border-color:transparent}.frequency-option--selected:hover{background:var(--color-accent-hover);border-color:transparent}.app-tabs{display:flex;gap:var(--space-1)}.app-tab{padding:var(--space-2) var(--space-4);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:transparent;border:none;cursor:pointer;transition:all var(--transition-fast);border-radius:var(--radius-md)}.app-tab:hover{color:var(--color-text);background-color:var(--color-hover)}.app-tab--active{color:var(--color-text);background-color:var(--color-selected)}.event-list-item--task{cursor:default}.event-list-item--task .event-list-item-header{gap:var(--space-2)}.event-list-item--completed .event-list-item-title{text-decoration:line-through;color:var(--color-text-muted)}.event-list-item--overdue .event-list-item-title{color:#ef4444}.event-list-item-meta{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-1)}.task-checkbox-sm{width:16px;height:16px;accent-color:var(--color-accent);cursor:pointer;flex-shrink:0}.frequency-badge-sm{display:inline-flex;align-items:center;padding:1px var(--space-1);font-size:10px;font-weight:var(--font-weight-medium);color:var(--color-text-muted);background-color:var(--color-background);border-radius:var(--radius-full)}.btn-xs{width:24px;height:24px;padding:2px}.event-list-section-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2);margin-top:var(--space-3)}.event-list-section-title:first-child{margin-top:0}.view-tabs{display:flex;gap:var(--space-1);padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--color-border);background-color:var(--color-surface)}.view-tab{padding:var(--space-2) var(--space-4);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:transparent;border:none;cursor:pointer;transition:all var(--transition-fast);border-radius:var(--radius-md)}.view-tab:hover{color:var(--color-text);background-color:var(--color-hover)}.view-tab--active{color:var(--color-accent);background:var(--gradient-warm-subtle)}.routine-list{max-width:1000px;margin:0 auto}.routine-section{margin-bottom:var(--space-8)}.routine-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.routine-section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--space-4)}.routine-section-header .routine-section-title{margin-bottom:0}.routine-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-4)}.routine-card{display:flex;flex-direction:column;padding:var(--space-4);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.routine-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-sm)}.routine-card-header{margin-bottom:var(--space-3)}.routine-card-title-row{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1)}.routine-card-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}.routine-badge{display:inline-flex;align-items:center;padding:2px var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full)}.routine-badge--preset{color:var(--color-accent);background:var(--gradient-warm-subtle)}.routine-card-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;line-height:var(--line-height-normal)}.routine-card-tasks{flex:1;margin-bottom:var(--space-3)}.routine-card-task-count{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);margin-bottom:var(--space-2)}.routine-card-task-list{list-style:none;margin:0;padding:0}.routine-card-task-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.routine-card-task-bullet{width:4px;height:4px;border-radius:var(--radius-full);background-color:var(--color-text-muted);flex-shrink:0}.routine-card-task-more{font-size:var(--font-size-sm);color:var(--color-text-muted);font-style:italic;padding:var(--space-1) 0}.routine-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.apply-modal-text{font-size:var(--font-size-base);color:var(--color-text);margin:0 0 var(--space-4) 0}.task-editor{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-3)}.task-editor-row{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.task-editor-row:last-child{margin-bottom:0}.task-editor-actions{display:flex;gap:var(--space-2);margin-left:auto}.frequency-select--sm{gap:var(--space-1)}.frequency-option--sm{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs)}.routine-form-task-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.routine-form-task-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md)}.routine-form-task-info{display:flex;align-items:center;gap:var(--space-2)}.routine-form-task-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.routine-form-task-actions{display:flex;gap:var(--space-1)}@media(max-width:768px){.housekeeping-content{padding:var(--space-4)}.housekeeping-nav{flex-wrap:wrap;gap:var(--space-3)}.task-card{padding:var(--space-3)}.task-actions{opacity:1}.filter-tabs{order:1;width:100%;justify-content:center}.filter-tab{flex:1;text-align:center}.view-tabs{padding:var(--space-2) var(--space-4)}.routine-grid{grid-template-columns:1fr}.task-editor-row{flex-wrap:wrap}.task-editor-actions{width:100%;justify-content:flex-end;margin-top:var(--space-2)}}.kitchen-page{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.kitchen-content{flex:1;min-height:0;overflow-y:auto;padding:var(--space-6)}.kitchen-nav{display:flex;align-items:center;gap:var(--space-4)}.kitchen-loading{display:flex;justify-content:center;align-items:center;padding:var(--space-12);color:var(--color-text-secondary)}.kitchen-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);color:var(--color-text-secondary);text-align:center}.kitchen-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:50;padding:var(--space-4)}.kitchen-modal{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:480px;max-height:90vh;display:flex;flex-direction:column}.kitchen-modal--large{max-width:640px}.kitchen-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border)}.kitchen-modal__header h3{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.kitchen-modal__close{background:none;border:none;cursor:pointer;color:var(--color-text-secondary);padding:var(--space-1)}.kitchen-modal__body{padding:var(--space-6);overflow-y:auto;flex:1}.kitchen-modal__footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border)}.kitchen-form-group{margin-bottom:var(--space-4)}.kitchen-form-group label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-bottom:var(--space-1)}.kitchen-form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.kitchen-form-row--3{grid-template-columns:1fr 1fr 1fr}.kitchen-input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font-size:var(--font-size-base);box-sizing:border-box}.kitchen-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px #e07a5f33}.kitchen-input--small{width:80px}.kitchen-textarea{min-height:80px;resize:vertical}.kitchen-form-error{font-size:var(--font-size-xs);color:var(--color-error);min-height:1.2em;display:block}.kitchen-form-divider{text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:var(--space-2) 0}.kitchen-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.kitchen-btn--primary{background:var(--gradient-primary);color:var(--color-accent-contrast)}.kitchen-btn--primary:hover{background:var(--color-accent-hover)}.kitchen-btn--secondary{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.kitchen-btn--secondary:hover{background:var(--color-hover)}.pantry-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4);max-width:1200px;margin:0 auto}.pantry-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);transition:box-shadow var(--transition-fast)}.pantry-card:hover{box-shadow:var(--shadow-sm)}.pantry-card--expired{border-color:var(--color-error);background:color-mix(in srgb,var(--color-error) 5%,var(--color-surface))}.pantry-card--expiring{border-color:var(--color-warning, #f2cc8f);background:color-mix(in srgb,var(--color-warning, #f2cc8f) 5%,var(--color-surface))}.pantry-card__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-2)}.pantry-card__name{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.pantry-card__actions{display:flex;gap:var(--space-1)}.pantry-card__action{background:none;border:none;cursor:pointer;color:var(--color-text-secondary);padding:var(--space-1);border-radius:var(--radius-sm)}.pantry-card__action:hover{background:var(--color-hover)}.pantry-card__action--delete:hover{color:var(--color-error)}.pantry-card__details{display:flex;flex-wrap:wrap;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.pantry-card__quantity,.pantry-card__location,.pantry-card__category{background:var(--color-hover);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.pantry-card__expiry{margin-top:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.pantry-card--expired .pantry-card__expiry{color:var(--color-error);font-weight:var(--font-weight-medium)}.pantry-card--expiring .pantry-card__expiry{color:var(--color-warning, #f2cc8f);font-weight:var(--font-weight-medium)}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-4);max-width:1200px;margin:0 auto}.recipe-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);cursor:pointer;transition:box-shadow var(--transition-fast)}.recipe-card:hover{box-shadow:var(--shadow-sm)}.recipe-card__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-2)}.recipe-card__title{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.recipe-card__delete{background:none;border:none;cursor:pointer;color:var(--color-text-secondary);padding:var(--space-1)}.recipe-card__delete:hover{color:var(--color-error)}.recipe-card__description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--space-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recipe-card__meta{display:flex;flex-wrap:wrap;gap:var(--space-2);font-size:var(--font-size-sm);margin-bottom:var(--space-2)}.recipe-card__time,.recipe-card__servings{color:var(--color-text-secondary)}.recipe-card__difficulty{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.recipe-card__difficulty--easy{background:color-mix(in srgb,#81b29a 20%,var(--color-surface));color:#81b29a}.recipe-card__difficulty--medium{background:color-mix(in srgb,#f2cc8f 20%,var(--color-surface));color:#d4a668}.recipe-card__difficulty--hard{background:color-mix(in srgb,#e07a5f 20%,var(--color-surface));color:#e07a5f}.recipe-card__tags{display:flex;flex-wrap:wrap;gap:var(--space-1)}.recipe-tag{font-size:var(--font-size-xs);padding:var(--space-1) var(--space-2);background:var(--color-hover);border-radius:var(--radius-full);color:var(--color-text-secondary)}.recipe-card__ingredients{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:var(--space-2)}.recipe-tags-picker{display:flex;flex-wrap:wrap;gap:var(--space-2)}.recipe-tag-btn{font-size:var(--font-size-xs);padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.recipe-tag-btn:hover{border-color:var(--color-accent)}.recipe-tag-btn--active{background:var(--gradient-primary);color:var(--color-accent-contrast);border-color:transparent}.ingredient-list{margin-bottom:var(--space-2)}.ingredient-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2);border-bottom:1px solid var(--color-border)}.ingredient-name{font-size:var(--font-size-sm)}.ingredient-remove{background:none;border:none;cursor:pointer;color:var(--color-text-secondary);padding:var(--space-1)}.ingredient-remove:hover{color:var(--color-error)}.ingredient-add-row{display:flex;gap:var(--space-2);align-items:center}.meal-planner{max-width:1200px;margin:0 auto}.week-nav{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.week-nav__btn{background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;color:var(--color-text-primary);padding:var(--space-1) var(--space-2)}.week-nav__btn:hover{background:var(--color-hover)}.week-nav__label{font-weight:var(--font-weight-semibold);min-width:200px;text-align:center}.week-nav__today{background:none;border:1px solid var(--color-accent);border-radius:var(--radius-md);color:var(--color-accent);cursor:pointer;padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm)}.week-nav__today:hover{background:color-mix(in srgb,var(--color-accent) 10%,var(--color-surface))}.meal-planner-grid{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.meal-grid__header{display:grid;grid-template-columns:80px repeat(7,1fr);background:var(--color-hover)}.meal-grid__corner{padding:var(--space-2);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.meal-grid__day-header{display:flex;flex-direction:column;align-items:center;padding:var(--space-2);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.meal-grid__day-header:last-child{border-right:none}.meal-grid__day-header--today{background:color-mix(in srgb,var(--color-accent) 10%,var(--color-hover))}.meal-grid__day-name{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase}.meal-grid__day-num{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.meal-grid__row{display:grid;grid-template-columns:80px repeat(7,1fr)}.meal-grid__meal-label{display:flex;align-items:center;justify-content:center;padding:var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-hover)}.meal-slot{min-height:60px;padding:var(--space-1);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-1)}.meal-slot:last-child{border-right:none}.meal-slot__entries{display:flex;flex-direction:column;gap:var(--space-1)}.meal-entry{display:flex;align-items:center;justify-content:space-between;background:color-mix(in srgb,var(--color-accent) 15%,var(--color-surface));border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs)}.meal-entry__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.meal-entry__remove{background:none;border:none;cursor:pointer;color:var(--color-text-secondary);padding:0;flex-shrink:0}.meal-entry__remove:hover{color:var(--color-error)}.meal-slot__add{background:none;border:1px dashed var(--color-border);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-secondary);padding:var(--space-1);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-fast)}.meal-slot:hover .meal-slot__add{opacity:1}.shopping-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4);max-width:1200px;margin:0 auto}.shopping-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);cursor:pointer;transition:box-shadow var(--transition-fast)}.shopping-card:hover{box-shadow:var(--shadow-sm)}.shopping-card__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-2)}.shopping-card__name{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.shopping-card__delete{background:none;border:none;cursor:pointer;color:var(--color-text-secondary);padding:var(--space-1)}.shopping-card__delete:hover{color:var(--color-error)}.shopping-card__progress{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.shopping-card__items-label{font-size:var(--font-size-xs)}.shopping-detail{max-width:600px;margin:0 auto}.shopping-detail__header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.shopping-detail__back{display:flex;align-items:center;gap:var(--space-1);background:none;border:none;cursor:pointer;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.shopping-detail__back:hover{color:var(--color-text-primary)}.shopping-detail__header h3{margin:0;font-weight:var(--font-weight-semibold)}.shopping-detail__items{margin-bottom:var(--space-4)}.shopping-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-bottom:1px solid var(--color-border)}.shopping-item--checked .shopping-item__name{text-decoration:line-through;color:var(--color-text-secondary)}.shopping-item__check{background:none;border:none;cursor:pointer;color:var(--color-text-secondary);padding:0;flex-shrink:0}.shopping-item--checked .shopping-item__check{color:var(--color-accent)}.shopping-item__name{flex:1;font-size:var(--font-size-sm)}.shopping-item__remove{background:none;border:none;cursor:pointer;color:var(--color-text-secondary);padding:var(--space-1);opacity:0;transition:opacity var(--transition-fast)}.shopping-item:hover .shopping-item__remove{opacity:1}.shopping-item__remove:hover{color:var(--color-error)}.shopping-detail__add{display:flex;gap:var(--space-2);padding:var(--space-3) 0}.kitchen-onboarding__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:60;padding:var(--space-4);animation:kitchen-onboarding-fade-in .2s ease-out}@keyframes kitchen-onboarding-fade-in{0%{opacity:0}to{opacity:1}}.kitchen-onboarding__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl, var(--radius-lg));box-shadow:var(--shadow-lg);padding:var(--space-8) var(--space-8) var(--space-6);width:100%;max-width:480px;display:flex;flex-direction:column;gap:var(--space-4);position:relative;animation:kitchen-onboarding-slide-up .25s ease-out}@keyframes kitchen-onboarding-slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.kitchen-onboarding__close{position:absolute;top:var(--space-3);right:var(--space-3);background:none;border:none;cursor:pointer;color:var(--color-text-secondary);font-size:var(--font-size-lg);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);line-height:1;transition:color var(--transition-fast),background-color var(--transition-fast)}.kitchen-onboarding__close:hover{color:var(--color-text-primary);background:var(--color-hover)}.kitchen-onboarding__progress{display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.kitchen-onboarding__dot{width:8px;height:8px;border-radius:var(--radius-full);background-color:var(--color-border);transition:background-color .2s ease,transform .2s ease}.kitchen-onboarding__dot--active{background-color:var(--color-accent);transform:scale(1.25)}.kitchen-onboarding__dot--completed{background-color:var(--color-secondary, #81b29a)}.kitchen-onboarding__step{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center}.kitchen-onboarding__icon{font-size:2.5rem;line-height:1}.kitchen-onboarding__heading{font-size:var(--font-size-xl, 1.25rem);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.kitchen-onboarding__text{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.6;margin:0;max-width:380px}.kitchen-onboarding__tip{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-secondary);background:var(--color-hover);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);text-align:left;width:100%}.kitchen-onboarding__tip-icon{flex-shrink:0;font-size:var(--font-size-sm)}.kitchen-onboarding__actions{display:flex;align-items:center;gap:var(--space-3);width:100%;margin-top:var(--space-2)}.kitchen-onboarding__actions--center{justify-content:center}.kitchen-onboarding__actions--split{justify-content:space-between}.kitchen-onboarding__btn-primary.basefn-button{min-width:120px;justify-content:center}.kitchen-onboarding__btn-back{font-size:var(--font-size-sm);color:var(--color-text-secondary);background:none;border:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast)}.kitchen-onboarding__btn-back:hover{color:var(--color-text-primary);background:var(--color-hover)}.kitchen-onboarding__btn-skip{font-size:var(--font-size-sm);color:var(--color-text-secondary);background:none;border:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast)}.kitchen-onboarding__btn-skip:hover{color:var(--color-text-primary)}.kitchen-onboarding__done-actions{display:flex;gap:var(--space-3);width:100%}.kitchen-onboarding__done-action{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-3);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);transition:border-color .2s ease,background-color .2s ease}.kitchen-onboarding__done-action:hover{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 5%,var(--color-surface))}.kitchen-onboarding__done-action-icon{font-size:1.5rem;line-height:1}.kitchen-setup-btn{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-secondary);background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-1) var(--space-3);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast)}.kitchen-setup-btn:hover{color:var(--color-accent);border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 5%,var(--color-surface))}@media(max-width:768px){.kitchen-form-row,.kitchen-form-row--3{grid-template-columns:1fr}.meal-grid__header,.meal-grid__row{grid-template-columns:60px repeat(7,1fr)}.meal-grid__day-name{font-size:.6rem}.meal-grid__day-num{font-size:var(--font-size-sm)}.meal-grid__meal-label{font-size:.6rem;writing-mode:vertical-lr;text-orientation:mixed}.pantry-grid,.recipe-grid,.shopping-grid{grid-template-columns:1fr}.ingredient-add-row{flex-wrap:wrap}.kitchen-onboarding__card{padding:var(--space-6) var(--space-5) var(--space-5);max-width:100%}.kitchen-onboarding__done-actions{flex-direction:column}.kitchen-onboarding__btn-primary.basefn-button{min-width:100px}}:root{--pin-color-cream: #fdfcfa;--pin-color-peach: #fef0ed;--pin-color-mint: #e8f4ed;--pin-color-lavender: #f3f0f8;--pin-color-butter: #fef9f0}.pinboard-page{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.pinboard-nav{display:flex;align-items:center;gap:var(--space-4)}.pinboard-canvas{position:relative;flex:1;min-height:0;background:var(--gradient-warm-subtle);background-image:var(--gradient-warm-subtle),radial-gradient(circle,var(--color-border) 1px,transparent 1px);background-size:100% 100%,20px 20px;overflow:hidden;cursor:crosshair}.pinboard-canvas--dragging{cursor:grabbing}.pinboard-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;padding:var(--space-8)}.pinboard-empty-icon{width:64px;height:64px;margin:0 auto var(--space-4);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--gradient-warm-subtle);color:var(--color-text-muted)}.pinboard-empty-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0 0 var(--space-2)}.pinboard-empty-text{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}.pin{position:absolute;width:220px;min-height:100px;background-color:var(--pin-color, var(--color-surface));border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-3);cursor:grab;transition:box-shadow .2s ease,transform .1s ease;transform:rotate(var(--pin-rotation, 0deg));transform-origin:center center;-webkit-user-select:none;user-select:none;z-index:1}.pin:hover{box-shadow:var(--shadow-lg);z-index:10}.pin--selected{box-shadow:var(--shadow-warm),0 0 0 2px var(--color-accent);z-index:20}.pin--dragging{cursor:grabbing;opacity:.95;transform:rotate(var(--pin-rotation, 0deg)) scale(1.02);box-shadow:var(--shadow-lg);z-index:100}.pin-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.pin-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0;line-height:var(--line-height-tight);flex:1;word-break:break-word}.pin-person-indicator{width:20px;height:20px;border-radius:var(--radius-full);flex-shrink:0;display:flex;align-items:center;justify-content:center}.pin-person-initials{font-size:9px;font-weight:var(--font-weight-semibold);color:#fff;cursor:default}.pin-body{flex:1;min-height:0}.pin-content{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal);margin:0;white-space:pre-wrap;word-break:break-word;max-height:100px;overflow:hidden}.pin--image{padding:0;overflow:hidden}.pin--image .pin-header{position:absolute;top:0;left:0;right:0;padding:var(--space-3);background:linear-gradient(180deg,rgba(0,0,0,.5) 0%,transparent 100%);z-index:1}.pin--image .pin-title{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.pin--image .pin-person-indicator{box-shadow:0 1px 2px #0003}.pin-image-container{width:100%;height:150px;overflow:hidden}.pin-image{width:100%;height:100%;object-fit:cover;display:block}.pin--image .pin-body{position:relative}.pin--image .pin-actions{position:absolute;bottom:var(--space-2);right:var(--space-2);background:#ffffffe6;border-radius:var(--radius-md);padding:var(--space-1)}.pin-link-content{display:flex;gap:var(--space-2);padding:var(--space-2);background-color:var(--color-background);border-radius:var(--radius-md);border:1px solid var(--color-border)}.pin-link-icon{width:24px;height:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--color-accent)}.pin-link-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.pin-link-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pin-link-description{font-size:var(--font-size-xs);color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pin-link-domain{font-size:var(--font-size-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pin-actions{display:flex;gap:var(--space-1);margin-top:var(--space-2);opacity:0;transition:opacity var(--transition-fast)}.pin:hover .pin-actions,.pin--selected .pin-actions{opacity:1}.pin-type-select{display:flex;gap:var(--space-2)}.pin-type-option{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.pin-type-option:hover{border-color:var(--color-text-muted)}.pin-type-option--selected{background:var(--gradient-primary);color:var(--color-accent-contrast);border-color:transparent}.pin-type-option--selected:hover{background:var(--color-accent-hover);border-color:transparent}.color-picker{display:flex;gap:var(--space-2)}.color-option{width:32px;height:32px;border-radius:var(--radius-full);background-color:var(--option-color);border:2px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast)}.color-option:hover{border-color:var(--color-text-muted);transform:scale(1.1)}.color-option--selected{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-subtle)}.pin-actions .button--xs{width:24px;height:24px;padding:2px}@media(max-width:768px){.pinboard-nav{flex-wrap:wrap;gap:var(--space-3)}.pin{width:180px;min-height:80px;padding:var(--space-2)}.pin-title{font-size:var(--font-size-xs)}.pin-content{font-size:var(--font-size-xs);max-height:60px}.pin-actions{opacity:1}.pin-image-container{height:100px}.pin-type-select{flex-wrap:wrap}.pin-type-option{flex:1;justify-content:center}}@media(max-width:480px){.pin{width:160px}}.header--hidden{display:none}.session-layout{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:var(--gradient-warm-subtle);overflow-y:auto}.session-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg),var(--shadow-warm);padding:var(--space-10) var(--space-8);width:100%;max-width:420px;display:flex;flex-direction:column;gap:var(--space-8)}.session-brand{text-align:center}.session-brand-title{font-size:2rem;font-weight:var(--font-weight-bold);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.04em;line-height:var(--line-height-tight);margin-bottom:var(--space-2)}.session-brand-tagline{font-size:var(--font-size-sm);color:var(--color-text-muted);letter-spacing:.01em}.session-form{display:flex;flex-direction:column;gap:var(--space-1)}.session-form .form-group{margin-bottom:var(--space-4)}.session-form-heading{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--space-5)}.session-form-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal);margin-bottom:var(--space-4)}.session-form-desc--muted{color:var(--color-text-muted);margin-top:var(--space-2);margin-bottom:0}.session-btn-full.basefn-button{width:100%;justify-content:center;margin-top:var(--space-2)}.session-error{font-size:var(--font-size-sm);color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-2)}[data-theme=dark] .session-error{background-color:#2d1515;border-color:#7f1d1d;color:#fca5a5}.session-links{text-align:center;margin-top:var(--space-4)}.session-link{font-size:var(--font-size-sm);color:var(--color-accent);background:none;border:none;padding:0;cursor:pointer;text-underline-offset:2px;text-decoration:underline;text-decoration-color:transparent;transition:color var(--transition-normal),text-decoration-color var(--transition-normal)}.session-link:hover{color:var(--color-accent-hover);text-decoration-color:var(--color-accent-hover)}.session-hint{border-top:1px solid var(--color-border-subtle);padding-top:var(--space-5);text-align:center;display:flex;flex-direction:column;gap:var(--space-1)}.session-hint-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em}.session-hint-text{font-size:var(--font-size-xs);color:var(--color-text-muted);font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,monospace}.session-success{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center;padding:var(--space-4) 0}.session-success-icon{font-size:3rem;line-height:1;margin-bottom:var(--space-2)}.session-success-email{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text);background:var(--color-accent-background);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4)}.header-signout{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:none;border:none;cursor:pointer;transition:background-color var(--transition-normal),color var(--transition-normal);white-space:nowrap}.header-signout:hover{background-color:var(--color-hover);color:var(--color-text)}@media(max-width:480px){.session-layout{padding:var(--space-4);align-items:flex-start;padding-top:var(--space-10)}.session-card{padding:var(--space-8) var(--space-6);gap:var(--space-6);box-shadow:none;border-radius:var(--radius-lg)}.session-brand-title{font-size:1.75rem}}.seed-credentials-card{max-width:540px}.seed-credentials{display:flex;flex-direction:column;gap:var(--space-4)}.seed-households{display:flex;flex-direction:column;gap:var(--space-5)}.seed-household{border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.seed-household-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text)}.seed-household-members{display:flex;flex-direction:column;gap:var(--space-1)}.seed-member{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,monospace}.seed-member-email{color:var(--color-text-secondary)}.seed-member-separator,.seed-member-password{color:var(--color-text-muted)}.session-hint-link{margin-top:var(--space-2);font-size:var(--font-size-xs)}.space-switcher{position:relative;display:flex;align-items:center}.space-switcher-trigger{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:transparent;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text);cursor:pointer;transition:background-color var(--transition-normal);white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}.space-switcher-trigger:hover{background-color:var(--color-hover)}.space-dropdown{position:absolute;top:calc(100% + var(--space-1));left:0;z-index:200;min-width:220px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-2);display:flex;flex-direction:column}.space-dropdown-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:transparent;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text);cursor:pointer;text-align:left;width:100%;transition:background-color var(--transition-fast)}.space-dropdown-item:hover{background-color:var(--color-hover)}.space-dropdown-action{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:transparent;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;text-align:left;width:100%;transition:background-color var(--transition-fast),color var(--transition-fast)}.space-dropdown-action:hover{background-color:var(--color-hover);color:var(--color-text)}.space-dropdown-divider{height:1px;background-color:var(--color-border-subtle);margin:var(--space-1) 0}.space-dropdown-edit{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2)}.space-dropdown-edit-input{flex:1;min-width:0;font-size:var(--font-size-sm);padding:var(--space-1) var(--space-2)}@media(max-width:768px){.space-switcher-trigger{max-width:120px;font-size:var(--font-size-xs)}.space-dropdown{min-width:180px}}.onboarding{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6);background:var(--gradient-warm-subtle);overflow-y:auto}.onboarding-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg),var(--shadow-warm);padding:var(--space-10) var(--space-8);width:100%;max-width:520px;display:flex;flex-direction:column;gap:var(--space-6)}.onboarding-card--wide{max-width:640px}.onboarding-brand{text-align:center}.onboarding-brand-title{font-size:2rem;font-weight:var(--font-weight-bold);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.04em;line-height:var(--line-height-tight);margin-bottom:var(--space-2)}.onboarding-brand-tagline{font-size:var(--font-size-sm);color:var(--color-text-muted);letter-spacing:.01em}.onboarding-step{display:flex;flex-direction:column;gap:var(--space-5)}.onboarding-heading{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text);text-align:center}.onboarding-subheading{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center;line-height:var(--line-height-normal);margin-top:calc(-1 * var(--space-3))}.onboarding-choices{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.onboarding-choice{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-5) var(--space-3);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--transition-normal),background-color var(--transition-normal),box-shadow var(--transition-normal)}.onboarding-choice:hover{border-color:var(--color-text-muted);background-color:var(--color-hover)}.onboarding-choice--selected{border-color:var(--color-accent);background-color:var(--color-accent-subtle);box-shadow:0 0 0 1px var(--color-accent)}.onboarding-choice--selected:hover{border-color:var(--color-accent);background-color:var(--color-accent-subtle)}.onboarding-choice-emoji{font-size:2rem;line-height:1}.onboarding-choice-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);text-align:center}.onboarding-progress{display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.onboarding-dot{width:8px;height:8px;border-radius:var(--radius-full);background-color:var(--color-border);transition:background-color var(--transition-normal),transform var(--transition-normal)}.onboarding-dot--active{background-color:var(--color-accent);transform:scale(1.25)}.onboarding-dot--completed{background-color:var(--color-secondary)}.onboarding-routines{display:flex;flex-direction:column;gap:var(--space-3)}.onboarding-routine{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--transition-normal),background-color var(--transition-normal)}.onboarding-routine:hover{border-color:var(--color-text-muted)}.onboarding-routine--selected{border-color:var(--color-accent);background-color:var(--color-accent-subtle)}.onboarding-routine--selected:hover{border-color:var(--color-accent)}.onboarding-routine-checkbox{flex-shrink:0;width:22px;height:22px;border-radius:var(--radius-sm);border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;margin-top:1px;transition:border-color var(--transition-normal),background-color var(--transition-normal)}.onboarding-routine--selected .onboarding-routine-checkbox{border-color:var(--color-accent);background-color:var(--color-accent)}.onboarding-routine-check{color:#fff;font-size:14px;font-weight:var(--font-weight-bold);line-height:1}.onboarding-routine-info{flex:1;min-width:0}.onboarding-routine-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--space-1)}.onboarding-routine-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.onboarding-routine-count{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--space-1)}.onboarding-review{display:flex;flex-direction:column;gap:var(--space-4)}.onboarding-review-routine{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.onboarding-review-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-hover);border-bottom:1px solid var(--color-border-subtle)}.onboarding-review-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text)}.onboarding-review-badge{font-size:var(--font-size-xs);color:var(--color-text-muted)}.onboarding-review-tasks{list-style:none;padding:0;margin:0}.onboarding-review-task{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-subtle);font-size:var(--font-size-sm);color:var(--color-text)}.onboarding-review-task:last-child{border-bottom:none}.onboarding-review-task-bullet{width:6px;height:6px;border-radius:var(--radius-full);background-color:var(--color-accent);flex-shrink:0}.onboarding-review-task-title{flex:1;min-width:0}.onboarding-review-task-freq{font-size:var(--font-size-xs);color:var(--color-text-muted);background:var(--color-hover);padding:2px var(--space-2);border-radius:var(--radius-sm)}.onboarding-review-task-remove{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast);background:none;border:none;font-size:var(--font-size-sm);padding:0}.onboarding-review-task-remove:hover{background-color:var(--color-hover);color:var(--color-text)}.onboarding-actions{display:flex;align-items:center;gap:var(--space-3)}.onboarding-actions--split{justify-content:space-between}.onboarding-actions--end{justify-content:flex-end}.onboarding-actions--center{justify-content:center}.onboarding-btn-primary.basefn-button{min-width:140px;justify-content:center}.onboarding-btn-back{font-size:var(--font-size-sm);color:var(--color-text-secondary);background:none;border:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-normal),background-color var(--transition-normal)}.onboarding-btn-back:hover{color:var(--color-text);background-color:var(--color-hover)}.onboarding-error{font-size:var(--font-size-sm);color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);text-align:center}[data-theme=dark] .onboarding-error{background-color:#2d1515;border-color:#7f1d1d;color:#fca5a5}.onboarding-finishing{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-6) 0;text-align:center}.onboarding-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:var(--radius-full);animation:onboarding-spin .8s linear infinite}@keyframes onboarding-spin{to{transform:rotate(360deg)}}.onboarding-finishing-text{font-size:var(--font-size-base);color:var(--color-text-secondary)}.onboarding-section-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-1)}.apply-bulk-controls{display:flex;flex-direction:column;gap:var(--space-3)}.apply-bulk-section{background:var(--color-hover);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.apply-bulk-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-2)}.apply-weekday-buttons,.apply-monthday-buttons,.apply-assignee-buttons{display:flex;flex-wrap:wrap;gap:var(--space-2)}.apply-weekday-btn,.apply-monthday-btn,.apply-assignee-btn{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.apply-weekday-btn:hover,.apply-monthday-btn:hover,.apply-assignee-btn:hover{border-color:var(--color-accent);color:var(--color-accent);background-color:var(--color-accent-subtle)}.apply-task-list{display:flex;flex-direction:column;gap:0;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.apply-task-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-subtle)}.apply-task-row:last-child{border-bottom:none}.apply-task-info{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-2)}.apply-task-title{font-size:var(--font-size-sm);color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.apply-task-freq{font-size:var(--font-size-xs);color:var(--color-text-muted);background:var(--color-hover);padding:1px var(--space-2);border-radius:var(--radius-sm);white-space:nowrap;flex-shrink:0}.apply-task-controls{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.apply-task-select,.apply-task-input{font-size:var(--font-size-xs);padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);min-width:120px;max-width:160px}.apply-task-select:focus,.apply-task-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}[data-theme=dark] .apply-task-select,[data-theme=dark] .apply-task-input{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.person-select-avatar--sm{width:24px;height:24px}.person-select-avatar--sm .person-select-avatar-initials{font-size:var(--font-size-xs)}.apply-day-squares{display:flex;gap:4px}.apply-day-square{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.apply-day-square:hover{background-color:var(--color-accent-subtle);color:var(--color-accent);border-color:var(--color-accent)}.apply-day-square--selected{background-color:var(--color-accent);color:#fff;border-color:var(--color-accent)}.apply-day-square--selected:hover{background-color:var(--color-accent);color:#fff}.apply-action-buttons{display:flex;gap:var(--space-2);flex-wrap:wrap}.apply-action-btn{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-accent);background:var(--color-accent-subtle);border:1px solid var(--color-accent);border-radius:var(--radius-full);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.apply-action-btn:hover{background-color:var(--color-accent);color:#fff}.apply-time-buttons{display:flex;flex-wrap:wrap;gap:var(--space-2)}.apply-time-buttons--inline{gap:4px}.apply-time-btn{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.apply-time-btn:hover{border-color:var(--color-accent);color:var(--color-accent);background-color:var(--color-accent-subtle)}.apply-time-btn--sm{padding:2px var(--space-2);font-size:10px}.apply-time-btn--selected{background-color:var(--color-accent);color:#fff;border-color:var(--color-accent)}.apply-time-btn--selected:hover{background-color:var(--color-accent);color:#fff}.onboarding-invite-row{display:flex;gap:var(--space-2);align-items:flex-start}.onboarding-invite-input{flex:1;min-width:0}@media(max-width:768px){.onboarding-card{padding:var(--space-8) var(--space-6);box-shadow:var(--shadow-md)}.onboarding-card--wide{max-width:100%}.onboarding-brand-title{font-size:1.85rem}.apply-day-square{width:34px;height:34px}.person-select-avatar--sm{width:30px;height:30px}.onboarding-review-task-remove{width:32px;height:32px}.onboarding-btn-primary.basefn-button{min-width:120px}}@media(max-width:480px){.onboarding{padding:var(--space-4);align-items:flex-start;padding-top:var(--space-8)}.onboarding-card{padding:var(--space-6) var(--space-5);gap:var(--space-5);box-shadow:none;border-radius:var(--radius-lg)}.onboarding-card--wide{max-width:100%}.onboarding-heading{font-size:var(--font-size-lg)}.onboarding-subheading{font-size:var(--font-size-xs)}.onboarding-brand-title{font-size:1.75rem}.onboarding-choices{grid-template-columns:1fr}.onboarding-invite-row{flex-direction:column}.onboarding-invite-row .basefn-button{width:100%;justify-content:center}.apply-day-square{width:36px;height:36px;font-size:var(--font-size-sm)}.person-select-avatar--sm{width:34px;height:34px}.onboarding-review-task-remove{width:36px;height:36px}.onboarding-actions .onboarding-btn-primary.basefn-button{flex:1;min-width:0}.apply-task-row{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.apply-task-controls{width:100%;flex-wrap:wrap}.apply-task-select,.apply-task-input{flex:1;min-width:0;max-width:none}}.home-page{flex:1;min-height:0;overflow-y:auto;padding:var(--space-8) var(--space-6);max-width:720px;margin:0 auto;width:100%}.home-hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-8) 0 var(--space-6)}.home-avatar{width:96px;height:96px;border-radius:var(--radius-full);background:var(--color-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:40px;font-weight:var(--font-weight-bold);margin-bottom:var(--space-4);letter-spacing:-.02em}.home-user-name{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0 0 var(--space-2)}.home-time{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-2)}.home-weather{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.home-weather--loading{color:var(--color-text-muted)}.home-greeting{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin:var(--space-2) 0 0}.home-section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0 0 var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-subtle)}.home-today{margin-bottom:var(--space-8)}.home-today-empty{text-align:center;padding:var(--space-6) var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-sm);background:var(--color-hover);border-radius:var(--radius-lg)}.home-today-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}.home-today-column-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin:0 0 var(--space-3);text-transform:uppercase;letter-spacing:.05em}.home-today-card{display:flex;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border-subtle);margin-bottom:var(--space-2);transition:background-color var(--transition-fast)}.home-today-card:hover{background:var(--color-hover)}.home-today-card-accent{width:3px;border-radius:var(--radius-full);flex-shrink:0}.home-today-card-accent--task{background-color:var(--color-secondary)!important}.home-today-card-content{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.home-today-card-time{font-size:var(--font-size-xs);color:var(--color-text-muted)}.home-today-card-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-today-card-person{font-size:var(--font-size-xs);color:var(--color-text-muted)}.home-upcoming{margin-bottom:var(--space-8)}.home-upcoming-empty{text-align:center;padding:var(--space-6) var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-sm);background:var(--color-hover);border-radius:var(--radius-lg)}.home-upcoming-list{display:flex;flex-direction:column}.home-upcoming-date{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);padding:var(--space-3) 0 var(--space-2);border-bottom:1px solid var(--color-border-subtle);margin-top:var(--space-2)}.home-upcoming-date:first-child{margin-top:0}.home-upcoming-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-1);border-radius:var(--radius-md);transition:background-color var(--transition-fast)}.home-upcoming-item:hover{background:var(--color-hover)}.home-upcoming-item-dot{width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.home-upcoming-item-dot--task{background-color:var(--color-secondary)!important}.home-upcoming-item-time{font-size:var(--font-size-xs);color:var(--color-text-muted);min-width:52px;flex-shrink:0}.home-upcoming-item-title{font-size:var(--font-size-sm);color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:768px){.home-page{padding:var(--space-6) var(--space-4)}.home-hero{padding:var(--space-6) 0 var(--space-4)}.home-avatar{width:72px;height:72px;font-size:32px}.home-today-grid{grid-template-columns:1fr;gap:var(--space-4)}}.basefn-kbd{display:inline-flex;align-items:center;gap:.25rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:500}.basefn-kbd__key{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d1d5db;border-bottom-width:2px;border-radius:.375rem;background-color:#f9fafb;color:#374151;box-shadow:0 1px 2px #0000000d}.basefn-kbd__separator{color:#9ca3af;font-weight:400;margin:0 .125rem}.basefn-kbd--sm .basefn-kbd__key{padding:.125rem .375rem;font-size:.75rem;line-height:1rem;min-width:1.25rem}.basefn-kbd--sm .basefn-kbd__separator{font-size:.75rem}.basefn-kbd--md .basefn-kbd__key{padding:.25rem .5rem;font-size:.875rem;line-height:1.25rem;min-width:1.5rem}.basefn-kbd--md .basefn-kbd__separator{font-size:.875rem}.basefn-kbd--lg .basefn-kbd__key{padding:.375rem .75rem;font-size:1rem;line-height:1.5rem;min-width:2rem}.basefn-kbd--lg .basefn-kbd__separator{font-size:1rem}.basefn-kbd__key:hover{background-color:#f3f4f6;border-color:#9ca3af}.basefn-card{border-radius:var(--basefn-radius-xl);overflow:hidden;transition:all .2s}.basefn-card__header{padding:1rem 1.5rem;border-bottom:1px solid var(--basefn-border-primary);font-weight:600;font-size:1.125rem;color:var(--basefn-text-primary);background-color:var(--basefn-bg-secondary)}.basefn-card__body{padding:1.5rem}.basefn-card__footer{padding:1rem 1.5rem;border-top:1px solid var(--basefn-border-primary);font-size:.875rem;color:var(--basefn-text-tertiary);background-color:var(--basefn-bg-secondary)}.basefn-card--default{background-color:var(--basefn-bg-primary);border:1px solid var(--basefn-border-primary)}.basefn-card--outlined{background-color:var(--basefn-bg-primary);border:2px solid var(--basefn-border-secondary)}.basefn-card--elevated{background-color:var(--basefn-surface-elevated);border:1px solid var(--basefn-border-primary);box-shadow:var(--basefn-shadow-md)}.basefn-card--elevated:hover{box-shadow:var(--basefn-shadow-lg);transform:translateY(-2px)}@media(max-width:768px){.basefn-card__header{padding:.75rem 1rem}.basefn-card__body{padding:1rem}.basefn-card__footer{padding:.75rem 1rem}}.basefn-grid{display:grid;gap:1rem}.basefn-icon{display:inline-block;vertical-align:middle;flex-shrink:0;line-height:1}.basefn-icon svg{display:block;width:100%;height:100%}.basefn-tabs{width:100%;background:var(--basefn-bg-primary);border-radius:var(--basefn-radius-lg);padding:1rem}.basefn-tabs__list{display:flex;border-bottom:2px solid var(--basefn-border-primary);gap:.5rem;margin-bottom:1.5rem}.basefn-tabs__trigger{padding:.75rem 1.25rem;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:.875rem;font-weight:500;color:var(--basefn-text-tertiary);cursor:pointer;transition:all .2s;white-space:nowrap}.basefn-tabs__trigger:hover{color:var(--basefn-text-primary);background-color:var(--basefn-bg-secondary)}.basefn-tabs__trigger--active{color:var(--basefn-color-primary);border-bottom-color:var(--basefn-color-primary)}.basefn-tabs__trigger:disabled{opacity:.5;cursor:not-allowed}.basefn-tabs__content{animation:basefn-tabs-fade-in .2s ease-in}@keyframes basefn-tabs-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.basefn-tabs__list{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.basefn-tabs__list::-webkit-scrollbar{display:none}.basefn-tabs__trigger{padding:.625rem 1rem;font-size:.8125rem}}.basefn-alert{position:relative;display:flex;align-items:flex-start;justify-content:space-between;padding:1rem 1.25rem;border-radius:.5rem;border-left:4px solid;font-size:.875rem;animation:basefn-alert-slide-in .3s ease-out}.basefn-alert__content{flex:1}.basefn-alert__title{font-weight:600;margin-bottom:.25rem;font-size:1rem}.basefn-alert__message{line-height:1.5}.basefn-alert__dismiss{background:none;border:none;font-size:1.5rem;line-height:1;cursor:pointer;padding:0;margin-left:1rem;color:inherit;opacity:.6;transition:opacity .2s}.basefn-alert__dismiss:hover{opacity:1}.basefn-alert--info{background-color:var(--basefn-alert-info-bg);border-left-color:var(--basefn-color-info);color:var(--basefn-alert-info-text)}.basefn-alert--success{background-color:var(--basefn-alert-success-bg);border-left-color:var(--basefn-color-success);color:var(--basefn-alert-success-text)}.basefn-alert--warning{background-color:var(--basefn-alert-warning-bg);border-left-color:var(--basefn-color-warning);color:var(--basefn-alert-warning-text)}.basefn-alert--error{background-color:var(--basefn-alert-error-bg);border-left-color:var(--basefn-color-error);color:var(--basefn-alert-error-text)}@keyframes basefn-alert-slide-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.basefn-badge{display:inline-flex;align-items:center;justify-content:center;font-weight:500;border-radius:9999px;transition:all .2s;white-space:nowrap}.basefn-badge--sm{padding:.125rem .5rem;font-size:.75rem;line-height:1rem}.basefn-badge--md{padding:.25rem .75rem;font-size:.875rem;line-height:1.25rem}.basefn-badge--lg{padding:.375rem 1rem;font-size:1rem;line-height:1.5rem}.basefn-badge--default{background-color:var(--basefn-bg-tertiary);color:var(--basefn-text-primary)}.basefn-badge--primary{background-color:var(--basefn-color-primary);color:#fff}.basefn-badge--secondary{background-color:var(--basefn-color-secondary);color:#fff}.basefn-badge--success{background-color:var(--basefn-color-success);color:#fff}.basefn-badge--warning{background-color:var(--basefn-color-warning);color:#fff}.basefn-badge--error{background-color:var(--basefn-color-error);color:#fff}.basefn-badge--dot:before{content:"";display:inline-block;width:.5rem;height:.5rem;border-radius:50%;margin-right:.5rem;background-color:currentColor;opacity:.7}.basefn-input{display:block;width:100%;font-family:var(--basefn-font-family);font-size:var(--basefn-font-size-sm);font-weight:var(--basefn-font-weight-normal);line-height:var(--basefn-line-height-normal);height:var(--basefn-form-input-height);padding:var(--basefn-form-input-padding-y) var(--basefn-form-input-padding-x);background-color:var(--basefn-form-input-bg);color:var(--basefn-form-input-text);border:var(--basefn-border-width) solid var(--basefn-form-input-border);border-radius:var(--basefn-radius-lg);outline:none;transition:border-color var(--basefn-transition-fast),box-shadow var(--basefn-transition-fast)}.basefn-input::placeholder{color:var(--basefn-form-input-placeholder);opacity:1}.basefn-input:focus{border-color:var(--basefn-form-input-border-focus);box-shadow:0 0 0 var(--basefn-focus-ring-width) var(--basefn-focus-ring-color)}.basefn-input:disabled{background-color:var(--basefn-form-input-disabled-bg);border-color:var(--basefn-form-input-disabled-border);color:var(--basefn-form-input-disabled-text);cursor:not-allowed}.basefn-input:disabled::placeholder{color:var(--basefn-form-input-disabled-text)}.basefn-input--radius-full{border-radius:10rem;padding:.5rem 1.25rem}.basefn-label{display:inline-block;font-family:var(--basefn-font-family);font-size:var(--basefn-font-size-sm);font-weight:var(--basefn-font-weight-medium);color:var(--basefn-text-secondary);line-height:var(--basefn-line-height-normal);margin-bottom:var(--basefn-spacing-xs);cursor:pointer}.basefn-label--required:after{content:" *";color:var(--basefn-color-error);font-weight:var(--basefn-font-weight-bold)}.basefn-label:empty{display:none}.basefn-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--basefn-surface-overlay);display:flex;align-items:center;justify-content:center;z-index:1000;animation:basefn-modal-fade-in .2s ease-out}.basefn-modal{background:var(--basefn-bg-primary);border-radius:.5rem;box-shadow:var(--basefn-shadow-lg);max-width:90vw;max-height:90vh;overflow:auto;animation:basefn-modal-slide-in .3s ease-out}.basefn-modal--sm{width:400px}.basefn-modal--md{width:600px}.basefn-modal--lg{width:800px}.basefn-modal--xl{width:1000px}.basefn-modal__header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--basefn-border-primary)}.basefn-modal__title{font-size:1.25rem;font-weight:600;color:var(--basefn-text-primary);margin:0}.basefn-modal__close{background:none;border:none;font-size:1.5rem;color:var(--basefn-text-tertiary);cursor:pointer;padding:.25rem;line-height:1;transition:color .2s}.basefn-modal__close:hover{color:var(--basefn-text-primary)}.basefn-modal__body{padding:1.5rem;color:var(--basefn-text-secondary)}.basefn-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid var(--basefn-border-primary)}@keyframes basefn-modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes basefn-modal-slide-in{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:768px){.basefn-modal-backdrop{align-items:flex-end}.basefn-modal{max-width:100vw;max-height:85vh;width:100%!important;border-radius:.75rem .75rem 0 0;animation:basefn-modal-slide-up .3s ease-out}.basefn-modal__header,.basefn-modal__body,.basefn-modal__footer{padding:1rem}@keyframes basefn-modal-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}}.basefn-radio-wrapper{display:inline-flex;align-items:center;gap:var(--basefn-spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none}.basefn-radio-wrapper--disabled{cursor:not-allowed;opacity:.6}.basefn-radio-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:1.125rem;height:1.125rem;border:var(--basefn-border-width-thick) solid var(--basefn-form-input-border);border-radius:var(--basefn-radius-full);background-color:var(--basefn-form-input-bg);cursor:pointer;position:relative;transition:all var(--basefn-transition-fast);flex-shrink:0}.basefn-radio-input:focus-visible{outline:var(--basefn-focus-ring-width) solid var(--basefn-focus-ring-color);outline-offset:var(--basefn-focus-ring-offset)}.basefn-radio-input:checked{background-color:var(--basefn-color-primary);border-color:var(--basefn-color-primary)}.basefn-radio-input:checked:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:.375rem;height:.375rem;border-radius:var(--basefn-radius-full);background-color:#fff}.basefn-radio-input:disabled{background-color:var(--basefn-form-input-disabled-bg);border-color:var(--basefn-form-input-disabled-border);cursor:not-allowed}.basefn-radio-input:disabled:checked{background-color:var(--basefn-color-neutral-400);border-color:var(--basefn-color-neutral-400)}.basefn-radio-label{font-family:var(--basefn-font-family);font-size:var(--basefn-font-size-base);font-weight:var(--basefn-font-weight-normal);color:var(--basefn-color-neutral-700);line-height:var(--basefn-line-height-normal)}.basefn-radio-wrapper--disabled .basefn-radio-label{color:var(--basefn-form-input-disabled-text)}.basefn-toast-container{position:fixed;z-index:9999;pointer-events:none}.basefn-toast-container--top-right{top:1rem;right:1rem}.basefn-toast-container--top-left{top:1rem;left:1rem}.basefn-toast-container--bottom-right{bottom:1rem;right:1rem}.basefn-toast-container--bottom-left{bottom:1rem;left:1rem}.basefn-toast{display:flex;align-items:flex-start;gap:.75rem;min-width:300px;max-width:400px;padding:1rem;margin-bottom:.75rem;background:#fff;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;pointer-events:auto;border-left:4px solid;animation:basefn-toast-slide-in .3s ease-out}.basefn-toast--info{border-left-color:#3b82f6}.basefn-toast--success{border-left-color:#10b981}.basefn-toast--warning{border-left-color:#f59e0b}.basefn-toast--error{border-left-color:#ef4444}.basefn-toast__content{flex:1}.basefn-toast__title{font-weight:600;font-size:.875rem;color:#1f2937;margin-bottom:.25rem}.basefn-toast__message{font-size:.875rem;color:#6b7280;line-height:1.4}.basefn-toast__close{background:none;border:none;font-size:1.25rem;color:#9ca3af;cursor:pointer;padding:0;line-height:1;transition:color .2s}.basefn-toast__close:hover{color:#6b7280}@keyframes basefn-toast-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.basefn-avatar{border-radius:50%;margin:0;padding:0;overflow:hidden;width:2.5rem;height:2.5rem}.basefn-avatar--sm{width:1.5rem;height:1.5rem}.basefn-avatar--lg{width:4rem;height:4rem}.basefn-avatar img{width:100%;height:100%}.basefn-button{display:inline-flex;align-items:center;justify-content:center;font-family:var(--basefn-font-family);font-size:var(--basefn-font-size-sm);font-weight:var(--basefn-font-weight-medium);line-height:var(--basefn-line-height-tight);height:var(--basefn-button-height);padding:0 var(--basefn-button-padding-x);border:var(--basefn-border-width) solid transparent;border-radius:var(--basefn-radius-xl);cursor:pointer;transition:all var(--basefn-transition-fast);outline:none;text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none}.basefn-button:focus-visible{outline:var(--basefn-focus-ring-width) solid var(--basefn-focus-ring-color);outline-offset:var(--basefn-focus-ring-offset)}.basefn-button--primary{background-color:var(--basefn-color-primary);color:#fff;border-color:var(--basefn-color-primary)}.basefn-button--primary:hover:not(:disabled){background-color:var(--basefn-color-primary-hover);border-color:var(--basefn-color-primary-hover)}.basefn-button--primary:active:not(:disabled){background-color:var(--basefn-color-primary-active);border-color:var(--basefn-color-primary-active)}.basefn-button--secondary{background-color:var(--basefn-color-secondary);color:#fff;border-color:var(--basefn-color-secondary)}.basefn-button--secondary:hover:not(:disabled){background-color:var(--basefn-color-secondary-hover);border-color:var(--basefn-color-secondary-hover)}.basefn-button--secondary:active:not(:disabled){background-color:var(--basefn-color-secondary-active);border-color:var(--basefn-color-secondary-active)}.basefn-button--ghost{background-color:transparent;border-color:transparent;border:0;color:var(--basefn-text-tertiary)}.basefn-button--ghost:active:not(:disabled){background-color:var(--basefn-color-neutral-100);border-color:var(--basefn-color-neutral-500)}.basefn-button:disabled{cursor:not-allowed;opacity:.5}.basefn-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;z-index:1000;animation:basefn-drawer-fade-in .3s ease-out}.basefn-drawer{position:fixed;background:#fff;z-index:1001;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.basefn-drawer--left{left:0;top:0;bottom:0;width:320px;animation:basefn-drawer-slide-in-left .3s ease-out}.basefn-drawer--right{right:0;top:0;bottom:0;width:320px;animation:basefn-drawer-slide-in-right .3s ease-out}.basefn-drawer--top{top:0;left:0;right:0;height:320px;animation:basefn-drawer-slide-in-top .3s ease-out}.basefn-drawer--bottom{bottom:0;left:0;right:0;height:320px;animation:basefn-drawer-slide-in-bottom .3s ease-out}.basefn-drawer--sm.basefn-drawer--left,.basefn-drawer--sm.basefn-drawer--right{width:240px}.basefn-drawer--md.basefn-drawer--left,.basefn-drawer--md.basefn-drawer--right{width:320px}.basefn-drawer--lg.basefn-drawer--left,.basefn-drawer--lg.basefn-drawer--right{width:480px}.basefn-drawer--sm.basefn-drawer--top,.basefn-drawer--sm.basefn-drawer--bottom{height:240px}.basefn-drawer--md.basefn-drawer--top,.basefn-drawer--md.basefn-drawer--bottom{height:320px}.basefn-drawer--lg.basefn-drawer--top,.basefn-drawer--lg.basefn-drawer--bottom{height:480px}.basefn-drawer__header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e7eb;flex-shrink:0}.basefn-drawer__title{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0}.basefn-drawer__close{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:.25rem;line-height:1;transition:color .2s}.basefn-drawer__close:hover{color:#1f2937}.basefn-drawer__body{flex:1;padding:1.5rem;overflow-y:auto}.basefn-drawer__footer{padding:1.5rem;border-top:1px solid #e5e7eb;flex-shrink:0}@keyframes basefn-drawer-fade-in{0%{opacity:0}to{opacity:1}}@keyframes basefn-drawer-slide-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes basefn-drawer-slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes basefn-drawer-slide-in-top{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes basefn-drawer-slide-in-bottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(max-width:768px){.basefn-drawer--left,.basefn-drawer--right,.basefn-drawer--sm.basefn-drawer--left,.basefn-drawer--sm.basefn-drawer--right,.basefn-drawer--md.basefn-drawer--left,.basefn-drawer--md.basefn-drawer--right,.basefn-drawer--lg.basefn-drawer--left,.basefn-drawer--lg.basefn-drawer--right{width:85vw;max-width:320px}.basefn-drawer__header,.basefn-drawer__body,.basefn-drawer__footer{padding:1rem}}.basefn-select{display:block;width:100%;font-family:var(--basefn-font-family);font-size:var(--basefn-font-size-base);font-weight:var(--basefn-font-weight-normal);line-height:var(--basefn-line-height-normal);height:var(--basefn-form-input-height);padding:var(--basefn-form-input-padding-y) var(--basefn-form-input-padding-x);padding-right:calc(var(--basefn-form-input-padding-x) * 2 + 1em);background-color:var(--basefn-form-input-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--basefn-form-input-padding-x) center;background-size:12px;color:var(--basefn-form-input-text);border:var(--basefn-border-width) solid var(--basefn-form-input-border);border-radius:var(--basefn-radius-md);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:border-color var(--basefn-transition-fast),box-shadow var(--basefn-transition-fast)}.basefn-select:focus{border-color:var(--basefn-form-input-border-focus);box-shadow:0 0 0 var(--basefn-focus-ring-width) var(--basefn-focus-ring-color)}.basefn-select:disabled{background-color:var(--basefn-form-input-disabled-bg);border-color:var(--basefn-form-input-disabled-border);color:var(--basefn-form-input-disabled-text);cursor:not-allowed;opacity:.6}.basefn-select option{font-weight:var(--basefn-font-weight-normal);color:var(--basefn-color-neutral-900);background-color:#fff}.basefn-slider{width:100%}.basefn-slider__wrapper{display:flex;flex-direction:column;gap:.5rem}.basefn-slider__header{display:flex;justify-content:space-between;align-items:center}.basefn-slider__label{font-size:.875rem;font-weight:500;color:#374151}.basefn-slider__value{font-size:.875rem;color:#6b7280;font-weight:600}.basefn-slider__input{-webkit-appearance:none;width:100%;height:6px;border-radius:9999px;background:#e5e7eb;outline:none;cursor:pointer}.basefn-slider__input:disabled{opacity:.5;cursor:not-allowed}.basefn-slider__input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#3b82f6;cursor:pointer;transition:transform .1s,box-shadow .1s}.basefn-slider__input::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 0 0 4px #3b82f61a}.basefn-slider__input::-webkit-slider-thumb:active{transform:scale(1.05);box-shadow:0 0 0 6px #3b82f626}.basefn-slider__input::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#3b82f6;cursor:pointer;border:none;transition:transform .1s,box-shadow .1s}.basefn-slider__input::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:0 0 0 4px #3b82f61a}.basefn-slider__input::-moz-range-thumb:active{transform:scale(1.05);box-shadow:0 0 0 6px #3b82f626}.basefn-slider__markers{display:flex;justify-content:space-between;padding:0 .25rem;margin-top:.25rem}.basefn-slider__marker{font-size:.75rem;color:#9ca3af}.basefn-switch-wrapper{display:inline-flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.basefn-switch-wrapper--disabled{opacity:.5;cursor:not-allowed}.basefn-switch{position:relative;width:44px;height:24px;background-color:#d1d5db;border-radius:9999px;transition:background-color .2s;cursor:pointer}.basefn-switch--checked{background-color:#3b82f6}.basefn-switch--disabled{cursor:not-allowed}.basefn-switch__slider{position:absolute;top:2px;left:2px;width:20px;height:20px;background-color:#fff;border-radius:9999px;transition:transform .2s;box-shadow:0 1px 3px #0000001a}.basefn-switch--checked .basefn-switch__slider{transform:translate(20px)}.basefn-switch-label{font-size:.875rem;color:#374151}.basefn-switch--sm{width:36px;height:20px}.basefn-switch--sm .basefn-switch__slider{width:16px;height:16px}.basefn-switch--sm.basefn-switch--checked .basefn-switch__slider{transform:translate(16px)}.basefn-switch--lg{width:52px;height:28px}.basefn-switch--lg .basefn-switch__slider{width:24px;height:24px}.basefn-switch--lg.basefn-switch--checked .basefn-switch__slider{transform:translate(24px)}.basefn-toggle{display:inline-flex;align-items:center;justify-content:center;border:none;cursor:pointer;font-family:var(--basefn-font-family);font-weight:var(--basefn-font-weight-medium);transition:all var(--basefn-transition-fast);border-radius:var(--basefn-radius-md);background:transparent;color:var(--basefn-text-secondary)}.basefn-toggle:focus-visible{outline:none;box-shadow:0 0 0 var(--basefn-focus-ring-width) var(--basefn-focus-ring-color)}.basefn-toggle--sm{height:var(--basefn-button-height-sm);padding:0 var(--basefn-spacing-sm);font-size:var(--basefn-font-size-sm);gap:var(--basefn-spacing-xs)}.basefn-toggle--md{height:var(--basefn-button-height);padding:0 var(--basefn-spacing-md);font-size:var(--basefn-font-size-base);gap:var(--basefn-spacing-sm)}.basefn-toggle--lg{height:var(--basefn-button-height-lg);padding:0 var(--basefn-spacing-lg);font-size:var(--basefn-font-size-lg);gap:var(--basefn-spacing-sm)}.basefn-toggle--default{background:transparent}.basefn-toggle--default:hover:not(.basefn-toggle--disabled){background:var(--basefn-bg-tertiary);color:var(--basefn-text-primary)}.basefn-toggle--default.basefn-toggle--pressed{background:var(--basefn-bg-tertiary);color:var(--basefn-text-primary)}.basefn-toggle--outline{background:transparent;border:var(--basefn-border-width) solid var(--basefn-border-primary)}.basefn-toggle--outline:hover:not(.basefn-toggle--disabled){background:var(--basefn-bg-tertiary);border-color:var(--basefn-border-secondary);color:var(--basefn-text-primary)}.basefn-toggle--outline.basefn-toggle--pressed{background:var(--basefn-bg-tertiary);border-color:var(--basefn-color-primary);color:var(--basefn-text-primary)}.basefn-toggle--disabled{opacity:.5;cursor:not-allowed}.basefn-toggle svg{width:1em;height:1em}.basefn-topbar{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background-color:var(--basefn-bg-primary);color:var(--basefn-text-primary);height:4rem;position:sticky;top:0;z-index:100;border-bottom:1px solid transparent;border-bottom:1px solid var(--basefn-border-primary)}.basefn-topbar__left{display:flex;align-items:center;gap:.5rem;flex:1;height:100%;line-height:2rem}.basefn-topbar__left:empty{display:none}.basefn-topbar__center{display:flex;align-items:center;gap:1rem}.basefn-topbar__right{display:flex;align-items:center;gap:1rem;flex:1;justify-content:flex-end}.basefn-topbar__logo{font-size:1.25rem;font-weight:700;color:var(--basefn-text-primary);font-family:var(--font-mono)}.basefn-topbar__menu-button{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:none;border:none;border-radius:.375rem;cursor:pointer;color:var(--basefn-text-tertiary);transition:all .2s}.basefn-topbar__menu-button:hover{background-color:var(--basefn-bg-tertiary);color:var(--basefn-text-primary)}.basefn-topbar__search{flex:1;max-width:400px}.basefn-topbar__nav{display:flex;align-items:center;gap:.25rem}.basefn-topbar__nav-item{padding:.5rem 1rem;color:var(--basefn-text-tertiary);text-decoration:none;font-size:.875rem;font-weight:500;border-radius:var(--basefn-radius-full);cursor:pointer;transition:all .2s;background:none;border:none}.basefn-topbar__nav-item:hover{background-color:var(--basefn-bg-secondary);color:var(--basefn-text-primary)}.basefn-topbar__nav-item--active,.basefn-topbar__nav-item--active:hover{background-color:var(--basefn-bg-primary-aa);color:var(--basefn-color-primary);font-weight:700}.basefn-topbar__actions{display:flex;align-items:center;gap:.75rem}.basefn-topbar--sm{height:56px;padding:1rem}.basefn-topbar--md{height:64px;padding:1rem 1.5rem}.basefn-topbar--lg{height:72px;padding:1rem 2rem}@media(max-width:768px){.basefn-topbar{padding:.5rem 1rem}.basefn-topbar--sm{padding:.5rem .75rem}.basefn-topbar--md,.basefn-topbar--lg{padding:.5rem 1rem}.basefn-topbar__logo{font-size:1.1rem}.basefn-topbar__nav{gap:.125rem}.basefn-topbar__nav-item{font-size:.8125rem;padding:.375rem .625rem}.basefn-topbar__center,.basefn-topbar__right,.basefn-topbar__actions{gap:.5rem}}.basefn-popover{position:relative;display:inline-block}.basefn-popover__trigger{cursor:pointer}.basefn-popover__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:49}.basefn-popover__content{position:absolute;z-index:50;background:var(--basefn-surface-elevated);border:var(--basefn-border-width) solid var(--basefn-border-primary);border-radius:var(--basefn-radius-lg);box-shadow:var(--basefn-shadow-lg);padding:var(--basefn-spacing-lg);min-width:200px;animation:basefn-popover-fade-in var(--basefn-transition-fast)}@keyframes basefn-popover-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.basefn-popover__content--bottom{top:100%;margin-top:var(--basefn-spacing-sm)}.basefn-popover__content--top{bottom:100%;margin-bottom:var(--basefn-spacing-sm)}.basefn-popover__content--left{right:100%;top:50%;transform:translateY(-50%);margin-right:var(--basefn-spacing-sm)}.basefn-popover__content--right{left:100%;top:50%;transform:translateY(-50%);margin-left:var(--basefn-spacing-sm)}.basefn-popover__content--bottom.basefn-popover__content--align-start,.basefn-popover__content--top.basefn-popover__content--align-start{left:0}.basefn-popover__content--bottom.basefn-popover__content--align-center,.basefn-popover__content--top.basefn-popover__content--align-center{left:50%;transform:translate(-50%)}.basefn-popover__content--bottom.basefn-popover__content--align-end,.basefn-popover__content--top.basefn-popover__content--align-end{right:0}.basefn-popover__content--left.basefn-popover__content--align-start,.basefn-popover__content--right.basefn-popover__content--align-start{top:0;transform:none}.basefn-popover__content--left.basefn-popover__content--align-end,.basefn-popover__content--right.basefn-popover__content--align-end{top:auto;bottom:0;transform:none}.basefn-sidebar{display:flex;flex-direction:column;background-color:var(--basefn-bg-primary);color:var(--basefn-text-primary);height:100%;overflow-y:auto;border-right:1px solid var(--basefn-border-primary)}.basefn-sidebar__header{padding:1rem 1.5rem;flex-shrink:0;align-items:center;height:4rem;display:flex;border-bottom:1px solid transparent;border-bottom:1px solid var(--basefn-border-primary)}.basefn-sidebar__logo{font-size:1.25rem;font-weight:700;color:var(--basefn-text-primary);font-family:var(--font-mono);height:100%;display:flex;align-items:center;line-height:2rem}.basefn-sidebar__logo a{text-decoration:none;font-weight:600;height:32px}.basefn-sidebar__nav{flex:1;overflow-y:auto;padding:1rem;scrollbar-color:var(--basefn-color-neutral-300) transparent}html[data-theme=dark] .basefn-sidebar__nav{scrollbar-color:var(--basefn-color-neutral-800) transparent}.basefn-sidebar__section{margin-bottom:1.5rem}.basefn-sidebar__section-title{padding:.5rem;font-size:var(--basefn-font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.0625rem;color:var(--basefn-text-tertiary)}.basefn-sidebar__section-title:empty{display:none}.basefn-sidebar__item{display:flex;align-items:center;gap:.75rem;padding:.5rem 1.25rem;margin:0 -.5rem .25rem;color:var(--basefn-text-tertiary);font-weight:300;text-decoration:none;cursor:pointer;transition:all .2s;border-radius:var(--basefn-radius-xl);font-weight:500}.basefn-sidebar__item:hover{background-color:var(--basefn-bg-secondary-aa);color:var(--basefn-text-primary)}.basefn-sidebar__item--active,.basefn-sidebar__item--active:hover{background-color:var(--basefn-bg-primary-aa);color:var(--basefn-color-primary);font-weight:700}.basefn-sidebar__item-icon{width:1.25rem;height:1.25rem;flex-shrink:0}.basefn-sidebar__item-text{font-size:.875rem}.basefn-sidebar__footer{padding:1rem 1.5rem;border-top:1px solid var(--basefn-border-primary);flex-shrink:0}.basefn-sidebar--sm{width:12rem}.basefn-sidebar--md{width:16rem}.basefn-sidebar--lg{width:20rem}.basefn-sidebar--collapsed{width:64px;display:none}.basefn-sidebar--collapsed .basefn-sidebar__item-text,.basefn-sidebar--collapsed .basefn-sidebar__section-title,.basefn-sidebar--collapsed .basefn-sidebar__logo{display:none}.basefn-sidebar--collapsed .basefn-sidebar__item{justify-content:center;padding-left:0;padding-right:0}.basefn-spinner-container{display:inline-flex;flex-direction:column;align-items:center;gap:.5rem}.basefn-spinner{display:inline-block;border:3px solid rgba(0,0,0,.1);border-top-color:currentColor;border-radius:50%;animation:basefn-spinner-rotate .8s linear infinite}.basefn-spinner__label{font-size:.875rem;color:#6b7280}.basefn-spinner--sm{width:1rem;height:1rem}.basefn-spinner--md{width:1.5rem;height:1.5rem}.basefn-spinner--lg{width:2rem;height:2rem}.basefn-spinner--xl{width:3rem;height:3rem}.basefn-spinner--default{color:#6b7280}.basefn-spinner--primary{color:#3b82f6}.basefn-spinner--secondary{color:#1f2937}@keyframes basefn-spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.basefn-stepper{width:100%}.basefn-stepper--horizontal{display:flex;align-items:flex-start}.basefn-stepper--vertical{display:flex;flex-direction:column}.basefn-stepper__step{position:relative;flex:1;display:flex;align-items:flex-start}.basefn-stepper--vertical .basefn-stepper__step{flex-direction:column;margin-bottom:2rem}.basefn-stepper--vertical .basefn-stepper__step:last-child{margin-bottom:0}.basefn-stepper__step-header{display:flex;align-items:center;gap:.75rem}.basefn-stepper--horizontal .basefn-stepper__step-header{flex-direction:column;text-align:center}.basefn-stepper__step-indicator{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;background-color:#e5e7eb;color:#6b7280;font-weight:600;font-size:.875rem;flex-shrink:0;transition:all .2s;position:relative;z-index:2}.basefn-stepper__step--active .basefn-stepper__step-indicator{background-color:#3b82f6;color:#fff}.basefn-stepper__step--completed .basefn-stepper__step-indicator{background-color:#10b981;color:#fff}.basefn-stepper__step--error .basefn-stepper__step-indicator{background-color:#ef4444;color:#fff}.basefn-stepper__step-content{flex:1}.basefn-stepper__step-title{font-weight:600;font-size:.875rem;color:#1f2937;margin-bottom:.25rem}.basefn-stepper__step--inactive .basefn-stepper__step-title{color:#9ca3af}.basefn-stepper__step-description{font-size:.75rem;color:#6b7280;line-height:1.4}.basefn-stepper__step--inactive .basefn-stepper__step-description{color:#d1d5db}.basefn-stepper__connector{position:absolute;background-color:#e5e7eb;transition:background-color .2s;z-index:1}.basefn-stepper--horizontal .basefn-stepper__connector{height:2px;top:1.25rem;left:50%;width:100%;transform:translate(1.25rem)}.basefn-stepper--horizontal .basefn-stepper__step:last-child .basefn-stepper__connector{display:none}.basefn-stepper--vertical .basefn-stepper__connector{width:2px;left:1.25rem;top:2.5rem;bottom:-2rem}.basefn-stepper--vertical .basefn-stepper__step:last-child .basefn-stepper__connector{display:none}.basefn-stepper__step--completed .basefn-stepper__connector{background-color:#10b981}.basefn-stepper__step--clickable .basefn-stepper__step-header{cursor:pointer}.basefn-stepper__step--clickable .basefn-stepper__step-indicator:hover{transform:scale(1.05)}@media(max-width:768px){.basefn-stepper--horizontal{flex-direction:column}.basefn-stepper--horizontal .basefn-stepper__step{flex-direction:row;margin-bottom:2rem}.basefn-stepper--horizontal .basefn-stepper__step:last-child{margin-bottom:0}.basefn-stepper--horizontal .basefn-stepper__step-header{flex-direction:row;text-align:left}.basefn-stepper--horizontal .basefn-stepper__connector{width:2px;height:auto;left:1.25rem;top:2.5rem;bottom:-2rem;transform:none}.basefn-stepper__step-indicator{width:2rem;height:2rem;font-size:.75rem}}.basefn-tooltip-wrapper{position:relative;display:inline-block}.basefn-tooltip{position:absolute;background-color:#1f2937;color:#fff;padding:.5rem .75rem;border-radius:.375rem;font-size:.875rem;white-space:nowrap;z-index:1000;pointer-events:none;animation:basefn-tooltip-fade-in .15s ease-out}.basefn-tooltip--top{bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.basefn-tooltip--bottom{top:calc(100% + 8px);left:50%;transform:translate(-50%)}.basefn-tooltip--left{right:calc(100% + 8px);top:50%;transform:translateY(-50%)}.basefn-tooltip--right{left:calc(100% + 8px);top:50%;transform:translateY(-50%)}.basefn-tooltip:after{content:"";position:absolute;border:4px solid transparent}.basefn-tooltip--top:after{top:100%;left:50%;transform:translate(-50%);border-top-color:#1f2937}.basefn-tooltip--bottom:after{bottom:100%;left:50%;transform:translate(-50%);border-bottom-color:#1f2937}.basefn-tooltip--left:after{left:100%;top:50%;transform:translateY(-50%);border-left-color:#1f2937}.basefn-tooltip--right:after{right:100%;top:50%;transform:translateY(-50%);border-right-color:#1f2937}@keyframes basefn-tooltip-fade-in{0%{opacity:0}to{opacity:1}}.basefn-checkbox-wrapper{display:inline-flex;align-items:center;gap:var(--basefn-spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none}.basefn-checkbox-wrapper--disabled{cursor:not-allowed;opacity:.6}.basefn-checkbox-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:1.125rem;height:1.125rem;border:var(--basefn-border-width-thick) solid var(--basefn-form-input-border);border-radius:var(--basefn-radius-sm);background-color:var(--basefn-form-input-bg);cursor:pointer;position:relative;transition:all var(--basefn-transition-fast);flex-shrink:0}.basefn-checkbox-input:focus-visible{outline:var(--basefn-focus-ring-width) solid var(--basefn-focus-ring-color);outline-offset:var(--basefn-focus-ring-offset)}.basefn-checkbox-input:checked{background-color:var(--basefn-color-primary);border-color:var(--basefn-color-primary)}.basefn-checkbox-input:checked:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(45deg);width:.25rem;height:.5rem;border:solid white;border-width:0 2px 2px 0}.basefn-checkbox-input:disabled{background-color:var(--basefn-form-input-disabled-bg);border-color:var(--basefn-form-input-disabled-border);cursor:not-allowed}.basefn-checkbox-input:disabled:checked{background-color:var(--basefn-color-neutral-400);border-color:var(--basefn-color-neutral-400)}.basefn-checkbox-label{font-family:var(--basefn-font-family);font-size:var(--basefn-font-size-base);font-weight:var(--basefn-font-weight-normal);color:var(--basefn-color-neutral-700);line-height:var(--basefn-line-height-normal)}.basefn-checkbox-wrapper--disabled .basefn-checkbox-label{color:var(--basefn-form-input-disabled-text)}.basefn-dropdown{position:relative;display:inline-block}.basefn-dropdown__menu{position:absolute;top:calc(100% + 4px);left:0;min-width:200px;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;z-index:100;animation:basefn-dropdown-fade-in .15s ease-out;overflow:hidden}.basefn-dropdown__menu--right{left:auto;right:0}.basefn-dropdown__item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;font-size:.875rem;color:#374151;background:none;border:none;cursor:pointer;transition:background-color .15s;text-align:left}.basefn-dropdown__item:hover{background-color:#f3f4f6}.basefn-dropdown__item--disabled{opacity:.5;cursor:not-allowed}.basefn-dropdown__item--disabled:hover{background-color:transparent}.basefn-dropdown__item--danger{color:#ef4444}.basefn-dropdown__item--danger:hover{background-color:#fee2e2}.basefn-dropdown__separator{height:1px;background-color:#e5e7eb;margin:.25rem 0}@keyframes basefn-dropdown-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.basefn-progress{position:relative;width:100%;height:.75rem;background-color:#e5e7eb;border-radius:9999px;overflow:hidden}.basefn-progress--sm{height:.5rem}.basefn-progress--md{height:.75rem}.basefn-progress--lg{height:1rem}.basefn-progress__bar{height:100%;background-color:#3b82f6;border-radius:9999px;transition:width .3s ease-in-out}.basefn-progress__bar--default{background-color:#6b7280}.basefn-progress__bar--primary{background-color:#3b82f6}.basefn-progress__bar--success{background-color:#10b981}.basefn-progress__bar--warning{background-color:#f59e0b}.basefn-progress__bar--error{background-color:#ef4444}.basefn-progress__bar--animated{animation:basefn-progress-indeterminate 1.5s ease-in-out infinite}.basefn-progress__label{margin-top:.5rem;font-size:.875rem;color:#6b7280;display:flex;justify-content:space-between;align-items:center}@keyframes basefn-progress-indeterminate{0%{transform:translate(-100%)}to{transform:translate(400%)}}.basefn-skeleton{background-color:var(--basefn-bg-tertiary);display:block}.basefn-skeleton--text{height:1em;width:100%;border-radius:var(--basefn-radius-sm)}.basefn-skeleton--circular{width:2.5rem;height:2.5rem;border-radius:var(--basefn-radius-full)}.basefn-skeleton--rectangular{width:100%;height:100px;border-radius:var(--basefn-radius-md)}@keyframes basefn-skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes basefn-skeleton-wave{0%{transform:translate(-100%)}to{transform:translate(100%)}}.basefn-skeleton--pulse{animation:basefn-skeleton-pulse 2s cubic-bezier(.4,0,.6,1) infinite}.basefn-skeleton--wave{position:relative;overflow:hidden}.basefn-skeleton--wave:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:basefn-skeleton-wave 1.5s infinite}.basefn-skeleton--none{animation:none}[data-theme=dark] .basefn-skeleton--wave:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}.basefn-textarea{display:block;width:100%;font-family:var(--basefn-font-family);font-size:var(--basefn-font-size-base);font-weight:var(--basefn-font-weight-normal);line-height:var(--basefn-line-height-normal);min-height:calc(var(--basefn-form-input-height) * 2);padding:var(--basefn-form-input-padding-y) var(--basefn-form-input-padding-x);background-color:var(--basefn-form-input-bg);color:var(--basefn-form-input-text);border:var(--basefn-border-width) solid var(--basefn-form-input-border);border-radius:var(--basefn-radius-md);outline:none;resize:vertical;transition:border-color var(--basefn-transition-fast),box-shadow var(--basefn-transition-fast)}.basefn-textarea::placeholder{color:var(--basefn-form-input-placeholder);opacity:1}.basefn-textarea:focus{border-color:var(--basefn-form-input-border-focus);box-shadow:0 0 0 var(--basefn-focus-ring-width) var(--basefn-focus-ring-color)}.basefn-textarea:disabled{background-color:var(--basefn-form-input-disabled-bg);border-color:var(--basefn-form-input-disabled-border);color:var(--basefn-form-input-disabled-text);cursor:not-allowed;resize:none}.basefn-textarea:disabled::placeholder{color:var(--basefn-form-input-disabled-text)}.basefn-timeline{position:relative}.basefn-timeline--vertical{display:flex;flex-direction:column;gap:2rem}.basefn-timeline--horizontal{display:flex;gap:2rem;overflow-x:auto}.basefn-timeline__item{position:relative;display:flex;gap:1rem}.basefn-timeline--vertical .basefn-timeline__item{flex-direction:row}.basefn-timeline--horizontal .basefn-timeline__item{flex-direction:column;min-width:200px}.basefn-timeline__marker-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;flex-shrink:0}.basefn-timeline--horizontal .basefn-timeline__marker-wrapper{flex-direction:row}.basefn-timeline__marker{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;background-color:#e5e7eb;color:#6b7280;font-weight:600;font-size:.875rem;z-index:2;flex-shrink:0}.basefn-timeline__marker--default{background-color:#e5e7eb;color:#6b7280}.basefn-timeline__marker--primary{background-color:#3b82f6;color:#fff}.basefn-timeline__marker--success{background-color:#10b981;color:#fff}.basefn-timeline__marker--warning{background-color:#f59e0b;color:#fff}.basefn-timeline__marker--error{background-color:#ef4444;color:#fff}.basefn-timeline__connector{position:absolute;background-color:#e5e7eb;z-index:1}.basefn-timeline--vertical .basefn-timeline__connector{width:2px;top:2.5rem;bottom:-2rem;left:1.25rem}.basefn-timeline--vertical .basefn-timeline__item:last-child .basefn-timeline__connector{display:none}.basefn-timeline--horizontal .basefn-timeline__connector{height:2px;left:2.5rem;right:-2rem;top:1.25rem}.basefn-timeline--horizontal .basefn-timeline__item:last-child .basefn-timeline__connector{display:none}.basefn-timeline__content{flex:1;padding-top:.25rem}.basefn-timeline--horizontal .basefn-timeline__content{padding-top:0}.basefn-timeline__title{font-weight:600;font-size:.9375rem;color:#1f2937;margin-bottom:.25rem}.basefn-timeline__timestamp{font-size:.75rem;color:#6b7280;margin-bottom:.5rem}.basefn-timeline__description{font-size:.875rem;color:#4b5563;line-height:1.5}.basefn-timeline__marker--dot{width:.75rem;height:.75rem}.basefn-accordion{width:100%;background:var(--basefn-bg-primary);border:1px solid var(--basefn-border-primary);border-radius:var(--basefn-radius-lg);overflow:hidden}.basefn-accordion__item{border-bottom:1px solid var(--basefn-border-primary)}.basefn-accordion__item:last-child{border-bottom:none}.basefn-accordion__trigger{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:none;border:none;font-size:.9375rem;font-weight:500;color:var(--basefn-text-primary);cursor:pointer;transition:background-color .2s;text-align:left}.basefn-accordion__trigger:hover{background-color:var(--basefn-bg-secondary)}.basefn-accordion__trigger:disabled{opacity:.5;cursor:not-allowed}.basefn-accordion__icon{font-size:1.25rem;transition:transform .2s;color:var(--basefn-text-tertiary)}.basefn-accordion__icon--open{transform:rotate(180deg)}.basefn-accordion__content{overflow:hidden;transition:max-height .3s ease-out,opacity .2s ease-out}.basefn-accordion__content--collapsed{max-height:0;opacity:0}.basefn-accordion__content--expanded{max-height:1000px;opacity:1}.basefn-accordion__content-inner{padding:0 1.25rem 1rem;color:var(--basefn-text-secondary);line-height:1.6}.basefn-app-layout{display:flex;min-height:100vh;width:100%}.basefn-app-layout__body{display:flex;flex:1;min-height:100vh;width:100%}.basefn-app-layout--topbar-above{flex-direction:column}.basefn-app-layout--topbar-above .basefn-app-layout__body{flex:1;min-height:0}.basefn-app-layout__sidebar{position:fixed;left:0;top:0;bottom:0;z-index:200}.basefn-app-layout--topbar-above .basefn-app-layout__sidebar{top:64px}.basefn-app-layout--topbar-above.basefn-app-layout--topbar-sm .basefn-app-layout__sidebar{top:56px}.basefn-app-layout--topbar-above.basefn-app-layout--topbar-lg .basefn-app-layout__sidebar{top:72px}.basefn-app-layout__main-wrapper{flex:1;display:flex;flex-direction:column;min-height:100vh}.basefn-app-layout--has-sidebar .basefn-app-layout__main-wrapper{margin-left:256px}.basefn-app-layout--sidebar-sm .basefn-app-layout__main-wrapper{margin-left:200px}.basefn-app-layout--sidebar-lg .basefn-app-layout__main-wrapper{margin-left:320px}.basefn-app-layout--sidebar-collapsed .basefn-app-layout__main-wrapper{margin-left:0}.basefn-app-layout__topbar{position:sticky;top:0;z-index:100}.basefn-app-layout__topbar--above{position:sticky;top:0;width:100%;z-index:201}.basefn-app-layout__content{flex:1;display:flex;flex-direction:column}.basefn-app-layout__content-inner{flex:1;padding:1rem 2rem;background-color:var(--basefn-bg-secondary)}.basefn-app-layout__content-inner--no-padding{padding:0}.basefn-app-layout--full-width .basefn-app-layout__content-inner{max-width:none}.basefn-app-layout--contained .basefn-app-layout__content-inner{max-width:1280px;margin:0 auto;width:100%}@media(max-width:768px){.basefn-app-layout__sidebar{transform:translate(-100%);transition:transform .3s ease-out}.basefn-app-layout--sidebar-open .basefn-app-layout__sidebar{transform:translate(0)}.basefn-app-layout--has-sidebar .basefn-app-layout__main-wrapper{margin-left:0}.basefn-app-layout__sidebar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--basefn-surface-overlay);z-index:199}.basefn-app-layout--sidebar-open .basefn-app-layout__sidebar-backdrop{display:block}.basefn-app-layout--topbar-above .basefn-app-layout__sidebar-backdrop{top:64px}.basefn-app-layout--topbar-above.basefn-app-layout--topbar-sm .basefn-app-layout__sidebar-backdrop{top:56px}.basefn-app-layout--topbar-above.basefn-app-layout--topbar-lg .basefn-app-layout__sidebar-backdrop{top:72px}.basefn-app-layout__content-inner{padding:.75rem 1rem}.basefn-app-layout--contained .basefn-app-layout__content-inner{max-width:100%}}.basefn-hover-card{position:relative;display:inline-block}.basefn-hover-card__trigger{cursor:pointer}.basefn-hover-card__content{position:absolute;z-index:50;background:var(--basefn-surface-elevated);border:var(--basefn-border-width) solid var(--basefn-border-primary);border-radius:var(--basefn-radius-lg);box-shadow:var(--basefn-shadow-lg);padding:var(--basefn-spacing-lg);min-width:280px;max-width:320px;animation:basefn-hover-card-fade-in var(--basefn-transition-fast)}@keyframes basefn-hover-card-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.basefn-hover-card__content--bottom{top:100%;margin-top:var(--basefn-spacing-sm)}.basefn-hover-card__content--top{bottom:100%;margin-bottom:var(--basefn-spacing-sm)}.basefn-hover-card__content--left{right:100%;top:50%;transform:translateY(-50%);margin-right:var(--basefn-spacing-sm)}.basefn-hover-card__content--right{left:100%;top:50%;transform:translateY(-50%);margin-left:var(--basefn-spacing-sm)}.basefn-hover-card__content--bottom.basefn-hover-card__content--align-start,.basefn-hover-card__content--top.basefn-hover-card__content--align-start{left:0}.basefn-hover-card__content--bottom.basefn-hover-card__content--align-center,.basefn-hover-card__content--top.basefn-hover-card__content--align-center{left:50%;transform:translate(-50%)}.basefn-hover-card__content--bottom.basefn-hover-card__content--align-end,.basefn-hover-card__content--top.basefn-hover-card__content--align-end{right:0}.basefn-hover-card__content--left.basefn-hover-card__content--align-start,.basefn-hover-card__content--right.basefn-hover-card__content--align-start{top:0;transform:none}.basefn-hover-card__content--left.basefn-hover-card__content--align-end,.basefn-hover-card__content--right.basefn-hover-card__content--align-end{top:auto;bottom:0;transform:none}.basefn-separator{border:0}.basefn-separator--horizontal{width:100%;height:1px;margin:2rem 0}.basefn-separator--vertical{width:1px;height:100%;display:inline-block}.basefn-separator--solid{background-color:var(--basefn-border-primary)}.basefn-separator--dashed{background-image:linear-gradient(to right,var(--basefn-border-primary) 50%,transparent 50%);background-size:8px 1px;background-repeat:repeat-x;background-color:transparent}.basefn-separator--vertical.basefn-separator--dashed{background-image:linear-gradient(to bottom,var(--basefn-border-primary) 50%,transparent 50%);background-size:1px 8px;background-repeat:repeat-y}.basefn-separator--dotted{background-image:linear-gradient(to right,var(--basefn-border-primary) 25%,transparent 25%);background-size:4px 1px;background-repeat:repeat-x;background-color:transparent}.basefn-separator--vertical.basefn-separator--dotted{background-image:linear-gradient(to bottom,var(--basefn-border-primary) 25%,transparent 25%);background-size:1px 4px;background-repeat:repeat-y}.basefn-separator--with-label{display:flex;align-items:center;gap:1rem;width:100%;background:transparent}.basefn-separator__line{flex:1;height:1px;background-color:var(--basefn-border-primary)}.basefn-separator--dashed .basefn-separator__line{background-image:linear-gradient(to right,var(--basefn-border-primary) 50%,transparent 50%);background-size:8px 1px;background-repeat:repeat-x;background-color:transparent}.basefn-separator--dotted .basefn-separator__line{background-image:linear-gradient(to right,var(--basefn-border-primary) 25%,transparent 25%);background-size:4px 1px;background-repeat:repeat-x;background-color:transparent}.basefn-separator__label{font-size:.875rem;color:#6b7280;white-space:nowrap}.basefn-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:.875rem}.basefn-breadcrumb__item{display:flex;align-items:center;gap:.5rem}.basefn-breadcrumb__link{color:#6b7280;text-decoration:none;transition:color .2s;cursor:pointer}.basefn-breadcrumb__link:hover{color:#3b82f6}.basefn-breadcrumb__link--active{color:#1f2937;font-weight:500;cursor:default;pointer-events:none}.basefn-breadcrumb__separator{color:#d1d5db;-webkit-user-select:none;user-select:none}.basefn-scroll-area{position:relative;scrollbar-color:var(--basefn-border-secondary) transparent}.basefn-scroll-area--vertical{overflow-y:auto;overflow-x:hidden}.basefn-scroll-area--horizontal{overflow-x:auto;overflow-y:hidden}.basefn-scroll-area--both{overflow:auto}.basefn-scroll-area::-webkit-scrollbar{background:transparent}.basefn-scroll-area::-webkit-scrollbar-track{background:transparent;border-radius:var(--basefn-radius-full)}.basefn-scroll-area::-webkit-scrollbar-thumb{background-color:var(--basefn-border-secondary);border-radius:var(--basefn-radius-full);border:2px solid transparent;background-clip:content-box}.basefn-scroll-area::-webkit-scrollbar-thumb:hover{background-color:var(--basefn-text-muted)}.basefn-scroll-area--scrollbar-sm::-webkit-scrollbar{width:6px;height:6px}.basefn-scroll-area--scrollbar-md::-webkit-scrollbar{width:10px;height:10px}.basefn-scroll-area--scrollbar-lg::-webkit-scrollbar{width:14px;height:14px}.basefn-scroll-area--scrollbar-sm{scrollbar-width:thin}.basefn-scroll-area--scrollbar-md,.basefn-scroll-area--scrollbar-lg{scrollbar-width:auto}.basefn-scroll-area::-webkit-scrollbar-corner{background:transparent}.basefn-typography{margin:0;color:var(--basefn-text-primary)}.basefn-typography--h1{font-size:3rem;font-weight:800;line-height:1.2;letter-spacing:-.02em}.basefn-typography--h2{font-size:2.25rem;font-weight:700;line-height:1.25;letter-spacing:-.01em;margin-bottom:1rem}.basefn-typography--h3{font-size:1.875rem;font-weight:700;line-height:1.3;margin-bottom:1rem}.basefn-typography--h4{font-size:1.5rem;font-weight:600;line-height:1.4}.basefn-typography--h5{font-size:1.25rem;font-weight:600;line-height:1.5}.basefn-typography--h6{font-size:1rem;font-weight:600;line-height:1.5}.basefn-typography--p{font-size:1rem;line-height:1.75;font-weight:400;margin-bottom:1rem;color:var(--basefn-text-tertiary)}.basefn-typography--lead{font-size:1.25rem;line-height:1.75;font-weight:400;color:var(--basefn-text-secondary);margin-bottom:2rem}.basefn-typography--small{font-size:.875rem;line-height:1.5;font-weight:400;color:var(--basefn-text-tertiary)}.basefn-typography--muted{font-size:1rem;line-height:1.75;font-weight:400;color:var(--basefn-text-muted)}.basefn-typography--code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.875rem;padding:.125rem .375rem;background-color:var(--basefn-bg-tertiary);border:1px solid var(--basefn-border-primary);border-radius:.25rem;color:var(--basefn-text-primary)}.basefn-typography--unstyled{display:inline-block;color:var(--basefn-text-tertiary)}.basefn-typography--left{text-align:left}.basefn-typography--center{text-align:center}.basefn-typography--right{text-align:right}.basefn-typography--justify{text-align:justify}.basefn-code{background:var(--basefn-bg-primary);color:var(--basefn-text-secondary);font-family:Source Code,Courier,monospace;font-size:.875rem;line-height:1.5em}.basefn-alert-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:var(--basefn-surface-overlay);animation:basefn-alert-dialog-backdrop-fade var(--basefn-transition-fast)}@keyframes basefn-alert-dialog-backdrop-fade{0%{opacity:0}to{opacity:1}}.basefn-alert-dialog{background:var(--basefn-surface-elevated);border-radius:var(--basefn-radius-xl);box-shadow:var(--basefn-shadow-lg);width:100%;max-width:450px;margin:var(--basefn-spacing-lg);animation:basefn-alert-dialog-slide-up var(--basefn-transition-fast)}@keyframes basefn-alert-dialog-slide-up{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.basefn-alert-dialog__header{padding:var(--basefn-spacing-xl) var(--basefn-spacing-xl) 0}.basefn-alert-dialog__title{margin:0;font-size:var(--basefn-font-size-lg);font-weight:var(--basefn-font-weight-semibold);color:var(--basefn-text-primary);line-height:var(--basefn-line-height-tight)}.basefn-alert-dialog__body{padding:var(--basefn-spacing-md) var(--basefn-spacing-xl)}.basefn-alert-dialog__description{margin:0;font-size:var(--basefn-font-size-base);color:var(--basefn-text-secondary);line-height:var(--basefn-line-height-normal)}.basefn-alert-dialog__footer{display:flex;justify-content:flex-end;gap:var(--basefn-spacing-sm);padding:var(--basefn-spacing-lg) var(--basefn-spacing-xl) var(--basefn-spacing-xl)}.basefn-alert-dialog__cancel,.basefn-alert-dialog__confirm{padding:var(--basefn-spacing-sm) var(--basefn-spacing-lg);font-family:var(--basefn-font-family);font-size:var(--basefn-font-size-sm);font-weight:var(--basefn-font-weight-medium);border-radius:var(--basefn-radius-md);cursor:pointer;transition:all var(--basefn-transition-fast)}.basefn-alert-dialog__cancel{background:transparent;border:var(--basefn-border-width) solid var(--basefn-border-primary);color:var(--basefn-text-primary)}.basefn-alert-dialog__cancel:hover{background:var(--basefn-bg-tertiary)}.basefn-alert-dialog__confirm--default{background:var(--basefn-color-primary);border:none;color:#fff}.basefn-alert-dialog__confirm--default:hover{background:var(--basefn-color-primary-hover)}.basefn-alert-dialog__confirm--destructive{background:var(--basefn-color-error);border:none;color:#fff}.basefn-alert-dialog__confirm--destructive:hover{background:#dc2626}.basefn-alert-dialog__cancel:focus-visible,.basefn-alert-dialog__confirm:focus-visible{outline:none;box-shadow:0 0 0 var(--basefn-focus-ring-width) var(--basefn-focus-ring-color)}.basefn-aspect-ratio{position:relative;width:100%;overflow:hidden}.basefn-aspect-ratio>*{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.basefn-button-group{display:inline-flex}.basefn-button-group--horizontal{flex-direction:row}.basefn-button-group--horizontal>:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.basefn-button-group--horizontal>:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.basefn-button-group--horizontal>:not(:first-child):not(:last-child){border-radius:0}.basefn-button-group--horizontal>:not(:first-child){margin-left:-1px}.basefn-button-group--vertical{flex-direction:column}.basefn-button-group--vertical>:first-child{border-bottom-left-radius:0;border-bottom-right-radius:0}.basefn-button-group--vertical>:last-child{border-top-left-radius:0;border-top-right-radius:0}.basefn-button-group--vertical>:not(:first-child):not(:last-child){border-radius:0}.basefn-button-group--vertical>:not(:first-child){margin-top:-1px}.basefn-button-group>*:hover,.basefn-button-group>*:focus{z-index:1;position:relative}.basefn-context-menu{display:contents}.basefn-context-menu__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.basefn-context-menu__menu{position:fixed;z-index:100;min-width:180px;background:var(--basefn-surface-elevated);border:var(--basefn-border-width) solid var(--basefn-border-primary);border-radius:var(--basefn-radius-lg);box-shadow:var(--basefn-shadow-lg);padding:var(--basefn-spacing-xs);animation:basefn-context-menu-fade-in var(--basefn-transition-fast)}@keyframes basefn-context-menu-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.basefn-context-menu__item{display:flex;align-items:center;width:100%;padding:var(--basefn-spacing-sm) var(--basefn-spacing-md);font-family:var(--basefn-font-family);font-size:var(--basefn-font-size-sm);color:var(--basefn-text-primary);background:transparent;border:none;border-radius:var(--basefn-radius-sm);cursor:pointer;text-align:left;transition:background var(--basefn-transition-fast)}.basefn-context-menu__item:hover:not(.basefn-context-menu__item--disabled){background:var(--basefn-bg-tertiary)}.basefn-context-menu__item:focus-visible{outline:none;background:var(--basefn-bg-tertiary)}.basefn-context-menu__item--disabled{opacity:.5;cursor:not-allowed}.basefn-context-menu__item--danger{color:var(--basefn-color-error)}.basefn-context-menu__item--danger:hover:not(.basefn-context-menu__item--disabled){background:var(--basefn-alert-error-bg)}.basefn-context-menu__separator{height:1px;margin:var(--basefn-spacing-xs) 0;background:var(--basefn-border-primary)}.basefn-theme-toggle svg{color:var(--basefn-text-tertiary)}.basefn-toggle-group{display:inline-flex;gap:0}.basefn-toggle-group__item{display:inline-flex;align-items:center;justify-content:center;border:none;cursor:pointer;font-family:var(--basefn-font-family);font-weight:var(--basefn-font-weight-medium);transition:all var(--basefn-transition-fast);background:transparent;color:var(--basefn-text-secondary)}.basefn-toggle-group__item:focus-visible{outline:none;box-shadow:0 0 0 var(--basefn-focus-ring-width) var(--basefn-focus-ring-color);z-index:1;position:relative}.basefn-toggle-group__item:first-child{border-top-left-radius:var(--basefn-radius-md);border-bottom-left-radius:var(--basefn-radius-md)}.basefn-toggle-group__item:last-child{border-top-right-radius:var(--basefn-radius-md);border-bottom-right-radius:var(--basefn-radius-md)}.basefn-toggle-group__item:not(:first-child):not(:last-child){border-radius:0}.basefn-toggle-group__item--sm{height:var(--basefn-button-height-sm);padding:0 var(--basefn-spacing-sm);font-size:var(--basefn-font-size-sm)}.basefn-toggle-group__item--md{height:var(--basefn-button-height);padding:0 var(--basefn-spacing-md);font-size:var(--basefn-font-size-base)}.basefn-toggle-group__item--lg{height:var(--basefn-button-height-lg);padding:0 var(--basefn-spacing-lg);font-size:var(--basefn-font-size-lg)}.basefn-toggle-group__item--default{background:var(--basefn-bg-secondary);border:var(--basefn-border-width) solid var(--basefn-border-primary)}.basefn-toggle-group__item--default:not(:first-child){margin-left:-1px}.basefn-toggle-group__item--default:hover:not(.basefn-toggle-group__item--disabled){background:var(--basefn-bg-tertiary);color:var(--basefn-text-primary)}.basefn-toggle-group__item--default.basefn-toggle-group__item--pressed{background:var(--basefn-bg-tertiary);color:var(--basefn-text-primary)}.basefn-toggle-group__item--outline{background:transparent;border:var(--basefn-border-width) solid var(--basefn-border-primary)}.basefn-toggle-group__item--outline:not(:first-child){margin-left:-1px}.basefn-toggle-group__item--outline:hover:not(.basefn-toggle-group__item--disabled){background:var(--basefn-bg-tertiary);border-color:var(--basefn-border-secondary);color:var(--basefn-text-primary)}.basefn-toggle-group__item--outline.basefn-toggle-group__item--pressed{background:var(--basefn-bg-tertiary);border-color:var(--basefn-color-primary);color:var(--basefn-text-primary)}.basefn-toggle-group__item--disabled{opacity:.5;cursor:not-allowed}:root{--basefn-color-primary: #3b82f6;--basefn-color-primary-background: #eff6ff;--basefn-color-primary-hover: #2563eb;--basefn-color-primary-active: #1d4ed8;--basefn-color-secondary: #111827;--basefn-color-secondary-hover: #4b5563;--basefn-color-secondary-active: #374151;--basefn-color-neutral-50: #f9fafb;--basefn-color-neutral-100: #f3f4f6;--basefn-color-neutral-200: #e5e7eb;--basefn-color-neutral-300: #d1d5db;--basefn-color-neutral-400: #9ca3af;--basefn-color-neutral-500: #6b7280;--basefn-color-neutral-600: #4b5563;--basefn-color-neutral-700: #374151;--basefn-color-neutral-800: #1f2937;--basefn-color-neutral-900: #111827;--basefn-color-success: #10b981;--basefn-color-error: #ef4444;--basefn-color-warning: #f59e0b;--basefn-color-info: #3b82f6;--font-mono: "Source Code", monospace;--basefn-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--basefn-font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--basefn-font-size-xs: .75rem;--basefn-font-size-sm: .875rem;--basefn-font-size-base: 1rem;--basefn-font-size-lg: 1.125rem;--basefn-font-size-xl: 1.25rem;--basefn-font-weight-normal: 400;--basefn-font-weight-medium: 500;--basefn-font-weight-semibold: 600;--basefn-font-weight-bold: 700;--basefn-line-height-tight: 1.25;--basefn-line-height-normal: 1.5;--basefn-line-height-relaxed: 1.75;--basefn-spacing-xs: .25rem;--basefn-spacing-sm: .5rem;--basefn-spacing-md: .75rem;--basefn-spacing-lg: 1rem;--basefn-spacing-xl: 1.5rem;--basefn-spacing-2xl: 2rem;--basefn-radius-sm: .25rem;--basefn-radius-md: .375rem;--basefn-radius-lg: .5rem;--basefn-radius-xl: .75rem;--basefn-radius-full: 9999px;--basefn-border-width: 1px;--basefn-border-width-thick: 2px;--basefn-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--basefn-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--basefn-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--basefn-focus-ring-color: rgba(59, 130, 246, .5);--basefn-focus-ring-width: 3px;--basefn-focus-ring-offset: 2px;--basefn-transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--basefn-transition-base: .2s cubic-bezier(.4, 0, .2, 1);--basefn-transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--basefn-form-input-height: 2.5rem;--basefn-form-input-height-sm: 2rem;--basefn-form-input-height-lg: 3rem;--basefn-form-input-padding-x: .75rem;--basefn-form-input-padding-y: .5rem;--basefn-form-input-bg: #ffffff;--basefn-form-input-border: var(--basefn-color-neutral-300);--basefn-form-input-border-focus: var(--basefn-color-primary);--basefn-form-input-text: var(--basefn-color-neutral-900);--basefn-form-input-placeholder: var(--basefn-color-neutral-400);--basefn-form-input-disabled-bg: var(--basefn-color-neutral-100);--basefn-form-input-disabled-border: var(--basefn-color-neutral-200);--basefn-form-input-disabled-text: var(--basefn-color-neutral-500);--basefn-button-height: 2.5rem;--basefn-button-height-sm: 2rem;--basefn-button-height-lg: 3rem;--basefn-button-padding-x: 1.5rem;--basefn-button-padding-x-sm: .75rem;--basefn-button-padding-x-lg: 1.5rem;--basefn-bg-primary: #ffffff;--basefn-bg-secondary: #f9fafb;--basefn-bg-tertiary: #f3f4f6;--basefn-bg-primary-aa: #eff6ff;--basefn-text-primary: #111827;--basefn-text-secondary: #4b5563;--basefn-text-tertiary: #6b7280;--basefn-text-muted: #9ca3af;--basefn-border-primary: #e5e7eb;--basefn-border-secondary: #d1d5db;--basefn-surface-elevated: #ffffff;--basefn-surface-overlay: rgba(0, 0, 0, .5);--basefn-alert-info-bg: #dbeafe;--basefn-alert-info-text: #1e40af;--basefn-alert-success-bg: #d1fae5;--basefn-alert-success-text: #065f46;--basefn-alert-error-bg: #fee2e2;--basefn-alert-error-text: #991b1b;--basefn-alert-warning-bg: #fef3c7;--basefn-alert-warning-text: #92400e}[data-theme=dark]{--basefn-color-secondary: #475569;--basefn-color-secondary-hover: #64748b;--basefn-color-secondary-active: #334155;--basefn-bg-primary: #0f172a;--basefn-bg-secondary: #131c2f;--basefn-bg-tertiary: #334155;--basefn-bg-primary-aa: #172443;--basefn-bg-secondary-aa: #121e3b;--basefn-text-primary: #f1f5f9;--basefn-text-secondary: #cbd5e1;--basefn-text-tertiary: #94a3b8;--basefn-text-muted: #64748b;--basefn-border-primary: #334155;--basefn-border-secondary: #475569;--basefn-surface-elevated: #1e293b;--basefn-surface-overlay: rgba(0, 0, 0, .7);--basefn-form-input-bg: #1e293b;--basefn-form-input-border: #475569;--basefn-form-input-text: #f1f5f9;--basefn-form-input-placeholder: #64748b;--basefn-form-input-disabled-bg: #0f172a;--basefn-form-input-disabled-border: #334155;--basefn-form-input-disabled-text: #475569;--basefn-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--basefn-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .4), 0 2px 4px -2px rgb(0 0 0 / .4);--basefn-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .5), 0 4px 6px -4px rgb(0 0 0 / .5);--basefn-alert-info-bg: #1e3a5f;--basefn-alert-info-text: #93c5fd;--basefn-alert-success-bg: #064e3b;--basefn-alert-success-text: #6ee7b7;--basefn-alert-error-bg: #7f1d1d;--basefn-alert-error-text: #fca5a5;--basefn-alert-warning-bg: #78350f;--basefn-alert-warning-text: #fcd34d}*{box-sizing:border-box;font-family:Source Sans,sans-serif}.no-transitions,.no-transitions *,.no-transitions *:before,.no-transitions *:after{transition:none!important;animation:none!important}.bold{font-weight:600}.muted{color:var(--basefn-color-neutral-500)}.font-normal{font-weight:400}
