.App{min-height:100vh;width:100%}.login-screen{text-align:center;padding:2rem 1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh}h1{font-size:var(--heading-page);line-height:var(--line-height-tight);margin-bottom:1.5rem;color:var(--text-primary);font-weight:var(--font-weight-bold)}.login-screen h1{letter-spacing:-.025em;background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tasks-container{margin-top:2rem;text-align:left}.task-list{list-style:none;padding:0}.task-item{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem;margin-bottom:.5rem}.task-title{font-weight:500;font-size:1.1em;margin-bottom:.25rem}.task-notes{color:var(--text-secondary);font-size:.9em}.loading{font-style:italic;opacity:var(--opacity-secondary);color:var(--text-muted)}.error{color:var(--error-text);padding:1rem 1.25rem;background:var(--error-bg);border:1px solid var(--error-color);border-radius:var(--radius-md);margin-bottom:1rem;font-weight:500;box-shadow:var(--shadow-sm)}.drag-instructions{padding:1rem 1.5rem;background:linear-gradient(135deg,var(--primary-color) 0%,var(--accent-color) 100%);color:var(--text-inverse);border-radius:var(--radius-lg);margin-bottom:1.5rem;font-size:.9rem;text-align:center;box-shadow:var(--shadow-md);font-weight:500;line-height:1.6}button{padding:var(--btn-padding-md);background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--btn-font-md);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}button:hover:not(:disabled){background:var(--bg-hover);border-color:var(--text-secondary)}button:active:not(:disabled){transform:translateY(0)}button:disabled{background:var(--bg-tertiary);color:var(--text-muted);cursor:not-allowed;box-shadow:none;transform:none}.btn-signout{background:var(--button-bg-primary);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-md)}.btn-signout:hover{background:var(--button-bg-primary-hover);box-shadow:var(--shadow-lg)}.btn-login{background:var(--button-bg-primary);font-weight:var(--font-weight-semibold);font-size:var(--btn-font-lg);padding:var(--btn-padding-lg);box-shadow:var(--shadow-md)}.btn-login:hover{background:var(--button-bg-primary-hover);box-shadow:var(--shadow-lg)}.toast-container{position:fixed;bottom:var(--spacing-md);right:var(--spacing-md);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--spacing-sm);max-width:400px}.toast{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:slideIn var(--transition-base);min-width:280px;background:var(--bg-card);color:var(--text-primary)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-error{background:var(--error-color);color:var(--text-on-error)}.toast-success{background:var(--color-success);color:var(--text-on-success)}.toast-warning{background:var(--color-warning);color:var(--text-on-warning)}.toast-info{background:var(--info-color);color:var(--text-on-info)}.toast-message{flex:1;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.toast-action{background:var(--toast-action-bg, rgba(255, 255, 255, .9));border:none;color:var(--text-primary);font-size:var(--btn-font-sm);font-weight:var(--font-weight-semibold);cursor:pointer;padding:var(--btn-padding-xs);margin-left:var(--spacing-sm);border-radius:var(--radius-sm);transition:background var(--transition-fast)}.toast-action:hover{background:var(--toast-action-bg-hover, #ffffff)}.toast-success .toast-action{color:var(--color-success)}.toast-error .toast-action{color:var(--error-color)}.toast-info .toast-action{color:var(--info-color)}.toast-warning .toast-action{background:var(--toast-warning-action-bg, rgba(0, 0, 0, .15));color:var(--text-on-warning)}.toast-warning .toast-action:hover{background:var(--toast-warning-action-bg-hover, rgba(0, 0, 0, .25))}.toast-dismiss{background:transparent;border:none;color:inherit;font-size:var(--font-size-lg);cursor:pointer;padding:0 var(--spacing-xs);margin-left:var(--spacing-sm);opacity:1;transition:opacity var(--transition-fast)}.toast-dismiss:hover{opacity:var(--opacity-hover)}[data-theme=dark] .toast{box-shadow:var(--shadow-lg)}@media(max-width:480px){.toast-container{left:var(--spacing-md);right:var(--spacing-md);max-width:none}.toast{min-width:unset}}.error-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);min-height:200px;text-align:center;background:var(--error-bg);border:1px solid var(--error-color);border-radius:var(--radius-lg);margin:var(--spacing-md)}.error-fallback-icon{color:var(--error-color);margin-bottom:var(--spacing-md)}.error-fallback-title{margin:0 0 var(--spacing-sm) 0;font-size:var(--heading-compact);font-weight:var(--font-weight-semibold);color:var(--error-text)}.error-fallback-message{margin:0 0 var(--spacing-md) 0;color:var(--error-text);font-size:var(--font-size-sm)}.error-fallback-details{margin-bottom:var(--spacing-md);width:100%;max-width:400px;text-align:left}.error-fallback-details summary{cursor:pointer;color:var(--error-text);font-size:var(--font-size-sm);padding:var(--spacing-xs) 0}.error-fallback-details pre{margin-top:var(--spacing-sm);padding:var(--spacing-sm);background:var(--bg-card);border:1px solid var(--error-color);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-family:var(--font-mono);overflow-x:auto;white-space:pre-wrap;word-break:break-word;color:var(--error-text)}.error-fallback-button{padding:var(--btn-padding-md);background:var(--error-color);color:var(--text-on-error);border:none;border-radius:var(--radius-md);font-size:var(--btn-font-md);font-weight:var(--font-weight-medium);cursor:pointer;transition:filter var(--transition-base)}.error-fallback-button:hover{filter:brightness(.9)}.error-fallback-button:focus{outline:2px solid var(--error-color);outline-offset:2px}.view-error-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-lg);min-height:150px;text-align:center;background:var(--warning-bg);border:1px solid var(--warning-color);border-radius:var(--radius-lg);margin:var(--spacing-sm)}.view-error-fallback-title{margin:0 0 var(--spacing-sm) 0;font-size:var(--heading-card);font-weight:var(--font-weight-semibold);color:var(--warning-text)}.view-error-fallback-message{margin:0 0 var(--spacing-md) 0;color:var(--warning-text);font-size:var(--font-size-sm)}.view-error-fallback-button{padding:var(--btn-padding-sm);background:var(--warning-color);color:var(--text-on-warning);border:none;border-radius:var(--radius-sm);font-size:var(--btn-font-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:filter var(--transition-base)}.view-error-fallback-button:hover{filter:brightness(.9)}.view-error-fallback-button--primary{background:var(--button-bg-primary);color:var(--text-on-accent);font-size:var(--btn-font-md);padding:var(--btn-padding-md)}.view-error-fallback-button--primary:hover{background:var(--button-bg-primary-hover)}.critical-error-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);min-height:100vh;text-align:center;background:var(--error-bg)}.critical-error-fallback-icon{color:var(--error-color);margin-bottom:var(--spacing-lg)}.critical-error-fallback-title{margin:0 0 var(--spacing-md) 0;font-size:var(--heading-view);font-weight:var(--font-weight-bold);color:var(--error-text)}.critical-error-fallback-message{margin:0 0 var(--spacing-lg) 0;color:var(--error-text);font-size:var(--font-size-base);max-width:400px}.critical-error-fallback-button{padding:var(--btn-padding-lg);background:var(--error-color);color:var(--text-on-error);border:none;border-radius:var(--radius-lg);font-size:var(--btn-font-lg);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base)}.critical-error-fallback-button:hover{filter:brightness(.9);transform:translateY(-1px)}.item-error-fallback{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--error-bg);border:1px solid var(--error-color);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--error-text)}.item-error-fallback-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:var(--error-color);color:var(--text-on-error);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.item-error-fallback-text{flex:1}.item-error-fallback-retry{padding:var(--btn-padding-xs);background:transparent;border:1px solid var(--error-color);border-radius:var(--radius-sm);font-size:var(--btn-font-xs);color:var(--error-text);cursor:pointer;transition:background-color var(--transition-base)}.item-error-fallback-retry:hover{background:var(--error-bg)}.theme-toggle{position:relative;display:inline-flex;isolation:isolate}.theme-toggle-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast)}.theme-toggle-button:hover{background:var(--bg-hover);border-color:var(--accent-color);color:var(--text-primary)}.theme-toggle-button:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-color-transparent)}.theme-toggle-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:var(--z-tooltip);min-width:140px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--spacing-xs);animation:themeMenuFadeIn .15s ease-out}@keyframes themeMenuFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.theme-toggle-option{display:flex;align-items:center;width:100%;padding:var(--spacing-sm) 12px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--transition-fast);gap:var(--spacing-sm)}.theme-toggle-option:hover{background:var(--bg-hover)}.theme-toggle-option.selected{background:var(--accent-color-transparent)}.option-icon{display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.theme-toggle-option.selected .option-icon{color:var(--accent-color)}.option-label{flex:1;text-align:left}.option-check{display:flex;align-items:center;justify-content:center;color:var(--accent-color)}@media(max-width:768px){.theme-toggle-button{width:40px;height:40px}.theme-toggle-menu{min-width:130px}}.sync-indicator{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:var(--font-size-xs);background:var(--bg-tertiary);color:var(--text-secondary)}.sync-indicator-icon{font-size:.875rem}.sync-indicator-text{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sync-indicator.syncing{background:var(--bg-tertiary);color:var(--text-secondary)}.sync-indicator.syncing .sync-indicator-icon{animation:spin 1s linear infinite}.sync-indicator.error{background:color-mix(in srgb,var(--color-error) 15%,transparent);color:var(--color-error)}.sync-indicator.offline{background:color-mix(in srgb,var(--color-warning) 15%,transparent);color:var(--color-warning)}.sync-indicator.pending{background:var(--bg-tertiary);color:var(--text-muted)}.sync-retry-btn{background:none;border:none;padding:.125rem .25rem;cursor:pointer;font-size:.875rem;color:inherit;border-radius:2px}.sync-retry-btn:hover{background:var(--bg-secondary)}@media(max-width:768px){.sync-indicator-text{display:none}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--backdrop-color);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop, 300);padding:var(--spacing-md);-webkit-backdrop-filter:var(--backdrop-blur-sm);backdrop-filter:var(--backdrop-blur-sm)}.modal-content{position:relative;background:var(--bg-primary);padding:var(--spacing-lg);border-radius:var(--radius-lg);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);z-index:var(--z-modal, 400)}.modal-title{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.modal-close-btn{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);padding:var(--spacing-xs);line-height:1;border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast)}.modal-close-btn:hover{color:var(--text-primary);background:var(--bg-hover)}@media(max-width:768px){.modal-overlay{background:var(--backdrop-color-mobile, rgba(0, 0, 0, .75));-webkit-backdrop-filter:var(--backdrop-blur-md);backdrop-filter:var(--backdrop-blur-md)}.modal-content{max-width:calc(100vw - 2rem);max-height:calc(100vh - 2rem);margin:1rem}}@media(max-width:480px){.modal-overlay{background:var(--backdrop-color-small, rgba(0, 0, 0, .92));padding:var(--spacing-sm);-webkit-backdrop-filter:var(--backdrop-blur-lg);backdrop-filter:var(--backdrop-blur-lg)}.modal-content{padding:var(--spacing-md);border-radius:var(--radius-md);background:var(--bg-primary);box-shadow:var(--shadow-xl)}}.modal-content .form-group{margin-bottom:var(--spacing-lg);border:none;padding:0}.modal-content .form-group>label,.modal-content .form-group>legend{display:block;margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.modal-content .form-group input[type=text],.modal-content .form-group input[type=number],.modal-content .form-group input[type=date],.modal-content .form-group textarea,.modal-content .form-group select{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:inherit;background:var(--bg-primary);color:var(--text-primary);box-sizing:border-box}.modal-content .form-group textarea{resize:vertical;min-height:80px}.modal-content .form-group input[type=text]:focus,.modal-content .form-group input[type=number]:focus,.modal-content .form-group input[type=date]:focus,.modal-content .form-group textarea:focus,.modal-content .form-group select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-color-transparent)}.modal-content .radio-label{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;cursor:pointer}.modal-content .radio-label input[type=radio]{width:18px;height:18px;accent-color:var(--accent-color)}.modal-content .color-picker{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.modal-content .color-option{cursor:pointer}.modal-content .color-option input[type=radio]{position:absolute;opacity:0;pointer-events:none}.modal-content .color-swatch{display:block;width:32px;height:32px;border-radius:50%;border:2px solid transparent;transition:transform var(--transition-fast),border-color var(--transition-fast)}.modal-content .color-option input[type=radio]:checked+.color-swatch{border-color:var(--text-primary);transform:scale(1.1)}.modal-content .color-option:hover .color-swatch{transform:scale(1.1)}.modal-content .day-picker{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.modal-content .day-checkbox{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);cursor:pointer}.modal-content .day-checkbox input[type=checkbox]{width:36px;height:36px;cursor:pointer;accent-color:var(--accent-color)}.modal-content .day-checkbox span{font-size:var(--font-size-xs);color:var(--text-secondary)}.modal-content .target-fields{display:flex;gap:var(--spacing-md)}.modal-content .target-input{flex:1}.modal-content .target-input label{display:block;margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.modal-content .target-input input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-base);box-sizing:border-box;background:var(--bg-primary);color:var(--text-primary)}.modal-content .task-attributes-group{display:flex;flex-direction:column;gap:0;padding:12px;background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-light)}.modal-content .task-attributes-group .form-group{margin-bottom:12px}.modal-content .task-attributes-group .form-group:last-child{margin-bottom:0}.modal-content .modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--border-color)}.modal-content .modal-actions-right{display:flex;gap:var(--spacing-sm);margin-left:auto}.modal-content .delete-confirm{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--error-color)}.btn-loading{position:relative;color:transparent!important;pointer-events:none}.btn-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-spin .6s linear infinite;opacity:1}.btn-loading .btn-spinner{color:var(--text-on-accent)}.btn-secondary.btn-loading .btn-spinner,.btn-ghost.btn-loading .btn-spinner{color:var(--text-secondary)}@keyframes btn-spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.btn-icon-left,.btn-icon-right{display:inline-flex;align-items:center;flex-shrink:0}.btn-icon-left{margin-right:var(--spacing-xs)}.btn-icon-right{margin-left:var(--spacing-xs)}.btn-icon .btn-icon-left,.btn-icon .btn-icon-right{margin:0}.feedback-modal{max-width:480px}.feedback-categories{display:flex;gap:var(--spacing-sm)}.feedback-category-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);font-size:var(--font-size-sm)}.feedback-category-btn:hover{background:var(--bg-hover);border-color:var(--border-dark)}.feedback-category-btn.selected{border-color:var(--accent-color);background:var(--bg-accent-subtle);color:var(--accent-color);font-weight:var(--font-weight-medium)}.feedback-success p{color:var(--text-secondary);margin:var(--spacing-sm) 0 var(--spacing-lg);line-height:1.5}@media(max-width:480px){.feedback-categories{flex-direction:column}}.app-header{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1.5rem;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);position:relative;z-index:var(--z-sticky);gap:1rem;backdrop-filter:var(--backdrop-blur-lg);-webkit-backdrop-filter:var(--backdrop-blur-lg)}.header-left{display:flex;align-items:center;gap:2rem;flex-shrink:0}.app-header h1{margin:0;font-size:var(--heading-compact);font-weight:var(--font-weight-semibold);color:var(--text-primary);white-space:nowrap;letter-spacing:-.025em;background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn-signout{padding:var(--btn-padding-md);background-color:transparent;border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--btn-font-md);cursor:pointer;transition:all var(--transition-base)}.btn-setup-lists{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--btn-padding-md);background:var(--button-bg-primary);border:none;border-radius:var(--radius-md);color:var(--text-on-accent);font-size:var(--btn-font-md);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.toggle-btn{padding:var(--btn-padding-sm);border:none;background:none;color:var(--text-secondary);font-size:var(--btn-font-md);font-weight:var(--font-weight-medium);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-base);display:flex;align-items:center;gap:var(--spacing-sm)}.app-header .btn-icon{min-width:var(--btn-icon-md);min-height:var(--btn-icon-md);width:var(--btn-icon-md);height:var(--btn-icon-md);border:1px solid var(--border-light);background:var(--bg-primary);color:var(--text-primary);box-shadow:var(--shadow-xs)}.app-header .btn-icon:hover{border-color:var(--border-color);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.app-header .btn-icon:active{transform:translateY(0);box-shadow:var(--shadow-xs)}.btn-feedback{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--btn-padding-sm);background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--btn-font-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);text-decoration:none}.btn-feedback:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--text-secondary)}.btn-feedback svg{flex-shrink:0}.desktop-only{display:flex}.tip-button-container{position:relative}.tip-button{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--btn-padding-sm);background:var(--button-bg-primary);color:var(--text-on-accent);border:none;border-radius:var(--radius-full);font-size:var(--btn-font-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.tip-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px var(--accent-color-transparent)}.tip-button svg{flex-shrink:0}.tip-button svg:last-child{color:var(--error-color)}.tip-tooltip{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);padding:6px 10px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--text-secondary);white-space:nowrap;box-shadow:var(--shadow-md);z-index:var(--z-tooltip);animation:tooltipFadeIn .15s ease-out}.tip-tooltip:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-bottom-color:var(--bg-card)}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--bg-secondary);border-top:1px solid var(--border-light);padding:.375rem .5rem;z-index:var(--z-sticky);justify-content:space-around;align-items:center;padding-bottom:calc(.375rem + env(safe-area-inset-bottom,0px));backdrop-filter:var(--backdrop-blur-xl);-webkit-backdrop-filter:var(--backdrop-blur-xl);box-shadow:0 -1px 3px #0000000a}.bottom-nav-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:60px;min-height:48px;padding:var(--spacing-xs) var(--spacing-sm);border:none;background:none;color:var(--text-secondary);font-size:var(--btn-font-xs);cursor:pointer;border-radius:var(--radius-lg);transition:all var(--transition-fast);gap:.2rem;position:relative}.bottom-nav-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.bottom-nav-btn.active{color:var(--primary-color);background:transparent}.bottom-nav-btn.active:after{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:20px;height:3px;background:var(--primary-color);border-radius:0 0 3px 3px}.bottom-nav-icon{font-size:1.35rem;line-height:1;transition:transform var(--transition-fast) ease-out}.bottom-nav-btn.active .bottom-nav-icon{transform:scale(1.1)}.bottom-nav-label{font-weight:600;white-space:nowrap;letter-spacing:.01em;text-transform:uppercase}.more-menu-container{position:relative}.more-menu-popup{position:absolute;bottom:calc(100% + 8px);right:0;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--spacing-xs);min-width:140px;z-index:var(--z-modal);animation:moreMenuFadeIn .15s ease-out}.more-menu-popup:after{content:"";position:absolute;top:100%;right:20px;border:8px solid transparent;border-top-color:var(--bg-card)}.more-menu-popup:before{content:"";position:absolute;top:100%;right:19px;border:9px solid transparent;border-top-color:var(--border-color)}@keyframes moreMenuFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.more-menu-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);border:none;background:none;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast);text-align:left}.more-menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.more-menu-item.active{color:var(--primary-color);background:var(--bg-hover)}.more-menu-icon{font-size:1.1rem;line-height:1}.more-menu-label{flex:1}@media(min-width:769px){.bottom-nav{display:none}.desktop-only{display:flex}}@media(max-width:768px){.bottom-nav{display:flex}.desktop-only{display:none!important}.app-header{padding:.625rem 1rem;background:var(--bg-secondary);overflow:hidden;flex-wrap:wrap}.btn-setup-lists{display:none!important}.app-header h1{font-size:1.1rem;font-weight:700;white-space:nowrap;line-height:1.2}.header-left{gap:.5rem;flex-shrink:0;min-width:auto}.header-right{gap:.375rem;flex-shrink:0}.app-header .btn-icon{min-width:40px;min-height:40px;width:40px;height:40px;font-size:var(--btn-font-sm)}.btn-signout{min-height:40px;padding:var(--btn-padding-md);font-size:var(--btn-font-sm);border-radius:var(--radius-md)}.btn-setup-lists{min-height:40px;padding:var(--btn-padding-md);font-size:var(--btn-font-sm)}.tip-button{padding:.375rem .5rem;min-width:40px;min-height:40px;justify-content:center}.tip-label{display:none}.btn-feedback{padding:.375rem .5rem;min-width:40px;min-height:40px;justify-content:center}.feedback-label,.tip-tooltip{display:none}}@media(max-width:480px){.app-header{padding:.5rem .75rem}.app-header h1{font-size:.95rem;white-space:nowrap;line-height:1.15}.header-right{gap:.25rem;flex-shrink:0}.app-header .btn-icon{min-width:var(--btn-icon-md);min-height:var(--btn-icon-md);width:var(--btn-icon-md);height:var(--btn-icon-md)}.btn-signout{padding:var(--btn-padding-sm);font-size:var(--btn-font-sm);min-height:var(--btn-icon-md);white-space:nowrap}.bottom-nav{padding:.25rem .375rem;padding-bottom:calc(.25rem + env(safe-area-inset-bottom,0px))}.bottom-nav-btn{min-width:52px;padding:.25rem .5rem}.bottom-nav-icon{font-size:1.2rem}.bottom-nav-label{font-size:.6rem}}@media(max-width:360px){.app-header{padding:var(--spacing-xs) var(--spacing-sm);gap:var(--spacing-sm)}.app-header h1{font-size:var(--btn-font-md);white-space:nowrap;line-height:var(--line-height-tight)}.app-header .btn-icon{min-width:32px;min-height:32px;width:32px;height:32px;font-size:var(--btn-font-xs)}.btn-signout{padding:var(--btn-padding-xs);font-size:var(--btn-font-xs);min-height:32px}}.duration-prompt{text-align:center;min-width:280px}.duration-prompt h3{margin:0 0 var(--spacing-sm) 0;color:var(--text-primary)}.duration-prompt-task{margin:0 0 var(--spacing-md) 0;color:var(--text-secondary);font-size:var(--font-size-sm);word-break:break-word}.calendar-select-wrapper{margin-bottom:var(--spacing-md);text-align:left}.calendar-select-wrapper label{display:block;margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--text-secondary)}.calendar-select{width:100%;padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-size:var(--font-size-sm)}.calendar-select:focus{outline:none;border-color:var(--primary-color)}.duration-section-label{text-align:left;font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.duration-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.duration-buttons button{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:all var(--transition-base)}.duration-buttons button:hover{background:var(--bg-primary);border-color:var(--primary-color);color:var(--primary-color)}.duration-buttons button.duration-suggested{border-color:var(--accent-color);background:color-mix(in srgb,var(--accent-color) 12%,var(--bg-secondary));color:var(--accent-color);font-weight:600}.duration-buttons button.duration-suggested:hover{background:color-mix(in srgb,var(--accent-color) 20%,var(--bg-secondary))}.duration-suggested-hint{color:var(--accent-color);font-weight:500}.duration-cancel{padding:var(--spacing-sm) var(--spacing-md);border:none;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:var(--font-size-sm)}.duration-cancel:hover{color:var(--text-primary)}.view-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);gap:var(--spacing-md);min-height:200px}.view-loader-spinner{width:var(--spacing-xl);height:var(--spacing-xl);border:3px solid var(--border-color, #e0e0e0);border-top-color:var(--primary-color, #4285f4);border-radius:var(--radius-full);animation:spin .8s linear infinite}.view-loader-message{color:var(--text-secondary, #666);font-size:var(--font-size-sm)}.app-footer{padding:12px var(--spacing-md);background:var(--bg-secondary);border-top:1px solid var(--border-color);margin-top:auto;flex-shrink:0}.footer-content{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);text-align:center}.footer-links{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-xs)}.footer-link{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:0;font-size:inherit;text-decoration:underline;transition:color var(--transition-fast)}.footer-link:hover{color:var(--accent-color)}@media(max-width:768px){.app-footer{padding:10px 12px}.footer-content{gap:6px}}.number-input{padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-base);width:100%;box-sizing:border-box}.number-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-color-transparent)}.number-input:disabled{opacity:var(--opacity-muted);cursor:not-allowed}.number-input::-webkit-outer-spin-button,.number-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.number-input[type=number]{-moz-appearance:textfield}.habits-table-container{margin:0 -20px;padding:0 20px}@media(max-width:480px){.habits-table-container{margin:0 calc(-1 * var(--spacing-md));padding:0 var(--spacing-md)}.habits-table{font-size:.8rem}.date-header{width:28px;min-width:28px;padding:2px 1px}.day-abbrev{font-size:.55rem}.day-num{font-size:.7rem}.day-cell{width:26px;height:26px}.habit-name-cell{padding-right:var(--spacing-sm);max-width:80px}.habit-title{max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.habit-color-dot{width:8px;height:8px;margin-right:var(--spacing-xs)}.habit-target-badge,.weekly-progress,.habit-reorder-buttons{display:none}}.habits-table-nav{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:12px}.month-range-header{flex:1;text-align:center;font-size:.875rem;font-weight:600;color:var(--text-primary)}.habits-table-nav .nav-btn{padding:var(--btn-padding-sm);font-size:var(--btn-font-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.habits-table-nav .nav-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-color)}.habits-table-nav .nav-btn:disabled{opacity:.4;cursor:not-allowed}.habits-table{border-collapse:separate;border-spacing:2px 0;font-size:.875rem}.habits-table th,.habits-table td{padding:var(--spacing-xs);vertical-align:middle}.habits-table th{font-weight:600;color:var(--text-secondary);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.02em}.habit-name-header{text-align:left;padding-right:var(--spacing-md);white-space:nowrap}.date-header{width:36px;min-width:36px;padding:var(--spacing-xs) 2px;text-align:center}.date-header.today{font-weight:700;color:var(--accent-color);background:color-mix(in srgb,var(--accent-color) 8%,transparent);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.day-abbrev{display:block;font-size:.65rem;color:var(--text-tertiary)}.day-num{display:block;font-size:.8rem;font-weight:600;color:var(--text-primary)}.date-header.today .day-abbrev,.date-header.today .day-num{color:var(--accent-color)}.month-abbrev{display:block;font-size:.55rem;font-weight:600;color:var(--accent-color);text-transform:uppercase;letter-spacing:.02em;margin-bottom:1px}.date-header.has-month{padding-top:2px}.action-header{width:50px}.habits-table-row:hover{background:var(--bg-hover, rgba(0, 0, 0, .02))}.habit-name-cell{text-align:left;white-space:nowrap;padding-right:var(--spacing-md)}.habit-color-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:var(--spacing-sm);vertical-align:middle}.habit-title{display:inline-block;font-weight:500;color:var(--text-primary);vertical-align:middle}.habits-table td.day-cell{text-align:center;padding:2px}.day-cell{width:32px;height:32px;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:var(--bg-secondary);border:2px solid var(--border-light)}.day-cell:hover{border-color:var(--text-tertiary)}.day-cell.today{border-color:var(--accent-color);border-width:2px}.habits-table td.day-cell.today{background:color-mix(in srgb,var(--accent-color) 6%,var(--bg-secondary))}.day-cell.not-scheduled{background:repeating-linear-gradient(45deg,transparent,transparent 2px,var(--bg-tertiary) 2px,var(--bg-tertiary) 4px);border-color:var(--border-light);border-style:dashed;opacity:.5;cursor:default}.day-cell.not-scheduled:hover{border-color:var(--border-light);opacity:var(--opacity-muted)}.day-cell.just-completed{animation:habit-complete .4s ease-out}@keyframes habit-complete{0%{transform:scale(1)}40%{transform:scale(1.3)}70%{transform:scale(.9)}to{transform:scale(1)}}.day-cell.skipped{background:repeating-linear-gradient(45deg,var(--bg-secondary),var(--bg-secondary) 2px,var(--border-light) 2px,var(--border-light) 4px)}.action-cell{text-align:center}.habits-table .btn-create-task-small{padding:var(--btn-padding-xs);background:transparent;border:1px solid var(--border-light);border-radius:var(--radius-sm);font-size:var(--btn-font-xs);font-weight:var(--font-weight-medium);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);opacity:0}.habits-table-row:hover .btn-create-task-small{opacity:1;background:var(--bg-tertiary)}.habits-table .btn-create-task-small:hover{background:var(--button-bg-primary);border-color:var(--button-bg-primary);color:var(--text-on-accent)}.habit-target-badge{font-size:.65rem;color:var(--text-tertiary);background:var(--bg-secondary);padding:1px 5px;border-radius:var(--radius-lg);margin-left:6px}.weekly-progress{font-size:.65rem;font-weight:600;color:var(--text-secondary);background:var(--bg-secondary);padding:1px 5px;border-radius:var(--radius-lg);margin-left:6px}.weekly-progress.complete{color:var(--success-color);background:#22c55e1a}.btn-edit-habit{margin-left:var(--spacing-sm);padding:var(--btn-padding-xs);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);font-size:var(--btn-font-sm);color:var(--text-primary);cursor:pointer;opacity:0;transition:all var(--transition-fast)}.habits-table-row:hover .btn-edit-habit{opacity:1;background:var(--bg-tertiary)}.btn-edit-habit:hover{border-color:var(--border-light);color:var(--text-primary);background:var(--bg-secondary)}.day-cell.target-habit{cursor:pointer}.value-input-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:transparent;z-index:var(--z-modal-backdrop)}.value-input-popup{z-index:var(--z-modal);background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:12px;box-shadow:var(--shadow-lg);min-width:140px}.value-input-header{font-size:var(--font-size-xs);font-weight:600;color:var(--text-secondary);margin-bottom:6px;text-transform:capitalize}.value-input-mode{font-weight:400;font-size:.7rem;color:var(--text-tertiary)}.value-input-row{display:flex;align-items:center;gap:6px}.btn-increment{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);font-weight:600;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.btn-increment:hover{background:var(--bg-hover);border-color:var(--border-color)}.btn-increment:active{background:var(--bg-tertiary)}.value-input-field{flex:1;min-width:0;padding:var(--input-padding-md);font-size:var(--font-size-base);text-align:center;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-card);outline:none;transition:border-color var(--transition-fast);-moz-appearance:textfield}.value-input-field::-webkit-outer-spin-button,.value-input-field::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.value-input-field:focus{border-color:var(--accent-color)}.value-input-target{font-size:.7rem;color:var(--text-tertiary);margin-top:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.value-input-actions{display:flex;gap:6px}.habit-context-menu{z-index:var(--z-tooltip);background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--spacing-xs);box-shadow:var(--shadow-lg);min-width:100px}.habit-context-menu button{display:block;width:100%;padding:var(--spacing-sm) 12px;font-size:.875rem;text-align:left;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-primary);transition:background var(--transition-fast)}.habit-context-menu button:hover{background:var(--bg-secondary)}.day-cell.has-notes{position:relative}.notes-indicator{position:absolute;top:2px;right:2px;width:6px;height:6px;background:var(--text-secondary);border-radius:50%;opacity:var(--opacity-secondary)}.notes-input-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:transparent;z-index:var(--z-modal-backdrop)}.notes-input-popup{z-index:var(--z-modal);background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:12px;box-shadow:var(--shadow-lg);min-width:200px;max-width:300px}.notes-input-header{font-size:var(--font-size-xs);font-weight:600;color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.notes-input-field{width:100%;padding:var(--input-padding-md);font-size:.875rem;font-family:inherit;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-card);outline:none;resize:vertical;min-height:60px;transition:border-color var(--transition-fast)}.notes-input-field:focus{border-color:var(--accent-color)}.notes-input-field::placeholder{color:var(--text-tertiary)}.notes-input-actions{display:flex;gap:6px;margin-top:var(--spacing-sm)}.habit-reorder-buttons{display:inline-flex;flex-direction:column;gap:1px;margin-right:6px;vertical-align:middle;opacity:0;transition:opacity var(--transition-fast)}.habits-table-row:hover .habit-reorder-buttons{opacity:1}.btn-reorder{padding:0;width:16px;height:12px;font-size:10px;line-height:1;background:transparent;border:1px solid var(--border-light);border-radius:3px;color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast)}.btn-reorder:hover:not(:disabled){background:var(--button-bg-primary);border-color:var(--button-bg-primary);color:var(--text-on-accent)}.btn-reorder:disabled{opacity:.3;cursor:not-allowed}.create-habit-modal{max-width:480px}.create-habit-modal .form-group{margin-bottom:var(--spacing-sm)}.create-habit-modal .form-group>label,.create-habit-modal .form-group>legend{margin-bottom:var(--spacing-xs)}.create-habit-modal .radio-label{padding:var(--spacing-xs) 0}.create-habit-modal .modal-actions{justify-content:space-between;align-items:center}.create-habit-modal .mode-help{margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--text-secondary);font-style:italic}.empty-state-container{padding:var(--spacing-xl) var(--spacing-lg);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.empty-state-icon{font-size:var(--heading-page);opacity:var(--opacity-secondary);margin-bottom:var(--spacing-sm)}.empty-state-illustration{margin-bottom:var(--spacing-sm)}.empty-state-illustration svg{width:120px;height:120px;opacity:var(--opacity-hover)}.empty-state-title{margin:0;font-size:var(--heading-card);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.empty-state-description{margin:0;font-size:var(--font-size-sm);color:var(--text-secondary);max-width:280px;line-height:var(--line-height-normal)}.empty-state-action{margin-top:var(--spacing-sm);padding:var(--btn-padding-md);border:none;border-radius:var(--radius-md);background:var(--button-bg-primary);color:var(--text-on-accent);font-size:var(--btn-font-md);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast)}.empty-state-action:hover{background:var(--button-bg-primary-hover)}.habits-view{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-lg);overflow-x:auto;max-width:1000px;width:100%;margin:0 auto}.habits-layout{display:flex;flex-direction:column;gap:var(--spacing-lg)}.habits-view-header{display:flex;justify-content:space-between;align-items:center}.habits-view-header h2{margin:0;font-size:var(--heading-view);font-weight:var(--font-weight-semibold)}.habits-list-section{background:var(--bg-card);border-radius:var(--radius-xl);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);width:100%}.habits-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.habits-section-header h3{margin:0;font-size:var(--heading-section);font-weight:var(--font-weight-semibold);color:var(--text-secondary)}.habits-list-section h3{margin:0 0 var(--spacing-md) 0;font-size:var(--heading-section);font-weight:var(--font-weight-semibold);color:var(--text-secondary)}.habits-list{display:grid;grid-template-columns:1fr;gap:var(--spacing-md)}@media(min-width:1200px){.habits-list{grid-template-columns:repeat(2,1fr)}}@media(min-width:1600px){.habits-list{grid-template-columns:repeat(3,1fr)}}.habit-row{display:flex;flex-direction:column;gap:12px;background:var(--bg-secondary);border-radius:var(--radius-xl);padding:var(--spacing-md)}@media(min-width:640px){.habit-row{flex-direction:row;align-items:flex-start}.habit-row>.habit-card{flex:0 0 280px}.habit-row>.habit-calendar-grid{flex:1;justify-content:flex-end}}.habit-row>.habit-card{background:transparent;padding:0;border-left:none;box-shadow:none}.goal-card{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-md);border-left:var(--spacing-xs) solid var(--card-accent-color, var(--accent-color));display:flex;flex-direction:column;gap:var(--spacing-sm);cursor:pointer;transition:box-shadow var(--transition-fast)}.goal-card:hover{box-shadow:var(--shadow-sm)}.goal-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm)}.goal-title{margin:0;font-size:var(--heading-card);font-weight:var(--font-weight-semibold);flex:1}.goal-meta{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.goal-progress{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-tertiary);background:var(--bg-card);padding:2px var(--spacing-sm);border-radius:var(--radius-full)}.goal-deadline{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-secondary);background:var(--bg-card);padding:2px var(--spacing-sm);border-radius:var(--radius-full)}.goal-deadline.urgent{color:var(--warning-color);background:#f59e0b1a}.goal-deadline.overdue{color:var(--error-color);background:#ef44441a}.goal-description{margin:0;font-size:var(--font-size-sm);color:var(--text-secondary)}.linked-list-indicator{margin:0;font-size:var(--font-size-xs);color:var(--accent-color);font-style:italic}.goal-actions-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.no-actions{margin:0;font-size:var(--font-size-sm);color:var(--text-tertiary);font-style:italic}.action-item-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:var(--spacing-sm) 10px;background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-light)}.action-item{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-size:var(--font-size-sm);flex:1}.btn-create-task-small{opacity:0}.action-item-row:hover .btn-create-task-small{opacity:1}.action-item input[type=checkbox]{width:16px;height:16px;cursor:pointer}.action-item span.completed{text-decoration:line-through;color:var(--text-tertiary)}.goal-actions-list+.btn-dashed{align-self:flex-start}.add-action-form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.action-input{padding:var(--spacing-sm) 10px;font-size:var(--font-size-sm);border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-card);outline:none;transition:border-color var(--transition-fast)}.action-input:focus{border-color:var(--accent-color)}.add-action-buttons{display:flex;gap:var(--spacing-sm)}.action-item-buttons{display:flex;align-items:center;gap:var(--spacing-xs)}.btn-delete-action{opacity:0;color:var(--text-primary)}.action-item-row:hover .btn-delete-action{opacity:1;background:var(--bg-tertiary)}.btn-delete-action:hover{color:var(--color-error);background:color-mix(in srgb,var(--color-error) 15%,transparent)}.btn-edit-goal:hover{color:var(--accent-color);background:color-mix(in srgb,var(--accent-color) 10%,transparent)}.btn-delete-goal:hover{color:var(--color-error);background:color-mix(in srgb,var(--color-error) 15%,transparent)}.delete-confirm-overlay{background:#ef44440d;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md);padding:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-sm)}.delete-confirm-message{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--error-color)}.create-goal-modal{max-width:480px}.create-goal-modal .modal-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md)}.create-goal-modal .modal-actions-right{display:flex;gap:var(--spacing-sm)}.create-goal-modal .btn-delete{padding:var(--btn-padding-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background:transparent;color:var(--error-color);border:1px solid var(--error-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.create-goal-modal .btn-delete:hover{background:var(--error-color);color:var(--text-on-error)}.delete-confirm-section{background:var(--error-bg);border:1px solid color-mix(in srgb,var(--error-color) 20%,transparent);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.delete-confirm-message{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--error-color)}.delete-confirm-actions{display:flex;gap:var(--spacing-sm)}.btn-confirm-delete{padding:var(--btn-padding-sm);font-size:var(--btn-font-xs);font-weight:var(--font-weight-medium);background:var(--error-color);color:var(--text-on-error);border:none;border-radius:var(--radius-md);cursor:pointer;transition:filter var(--transition-fast)}.btn-confirm-delete:hover{filter:brightness(.9)}.btn-cancel-delete{padding:var(--btn-padding-sm);font-size:var(--btn-font-xs);font-weight:var(--font-weight-medium);background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.btn-cancel-delete:hover{background:var(--bg-hover);color:var(--text-primary)}.horizon-picker{display:flex;gap:var(--spacing-xs);background:var(--bg-secondary);border-radius:var(--radius-md);padding:var(--spacing-xs)}.horizon-option{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.horizon-option:hover{color:var(--text-primary);background:var(--bg-tertiary)}.horizon-option.active{background:var(--bg-card);color:var(--text-primary);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-xs)}.goals-view{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md);max-width:800px;width:100%;margin:0 auto}.goals-view-header{display:flex;justify-content:space-between;align-items:center}.goals-view-header h2{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.horizon-tabs{display:flex;gap:var(--spacing-xs);background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-xs)}.horizon-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.horizon-tab:hover{color:var(--text-primary);background:var(--bg-tertiary)}.horizon-tab.active{background:var(--bg-card);color:var(--text-primary);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-xs)}.horizon-count{font-size:var(--font-size-xs);background:var(--accent-color);color:var(--text-on-accent);border-radius:var(--radius-full);min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;padding:0 var(--spacing-xs)}.parent-context{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.parent-context-label{color:var(--text-tertiary);font-weight:var(--font-weight-medium)}.parent-context-chip{color:var(--text-secondary);padding:2px var(--spacing-sm);border-radius:var(--radius-full);border:1px solid var(--border-color);font-size:var(--font-size-xs)}.goals-view-content{display:flex;flex-direction:column;gap:var(--spacing-md)}.goals-view .goals-list{display:flex;flex-direction:column;gap:12px}.current-period-section{display:flex;flex-direction:column;gap:var(--spacing-sm)}.period-header-current{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) 0}.period-header-current .period-label{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.period-empty-hint{font-size:var(--font-size-sm);color:var(--text-muted);font-style:italic}.period-section{border-radius:var(--radius-md)}.period-section>.period-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-xs);cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.period-section>.period-header::-webkit-details-marker{display:none}.period-section>.period-header:before{content:"▸";font-size:var(--font-size-xs);color:var(--text-muted);transition:transform var(--transition-fast);display:inline-block;width:12px}.period-section[open]>.period-header:before{transform:rotate(90deg)}.period-section .period-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.period-section .period-count{font-size:var(--font-size-xs);color:var(--text-muted)}.period-content{display:flex;flex-direction:column;gap:var(--spacing-sm);padding-left:var(--spacing-sm)}.period-past .period-label{color:var(--text-tertiary)}.period-past .period-content{opacity:.85}.period-future .period-label{color:var(--text-secondary)}.period-unassigned .period-label{color:var(--text-muted);font-style:italic}.past-periods,.future-periods{display:flex;flex-direction:column;gap:var(--spacing-xs);border-top:1px solid var(--border-light);padding-top:var(--spacing-sm)}.period-unassigned{border-top:1px solid var(--border-light);padding-top:var(--spacing-sm)}.completed-goals-section{border-top:1px solid var(--border-light);padding-top:var(--spacing-md)}.completed-goals-toggle{font-size:var(--font-size-sm);color:var(--text-tertiary);cursor:pointer;padding:var(--spacing-sm) 0;-webkit-user-select:none;user-select:none}.completed-goals-toggle:hover{color:var(--text-secondary)}.completed-goals-section .goals-list{margin-top:var(--spacing-sm);opacity:.7}.dag-visualization{position:relative;padding:var(--spacing-md);background:var(--color-surface);border-radius:var(--radius-md);min-height:200px;overflow:hidden}.dag-timing-summary{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-surface-raised);border-radius:var(--radius-md);border:1px solid var(--color-border)}.dag-timing-item{display:flex;flex-direction:column;gap:2px;padding:var(--spacing-xs) var(--spacing-sm)}.dag-timing-critical{border-left:3px solid var(--color-primary);padding-left:var(--spacing-md)}.dag-timing-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.dag-timing-value{font-size:var(--text-lg);font-weight:600;color:var(--color-text)}.dag-timing-critical .dag-timing-value{color:var(--color-primary)}.dag-empty{display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.dag-edges{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}.dag-edge{fill:none;stroke:var(--color-border);stroke-width:2}.dag-edge-critical{stroke:var(--color-primary);stroke-width:2.5}.dag-arrow{fill:var(--color-border)}.dag-arrow-critical{fill:var(--color-primary)}.dag-levels{display:flex;flex-direction:column;gap:var(--spacing-xl);position:relative;z-index:1}.dag-level{display:flex;flex-direction:column;gap:var(--spacing-sm)}.dag-level-header{display:flex;align-items:center;gap:var(--spacing-sm)}.dag-level-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.dag-level-timing{font-size:var(--text-xs);color:var(--color-text-secondary);font-weight:500;padding:2px 6px;background:var(--color-surface-raised);border-radius:var(--radius-sm)}.dag-level-nodes{display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:flex-start}.dag-node{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface-raised);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;min-width:140px;max-width:200px;text-align:left;transition:all var(--transition-fast)}.dag-node:hover{border-color:var(--color-primary);background:var(--color-surface-hover);transform:translateY(-2px);box-shadow:0 4px 8px var(--color-shadow)}.dag-node-critical{border-color:var(--color-primary);background:var(--color-primary-bg, rgba(99, 102, 241, .1))}.dag-node-selected{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-ring, rgba(99, 102, 241, .3))}.dag-node-title{font-weight:600;font-size:var(--text-sm);line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-text, var(--text-primary))}.dag-node-time{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);font-size:var(--text-xs);color:var(--color-text-muted)}.dag-node-time span{background:var(--color-surface);padding:1px var(--spacing-xs);border-radius:var(--radius-sm)}.dag-node-deps{font-size:var(--text-xs);color:var(--color-text-secondary)}.dag-legend{display:flex;gap:var(--spacing-lg);margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.dag-legend-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--text-xs);color:var(--color-text-muted)}.dag-legend-node{width:16px;height:16px;border:2px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-raised)}.dag-legend-critical{border-color:var(--color-primary);background:var(--color-primary-bg, rgba(99, 102, 241, .1))}@media(max-width:600px){.dag-visualization{padding:var(--spacing-sm)}.dag-edges{display:none}.dag-timing-summary{gap:var(--spacing-sm);padding:var(--spacing-sm);margin-bottom:var(--spacing-md)}.dag-timing-item{flex:1;min-width:80px;padding:var(--spacing-xs)}.dag-timing-critical{padding-left:var(--spacing-sm)}.dag-timing-value{font-size:var(--text-md)}.dag-levels{gap:var(--spacing-md)}.dag-level{gap:var(--spacing-xs)}.dag-level-nodes{flex-direction:column;gap:var(--spacing-sm)}.dag-node{min-width:unset;max-width:100%;padding:var(--spacing-xs) var(--spacing-sm)}.dag-node-title{-webkit-line-clamp:3}.dag-legend{flex-wrap:wrap;gap:var(--spacing-md);margin-top:var(--spacing-md);padding-top:var(--spacing-sm)}}@media(max-width:375px){.dag-timing-summary{flex-direction:column}.dag-timing-item{flex:unset;width:100%}}.recipe-step-editor{margin-top:var(--spacing-lg)}.step-editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.step-editor-header h4{margin:0}.btn-add-step{padding:var(--spacing-xs) var(--spacing-sm);background:var(--button-bg-primary);color:var(--text-on-accent);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm)}.btn-add-step:hover{opacity:.9}.step-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.step-item{background:var(--color-surface-raised);border-radius:var(--radius-md);padding:var(--spacing-md)}.step-item-new{border:2px dashed var(--color-border);background:var(--color-surface);margin-top:var(--spacing-lg)}.step-display{display:flex;gap:var(--spacing-md);align-items:flex-start}.step-number{flex-shrink:0;width:28px;height:28px;background:var(--color-primary);color:var(--color-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--text-sm)}.step-content{flex:1}.step-title{font-weight:600;margin-bottom:var(--spacing-xs)}.step-instructions{color:var(--color-text-secondary);font-size:var(--text-sm);margin-bottom:var(--spacing-xs);white-space:pre-wrap}.step-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);font-size:var(--text-xs);color:var(--color-text-muted)}.step-meta span{background:var(--color-surface);padding:2px 6px;border-radius:var(--radius-sm)}.step-output-badge{background:var(--color-success-bg, rgba(34, 197, 94, .15))!important;color:var(--color-success)!important;font-weight:500}.step-actions{display:flex;gap:var(--spacing-xs);flex-shrink:0}.step-actions .btn-icon{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:2px;cursor:pointer;font-size:var(--text-xs);color:var(--color-text-primary, var(--text-primary));font-weight:500;min-width:auto;min-height:auto;width:auto;height:auto}.step-actions .btn-icon:hover{background:var(--color-surface-hover);border-color:var(--color-border-dark, var(--border-color-dark))}.step-actions .btn-icon:focus-visible{outline:2px solid var(--color-primary, var(--accent-color));outline-offset:1px}.step-actions .btn-icon.btn-danger:hover{background:var(--color-danger);color:var(--text-on-accent);border-color:var(--color-danger)}.step-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.step-form .form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.step-form .form-group label{font-size:var(--text-sm);font-weight:500}.step-form input[type=text],.step-form input[type=number],.step-form textarea{padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);background:var(--color-bg)}.step-form input:focus,.step-form textarea:focus{outline:none;border-color:var(--color-primary)}.step-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.ingredient-list,.equipment-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.ingredient-item,.equipment-item{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);background:var(--color-surface);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--text-sm);border-left:3px solid var(--color-primary)}.ingredient-item span,.equipment-item span{flex:1}.ingredient-weight{color:var(--color-text-secondary);font-size:var(--text-xs, .75rem)}.btn-remove{background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-secondary);padding:2px var(--spacing-xs);font-size:var(--text-xs);line-height:1;transition:color var(--transition-fast),background-color var(--transition-fast)}.btn-remove:hover{color:var(--color-danger);background:var(--color-danger-bg, rgba(239, 68, 68, .1))}.btn-remove:focus-visible{outline:2px solid var(--color-danger);outline-offset:1px;color:var(--color-danger)}.add-ingredient-row,.add-equipment-row{display:flex;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.add-ingredient-row .input-qty{width:60px}.add-ingredient-row .input-unit{width:80px}.add-ingredient-row .input-weight{width:60px}.add-ingredient-row .input-name,.add-equipment-row input{flex:1}.btn-add{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-surface);color:var(--color-text-primary, var(--text-primary));border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm)}.btn-add:hover{background:var(--color-surface-hover);color:var(--color-text-primary, var(--text-primary))}.custom-ingredient-input{display:flex;flex-direction:column;flex:1;gap:var(--spacing-xxs, 2px)}.custom-ingredient-input .input-name{width:100%}.custom-ingredient-actions{display:flex;gap:var(--spacing-sm);margin-top:2px}.btn-quick-add{background:none;border:1px solid var(--color-primary);color:var(--color-primary);cursor:pointer;font-size:var(--text-xs);padding:2px 6px;border-radius:var(--radius-sm);white-space:nowrap}.btn-quick-add:hover{background:var(--button-bg-primary);color:var(--text-on-accent)}.ingredient-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs)}.ingredient-header label{margin:0}.btn-bulk-toggle{background:none;border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;font-size:var(--text-xs);padding:2px var(--spacing-sm);border-radius:var(--radius-sm)}.btn-bulk-toggle:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.bulk-add-container{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.bulk-add-textarea{width:100%;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);font-family:inherit;resize:vertical;min-height:100px;background:var(--color-bg)}.bulk-add-textarea:focus{outline:none;border-color:var(--color-primary)}.bulk-add-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.bulk-add-actions .btn-secondary,.bulk-add-actions .btn-primary{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer}.bulk-add-actions .btn-secondary{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-primary)}.bulk-add-actions .btn-primary{background:var(--button-bg-primary);border:none;color:var(--text-on-accent)}.bulk-add-actions .btn-primary:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.dependency-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.dependency-checkbox{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--text-sm);cursor:pointer}.dependency-checkbox.dependency-cycle{opacity:var(--opacity-muted);cursor:not-allowed}.dependency-checkbox.dependency-cycle input:not(:checked){cursor:not-allowed}.cycle-warning{margin-left:auto;font-size:var(--text-xs);color:var(--color-warning);background:var(--color-warning-bg, rgba(230, 167, 0, .15));padding:1px 6px;border-radius:var(--radius-sm)}.form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.form-actions .btn-secondary{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer}.form-actions .btn-primary{padding:var(--spacing-sm) var(--spacing-md);background:var(--button-bg-primary);color:var(--text-on-accent);border:none;border-radius:var(--radius-sm);cursor:pointer}.form-actions .btn-primary:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.empty-steps{text-align:center;padding:var(--spacing-xl);color:var(--color-text-muted)}.empty-steps p{margin:0}.modernist-ingredient-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);margin:var(--spacing-md) 0}.modernist-ingredient-table th{text-align:left;padding:var(--spacing-sm) var(--spacing-md);border-bottom:2px solid var(--color-border);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;font-size:var(--text-xs);letter-spacing:.05em}.modernist-ingredient-table td{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border-light, var(--color-border))}.modernist-ingredient-table tbody tr:hover{background:var(--color-surface-hover)}.modernist-ingredient-table .base-ingredient{background:var(--color-surface-raised);font-weight:500}.modernist-ingredient-table .ingredient-name{display:flex;align-items:center;gap:var(--spacing-sm)}.modernist-ingredient-table .ingredient-weight,.modernist-ingredient-table .ingredient-volume,.modernist-ingredient-table .ingredient-scaling{font-variant-numeric:tabular-nums;text-align:right}.modernist-ingredient-table .ingredient-scaling{color:var(--color-text-muted)}@media(max-width:480px){.modernist-ingredient-table{font-size:var(--text-xs)}.modernist-ingredient-table th,.modernist-ingredient-table td{padding:var(--spacing-xs) var(--spacing-sm)}}.timeline-graph{position:relative;padding:.75rem;background:var(--bg-secondary);border-radius:var(--radius-md);overflow:hidden}.timeline-empty{display:flex;align-items:center;justify-content:center;min-height:100px;color:var(--text-muted)}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:0 .25rem}.timeline-time-start,.timeline-time-end{font-size:var(--font-size-xs);font-weight:600;color:var(--text-secondary)}.timeline-time-end{color:var(--color-success)}.timeline-axis{position:relative;height:20px;border-bottom:1px solid var(--border-color);margin-bottom:.5rem}.timeline-marker{position:absolute;height:100%;border-left:1px dashed var(--border-color)}.timeline-marker-label{position:absolute;top:2px;left:4px;font-size:.6rem;color:var(--text-muted);white-space:nowrap}.timeline-content{--row-height: 36px;position:relative;min-height:calc(var(--row-count, 1) * var(--row-height));margin-bottom:.5rem}.timeline-edges{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}.timeline-edge{fill:none;stroke:var(--border-color);stroke-width:1.5;opacity:var(--opacity-muted)}.timeline-edge-critical{stroke:var(--accent-color);stroke-width:2;opacity:var(--opacity-hover)}.timeline-arrow{fill:var(--border-color)}.timeline-arrow-critical{fill:var(--accent-color)}.timeline-node{position:absolute;height:calc(var(--row-height) - 6px);display:flex;align-items:center;justify-content:space-between;gap:.25rem;padding:.25rem .5rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;font-size:.7rem;text-align:left;overflow:hidden;transition:all var(--transition-fast);z-index:1}.timeline-node:hover{border-color:var(--accent-color);transform:translateY(-1px);box-shadow:0 2px 4px var(--shadow-color, rgba(0, 0, 0, .1));z-index:2}.timeline-node-critical{border-color:var(--accent-color);background:var(--accent-color-light, rgba(99, 102, 241, .1))}.timeline-node-selected{border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-color-light, rgba(99, 102, 241, .3));z-index:3}.timeline-node-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--text-primary)}.timeline-node-duration{flex-shrink:0;font-size:.6rem;color:var(--text-muted);background:var(--bg-secondary);padding:1px var(--spacing-xs);border-radius:3px}.timeline-ready{text-align:right;font-size:var(--font-size-xs);font-weight:600;color:var(--color-success);padding-top:.25rem;border-top:1px dashed var(--border-color)}.timeline-graph-vertical .timeline-header{flex-direction:row;align-items:baseline;gap:.5rem;margin-bottom:.25rem}.timeline-vertical-body{display:flex;gap:0}.timeline-axis-vertical{width:70px;flex-shrink:0;border-right:1px solid var(--border-color)}.timeline-marker-vertical-grid{border-top:1px dashed var(--border-color);padding:2px var(--spacing-xs) 0;min-height:0}.timeline-marker-label-vertical{font-size:.6rem;color:var(--text-muted);white-space:nowrap;line-height:1.2}.timeline-content-vertical{--col-width: 1fr;flex:1;min-width:0;gap:2px}.timeline-node-vertical{flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:.375rem .5rem;box-sizing:border-box;position:relative;top:auto;left:auto;width:auto;height:auto}.timeline-node-vertical .timeline-node-title{white-space:normal;overflow:visible;text-overflow:unset;font-size:var(--font-size-xs);line-height:1.3}.timeline-node-vertical .timeline-node-duration{margin-top:auto}.timeline-phase-boundary{border-top:2px dashed var(--border-color);pointer-events:none;position:relative}.timeline-phase-label{position:absolute;top:-8px;right:4px;font-size:.55rem;color:var(--text-muted);background:var(--bg-secondary);padding:0 var(--spacing-xs);text-transform:uppercase;letter-spacing:.5px;z-index:4;pointer-events:none}.timeline-node-start-time{font-size:.6rem;font-weight:600;color:var(--accent-color)}.timeline-graph-vertical .timeline-ready{text-align:left;padding-left:70px;display:flex;align-items:baseline;gap:.5rem}[data-theme=dark] .timeline-graph{background:var(--bg-tertiary)}[data-theme=dark] .timeline-node{background:var(--bg-secondary)}[data-theme=dark] .timeline-node:hover{background:var(--bg-card)}[data-theme=dark] .timeline-node-critical{background:#6366f126}@media(max-width:600px){.timeline-graph{padding:.5rem}.timeline-content{--row-height: 32px}.timeline-node{padding:.25rem;font-size:.65rem}.timeline-marker-label,.timeline-node-duration{display:none}}.recipe-print-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-primary);z-index:var(--z-modal, 400);overflow-y:auto}.recipe-print-container{max-width:800px;margin:0 auto;padding:var(--spacing-lg)}.print-controls{display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color)}.print-time-scheduler{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.print-time-scheduler label{font-size:var(--text-sm);font-weight:500;color:var(--text-secondary)}.print-time-scheduler input[type=time]{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--text-sm);background:var(--bg-primary);color:var(--text-primary)}.schedule-start-hint{font-size:var(--text-sm);color:var(--accent-color);font-weight:500}.print-controls-buttons{display:flex;gap:var(--spacing-sm)}.recipe-print-content{color:var(--text-primary)}.recipe-print-header{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:2px solid var(--border-color)}.recipe-print-header h1{margin:0 0 var(--spacing-sm) 0;font-size:2rem;font-weight:700}.recipe-print-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-md);font-size:var(--text-sm);color:var(--text-secondary)}.recipe-print-meta span:not(:last-child):after{content:"•";margin-left:var(--spacing-md);color:var(--text-tertiary)}.recipe-print-description{margin-top:var(--spacing-md);font-style:italic;color:var(--text-secondary)}.recipe-print-section{margin-bottom:var(--spacing-xl)}.recipe-print-section h2{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-xl);font-weight:600;border-bottom:1px solid var(--border-color);padding-bottom:var(--spacing-xs)}.recipe-print-gantt{margin-top:var(--spacing-sm)}.recipe-print-graph{display:flex;flex-direction:column;gap:var(--spacing-sm)}.print-graph-level{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-sm);background:var(--bg-secondary);border-radius:var(--radius-sm)}.print-graph-level-label{min-width:70px;font-weight:600;font-size:var(--text-sm);color:var(--text-secondary)}.level-scheduled-time{color:var(--accent-color);font-weight:600}.schedule-summary{margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-sm);font-size:var(--text-sm)}.print-graph-level-steps{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.print-graph-step{display:flex;flex-direction:column;padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm)}.print-graph-step-title{font-weight:500;font-size:var(--text-sm)}.print-graph-step-time{font-size:var(--text-xs);color:var(--text-tertiary)}.recipe-print-ingredients{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--spacing-lg)}.print-ingredient-group h3{margin:0 0 var(--spacing-xs) 0;font-size:var(--text-sm);font-weight:600;color:var(--text-secondary)}.print-ingredient-group ul{margin:0;padding-left:var(--spacing-lg)}.print-ingredient-group li{margin-bottom:var(--spacing-xs);font-size:var(--text-sm)}.ing-amount{font-weight:500;margin-right:.25em}.ing-unit{margin-right:.25em}.ing-notes{color:var(--text-tertiary);font-style:italic;margin-left:.25em}.recipe-print-empty{color:var(--text-tertiary);font-style:italic}.recipe-print-instructions{display:flex;flex-direction:column;gap:var(--spacing-lg)}.print-instruction-level{padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md);border-left:3px solid var(--border-color)}.print-instruction-level.parallel{border-left-color:var(--accent-color);background:var(--bg-tertiary)}.print-level-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-light)}.print-level-number{font-weight:600;font-size:var(--text-sm);color:var(--text-secondary)}.print-level-time{font-weight:600;font-size:var(--text-sm);color:var(--accent-color)}.print-parallel-badge{font-size:var(--text-xs);padding:2px var(--spacing-sm);background:var(--button-bg-primary);color:var(--text-on-accent);border-radius:var(--radius-sm);font-weight:500}.print-level-steps{display:flex;flex-direction:column;gap:var(--spacing-md)}.print-level-steps.parallel-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-md)}.print-step-letter{font-weight:700;color:var(--accent-color);margin-right:var(--spacing-xs)}.print-step-scheduled-time{font-weight:600;font-size:var(--text-sm);color:var(--accent-color);background:var(--bg-secondary);padding:2px 6px;border-radius:var(--radius-sm);margin-right:var(--spacing-sm)}.recipe-print-steps{margin:0;padding-left:var(--spacing-lg)}.print-step{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-light)}.print-step:last-child{border-bottom:none}.print-step[data-highlighted=true]{animation:step-highlight-pulse 1.5s ease-out}@keyframes step-highlight-pulse{0%{background-color:var(--accent-color-light, rgba(99, 102, 241, .2));outline:2px solid var(--accent-color);outline-offset:4px}to{background-color:transparent;outline-color:transparent}}.print-step-header{display:flex;align-items:baseline;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.print-step-time{font-size:var(--text-sm);color:var(--text-tertiary);font-weight:400}.print-step-instructions{margin:var(--spacing-xs) 0;line-height:1.6}.print-step-ingredients{font-size:var(--text-sm);color:var(--text-secondary)}.print-nutrition-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md);text-align:center}.print-nutrition-grid div{padding:var(--spacing-sm);background:var(--bg-secondary);border-radius:var(--radius-sm)}@media print{@page{size:auto;margin:.5in}:root{--print-title: 36pt;--print-section-header: 22pt;--print-subsection-header: 18pt;--print-body: 16pt;--print-secondary: 14pt;--print-small: 11pt;--print-spacing: .3in}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body>*:not(.recipe-print-overlay){display:none!important}.no-print{display:none!important}.recipe-print-overlay{position:static;background:#fff;width:100%;min-height:auto}.recipe-print-container{max-width:none;padding:0;margin:0}.recipe-print-content{color:#000;font-size:var(--print-body);line-height:1.5}.recipe-print-header{border-bottom-color:#333;margin-bottom:var(--print-spacing)}.recipe-print-header h1{font-size:var(--print-title);margin-bottom:.15in}.recipe-print-meta{color:#444;font-size:var(--print-secondary)}.recipe-print-description{font-size:var(--print-secondary);margin-top:.12in}.recipe-print-section{margin-bottom:var(--print-spacing)}.recipe-print-section h2{font-size:var(--print-section-header);border-bottom-color:#333;margin-bottom:.2in}.schedule-summary{background:#f5f5f5;font-size:var(--print-secondary);-webkit-print-color-adjust:exact;print-color-adjust:exact}.level-scheduled-time{color:#333;font-weight:700}.recipe-print-gantt .timeline-content-vertical{min-height:600px}.recipe-print-gantt .timeline-axis-vertical{width:80px}.recipe-print-gantt .timeline-marker-label-vertical{font-size:10pt;color:var(--text-primary);font-weight:600}.recipe-print-gantt .timeline-node-vertical .timeline-node-title{font-size:var(--print-small);color:var(--text-primary)}.recipe-print-gantt .timeline-graph{background:#f8f8f8;-webkit-print-color-adjust:exact;print-color-adjust:exact}.recipe-print-gantt .timeline-node{background:#fff;border-color:#ccc;-webkit-print-color-adjust:exact;print-color-adjust:exact}.recipe-print-gantt .timeline-node-critical{border-color:#6366f1;background:#eef2ff}.recipe-print-gantt .timeline-edge{stroke:#999}.recipe-print-gantt .timeline-edge-critical{stroke:#6366f1}.recipe-print-gantt .timeline-arrow{fill:#999}.recipe-print-gantt .timeline-arrow-critical{fill:#6366f1}.recipe-print-gantt .timeline-content{--row-height: 42px}.recipe-print-gantt .timeline-node-title{color:#000;font-size:var(--print-small)}.recipe-print-gantt .timeline-node-duration{background:#eee;font-size:9pt}.recipe-print-gantt .timeline-marker-label{color:#666}.recipe-print-gantt .timeline-time-start,.recipe-print-gantt .timeline-time-end,.recipe-print-gantt .timeline-ready{color:#333}.print-ingredient-group h3{color:#333;font-size:var(--print-subsection-header);margin-bottom:.12in}.print-ingredient-group li{font-size:var(--print-body);margin-bottom:.1in}.print-instruction-level{background:#f8f8f8;border-left:4px solid #999;padding:.15in;margin-bottom:.2in;-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-instruction-level.parallel{border-left-color:#333;background:#f0f0f0}.print-level-header{margin-bottom:.1in;padding-bottom:.08in;border-bottom-color:#ddd}.print-level-number,.print-level-time{font-size:var(--print-secondary)}.print-parallel-badge{background:#333;font-size:var(--print-small);-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-step-letter{font-size:var(--print-subsection-header)}.print-step-scheduled-time{font-size:var(--print-secondary);background:var(--print-badge-bg);padding:2px var(--spacing-sm);border-radius:var(--radius-sm);-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-step{border-bottom-color:#ddd;margin-bottom:.25in;padding-bottom:.25in}.print-step-header strong{font-size:var(--print-subsection-header)}.print-step-time{font-size:var(--print-secondary)}.print-step-instructions{font-size:var(--print-body);line-height:1.6}.print-step-ingredients,.print-nutrition-grid{font-size:var(--print-secondary)}.print-nutrition-grid div{background:#f5f5f5;-webkit-print-color-adjust:exact;print-color-adjust:exact}.recipe-print-section,.print-step,.print-ingredient-group{break-inside:avoid}}.planned-meals-section{padding:var(--spacing-md)}.planned-meals-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.planned-meals-header h3{margin:0;font-size:var(--text-lg);font-weight:600}.planned-meals-actions{display:flex;gap:var(--spacing-sm)}.filter-select{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);font-size:var(--text-sm)}.btn-add-meal{padding:var(--spacing-xs) var(--spacing-md);background:var(--button-bg-primary);color:var(--text-on-accent);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);font-weight:500}.btn-add-meal:hover{background:var(--button-bg-primary-hover)}.add-meal-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.add-meal-form .form-row{display:grid;grid-template-columns:1fr 2fr 100px;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.add-meal-form label{display:flex;flex-direction:column;gap:var(--spacing-xs);font-size:var(--text-sm);font-weight:500}.add-meal-form input,.add-meal-form select{padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm)}.add-meal-form .form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary)}.empty-state p{margin:0}.empty-hint{font-size:var(--text-sm);margin-top:var(--spacing-sm)!important}.meals-by-date{display:flex;flex-direction:column;gap:var(--spacing-lg)}.date-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.date-header{margin:0;font-size:var(--text-md);font-weight:600;color:var(--color-text-primary);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border);white-space:nowrap}.date-meals{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-md)}.meal-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm);cursor:pointer;transition:box-shadow var(--transition-fast),border-color var(--transition-fast)}.meal-card:hover{box-shadow:var(--shadow-sm);border-color:var(--accent-color)}.meal-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm)}.meal-card-header-actions{display:flex;align-items:center;gap:var(--spacing-xs)}.meal-menu-container{position:relative}.btn-menu{padding:2px 6px;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-md);color:var(--color-text-secondary);line-height:1}.btn-menu:hover{background:var(--color-surface-hover, rgba(0, 0, 0, .05));color:var(--color-text-primary)}.meal-menu{position:absolute;top:100%;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);min-width:120px;z-index:10;overflow:hidden}.meal-menu button{display:flex;align-items:center;gap:var(--spacing-xs);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;cursor:pointer;font-size:var(--text-sm);color:var(--color-text-primary);text-align:left}.meal-menu button:hover{background:var(--color-surface-hover, rgba(0, 0, 0, .05))}.meal-name{font-weight:600;font-size:var(--text-md);color:var(--color-text-primary)}.status-badge{font-size:var(--text-xs);padding:2px var(--spacing-sm);border-radius:var(--radius-full);font-weight:500}.status-badge.status-planned{background:var(--status-planned-bg);color:var(--status-planned-text)}.status-badge.status-cooked{background:var(--status-cooked-bg);color:var(--status-cooked-text)}.status-badge.status-eaten{background:var(--status-eaten-bg);color:var(--status-eaten-text)}.status-badge.status-cancelled{background:var(--status-cancelled-bg);color:var(--status-cancelled-text)}.meal-card-meta{font-size:var(--text-sm);color:var(--color-text-secondary)}.meal-notes{font-size:var(--text-sm);color:var(--color-text-muted);font-style:italic}.meal-card-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.btn-action{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);font-weight:500;transition:all var(--transition-fast)}.btn-cooked{background:var(--status-cooked-bg);color:var(--status-cooked-text);border:1px solid var(--status-cooked-border)}.btn-cooked:hover{background:var(--status-cooked-bg-hover);border-color:var(--status-cooked-border-hover);transform:translateY(-1px)}.btn-eaten{background:var(--status-eaten-bg);color:var(--status-eaten-text);border:1px solid var(--status-eaten-border)}.btn-eaten:hover{background:var(--status-eaten-bg-hover);border-color:var(--status-eaten-border-hover);transform:translateY(-1px)}.btn-cancel-meal{background:var(--status-cancelled-bg);color:var(--status-cancelled-text);border:1px solid var(--status-cancelled-border)}.btn-cancel-meal:hover{background:var(--status-cancelled-bg-hover);border-color:var(--status-cancelled-border-hover)}.btn-delete{background:var(--status-danger-bg);color:var(--status-danger-text);border:1px solid var(--status-danger-border)}.btn-delete:hover{background:var(--status-danger-bg-hover);border-color:var(--status-danger-border-hover)}.btn-calendar{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color)}.btn-calendar:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--accent-color)}.btn-calendar:disabled{opacity:var(--opacity-muted);cursor:not-allowed}.location-select{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--text-xs)}.location-select span{color:var(--color-text-secondary)}.location-select button{padding:2px var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;font-size:var(--text-xs)}.location-select button:hover{background:var(--color-surface-hover)}.location-select .btn-cancel{color:var(--color-text-muted)}.date-header-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-sm)}.date-header-row .date-header{border-bottom:none;padding-bottom:0;margin-bottom:0}.daily-macros-summary{display:flex;gap:var(--spacing-md);font-size:var(--text-sm);color:var(--color-text-secondary)}.macro-total{font-weight:600;color:var(--color-text-primary)}.macro-detail{color:var(--color-text-muted)}.meal-macros{display:flex;gap:var(--spacing-sm);font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--spacing-xs)}@media(max-width:768px){.add-meal-form .form-row,.date-meals{grid-template-columns:1fr}.planned-meals-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.planned-meals-actions{width:100%}.filter-select,.btn-add-meal{flex:1}.date-header-row{flex-direction:column;align-items:flex-start}.daily-macros-summary{gap:var(--spacing-sm);font-size:var(--text-xs)}}[data-theme=dark] .meal-menu,.dark .meal-menu{background:var(--color-surface, #1f1f23);border-color:var(--color-border, #333);box-shadow:var(--shadow-lg)}[data-theme=dark] .btn-menu:hover,.dark .btn-menu:hover,[data-theme=dark] .meal-menu button:hover,.dark .meal-menu button:hover{background:#ffffff1a}.meals-view{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-lg);width:100%}.meals-view-header{display:flex;justify-content:space-between;align-items:center}.meals-view-header h2{margin:0;font-size:var(--heading-view);font-weight:var(--font-weight-semibold)}.meals-tab,.location-tab{display:flex;align-items:center;background:transparent;border:none;border-radius:var(--radius-lg);font-size:var(--text-sm, .875rem);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.meals-tab:hover,.location-tab:hover{color:var(--text-primary);background:var(--bg-hover, rgba(0, 0, 0, .05))}.meals-tabs{display:flex;gap:var(--spacing-xs);background:var(--bg-secondary);padding:var(--spacing-xs);border-radius:var(--radius-xl);width:fit-content}.meals-tab{gap:var(--spacing-sm);padding:var(--btn-padding-lg);font-weight:var(--font-weight-medium)}.meals-tab.active{background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .1))}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 var(--spacing-xs);background:var(--button-bg-primary);color:var(--text-on-accent);border-radius:var(--radius-full);font-size:var(--text-xs, .75rem);font-weight:600}.meals-tab:not(.active) .tab-count{background:var(--text-tertiary)}.meals-content{background:var(--bg-card);border-radius:var(--radius-xl);padding:var(--spacing-md);box-shadow:var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .1));min-height:400px}.inventory-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.location-tabs{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.location-tab{padding:var(--btn-padding-md);background:var(--bg-secondary)}.location-tab.active{background:var(--button-bg-primary);color:var(--text-on-accent)}.location-tab .count{margin-left:var(--spacing-xs);opacity:var(--opacity-secondary)}.inventory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--spacing-sm)}.inventory-item{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-xs)}.inventory-item-name{font-weight:500;font-size:var(--text-sm, .875rem)}.inventory-item-details{font-size:var(--text-xs, .75rem);color:var(--text-secondary)}.inventory-item-expiring{color:var(--color-warning)}.inventory-item-expired{color:var(--color-error)}.inventory-item-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.inventory-item-actions button{padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--text-xs, .75rem);cursor:pointer;color:var(--text-secondary);transition:all var(--transition-fast)}.inventory-item-actions button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.recipe-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.recipe-search{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.recipe-search input{flex:1;min-width:200px;padding:var(--input-padding-lg);border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:var(--text-sm, .875rem)}.recipe-search select{padding:var(--input-padding-lg);border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:var(--text-sm, .875rem);background:var(--bg-card)}.recipe-filters{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.recipe-filters label{display:flex;align-items:center;gap:6px;font-size:var(--font-size-xs);color:var(--text-secondary);padding:var(--spacing-xs) 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-2xl);cursor:pointer;transition:all var(--transition-fast)}.recipe-filters label:hover{background:var(--bg-tertiary);border-color:var(--text-tertiary)}.recipe-filters label:has(input:checked){background:var(--button-bg-primary);color:var(--text-on-accent);border-color:var(--button-bg-primary)}.recipe-filters input[type=checkbox]{width:14px;height:14px;margin:0;accent-color:var(--text-on-accent)}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-md)}.recipe-card{position:relative;background:var(--bg-secondary);border-radius:var(--radius-xl);padding:var(--spacing-md);cursor:pointer;transition:all var(--transition-fast)}.recipe-card:hover{background:var(--bg-tertiary)}.recipe-card-title{font-weight:600;font-size:var(--font-size-base);margin-bottom:var(--spacing-xs);padding-right:28px}.recipe-card-meta{font-size:var(--text-xs, .75rem);color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.recipe-card-timing{font-size:var(--text-xs, .75rem);color:var(--text-secondary)}.recipe-card-macros{display:flex;gap:var(--spacing-sm);font-size:var(--text-xs, .75rem);color:var(--text-tertiary);margin-top:var(--spacing-xs)}.recipe-card-macros span{background:var(--bg-tertiary);padding:2px var(--spacing-xs);border-radius:var(--radius-sm)}.recipe-card-status{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:2px var(--spacing-sm);border-radius:var(--radius-full, 9999px);font-size:var(--text-xs, .75rem);font-weight:500;margin-top:var(--spacing-sm)}.recipe-card-status.ready{background:var(--status-eaten-bg, rgba(34, 197, 94, .15));color:var(--status-eaten-text)}.recipe-card-status.missing{background:var(--status-cooked-bg, rgba(245, 158, 11, .15));color:var(--status-cooked-text)}.btn-favorite{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);padding:var(--spacing-xs);background:transparent;border:none;cursor:pointer;color:var(--text-secondary);transition:all var(--transition-fast);border-radius:var(--radius-sm)}.btn-favorite:hover{color:var(--color-warning);transform:scale(1.1);background:var(--bg-tertiary)}.btn-favorite.is-favorite{color:var(--color-warning)}.tag-filter{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.tag-filter .filter-label{font-size:.875rem;color:var(--text-secondary);font-weight:500}.tag-chips{display:flex;gap:6px;flex-wrap:wrap}.tag-chip{padding:var(--spacing-xs) 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-2xl);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast);color:var(--text-secondary)}.tag-chip:hover{background:var(--bg-tertiary);border-color:var(--text-tertiary)}.tag-chip.selected{background:var(--button-bg-primary);color:var(--text-on-accent);border-color:var(--button-bg-primary)}.empty-tag-hint .empty-hint{font-size:var(--font-size-xs);color:var(--text-tertiary);font-style:italic}.shopping-list-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.shopping-list-header{display:flex;justify-content:space-between;align-items:center}.shopping-list-actions{display:flex;gap:var(--spacing-sm)}.shopping-summary{font-size:.875rem;color:var(--text-secondary)}.shopping-items{display:flex;flex-direction:column;gap:var(--spacing-sm)}.shopping-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-secondary);border-radius:var(--radius-lg)}.shopping-item.checked{opacity:var(--opacity-muted)}.shopping-item input[type=checkbox]{width:20px;height:20px;cursor:pointer}.shopping-item-info{flex:1}.shopping-item-name{font-weight:500;font-size:.875rem}.shopping-item-name.checked{text-decoration:line-through}.shopping-item-quantity{font-size:var(--font-size-xs);color:var(--text-secondary)}.shopping-item button{padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--font-size-xs);cursor:pointer;color:var(--text-secondary);transition:all var(--transition-fast)}.shopping-item button:hover{background:var(--color-error);border-color:var(--color-error);color:var(--text-on-accent)}.add-item-form{display:flex;flex-direction:column;gap:12px;padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-lg)}.add-item-row{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.add-item-row input,.add-item-row select{padding:var(--input-padding-md);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.875rem;background:var(--bg-card)}.add-item-row input[type=text]:first-child{flex:2;min-width:120px}.add-item-row .quantity-input{width:70px}.add-item-row .unit-input{width:80px}.add-item-row select{min-width:100px}.add-item-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-2xl) var(--spacing-lg);text-align:center;color:var(--text-secondary)}.empty-state p{margin:0;max-width:320px}.empty-steps-message{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--backdrop-color);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--spacing-lg)}.modal-content{background:var(--bg-card);border-radius:var(--radius-xl);padding:var(--spacing-lg);width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.modal-content.modal-large{max-width:640px}.modal-content h3{margin:0 0 var(--spacing-lg) 0;font-size:var(--heading-compact);font-weight:var(--font-weight-semibold)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.form-group label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.form-group input,.form-group select,.form-group textarea{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--bg-card);color:var(--text-primary)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-color-transparent)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.form-hint{font-size:var(--font-size-xs);color:var(--text-tertiary);margin:0}.recipe-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding-right:40px}.recipe-header-actions{display:flex;align-items:center;gap:var(--spacing-xs, 4px);flex-shrink:0}.recipe-detail-header h3{margin:0;flex:1}.btn-edit-recipe{padding:6px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;flex-shrink:0}.btn-edit-recipe:hover{color:var(--accent-color);background:color-mix(in srgb,var(--accent-color) 10%,transparent)}.btn-edit-recipe:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.btn-edit-steps{padding:6px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.btn-edit-steps:hover{color:var(--accent-color);background:color-mix(in srgb,var(--accent-color) 10%,transparent)}.btn-edit-steps:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.recipe-edit-form{display:flex;flex-direction:column;gap:12px}.recipe-edit-form .form-group{margin-bottom:0}.recipe-detail-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:.875rem;color:var(--text-secondary);margin-top:var(--spacing-sm)}.recipe-description{font-size:.875rem;color:var(--text-secondary);margin-bottom:20px;white-space:pre-wrap}.recipe-detail-sections{display:flex;flex-direction:column;gap:var(--spacing-lg)}.recipe-ingredients h4,.recipe-steps h4{margin:0 0 12px;font-size:var(--heading-card);font-weight:var(--font-weight-semibold)}.recipe-ingredients .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.recipe-ingredients .section-header h4{margin:0}.recipe-ingredients ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.recipe-ingredients li{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 12px;background:var(--bg-secondary);border-radius:var(--radius-md);font-size:.875rem}.ingredient-available{border-left:3px solid var(--color-success)}.ingredient-expiring,.ingredient-partial{border-left:3px solid var(--color-warning)}.ingredient-missing{border-left:3px solid var(--color-error)}.ingredient-status{font-size:var(--font-size-xs);color:var(--text-secondary)}.ingredients-by-step{display:flex;flex-direction:column;gap:var(--spacing-md)}.step-ingredient-group{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:12px}.step-group-title{margin:0 0 var(--spacing-sm) 0;font-size:.875rem;font-weight:600;color:var(--text-primary);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color)}.step-ingredient-group ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.step-ingredient-group li{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:.875rem}.recipe-steps ol{list-style:none;padding:0;margin:0;counter-reset:step}.recipe-steps li{counter-increment:step;padding:12px;background:var(--bg-secondary);border-radius:var(--radius-lg);margin-bottom:var(--spacing-sm)}.recipe-steps li:before{content:counter(step) ".";font-weight:600;margin-right:var(--spacing-sm)}.step-title{display:inline;font-weight:500}.step-instructions{margin-top:var(--spacing-sm);font-size:.875rem;color:var(--text-secondary)}.step-meta{margin-top:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--text-tertiary);display:flex;gap:12px;flex-wrap:wrap}.step-ingredients,.step-equipment{margin-top:var(--spacing-sm);font-size:.8rem;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.step-detail-label{font-weight:500;color:var(--text-secondary);margin-right:var(--spacing-xs)}.step-ingredient{background:var(--color-primary-bg, rgba(59, 130, 246, .1));color:var(--color-primary);padding:2px var(--spacing-sm);border-radius:var(--radius-xl);font-size:var(--font-size-xs)}.step-equipment-item{background:var(--color-secondary-bg, rgba(107, 114, 128, .1));color:var(--text-secondary);padding:2px var(--spacing-sm);border-radius:var(--radius-xl);font-size:var(--font-size-xs)}.expiring-warning{padding:12px var(--spacing-md);background:var(--color-warning-bg);color:var(--color-warning-text);border-radius:var(--radius-lg);font-size:.875rem;font-weight:500}.recipe-card-expiring{font-size:var(--font-size-xs);color:var(--color-warning);margin-top:var(--spacing-xs)}.recipe-card-scaling{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-size:.7rem;color:var(--accent-color);margin-top:var(--spacing-xs);padding:2px 6px;background:color-mix(in srgb,var(--accent-color) 10%,transparent);border-radius:var(--radius-sm)}.leftovers-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.location-count{margin-left:6px;opacity:var(--opacity-secondary)}.leftovers-list{display:flex;flex-direction:column;gap:12px}.leftover-item{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-xl);border-left:4px solid transparent}.leftover-item.expiring{border-left-color:var(--color-warning)}.leftover-item.expired{border-left-color:var(--color-error);opacity:var(--opacity-secondary)}.leftover-info{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.leftover-name{font-weight:600;font-size:var(--font-size-base)}.leftover-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:var(--font-size-xs);color:var(--text-secondary)}.leftover-meta .servings{font-weight:500}.leftover-meta .expiration{color:var(--text-secondary)}.leftover-meta .expiration.warning{color:var(--color-warning)}.leftover-meta .expiration.expired{color:var(--color-error)}.leftover-meta .thaw-time{color:var(--color-info)}.leftover-notes{font-size:.875rem;color:var(--text-secondary);font-style:italic;margin-top:var(--spacing-xs)}.leftover-actions{display:flex;gap:var(--spacing-sm)}.add-leftover-modal select,.add-leftover-modal input[type=number],.add-leftover-modal input[type=date]{width:100%}@media(max-width:768px){.meals-view{padding:12px;gap:12px;overflow-x:hidden}.meals-view-header{flex-direction:column;align-items:stretch;gap:var(--spacing-sm);width:100%}.meals-view-header h2{font-size:var(--font-size-lg)}.meals-tabs{width:100%;max-width:100%;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding:var(--spacing-xs);gap:var(--spacing-xs)}.meals-tabs::-webkit-scrollbar{height:4px}.meals-tabs::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}.meals-tab{padding:var(--btn-padding-md);font-size:var(--btn-font-sm);white-space:nowrap}.location-tabs{gap:6px}.location-tab{padding:var(--btn-padding-sm);font-size:var(--btn-font-sm)}.meals-content{padding:var(--spacing-md);border-radius:var(--radius-lg);min-height:auto}.inventory-grid,.recipe-grid{grid-template-columns:1fr}.recipe-search{flex-direction:column}.recipe-search input{min-width:auto}.shopping-list-header{flex-direction:column;align-items:flex-start;gap:12px}.shopping-list-actions{width:100%}.shopping-list-actions button{flex:1}.modal-overlay{padding:var(--spacing-md)}.modal-content{padding:20px;border-radius:var(--radius-xl)}}@media(max-width:480px){.meals-view{padding:var(--spacing-sm);gap:var(--spacing-sm)}.meals-tab,.location-tab{padding:var(--btn-padding-sm);font-size:var(--btn-font-sm)}.meals-content{padding:12px}}.section-header-actions{display:flex;align-items:center;gap:var(--spacing-sm, 8px)}.view-mode-toggle{display:flex;background:var(--color-surface);border-radius:var(--radius-sm, 6px);padding:2px;border:1px solid var(--color-border)}.btn-view-mode{padding:var(--spacing-xs) 12px;border:none;background:transparent;color:var(--color-text-secondary);font-size:var(--text-sm, .85rem);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.btn-view-mode:hover{color:var(--color-text-primary)}.btn-view-mode.active{background:var(--color-bg, white);color:var(--color-text-primary);font-weight:500;box-shadow:var(--shadow-xs)}.btn-view-mode:focus-visible{outline:2px solid var(--accent-color);outline-offset:1px}.macros-fieldset{border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:12px var(--spacing-md);margin:0}.macros-fieldset legend{font-size:.875rem;font-weight:500;color:var(--text-secondary);padding:0 var(--spacing-sm)}.macros-inputs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.macros-inputs .form-group{margin-bottom:0}.macros-inputs input{text-align:center}.macros-inputs input::placeholder{color:var(--text-tertiary);font-size:var(--font-size-xs)}@media(max-width:480px){.macros-inputs{grid-template-columns:repeat(2,1fr)}}.recipe-macros{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-md, 16px);padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);background:var(--bg-secondary);border-radius:var(--radius-md, 8px);margin-bottom:var(--spacing-md, 16px);font-size:.9rem}.recipe-macros .macro-item{color:var(--text-primary)}.recipe-macros .macro-item strong{color:var(--accent-color);font-weight:600}.recipe-macros .macro-label{color:var(--text-tertiary);font-size:.8rem}.recipe-scaling-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm, 8px);padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);background:var(--bg-secondary);border-radius:var(--radius-md, 8px);margin-bottom:var(--spacing-md, 16px);font-size:.9rem}.recipe-scaling-controls label{font-weight:500;color:var(--text-secondary);margin-right:var(--spacing-xs, 4px)}.scale-buttons{display:flex;gap:2px;background:var(--bg-tertiary);border-radius:var(--radius-sm, 4px);padding:2px}.scale-btn{padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);border:none;background:transparent;border-radius:var(--radius-sm, 4px);font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.scale-btn:hover{background:var(--bg-card);color:var(--text-primary)}.scale-btn.active{background:var(--button-bg-primary);color:var(--text-on-accent)}.scale-method-hint{font-size:var(--font-size-xs);color:var(--text-tertiary);font-style:italic}.recipe-import-modal,.recipe-export-modal{background:var(--bg-card);border-radius:var(--radius-xl, 16px);max-width:700px;width:100%;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-lg)}.recipe-import-modal .modal-header,.recipe-export-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg, 24px);padding-bottom:var(--spacing-md, 16px);border-bottom:none}.recipe-import-modal .modal-header h2,.recipe-export-modal .modal-header h2{margin:0;font-size:var(--font-size-xl);font-weight:600;color:var(--text-primary)}.recipe-import-modal .modal-content,.recipe-export-modal .modal-content{flex:1;overflow-y:auto;max-width:none;border-radius:0}.import-tabs{display:flex;gap:var(--spacing-xs, 4px);padding:0 var(--spacing-lg, 24px);border-bottom:1px solid var(--border-color);background:var(--bg-card)}.import-tabs .tab-btn{padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:var(--text-sm, .875rem);cursor:pointer;transition:all var(--transition-fast);margin-bottom:-1px}.import-tabs .tab-btn:hover{color:var(--text-primary)}.import-tabs .tab-btn.active{color:var(--accent-color);border-bottom-color:var(--accent-color);font-weight:500}.import-tab-content,.schema-tab-content{display:flex;flex-direction:column;gap:var(--spacing-md, 16px);height:100%}.import-instructions,.schema-instructions,.export-instructions{color:var(--text-secondary);font-size:var(--text-sm, .875rem);margin:0}.gem-link{color:var(--accent-color);text-decoration:none;font-weight:500}.gem-link:hover{text-decoration:underline}.json-input{width:100%;min-height:250px;padding:var(--spacing-md, 16px);border:1px solid var(--border-color);border-radius:var(--radius-md, 8px);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8rem;line-height:1.5;resize:vertical;background:var(--bg-secondary);color:var(--text-primary)}.json-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-color-transparent)}.json-input::placeholder{color:var(--text-muted);white-space:pre-line}.validation-errors{padding:var(--spacing-md, 16px);background:var(--color-error-bg);border:1px solid var(--color-error);border-radius:var(--radius-md, 8px);color:var(--color-error);font-size:var(--text-sm, .875rem)}.validation-errors strong{display:block;margin-bottom:var(--spacing-sm, 8px)}.validation-errors ul{margin:0;padding-left:var(--spacing-lg, 24px)}.validation-errors li{margin-bottom:var(--spacing-xs, 4px)}.validation-success,.import-success{padding:var(--spacing-md, 16px);background:var(--color-success-bg);border:1px solid var(--color-success);border-radius:var(--radius-md, 8px);color:var(--color-success);font-size:var(--text-sm, .875rem);font-weight:500;text-align:center}.import-actions,.schema-actions-top,.export-actions-top{display:flex;gap:var(--spacing-sm, 8px);justify-content:flex-end}.schema-actions-top,.export-actions-top{padding-bottom:var(--spacing-sm, 8px);border-bottom:1px solid var(--border-color)}.schema-content,.json-output{flex:1;overflow:auto;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md, 8px);max-height:400px}.schema-content pre,.json-output pre{margin:0;padding:var(--spacing-md, 16px);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:var(--font-size-xs);line-height:1.6;white-space:pre-wrap;word-break:break-word;color:var(--text-primary)}.recipe-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md, 16px)}.recipe-list-header h3{margin:0;font-size:1.1rem;color:var(--text-primary)}.recipe-header-actions{display:flex;gap:var(--spacing-sm, 8px)}.btn-import{display:inline-flex;align-items:center;gap:var(--spacing-xs, 4px);padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-sm, 6px);color:var(--text-secondary);font-size:var(--text-sm, .875rem);cursor:pointer;transition:all var(--transition-fast)}.btn-import:hover{background:var(--bg-hover, rgba(0, 0, 0, .05));color:var(--text-primary);border-color:var(--text-secondary)}.btn-export{display:inline-flex;align-items:center;gap:var(--spacing-xs, 4px);padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-sm, 6px);color:var(--text-secondary);font-size:var(--text-sm, .875rem);cursor:pointer;transition:all var(--transition-fast)}.btn-export:hover{background:var(--bg-hover, rgba(0, 0, 0, .05));color:var(--text-primary);border-color:var(--text-secondary)}[data-theme=dark] .json-input,[data-theme=dark] .schema-content,[data-theme=dark] .json-output{background:var(--bg-tertiary);border-color:var(--border-color)}[data-theme=dark] .validation-errors{background:#ef44441a}[data-theme=dark] .validation-success,[data-theme=dark] .import-success{background:#22c55e1a}@media(max-width:600px){.recipe-import-modal,.recipe-export-modal{max-width:100%;max-height:90vh}.import-tabs{padding:0 var(--spacing-md, 16px)}.json-input{min-height:200px}.schema-content,.json-output{max-height:300px}}.connections-view{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-lg);width:100%}.connections-header{display:flex;justify-content:space-between;align-items:center}.connections-header-main{display:flex;align-items:center;gap:var(--spacing-md)}.connections-header h2{margin:0;font-size:var(--heading-view);font-weight:var(--font-weight-semibold)}.connections-overdue-summary{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-error);color:var(--text-on-accent);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-weight-semibold)}.connections-content{background:var(--bg-card);border-radius:var(--radius-xl);padding:var(--spacing-md);box-shadow:var(--shadow-sm);min-height:400px}.connections-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;text-align:center;color:var(--text-secondary);gap:var(--spacing-md)}.connections-empty p{margin:0}.connections-groups{display:flex;flex-direction:column;gap:var(--spacing-lg)}.connection-group{border-bottom:1px solid var(--border-light);padding-bottom:var(--spacing-lg)}.connection-group:last-child{border-bottom:none;padding-bottom:0}.group-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0;margin-bottom:var(--spacing-sm)}.group-header-main{display:flex;align-items:center;gap:var(--spacing-sm)}.group-color-dot{width:12px;height:12px;border-radius:var(--radius-full);flex-shrink:0}.group-name{margin:0;font-size:var(--text-base);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.group-slo{font-size:var(--text-sm);color:var(--text-secondary)}.slo-value{color:var(--accent-color);text-decoration:underline;text-decoration-style:dotted;cursor:pointer;font-size:inherit}.slo-input{width:60px;padding:2px var(--spacing-xs);font-size:var(--text-sm);border:1px solid var(--border-color);border-radius:var(--radius-sm);text-align:center}.group-overdue-badge{display:inline-flex;align-items:center;padding:2px var(--spacing-sm);background:var(--color-error);color:var(--text-on-accent);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-weight-medium)}.group-header-actions{display:flex;align-items:center;gap:var(--spacing-md)}.group-contact-count{font-size:var(--text-sm);color:var(--text-tertiary)}.group-contacts{display:flex;flex-direction:column;gap:var(--spacing-xs)}.group-empty{padding:var(--spacing-md);text-align:center;color:var(--text-tertiary);font-size:var(--text-sm);font-style:italic;border:2px dashed transparent;border-radius:var(--radius-md);transition:border-color var(--transition-fast),background-color var(--transition-fast)}.connection-group.drag-over{background:var(--bg-hover);border-radius:var(--radius-lg)}.group-empty.drag-target{border-color:var(--accent-color);background:var(--bg-hover);color:var(--accent-color);font-style:normal}.draggable-contact-wrapper{transition:opacity var(--transition-fast),transform var(--transition-fast)}.draggable-contact-wrapper.dragging{opacity:var(--opacity-disabled);transform:scale(.98)}.contact-card{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md);border-left:3px solid var(--group-color, var(--border-color));transition:background-color var(--transition-fast)}.contact-card:hover{background:var(--bg-hover)}.contact-card.overdue{background:var(--color-error-bg-light, rgba(239, 68, 68, .08))}[data-theme=dark] .contact-card.overdue{background:var(--color-error-bg-dark, rgba(239, 68, 68, .15))}.contact-card.due_soon{background:var(--color-warning-bg-light, rgba(245, 158, 11, .08))}[data-theme=dark] .contact-card.due_soon{background:var(--color-warning-bg-dark, rgba(245, 158, 11, .15))}.contact-card-main{display:flex;flex-direction:column;gap:2px}.contact-card-header{display:flex;align-items:center;gap:var(--spacing-sm)}.contact-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-weight-bold);flex-shrink:0}.contact-badge.overdue{background:var(--color-error);color:var(--text-on-accent)}.contact-badge.due-soon{background:var(--color-warning);color:var(--text-on-warning)}.contact-badge.optional{background:var(--text-tertiary);color:var(--text-on-accent)}.contact-name{font-weight:var(--font-weight-medium);color:var(--text-primary);cursor:pointer;background:none;border:none;padding:0;font-size:inherit;text-align:left}.contact-name:hover{color:var(--accent-color);text-decoration:underline}.contact-timing{font-size:var(--text-xs);color:var(--text-secondary)}.contact-notes{font-size:var(--text-xs);color:var(--text-tertiary);font-style:italic;display:block;margin-top:var(--spacing-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-card-actions{display:flex;align-items:center;gap:var(--spacing-md)}.contact-has-task{font-size:var(--text-xs);color:var(--text-tertiary);font-style:italic}.contact-action{font-size:var(--text-sm);color:var(--text-secondary)}.contact-action:hover{color:var(--accent-color)}.contact-action-primary{color:var(--accent-color);font-weight:var(--font-weight-medium)}.contact-form-modal{max-width:480px;width:90%}.contact-form-modal .form-group{margin-bottom:var(--spacing-md)}.contact-form-modal .form-group label{display:block;margin-bottom:var(--spacing-xs);font-weight:var(--font-weight-medium);color:var(--text-primary)}.contact-form-modal input[type=text],.contact-form-modal input[type=number],.contact-form-modal select,.contact-form-modal textarea{width:100%;padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-base);background:var(--bg-primary);color:var(--text-primary)}.contact-form-modal input[type=text]:focus,.contact-form-modal input[type=number]:focus,.contact-form-modal select:focus,.contact-form-modal textarea:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--focus-ring-color, rgba(59, 130, 246, .1))}.contact-form-modal .form-group-checkbox{display:flex;flex-direction:column;gap:var(--spacing-xs)}.contact-form-modal .form-group-checkbox label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-weight:400}.contact-form-modal .form-group-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.contact-form-modal .form-hint{margin:0;font-size:var(--text-xs);color:var(--text-tertiary)}.contact-form-modal .form-actions{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--border-light)}.contact-form-modal .form-actions-right{display:flex;gap:var(--spacing-sm)}@media(max-width:768px){.connections-view{padding:var(--spacing-md)}.connections-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.contact-card{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.contact-card-actions{width:100%;justify-content:flex-end}.group-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.group-header-actions{width:100%;justify-content:space-between}}.skills-view{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-lg);width:100%}.skills-view-header{display:flex;justify-content:space-between;align-items:center}.skills-view-header h2{margin:0;font-size:var(--heading-view);font-weight:var(--font-weight-semibold)}.skills-view-actions{display:flex;gap:var(--spacing-sm)}.skills-content{flex:1}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-lg);align-items:start}@media(max-width:768px){.skills-grid{grid-template-columns:1fr}}.skill-card{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-md);border-left:var(--spacing-xs) solid var(--card-accent-color, var(--accent-color));display:flex;flex-direction:column;gap:var(--spacing-sm);transition:box-shadow var(--transition-fast)}.skill-card:hover{box-shadow:var(--shadow-sm)}.skill-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm)}.skill-card-title{margin:0;font-size:var(--heading-card);font-weight:var(--font-weight-semibold);color:var(--text-primary);flex:1;min-width:0;word-wrap:break-word}.skill-card-actions{display:flex;gap:2px;opacity:0;transition:opacity var(--transition-fast);flex-shrink:0}.skill-card:hover .skill-card-actions,.skill-card:focus-within .skill-card-actions{opacity:1}@media(hover:none){.skill-card-actions{opacity:1}}.skill-card-actions .btn-icon{color:var(--text-primary)}.skill-card-delete:hover{color:var(--error-color)}.skill-card-details{margin:0;font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--line-height-normal);white-space:pre-wrap;word-wrap:break-word}.skill-group-section{margin-bottom:var(--spacing-lg);background:var(--bg-secondary);border-radius:var(--radius-lg);overflow:hidden}.skill-group-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.skill-group-toggle{display:flex;align-items:center;gap:var(--spacing-sm);background:transparent;border:none;padding:0;cursor:pointer;color:var(--text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);text-align:left;flex:1;min-width:0}.skill-group-toggle:hover{color:var(--accent-color)}.skill-group-collapse-indicator{font-size:var(--font-size-xs);color:var(--text-muted);width:16px;flex-shrink:0}.skill-group-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-group-count{color:var(--text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);margin-left:var(--spacing-xs)}.skill-group-actions{display:flex;gap:2px;opacity:0;transition:opacity var(--transition-fast);flex-shrink:0}.skill-group-header:hover .skill-group-actions,.skill-group-header:focus-within .skill-group-actions{opacity:1}@media(hover:none){.skill-group-actions{opacity:1}}.skill-group-actions .btn-icon{color:var(--text-primary)}.skill-group-delete:hover{color:var(--error-color)}.skill-group-content{padding:var(--spacing-md)}.skill-group-empty{color:var(--text-muted);font-size:var(--font-size-sm);text-align:center;padding:var(--spacing-lg);margin:0}.ungrouped-section{margin-top:var(--spacing-lg)}.ungrouped-section-header{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--spacing-md) 0;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color)}.skill-group-form-modal{max-width:400px;width:100%}.skill-group-form-modal form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.skill-group-form-modal .form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.skill-form-modal{max-width:480px;width:100%}.skill-form-modal form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.skill-form-modal .form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.color-picker{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.color-option{width:32px;height:32px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all var(--transition-fast);padding:0}.color-option:hover{transform:scale(1.1)}.color-option.selected{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-primary)}@media(max-width:768px){.skills-view .undo-toast{bottom:80px}}.gratitude-view{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-lg);width:100%}.gratitude-view-header{display:flex;justify-content:space-between;align-items:center}.gratitude-view-header h2{margin:0;font-size:var(--heading-view);font-weight:var(--font-weight-semibold)}.gratitude-add-form{display:flex;gap:var(--spacing-sm);align-items:flex-start}.gratitude-add-form textarea{flex:1;min-height:44px;max-height:120px;resize:vertical;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-family:inherit;font-size:var(--font-size-base);line-height:var(--line-height-normal)}.gratitude-add-form textarea::placeholder{color:var(--text-muted)}.gratitude-add-form textarea:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-color-alpha, rgba(77, 166, 255, .2))}.gratitude-date-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.gratitude-date-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--border-light)}.gratitude-entry{background:var(--bg-secondary);border-radius:var(--radius-md);padding:var(--spacing-md);border-left:3px solid var(--color-success);display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm);transition:box-shadow var(--transition-fast)}.gratitude-entry:hover{box-shadow:var(--shadow-sm)}.gratitude-entry-content{flex:1;min-width:0}.gratitude-entry-text{margin:0;font-size:var(--font-size-base);color:var(--text-primary);line-height:var(--line-height-normal);white-space:pre-wrap;word-wrap:break-word}.gratitude-entry-category{display:inline-block;margin-top:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--text-muted);background:var(--bg-tertiary);padding:2px var(--spacing-sm);border-radius:var(--radius-sm)}.gratitude-entry-actions{display:flex;gap:2px;opacity:0;transition:opacity var(--transition-fast);flex-shrink:0}.gratitude-entry:hover .gratitude-entry-actions,.gratitude-entry:focus-within .gratitude-entry-actions{opacity:1}@media(hover:none){.gratitude-entry-actions{opacity:1}}.gratitude-stats{display:flex;gap:var(--spacing-lg);padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md)}.gratitude-stat{text-align:center}.gratitude-stat-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-success)}.gratitude-stat-label{font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}@media(max-width:768px){.gratitude-add-form{flex-direction:column}.gratitude-add-form textarea{width:100%}.gratitude-stats{flex-wrap:wrap;gap:var(--spacing-md)}.gratitude-stat{flex:1;min-width:60px}}.privacy-modal{max-width:600px;max-height:80vh;display:flex;flex-direction:column}.privacy-modal-content{overflow-y:auto;flex:1}.privacy-updated{font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:20px}.privacy-section{margin-bottom:var(--spacing-lg)}.privacy-section:last-child{margin-bottom:0}.privacy-section h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-sm) 0}.privacy-section p{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.6;margin:0 0 var(--spacing-sm) 0}.privacy-section p:last-child{margin-bottom:0}.privacy-section ul,.privacy-section ol{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.6;margin:var(--spacing-sm) 0;padding-left:var(--spacing-lg)}.privacy-section li{margin-bottom:var(--spacing-xs)}.privacy-section a{color:var(--accent-color);text-decoration:none}.privacy-section a:hover{text-decoration:underline}.privacy-section strong{color:var(--text-primary);font-weight:var(--font-weight-medium)}.privacy-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm);margin:var(--spacing-sm) 0}.privacy-table th,.privacy-table td{text-align:left;padding:var(--spacing-sm);border-bottom:1px solid var(--border-color)}.privacy-table th{color:var(--text-primary);font-weight:var(--font-weight-medium);background:var(--bg-secondary)}.privacy-table td{color:var(--text-secondary)}.privacy-table tr:last-child td{border-bottom:none}.delete-cloud-data{margin-top:12px;padding:12px;background:var(--bg-secondary);border-radius:var(--radius-lg)}.btn-delete-data{padding:var(--spacing-sm) var(--spacing-md);background:var(--error-color);color:var(--text-on-error);border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:opacity var(--transition-base)}.btn-delete-data:hover{opacity:.9}.delete-confirm{margin-top:var(--spacing-sm)}.delete-warning{color:var(--error-color);font-weight:500;margin-bottom:12px}.delete-confirm-buttons{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.btn-confirm-delete{padding:var(--spacing-sm) var(--spacing-md);background:var(--error-color);color:var(--text-on-error);border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer}.btn-confirm-delete:hover{opacity:.9}.btn-cancel-delete{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-sm);cursor:pointer}.btn-cancel-delete:hover{background:var(--bg-hover)}.delete-status{color:var(--text-secondary);font-style:italic}.delete-success{color:var(--success-color);font-weight:500}.delete-error{color:var(--error-color)}@media(max-width:768px){.privacy-modal{max-height:90vh}.privacy-section h3{font-size:var(--font-size-sm)}.privacy-section p,.privacy-section ul,.privacy-section ol,.privacy-table{font-size:var(--font-size-xs)}.privacy-table th,.privacy-table td{padding:6px}}.about-modal{max-width:550px;max-height:80vh;display:flex;flex-direction:column}.about-modal-content{overflow-y:auto;flex:1}.about-modal-content p{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.7;margin:0 0 var(--spacing-md) 0}.about-modal-content p:last-child{margin-bottom:0}.about-modal-content em{font-style:italic;color:var(--text-primary)}@media(max-width:768px){.about-modal{max-height:90vh}.about-modal-content p{font-size:var(--font-size-xs)}}.energy-level-chip-icon{font-size:.875rem;line-height:1}.energy-level-chip-small .energy-level-chip-icon{font-size:var(--font-size-xs)}.energy-level-chip-label{font-weight:500}.energy-level-chip[data-level=HIGH_VOLTAGE]{background-color:var(--energy-high-bg);color:var(--energy-high)}.energy-level-chip[data-level=LOW_VOLTAGE]{background-color:var(--energy-low-bg);color:var(--energy-low)}.energy-level-chip[data-level=RECOVERY]{background-color:var(--energy-recovery-bg);color:var(--energy-recovery)}.dopamenu-pairing-chip{justify-content:center;font-size:.9rem;background:var(--bg-tertiary);cursor:help}.dopamenu-pairing-chip-small{font-size:var(--font-size-xs)}.priority-chip-icon{font-size:.625rem;line-height:1}.priority-chip-small .priority-chip-icon{font-size:.5rem}.priority-chip-label{font-weight:500}.priority-chip[data-priority=P0]{background-color:var(--priority-p0-bg);color:var(--priority-p0)}.priority-chip[data-priority=P1]{background-color:var(--priority-p1-bg);color:var(--priority-p1)}.priority-chip[data-priority=P2]{background-color:var(--priority-p2-bg);color:var(--priority-p2)}.priority-chip[data-priority=P3]{background-color:var(--priority-p3-bg);color:var(--priority-p3)}.priority-chip[data-priority=P4]{background-color:var(--priority-p4-bg);color:var(--priority-p4)}.focus-type-chip{padding:2px var(--spacing-sm);border-radius:var(--radius-xl);font-weight:500}.focus-type-chip-small{padding:1px 6px;font-size:.6875rem;gap:2px}.focus-type-chip-icon{font-size:.875rem;line-height:1}.focus-type-chip-small .focus-type-chip-icon{font-size:var(--font-size-xs)}.focus-type-chip-label{line-height:1.2}.focus-type-chip[data-focus-type=DEEP]{background-color:var(--focus-deep-bg);color:var(--focus-deep-color)}.focus-type-chip[data-focus-type=SHALLOW]{background-color:var(--focus-shallow-bg);color:var(--focus-shallow-color)}.icnu-drivers-chip{gap:2px;font-size:var(--font-size-sm, .875rem);background:var(--bg-tertiary)}.icnu-drivers-chip-small{font-size:var(--font-size-xs, .75rem)}.icnu-driver-icon{display:inline-block;font-size:inherit}.contexts-chip{font-size:var(--font-size-sm, .875rem);background:var(--bg-tertiary);color:var(--text-secondary)}.contexts-chip-small{font-size:var(--font-size-xs, .75rem)}.contexts-chip-icon{display:inline-block;font-size:inherit}.contexts-chip-text{white-space:nowrap}.effort-type-chip{font-size:var(--font-size-sm, .875rem);line-height:1.2}.effort-type-chip[data-effort-type=MENTAL]{background:var(--effort-mental-bg, rgba(99, 102, 241, .15));color:var(--effort-mental-color, #818cf8)}.effort-type-chip[data-effort-type=PHYSICAL]{background:var(--effort-physical-bg, rgba(16, 185, 129, .15));color:var(--effort-physical-color, #34d399)}.effort-type-chip-small{font-size:var(--font-size-xs, .75rem)}.effort-type-chip-icon{display:inline-block;font-size:inherit}.effort-type-chip-label{white-space:nowrap}.chip-selector{display:flex;flex-wrap:wrap;gap:6px}.chip-selector__chip{display:flex;align-items:center;gap:var(--spacing-xs);padding:6px 10px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);font-size:.875rem;font-family:inherit}.chip-selector__chip:hover:not(:disabled){background:var(--bg-hover, var(--bg-tertiary));border-color:var(--border-color)}.chip-selector__chip:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.chip-selector__chip--selected{background:var(--bg-accent-subtle, rgba(77, 166, 255, .1));border-color:var(--accent-color);border-width:2px;padding:5px 9px;color:var(--accent-color)}.chip-selector__chip:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.chip-selector__icon{display:flex;align-items:center;justify-content:center;font-size:var(--font-size-base);line-height:1}.chip-selector__label{white-space:nowrap}.chip-selector--pill .chip-selector__chip{border-radius:var(--radius-2xl);padding:6px 12px}.chip-selector--pill .chip-selector__chip--selected{padding:5px 11px}.chip-selector--compact .chip-selector__chip{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);gap:3px}.chip-selector--compact .chip-selector__chip--selected{padding:3px 7px}.chip-selector--compact .chip-selector__icon{font-size:.875rem}.energy-level-selector .chip-selector__chip--selected[data-value=HIGH_VOLTAGE]{background:var(--energy-high-bg);border-color:var(--energy-high);color:var(--energy-high)}.energy-level-selector .chip-selector__chip--selected[data-value=LOW_VOLTAGE]{background:var(--energy-low-bg);border-color:var(--energy-low);color:var(--energy-low)}.energy-level-selector .chip-selector__chip--selected[data-value=RECOVERY]{background:var(--energy-recovery-bg);border-color:var(--energy-recovery);color:var(--energy-recovery)}.context-tag-selector{display:flex;flex-direction:column;gap:var(--spacing-sm)}.context-tag-chips{display:flex;flex-wrap:wrap;gap:6px}.context-tag-chip{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) 10px;border:1px solid var(--border-color);border-radius:var(--radius-2xl);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);font-size:.8125rem;font-weight:500}.context-tag-chip:hover{background:var(--bg-hover)}.context-tag-chip[data-selected=true]{background:var(--bg-accent-subtle, rgba(77, 166, 255, .1));border-color:var(--accent-color);color:var(--accent-color)}.context-tag-chip[data-selected=true]:hover{background:var(--bg-accent-subtle, rgba(77, 166, 255, .15))}.context-tag-chip-custom{padding-right:6px}.context-tag-remove{margin-left:2px;font-size:var(--font-size-base);line-height:1;opacity:var(--opacity-secondary)}.context-tag-chip-custom:hover .context-tag-remove{opacity:1}.context-tag-input{padding:6px 10px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-size:.8125rem;width:120px;transition:border-color var(--transition-fast)}.context-tag-input::placeholder{color:var(--text-muted)}.context-tag-input:focus{outline:none;border-color:var(--accent-color)}.dopamenu-picker{padding:var(--spacing-sm) 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;min-width:200px;cursor:pointer;transition:border-color var(--transition-fast)}.dopamenu-picker:hover{border-color:var(--accent-color)}.dopamenu-picker:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-color-transparent, rgba(77, 166, 255, .2))}.dopamenu-picker option{padding:var(--spacing-xs) var(--spacing-sm)}.dopamenu-picker optgroup{font-weight:600;color:var(--text-secondary)}.dopamenu-manager{display:flex;flex-direction:column;gap:var(--spacing-md);min-width:320px}.dopamenu-manager-add-btn{align-self:flex-start;padding:var(--spacing-sm) var(--spacing-md);border:1px dashed var(--border-color);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.dopamenu-manager-add-btn:hover{border-color:var(--accent-color);color:var(--accent-color)}.dopamenu-manager-form{display:flex;flex-direction:column;gap:12px;padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-lg)}.dopamenu-manager-form .form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.dopamenu-manager-form label{font-size:.875rem;color:var(--text-secondary)}.dopamenu-manager-form input,.dopamenu-manager-form select{padding:var(--input-padding-md);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-base)}.dopamenu-manager-form-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-sm)}.dopamenu-manager-form-actions button{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:.875rem;cursor:pointer;transition:all var(--transition-fast)}.dopamenu-manager-form-actions button:first-child{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary)}.dopamenu-manager-form-actions button:first-child:hover{background:var(--bg-hover);border-color:var(--text-secondary)}.dopamenu-manager-empty{text-align:center;color:var(--text-muted);padding:var(--spacing-lg) var(--spacing-md)}.dopamenu-manager-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.dopamenu-manager-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.dopamenu-manager-group-header{font-size:.875rem;font-weight:600;color:var(--text-secondary);margin:0;padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--border-light)}.dopamenu-manager-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:var(--spacing-sm) 12px;background:var(--bg-secondary);border-radius:var(--radius-md)}.dopamenu-manager-item-info{display:flex;flex-direction:column;flex:1;gap:2px;min-width:0}.dopamenu-manager-item-title{color:var(--text-primary)}.dopamenu-manager-item-contexts{font-size:var(--font-size-xs);color:var(--text-muted)}.dopamenu-manager-item-actions{display:flex;gap:var(--spacing-xs)}.dopamenu-manager-item-btn{padding:var(--spacing-xs) var(--spacing-sm);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast)}.dopamenu-manager-item-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.dopamenu-manager-item-btn-delete:hover{background:var(--color-error);color:var(--text-on-error)}.dopamenu-context-chips{display:flex;flex-wrap:wrap;gap:6px}.dopamenu-context-chip{padding:var(--spacing-xs) 10px;border:1px solid var(--border-color);border-radius:var(--radius-2xl);background:var(--bg-primary);color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:all var(--transition-fast)}.dopamenu-context-chip:hover{border-color:var(--accent-color);color:var(--accent-color)}.dopamenu-context-chip.selected{background:var(--button-bg-primary);border-color:var(--button-bg-primary);color:var(--text-on-accent)}.form-hint{font-size:var(--font-size-xs);color:var(--text-muted);font-weight:400}.dopamenu-manager-footer{display:flex;justify-content:flex-end;padding-top:var(--spacing-sm);border-top:1px solid var(--border-light)}@media(max-width:480px){.dopamenu-manager{min-width:unset;width:100%}.dopamenu-manager-item{flex-wrap:wrap}.dopamenu-manager-item-title{flex:1 1 100%;margin-bottom:var(--spacing-xs)}.dopamenu-manager-item-actions{width:100%;justify-content:flex-end}.dopamenu-manager-item-btn{padding:6px 12px;font-size:.8rem}}.priority-selector .chip-selector__chip--selected[data-value=P0]{background:var(--priority-p0-bg);border-color:var(--priority-p0);color:var(--priority-p0)}.priority-selector .chip-selector__chip--selected[data-value=P1]{background:var(--priority-p1-bg);border-color:var(--priority-p1);color:var(--priority-p1)}.priority-selector .chip-selector__chip--selected[data-value=P2]{background:var(--priority-p2-bg);border-color:var(--priority-p2);color:var(--priority-p2)}.priority-selector .chip-selector__chip--selected[data-value=P3]{background:var(--priority-p3-bg);border-color:var(--priority-p3);color:var(--priority-p3)}.priority-selector .chip-selector__chip--selected[data-value=P4]{background:var(--priority-p4-bg);border-color:var(--priority-p4);color:var(--priority-p4)}.focus-type-selector .chip-selector__chip--selected[data-value=DEEP]{background:var(--focus-deep-selected-bg);border-color:var(--focus-deep-color);color:var(--focus-deep-color)}.focus-type-selector .chip-selector__chip--selected[data-value=SHALLOW]{background:var(--focus-shallow-selected-bg);border-color:var(--focus-shallow-color);color:var(--focus-shallow-color)}.effort-type-selector .chip-selector__chip--selected[data-value=MENTAL]{background:var(--effort-mental-bg, rgba(99, 102, 241, .15));border-color:var(--effort-mental-color);color:var(--effort-mental-color)}.effort-type-selector .chip-selector__chip--selected[data-value=PHYSICAL]{background:var(--effort-physical-bg, rgba(16, 185, 129, .15));border-color:var(--effort-physical-color);color:var(--effort-physical-color)}.smart-task-filter{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm);padding:12px var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-lg);font-size:.875rem}.smart-task-filter-text{color:var(--text-secondary)}.smart-task-filter-select{padding:6px 10px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:border-color var(--transition-fast)}.smart-task-filter-select:hover{border-color:var(--accent-color)}.smart-task-filter-select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-color-transparent, rgba(77, 166, 255, .2))}.smart-task-filter-clear{padding:6px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-secondary);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast)}.smart-task-filter-clear:hover{background:var(--bg-hover);color:var(--text-primary)}.smart-task-filter-chips{display:flex;gap:var(--spacing-xs)}.smart-task-filter-chip{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-secondary);font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-fast)}.smart-task-filter-chip:hover{border-color:var(--accent-color);background:var(--bg-hover)}.smart-task-filter-chip.active{background:var(--button-bg-primary);border-color:var(--button-bg-primary);color:var(--text-on-accent)}@media(max-width:480px){.smart-task-filter{flex-direction:column;align-items:stretch;padding:10px 12px;gap:var(--spacing-sm)}.smart-task-filter>.smart-task-filter-text:first-child,.smart-task-filter>.smart-task-filter-select:nth-child(2){display:inline}.smart-task-filter-select{width:100%;min-width:unset;padding:10px 12px}.smart-task-filter-text{display:none}.smart-task-filter-text:first-of-type{display:block;font-weight:500;color:var(--text-primary);margin-bottom:-4px}.smart-task-filter-chips{flex-wrap:wrap;width:100%}.smart-task-filter-chip{flex:1;min-width:calc(50% - 4px);text-align:center;padding:var(--spacing-sm)}.smart-task-filter-clear{width:100%;margin-top:var(--spacing-xs);padding:10px}}.dep-selector{display:flex;flex-direction:column;gap:6px}.dep-selector-chips{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.dep-selector-chip{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:2px var(--spacing-sm);background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:var(--radius-xl);font-size:.8rem;color:var(--text-primary)}.dep-selector-chip-title{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dep-selector-chip-remove{all:unset;cursor:pointer;font-size:var(--font-size-base);line-height:1;color:var(--text-muted);padding:0 2px}.dep-selector-chip-remove:hover{color:var(--color-error)}.dep-selector-search-wrap{position:relative}.dep-selector-search{width:100%;padding:6px 10px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-primary);font-size:var(--font-size-sm);box-sizing:border-box}.dep-selector-search::placeholder{color:var(--text-muted)}.dep-selector-dropdown{position:absolute;top:100%;left:0;right:0;max-height:200px;overflow-y:auto;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-top:2px;z-index:10;list-style:none;padding:var(--spacing-xs)}.dep-selector-option{all:unset;display:block;width:100%;padding:6px 10px;font-size:var(--font-size-sm);color:var(--text-primary);cursor:pointer;border-radius:var(--radius-sm);box-sizing:border-box}.dep-selector-option:hover{background:var(--bg-tertiary)}.dep-selector-empty{padding:10px;font-size:.8rem;color:var(--text-muted);text-align:center}.badge{display:inline-flex;align-items:center;padding:var(--btn-padding-xs);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);gap:var(--spacing-xs);white-space:nowrap;border:none;background:none;cursor:inherit;font-family:inherit}button.badge{cursor:pointer;transition:all var(--transition-fast)}button.badge:hover:not(:disabled){filter:brightness(.95)}button.badge:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.badge-pill{border-radius:var(--radius-full);background:var(--bg-tertiary);color:var(--text-secondary)}.badge-flat{border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-secondary)}.badge-outlined{border-radius:var(--radius-full);background:transparent;border:1px solid var(--border-color);color:var(--text-secondary)}.badge-primary{background:var(--button-bg-primary);color:var(--text-on-accent)}.badge-outlined.badge-primary{background:transparent;border-color:var(--accent-color);color:var(--accent-color)}.badge-success{background:color-mix(in srgb,var(--color-success) 15%,transparent);color:var(--color-success)}.badge-outlined.badge-success{background:transparent;border-color:var(--color-success);color:var(--color-success)}.badge-warning{background:color-mix(in srgb,var(--warning-color) 15%,transparent);color:var(--warning-color)}.badge-outlined.badge-warning{background:transparent;border-color:var(--warning-color);color:var(--warning-color)}.badge-danger{background:color-mix(in srgb,var(--color-error) 15%,transparent);color:var(--color-error)}.badge-outlined.badge-danger{background:transparent;border-color:var(--color-error);color:var(--color-error)}.badge-sm{padding:var(--btn-padding-xs);font-size:var(--btn-font-xs)}.card{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm);transition:all var(--transition-fast)}.card-padding-sm{padding:var(--spacing-sm)}.card-padding-none{padding:0}.card-accent-left{border-left:var(--spacing-xs) solid var(--card-accent-color, var(--accent-color))}.card-default{background:var(--bg-secondary)}.card-default:hover{box-shadow:var(--shadow-sm)}.card-compact{background:var(--bg-card);border:1px solid var(--border-light);gap:var(--spacing-xs)}.card-compact.card-accent-left{border-left:var(--spacing-xs) solid var(--card-accent-color, var(--accent-color))}.card-stat{background:var(--bg-card);border:1px solid var(--border-light);text-align:center;align-items:center;justify-content:center}.card-interactive{cursor:pointer;border:none;text-align:left;font-family:inherit;font-size:inherit;color:var(--text-primary);width:100%}.card-interactive:hover{background:var(--bg-hover)}.card-interactive:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.card-interactive:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.card-interactive:disabled:hover{background:var(--bg-secondary)}.card-interactive.card-compact{border:1px solid var(--border-light)}.card-interactive.card-compact:hover{border-color:var(--accent-color)}.section-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-primary);border-bottom:1px solid var(--border-color);gap:var(--spacing-md);flex-shrink:0}.section-header-left{display:flex;align-items:baseline;gap:var(--spacing-sm);min-width:0}.section-title{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary);white-space:nowrap}.section-subtitle{font-size:var(--font-size-sm);color:var(--text-secondary);white-space:nowrap}.section-header-right{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;justify-content:flex-end}.section-header .btn-action{padding:var(--btn-padding-sm);border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.section-header .btn-action:hover:not(:disabled){background:var(--bg-hover);border-color:var(--text-secondary)}.section-header .btn-action:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.section-header .filter-group{display:flex;background:var(--bg-secondary);border-radius:var(--radius-md);padding:2px;border:1px solid var(--border-color)}.section-header .btn-filter{padding:var(--spacing-xs) var(--spacing-sm);border:none;background:transparent;color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.section-header .btn-filter:hover{color:var(--text-primary)}.section-header .btn-filter.active{background:var(--bg-primary);color:var(--text-primary);font-weight:500;box-shadow:var(--shadow-xs)}.section-header .selection-count{font-size:var(--font-size-sm);color:var(--text-secondary);padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-accent-subtle);border-radius:var(--radius-sm)}.section-header .toggle-label{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer}.section-header .toggle-label input[type=checkbox]{cursor:pointer}.section-header select{padding:var(--input-padding-sm);border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer}.section-header .btn-refresh{padding:var(--spacing-xs) var(--spacing-sm);background:none;border:none;cursor:pointer;font-size:var(--font-size-md);color:var(--text-secondary);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.section-header .btn-refresh:hover:not(:disabled){color:var(--text-primary);background:var(--bg-hover)}.section-header .btn-refresh:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.style-guide{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-primary);z-index:var(--z-modal);overflow:auto;padding:var(--spacing-lg)}.sg-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color)}.sg-header h1{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold)}.sg-content{max-width:1200px;margin:0 auto}.sg-section{margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background:var(--bg-secondary);border-radius:var(--radius-lg)}.sg-section-title{margin:0 0 var(--spacing-lg);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--accent-color)}.sg-subsection{margin-bottom:var(--spacing-lg)}.sg-subsection:last-child{margin-bottom:0}.sg-subsection h3{margin:0 0 var(--spacing-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.sg-color-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--spacing-md)}.sg-color-swatch{display:flex;flex-direction:column;gap:var(--spacing-xs)}.sg-color-sample{width:100%;height:60px;border-radius:var(--radius-md);border:1px solid var(--border-color)}.sg-color-info{display:flex;flex-direction:column;gap:2px}.sg-color-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.sg-color-var{font-size:var(--font-size-xs);color:var(--text-muted);font-family:monospace}.sg-typography-samples{display:flex;flex-direction:column;gap:var(--spacing-md)}.sg-type-sample{padding:var(--spacing-sm);background:var(--bg-primary);border-radius:var(--radius-sm);color:var(--text-primary)}.sg-spacing-grid{display:flex;flex-wrap:wrap;gap:var(--spacing-lg);align-items:flex-end}.sg-spacing-item{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs)}.sg-spacing-visual{background:var(--accent-color);border-radius:var(--radius-sm);min-width:8px;min-height:8px}.sg-spacing-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.sg-spacing-var{font-size:var(--font-size-xs);color:var(--text-muted);font-family:monospace}.sg-button-row{display:flex;flex-wrap:wrap;gap:var(--spacing-md);align-items:center}.sg-badge-row{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);align-items:center}.sg-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--spacing-md)}.sg-card-grid h4{margin:0 0 var(--spacing-xs);font-size:var(--font-size-base)}.sg-card-grid p{margin:0;font-size:var(--font-size-sm);color:var(--text-secondary)}.sg-section-headers{display:flex;flex-direction:column;gap:var(--spacing-lg)}.sg-empty-states{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-md)}.sg-form-samples{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--spacing-lg)}.sg-form-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.sg-form-field span{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.sg-form-field input[type=text],.sg-form-field select,.sg-form-field textarea{padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-base)}.sg-form-field input:focus,.sg-form-field select:focus,.sg-form-field textarea:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px var(--focus-ring-color, rgba(59, 130, 246, .2))}.sg-checkbox-field{flex-direction:row;align-items:center;gap:var(--spacing-sm)}@media(max-width:768px){.style-guide{padding:var(--spacing-md)}.sg-header{flex-direction:column;gap:var(--spacing-md);text-align:center}.sg-color-grid,.sg-card-grid,.sg-form-samples,.sg-empty-states{grid-template-columns:1fr}}.agenda-view{display:flex;flex-direction:column;gap:var(--spacing-md);padding:12px;overflow-y:auto;flex:1}.agenda-day{background:var(--bg-primary);border-radius:var(--radius-lg);border:1px solid var(--border-color);overflow:hidden}.agenda-day--today{border-color:var(--accent-color);box-shadow:0 0 0 1px var(--accent-color)}.agenda-day--selected{outline:2px solid var(--accent-color);outline-offset:-2px}.agenda-day--selected .agenda-day-header{background:color-mix(in srgb,var(--accent-color) 12%,var(--bg-secondary))}.agenda-day-header.clickable{cursor:pointer;transition:background var(--transition-fast)}.agenda-day-header.clickable:hover{background:color-mix(in srgb,var(--accent-color) 8%,var(--bg-secondary))}.agenda-schedule-hint{display:block;font-size:.7rem;color:var(--text-muted);opacity:0;transition:opacity var(--transition-fast)}.agenda-day-header.clickable:hover .agenda-schedule-hint{opacity:1}.agenda-day-header{display:flex;justify-content:space-between;align-items:center;padding:12px var(--spacing-md);background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.agenda-day--today .agenda-day-header{background:color-mix(in srgb,var(--accent-color) 10%,var(--bg-secondary))}.agenda-day-name{font-weight:600;font-size:.95rem;color:var(--text-primary)}.agenda-day--today .agenda-day-name{color:var(--accent-color)}.agenda-day-date{font-size:var(--font-size-sm);color:var(--text-secondary)}.agenda-events{display:flex;flex-direction:column}.agenda-empty{padding:var(--spacing-md);text-align:center;color:var(--text-muted);font-size:.9rem}.agenda-event{display:flex;align-items:flex-start;gap:12px;padding:12px var(--spacing-md);border-bottom:1px solid var(--border-color);transition:background-color var(--transition-fast)}.agenda-event:last-child{border-bottom:none}.agenda-event:active{background:var(--bg-secondary)}.agenda-event-indicator{width:4px;min-height:36px;border-radius:2px;background:var(--event-color);flex-shrink:0;align-self:stretch}.agenda-event-content{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1;min-width:0}.agenda-event-title{font-size:.95rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-event-time{font-size:var(--font-size-sm);color:var(--text-secondary)}.agenda-event--all-day .agenda-event-time{font-style:italic}.agenda-event--overlap{border-left:3px solid var(--warning-color)}.agenda-event--overlap .agenda-event-indicator{margin-left:-3px}.agenda-overlap-badge{display:inline-block;margin-left:var(--spacing-sm);padding:1px 6px;font-size:.7rem;font-weight:500;color:var(--warning-text);background:color-mix(in srgb,var(--warning-color) 15%,transparent);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.02em}@media(max-width:768px){.agenda-view{gap:12px;padding:var(--spacing-sm)}.agenda-event{padding:10px 12px;gap:var(--spacing-sm);min-height:auto}.agenda-day-header{padding:10px 12px}.agenda-event-title{white-space:normal;overflow:visible;text-overflow:clip;font-size:.875rem;line-height:1.3}.agenda-event-indicator{min-height:24px}.agenda-overlap-badge{font-size:.6rem;padding:1px var(--spacing-xs)}}.calendar-view{display:flex;flex-direction:column;flex:1;min-height:0;background:var(--bg-card);border-bottom:1px solid var(--border-color);overflow:hidden}.calendar-header{display:flex;justify-content:space-between;align-items:center;padding:12px var(--spacing-md);background:var(--bg-primary);border-bottom:1px solid var(--border-color)}.calendar-header h2{margin:0;font-size:1.1rem;font-weight:600}.calendar-controls{display:flex;align-items:center;gap:var(--spacing-sm)}.view-toggle{display:flex;background:var(--bg-secondary);border-radius:var(--radius-md);padding:2px;border:1px solid var(--border-color)}.view-toggle .toggle-btn{padding:var(--spacing-xs) 12px;border:none;background:transparent;color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.view-toggle .toggle-btn:hover{color:var(--text-primary)}.view-toggle .toggle-btn.active{background:var(--button-bg-primary);color:var(--text-on-accent);font-weight:500;box-shadow:var(--shadow-xs)}.calendar-range-select{padding:var(--input-padding-sm);border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-size:.9rem}.calendar-refresh{background:none;border:none;cursor:pointer;font-size:1.2rem;color:var(--text-secondary);padding:0 var(--spacing-xs)}.calendar-refresh:hover{color:var(--text-primary)}.calendar-grid{display:flex;overflow-x:auto;height:100%;padding:12px;gap:12px}.calendar-day-column{flex:0 0 200px;background:var(--bg-primary);border-radius:var(--radius-lg);border:1px solid var(--border-color);display:flex;flex-direction:column;height:100%;transition:background-color var(--transition-base),border-color var(--transition-base)}.calendar-day-column.today{border-color:var(--accent-color);background:var(--bg-accent-subtle)}.calendar-day-column.drag-over{background:var(--bg-hover);border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-color-transparent)}.day-header{padding:12px;border-bottom:1px solid var(--border-color);display:flex;align-items:baseline;gap:var(--spacing-sm)}.day-name{font-weight:600;color:var(--text-secondary);text-transform:uppercase;font-size:.8rem}.day-number{font-size:1.2rem;font-weight:700;color:var(--text-primary)}.day-events{flex:1;overflow-y:auto;padding:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-sm)}.calendar-event-card{background:var(--bg-card);border:1px solid var(--border-color);border-left:3px solid var(--accent-color);border-radius:var(--radius-sm);padding:var(--spacing-sm);font-size:.9rem;box-shadow:var(--shadow-xs)}.event-time{font-size:var(--font-size-xs);color:var(--text-secondary);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-title{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-day-placeholder{height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);font-size:.9rem;border:2px dashed transparent;border-radius:var(--radius-sm);transition:border-color var(--transition-base)}.calendar-day-column.drag-over .empty-day-placeholder{border-color:var(--accent-color-transparent)}.calendar-error{padding:var(--spacing-sm) var(--spacing-md);background:var(--error-bg);color:var(--error-text);font-size:.9rem;text-align:center}.calendar-error.calendar-warning{background:var(--warning-bg);color:var(--warning-text)}.hours-view-container{display:flex;flex-direction:column;gap:1rem;padding:1rem;overflow-y:auto;flex:1}.calendar-selector{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-primary);border-bottom:1px solid var(--border-color)}.calendar-toggle{display:flex;align-items:center;gap:6px;padding:var(--spacing-xs) 10px;background:var(--bg-secondary);border-radius:var(--radius-2xl);cursor:pointer;font-size:var(--font-size-sm);transition:background var(--transition-fast)}.calendar-toggle:hover{background:var(--bg-hover)}.calendar-toggle input[type=checkbox]{width:14px;height:14px;cursor:pointer}.calendar-color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.calendar-name{color:var(--text-primary)}.calendar-toggle.dragging{box-shadow:var(--shadow-md);background:var(--bg-hover)}.time-range-selector{display:flex;align-items:center;gap:12px;margin-left:auto;padding-left:12px;border-left:1px solid var(--border-color)}.time-range-label{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--text-secondary)}.time-range-text{white-space:nowrap}.time-range-label select{padding:var(--input-padding-sm);border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-size:.8rem;cursor:pointer}.time-range-label select:hover{border-color:var(--accent-color)}.time-range-label select option:disabled{color:var(--text-muted)}.event-stream{flex:1;overflow-y:auto;padding:0 var(--spacing-md) var(--spacing-md)}.date-group{margin-bottom:var(--spacing-xs)}.date-separator{display:flex;align-items:center;gap:var(--spacing-sm);padding:12px 0 var(--spacing-sm);position:sticky;top:0;background:var(--bg-secondary);z-index:1;border-bottom:1px solid var(--border-color);margin-bottom:var(--spacing-sm)}.date-separator.today{border-bottom-color:var(--accent-color)}.date-separator-day{font-weight:600;font-size:.95rem;color:var(--text-primary)}.date-separator.today .date-separator-day{color:var(--accent-color)}.date-separator-date{font-size:var(--font-size-sm);color:var(--text-secondary)}.date-events{display:flex;flex-direction:column;gap:6px}.stream-event-card{display:flex;align-items:center;gap:12px;background:var(--bg-primary);border:1px solid var(--border-color);border-left:3px solid var(--accent-color);border-radius:var(--radius-md);padding:10px 12px;transition:background var(--transition-fast),box-shadow var(--transition-fast)}.stream-event-card:hover{background:var(--bg-hover);box-shadow:var(--shadow-xs)}.stream-event-card .event-time{font-size:.8rem;font-weight:500;color:var(--text-secondary);min-width:100px;margin-bottom:0}.stream-event-card .event-title{flex:1;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-date{padding:var(--spacing-sm) 0;color:var(--text-tertiary);font-size:var(--font-size-sm);font-style:italic}.calendar-timeline{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto}.timeline-body{display:flex;flex-direction:column}.timeline-date-section{border-bottom:2px solid var(--border-color)}.timeline-date-section.today{background:var(--bg-accent-subtle)}.timeline-date-header{display:flex;align-items:center;padding:var(--spacing-sm) 12px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.timeline-date-section.today .timeline-date-header{background:var(--bg-accent-subtle);border-left:3px solid var(--accent-color)}.timeline-date-label{font-size:var(--font-size-sm);font-weight:700;color:var(--text-primary)}.timeline-date-section.today .timeline-date-label{color:var(--accent-color)}.timeline-date-section.selected{outline:2px solid var(--accent-color);outline-offset:-2px}.timeline-date-section.selected .timeline-date-header{background:color-mix(in srgb,var(--accent-color) 12%,var(--bg-secondary));border-left:3px solid var(--accent-color)}.timeline-date-header.clickable{cursor:pointer;transition:background var(--transition-fast)}.timeline-date-header.clickable:hover{background:color-mix(in srgb,var(--accent-color) 8%,var(--bg-secondary))}.timeline-schedule-hint{margin-left:auto;font-size:var(--font-size-xs);font-weight:400;color:var(--text-muted);opacity:0;transition:opacity var(--transition-fast)}.timeline-date-header.clickable:hover .timeline-schedule-hint{opacity:1}.timeline-time-col{width:80px;min-width:80px;padding:6px var(--spacing-sm);display:flex;align-items:center;flex-shrink:0}.timeline-time-label{font-size:.7rem;font-weight:500;color:var(--text-secondary);white-space:nowrap}.timeline-allday-row{display:flex;min-height:36px;padding:var(--spacing-sm);gap:var(--spacing-sm)}.timeline-allday-row .timeline-time-label{font-style:italic;color:var(--text-tertiary)}.timeline-allday-grid{min-height:36px;padding:var(--spacing-sm);gap:var(--spacing-sm);align-items:start}.timeline-allday-grid .timeline-time-col{display:flex;align-items:center}.timeline-allday-grid .timeline-time-label{font-style:italic;color:var(--text-tertiary)}.timeline-allday-cell{display:flex;flex-direction:column;gap:var(--spacing-xs);padding-left:var(--spacing-sm);border-left:1px solid var(--border-color)}.timeline-allday-cell:first-of-type{border-left:none}.timeline-calendars-row{flex:1;display:flex;gap:var(--spacing-sm)}.timeline-cal-column{flex:1 1 150px;display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:120px;border-left:1px solid var(--border-color)}.timeline-cal-column:first-child{border-left:none}.timeline-cal-column.empty{justify-content:center;align-items:center}.no-events{color:var(--text-tertiary);font-size:.8rem}.timeline-empty-row{display:flex;min-height:36px;border-bottom:1px solid var(--border-color)}.timeline-event.allday{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.8rem;font-weight:500;background:var(--event-bg-color, var(--accent-color));color:var(--event-text-color, var(--text-inverse))}.timeline-event-title{font-weight:500;word-wrap:break-word;overflow-wrap:break-word}.timeline-unified-grid{padding:var(--spacing-sm);gap:0 var(--spacing-sm);align-items:stretch}.timeline-time-cell{display:flex;align-items:flex-start;padding-top:var(--spacing-xs);min-height:32px;padding-right:var(--spacing-sm)}.timeline-grid-bg{border-top:1px dashed var(--border-color);border-left:1px solid var(--border-color);min-height:32px}.timeline-grid-bg.first-calendar{border-left:none}.timeline-grid-bg.first-row{border-top:none}.timeline-grid-wrapper{display:flex;padding:var(--spacing-sm);gap:var(--spacing-sm)}.timeline-time-column{width:80px;min-width:80px;flex-shrink:0}.timeline-time-row{display:flex;align-items:flex-start;padding-top:var(--spacing-xs);min-height:32px}.timeline-calendars-flex{flex:1;display:flex;gap:var(--spacing-sm)}.timeline-cal-grid{flex:1 1 150px;min-width:120px;position:relative;border-left:1px solid var(--border-color)}.timeline-cal-grid:first-child{border-left:none}.timeline-event-span{position:relative;margin:2px;padding:6px 10px;border-radius:var(--radius-md);background:linear-gradient(135deg,color-mix(in srgb,var(--event-color, var(--accent-color)) 20%,var(--bg-primary)),color-mix(in srgb,var(--event-color, var(--accent-color)) 8%,var(--bg-primary)));border:1px solid color-mix(in srgb,var(--event-color, var(--accent-color)) 30%,var(--border-color));border-left:3px solid var(--event-color, var(--accent-color));display:flex;flex-direction:column;justify-content:center;min-width:0;box-sizing:border-box;z-index:1;overflow:hidden}.timeline-event-span:hover{background:linear-gradient(135deg,color-mix(in srgb,var(--event-color, var(--accent-color)) 30%,var(--bg-hover)),color-mix(in srgb,var(--event-color, var(--accent-color)) 15%,var(--bg-hover)));box-shadow:var(--shadow-sm)}.timeline-event-span.from-task{border-style:dashed;border-left-width:3px}.event-span-title{font-size:.8rem;font-weight:600;color:var(--text-primary);word-wrap:break-word;overflow-wrap:break-word}.event-span-time{font-size:.7rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-calendar{display:flex;align-items:center;justify-content:center;height:100%;min-height:100px;color:var(--text-tertiary);font-size:var(--font-size-sm);font-style:italic;padding:20px}.timeline-drop-zones-section{margin-top:12px;padding:12px;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.drop-zones-header{font-size:.8rem;font-weight:600;color:var(--text-secondary);margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:.5px}.drop-zones-header-clickable{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:6px}.drop-zones-header-clickable:hover{color:var(--text-primary)}.drop-zones-header-clickable:focus{outline:2px solid var(--accent-color);outline-offset:2px;border-radius:2px}.time-blocks-date-nav{margin-left:auto;display:flex;gap:2px}.time-blocks-nav-btn{background:none;border:1px solid var(--border-color);border-radius:var(--radius-sm, 4px);color:var(--text-primary);cursor:pointer;font-size:var(--font-size-sm);line-height:1;min-width:44px;min-height:44px;padding:8px 10px;display:inline-flex;align-items:center;justify-content:center;transition:all var(--transition-base)}.time-blocks-nav-btn:hover{background:var(--bg-hover, var(--bg-primary));border-color:var(--accent-color);color:var(--text-primary)}.time-blocks-today-btn{font-size:var(--font-size-xs);font-weight:500;padding:2px var(--spacing-sm);color:var(--accent-color);border-color:var(--accent-color)}.time-blocks-settings{display:flex;gap:12px;padding:var(--spacing-sm) 0 var(--spacing-xs);font-size:var(--font-size-xs)}.time-blocks-settings label{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--text-secondary)}.time-blocks-settings select{padding:2px var(--spacing-xs);border:1px solid var(--border-color);border-radius:var(--radius-sm, 4px);background:var(--bg-secondary);color:var(--text-primary);font-size:var(--font-size-xs)}.collapse-indicator{font-size:.7rem;transition:transform var(--transition-fast)}.timeline-drop-zones{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.timeline-drop-zones.timeline-no-slots{justify-content:center;padding:12px 0}.no-slots-message{color:var(--text-secondary);font-size:var(--font-size-sm);font-style:italic}.time-slot-drop-zone{flex:0 0 calc(25% - 3px);min-width:70px;padding:var(--spacing-sm) 10px;background:var(--bg-primary);border:2px dashed var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.time-slot-drop-zone:hover{border-color:var(--accent-color);background:var(--bg-hover)}.time-slot-drop-zone.drop-zone-over{border-color:var(--accent-color);background:var(--bg-accent-subtle);border-style:solid;box-shadow:0 0 0 3px var(--accent-color-transparent)}.time-slot-label{font-size:var(--font-size-xs);font-weight:500;color:var(--text-secondary)}.time-slot-drop-zone:hover .time-slot-label,.time-slot-drop-zone.drop-zone-over .time-slot-label{color:var(--accent-color)}.timeline-drop-zones-group{margin-bottom:12px}.timeline-drop-zones-group:last-child{margin-bottom:0}.drop-zones-subheader{font-size:.7rem;font-weight:600;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.3px;opacity:var(--opacity-hover)}.time-slot-drop-zone{flex-direction:column;gap:2px}.time-slot-duration{font-size:.75rem;color:var(--text-secondary);font-weight:400}.time-slot-drop-zone:hover .time-slot-duration,.time-slot-drop-zone.drop-zone-over .time-slot-duration{color:var(--accent-color);opacity:var(--opacity-hover)}.subheader-focus{color:var(--accent-color);opacity:1}.subheader-quick{color:var(--color-warning);opacity:1}.shallow-work-slot{background:var(--bg-secondary);border-style:dotted;border-color:var(--color-warning-muted, color-mix(in srgb, var(--color-warning) 40%, var(--border-color)))}.shallow-work-slot:hover{background:var(--bg-hover);border-color:var(--color-warning)}.task-item-wrapper{position:relative;margin-bottom:.15rem}.task-item{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:.625rem .875rem;cursor:grab;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast);position:relative}.task-drag-handle{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-muted);opacity:.4;transition:opacity var(--transition-fast);padding:.25rem 0}.task-item:hover .task-drag-handle{opacity:var(--opacity-muted)}.task-item-wrapper:last-child{margin-bottom:0}.task-item:hover{border-color:var(--border-color);background:var(--bg-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.task-item-selected{border-color:var(--accent-color);border-left:4px solid var(--accent-color);padding-left:calc(.75rem - 3px);box-shadow:0 0 0 2px var(--accent-color-transparent);background-color:var(--bg-selected)}.task-item:active{cursor:grabbing}.task-completing{animation:taskComplete .4s ease-out forwards;pointer-events:none}.task-completing .task-title{text-decoration:line-through;color:var(--text-muted);transition:color var(--transition-base),text-decoration var(--transition-base)}.task-completing .task-checkbox{accent-color:var(--success-color);animation:checkboxPop .3s ease-out}@keyframes taskComplete{0%{opacity:1;transform:scale(1) translate(0);background-color:var(--bg-card);border-color:var(--border-color)}20%{transform:scale(1.02) translate(0);background-color:var(--success-bg);border-color:var(--success-color)}to{opacity:0;transform:scale(.95) translate(20px);background-color:var(--success-bg);border-color:var(--success-color)}}@keyframes checkboxPop{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.task-content{display:flex;align-items:flex-start;gap:.5rem;width:100%;flex-wrap:wrap}.task-left{display:flex;align-items:center;gap:.125rem}.task-item-dragging{box-shadow:0 8px 24px var(--accent-color-transparent);border-color:var(--accent-color)}.task-checkbox-label{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:-.5rem;cursor:pointer;flex-shrink:0}.task-checkbox{width:18px;height:18px;cursor:pointer;flex-shrink:0}.task-details{flex:1 1 150px;min-width:120px;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.task-details:active{cursor:grabbing}.task-title{display:block;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:var(--line-height-snug);color:var(--text-primary);text-align:left;overflow-wrap:break-word;white-space:normal;letter-spacing:-.01em}.connection-badge{display:inline-flex;align-items:center;justify-content:center;font-size:.875rem;flex-shrink:0}.connection-name{color:var(--accent-color);font-weight:var(--font-weight-semibold)}.task-meta{display:flex;align-items:center;gap:.375rem;flex-wrap:wrap;flex:0 0 auto;margin-left:auto}.task-meta:empty{display:none}.task-edit-button{background:transparent;border:none;cursor:pointer;min-width:44px;min-height:44px;padding:.75rem;margin:-.5rem;opacity:var(--opacity-disabled);transition:opacity var(--transition-base),transform var(--transition-base);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0}.task-edit-button:hover{opacity:1;color:var(--text-primary)}.task-item-editing{background:var(--bg-accent-subtle);border-color:var(--accent-color)}.task-edit-popover{position:fixed;z-index:var(--z-modal);background:var(--bg-card);border:2px solid var(--accent-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:.75rem;animation:popoverFadeIn .15s ease-out;width:340px;max-width:calc(100vw - 2rem);box-sizing:border-box}@keyframes popoverFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.task-edit-form{display:flex;flex-direction:column;gap:.5rem;width:100%;box-sizing:border-box}.task-edit-form *{box-sizing:border-box}.task-edit-title,.task-edit-notes,.task-edit-date,.task-edit-duration,.task-edit-time{padding:.5rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.9rem;font-family:inherit;background:var(--bg-primary);color:var(--text-primary);transition:border-color var(--transition-base)}.task-edit-title:focus,.task-edit-notes:focus,.task-edit-date:focus,.task-edit-duration:focus,.task-edit-time:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-color-transparent)}.task-edit-row{display:flex;gap:.5rem;align-items:center;width:100%}.task-edit-date{flex:1;min-width:0}.task-edit-duration{width:70px;flex-shrink:0}.task-edit-label{display:flex;align-items:center;gap:.3rem;font-size:var(--font-size-xs);color:var(--info-text);font-weight:var(--font-weight-medium);white-space:nowrap}.task-edit-time{flex:1}.task-edit-notes{resize:vertical;min-height:3rem}.task-edit-actions{display:flex;gap:.5rem}.task-edit-save,.task-edit-cancel{padding:.4rem .8rem;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base);font-weight:var(--font-weight-medium)}.task-edit-save{background:var(--success-color);color:var(--text-inverse);flex:1}.task-edit-save:hover{filter:brightness(.9)}.task-edit-cancel{background:var(--text-muted);color:var(--text-inverse)}.task-edit-cancel:hover{filter:brightness(.85)}.task-edit-clear-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;flex-shrink:0;transition:all var(--transition-fast)}.task-edit-clear-btn:hover{background:var(--error-bg);color:var(--error-text);border-color:var(--error-text)}.task-scheduled-time{display:inline-flex;align-items:center;gap:.2rem;font-size:var(--font-size-xs);padding:.1rem .4rem;border-radius:var(--radius-lg);font-weight:var(--font-weight-medium);white-space:nowrap;background:var(--info-bg);color:var(--info-text);border:1px solid var(--info-color)}.task-scheduled-time svg{flex-shrink:0}.task-unschedule-button{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;min-width:28px;min-height:28px;padding:.35rem;margin-left:.1rem;opacity:var(--opacity-hover);transition:opacity var(--transition-base),background-color var(--transition-base);border-radius:var(--radius-full);color:var(--info-text)}.task-unschedule-button:hover{opacity:1;background-color:var(--accent-color-transparent)}.task-calendar-select{font-size:var(--font-size-xs);padding:.1rem 1.2rem .1rem .3rem;border-radius:var(--radius-lg);border:1px solid var(--border-color);background-color:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .3rem center;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:border-color var(--transition-fast),background-color var(--transition-fast)}@media(prefers-color-scheme:dark){.task-calendar-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")}}[data-theme=dark] .task-calendar-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")}.task-calendar-select:hover{border-color:var(--accent-color);background-color:var(--bg-secondary)}.task-calendar-select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-color-transparent)}.task-due-date{display:inline-flex;align-items:center;gap:.2rem;font-size:var(--font-size-xs);padding:.1rem .4rem;border-radius:var(--radius-lg);font-weight:var(--font-weight-medium);white-space:nowrap}.task-due-date svg{flex-shrink:0}.task-clear-due-button{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;min-width:28px;min-height:28px;padding:.35rem;margin-left:.1rem;opacity:var(--opacity-hover);transition:opacity var(--transition-base),background-color var(--transition-base);border-radius:var(--radius-full);color:inherit}.task-clear-due-button:hover{opacity:1;background-color:var(--bg-hover)}.task-due-date.due-today{background:var(--warning-bg);color:var(--warning-text)}.task-due-date.due-soon{background:var(--info-bg);color:var(--info-text)}.task-due-date.due-overdue{background:var(--error-bg);color:var(--error-text)}.task-due-date.due-later{background:var(--bg-tertiary);color:var(--text-secondary)}.task-duration{display:inline-flex;align-items:center;gap:.2rem;font-size:var(--font-size-xs);color:var(--text-secondary);background:var(--bg-tertiary);padding:.1rem .4rem;border-radius:var(--radius-lg)}.task-clear-duration-button{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;min-width:28px;min-height:28px;padding:.35rem;margin-left:.1rem;opacity:var(--opacity-hover);transition:opacity var(--transition-base),background-color var(--transition-base);border-radius:var(--radius-full);color:var(--text-secondary)}.task-clear-duration-button:hover{opacity:1;background-color:var(--bg-hover)}.task-dep-blocked{display:inline-flex;align-items:center;font-size:var(--font-size-xs);padding:.1rem .4rem;border-radius:var(--radius-lg);font-weight:var(--font-weight-medium);background:color-mix(in srgb,var(--color-warning) 12%,transparent);color:var(--color-warning)}.task-dep-unblocks{display:inline-flex;align-items:center;font-size:var(--font-size-xs);padding:.1rem .4rem;border-radius:var(--radius-lg);font-weight:var(--font-weight-medium);background:color-mix(in srgb,var(--color-success) 12%,transparent);color:var(--color-success)}.task-notes{margin-top:.5rem;font-size:var(--font-size-sm);color:var(--text-secondary);padding-top:.5rem;border-top:1px solid var(--border-light);line-height:1.4}.drag-overlay-item{box-shadow:var(--shadow-lg);cursor:grabbing;max-width:300px;transform:rotate(1.5deg) scale(1.01);border-color:var(--accent-color);background:var(--bg-card);opacity:.95}.task-select-checkbox{display:flex;align-items:center;justify-content:center;cursor:pointer;min-width:44px;min-height:44px;margin:-.5rem;margin-right:0}.task-select-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent-color)}@media(max-width:768px){.task-item-wrapper{margin-bottom:2px}.task-item{padding:.375rem .5rem}.task-content{gap:.25rem}.task-drag-handle{opacity:var(--opacity-muted)}.task-meta{flex-basis:100%;order:10;margin-left:0}.task-actions{opacity:1}.task-left{gap:0}.task-checkbox-label{min-width:40px;min-height:40px;margin:-.375rem}.task-checkbox{width:16px;height:16px}.task-edit-button{min-width:40px;min-height:40px;padding:.625rem;margin:-.375rem}.task-title{font-size:.8125rem;line-height:1.3}.task-meta{margin-top:.1rem;gap:.2rem}.task-due-date,.task-scheduled-time,.task-duration{font-size:.625rem;padding:.05rem .25rem}.task-clear-due-button,.task-unschedule-button,.task-clear-duration-button{min-width:20px;min-height:20px;padding:.2rem}.task-select-checkbox{min-width:32px;min-height:32px;margin:-.25rem;margin-right:0}.task-select-checkbox input[type=checkbox]{width:14px;height:14px}}@media(max-width:480px){.task-item{padding:.3rem .4rem}.task-edit-button{min-width:32px;min-height:32px;padding:.4rem;margin:-.25rem}.task-title{font-size:var(--font-size-xs)}.task-due-date,.task-scheduled-time,.task-duration{font-size:.6rem}}.task-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0;opacity:0;transition:opacity var(--transition-fast)}.task-item:hover .task-actions,.task-item:focus-within .task-actions,.task-item-selected .task-actions{opacity:1}@media(hover:none){.task-actions{opacity:1}.task-edit-button{opacity:.7}.task-drag-handle{opacity:var(--opacity-muted)}}.task-action-btn{padding:.25rem .625rem;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.task-action-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--text-secondary)}.task-action-btn.action-today{background:var(--button-bg-primary);color:var(--text-on-accent);border-color:var(--button-bg-primary)}.task-action-btn.action-today:hover{background:var(--button-bg-primary-hover)}.task-action-btn.action-week{background:var(--info-bg);color:var(--info-text);border-color:var(--info-color)}.task-action-btn.action-week:hover{filter:brightness(.95)}.task-more-menu-wrapper{position:relative}.task-more-menu-dropdown{position:absolute;top:100%;right:0;z-index:var(--z-dropdown);min-width:140px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:.25rem 0;margin-top:.25rem;animation:dropdownFadeIn .15s ease-out}.task-more-menu-item{display:block;width:100%;padding:.5rem .75rem;font-size:var(--font-size-sm);text-align:left;background:transparent;border:none;color:var(--text-primary);cursor:pointer;transition:background-color var(--transition-fast)}.task-more-menu-item:hover{background:var(--bg-hover)}.task-more-menu-item-danger{color:var(--error-text)}.task-more-menu-item-danger:hover{background:var(--error-bg)}.task-more-menu-divider{height:1px;background:var(--border-color);margin:.25rem 0}@media(max-width:768px){.task-actions{gap:.2rem}.task-action-btn{padding:.2rem .4rem;font-size:.6rem}}@media(max-width:480px){.task-action-btn{padding:.15rem .4rem;font-size:.6rem}}.quick-add-button{width:100%;padding:12px;background:none;border:1px dashed var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);text-align:left}.quick-add-button:hover{background:var(--bg-hover);border-color:var(--primary-color);color:var(--primary-color)}.quick-add-form{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;flex-direction:column;gap:12px}.quick-add-input-wrapper{display:flex;gap:var(--spacing-sm);align-items:center;position:relative}.quick-add-title{flex:1;padding:var(--input-padding-md);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text-primary);font-size:var(--font-size-base)}.quick-add-form .btn-icon{font-size:1.2rem;padding:.2rem}.project-select-dropdown{position:absolute;top:100%;right:0;width:200px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:var(--z-dropdown);max-height:200px;overflow-y:auto}.project-select-item{padding:var(--spacing-sm);cursor:pointer;font-size:var(--font-size-sm)}.project-select-item:hover{background:var(--bg-hover)}.project-select-item.disabled{color:var(--text-secondary);cursor:default}.quick-add-notes{padding:var(--input-padding-md);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text-primary);resize:vertical;font-family:inherit}.quick-add-row{display:flex;gap:12px}.quick-add-field{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1}.quick-add-label{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:var(--font-weight-medium)}.quick-add-date,.quick-add-duration{padding:var(--input-padding-md);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text-primary);width:100%}.quick-add-duration{-moz-appearance:textfield}.quick-add-duration::-webkit-outer-spin-button,.quick-add-duration::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.quick-add-more-options{display:flex;flex-direction:column;gap:12px;padding:12px;background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-color)}.quick-add-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.contact-picker{position:relative;width:100%}.contact-picker-input{width:100%;padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-base);background:var(--bg-primary);color:var(--text-primary)}.contact-picker-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--focus-ring-color, rgba(59, 130, 246, .1))}.contact-picker-input::placeholder{color:var(--text-muted)}.contact-picker-selected{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary)}.contact-picker-selected-name{font-size:var(--text-base);color:var(--text-primary)}.contact-picker-clear{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:var(--radius-full);background:var(--text-tertiary);color:var(--text-on-accent);cursor:pointer;font-size:14px;line-height:1}.contact-picker-clear:hover{background:var(--text-secondary)}.contact-picker-clear:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.contact-picker-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:250px;overflow-y:auto;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown)}.contact-picker-no-results{padding:var(--spacing-md);text-align:center;color:var(--text-muted);font-size:var(--text-sm)}.contact-picker-group{border-bottom:1px solid var(--border-light)}.contact-picker-group:last-child{border-bottom:none}.contact-picker-group-header{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);color:var(--text-secondary);background:var(--bg-tertiary);text-transform:uppercase;letter-spacing:.05em}.contact-picker-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm);min-height:40px;cursor:pointer;transition:background-color var(--transition-fast)}.contact-picker-item:hover,.contact-picker-item.selected{background:var(--bg-hover)}.contact-picker-item-name{font-size:var(--text-sm);color:var(--text-primary)}.contact-picker-item-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;border-radius:var(--radius-full);font-size:10px;font-weight:var(--font-weight-bold)}.contact-picker-item-badge.overdue{background:var(--color-error, #ef4444);color:var(--text-on-accent)}.timeblocking-view{display:flex;flex-direction:column;gap:0;padding:var(--spacing-md, 16px)}.timeblocking-loading{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl, 32px);color:var(--text-secondary)}.timeblocking-lists-grid{display:flex;gap:var(--spacing-md, 16px);align-items:flex-start}.timeblocking-column{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--spacing-md, 16px)}.timeblocking-lists-grid.mobile{flex-direction:column}.timeblocking-lists-grid.mobile .timeblocking-column{width:100%;max-width:100%}@media(max-width:640px){.timeblocking-lists-grid.mobile{gap:var(--spacing-sm, 8px)}}.timeblocking-section{background:var(--bg-card, var(--surface-card));border-radius:var(--radius-lg);border-left:3px solid var(--list-accent-color, var(--accent-color));padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);box-shadow:var(--shadow-sm);min-height:44px;display:flex;flex-direction:column;max-height:600px;overflow:hidden}.timeblocking-section .list-content{scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.timeblocking-section .list-content::-webkit-scrollbar{width:6px}.timeblocking-section .list-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}.timeblocking-section .list-content::-webkit-scrollbar-track{background:transparent}.timeblocking-section:has(.section-header.collapsed){padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);background:transparent;box-shadow:none;border-bottom:1px solid var(--border-default);border-radius:0}.timeblocking-section:has(.section-header.collapsed):last-child{border-bottom:none}.timeblocking-section.collapsed{min-height:auto;max-height:none}.timeblocking-section.expanded{max-height:600px}.timeblocking-section .section-header.collapsible{display:flex;align-items:center;gap:var(--spacing-sm, 8px);margin-bottom:0;width:100%;padding:10px 12px;background:linear-gradient(90deg,color-mix(in srgb,var(--list-accent-color, var(--accent-color)) 12%,transparent) 0%,transparent 100%);border:none;border-radius:var(--radius-md) var(--radius-md) 0 0;cursor:pointer;text-align:left;font:inherit;color:inherit;box-shadow:none;transform:none;transition:background var(--transition-fast)}.timeblocking-section .section-header.collapsible:hover{background:linear-gradient(90deg,color-mix(in srgb,var(--list-accent-color, var(--accent-color)) 18%,transparent) 0%,transparent 100%)}.timeblocking-section .section-header.collapsed .collapse-indicator{transform:rotate(-90deg)}.timeblocking-section .section-header.collapsible.expanded{margin-bottom:var(--spacing-xs, 4px)}.collapse-indicator{font-size:var(--font-size-base);color:var(--text-secondary);width:1.25rem;flex-shrink:0;transition:transform var(--transition-base)}.timeblocking-section .section-header h3{margin:0;font-size:var(--font-size-base, 1rem);font-weight:600;color:var(--text-primary);flex:1}.section-header-row{display:flex;align-items:center;gap:var(--spacing-xs, 4px)}.section-header-row .section-header{flex:1}.list-action-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border-color);border-radius:var(--radius-md, 6px);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-xs);flex-shrink:0}.list-action-btn svg,.list-delete-btn svg{flex-shrink:0;width:20px;height:20px}.list-action-btn:hover{background:color-mix(in srgb,var(--accent-color) 15%,transparent);color:var(--accent-color);border-color:var(--accent-color)}.list-delete-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border-color);border-radius:var(--radius-md, 6px);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-xs);flex-shrink:0}.list-delete-btn:hover{background:color-mix(in srgb,var(--color-error) 15%,transparent);color:var(--color-error);border-color:var(--color-error)}.delete-confirm-content{display:flex;flex-direction:column;gap:var(--spacing-md, 16px)}.delete-confirm-content p{margin:0;color:var(--text-secondary)}.delete-warning{color:var(--color-error);font-weight:500}.delete-confirm-actions{display:flex;gap:var(--spacing-sm, 8px);justify-content:flex-end}.timeblocking-section.primary-list{border:1px solid var(--border-focus)}.timeblocking-section.primary-list:has(.section-header.collapsed){background:var(--surface-card);box-shadow:var(--shadow-sm);border-radius:var(--radius-lg);border-bottom:none}.timeblocking-section.drag-over{background:var(--color-primary-light, rgba(79, 70, 229, .1));border:2px dashed var(--color-primary);border-radius:var(--radius-lg)}.task-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 var(--spacing-sm, 8px);font-size:var(--font-size-sm, .875rem);font-weight:500;background:var(--bg-secondary);color:var(--text-secondary);border-radius:var(--radius-full)}.list-content{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px);overflow-y:auto;flex:1}.timeblocking-tasks{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px);list-style:none;padding:0;margin:0}.list-content .quick-add-button{margin-top:var(--spacing-xs, 4px);padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);font-size:var(--font-size-sm, .875rem)}.list-content .quick-add-form{margin-top:var(--spacing-xs, 4px);padding:var(--spacing-sm, 8px);background:var(--bg-secondary);border-radius:var(--radius-md)}.column-group-wrapper{display:flex;flex-direction:column;gap:var(--spacing-md, 16px);background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:0 var(--spacing-sm) var(--spacing-sm);overflow:hidden}.column-group-wrapper.collapsed{padding-bottom:0;gap:0}.column-group-label{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold, 600);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;padding:var(--spacing-sm) var(--spacing-xs) var(--spacing-xs);background:none;border:none;width:100%;text-align:left}.column-group-label.clickable{cursor:pointer;border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-xs);transition:background var(--transition-fast)}.column-group-label.clickable:hover{background:var(--bg-hover)}.group-collapse-arrow{font-size:.5rem;width:.75rem;text-align:center;flex-shrink:0}.column-group-label:first-child{margin-top:0}.group-collapse-summary{font-size:var(--font-size-xs);font-weight:var(--font-weight-normal, 400);color:var(--text-muted);margin-left:auto;text-transform:none;letter-spacing:normal}.empty-section{padding:var(--spacing-md, 16px);text-align:center;color:var(--text-muted);font-size:var(--font-size-sm, .875rem);background:var(--bg-secondary);border-radius:var(--radius-md)}.end-of-list-drop-zone{min-height:16px;margin-top:var(--spacing-xs);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.end-of-list-drop-zone.drop-over{min-height:48px;background:color-mix(in srgb,var(--accent-color) 15%,transparent);border:2px dashed var(--accent-color)}.create-list-inline{display:flex;align-items:center;gap:var(--spacing-sm, 8px)}.create-list-inline input{padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);font-size:var(--font-size-sm, .875rem);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);min-width:150px}.create-list-inline input:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.create-list-inline .btn-primary{background:var(--button-bg-primary);color:var(--text-on-accent)}@media(max-width:640px){.timeblocking-view,.timeblocking-section{padding:var(--spacing-sm, 8px)}.create-list-inline{flex-wrap:wrap}.create-list-inline input{flex:1;min-width:120px}}.schedule-conflicts-banner{background:color-mix(in srgb,var(--color-warning) 10%,var(--bg-card));border:1px solid color-mix(in srgb,var(--color-warning) 30%,var(--border-color));border-radius:var(--radius-md);overflow:hidden}.conflicts-header{display:flex;align-items:center;gap:var(--spacing-xs)}.conflicts-toggle{display:flex;align-items:center;gap:var(--spacing-sm);flex:1;min-width:0;padding:var(--spacing-sm) var(--spacing-md);background:none;border:none;cursor:pointer;text-align:left;transition:background var(--transition-fast)}.conflicts-toggle:hover{background:color-mix(in srgb,var(--color-warning) 5%,transparent)}.conflicts-icon{font-size:var(--font-size-base);flex-shrink:0}.conflicts-summary{flex:1;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.conflicts-expand-btn{color:var(--text-secondary);padding:2px var(--spacing-xs);font-size:var(--font-size-xs);line-height:1;flex-shrink:0}.conflicts-dismiss-all-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:2px 6px;font-size:var(--font-size-sm);line-height:1;transition:color var(--transition-fast)}.conflicts-dismiss-all-btn:hover{color:var(--text-primary)}.conflicts-list{list-style:none;margin:0;padding:0;border-top:1px solid color-mix(in srgb,var(--color-warning) 20%,var(--border-color))}.conflict-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-light)}.conflict-item:last-child{border-bottom:none}.conflict-task-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.conflict-task-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conflict-time-info{font-size:var(--font-size-xs);color:var(--text-secondary)}.conflict-actions{display:flex;gap:var(--spacing-xs);flex-shrink:0}.conflict-reschedule-btn{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-on-accent);background:var(--button-bg-primary);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast)}.conflict-reschedule-btn:hover{background:var(--button-bg-primary-hover)}.conflict-dismiss-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:2px 6px;font-size:var(--font-size-sm);transition:color var(--transition-fast)}.conflict-dismiss-btn:hover{color:var(--text-primary)}@media(max-width:480px){.conflict-item{flex-direction:column;align-items:flex-start}.conflict-actions{align-self:flex-end}}.weekly-focus-banner{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md);min-height:36px;overflow-x:auto}.focus-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-tertiary);white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}.focus-chips{display:flex;gap:var(--spacing-xs);flex:1;overflow-x:auto}.focus-chip{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:2px var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border-light);white-space:nowrap;border-left:3px solid var(--chip-color, var(--accent-color))}.focus-chip.completed{color:var(--text-secondary);text-decoration:line-through}.chip-check{color:var(--color-success);font-size:var(--font-size-xs)}.focus-link{font-size:var(--font-size-xs);color:var(--accent-color);background:none;border:none;cursor:pointer;white-space:nowrap;padding:2px var(--spacing-xs);border-radius:var(--radius-sm);transition:background var(--transition-fast)}.focus-link:hover{background:var(--bg-tertiary)}.progress-bar{flex:1;height:8px;background:var(--bg-secondary, #e5e5e5);border-radius:var(--radius-sm);overflow:hidden}.progress-fill{height:100%;background:var(--accent-color, #3b82f6);border-radius:var(--radius-sm);transition:width var(--transition-base)}.smart-list-setup-modal .modal-content{max-width:560px}.smart-list-setup{display:flex;flex-direction:column;gap:var(--spacing-md)}.setup-description{color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.5;margin:0}.setup-progress{display:flex;align-items:center;gap:var(--spacing-sm)}.progress-bar{flex:1;height:8px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;background:var(--color-accent);border-radius:var(--radius-full);transition:width var(--transition-normal)}.progress-text{font-size:var(--font-size-xs);color:var(--text-secondary);white-space:nowrap}.smart-list-items{display:flex;flex-direction:column;gap:var(--spacing-sm)}.smart-list-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color);transition:border-color var(--transition-fast)}.smart-list-item.configured{border-color:var(--color-success);background:color-mix(in srgb,var(--color-success) 5%,var(--bg-secondary))}.list-info{flex:1;min-width:0}.list-name{font-weight:var(--font-weight-medium);color:var(--text-primary);display:flex;align-items:center;gap:var(--spacing-xs)}.check-mark{color:var(--color-success);font-weight:var(--font-weight-bold)}.list-description{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-top:2px}.list-action{flex-shrink:0;margin-left:var(--spacing-sm)}.list-action select{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;min-width:140px}.list-action select:hover{border-color:var(--color-accent)}.list-action select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 20%,transparent)}.setup-error{padding:var(--spacing-sm) var(--spacing-md);background:color-mix(in srgb,var(--color-error) 10%,var(--bg-secondary));border:1px solid var(--color-error);border-radius:var(--radius-sm);color:var(--color-error);font-size:var(--font-size-sm)}[data-theme=dark] .smart-list-item.configured{background:color-mix(in srgb,var(--color-success) 8%,var(--bg-secondary))}.search-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--backdrop-color);display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;z-index:var(--z-modal);animation:fadeIn var(--transition-fast);-webkit-backdrop-filter:var(--backdrop-blur-sm);backdrop-filter:var(--backdrop-blur-sm)}.search-modal{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:600px;max-height:70vh;display:flex;flex-direction:column;overflow:hidden;animation:slideDown var(--transition-fast)}.search-input-wrapper{display:flex;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color);gap:var(--spacing-sm)}.search-icon{font-size:var(--font-size-lg);opacity:var(--opacity-hover)}.search-input{flex:1;border:none;background:transparent;font-size:var(--font-size-lg);color:var(--text-primary);outline:none}.search-input::placeholder{color:var(--text-tertiary)}.search-results{flex:1;overflow-y:auto;padding:var(--spacing-sm) 0}.search-no-results{padding:var(--spacing-xl) var(--spacing-lg);text-align:center;color:var(--text-secondary)}.search-result-group{margin-bottom:var(--spacing-sm)}.search-result-group-header{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.search-result-item{display:flex;align-items:center;padding:var(--spacing-sm) var(--spacing-lg);gap:var(--spacing-sm);cursor:pointer;transition:background-color var(--transition-fast)}.search-result-item:hover,.search-result-item.selected{background-color:var(--bg-hover)}.search-result-item.selected{background-color:var(--button-bg-primary);color:var(--text-on-accent)}.search-result-item.selected .task-status-icon{opacity:1}.task-status-icon{font-size:var(--font-size-sm);opacity:var(--opacity-hover);width:1rem;text-align:center}.search-modal .task-title{flex:1;font-size:var(--font-size-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-footer{padding:var(--spacing-sm) var(--spacing-lg);border-top:1px solid var(--border-color);background:var(--bg-secondary)}.search-hint{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--text-tertiary)}.search-hint kbd{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;padding:2px var(--spacing-xs);font-size:var(--font-size-xs);font-family:var(--font-mono);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);margin-right:var(--spacing-xs)}@media(max-width:640px){.search-modal-overlay{padding:0;align-items:stretch;background:#000000d9;-webkit-backdrop-filter:var(--backdrop-blur-md);backdrop-filter:var(--backdrop-blur-md)}.search-modal{max-width:100%;max-height:100vh;border-radius:0}}.workflow-layout{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);position:relative}.header-left{display:flex;align-items:center;gap:2rem}.app-header h1{margin:0;font-size:1.5rem;color:var(--text-primary)}.header-right{display:flex;align-items:center;gap:1rem}.btn-signout{padding:.5rem 1rem;background-color:transparent;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base)}.btn-signout:hover{background-color:var(--bg-hover);color:var(--text-primary);border-color:var(--text-secondary)}.btn-setup-lists{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--button-bg-primary);border:none;border-radius:var(--radius-md);color:var(--text-on-accent);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.btn-setup-lists:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-setup-lists svg{flex-shrink:0}.workflow-content,.main-content-toggle{flex:1;display:flex;flex-direction:column}.view-toggle{display:flex;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:2px;margin-left:2rem}.toggle-btn{padding:.4rem 1rem;border:none;background:none;color:var(--text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-base);display:flex;align-items:center;gap:.5rem}.toggle-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.toggle-btn.active{background:var(--button-bg-primary);color:var(--text-on-accent);box-shadow:var(--shadow-xs)}.dashboard-container{display:flex;flex-direction:column;height:100%}.dashboard-sub-toggle{display:flex;gap:.5rem;padding:.75rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.sub-toggle-btn{padding:.5rem 1rem;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-base)}.sub-toggle-btn:hover{color:var(--text-primary);background:var(--bg-hover);border-color:var(--text-secondary)}.sub-toggle-btn.active{background:var(--button-bg-primary);color:var(--text-on-accent);border-color:var(--button-bg-primary)}.sub-toggle-btn.back-btn{padding:.5rem .75rem;font-size:var(--font-size-base)}.tasks-section{flex:1;display:flex;flex-direction:column}.habits-section,.meals-section{flex:1;display:flex;flex-direction:column;width:100%}.inbox-section{flex:1;overflow:hidden;display:flex;flex-direction:column;background:var(--bg-card)}.task-inbox-triage{padding:1rem;background:var(--bg-card);border-bottom:1px solid var(--border-color)}.triage-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.triage-header h3{margin:0;font-size:var(--font-size-base);color:var(--text-primary)}.quick-capture-inline{max-width:100%}.review-actions{display:flex;gap:1rem;align-items:center;padding:.75rem 1rem;background:var(--bg-secondary);border-radius:var(--radius-lg);margin-bottom:1rem}.review-quick-capture{flex:1}.triage-inbox-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--button-bg-primary);color:var(--text-on-accent);border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.triage-inbox-btn:hover{background:var(--button-bg-primary-hover)}.inbox-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:#ffffff4d;border-radius:10px;font-size:var(--font-size-xs);font-weight:600}.inbox-count-badge-inline{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--button-bg-primary);color:var(--text-on-accent);border-radius:10px;font-size:var(--font-size-xs);font-weight:600;margin-left:.5rem}.inbox-shortcuts-legend{display:flex;flex-wrap:wrap;gap:.75rem;padding:.5rem 0;font-size:var(--font-size-xs);color:var(--text-secondary)}.inbox-shortcuts-legend kbd{display:inline-block;padding:1px 5px;font-family:monospace;font-size:.7rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:3px;margin-right:2px}@media(max-width:768px){.inbox-shortcuts-legend{display:none}}@media(max-width:768px){.workflow-layout{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}.workflow-content,.main-content-toggle,.tasks-section,.inbox-section{padding-bottom:var(--spacing-lg)}.dashboard-sub-toggle{flex-wrap:wrap;padding:.5rem;gap:.35rem}.sub-toggle-btn{min-height:44px;padding:.5rem .75rem;font-size:var(--font-size-sm)}.tasks-section,.inbox-section{padding:.5rem;padding-bottom:var(--spacing-xl)}}@media(max-width:480px){.sub-toggle-btn{padding:.5rem .6rem;font-size:.8rem}}.update-banner{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:var(--bg-card);border:1px solid var(--accent-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:var(--z-toast);animation:toastSlideUp .3s ease-out}.update-banner-content{display:flex;align-items:center;gap:.5rem}.update-banner-icon{display:flex;align-items:center;justify-content:center;color:var(--accent-color)}.update-banner-message{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);white-space:nowrap}.update-banner-actions{display:flex;align-items:center;gap:.5rem}.update-banner-refresh{padding:.35rem .75rem;background:var(--button-bg-primary);color:var(--text-on-accent);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-fast)}.update-banner-refresh:hover{background:var(--button-bg-primary-hover)}.update-banner-dismiss{display:flex;align-items:center;justify-content:center;padding:.35rem;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast)}.update-banner-dismiss:hover{color:var(--text-primary);background:var(--bg-hover)}@media(max-width:480px){.update-banner{left:.5rem;right:.5rem;bottom:.5rem;transform:none}@keyframes toastSlideUp{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--font-size-xs: .75rem;--font-size-sm: .85rem;--font-size-base: 1rem;--font-size-md: 1.1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-size-3xl: 2.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.1;--line-height-snug: 1.3;--line-height-normal: 1.5;--line-height-relaxed: 1.6;--btn-padding-xs: 2px 6px;--btn-padding-sm: 6px 10px;--btn-padding-md: 8px 16px;--btn-padding-lg: 10px 20px;--btn-icon-sm: 28px;--btn-icon-md: 36px;--btn-icon-lg: 44px;--input-padding-sm: 4px 8px;--input-padding-md: 8px 12px;--input-padding-lg: 10px 16px;--btn-font-xs: .625rem;--btn-font-sm: .75rem;--btn-font-md: .875rem;--btn-font-lg: 1rem;--heading-page: 2.5rem;--heading-view: 1.5rem;--heading-section: 1.125rem;--heading-card: 1rem;--heading-compact: 1.25rem;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .1);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--z-dropdown: 100;--z-sticky: 200;--z-modal-backdrop: 300;--z-modal: 400;--z-tooltip: 500;--z-toast: 600;--backdrop-blur-sm: blur(2px);--backdrop-blur-md: blur(4px);--backdrop-blur-lg: blur(8px);--backdrop-blur-xl: blur(12px);--opacity-disabled: .5;--opacity-muted: .6;--opacity-secondary: .7;--opacity-hover: .8;--breakpoint-xs: 0px;--breakpoint-sm: 480px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--bg-primary: #1e1e1e;--bg-secondary: #2d2d2d;--bg-tertiary: #3d3d3d;--bg-hover: #3a3a3a;--bg-selected: rgba(123, 167, 209, .15);--bg-accent-subtle: #1a2937;--bg-card: #252525;--bg-input: #2a2a2a;--backdrop-color: rgba(0, 0, 0, .75);--text-primary: #f0f0f0;--text-secondary: #b0b0b0;--text-tertiary: #888888;--text-muted: #888888;--text-inverse: #1e1e1e;--border-color: #444444;--border-light: #333333;--border-dark: #555555;--accent-color: #4da6ff;--accent-hover: #3d96ef;--accent-color-transparent: rgba(77, 166, 255, .2);--primary-color: #4da6ff;--primary-hover: #3d96ef;--color-accent: var(--accent-color);--color-accent-hover: var(--accent-hover);--text-link: #5ab0ff;--text-link-hover: #7cc4ff;--success-color: #4caf50;--success-bg: #1b3d1b;--success-text: #81c784;--color-success: var(--success-color);--error-color: #f44336;--error-bg: #3d1b1b;--error-text: #e57373;--color-error: var(--error-color);--warning-color: #ff9800;--warning-bg: #3d2e1b;--warning-text: #ffb74d;--info-color: #2196f3;--info-bg: #1b2d3d;--info-text: #64b5f6;--priority-p0: #f87171;--priority-p0-bg: rgba(248, 113, 113, .2);--priority-p1: #fb923c;--priority-p1-bg: rgba(251, 146, 60, .2);--priority-p2: #facc15;--priority-p2-bg: rgba(250, 204, 21, .2);--priority-p3: #4ade80;--priority-p3-bg: rgba(74, 222, 128, .2);--priority-p4: #60a5fa;--priority-p4-bg: rgba(96, 165, 250, .2);--energy-high: #fb923c;--energy-high-bg: rgba(249, 115, 22, .15);--energy-low: #60a5fa;--energy-low-bg: rgba(59, 130, 246, .15);--energy-recovery: #a78bfa;--energy-recovery-bg: rgba(139, 92, 246, .15);--deep-work-bg: linear-gradient(135deg, #7c3aed 0%, #9333ea 100%);--deep-work-border: #6d28d9;--deep-work-shadow: rgba(124, 58, 237, .3);--deep-work-badge-bg: rgba(255, 255, 255, .25);--deep-work-text: #ffffff;--shallow-work-bg: linear-gradient(135deg, #d97706 0%, #f59e0b 100%);--shallow-work-border: #b45309;--shallow-work-shadow: rgba(217, 119, 6, .3);--shallow-work-badge-bg: rgba(255, 255, 255, .25);--shallow-work-text: #ffffff;--focus-deep-color: #a78bfa;--focus-deep-bg: rgba(139, 92, 246, .15);--focus-deep-selected-bg: rgba(139, 92, 246, .2);--focus-shallow-color: #fbbf24;--focus-shallow-bg: rgba(217, 119, 6, .15);--focus-shallow-selected-bg: rgba(217, 119, 6, .2);--status-planned-text: #3b82f6;--status-planned-bg: rgba(59, 130, 246, .15);--status-cooked-text: #d97706;--status-cooked-bg: rgba(245, 158, 11, .15);--status-cooked-border: rgba(245, 158, 11, .3);--status-cooked-bg-hover: rgba(245, 158, 11, .25);--status-cooked-border-hover: rgba(245, 158, 11, .5);--status-eaten-text: #16a34a;--status-eaten-bg: rgba(34, 197, 94, .15);--status-eaten-border: rgba(34, 197, 94, .3);--status-eaten-bg-hover: rgba(34, 197, 94, .25);--status-eaten-border-hover: rgba(34, 197, 94, .5);--status-cancelled-text: #6b7280;--status-cancelled-bg: rgba(107, 114, 128, .15);--status-cancelled-border: rgba(107, 114, 128, .3);--status-cancelled-bg-hover: rgba(107, 114, 128, .25);--status-cancelled-border-hover: rgba(107, 114, 128, .5);--status-danger-text: #ef4444;--status-danger-bg: rgba(239, 68, 68, .1);--status-danger-border: rgba(239, 68, 68, .2);--status-danger-bg-hover: rgba(239, 68, 68, .2);--status-danger-border-hover: rgba(239, 68, 68, .4);--button-bg-primary: #1a73e8;--button-bg-primary-hover: #1557b0;--color-bg: var(--bg-primary);--color-surface: var(--bg-secondary);--color-surface-raised: var(--bg-tertiary);--color-surface-hover: var(--bg-hover);--color-text: var(--text-primary);--color-text-primary: var(--text-primary);--color-text-secondary: var(--text-secondary);--color-text-muted: var(--text-muted);--color-border: var(--border-color);--color-primary: var(--primary-color);--color-primary-bg: var(--bg-accent-subtle);--color-shadow: rgba(0, 0, 0, .15);--color-danger: var(--error-color);--text-xs: var(--font-size-xs);--text-sm: var(--font-size-sm);--text-on-accent: #ffffff;--text-on-success: #ffffff;--text-on-error: #ffffff;--text-on-warning: #333333;--text-on-info: #ffffff;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}#root{max-width:100%;width:100%}button{border-radius:var(--radius-md);border:1px solid var(--border-color);padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;transition:border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}button:hover{border-color:var(--text-secondary)}button:active:not(:disabled){transform:scale(.98)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent-color, #1a73e8);outline-offset:2px}button:focus:not(:focus-visible),a:focus:not(:focus-visible),input:focus:not(:focus-visible),textarea:focus:not(:focus-visible),select:focus:not(:focus-visible){outline:none}:root.light{color:#213547;background-color:#fff;color-scheme:light;--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--bg-tertiary: #e8e8e8;--bg-hover: #f0f0f0;--bg-selected: rgba(26, 115, 232, .12);--bg-accent-subtle: #f0f7ff;--bg-card: #ffffff;--bg-input: #ffffff;--backdrop-color: rgba(0, 0, 0, .6);--text-primary: #333333;--text-secondary: #595959;--text-tertiary: #767676;--text-muted: #767676;--text-inverse: #ffffff;--border-color: #dddddd;--border-light: #eeeeee;--border-dark: #cccccc;--accent-color: hsl(217, 82%, 51%);--accent-hover: hsl(217, 79%, 51%);--accent-color-transparent: hsla(217, 82%, 51%, .2);--primary-color: hsl(217, 82%, 51%);--primary-hover: hsl(217, 79%, 51%);--color-accent: var(--accent-color);--color-accent-hover: var(--accent-hover);--text-link: hsl(217, 82%, 45%);--text-link-hover: hsl(217, 85%, 38%);--success-color: hsl(135, 52%, 43%);--success-bg: hsl(135, 41%, 93%);--success-text: hsl(135, 61%, 30%);--color-success: var(--success-color);--error-color: hsl(4, 81%, 56%);--error-bg: hsl(6, 79%, 95%);--error-text: hsl(1, 73%, 45%);--color-error: var(--error-color);--warning-color: hsl(44, 97%, 50%);--warning-bg: hsl(44, 93%, 94%);--warning-text: hsl(44, 91%, 27%);--info-color: hsl(217, 89%, 61%);--info-bg: hsl(217, 89%, 95%);--info-text: hsl(217, 78%, 46%);--status-planned-text: #2563eb;--status-cooked-text: #b45309;--status-eaten-text: #15803d;--status-cancelled-text: #6b7280;--status-danger-text: #dc2626;--priority-p0: #dc2626;--priority-p0-bg: rgba(220, 38, 38, .1);--priority-p1: #ea580c;--priority-p1-bg: rgba(234, 88, 12, .1);--priority-p2: #ca8a04;--priority-p2-bg: rgba(202, 138, 4, .1);--priority-p3: #16a34a;--priority-p3-bg: rgba(22, 163, 74, .1);--priority-p4: #2563eb;--priority-p4-bg: rgba(37, 99, 235, .1);--energy-high: #f97316;--energy-high-bg: rgba(249, 115, 22, .1);--energy-low: #3b82f6;--energy-low-bg: rgba(59, 130, 246, .1);--energy-recovery: #8b5cf6;--energy-recovery-bg: rgba(139, 92, 246, .1);--deep-work-bg: linear-gradient(135deg, #7c3aed 0%, #9333ea 100%);--deep-work-border: #6d28d9;--deep-work-shadow: rgba(124, 58, 237, .25);--deep-work-badge-bg: rgba(255, 255, 255, .25);--deep-work-text: #ffffff;--shallow-work-bg: linear-gradient(135deg, #d97706 0%, #f59e0b 100%);--shallow-work-border: #b45309;--shallow-work-shadow: rgba(217, 119, 6, .25);--shallow-work-badge-bg: rgba(255, 255, 255, .25);--shallow-work-text: #ffffff;--focus-deep-color: #7c3aed;--focus-deep-bg: rgba(139, 92, 246, .15);--focus-deep-selected-bg: rgba(139, 92, 246, .1);--focus-shallow-color: #b45309;--focus-shallow-bg: rgba(217, 119, 6, .15);--focus-shallow-selected-bg: rgba(217, 119, 6, .1);--color-bg: var(--bg-primary);--color-surface: var(--bg-secondary);--color-surface-raised: var(--bg-tertiary);--color-surface-hover: var(--bg-hover);--color-text: var(--text-primary);--color-text-primary: var(--text-primary);--color-text-secondary: var(--text-secondary);--color-text-muted: var(--text-muted);--color-border: var(--border-color);--color-primary: var(--primary-color);--color-primary-bg: var(--bg-accent-subtle);--color-shadow: rgba(0, 0, 0, .1);--color-danger: var(--error-color);--text-xs: var(--font-size-xs);--text-sm: var(--font-size-sm)}:root.light button:not([class]){background-color:#f9f9f9;border-color:#ccc}@media(prefers-color-scheme:light){:root:not(.dark):not(.light){color:#213547;background-color:#fff;--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--bg-tertiary: #e8e8e8;--bg-hover: #f0f0f0;--bg-selected: rgba(26, 115, 232, .12);--bg-accent-subtle: #f0f7ff;--bg-card: #ffffff;--bg-input: #ffffff;--backdrop-color: rgba(0, 0, 0, .6);--text-primary: #333333;--text-secondary: #595959;--text-tertiary: #767676;--text-muted: #767676;--text-inverse: #ffffff;--border-color: #dddddd;--border-light: #eeeeee;--border-dark: #cccccc;--accent-color: #1a73e8;--accent-hover: #1557b0;--accent-color-transparent: rgba(26, 115, 232, .2);--primary-color: #1a73e8;--primary-hover: #1557b0;--color-accent: var(--accent-color);--color-accent-hover: var(--accent-hover);--success-color: #34a853;--success-bg: #e6f4ea;--success-text: #1e7e34;--color-success: var(--success-color);--error-color: #ea4335;--error-bg: #fce8e6;--error-text: #c5221f;--color-error: var(--error-color);--warning-color: #fbbc04;--warning-bg: #fef7e0;--warning-text: #856404;--info-color: #4285f4;--info-bg: #e8f0fe;--info-text: #1967d2;--status-planned-text: #2563eb;--status-cooked-text: #b45309;--status-eaten-text: #15803d;--status-cancelled-text: #6b7280;--status-danger-text: #dc2626;--priority-p0: #dc2626;--priority-p0-bg: rgba(220, 38, 38, .1);--priority-p1: #ea580c;--priority-p1-bg: rgba(234, 88, 12, .1);--priority-p2: #ca8a04;--priority-p2-bg: rgba(202, 138, 4, .1);--priority-p3: #16a34a;--priority-p3-bg: rgba(22, 163, 74, .1);--priority-p4: #2563eb;--priority-p4-bg: rgba(37, 99, 235, .1);--energy-high: #f97316;--energy-high-bg: rgba(249, 115, 22, .1);--energy-low: #3b82f6;--energy-low-bg: rgba(59, 130, 246, .1);--energy-recovery: #8b5cf6;--energy-recovery-bg: rgba(139, 92, 246, .1);--color-bg: var(--bg-primary);--color-surface: var(--bg-secondary);--color-surface-raised: var(--bg-tertiary);--color-surface-hover: var(--bg-hover);--color-text: var(--text-primary);--color-text-primary: var(--text-primary);--color-text-secondary: var(--text-secondary);--color-text-muted: var(--text-muted);--color-border: var(--border-color);--color-primary: var(--primary-color);--color-primary-bg: var(--bg-accent-subtle);--color-shadow: rgba(0, 0, 0, .1);--color-danger: var(--error-color);--text-xs: var(--font-size-xs);--text-sm: var(--font-size-sm)}button{background-color:#f9f9f9;border-color:#ccc}}:root.dark{color:#ffffffde;background-color:#121215;color-scheme:dark;--bg-primary: #121215;--bg-secondary: #1a1a1e;--bg-tertiary: #2a2a2f;--bg-hover: #2e2e33;--bg-selected: rgba(123, 167, 209, .15);--bg-accent-subtle: #1e2d3d;--bg-card: #1e1e22;--bg-input: #2a2a2f;--backdrop-color: rgba(0, 0, 0, .75);--text-primary: #e0e0e4;--text-secondary: #b0b0b4;--text-tertiary: #96969a;--text-muted: #96969a;--text-inverse: #1e1e22;--border-color: #44444a;--border-light: #333338;--border-dark: #55555c;--accent-color: hsl(210, 42%, 65%);--accent-hover: hsl(210, 44%, 72%);--accent-color-transparent: hsla(210, 42%, 65%, .2);--primary-color: hsl(210, 42%, 65%);--primary-hover: hsl(210, 44%, 72%);--color-accent: var(--accent-color);--color-accent-hover: var(--accent-hover);--text-link: hsl(210, 80%, 65%);--text-link-hover: hsl(210, 85%, 72%);--success-color: hsl(122, 39%, 49%);--success-bg: hsl(128, 29%, 16%);--success-text: hsl(123, 38%, 64%);--color-success: var(--success-color);--error-color: hsl(4, 90%, 58%);--error-bg: hsl(0, 32%, 18%);--error-text: hsl(0, 72%, 77%);--color-error: var(--error-color);--warning-color: hsl(45, 100%, 51%);--warning-bg: hsl(43, 47%, 16%);--warning-text: hsl(45, 100%, 65%);--info-color: hsl(207, 90%, 54%);--info-bg: hsl(210, 33%, 18%);--info-text: hsl(210, 42%, 65%);--deep-work-bg: linear-gradient(135deg, #8b5cf6 0%, #a855f7 100%);--deep-work-border: #7c3aed;--deep-work-shadow: rgba(139, 92, 246, .35);--deep-work-badge-bg: rgba(255, 255, 255, .2);--deep-work-text: #ffffff;--shallow-work-bg: linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%);--shallow-work-border: #d97706;--shallow-work-shadow: rgba(245, 158, 11, .35);--shallow-work-badge-bg: rgba(0, 0, 0, .15);--shallow-work-text: #1f2937;--focus-deep-color: #a78bfa;--focus-deep-bg: rgba(139, 92, 246, .15);--focus-deep-selected-bg: rgba(139, 92, 246, .2);--focus-shallow-color: #fbbf24;--focus-shallow-bg: rgba(217, 119, 6, .15);--focus-shallow-selected-bg: rgba(217, 119, 6, .2);--status-planned-text: #60a5fa;--status-cooked-text: #f59e0b;--status-eaten-text: #4ade80;--status-cancelled-text: #9ca3af;--status-danger-text: #f87171;--button-bg-primary: hsl(217, 82%, 45%);--button-bg-primary-hover: hsl(217, 82%, 38%);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .3);--color-bg: var(--bg-primary);--color-surface: var(--bg-secondary);--color-surface-raised: var(--bg-tertiary);--color-surface-hover: var(--bg-hover);--color-text: var(--text-primary);--color-text-primary: var(--text-primary);--color-text-secondary: var(--text-secondary);--color-text-muted: var(--text-muted);--color-border: var(--border-color);--color-primary: var(--primary-color);--color-primary-bg: var(--bg-accent-subtle);--color-shadow: rgba(0, 0, 0, .3);--color-danger: var(--error-color);--text-xs: var(--font-size-xs);--text-sm: var(--font-size-sm)}:root.dark button:not([class]){background-color:#1a1a1e;border-color:#55555c}[data-theme=dark]{--bg-primary: #121215;--bg-secondary: #1a1a1e;--bg-tertiary: #2a2a2f;--bg-hover: #2e2e33;--bg-selected: rgba(123, 167, 209, .15);--bg-accent-subtle: #1e2d3d;--bg-card: #1e1e22;--bg-input: #2a2a2f;--backdrop-color: rgba(0, 0, 0, .75);--text-primary: #e0e0e4;--text-secondary: #b0b0b4;--text-tertiary: #96969a;--text-muted: #96969a;--text-inverse: #1e1e22;--border-color: #44444a;--border-light: #333338;--border-dark: #55555c;--accent-color: hsl(210, 42%, 65%);--accent-hover: hsl(210, 44%, 72%);--accent-color-transparent: hsla(210, 42%, 65%, .2);--primary-color: hsl(210, 42%, 65%);--primary-hover: hsl(210, 44%, 72%);--color-accent: var(--accent-color);--color-accent-hover: var(--accent-hover);--success-color: hsl(122, 39%, 49%);--success-bg: hsl(128, 29%, 16%);--success-text: hsl(123, 38%, 64%);--color-success: var(--success-color);--error-color: hsl(4, 90%, 58%);--error-bg: hsl(0, 32%, 18%);--error-text: hsl(0, 72%, 77%);--color-error: var(--error-color);--warning-color: hsl(45, 100%, 51%);--warning-bg: hsl(43, 47%, 16%);--warning-text: hsl(45, 100%, 65%);--info-color: hsl(207, 90%, 54%);--info-bg: hsl(210, 33%, 18%);--info-text: hsl(210, 42%, 65%);--status-planned-text: #60a5fa;--status-cooked-text: #f59e0b;--status-eaten-text: #4ade80;--status-cancelled-text: #9ca3af;--status-danger-text: #f87171;--button-bg-primary: hsl(217, 82%, 45%);--button-bg-primary-hover: hsl(217, 82%, 38%);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .3);--color-bg: var(--bg-primary);--color-surface: var(--bg-secondary);--color-surface-raised: var(--bg-tertiary);--color-surface-hover: var(--bg-hover);--color-text: var(--text-primary);--color-text-primary: var(--text-primary);--color-text-secondary: var(--text-secondary);--color-text-muted: var(--text-muted);--color-border: var(--border-color);--color-primary: var(--primary-color);--color-primary-bg: var(--bg-accent-subtle);--color-shadow: rgba(0, 0, 0, .3);--color-danger: var(--error-color);--text-xs: var(--font-size-xs);--text-sm: var(--font-size-sm)}.task-duration{font-size:.85em;color:var(--text-secondary);background-color:var(--bg-tertiary);padding:2px 6px;border-radius:var(--radius-sm);margin-left:8px}.task-edit-row{display:flex;gap:10px;margin-bottom:10px}.task-edit-duration{flex:1;padding:8px;border:1px solid var(--border-color);border-radius:var(--radius-sm)}@media print{html,body{background:#fff!important;color:#000!important;margin:0!important;padding:0!important}body.printing-recipe #root{display:none!important}body.printing-recipe>.recipe-print-overlay{display:block!important;position:static!important;background:#fff!important;width:100%!important;min-height:auto!important;overflow:visible!important}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--btn-padding-md);border-radius:var(--radius-md);font-size:var(--btn-font-md);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);border:none;text-decoration:none;gap:var(--spacing-xs)}.btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.btn-xs{padding:var(--btn-padding-xs);font-size:var(--btn-font-xs);border-radius:var(--radius-sm)}.btn-sm{padding:var(--btn-padding-sm);font-size:var(--btn-font-sm)}.btn-md{padding:var(--btn-padding-md);font-size:var(--btn-font-md)}.btn-lg{padding:var(--btn-padding-lg);font-size:var(--btn-font-lg)}.btn-action{padding:var(--btn-padding-md);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;font-size:var(--btn-font-md);transition:all var(--transition-base);display:inline-flex;align-items:center;justify-content:center;font-weight:var(--font-weight-medium);box-shadow:none}.btn-action:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.btn-action:disabled{opacity:var(--opacity-disabled);cursor:not-allowed;background:transparent;color:var(--text-secondary)}.btn-primary{padding:var(--btn-padding-md);border-radius:var(--radius-md);background:var(--button-bg-primary);color:var(--text-on-accent);border:none;font-size:var(--btn-font-md);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center}.btn-primary:hover:not(:disabled){background:var(--button-bg-primary-hover);color:var(--text-on-accent)}.btn-primary:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.heading-page{font-size:var(--heading-page);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--text-primary);margin:0}.heading-view{font-size:var(--heading-view);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--text-primary);margin:0}.heading-section{font-size:var(--heading-section);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);color:var(--text-secondary);margin:0}.heading-card{font-size:var(--heading-card);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);color:var(--text-primary);margin:0}.heading-compact{font-size:var(--heading-compact);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--text-primary);margin:0}.view-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background:var(--bg-primary)}.view-header h2{margin:0;font-size:var(--heading-view);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.header-actions{display:flex;gap:var(--spacing-sm)}.empty-state,.loading-state,.error-state{padding:var(--spacing-2xl);text-align:center;color:var(--text-secondary);font-size:var(--font-size-base)}.error-state button{margin-top:var(--spacing-md)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-group label{font-weight:var(--font-weight-medium);color:var(--text-secondary);font-size:var(--font-size-sm)}.form-input,.form-group input,.form-group textarea,.form-group select{padding:var(--input-padding-md);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--font-size-base);font-family:inherit;background:var(--bg-primary);color:var(--text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus,.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-color-transparent)}.form-input::placeholder,.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group textarea{resize:vertical;min-height:80px}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-size:var(--font-size-sm);color:var(--text-secondary);min-height:44px}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent-color);padding:13px;margin:-13px;box-sizing:content-box}input[type=checkbox].checkbox-visible{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);cursor:pointer;transition:all var(--transition-fast);position:relative}input[type=checkbox].checkbox-visible:hover{border-color:var(--accent-color)}input[type=checkbox].checkbox-visible:checked{background:var(--accent-color);border-color:var(--accent-color)}input[type=checkbox].checkbox-visible:checked:after{content:"";position:absolute;top:45%;left:50%;width:4px;height:8px;border:solid var(--text-on-accent);border-width:0 2px 2px 0;transform:translate(-50%,-50%) rotate(45deg)}input[type=checkbox].checkbox-visible:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}input[type=range]{accent-color:var(--accent-color)}input[type=time],input[type=number]{padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary)}input[type=time]:focus,input[type=number]:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-color-transparent)}.btn-secondary{padding:var(--btn-padding-md);border:1px solid var(--border-dark, var(--text-secondary));border-radius:var(--radius-md);background:transparent;color:var(--text-primary);cursor:pointer;font-size:var(--btn-font-md);transition:all var(--transition-base);display:inline-flex;align-items:center;justify-content:center;font-weight:var(--font-weight-medium)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent-color);color:var(--accent-color)}.btn-secondary:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.btn-icon{display:flex;align-items:center;justify-content:center;min-width:var(--btn-icon-lg);min-height:var(--btn-icon-lg);width:var(--btn-icon-lg);height:var(--btn-icon-lg);padding:0;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.btn-icon:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.btn-icon:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.btn-icon-sm{min-width:var(--btn-icon-sm);min-height:var(--btn-icon-sm);width:var(--btn-icon-sm);height:var(--btn-icon-sm)}.btn-icon-md{min-width:var(--btn-icon-md);min-height:var(--btn-icon-md);width:var(--btn-icon-md);height:var(--btn-icon-md)}.btn-close{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);background:transparent;border:none;font-size:var(--font-size-xl);cursor:pointer;color:var(--text-secondary);padding:var(--spacing-xs);line-height:1;border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast)}.btn-close:hover{color:var(--text-primary);background:var(--bg-hover)}.btn-filter{padding:var(--btn-padding-sm);background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-size:var(--btn-font-sm);transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center}.btn-filter:hover:not(:disabled){background:var(--bg-hover)}.btn-filter.active{background:var(--button-bg-primary);color:var(--text-on-accent);border-color:var(--button-bg-primary)}.btn-danger{padding:var(--btn-padding-md);border:none;border-radius:var(--radius-md);background:var(--error-color);color:var(--text-on-accent);cursor:pointer;font-size:var(--btn-font-md);font-weight:var(--font-weight-medium);transition:all var(--transition-base);display:inline-flex;align-items:center;justify-content:center}.btn-danger:hover:not(:disabled){filter:brightness(.9)}.btn-danger:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.btn-link{background:none;border:none;padding:0;color:var(--text-link);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px;transition:color var(--transition-fast)}.btn-link:hover{color:var(--text-link-hover)}.btn-link:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.btn-edit{padding:var(--btn-padding-md);border:none;border-radius:var(--radius-md);background:var(--button-bg-primary);color:var(--text-on-accent);cursor:pointer;font-size:var(--btn-font-md);font-weight:var(--font-weight-medium);transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center}.btn-edit:hover:not(:disabled){background:var(--button-bg-primary-hover)}.btn-edit:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.btn-success{padding:var(--btn-padding-md);border:none;border-radius:var(--radius-md);background:var(--success-color);color:var(--text-on-accent);cursor:pointer;font-size:var(--btn-font-md);font-weight:var(--font-weight-medium);transition:all var(--transition-base);display:inline-flex;align-items:center;justify-content:center}.btn-success:hover:not(:disabled){filter:brightness(.9)}.btn-success:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.btn-outline-primary{padding:var(--btn-padding-md);border:1px solid var(--accent-color);border-radius:var(--radius-md);background:transparent;color:var(--accent-color);cursor:pointer;font-size:var(--btn-font-md);font-weight:var(--font-weight-medium);transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center}.btn-outline-primary:hover:not(:disabled){background:var(--button-bg-primary);color:var(--text-on-accent)}.btn-outline-primary:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.btn-outline-danger{padding:var(--btn-padding-md);border:1px solid var(--error-color);border-radius:var(--radius-md);background:transparent;color:var(--error-color);cursor:pointer;font-size:var(--btn-font-md);font-weight:var(--font-weight-medium);transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center}.btn-outline-danger:hover:not(:disabled){background:var(--error-color);color:var(--text-on-accent)}.btn-outline-danger:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.btn-secondary-danger{padding:var(--btn-padding-md);border:1px solid var(--border-color);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);cursor:pointer;font-size:var(--btn-font-md);font-weight:var(--font-weight-medium);transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center}.btn-secondary-danger:hover:not(:disabled){background:var(--error-color);border-color:var(--error-color);color:var(--text-on-accent)}.btn-secondary-danger:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.btn-dashed{padding:var(--btn-padding-sm);background:transparent;border:1px dashed var(--border-dark, var(--border-color));border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-size:var(--btn-font-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.btn-dashed:hover:not(:disabled){border-color:var(--accent-color);color:var(--accent-color);background:var(--bg-hover)}.btn-dashed:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.flex{display:flex}.inline-flex{display:inline-flex}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-col-reverse{flex-direction:column-reverse}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.flex-grow{flex-grow:1}.flex-shrink-0{flex-shrink:0}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.self-start{align-self:flex-start}.self-center{align-self:center}.self-end{align-self:flex-end}.self-stretch{align-self:stretch}kbd{display:inline-block;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xs);box-shadow:0 1px 0 var(--border-color);white-space:nowrap}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@keyframes skeleton{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.animate-spin{animation:spin 1s linear infinite}.animate-fade-in{animation:fadeIn .2s ease-out}.animate-slide-down{animation:slideDown .2s ease-out}.animate-slide-up{animation:slideUp .2s ease-out}.animate-pulse{animation:pulse 2s ease-in-out infinite}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hover-reveal{opacity:0;transition:opacity var(--transition-fast)}:hover>.hover-reveal,:focus-within>.hover-reveal{opacity:1}@media(hover:none){.hover-reveal{opacity:1}}.card-accent{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-md);border-left:var(--spacing-xs) solid var(--card-accent-color, var(--accent-color));display:flex;flex-direction:column;gap:var(--spacing-sm)}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm)}.card-header-left{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1;min-width:0}.card-header-actions{display:flex;gap:var(--spacing-xs);flex-shrink:0}.btn-ghost{padding:var(--btn-padding-xs);background:transparent;border:1px solid var(--border-light);border-radius:var(--radius-sm);font-size:var(--btn-font-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.btn-ghost:hover:not(:disabled){background:var(--button-bg-primary);border-color:var(--button-bg-primary);color:var(--text-on-accent)}.btn-ghost:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.btn-ghost-xs{padding:2px 6px;font-size:var(--btn-font-xs)}.badge{display:inline-flex;align-items:center;padding:2px var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background:var(--bg-tertiary);color:var(--text-secondary);gap:var(--spacing-xs);white-space:nowrap}.badge-success{background:var(--color-success-light, rgba(34, 197, 94, .15));color:var(--color-success)}.badge-warning{background:var(--color-warning-light, rgba(234, 179, 8, .15));color:var(--color-warning-text)}.badge-error{background:var(--color-error-light, rgba(239, 68, 68, .15));color:var(--color-error)}.badge-accent{background:var(--button-bg-primary);color:var(--text-on-accent)}.tag-chip{display:inline-flex;align-items:center;padding:var(--spacing-xs) 10px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background:var(--bg-tertiary);color:var(--text-secondary);border:none;cursor:pointer;transition:all var(--transition-fast)}.tag-chip:hover{background:var(--bg-hover)}.tag-chip.active{background:var(--button-bg-primary);color:var(--text-on-accent)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-lg)}.modal-actions-split{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.modal-actions-left,.modal-actions-right{display:flex;gap:var(--spacing-sm)}.form-section-collapsible{margin-top:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.form-section-toggle{width:100%;display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border:none;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);text-align:left}.form-section-toggle:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.form-section-toggle:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.form-section-toggle-icon{font-size:.625rem;color:var(--text-muted);flex-shrink:0}.form-section-content{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md);border-top:1px solid var(--border-color);background:var(--bg-primary)}@media(max-width:480px){.form-section-content{padding:var(--spacing-sm);gap:var(--spacing-sm)}.form-section-toggle{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}}.chip{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:2px 6px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);line-height:1;white-space:nowrap}.chip-sm{padding:1px var(--spacing-xs);font-size:.7rem}.chip-icon{flex-shrink:0}.chip-label{font-weight:500}.undo-toast{position:fixed;bottom:var(--spacing-lg);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);background:var(--text-primary);color:var(--text-on-accent);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-size:var(--font-size-sm);z-index:var(--z-toast);animation:toastSlideUp var(--transition-base)}@keyframes toastSlideUp{0%{opacity:0;transform:translate(-50%) translateY(16px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.undo-toast button{padding:var(--btn-padding-sm);background:transparent;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-md);color:var(--text-on-accent);font-size:var(--btn-font-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.undo-toast button:hover{background:#ffffff1a;border-color:#ffffff80}
