:root{--bg-primary: #f5f5f5;--bg-secondary: #f8f9fa;--bg-tertiary: #e8f4fc;--text-primary: #212529;--text-secondary: #6c757d;--border-primary: #dee2e6;--border-secondary: #e9ecef;--btn-primary: #0ea5e9;--btn-primary-hover: #0284c7;--btn-secondary: #6c757d;--btn-secondary-hover: #5a6268;--btn-success: #10b981;--btn-success-hover: #059669;--btn-danger: #dc3545;--btn-danger-hover: #c82333;--btn-warning: #e67e22;--btn-warning-hover: #d86e1e;--input-bg: #ffffff;--input-border: #ced4da;--input-focus: #007bff;--selection-bg: #e3f2fd;--selection-border: #007bff;--shadow: rgba(0, 0, 0, .1);--focus-outline: #0056b3;--feedback-success-bg: #d4edda;--feedback-success-text: #155724;--feedback-success-border: #c3e6cb;--feedback-error-bg: #f8d7da;--feedback-error-text: #721c24;--feedback-error-border: #f5c6cb;--feedback-warning-bg: #fff3cd;--feedback-warning-text: #856404;--btn-info: #17a2b8;--btn-info-hover: #138496;--btn-success-dark: #1e7e34;--btn-danger-dark: #bd2130;--status-progress-hover: #e6a800;--status-progress-active: #cc9500;--status-todo-active: #005cbf;--status-default-active: #545b62;--input-hover-bg: #f0f4ff;--input-focus-ring: rgba(0, 123, 255, .15);--skeleton-base: #f0f0f0;--skeleton-highlight: #e0e0e0;--page-container-border-radius: 4px;--page-content-padding: 20px;--row-padding-vertical: 8px;--row-hover-background: var(--bg-secondary);--status-default: var(--btn-secondary);--status-complete: var(--btn-success);--status-progress: #f59e0b;--status-offtrack: var(--btn-danger);--status-todo: var(--btn-primary);--status-free-pass: #9b59b6;--status-free-pass-hover: #8e44ad;--status-free-pass-active: #7d3c98;--status-paused-bg: #fef3c7;--status-paused-text: #92400e;--status-paused-border: #fbbf24;--status-paused-hover: #fde68a;--status-paused-active: #fcd34d;--bg-warning-subtle: rgba(254, 243, 199, .3);--score-tier-low: var(--status-offtrack);--score-tier-50: var(--status-progress);--score-tier-60: #38bdf8;--score-tier-70: #22d3d4;--score-tier-80: #2dd4bf;--score-tier-90: #34d399;--score-tier-100: var(--status-complete);--card-backdrop-blur: 12px;--card-backdrop-saturate: 180%;--card-bg-opacity: .75;--focus-overlay-bg: rgba(0, 0, 0, .85);--focus-overlay-blur: 8px;--focus-card-shadow: 0 8px 32px rgba(0, 0, 0, .3);--focus-card-glow: 0 0 20px rgba(59, 130, 246, .5);--focus-transition-duration: .4s;--focus-transition-timing: cubic-bezier(.4, 0, .2, 1);--focus-dark-overlay-bg: rgba(0, 0, 0, .92);--focus-dark-card-bg: rgba(30, 41, 59, .95);--focus-dark-card-border: rgba(148, 163, 184, .2);--focus-dark-text-primary: #f1f5f9;--focus-dark-accent: #3b82f6;--focus-light-overlay-bg: rgba(255, 255, 255, .85);--focus-light-card-bg: rgba(255, 255, 255, .95);--focus-light-card-border: rgba(226, 232, 240, .3);--focus-light-text-primary: #0f172a;--focus-light-accent: #2563eb;--z-focus-overlay: 1000;--z-focus-card: 1010;--z-focus-controls: 1020}[data-theme=dark]{--bg-primary: #0f1419;--bg-secondary: #1a1f26;--bg-tertiary: #243447;--text-primary: #f0f6fc;--text-secondary: #a0a0a0;--border-primary: #404040;--border-secondary: #333333;--btn-primary: #0ea5e9;--btn-primary-hover: #0284c7;--btn-secondary: #6c757d;--btn-secondary-hover: #5a6268;--btn-success: #10b981;--btn-success-hover: #059669;--btn-danger: #dc3545;--btn-danger-hover: #c82333;--btn-warning: #e67e22;--btn-warning-hover: #d86e1e;--input-bg: #2a2a2a;--input-border: #404040;--input-focus: #4a9eff;--selection-bg: #1e3a5f;--selection-border: #4a9eff;--shadow: rgba(0, 0, 0, .3);--focus-outline: #4a9eff;--feedback-success-bg: #1a3d1a;--feedback-success-text: #a3d9a5;--feedback-success-border: #2d5a2d;--feedback-error-bg: #3d1a1a;--feedback-error-text: #f5a5a5;--feedback-error-border: #5a2d2d;--feedback-warning-bg: #3d3a1a;--feedback-warning-text: #f5e5a5;--input-hover-bg: #3a3a4a;--skeleton-base: #2d2d2d;--skeleton-highlight: #3d3d3d;--status-paused-bg: #78350f;--status-paused-text: #fef3c7;--status-paused-border: #d97706;--status-paused-hover: #92400e;--status-paused-active: #a16207;--bg-warning-subtle: rgba(120, 53, 15, .3)}@media(prefers-color-scheme:dark){:root:not([data-theme]){--bg-primary: #0f1419;--bg-secondary: #1a1f26;--bg-tertiary: #243447;--text-primary: #f0f6fc;--text-secondary: #a0a0a0;--border-primary: #404040;--border-secondary: #333333;--input-bg: #2a2a2a;--input-border: #404040;--input-focus: #4a9eff;--selection-bg: #1e3a5f;--selection-border: #4a9eff;--shadow: rgba(0, 0, 0, .3);--focus-outline: #4a9eff;--feedback-success-bg: #1a3d1a;--feedback-success-text: #a3d9a5;--feedback-success-border: #2d5a2d;--feedback-error-bg: #3d1a1a;--feedback-error-text: #f5a5a5;--feedback-error-border: #5a2d2d;--feedback-warning-bg: #3d3a1a;--feedback-warning-text: #f5e5a5;--input-hover-bg: #3a3a4a;--skeleton-base: #2d2d2d;--skeleton-highlight: #3d3d3d}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5;background:var(--bg-primary);padding:8px;color:var(--text-primary);font-weight:400}.activity-row-hidden{background:var(--bg-secondary)}.page-container{width:100%;margin:0 auto 40px;background:var(--input-bg);border:1px solid var(--border-primary);border-radius:var(--page-container-border-radius)}.page-content{padding:var(--page-content-padding)}.list-row{padding:var(--row-padding-vertical) 0;border-bottom:1px solid var(--border-secondary);transition:background-color .15s ease-out}.list-row:hover{background:var(--row-hover-background)}.page-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);margin-bottom:20px}.page-header h1{margin:0;font-size:18px;font-weight:600;line-height:1.2;color:var(--text-primary)}.page-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:12px 20px;background:var(--bg-primary);border-bottom:1px solid var(--border-secondary);margin-bottom:20px}.inline-input{padding:6px 10px;border:1px solid var(--input-border);border-radius:3px;font-size:14px;transition:border-color .15s ease-out,box-shadow .15s ease-out}.inline-input:hover:not(:disabled):not(:focus){border-color:var(--text-secondary)}.inline-input:focus{border-color:var(--input-focus);outline:3px solid var(--focus-outline);outline-offset:2px;box-shadow:0 0 0 .2rem var(--input-focus-ring)}[data-theme=dark] .inline-input:focus{outline-color:var(--focus-outline)}.table-container{display:grid;grid-template-columns:40px 48px 80px minmax(150px,1.2fr) minmax(80px,.6fr) minmax(200px,3fr) minmax(450px,auto);gap:0;width:100%}#activities-list{display:contents}#activities-list>div{display:contents}.add-activity-row{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;padding:12px 0;border-bottom:1px solid var(--border-primary);align-items:center}.add-activity-row .col-activity{grid-column:3 / 6}.add-activity-row .col-activity input{width:100%}.add-activity-row .button-area{grid-column:6;display:flex;gap:5px;padding-right:20px}.table-header{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;padding:10px 0;background:var(--bg-secondary);border-bottom:2px solid var(--border-primary);font-weight:600;line-height:1.3}.activity-row{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;padding:8px 0;border-bottom:1px solid var(--border-secondary);align-items:center;transition:background-color .15s ease-out}.expanded-activity .activity-row{background:var(--bg-tertiary);margin-bottom:0}.expanded-activity .logs-header{background:var(--bg-tertiary);border-top:1px solid rgba(255,255,255,.05)}.expanded-activity .log-row{background:var(--bg-tertiary);transition:background-color .2s ease-out}.expanded-activity .log-row:hover,.activity-row:hover{background:var(--bg-secondary)}.col-checkbox{grid-column:1;text-align:center;display:flex;align-items:center;justify-content:center;padding-left:20px}.col-drag{grid-column:2;text-align:center;padding-left:24px}.col-status{grid-column:3;padding:0 24px 0 12px;display:flex;align-items:center;justify-content:center}.col-activity{grid-column:4;padding-right:20px}.col-value{grid-column:5;padding-right:10px}.col-notes{grid-column:6;padding-right:15px}.col-actions{grid-column:7;display:flex;gap:5px;justify-content:flex-start;padding-right:20px;align-items:center}#collapse-all-container{display:flex;align-items:center;gap:8px}.hidden-activities{background:var(--bg-secondary);border-top:2px solid var(--border-primary)}.hidden-header{padding:10px 20px;cursor:pointer;font-weight:600;width:100%;text-align:left;background:transparent;border:none;font-family:inherit;font-size:inherit;color:inherit;transition:background-color .15s ease-out}.hidden-header:hover{background:var(--border-secondary)}.expanded-activity{display:contents}.logs-table{display:grid;grid-template-columns:40px minmax(100px,.8fr) minmax(80px,.6fr) minmax(80px,.6fr) minmax(100px,.8fr) minmax(80px,.6fr) minmax(200px,2.5fr) minmax(60px,auto);gap:0;grid-column:1 / -1;padding:0;background:var(--bg-tertiary)}.logs-header{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;padding:8px 0;font-weight:600;border-bottom:1px solid var(--border-primary)}.log-row{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;padding:6px 0;border-bottom:1px solid var(--border-secondary);align-items:center}.col-empty{grid-column:1;padding-left:20px}.col-date{grid-column:2;padding-right:5px}.col-start-time{grid-column:3;padding-right:10px}.col-end-time{grid-column:4;padding-right:10px}.col-duration{grid-column:5;padding-right:10px;font-weight:500}.col-log-value{grid-column:6;padding-right:10px}.col-log-notes{grid-column:7;padding-right:15px}.col-log-actions{grid-column:8;display:flex;gap:5px;justify-content:flex-start;padding-right:20px}.activity-icons{display:inline-flex;gap:8px;align-items:center}.icon-btn{cursor:pointer;transition:all .15s ease-out;min-width:44px;min-height:44px;padding:10px;display:inline-flex;align-items:center;justify-content:center;color:#fff;border:none;border-radius:4px}.icon-btn svg{width:20px;height:20px;stroke-width:2;stroke:currentColor}.icon-btn:hover{transform:scale(1.02)}.icon-btn:active{transform:scale(.98)}.icon-btn:focus-visible{outline:3px solid var(--focus-outline);outline-offset:2px}.icon-edit{background:var(--btn-primary);color:#fff}.icon-edit:hover{background:var(--btn-primary-hover)}.icon-hide{background:var(--btn-warning);color:#fff}.icon-hide:hover{background:var(--btn-warning-hover)}.icon-unhide{background:var(--btn-success-hover);color:#fff}.icon-unhide:hover{background:var(--btn-success-dark)}.icon-delete{background:var(--btn-danger);color:#fff}.icon-delete:hover{background:var(--btn-danger-hover)}.icon-pause{background:var(--btn-secondary);color:#fff}.icon-pause:hover{background:var(--btn-secondary-hover)}.icon-resume{background:var(--status-paused-border);color:#fff}.icon-resume:hover{background:var(--status-paused-hover)}input[type=checkbox].activity-checkbox{width:18px;height:18px;margin:0;padding:13px;cursor:pointer;accent-color:var(--btn-primary);transition:all .15s ease-out}input[type=checkbox].activity-checkbox:disabled{opacity:.5;cursor:not-allowed;accent-color:var(--btn-secondary)}input[type=checkbox].activity-checkbox:not(:disabled):hover{transform:scale(1.1)}input[type=checkbox].activity-checkbox:not(:disabled):active{transform:scale(.95)}input[type=checkbox].activity-checkbox:indeterminate{accent-color:var(--btn-primary)}input[type=checkbox].activity-checkbox:focus{outline:3px solid var(--focus-outline);outline-offset:2px}input[type=checkbox].activity-checkbox:focus-visible{outline:3px solid var(--focus-outline);outline-offset:2px}input[type=checkbox].activity-checkbox:focus:not(:focus-visible){outline:none}.table-header .col-checkbox{padding-left:20px}.hidden-activities .activity-row input[type=checkbox].activity-checkbox:disabled{opacity:.3;cursor:not-allowed}.hidden-activities .activity-row .col-checkbox{opacity:.5}.activity-row.selected{background-color:var(--selection-bg);box-shadow:inset 3px 0 0 0 var(--selection-border);transition:background-color .15s ease-out,box-shadow .15s ease-out}.activity-row.selected:hover{background-color:var(--selection-bg)}.activity-row.selected.drag-over{border-top:2px solid var(--selection-border);background-color:var(--selection-bg)}.hidden-activities .activity-row.selected{background-color:var(--bg-primary);box-shadow:inset 3px 0 0 0 var(--text-secondary)}.hidden-activities .activity-row.selected:hover{background-color:var(--border-secondary)}button{padding:6px 14px;background:var(--btn-secondary);color:#fff;border:none;border-radius:3px;cursor:pointer;font-size:14px;font-weight:500;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;min-width:44px;min-height:44px;transition:all .15s ease-out;display:inline-flex;align-items:center;justify-content:center;gap:6px}button svg{width:20px;height:20px;stroke-width:2}button:hover:not(:disabled){background:var(--btn-secondary-hover)}button:active:not(:disabled){transform:scale(.98)}button:focus-visible{outline:3px solid var(--focus-outline);outline-offset:2px}[data-theme=dark] button:focus-visible,[data-theme=dark] input:focus-visible,[data-theme=dark] select:focus-visible,[data-theme=dark] textarea:focus-visible{outline:3px solid var(--focus-outline);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed;background:var(--btn-secondary)!important}.btn-primary{background:var(--btn-primary)}.btn-primary:hover:not(:disabled){background:var(--btn-primary-hover)}.btn-secondary{background:var(--btn-secondary)}.btn-secondary:hover:not(:disabled){background:var(--btn-secondary-hover)}.btn-success{background:var(--btn-success)}.btn-success:hover:not(:disabled){background:var(--btn-success-hover)}.btn-danger{background:var(--btn-danger)}.btn-danger:hover:not(:disabled){background:var(--btn-danger-hover)}.btn-warning{background:var(--btn-warning)}.btn-warning:hover:not(:disabled){background:var(--btn-warning-hover)}button.log-btn{background:var(--btn-success)}button.log-btn:hover:not(:disabled){background:var(--btn-success-hover)}button.expand-btn{background:var(--btn-secondary);text-transform:none}button.expand-btn:hover:not(:disabled){background:var(--btn-secondary-hover)}button.add-log-btn{background:var(--btn-info)}button.add-log-btn:hover:not(:disabled){background:var(--btn-info-hover)}button.delete-btn{background:var(--btn-danger)}button.delete-btn:hover:not(:disabled){background:var(--btn-danger-hover)}.theme-toggle-btn{background:var(--btn-secondary);color:#fff;border:none;border-radius:4px;cursor:pointer;min-width:44px;min-height:44px;padding:10px;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease-out;position:relative}.theme-toggle-btn:hover{background:var(--btn-secondary-hover);transform:scale(1.02)}.theme-toggle-btn:active{transform:scale(.98)}.theme-icon{width:20px;height:20px;position:absolute;transition:opacity .15s ease-out,transform .15s ease-out}:root:not([data-theme]) .light-icon,[data-theme=light] .light-icon{opacity:0;transform:rotate(-90deg) scale(.5)}:root:not([data-theme]) .dark-icon,[data-theme=light] .dark-icon{opacity:1;transform:rotate(0) scale(1)}[data-theme=dark] .light-icon{opacity:1;transform:rotate(0) scale(1)}[data-theme=dark] .dark-icon{opacity:0;transform:rotate(90deg) scale(.5)}@media(prefers-color-scheme:dark){:root:not([data-theme]) .light-icon{opacity:1;transform:rotate(0) scale(1)}:root:not([data-theme]) .dark-icon{opacity:0;transform:rotate(90deg) scale(.5)}}button.collapse-all-btn{background:var(--btn-secondary);color:#fff;min-width:44px;min-height:44px;padding:10px;border:none;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease-out}button.collapse-all-btn svg{width:20px;height:20px;stroke-width:2}button.collapse-all-btn:hover{background:var(--btn-secondary-hover);transform:scale(1.02)}button.collapse-all-btn:active{transform:scale(.98)}button.collapse-all-btn:focus-visible{outline:3px solid var(--focus-outline);outline-offset:2px}.bulk-actions-toolbar{position:fixed;top:20px;right:20px;z-index:900;background:var(--input-bg);border:1px solid var(--border-primary);border-radius:4px;padding:12px 20px;box-shadow:0 2px 8px var(--shadow);display:flex;align-items:center;gap:12px;transition:all .15s ease-out;animation:toolbarSlideIn .2s ease-out}.bulk-actions-toolbar .selection-count{font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap}.bulk-actions-toolbar .separator{width:1px;height:24px;background-color:var(--border-primary)}.bulk-actions-toolbar .button-group{display:flex;gap:8px;align-items:center}.bulk-actions-toolbar button{padding:6px 12px;min-width:auto;min-height:36px;font-size:13px}.bulk-actions-toolbar .bulk-delete-btn{background:var(--btn-danger)}.bulk-actions-toolbar .bulk-delete-btn:hover:not(:disabled){background:var(--btn-danger-hover)}.bulk-actions-toolbar .bulk-hide-btn{background:var(--btn-warning)}.bulk-actions-toolbar .bulk-hide-btn:hover:not(:disabled){background:var(--btn-warning-hover)}.bulk-actions-toolbar .bulk-unhide-btn{background:var(--btn-success-hover)}.bulk-actions-toolbar .bulk-unhide-btn:hover:not(:disabled){background:var(--btn-success-dark)}.bulk-actions-toolbar .bulk-clear-btn{background:var(--btn-secondary)}.bulk-actions-toolbar .bulk-clear-btn:hover:not(:disabled){background:var(--btn-secondary-hover)}@keyframes toolbarSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.nav-btn-active{background:var(--btn-primary-hover);box-shadow:inset 0 0 0 2px #ffffff4d}.nav-btn-active:hover,.icon-btn.nav-btn-active:hover{background:var(--btn-primary-hover)}.timer-container{display:flex;align-items:center;gap:8px}.timer-display{font-family:Courier New,Courier,monospace;font-size:16px;font-weight:600;min-width:65px;text-align:right;color:var(--text-primary);padding:4px 6px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:3px}button.start-btn{background:var(--btn-success);font-size:16px}button.start-btn:hover:not(:disabled){background:var(--btn-success-hover)}button.start-btn:active:not(:disabled){transform:scale(.98)}button.start-btn:disabled{background:var(--btn-success)!important;cursor:not-allowed;opacity:.5}button.stop-btn{background:var(--btn-danger);font-size:16px}button.stop-btn:hover:not(:disabled){background:var(--btn-danger-hover)}button.stop-btn:active:not(:disabled){transform:scale(.98)}button.start-btn,button.stop-btn{color:#fff}button.instant-log-btn{background:var(--btn-primary);font-size:16px;color:#fff}button.instant-log-btn:hover:not(:disabled){background:var(--btn-primary-hover)}button.instant-log-btn:active:not(:disabled){transform:scale(.98)}button.instant-log-btn:disabled{background:var(--btn-primary)!important;cursor:not-allowed;opacity:.5}[data-status=default]{--current-status-color: var(--status-default)}[data-status=todo]{--current-status-color: var(--status-todo)}[data-status=offtrack]{--current-status-color: var(--status-offtrack)}[data-status=progress]{--current-status-color: var(--status-progress)}[data-status=complete]{--current-status-color: var(--status-complete)}[data-status=free_pass]{--current-status-color: var(--status-free-pass)}[data-status=paused]{--current-status-color: var(--status-paused-border)}[data-score-tier=low]{--current-score-color: var(--score-tier-low)}[data-score-tier="50"]{--current-score-color: var(--score-tier-50)}[data-score-tier="60"]{--current-score-color: var(--score-tier-60)}[data-score-tier="70"]{--current-score-color: var(--score-tier-70)}[data-score-tier="80"]{--current-score-color: var(--score-tier-80)}[data-score-tier="90"]{--current-score-color: var(--score-tier-90)}[data-score-tier="100"]{--current-score-color: var(--score-tier-100)}.status-btn{min-width:44px;min-height:44px;padding:10px;display:inline-flex;align-items:center;justify-content:center;border:none;cursor:pointer;border-radius:4px;color:#fff;background:var(--current-status-color, var(--status-default));transition:background-color .15s ease-out,transform .15s ease-out}.status-btn[data-status=complete]:hover:not(:disabled){background:var(--btn-success-hover);transform:scale(1.02)}.status-btn[data-status=complete]:active:not(:disabled){background:var(--btn-success-dark);transform:scale(.98)}.status-btn[data-status=progress]:hover:not(:disabled){background:var(--status-progress-hover);transform:scale(1.02)}.status-btn[data-status=progress]:active:not(:disabled){background:var(--status-progress-active);transform:scale(.98)}.status-btn[data-status=offtrack]:hover:not(:disabled){background:var(--btn-danger-hover);transform:scale(1.02)}.status-btn[data-status=offtrack]:active:not(:disabled){background:var(--btn-danger-dark);transform:scale(.98)}.status-btn[data-status=todo]:hover:not(:disabled){background:var(--btn-primary-hover);transform:scale(1.02)}.status-btn[data-status=todo]:active:not(:disabled){background:var(--status-todo-active);transform:scale(.98)}.status-btn[data-status=default]:hover:not(:disabled){background:var(--btn-secondary-hover);transform:scale(1.02)}.status-btn[data-status=default]:active:not(:disabled){background:var(--status-default-active);transform:scale(.98)}.status-btn[data-status=free_pass]:hover:not(:disabled){background:var(--status-free-pass-hover);transform:scale(1.02)}.status-btn[data-status=free_pass]:active:not(:disabled){background:var(--status-free-pass-active);transform:scale(.98)}.status-btn[data-status=paused]:hover:not(:disabled){background:var(--status-paused-hover);transform:scale(1.02)}.status-btn[data-status=paused]:active:not(:disabled){background:var(--status-paused-active);transform:scale(.98)}.status-btn:focus-visible{outline:3px solid var(--focus-outline);outline-offset:2px}.status-btn.status-syncing{animation:status-pulse 1.2s ease-in-out infinite;box-shadow:0 0 0 2px #007bff80}@keyframes status-pulse{0%,to{box-shadow:0 0 0 2px #007bff80}50%{box-shadow:0 0 0 4px #007bff4d}}@media(prefers-reduced-motion:reduce){.status-btn.status-syncing{animation:none;box-shadow:0 0 0 3px #007bff80}}.drag-handle{font-size:16px;color:var(--text-secondary);cursor:grab;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.drag-handle:active{cursor:grabbing}.status-paused{background-color:var(--status-paused-bg, #fef3c7);color:var(--status-paused-text, #92400e);border:1px solid var(--status-paused-border, #fbbf24)}.activity-row-paused{opacity:.7;background-color:var(--bg-warning-subtle, rgba(254, 243, 199, .3))}input{transition:border-color .15s ease-out,background-color .15s ease-out,box-shadow .15s ease-out}input:hover:not(:disabled):not(:focus){border-color:var(--text-secondary)}input:focus{box-shadow:0 0 0 .2rem #007bff26}input.value-input{width:90%;padding:4px 6px;border:1px solid var(--input-border);border-radius:3px}input.notes-input{width:95%;padding:4px 6px;border:1px solid var(--input-border);border-radius:3px}input.date-input,input.time-input{width:90%;padding:4px 6px;border:1px solid var(--input-border);border-radius:3px}.editable-name{text-decoration:underline;text-decoration-style:dotted;cursor:text;transition:background-color .15s ease-out}.editable-field{cursor:pointer;min-height:18px;padding:2px 6px;border-radius:3px;transition:background-color .15s ease-out,outline .15s ease-out;display:inline-block}.editable-field:hover{background-color:var(--input-hover-bg);outline:1px solid var(--border-primary)}.editable-field:focus{background-color:var(--input-bg);outline:2px solid var(--input-focus);outline-offset:0}.log-date.editable-field,.log-start-time.editable-field,.log-end-time.editable-field{min-width:70px;text-align:center}.duration-display{font-weight:500;color:var(--text-secondary);cursor:help;padding:2px 6px;border-radius:3px}.duration-display:hover{background-color:var(--bg-secondary)}.loading{opacity:.6;pointer-events:none}.hidden{display:none}.empty-state{padding:20px;text-align:center;color:var(--text-secondary);font-style:italic}.dragging{opacity:.5}.drag-over{border-top:2px solid var(--btn-primary)}.drag-ghost{opacity:.4;border:2px dashed var(--btn-primary);background:var(--bg-secondary)}.drag-active{opacity:.8;transform:scale(1.02);box-shadow:0 4px 12px #00000026}.text-muted{color:var(--text-secondary)}.text-danger{color:var(--btn-danger)}.text-success{color:var(--btn-success)}.input-valid{border-color:var(--btn-success-dark)!important;background:var(--feedback-success-bg)}.input-invalid{border-color:var(--btn-danger-dark)!important;background:var(--feedback-error-bg)}.input-loading{opacity:.6;pointer-events:none}.validation-message{font-size:13px;margin-top:4px;display:flex;align-items:center;gap:4px;line-height:1.4}.validation-error{color:var(--btn-danger-dark)}.validation-error:before{content:"⚠";font-size:14px}.validation-success{color:var(--btn-success-dark)}.validation-success:before{content:"✓";font-size:14px;font-weight:700}.input-wrapper{position:relative;display:inline-block;width:100%}.input-wrapper input{padding-right:30px}.input-validation-icon{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:16px;pointer-events:none}.input-validation-icon.success{color:var(--btn-success-dark)}.input-validation-icon.error{color:var(--btn-danger-dark)}.skeleton-container{padding:10px 0}.skeleton{background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-highlight) 50%,var(--skeleton-base) 75%);background-size:200% 100%;animation:skeleton-pulse 1.5s ease-in-out infinite;border-radius:4px}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-activity{display:flex;padding:6px 0;border-bottom:1px solid var(--border-secondary);align-items:center}.skeleton-activity .skeleton-drag{width:3%;height:20px;margin-left:20px}.skeleton-activity .skeleton-name{width:20%;height:20px;margin-right:15px}.skeleton-activity .skeleton-value{width:10%;height:20px;margin-right:10px}.skeleton-activity .skeleton-notes{width:52%;height:20px;margin-right:15px}.skeleton-activity .skeleton-actions{width:15%;height:30px;margin-right:20px}.skeleton-goal{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;padding:12px 0;border-bottom:1px solid var(--border-primary);align-items:center}.skeleton-goal .skeleton-checkbox{grid-column:1;width:18px;height:18px;margin-left:20px}.skeleton-goal .skeleton-description{grid-column:2;height:20px;width:80%}.skeleton-goal .skeleton-activity{grid-column:3;height:20px;width:70%}.skeleton-goal .skeleton-type{grid-column:4;height:24px;width:85px;border-radius:12px}.skeleton-goal .skeleton-criteria{grid-column:5;height:20px;width:75%}.skeleton-goal .skeleton-timeline{grid-column:6;height:20px;width:65%}.skeleton-goal .skeleton-status{grid-column:7;height:24px;width:70px;border-radius:12px}.skeleton-goal .skeleton-actions{grid-column:8;height:32px;width:150px;margin-right:20px}.logs-loading-skeleton{opacity:.7}.skeleton-log-cell{height:16px;width:100%;max-width:80px}.skeleton-log-cell-wide{height:16px;width:100%;max-width:150px}.skeleton-log-cell-sm{height:24px;width:24px}.logs-table .log-row{animation:logs-fade-in .2s ease-out}@keyframes logs-fade-in{0%{opacity:0}to{opacity:1}}.btn-loading{position:relative;pointer-events:none;opacity:.7}.btn-loading:after{content:"";position:absolute;width:12px;height:12px;top:50%;left:50%;margin-left:-6px;margin-top:-6px;border:2px solid #ffffff;border-radius:50%;border-top-color:transparent;animation:btn-spinner .6s linear infinite}@keyframes btn-spinner{to{transform:rotate(360deg)}}input:focus,button:focus,.icon-btn:focus,.editable-field:focus{outline:3px solid var(--focus-outline);outline-offset:2px}*:focus-visible{outline:3px solid var(--focus-outline);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.skeleton{animation:none;opacity:.6}.btn-loading:after{animation:none;display:none}.btn-loading:before{content:"...";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.bulk-actions-toolbar{animation:none}.modal-enter-active,.modal-leave-active,.modal-enter-active .modal-content,.modal-leave-active .modal-content{transition:none}}button:disabled,input:disabled{opacity:.5;cursor:not-allowed;background:var(--border-secondary)!important}.character-counter{font-size:12px;color:var(--text-secondary);margin-top:2px;text-align:right;line-height:1.4}.character-counter.warning{color:#ffc107}.character-counter.error{color:var(--btn-danger-dark)}.optimistic-pending{opacity:.6;transition:opacity .2s ease}.optimistic-success{animation:successFlash .3s ease}@keyframes successFlash{0%{background-color:transparent}50%{background-color:#4caf5033}to{background-color:transparent}}.optimistic-error{animation:errorShake .3s ease}@keyframes errorShake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000}.modal.show{display:block}.modal.confirm-dialog-modal{z-index:1100}.modal-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000080}.modal-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--input-bg);max-width:800px;width:90%;border-radius:8px;box-shadow:0 4px 20px var(--shadow);max-height:90vh;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-primary)}.modal-header h2{font-size:20px;font-weight:600;margin:0;color:var(--text-primary)}.modal-close{background:none;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);border-radius:4px;transition:background-color .15s ease,color .15s ease}.modal-close:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.modal-body{padding:20px;overflow-y:auto;flex:1}.placeholder-text{color:var(--text-secondary);text-align:center;font-style:italic;padding:40px 20px}.modal-enter-from{opacity:0}.modal-enter-from .modal-content{transform:translate(-50%,-50%) scale(.95)}.modal-enter-active{transition:opacity .15s ease-out}.modal-enter-active .modal-content{transition:transform .15s ease-out}.modal-enter-to{opacity:1}.modal-enter-to .modal-content{transform:translate(-50%,-50%) scale(1)}.modal-leave-from{opacity:1}.modal-leave-from .modal-content{transform:translate(-50%,-50%) scale(1)}.modal-leave-active{transition:opacity .15s ease-in}.modal-leave-active .modal-content{transition:transform .15s ease-in}.modal-leave-to{opacity:0}.modal-leave-to .modal-content{transform:translate(-50%,-50%) scale(.95)}.input-error{border-color:var(--btn-danger)!important;background-color:var(--feedback-error-bg)!important}.input-error:focus{outline:none;border-color:var(--btn-danger)!important;box-shadow:0 0 0 .2rem #dc354526!important}.validation-error{color:var(--btn-danger);font-size:12px;margin-top:4px;display:block}.goal-preview{background:var(--bg-tertiary);border:1px solid var(--selection-border);padding:16px 20px;border-radius:4px;font-size:15px;line-height:1.6;color:var(--text-primary);margin-top:20px}.goal-preview strong{font-weight:600;color:var(--btn-primary)}.highlight-activity{background-color:var(--feedback-warning-bg);transition:background-color .3s ease-in-out}.goals-table{display:grid;grid-template-columns:40px minmax(200px,2fr) minmax(120px,1fr) minmax(100px,.8fr) minmax(150px,1.5fr) minmax(120px,1fr) minmax(100px,.8fr) minmax(180px,auto);gap:0;width:100%}.goals-header{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;padding:10px 0;background:var(--bg-secondary);border-bottom:2px solid var(--border-primary);font-weight:600;line-height:1.3}.goals-header>div{display:flex;align-items:center;font-size:14px;font-weight:600;color:var(--text-primary);padding:0 10px}.goals-header>div:first-child{padding-left:20px}.goals-header>div:last-child{padding-right:20px}.goal-row{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;padding:var(--row-padding-vertical) 0;border-bottom:1px solid var(--border-secondary);align-items:center;transition:background-color .15s ease-out}.goal-row:hover{background:var(--row-hover-background)}#goals-list{display:contents}.goal-row>div{padding:0 10px}.goal-row>div:first-child{padding-left:20px}.goal-row>div:last-child{padding-right:20px;display:flex;gap:5px;align-items:center;justify-content:flex-end}.section-title{font-size:18px;font-weight:600;line-height:1.2;margin-bottom:16px;color:var(--text-primary);border-bottom:2px solid var(--btn-primary);padding-bottom:8px}.form-group{margin-bottom:16px}.form-label{display:block;font-size:16px;font-weight:500;line-height:1.5;margin-bottom:6px;color:var(--text-secondary)}.form-input,.form-select,.form-textarea{width:100%;padding:4px 6px;border:1px solid var(--input-border);border-radius:3px;font-size:16px;box-sizing:border-box;transition:border-color .15s ease-out,background-color .15s ease-out,box-shadow .15s ease-out}.form-input:hover:not(:disabled):not(:focus),.form-select:hover:not(:disabled):not(:focus),.form-textarea:hover:not(:disabled):not(:focus){border-color:var(--text-secondary)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--input-focus);outline:3px solid var(--focus-outline);outline-offset:2px;box-shadow:0 0 0 .2rem var(--input-focus-ring)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{opacity:.5;cursor:not-allowed;background:var(--border-secondary)!important}.form-textarea{min-height:80px;resize:vertical}.form-select[multiple]{min-height:120px}.radio-group{display:flex;flex-direction:column;gap:10px}.radio-option{display:flex;align-items:center;gap:8px}.radio-option input[type=radio]{width:18px;height:18px;cursor:pointer}.radio-option label{cursor:pointer;font-size:16px;line-height:1.5}.checkbox-group{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.checkbox-option{display:flex;align-items:center;gap:6px}.checkbox-option label{cursor:pointer;font-size:16px;line-height:1.5}.inline-inputs{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.inline-inputs input,.inline-inputs select{padding:4px 6px;border:1px solid var(--input-border);border-radius:3px;font-size:16px;transition:border-color .15s ease-out,background-color .15s ease-out,box-shadow .15s ease-out}.inline-inputs input:hover:not(:disabled):not(:focus),.inline-inputs select:hover:not(:disabled):not(:focus){border-color:var(--text-secondary)}.inline-inputs input:focus,.inline-inputs select:focus{border-color:var(--input-focus);outline:3px solid var(--focus-outline);outline-offset:2px;box-shadow:0 0 0 .2rem var(--input-focus-ring)}.inline-inputs input:disabled,.inline-inputs select:disabled{opacity:.5;cursor:not-allowed;background:var(--border-secondary)!important}.inline-inputs input[type=number]{width:100px}.inline-inputs input[type=date],.inline-inputs input[type=time]{width:auto}.inline-inputs select{min-width:120px}.badge-active{background:var(--feedback-success-bg);color:var(--feedback-success-text);border:1px solid var(--feedback-success-border)}.badge-inactive{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-primary)}.goal-type-badge{display:inline-block;background:var(--selection-bg);color:var(--btn-primary);padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;line-height:1.4;margin-top:8px}.date-entry{display:flex;align-items:center;gap:10px;margin-bottom:10px}.date-entry .date-month{flex:2;min-width:140px}.date-entry .date-day{flex:1;min-width:100px}.btn-remove-date{background:var(--btn-danger);color:#fff;border:none;border-radius:3px;min-width:44px;min-height:44px;font-size:20px;font-weight:700;cursor:pointer;line-height:1;padding:10px;flex-shrink:0;transition:all .15s ease-out;display:inline-flex;align-items:center;justify-content:center}.btn-remove-date:hover:not(:disabled){background:var(--btn-danger-hover)}.btn-remove-date:active:not(:disabled){transform:scale(.98)}.btn-remove-date:focus-visible{outline:3px solid var(--focus-outline);outline-offset:2px}.btn-remove-date:disabled{background:var(--btn-secondary)!important;cursor:not-allowed;opacity:.5}.preview-box{background:var(--bg-tertiary);border:2px solid var(--btn-primary);border-radius:3px;padding:16px;margin:16px 0}.preview-sentence{font-size:16px;font-weight:500;color:var(--text-primary);margin-bottom:8px}.preview-type{font-size:13px;line-height:1.4;color:var(--text-secondary);font-style:italic}.error-message{background-color:var(--feedback-error-bg);border:2px solid var(--btn-danger);border-radius:6px;color:var(--feedback-error-text);padding:12px 20px;margin-bottom:20px;font-size:16px;font-weight:500;display:flex;align-items:center;box-shadow:0 2px 4px var(--shadow)}.error-message:before{content:"⚠️ ";font-size:18px;margin-right:8px}[data-theme=dark] .btn:focus-visible,[data-theme=dark] .btn-remove-date:focus-visible,[data-theme=dark] .form-input:focus,[data-theme=dark] .form-select:focus,[data-theme=dark] .form-textarea:focus,[data-theme=dark] .inline-inputs input:focus,[data-theme=dark] .inline-inputs select:focus{outline:3px solid var(--focus-outline);outline-offset:2px}.dashboard-container{width:100%;min-height:100vh}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:8px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);gap:16px}.dashboard-header__left{display:flex;align-items:center;gap:12px}.dashboard-header__right{display:flex;align-items:center;gap:8px}.btn-save-layout{padding:6px 12px;font-size:13px}.btn-reset-layout{padding:6px 12px;font-size:13px;color:var(--text-secondary);background:transparent;border:1px solid var(--border-primary);border-radius:4px;cursor:pointer;transition:all .2s ease}.btn-reset-layout:hover{color:var(--text-primary);border-color:var(--btn-primary);background:var(--bg-tertiary)}.btn-reset-layout:focus{outline:2px solid var(--btn-primary);outline-offset:2px}.dashboard-grid-layout{min-height:calc(100vh - 140px);padding:20px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px}.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);gap:16px;height:calc(100vh - 140px);padding:20px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px}.dashboard-grid-item{display:flex}.dashboard-grid-item>.dashboard-card{flex:1;width:100%;height:100%}.dashboard-grid-item--add-button{background:transparent}.dashboard-empty-state{grid-column:2 / 4;grid-row:2 / 4;display:grid;place-items:center;text-align:center;color:var(--text-secondary);font-size:18px}.btn-add-card{background:var(--btn-primary);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .2s ease}.dashboard-empty-state .btn-add-card{padding:12px 24px;font-size:16px}.btn-add-card:hover{background:var(--btn-primary-hover)}.btn-add-card--compact{padding:8px 16px;font-size:14px;border:2px dashed var(--border-primary);background:transparent;color:var(--text-secondary);min-height:60px}.btn-add-card--compact:hover{background:var(--bg-tertiary);border-color:var(--btn-primary);color:var(--btn-primary)}.dashboard-card{overflow:hidden;background:rgba(26,31,38,var(--card-bg-opacity));backdrop-filter:blur(var(--card-backdrop-blur)) saturate(var(--card-backdrop-saturate));-webkit-backdrop-filter:blur(var(--card-backdrop-blur)) saturate(var(--card-backdrop-saturate));border:1px solid var(--border-primary);border-radius:8px;padding:0;display:flex;flex-direction:column;box-shadow:0 2px 4px var(--shadow);height:100%;width:100%}.dashboard-card__header{position:relative;padding:12px 16px;border-bottom:1px solid var(--border-primary);background:var(--bg-tertiary);font-weight:600;font-size:14px;color:var(--text-primary);cursor:grab;touch-action:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-card__header:active{cursor:grabbing}.dashboard-card__drag-handle{flex:1;cursor:grab}.dashboard-card__content{padding:12px;overflow:hidden;flex:1}.dashboard-card__content-wrapper{transform-origin:top left}.dashboard-card__activity-list{display:flex;flex-direction:column;gap:8px}.dashboard-card__activity-item{display:flex;align-items:center;gap:12px;padding:4px 0}.dashboard-card__activity-status{width:20px;height:20px;border-radius:50%;flex-shrink:0;background:var(--current-status-color, var(--status-default))}.dashboard-card__activity-name{flex:1;font-size:14px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-card__placeholder{padding:20px;text-align:center;color:var(--text-secondary);font-style:italic;font-size:14px}.dashboard-card__menu-btn{position:absolute;top:8px;right:12px;background:transparent;border:none;color:var(--text-secondary);font-size:20px;font-weight:700;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .15s ease,color .15s ease}.dashboard-card__menu-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.dashboard-card__menu-btn:focus{outline:2px solid var(--btn-primary);outline-offset:2px}.dashboard-card__zoom-controls{position:absolute;top:8px;right:44px;display:flex;align-items:center;gap:2px;opacity:0;transition:opacity .15s ease;pointer-events:none}.dashboard-card:hover .dashboard-card__zoom-controls,.dashboard-card:focus-within .dashboard-card__zoom-controls{opacity:1;pointer-events:auto}.dashboard-card__zoom-btn{background:var(--bg-secondary);border:1px solid var(--border-primary);color:var(--text-secondary);font-size:14px;font-weight:700;cursor:pointer;padding:2px 6px;border-radius:3px;min-width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.dashboard-card__zoom-btn:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--btn-primary)}.dashboard-card__zoom-btn:focus{outline:2px solid var(--btn-primary);outline-offset:1px}.dashboard-card__zoom-btn:disabled{opacity:.4;cursor:not-allowed}.dashboard-card__scale-display{font-size:12px;font-weight:500;color:var(--text-secondary);padding:2px 4px;min-width:36px;text-align:center;cursor:pointer;border-radius:3px;transition:background-color .15s ease,color .15s ease}.dashboard-card__scale-display:hover{background:var(--bg-secondary);color:var(--text-primary)}.dashboard-card__scale-display:focus{outline:2px solid var(--btn-primary);outline-offset:1px}.dashboard-card__scale-input{width:48px;height:24px;padding:2px 4px;font-size:12px;font-weight:500;text-align:center;border:1px solid var(--btn-primary);border-radius:3px;background:var(--bg-primary);color:var(--text-primary)}.dashboard-card__scale-input:focus{outline:2px solid var(--btn-primary);outline-offset:1px}.dashboard-card__scale-input::-webkit-outer-spin-button,.dashboard-card__scale-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.dashboard-card__scale-input[type=number]{-moz-appearance:textfield}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.checkbox-group{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto;padding:8px;border:1px solid var(--border-primary);border-radius:4px;background:var(--bg-primary)}.checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px;border-radius:4px;transition:background-color .15s ease}.checkbox-group label:hover{background:var(--bg-tertiary)}.modal-footer{display:flex;justify-content:space-between;align-items:center}.modal-footer-actions{display:flex;gap:12px}@keyframes dashboard-card-update-pulse{0%{box-shadow:0 2px 4px var(--shadow)}50%{box-shadow:0 0 12px var(--status-progress),0 2px 4px var(--shadow)}to{box-shadow:0 2px 4px var(--shadow)}}.dashboard-card--updating{animation:dashboard-card-update-pulse .6s ease-in-out}@media(prefers-reduced-motion:reduce){.dashboard-card--updating{animation:none}}.vue-grid-item.vue-grid-placeholder{background:var(--btn-success);opacity:.3;transition-duration:.1s;z-index:2;border-radius:8px}.vue-grid-item.vue-draggable-dragging{transition:none;z-index:3;opacity:.9}.vue-grid-item.resizing{opacity:.9}.vue-grid-item.resizing>.vue-resizable-handle:after{border-color:var(--btn-success);opacity:1}.vue-grid-item>.vue-resizable-handle{position:absolute;width:44px;height:44px;bottom:0;right:0;cursor:se-resize;background:transparent;touch-action:none}.vue-grid-item>.vue-resizable-handle:after{content:"";position:absolute;right:4px;bottom:4px;width:8px;height:8px;border-right:2px solid var(--border-primary);border-bottom:2px solid var(--border-primary);opacity:.5;transition:opacity .2s ease}.vue-grid-item:hover>.vue-resizable-handle:after{opacity:1;border-color:var(--btn-primary)}@media(pointer:coarse){.vue-grid-item>.vue-resizable-handle{display:none}}@media(max-width:768px){.dashboard-grid{grid-template-columns:1fr;grid-template-rows:auto}.dashboard-empty-state{grid-column:1;grid-row:auto}.dashboard-card{grid-column:1!important}.dashboard-header{padding:8px 12px}.form-row{grid-template-columns:1fr}}.size-presets{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.size-preset{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid var(--border-primary);border-radius:4px;cursor:pointer;transition:border-color .2s ease,background .2s ease}.size-preset:hover{border-color:var(--btn-primary);background:var(--bg-tertiary)}.size-preset:has(input:checked){border-color:var(--btn-primary);background:var(--bg-tertiary)}.size-preset input[type=radio]{margin:0}.size-preview{display:inline-block;background:var(--btn-primary);opacity:.6;border-radius:2px}.size-preview--small{width:12px;height:12px}.size-preview--medium{width:24px;height:24px}.size-preview--large{width:24px;height:48px}.size-preview--wide{width:48px;height:24px}body.dashboard-focus-mode{background:var(--bg-primary);transition:background var(--focus-transition-duration) var(--focus-transition-timing)}body.dashboard-focus-mode .page-header{display:none}.dashboard-container--focus-mode{position:relative;z-index:1;transition:all var(--focus-transition-duration) var(--focus-transition-timing)}.dashboard-container--focus-mode .dashboard-card{box-shadow:var(--focus-card-shadow),var(--focus-card-glow);transition:box-shadow var(--focus-transition-duration) var(--focus-transition-timing)}.dashboard-container--focus-mode .dashboard-header{display:none}.btn-focus-mode{background:var(--btn-secondary);color:#fff;border:none;border-radius:4px;transition:all .15s ease-out}.btn-focus-mode:hover{background:var(--btn-secondary-hover);transform:scale(1.02)}.btn-focus-mode:focus-visible{outline:3px solid var(--focus-outline);outline-offset:2px}.btn-focus-mode[aria-pressed=true]{background:var(--btn-primary);box-shadow:0 0 8px var(--focus-dark-accent)}.btn-focus-mode[aria-pressed=true]:hover{background:var(--btn-primary-hover)}.dashboard-container--focus-mode.hide-card-headers .dashboard-card__header{display:none}.dashboard-container--focus-mode.hide-card-headers .dashboard-card__content{padding-top:16px;border-radius:8px 8px 0 0}.dashboard-container--focus-mode.hide-card-headers .dashboard-card{border-radius:8px}.focus-mode-hint{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:var(--z-focus-controls);background:var(--focus-dark-card-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--focus-dark-card-border);border-radius:8px;padding:12px 20px;box-shadow:var(--focus-card-shadow);display:flex;align-items:center;gap:16px;color:var(--focus-dark-text-primary);font-size:14px;animation:focus-hint-enter .3s ease-out;opacity:0;pointer-events:none;transition:opacity .3s ease}.dashboard-container--focus-mode:hover .focus-mode-hint{opacity:1;pointer-events:auto}.focus-mode-exit-btn{position:fixed;top:16px;right:16px;z-index:var(--z-focus-controls);opacity:0;pointer-events:none;transition:opacity .3s ease}.dashboard-container--focus-mode:hover .focus-mode-exit-btn{opacity:1;pointer-events:auto}.focus-mode-exit-btn button{padding:8px;border:1px solid var(--focus-dark-card-border);border-radius:6px;cursor:pointer;background:var(--focus-dark-card-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--focus-card-shadow);color:var(--focus-dark-text-primary);transition:all .15s ease;display:flex;align-items:center;justify-content:center}.focus-mode-exit-btn button:hover{background:#ffffff26;transform:scale(1.05)}.focus-mode-exit-btn button:focus-visible{outline:3px solid var(--focus-outline);outline-offset:2px}.focus-mode-exit-btn button:active{transform:scale(.95)}.focus-mode-hint__option{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .15s ease}.focus-mode-hint__option:hover{background:#ffffff1a}.focus-mode-hint__option input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--btn-primary)}.focus-mode-hint__text{color:var(--focus-dark-text-primary);opacity:.8;font-size:13px;padding-left:16px;border-left:1px solid var(--focus-dark-card-border)}@keyframes focus-hint-enter{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}[data-theme=dark] .btn-focus-mode{background:var(--btn-secondary)}[data-theme=dark] .btn-focus-mode[aria-pressed=true]{background:var(--btn-primary);box-shadow:0 0 12px var(--focus-dark-accent)}[data-theme=dark] .focus-mode-hint{background:var(--focus-dark-card-bg);border-color:var(--focus-dark-card-border);color:var(--focus-dark-text-primary)}[data-theme=dark] .focus-mode-hint__text{color:var(--focus-dark-text-primary);border-left-color:var(--focus-dark-card-border)}[data-theme=dark] .focus-mode-exit-btn button{background:var(--focus-dark-card-bg);border-color:var(--focus-dark-card-border);color:var(--focus-dark-text-primary)}:root:not([data-theme=dark]) .focus-mode-hint{background:var(--focus-light-card-bg);border-color:var(--focus-light-card-border);color:var(--focus-light-text-primary)}:root:not([data-theme=dark]) .focus-mode-hint__text{color:var(--focus-light-text-primary);border-left-color:var(--focus-light-card-border)}:root:not([data-theme=dark]) .focus-mode-hint__option:hover{background:#0000000d}:root:not([data-theme=dark]) .focus-mode-exit-btn button{background:var(--focus-light-card-bg);border-color:var(--focus-light-card-border);color:var(--focus-light-text-primary)}:root:not([data-theme=dark]) .focus-mode-exit-btn button:hover{background:#00000014}@media(max-width:768px){.focus-mode-hint{flex-direction:column;gap:12px;padding:16px;bottom:16px;left:16px;right:16px;transform:none;width:calc(100% - 32px)}.focus-mode-hint__text{border-left:none;border-top:1px solid var(--focus-dark-card-border);padding-left:0;padding-top:12px;text-align:center;width:100%}:root:not([data-theme=dark]) .focus-mode-hint__text{border-top-color:var(--focus-light-card-border)}.focus-mode-exit-btn{top:12px;right:12px}.focus-mode-exit-btn button{padding:10px}}@media(max-width:768px){@keyframes focus-hint-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}@media(prefers-reduced-motion:reduce){.dashboard-container--focus-mode,.dashboard-container--focus-mode .dashboard-card,.btn-focus-mode,.focus-mode-hint,.focus-mode-exit-btn,.focus-mode-exit-btn button{transition-duration:.01ms!important}.focus-mode-hint{animation:none}body.dashboard-focus-mode{transition-duration:.01ms!important}}RESPONSIVE DESIGN FOR GOALS TABLE ============================================ Media query for smaller desktop resolutions (1366×768,1440×900) to prevent horizontal scrolling. Reduces column minimum widths while maintaining proportional distribution via fr units. ============================================ */ @media (max-width: 1440px){.goals-table{grid-template-columns:40px minmax(180px,2fr) minmax(100px,1fr) minmax(90px,.8fr) minmax(130px,1.5fr) minmax(100px,1fr) minmax(90px,.8fr) minmax(160px,auto)}}.badge{display:inline-block;padding:4px 8px;border-radius:3px;font-size:14px;font-weight:600;text-transform:uppercase;line-height:1;white-space:nowrap}.badge-recurring{background:var(--btn-primary);color:#fff}.badge-milestone{background:var(--btn-warning);color:#fff}.status-active{background:var(--btn-success);color:#fff}.status-paused{background:var(--btn-warning);color:var(--text-primary)}[data-theme=dark] .status-paused{color:var(--bg-primary)}.status-completed{background:var(--btn-secondary);color:#fff}.status-failed{background:var(--btn-danger);color:#fff}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease-out,visibility .2s ease-out}.modal-overlay.show{opacity:1;visibility:visible;pointer-events:auto}.modal-container{background:var(--input-bg);border:1px solid var(--border-primary);border-radius:8px;max-width:600px;width:90%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 4px 20px var(--shadow);opacity:0;transform:scale(.95);transition:opacity .2s ease-out,transform .2s ease-out}.modal-overlay.show .modal-container{opacity:1;transform:scale(1)}.modal-header{padding:16px 20px;border-bottom:1px solid var(--border-primary);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.modal-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.modal-close-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:10px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s ease-out}.modal-close-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.modal-close-btn:active{transform:scale(.98)}.modal-body{padding:20px;overflow-y:auto;flex:1;color:var(--text-primary)}.modal-footer{padding:16px 20px;border-top:1px solid var(--border-primary);display:flex;gap:8px;justify-content:flex-end;flex-shrink:0}body.modal-open{overflow:hidden}.goal-edit-btn{background:var(--btn-primary);color:#fff}.goal-edit-btn:hover:not(:disabled){background:var(--btn-primary-hover)}.goal-evaluate-btn{background:var(--btn-success);color:#fff}.goal-evaluate-btn:hover:not(:disabled){background:var(--btn-success-hover)}.goal-delete-btn{background:var(--btn-danger);color:#fff}.goal-delete-btn:hover:not(:disabled){background:var(--btn-danger-hover)}.flex-row{display:flex}.flex-row-center{display:flex;align-items:center}.flex-row-between{display:flex;justify-content:space-between;align-items:center}.flex-gap-12{gap:12px}.display-contents{display:contents}.text-left{text-align:left}.text-center{text-align:center}.m-0{margin:0}.mb-20{margin-bottom:20px}.mt-10{margin-top:10px}.p-10{padding:10px}.confirm-dialog-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#0000004d;z-index:2000;opacity:0;transition:opacity .15s ease-out}.confirm-dialog-backdrop.show{opacity:1}.confirm-dialog{background:var(--input-bg);border:1px solid var(--border-primary);border-radius:8px;box-shadow:0 4px 20px var(--shadow);padding:16px;min-width:320px;max-width:480px}@media(prefers-reduced-motion:reduce){.confirm-dialog-backdrop{transition:none}.logs-table .log-row,.skeleton{animation:none}}.confirm-dialog-message{font-size:16px;line-height:1.5;color:var(--text-primary);margin-bottom:16px}.confirm-dialog-buttons{display:flex;gap:8px;justify-content:flex-end}.confirm-dialog-buttons .btn{min-width:80px}.confirm-dialog-confirm:focus,.confirm-dialog-cancel:focus{outline:3px solid var(--btn-primary);outline-offset:2px}.connection-status{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:4px;background:var(--bg-secondary);border:1px solid var(--border-primary);font-size:12px;-webkit-user-select:none;user-select:none;transition:all .3s ease}.connection-dot{width:8px;height:8px;border-radius:50%;background:var(--btn-secondary);transition:background-color .3s ease}.connection-text{color:var(--text-secondary);font-weight:500}.connection-status[data-state=CONNECTED] .connection-dot{background:var(--btn-success);animation:pulse-green 2s infinite}.connection-status[data-state=CONNECTED] .connection-text{color:var(--btn-success)}.connection-status[data-state=CONNECTING] .connection-dot,.connection-status[data-state=RECONNECTING] .connection-dot{background:var(--status-progress);animation:pulse-yellow 1s infinite}.connection-status[data-state=CONNECTING] .connection-text,.connection-status[data-state=RECONNECTING] .connection-text{color:var(--status-progress)}.connection-status[data-state=DISCONNECTED] .connection-dot,.connection-status[data-state=ERROR] .connection-dot{background:var(--btn-danger)}.connection-status[data-state=DISCONNECTED] .connection-text,.connection-status[data-state=ERROR] .connection-text{color:var(--btn-danger)}@keyframes pulse-green{0%,to{opacity:1;box-shadow:0 0 #28a74566}50%{opacity:.8;box-shadow:0 0 0 4px #28a74500}}@keyframes pulse-yellow{0%,to{opacity:1;box-shadow:0 0 #ffc10766}50%{opacity:.6;box-shadow:0 0 0 4px #ffc10700}}
