@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap";:root{--bg-primary: #f5f5f5;--bg-secondary: #ffffff;--bg-tertiary: #f0f0f0;--text-primary: #1a1a1a;--text-secondary: #6b6b6b;--text-muted: #858585;--border-color: rgba(0, 0, 0, .09);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 1px 4px rgba(0, 0, 0, .06);--shadow-lg: 0 2px 8px rgba(0, 0, 0, .08);--quadrant-urgent: #fdf0f0;--quadrant-not-urgent: #f0f4fb;--quadrant-delegate: #fdf5ed;--quadrant-sometime: #f0f7f0;--quadrant-urgent-accent: #c97a7a;--quadrant-not-urgent-accent: #7a9cc9;--quadrant-delegate-accent: #b09a7a;--quadrant-sometime-accent: #7a9a7a;--accent-primary: #6b6b6b;--accent-hover: #3a3a3a;--accent-success: #6b8e6b;--accent-warning: #a88e6b;--accent-danger: #a86b6b;--text-on-accent: #ffffff;--accent-info: #6b84a8;--danger-bg: #fbeaea;--success-bg: #ebf3eb;--warning-bg: #f7f0e6;--info-bg: #e9eef6;--priority-critical: #c94040;--priority-critical-bg: #fde8e8;--priority-high: #ad6216;--priority-high-bg: #fdf0e3;--priority-medium: #4d70a8;--priority-medium-bg: #e8eef8;--priority-low: #858585;--priority-low-bg: #f0f0f0;--z-sticky: 100;--z-dropdown: 200;--z-drag: 500;--z-drawer: 1000;--z-modal: 1100;--z-lightbox: 10000;--z-toast: 10500;--z-confirm: 11000;--shadow-xl: 0 10px 30px rgba(0, 0, 0, .18);--status-overdue: #c97a7a;--status-upcoming: #7a9cc9;--status-completed: #8a9a8a;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: .75rem;--spacing-lg: 1rem;--spacing-xl: 1.5rem;--radius-sm: 3px;--radius-md: 5px;--radius-lg: 7px;--font-xs: .6875rem;--font-sm: .8125rem;--font-base: .9375rem;--font-lg: 1.0625rem;--font-xl: 1.25rem;--font-2xl: 1.5rem;--font-3xl: 1.875rem;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--touch-target-min: 44px;--button-height-sm: 32px;--button-height-md: 40px;--button-height-lg: 48px;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px)}@media(min-width:640px){:root{--spacing-md: 1rem;--spacing-lg: 1.25rem;--spacing-xl: 2rem;--touch-target-min: 36px;--button-height-sm: 28px;--button-height-md: 34px}}@media(min-width:1024px){:root{--spacing-lg: 1.5rem;--spacing-xl: 2.5rem}}:root[data-theme=dark]{--bg-primary: #141414;--bg-secondary: #1e1e1e;--bg-tertiary: #282828;--text-primary: #e8e8e8;--text-secondary: #a0a0a0;--text-muted: #7c7c7c;--border-color: rgba(255, 255, 255, .08);--quadrant-urgent: #2a2020;--quadrant-not-urgent: #1e2330;--quadrant-delegate: #2a2518;--quadrant-sometime: #1e2a1e;--quadrant-urgent-accent: #d88888;--quadrant-not-urgent-accent: #88a8d8;--quadrant-delegate-accent: #c0aa88;--quadrant-sometime-accent: #88aa88;--accent-primary: #9a9a9a;--accent-hover: #c0c0c0;--accent-success: #7a9a7a;--accent-warning: #b09a7a;--accent-danger: #b07a7a;--text-on-accent: #141414;--accent-info: #8aa2c4;--danger-bg: rgba(176, 122, 122, .16);--success-bg: rgba(122, 154, 122, .16);--warning-bg: rgba(176, 154, 122, .16);--info-bg: rgba(138, 162, 196, .16);--priority-critical: #e07070;--priority-critical-bg: rgba(224, 112, 112, .16);--priority-high: #e0a060;--priority-high-bg: rgba(224, 160, 96, .16);--priority-medium: #88a8d8;--priority-medium-bg: rgba(136, 168, 216, .16);--priority-low: #8a8a8a;--priority-low-bg: rgba(255, 255, 255, .06);--shadow-xl: 0 10px 30px rgba(0, 0, 0, .5);--status-overdue: #d88888;--status-upcoming: #88a8d8;--status-completed: #98a898}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:400;font-feature-settings:"cv02","cv03","cv04","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);overflow:hidden;height:100dvh;height:100vh;padding-top:var(--safe-area-top);padding-right:var(--safe-area-right);padding-bottom:var(--safe-area-bottom);padding-left:var(--safe-area-left);text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;font-size:var(--font-base);line-height:var(--leading-normal);letter-spacing:-.01em}#root{height:100%;display:flex;flex-direction:column}button{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:400;cursor:pointer;border:none;background:none;outline:none;transition:all .15s ease;min-height:var(--touch-target-min);min-width:var(--touch-target-min);-webkit-tap-highlight-color:rgba(0,0,0,.05);touch-action:manipulation;letter-spacing:-.01em}button:hover{opacity:.8}button:active{transform:scale(.98);opacity:.7}@media(min-width:640px){button{min-height:var(--button-height-md);min-width:unset}button:active{transform:scale(1)}}input:not([type=checkbox]):not([type=radio]),textarea{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:400;font-size:var(--font-base);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);color:var(--text-primary);outline:none;transition:border-color .15s ease;min-height:var(--button-height-md);-webkit-appearance:none;appearance:none;letter-spacing:-.01em}@media(min-width:640px){input:not([type=checkbox]):not([type=radio]),textarea{min-height:var(--button-height-md)}}@media(max-width:639px){input:not([type=checkbox]):not([type=radio]),textarea,select{font-size:16px}}input:not([type=checkbox]):not([type=radio]):focus,textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px #6b6b6b14}input[type=checkbox]{width:14px;height:14px;min-height:14px;min-width:14px;cursor:pointer;accent-color:var(--accent-primary);flex-shrink:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}[role=dialog]:focus,[role=alertdialog]:focus{outline:none}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}svg.iconify{vertical-align:-.15em;flex-shrink:0}.priority-pill{display:inline-flex;align-items:center;gap:.25rem;border-radius:999px;white-space:nowrap;line-height:1}.priority-pill--small{padding:.125rem .375rem;font-size:var(--font-xs)}.priority-pill--medium{padding:.25rem .625rem;font-size:var(--font-sm)}.priority-pill--large{padding:.375rem .875rem;font-size:var(--font-base)}.priority-pill--critical{background:var(--priority-critical-bg);color:var(--priority-critical)}.priority-pill--high{background:var(--priority-high-bg);color:var(--priority-high)}.priority-pill--medium{background:var(--priority-medium-bg);color:var(--priority-medium)}.priority-pill--low{background:var(--priority-low-bg);color:var(--priority-low)}.task-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:3px 6px;box-shadow:var(--shadow-sm);cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none;position:relative;min-height:36px;display:flex;flex-direction:column;-webkit-touch-callout:none}@media(min-width:640px){.task-card{padding:var(--spacing-sm)}}@media(hover:hover){.task-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}}.task-card:active{transform:scale(.98);box-shadow:var(--shadow-sm)}.task-card.dragging{cursor:grabbing;box-shadow:var(--shadow-lg);z-index:var(--z-drag);opacity:.9}.task-card.completed{opacity:.6;order:999}.task-card.completed .task-title{text-decoration:line-through;color:var(--text-muted)}.task-card.flashing{animation:flash .4s ease-in-out 3}@keyframes flash{0%,to{background:var(--bg-secondary);transform:scale(1)}50%{background:var(--accent-primary);transform:scale(1.02)}}.task-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-xs);margin-bottom:1px}.drag-handle{cursor:grab;padding:var(--spacing-xs);color:var(--text-muted);opacity:.3;transition:opacity .2s ease;-webkit-user-select:none;user-select:none;flex-shrink:0;min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center;margin:calc(var(--spacing-xs) * -1)}@media(hover:hover){.drag-handle:hover{opacity:.7}}.drag-handle:active{cursor:grabbing;opacity:1}.drag-icon{font-size:16px;line-height:1}.task-checkbox{width:20px;height:20px;cursor:pointer;margin:2px 0 0;flex-shrink:0;min-width:32px;min-height:32px;padding:6px}@media(min-width:640px){.task-checkbox{width:14px;height:14px;min-width:auto;min-height:auto;padding:0}}.task-title{font-size:var(--font-sm);font-weight:400;color:var(--text-primary);margin:0;line-height:var(--leading-normal);flex:1;cursor:text;word-break:break-word;-webkit-user-select:text;user-select:text}@media(min-width:640px){.task-title{font-size:var(--font-base)}}@media(hover:hover){.task-title:hover{opacity:.8}}.task-title-input{font-size:var(--font-sm);font-weight:400;color:var(--text-primary);margin:0;line-height:var(--leading-normal);flex:1;border:none;background:var(--bg-tertiary);padding:3px 6px;border-radius:var(--radius-sm);outline:none;min-height:var(--button-height-sm)}@media(min-width:640px){.task-title-input{font-size:var(--font-base)}}.delegate-badge{font-size:var(--font-xs);padding:3px 6px;background:var(--accent-warning);color:var(--bg-secondary);border-radius:var(--radius-sm);font-weight:400;white-space:nowrap;line-height:1}.task-description{font-size:var(--font-xs);color:var(--text-secondary);margin:2px 0;line-height:var(--leading-normal);display:none;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}@media(min-width:640px){.task-description{font-size:var(--font-sm);-webkit-line-clamp:2}}.task-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:2px;max-height:32px;overflow:hidden}@media(min-width:640px){.task-tags{max-height:none}}.task-tag{display:inline-flex;align-items:center;gap:3px;padding:3px 6px;border-radius:var(--radius-sm);font-size:var(--font-xs);font-weight:400;color:#fff;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1}.task-tag.icon-only{padding:var(--spacing-xs);max-width:none}.task-tag-more{display:inline-block;padding:3px 6px;border-radius:var(--radius-sm);font-size:var(--font-xs);font-weight:400;color:var(--text-muted);background:var(--bg-tertiary);line-height:1}.task-footer{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-xs);margin-top:2px;padding-top:3px;border-top:1px solid var(--border-color)}.task-footer-left{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.checklist-progress{font-size:var(--font-xs);color:var(--accent-success);font-weight:400;line-height:1}.due-date{font-size:var(--font-xs);color:var(--text-secondary);font-weight:400;line-height:1}.due-date.overdue{color:var(--status-overdue);font-weight:400}.due-date.upcoming{color:var(--status-upcoming)}.priority-indicator{font-size:var(--font-sm);color:var(--accent-warning)}.task-card{min-height:auto}@media(min-width:640px){.grid-view .task-card{min-height:80px}.grid-view .task-card .task-footer{margin-top:auto}}@media(min-width:1024px){.grid-view .task-card{min-height:100px}}@media(prefers-reduced-motion:reduce){.task-card,.task-card:hover,.task-card:active{transform:none!important;transition:none!important}.task-card.flashing{animation:none!important}}.task-card.overdue{border-left:3px solid var(--status-overdue)}.task-card.due-today{border-left:3px solid var(--accent-warning)}.task-card.due-soon{border-left:3px solid var(--status-upcoming)}.stale-indicator{display:inline-flex;align-items:center;color:var(--text-muted);opacity:.6}.due-date.due-today{color:var(--accent-warning);font-weight:400}.quadrant{display:flex;flex-direction:column;overflow:hidden;background:var(--bg-secondary);transition:all .2s ease;min-height:0}.quadrant.drag-over{box-shadow:inset 0 0 0 2px var(--accent-primary)}.quadrant-header{padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--border-color);flex-shrink:0;min-height:32px;display:flex;flex-direction:column;justify-content:center}.quadrant-title{font-size:var(--font-xs);font-weight:400;margin-bottom:2px;color:var(--text-primary);line-height:1;display:flex;align-items:center;gap:2px}.quadrant-title.editable{cursor:pointer}.quadrant-title.editable:hover{color:var(--accent-primary)}.quadrant-title .edit-icon{opacity:0;transition:opacity .2s ease;flex-shrink:0}.quadrant-title.editable:hover .edit-icon{opacity:.6}.quadrant-description{font-size:var(--font-xs);color:var(--text-secondary);line-height:var(--leading-normal)}.quadrant-description.editable{cursor:pointer}.quadrant-description.editable:hover{color:var(--text-primary)}.quadrant-title-input,.quadrant-description-input{width:100%;background:var(--bg-primary);border:1px solid var(--accent-primary);border-radius:var(--radius-sm);color:var(--text-primary);outline:none;padding:var(--spacing-xs) var(--spacing-sm)}.quadrant-title-input{font-size:var(--font-sm);font-weight:400;margin-bottom:var(--spacing-xs)}.quadrant-description-input{font-size:var(--font-xs)}@media(min-width:640px){.quadrant-header{padding:var(--spacing-xs) var(--spacing-sm)}.quadrant-title{font-size:var(--font-sm)}.quadrant-description{font-size:var(--font-xs)}}.quadrant-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:3px;-webkit-overflow-scrolling:touch}.quadrant-content{display:flex;flex-direction:column;gap:2px}@media(min-width:640px){.quadrant-content{padding:4px}.quadrant-content.grid-view{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:2px;align-content:start}.quadrant-content.list-view{display:flex;flex-direction:column;gap:2px}}@media(min-width:1024px){.quadrant-content.grid-view{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--spacing-sm)}}.empty-message{text-align:center;color:var(--text-muted);font-size:var(--font-sm);padding:var(--spacing-lg);line-height:var(--leading-relaxed)}@media(min-width:1024px){.quadrant-content::-webkit-scrollbar{width:6px}.quadrant-content::-webkit-scrollbar-track{background:transparent}.quadrant-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-sm)}.quadrant-content::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}}.quadrant-add-btn{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-sm);cursor:pointer;transition:all .2s ease;margin-bottom:var(--spacing-sm);display:flex;align-items:center;justify-content:center;gap:2px;min-height:var(--button-height-md);touch-action:manipulation}.quadrant-add-btn:hover{background:var(--bg-tertiary);border-color:var(--accent-primary);color:var(--accent-primary)}.quadrant-add-btn:active{transform:scale(.98)}.quadrant-quick-add{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border:2px solid var(--accent-primary);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-base);margin-bottom:var(--spacing-sm);outline:none;min-height:var(--button-height-md);-webkit-appearance:none;appearance:none}.quadrant-quick-add::placeholder{color:var(--text-muted)}.quadrant-quick-add:focus{box-shadow:0 0 0 3px #7a7a7a1a}.completed-section{margin-top:var(--spacing-sm);width:100%}.completed-toggle{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;gap:2px;color:var(--text-secondary);font-size:var(--font-sm);cursor:pointer;transition:all .2s ease;min-height:var(--button-height-md);touch-action:manipulation}.completed-toggle:hover{color:var(--text-primary);background:var(--bg-tertiary)}.completed-toggle:active{transform:scale(.98)}.completed-tasks{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}@media(min-width:640px){.grid-view .completed-tasks{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--spacing-sm)}}@media(min-width:1024px){.grid-view .completed-tasks{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--spacing-md)}}.quick-add{display:flex;align-items:center;flex-wrap:wrap}.quick-add-trigger{white-space:nowrap;font-weight:400;display:flex;align-items:center;gap:var(--spacing-xs);min-height:var(--button-height-md);padding:var(--spacing-sm) var(--spacing-md)}.quick-add-form{display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:stretch;animation:slideIn .2s ease;width:100%}@media(min-width:640px){.quick-add-form{flex-direction:row;align-items:center;width:auto}}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.quadrant-select{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-size:var(--font-base);cursor:pointer;outline:none;transition:border-color .2s ease;min-height:var(--button-height-md);-webkit-appearance:none;appearance:none}.quadrant-select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #7a7a7a1a}.quick-add-input{width:100%;font-size:var(--font-base);min-height:var(--button-height-md)}@media(min-width:640px){.quick-add-input{width:auto;min-width:200px}}@media(prefers-reduced-motion:reduce){.quick-add-form{animation:none!important}}.checklist{margin-top:var(--spacing-md)}@media(min-width:640px){.checklist{margin-top:var(--spacing-lg)}}.checklist-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm);gap:var(--spacing-sm);flex-wrap:wrap}.checklist-header h3{font-size:var(--font-lg);font-weight:400;margin:0;color:var(--text-primary);line-height:var(--leading-tight)}.checklist-progress-text{font-size:var(--font-base);color:var(--text-secondary);font-weight:400;line-height:var(--leading-normal)}.progress-bar{width:100%;height:8px;background:var(--bg-tertiary);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:var(--spacing-md)}@media(min-width:640px){.progress-bar{height:6px}}.progress-fill{height:100%;background:var(--accent-success);transition:width .3s ease;border-radius:var(--radius-sm)}.checklist-items{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.checklist-item{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm);background:var(--bg-tertiary);border-radius:var(--radius-sm);border:1px solid var(--border-color);transition:all .2s ease;min-height:var(--touch-target-min)}.checklist-item.dragging{background:var(--bg-secondary);border-color:var(--accent-primary);box-shadow:var(--shadow-lg);z-index:10}@media(hover:hover){.checklist-item:hover{background:var(--bg-primary)}}.checklist-item:active{background:var(--bg-primary);transform:scale(.99)}.drag-handle{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xs);color:var(--text-muted);cursor:grab;border-radius:var(--radius-sm);flex-shrink:0;touch-action:none;background:transparent;border:none;transition:all .15s ease}.drag-handle:hover{color:var(--text-secondary);background:var(--bg-primary)}.drag-handle:active,.checklist-item.dragging .drag-handle{cursor:grabbing;color:var(--accent-primary)}.checklist-item-content{display:flex;align-items:center;gap:var(--spacing-sm);flex:1;margin:0;min-height:24px}.checklist-checkbox{width:16px;height:16px;cursor:pointer;margin:0;flex-shrink:0}.checklist-text{font-size:var(--font-base);color:var(--text-primary);transition:all .2s ease;line-height:var(--leading-normal);word-break:break-word}.checklist-text.checked{text-decoration:line-through;color:var(--text-muted)}.has-details-icon{display:inline-flex;align-items:center;color:var(--accent-primary);margin-left:var(--spacing-xs);flex-shrink:0;opacity:.7}.checklist-item.editing{background:var(--bg-primary);border-color:var(--accent-primary)}.checklist-edit-input{flex:1;font-size:var(--font-base);padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-secondary);border:1px solid var(--accent-primary);border-radius:var(--radius-sm);color:var(--text-primary);outline:none;min-height:32px}.checklist-edit-input:focus{box-shadow:0 0 0 2px #667eea33}.delete-item-btn{min-width:var(--button-height-sm);min-height:var(--button-height-sm);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:var(--font-lg);color:var(--text-muted);background:transparent;flex-shrink:0;transition:all .2s ease;touch-action:manipulation}@media(hover:hover){.delete-item-btn:hover{background:var(--accent-danger);color:var(--bg-secondary)}}.delete-item-btn:active{transform:scale(.95);background:var(--accent-danger);color:var(--bg-secondary)}.add-item-form{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}@media(min-width:640px){.add-item-form{flex-wrap:nowrap}}.add-item-input{flex:1;font-size:var(--font-base);min-height:var(--button-height-md);min-width:100%}@media(min-width:640px){.add-item-input{min-width:auto}}.add-item-btn{padding:var(--spacing-sm) var(--spacing-md);background:var(--accent-primary);color:var(--bg-secondary);border-radius:var(--radius-md);font-size:var(--font-base);font-weight:400;transition:all .2s ease;min-height:var(--button-height-md);touch-action:manipulation;flex:1}@media(min-width:640px){.add-item-btn{flex:0 0 auto}}@media(hover:hover){.add-item-btn:hover{background:var(--accent-hover);opacity:1}}.add-item-btn:active{transform:scale(.98);background:var(--accent-hover)}.checklist-item{flex-direction:column;align-items:stretch;gap:0}.checklist-item-row{display:flex;align-items:center;gap:var(--spacing-xs);min-height:var(--touch-target-min)}.checklist-item.expanded{background:var(--bg-primary)}.details-toggle-btn{min-width:28px;min-height:28px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-muted);background:transparent;border:none;flex-shrink:0;transition:all .15s ease;touch-action:manipulation}.details-toggle-btn:hover{color:var(--text-secondary);background:var(--bg-secondary)}.details-toggle-btn.has-details{color:var(--accent-primary)}.details-toggle-btn.has-details:hover{color:var(--accent-hover)}.checklist-item-details{margin-top:var(--spacing-xs);padding:var(--spacing-sm);padding-left:calc(18px + var(--spacing-xs) + 16px + var(--spacing-sm));border-top:1px solid var(--border-color)}.details-text{font-size:var(--font-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:background .15s ease;white-space:pre-wrap;word-break:break-word}.details-text:hover{background:var(--bg-secondary)}.details-text.empty{color:var(--text-muted);font-style:italic}.details-edit-input{width:100%;font-size:var(--font-sm);padding:var(--spacing-sm);background:var(--bg-secondary);border:1px solid var(--accent-primary);border-radius:var(--radius-sm);color:var(--text-primary);outline:none;resize:vertical;min-height:60px;font-family:inherit;line-height:var(--leading-relaxed)}.details-edit-input:focus{box-shadow:0 0 0 2px #667eea33}.details-edit-input::placeholder{color:var(--text-muted)}.completed-section{margin-top:var(--spacing-sm);border-top:1px solid var(--border-color);padding-top:var(--spacing-sm)}.completed-toggle{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:none;color:var(--text-muted);font-size:var(--font-sm);cursor:pointer;border-radius:var(--radius-sm);transition:all .15s ease;width:100%;justify-content:flex-start}.completed-toggle:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.completed-items{margin-top:var(--spacing-xs);opacity:.7}.completed-items .checklist-item{background:transparent;border-color:transparent}.completed-items .checklist-item:hover{background:var(--bg-tertiary);border-color:var(--border-color)}@media(prefers-reduced-motion:reduce){.progress-fill,.checklist-item,.delete-item-btn,.add-item-btn{transition:none!important}.checklist-item:active,.delete-item-btn:active,.add-item-btn:active{transform:none!important}}.tags-section{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-color)}@media(min-width:640px){.tags-section{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg)}}.tags-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.tags-section h3{font-size:var(--font-lg);font-weight:400;margin:0;color:var(--text-primary);line-height:var(--leading-tight)}.manage-tags-btn{padding:var(--spacing-xs);color:var(--text-muted);background:transparent;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;transition:all .2s ease}@media(hover:hover){.manage-tags-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}}.manage-tags-section{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.manage-tags-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.manage-tag-item{display:flex;align-items:center;gap:var(--spacing-sm)}.tag-chip.editable{cursor:pointer}@media(hover:hover){.tag-chip.editable:hover{opacity:.8}}.delete-tag-btn{padding:var(--spacing-xs);color:var(--text-muted);background:transparent;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;transition:all .2s ease}@media(hover:hover){.delete-tag-btn:hover{color:var(--accent-danger);background:var(--bg-primary)}}.edit-tag-form{flex:1;display:flex;flex-direction:column;gap:var(--spacing-sm);background:var(--bg-secondary);padding:var(--spacing-sm);border-radius:var(--radius-sm)}.edit-tag-input{width:100%;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-sm);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);outline:none}.edit-tag-input:focus{border-color:var(--accent-primary)}.color-picker.compact{grid-template-columns:repeat(8,1fr);gap:var(--spacing-xs)}.color-picker.compact .color-option{width:24px;height:24px}.edit-tag-actions{display:flex;gap:var(--spacing-xs)}.btn-save-tag,.btn-cancel-edit{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-sm);font-weight:400;border-radius:var(--radius-sm);min-height:32px;transition:all .2s ease}.btn-save-tag{background:var(--accent-primary);color:var(--bg-secondary)}@media(hover:hover){.btn-save-tag:hover{background:var(--accent-hover)}}.btn-cancel-edit{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}@media(hover:hover){.btn-cancel-edit:hover{background:var(--bg-primary)}}.current-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);min-height:36px}.no-tags{font-size:var(--font-base);color:var(--text-muted);margin:0;line-height:var(--leading-relaxed)}.tag-chip{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-sm);font-weight:400;color:#fff;transition:all .2s ease;min-height:32px;line-height:1}@media(hover:hover){.tag-chip:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}}.tag-chip:active{transform:scale(.98)}.remove-tag-btn{min-width:20px;min-height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--font-base);color:#fff;background:#0003;padding:0;line-height:1;flex-shrink:0;transition:background .2s ease}@media(hover:hover){.remove-tag-btn:hover{background:#0006}}.remove-tag-btn:active{transform:scale(.9);background:#00000080}.add-tag-trigger{font-size:var(--font-base);color:var(--accent-primary);font-weight:400;padding:var(--spacing-sm);transition:all .2s ease;min-height:var(--button-height-md);display:inline-flex;align-items:center;touch-action:manipulation}@media(hover:hover){.add-tag-trigger:hover{color:var(--accent-hover)}}.add-tag-trigger:active{transform:scale(.98)}.add-tag-section{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-md)}.section-label{font-size:var(--font-sm);font-weight:400;color:var(--text-secondary);margin:0 0 var(--spacing-sm) 0;text-transform:uppercase;letter-spacing:.5px;line-height:var(--leading-tight)}.existing-tags{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color)}.tag-list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.tag-option{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-sm);font-weight:400;color:#fff;transition:all .2s ease;cursor:pointer;min-height:36px;display:inline-flex;align-items:center;justify-content:center;line-height:1;touch-action:manipulation}@media(hover:hover){.tag-option:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);opacity:1}}.tag-option:active{transform:scale(.98)}.tag-name-input{width:100%;font-size:var(--font-base);margin-bottom:var(--spacing-sm);min-height:var(--button-height-md)}.color-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}@media(min-width:640px){.color-picker{grid-template-columns:repeat(8,1fr);gap:var(--spacing-xs)}}.color-option{width:40px;height:40px;border-radius:var(--radius-sm);border:2px solid transparent;cursor:pointer;transition:all .2s ease;padding:0;touch-action:manipulation}@media(min-width:640px){.color-option{width:32px;height:32px}}@media(hover:hover){.color-option:hover{transform:scale(1.1);opacity:1}}.color-option:active{transform:scale(.95)}.color-option.selected{border-color:var(--text-primary);transform:scale(1.15)}.icon-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}@media(min-width:640px){.icon-picker{grid-template-columns:repeat(8,1fr);gap:var(--spacing-xs)}}.icon-picker.compact{grid-template-columns:repeat(8,1fr);gap:var(--spacing-xs)}.icon-option{width:40px;height:40px;border-radius:var(--radius-sm);border:2px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;padding:0;display:flex;align-items:center;justify-content:center;touch-action:manipulation}@media(min-width:640px){.icon-option{width:32px;height:32px}}.icon-picker.compact .icon-option{width:28px;height:28px}@media(hover:hover){.icon-option:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--bg-primary)}}.icon-option:active{transform:scale(.95)}.icon-option.selected{border-color:var(--accent-primary);background:var(--accent-primary);color:var(--text-on-accent)}.tag-chip.icon-only{padding:var(--spacing-xs);min-width:32px;justify-content:center}.tag-option.icon-only{padding:var(--spacing-xs);min-width:36px}.btn-create-tag:disabled{opacity:.5;cursor:not-allowed}.form-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}@media(min-width:640px){.form-actions{flex-wrap:nowrap}}.btn-create-tag{flex:1;padding:var(--spacing-sm) var(--spacing-md);background:var(--accent-primary);color:var(--bg-secondary);border-radius:var(--radius-md);font-size:var(--font-base);font-weight:400;transition:all .2s ease;min-height:var(--button-height-md);touch-action:manipulation}@media(hover:hover){.btn-create-tag:hover{background:var(--accent-hover);opacity:1}}.btn-create-tag:active{transform:scale(.98);background:var(--accent-hover)}@media(prefers-reduced-motion:reduce){.tag-chip,.tag-option,.color-option,.btn-create-tag,.btn-cancel,.add-tag-trigger{transition:none!important}.tag-chip:active,.tag-option:active,.color-option:active,.btn-create-tag:active,.btn-cancel:active,.add-tag-trigger:active,.remove-tag-btn:active,.tag-chip:hover,.tag-option:hover,.color-option:hover{transform:none!important}}.lightbox-overlay{position:fixed;inset:0;background:#000000f2;z-index:var(--z-lightbox);display:flex;flex-direction:column;align-items:center;justify-content:center}.lightbox-controls{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:calc(var(--spacing-md) + var(--safe-area-top)) var(--spacing-md) var(--spacing-md);background:linear-gradient(rgba(0,0,0,.5),transparent);z-index:10}.lightbox-controls button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#ffffff1a;color:#fff;border-radius:var(--radius-md);transition:all .2s ease}.lightbox-controls button:hover{background:#fff3}.zoom-level{color:#fff;font-size:var(--font-sm);font-weight:400;min-width:50px;text-align:center}.lightbox-image-container{flex:1;display:flex;align-items:center;justify-content:center;width:100%;overflow:hidden;padding:var(--spacing-lg)}.lightbox-image{max-width:100%;max-height:100%;object-fit:contain;transition:transform .1s ease;-webkit-user-select:none;user-select:none}.lightbox-footer{position:absolute;bottom:0;left:0;right:0;padding:var(--spacing-md) var(--spacing-md) calc(var(--spacing-md) + var(--safe-area-bottom));background:linear-gradient(transparent,#00000080);text-align:center}.lightbox-filename{color:#fff;font-size:var(--font-sm);opacity:.8}@media(max-width:639px){.lightbox-controls{gap:var(--spacing-xs);padding:var(--spacing-sm)}.lightbox-controls button{width:40px;height:40px}.lightbox-image-container{padding:var(--spacing-sm)}}@media(prefers-reduced-motion:reduce){.lightbox-image,.lightbox-controls button{transition:none}}.attachments{margin-top:var(--spacing-md)}.attachments-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.attachments-header h3{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-lg);font-weight:400;margin:0;color:var(--text-primary)}.attachments-count{background:var(--bg-tertiary);color:var(--text-secondary);font-size:var(--font-sm);font-weight:400;padding:2px 8px;border-radius:var(--radius-sm)}.attachments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}@media(min-width:640px){.attachments-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}.attachment-item{position:relative;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:all .2s ease}.attachment-item:hover{border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.attachment-item.image{aspect-ratio:1}.attachment-item.file{padding:var(--spacing-sm)}.attachment-thumbnail{width:100%;height:100%;object-fit:cover}.attachment-icon{display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);color:var(--text-muted)}.attachment-info{position:absolute;bottom:0;left:0;right:0;padding:var(--spacing-xs) var(--spacing-sm);background:linear-gradient(transparent,#000c);color:#fff}.attachment-item.file .attachment-info{position:static;background:none;color:var(--text-primary);padding:var(--spacing-xs) 0 0 0}.attachment-name{display:block;font-size:var(--font-xs);font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-size{font-size:var(--font-xs);opacity:.8}.attachment-delete{position:absolute;top:var(--spacing-xs);right:var(--spacing-xs);width:24px;height:24px;background:#0009;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .2s ease}.attachment-item:hover .attachment-delete{opacity:1}@media(hover:none),(pointer:coarse){.attachment-delete{opacity:1}}.attachment-delete:hover{background:var(--accent-danger)}.upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-lg);border:2px dashed var(--border-color);border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-muted);cursor:pointer;transition:all .2s ease;text-align:center}.upload-area:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--bg-primary)}.upload-area.drag-over{border-color:var(--accent-primary);background:#667eea1a;color:var(--accent-primary)}.upload-area.uploading{pointer-events:none;opacity:.7}.upload-area span{font-size:var(--font-sm)}.upload-hint{font-size:var(--font-xs)!important;opacity:.7}.spin{animation:spin 1s linear infinite}@media(prefers-reduced-motion:reduce){.attachment-item,.upload-area,.attachment-delete{transition:none}.attachment-item:hover{transform:none}.spin{animation:none}}.side-panel-overlay{position:fixed;inset:0;background:#0000004d;z-index:calc(var(--z-drawer) - 1);opacity:0;pointer-events:none;transition:opacity .3s ease}.side-panel-overlay.open{opacity:1;pointer-events:all}.side-panel{position:fixed;top:0;right:0;bottom:0;width:100%;background:var(--bg-secondary);box-shadow:-2px 0 12px #00000026;transform:translate(100%);transition:transform .3s ease;display:flex;flex-direction:column;z-index:var(--z-drawer);padding-left:var(--safe-area-left);padding-right:var(--safe-area-right)}.side-panel.open{transform:translate(0)}@media(min-width:640px){.side-panel{max-width:480px}}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-color);flex-shrink:0;min-height:var(--touch-target-min);padding-top:calc(var(--spacing-sm) + var(--safe-area-top))}@media(min-width:640px){.panel-header{padding:var(--spacing-md) var(--spacing-lg)}}.panel-header h2{font-size:var(--font-lg);font-weight:400;margin:0;color:var(--text-primary);line-height:var(--leading-tight)}@media(min-width:640px){.panel-header h2{font-size:var(--font-xl)}}.close-btn{min-width:var(--touch-target-min);min-height:var(--touch-target-min);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:var(--font-xl);color:var(--text-secondary);background:transparent;transition:all .2s ease;flex-shrink:0;-webkit-tap-highlight-color:rgba(0,0,0,.1);touch-action:manipulation}@media(hover:hover){.close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}}.close-btn:active{transform:scale(.95);background:var(--bg-tertiary)}.panel-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--spacing-md);-webkit-overflow-scrolling:touch;padding-bottom:calc(var(--spacing-md) + var(--safe-area-bottom))}@media(min-width:640px){.panel-content{padding:var(--spacing-lg)}}@media(min-width:1024px){.panel-content::-webkit-scrollbar{width:6px}.panel-content::-webkit-scrollbar-track{background:transparent}.panel-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-sm)}.panel-content::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}}.form-group{margin-bottom:var(--spacing-md)}@media(min-width:640px){.form-group{margin-bottom:var(--spacing-lg)}}.form-group label{display:block;font-size:var(--font-sm);font-weight:400;margin-bottom:var(--spacing-sm);color:var(--text-primary);line-height:var(--leading-normal)}.form-group input,.form-group textarea{width:100%;min-height:var(--button-height-md)}.input-lg{font-size:var(--font-lg);font-weight:400;text-transform:capitalize}textarea{resize:vertical;min-height:100px;line-height:var(--leading-relaxed)}.priority-selector{display:flex;gap:var(--spacing-sm);align-items:center;flex-wrap:wrap}.priority-btn{min-width:var(--touch-target-min);min-height:var(--touch-target-min);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-muted);font-size:var(--font-lg);display:flex;align-items:center;justify-content:center;transition:all .2s ease;touch-action:manipulation}@media(hover:hover){.priority-btn:hover{border-color:var(--accent-warning);color:var(--accent-warning)}}.priority-btn:active{transform:scale(.95)}.priority-btn.active{background:var(--accent-warning);color:var(--bg-secondary);border-color:var(--accent-warning)}.toggle-group{display:flex;flex-direction:column;gap:var(--spacing-md)}.metadata{margin-top:var(--spacing-lg);padding:var(--spacing-md);background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--border-color)}@media(min-width:640px){.metadata{margin-top:var(--spacing-xl)}}.metadata-item{font-size:var(--font-sm);color:var(--text-secondary);margin:var(--spacing-xs) 0;line-height:var(--leading-relaxed)}.metadata-item strong{color:var(--text-primary);font-weight:400}.panel-actions{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--border-color)}@media(min-width:640px){.panel-actions{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg)}}.btn-delete{width:100%;padding: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-base);font-weight:400;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);min-height:var(--button-height-lg);touch-action:manipulation}@media(hover:hover){.btn-delete:hover{background:var(--accent-danger);color:var(--bg-secondary);border-color:var(--accent-danger)}}.btn-delete:active{transform:scale(.98)}.btn-delete.confirm{background:var(--accent-danger);color:var(--bg-secondary);border-color:var(--accent-danger);animation:pulse .5s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@media(prefers-reduced-motion:reduce){.side-panel,.side-panel-overlay,.close-btn,.btn-delete{transition:none!important}.btn-delete.confirm{animation:none!important}}.ui-toggle{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-sm) 0;min-height:var(--touch-target-min);cursor:pointer;-webkit-user-select:none;user-select:none}.ui-toggle.is-disabled{cursor:not-allowed;opacity:.5}.ui-toggle__text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.ui-toggle__label{font-size:var(--font-base);color:var(--text-primary)}.ui-toggle__desc{font-size:var(--font-xs);line-height:var(--leading-normal);color:var(--text-secondary)}.ui-toggle__input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.ui-toggle__track{display:flex;align-items:center;flex-shrink:0;width:44px;height:26px;padding:3px;box-sizing:border-box;border-radius:13px;background:var(--text-muted);transition:background .2s ease}.ui-toggle__thumb{width:20px;height:20px;border-radius:50%;background:var(--bg-secondary);box-shadow:0 1px 3px #0000004d;transition:transform .2s ease}.ui-toggle__input:checked+.ui-toggle__track{background:var(--accent-primary)}.ui-toggle__input:checked+.ui-toggle__track .ui-toggle__thumb{transform:translate(18px)}.ui-toggle__input:focus-visible+.ui-toggle__track{outline:2px solid var(--accent-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){.ui-toggle__track,.ui-toggle__thumb{transition:none}}.filter-container{position:relative}.filter-trigger{position:relative;min-width:var(--touch-target-min);min-height:var(--touch-target-min);touch-action:manipulation}.filter-trigger.has-filters{background:var(--accent-primary);color:var(--bg-secondary)}.filter-badge{position:absolute;top:-6px;right:-6px;background:var(--accent-danger);color:var(--text-on-accent);font-size:var(--font-xs);font-weight:400;min-width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0 var(--spacing-xs)}.filter-dropdown{position:fixed;bottom:0;left:0;right:0;width:100%;max-height:70vh;overflow-y:auto;background:var(--bg-secondary);border:1px solid var(--border-color);border-bottom:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);animation:slideUp .3s ease;-webkit-overflow-scrolling:touch;padding-bottom:calc(var(--spacing-md) + var(--safe-area-bottom))}@media(min-width:640px){.filter-dropdown{position:absolute;top:calc(100% + 8px);right:0;bottom:auto;left:auto;width:300px;max-height:500px;border-radius:var(--radius-md);border:1px solid var(--border-color);animation:slideDown .2s ease;padding-bottom:0}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.filter-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);border-bottom:1px solid var(--border-color);flex-shrink:0;min-height:var(--touch-target-min)}.filter-header h3{font-size:var(--font-lg);font-weight:400;margin:0;color:var(--text-primary);line-height:var(--leading-tight)}.clear-filters-btn{font-size:var(--font-sm);color:var(--accent-primary);font-weight:400;transition:all .2s ease;padding:var(--spacing-xs) var(--spacing-sm);min-height:var(--button-height-sm)}@media(hover:hover){.clear-filters-btn:hover{color:var(--accent-hover)}}.clear-filters-btn:active{transform:scale(.95)}.filter-section{padding:var(--spacing-md);border-bottom:1px solid var(--border-color)}.filter-section:last-child{border-bottom:none}.filter-section h4{font-size:var(--font-sm);font-weight:400;margin:0 0 var(--spacing-sm) 0;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;line-height:var(--leading-tight)}.filter-checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;cursor:pointer;-webkit-user-select:none;user-select:none;min-height:var(--touch-target-min)}.filter-checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;margin:0;flex-shrink:0}@media(min-width:640px){.filter-checkbox-label input[type=checkbox]{width:18px;height:18px}}.filter-checkbox-label span{font-size:var(--font-base);color:var(--text-primary);line-height:var(--leading-normal)}.tag-filter-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.tag-filter-item{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none;padding:var(--spacing-xs) 0;min-height:var(--touch-target-min)}.tag-filter-item input[type=checkbox]{width:20px;height:20px;cursor:pointer;margin:0;flex-shrink:0}@media(min-width:640px){.tag-filter-item input[type=checkbox]{width:18px;height:18px}}.tag-filter-chip{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-sm);font-weight:400;color:#fff;flex:1;line-height:1}@media(min-width:1024px){.filter-dropdown::-webkit-scrollbar{width:6px}.filter-dropdown::-webkit-scrollbar-track{background:transparent}.filter-dropdown::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-sm)}.filter-dropdown::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}}@media(prefers-reduced-motion:reduce){.filter-dropdown{animation:none!important}.clear-filters-btn:active{transform:none!important}}.project-tabs{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:0 var(--spacing-sm);flex-shrink:0;padding-left:calc(var(--spacing-sm) + var(--safe-area-left));padding-right:calc(var(--spacing-sm) + var(--safe-area-right))}@media(min-width:640px){.project-tabs{padding:0 var(--spacing-md)}}.tabs-container{display:flex;gap:var(--spacing-xs);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none}.tabs-container::-webkit-scrollbar{display:none}@media(min-width:1024px){.tabs-container{scrollbar-width:thin}.tabs-container::-webkit-scrollbar{display:block;height:3px}.tabs-container::-webkit-scrollbar-track{background:transparent}.tabs-container::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-sm)}.tabs-container::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}}.tab{padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:var(--font-sm);color:var(--text-secondary);white-space:nowrap;display:flex;align-items:center;gap:var(--spacing-xs);transition:all .2s ease;position:relative;min-height:var(--touch-target-min);scroll-snap-align:start;touch-action:manipulation;flex-shrink:0}@media(hover:hover){.tab:hover{color:var(--text-primary);background:var(--bg-tertiary)}}.tab:active{background:var(--bg-tertiary)}.tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary);font-weight:400}.tab-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;text-transform:capitalize;line-height:var(--leading-normal)}@media(min-width:640px){.tab-name{max-width:150px}}.tab-name-input{background:var(--bg-tertiary);border:1px solid var(--accent-primary);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-sm);color:var(--text-primary);outline:none;min-width:100px;max-width:120px;text-transform:capitalize;font-size:16px}@media(min-width:640px){.tab-name-input{max-width:150px;font-size:var(--font-sm)}}.tab-urgent-badge{background:var(--accent-danger);color:var(--text-on-accent);font-size:var(--font-xs);font-weight:400;padding:2px var(--spacing-xs);border-radius:10px;min-width:20px;text-align:center;line-height:1;flex-shrink:0}.tab .drag-handle{cursor:grab;color:var(--text-muted);opacity:.3;display:flex;align-items:center;transition:opacity .2s ease;flex-shrink:0}.tab .drag-handle:active{cursor:grabbing}@media(hover:hover){.tab:hover .drag-handle{opacity:.7}}.tab.dragging{cursor:grabbing;box-shadow:var(--shadow-lg);background:var(--bg-secondary)}.tab-delete-btn{min-width:28px;min-height:28px;padding:var(--spacing-xs);background:transparent;border:none;cursor:pointer;color:var(--text-muted);opacity:1;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--radius-sm)}@media(min-width:1024px)and (hover:hover){.tab-delete-btn{opacity:0}.tab:hover .tab-delete-btn{opacity:1}}@media(hover:hover){.tab-delete-btn:hover{color:var(--accent-danger);background:var(--bg-primary)}}.tab-delete-btn:active{transform:scale(.95)}.new-tab-btn{min-width:var(--touch-target-min);min-height:var(--touch-target-min);padding:var(--spacing-sm);justify-content:center;color:var(--text-muted);flex-shrink:0;scroll-snap-align:start;touch-action:manipulation}@media(hover:hover){.new-tab-btn:hover{color:var(--accent-primary);background:var(--bg-tertiary)}}.new-tab-btn:active{background:var(--bg-tertiary)}.new-project-form{display:flex;align-items:center;flex-shrink:0}.new-project-input{padding:var(--spacing-sm);border:none;border-bottom:2px solid var(--accent-primary);background:transparent;color:var(--text-primary);font-size:16px;outline:none;min-width:120px;text-transform:capitalize;min-height:var(--button-height-md)}@media(min-width:640px){.new-project-input{min-width:150px;font-size:var(--font-sm)}}.new-project-input::placeholder{color:var(--text-muted)}@media(prefers-reduced-motion:reduce){.tab,.new-tab-btn,.tab-delete-btn{transition:none!important}.tab-delete-btn:active{transform:none!important}}.sidebar-overlay{position:fixed;inset:0;background:#00000073;z-index:calc(var(--z-drawer) - 1);animation:fadeIn .15s ease}.sidebar-panel{position:fixed;top:0;left:0;bottom:0;width:260px;max-width:80vw;background:var(--bg-secondary);border-right:1px solid var(--border-color);z-index:var(--z-drawer);display:flex;flex-direction:column;animation:slideIn .18s ease}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-color);flex-shrink:0;min-height:48px}.sidebar-title{font-size:var(--font-sm);font-weight:500;color:var(--text-primary);letter-spacing:-.01em}.sidebar-close-btn{background:transparent;border:none;cursor:pointer;color:var(--text-muted);padding:var(--spacing-xs);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;transition:color .15s ease,background .15s ease}.sidebar-close-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.sidebar-project-list{flex:1;overflow-y:auto;padding:var(--spacing-xs) 0;-webkit-overflow-scrolling:touch}.sidebar-project-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:background .12s ease;min-height:44px;border-left:3px solid transparent}.sidebar-project-item:active{background:var(--bg-tertiary)}.sidebar-project-item.active{background:var(--bg-tertiary);border-left-color:var(--accent-primary)}.sidebar-project-name{flex:1;font-size:var(--font-sm);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:capitalize}.sidebar-project-item.active .sidebar-project-name{color:var(--accent-primary);font-weight:500}.sidebar-footer{border-top:1px solid var(--border-color);padding:var(--spacing-sm) var(--spacing-md);flex-shrink:0}.sidebar-add-project-btn{width:100%;display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:1px dashed var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-sm);cursor:pointer;transition:all .15s ease;min-height:40px;touch-action:manipulation}.sidebar-add-project-btn:active{background:var(--bg-tertiary);border-color:var(--accent-primary);color:var(--accent-primary)}.sidebar-new-project-form{display:flex;gap:var(--spacing-xs);align-items:center}.sidebar-new-project-input{flex:1;padding:var(--spacing-sm);background:var(--bg-primary);border:1px solid var(--accent-primary);border-radius:var(--radius-sm);color:var(--text-primary);font-size:16px;outline:none;min-height:36px;text-transform:capitalize}.sidebar-new-project-input::placeholder{color:var(--text-muted)}@media(prefers-reduced-motion:reduce){.sidebar-overlay,.sidebar-panel{animation:none}}.toast-container{position:fixed;bottom:1rem;right:1rem;z-index:var(--z-toast);display:flex;flex-direction:column;gap:.75rem;max-width:400px}.toast{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #00000026;animation:slideInToast .3s ease-out;min-width:300px}@keyframes slideInToast{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.toast-content{display:flex;align-items:center;gap:.75rem;flex:1}.toast-icon{font-weight:400;font-size:var(--font-lg);flex-shrink:0;display:flex;align-items:center;justify-content:center;min-width:24px}.toast-message{font-size:var(--font-base);color:var(--text-primary);line-height:1.4}.toast-close{flex-shrink:0;width:24px;height:24px;min-width:auto;min-height:auto;display:flex;align-items:center;justify-content:center;background:transparent;color:var(--text-secondary);border:none;cursor:pointer;border-radius:4px;transition:all .15s;margin-left:.75rem;padding:0}.toast-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.toast-success{border-left:4px solid var(--accent-success);background:linear-gradient(to right,rgba(16,185,129,.05),transparent)}.toast-success .toast-icon{color:var(--accent-success)}.toast-error{border-left:4px solid var(--accent-danger);background:linear-gradient(to right,rgba(239,68,68,.05),transparent)}.toast-error .toast-icon{color:var(--accent-danger)}.toast-warning{border-left:4px solid var(--accent-warning);background:linear-gradient(to right,rgba(245,158,11,.05),transparent)}.toast-warning .toast-icon{color:var(--accent-warning)}.toast-info{border-left:4px solid var(--accent-info);background:linear-gradient(to right,rgba(59,130,246,.05),transparent)}.toast-info .toast-icon{color:var(--accent-info)}@media(max-width:640px){.toast-container{left:1rem;right:1rem;max-width:none}.toast{min-width:auto}}.mobile-quadrant-tabs{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--bg-secondary);border-top:1px solid var(--border-color);z-index:var(--z-sticky);padding-bottom:var(--safe-area-bottom)}@media(min-width:640px){.mobile-quadrant-tabs{display:none}}.quadrant-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:var(--spacing-sm) var(--spacing-xs);background:transparent;color:var(--text-muted);min-height:56px;transition:all .2s ease;position:relative;border:none;outline:none;-webkit-tap-highlight-color:transparent}.quadrant-tab:active{background:var(--bg-tertiary);transform:scale(.95)}.quadrant-tab.drag-over{background:var(--tab-color, var(--accent-primary));color:#fff;transform:scale(1.05)}.quadrant-tab.drag-over .tab-badge{background:#fff;color:var(--tab-color, var(--accent-primary))}.quadrant-tab.active{color:var(--tab-color, var(--accent-primary))}.quadrant-tab.active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:32px;height:3px;background:var(--tab-color, var(--accent-primary));border-radius:0 0 2px 2px}.tab-icon-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.tab-badge{position:absolute;top:-6px;right:-10px;min-width:18px;height:18px;padding:0 5px;background:var(--tab-color, var(--accent-primary));color:#fff;font-size:var(--font-xs);font-weight:400;border-radius:9px;display:flex;align-items:center;justify-content:center;line-height:1}.tab-badge:has(+.tab-badge){font-size:9px;padding:0 4px}.tab-label{font-size:var(--font-xs);font-weight:400;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.quadrant-tab.active .tab-label{font-weight:400}@media(prefers-reduced-motion:reduce){.quadrant-tab{transition:none}.quadrant-tab:active{transform:none}}.fab-container{position:fixed;bottom:calc(56px + var(--safe-area-bottom) + var(--spacing-md));right:var(--spacing-md);z-index:calc(var(--z-sticky) - 1);display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-sm)}@media(min-width:640px){.fab-container{display:none}}.fab-button{width:56px;height:56px;border-radius:50%;background:var(--accent-primary);color:var(--bg-secondary);box-shadow:0 4px 12px #00000040;display:flex;align-items:center;justify-content:center;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.fab-button:active{transform:scale(.92);box-shadow:0 2px 8px #0003}.fab-button.open{background:var(--text-secondary);transform:rotate(0)}.fab-input-container{display:flex;align-items:center;gap:var(--spacing-xs);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-xs);box-shadow:0 4px 16px #00000026;animation:slideUp .2s ease;width:calc(100vw - var(--spacing-md) * 2 - 56px - var(--spacing-sm));max-width:300px}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fab-input{flex:1;border:none;background:transparent;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-base);color:var(--text-primary);outline:none;min-height:44px}.fab-input::placeholder{color:var(--text-muted)}.fab-submit{width:40px;height:40px;border-radius:50%;background:var(--accent-primary);color:var(--bg-secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease}.fab-submit:disabled{background:var(--bg-tertiary);color:var(--text-muted)}.fab-submit:not(:disabled):active{transform:scale(.92)}@media(prefers-reduced-motion:reduce){.fab-button,.fab-submit{transition:none}.fab-input-container{animation:none}.fab-button:active,.fab-submit:active{transform:none}}.resizable-grid{flex:1;display:grid;gap:1px;background:var(--border-color);overflow:hidden;position:relative}.resizable-grid.dragging{user-select:none;-webkit-user-select:none}.resizable-grid.dragging *{pointer-events:none}.grid-divider{position:absolute;z-index:10;transition:background-color .15s ease}.grid-divider.vertical{width:8px;top:0;bottom:0;cursor:col-resize}.grid-divider.vertical:hover,.resizable-grid.dragging .grid-divider.vertical{background:var(--accent-primary);opacity:.3}.grid-divider.horizontal{height:8px;left:0;right:0;cursor:row-resize}.grid-divider.horizontal:hover,.resizable-grid.dragging .grid-divider.horizontal{background:var(--accent-primary);opacity:.3}.grid-center-handle{position:absolute;width:24px;height:24px;z-index:20;cursor:move;border-radius:50%;background:var(--bg-secondary);border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;transition:all .15s ease;box-shadow:var(--shadow-sm)}.grid-center-handle:before{content:"";width:8px;height:8px;background-image:radial-gradient(circle,var(--text-muted) 1.5px,transparent 1.5px);background-size:4px 4px}.grid-center-handle:hover{background:var(--accent-primary);border-color:var(--accent-primary);transform:scale(1.1)}.grid-center-handle:hover:before{background-image:radial-gradient(circle,white 1.5px,transparent 1.5px)}.resizable-grid.dragging .grid-center-handle{background:var(--accent-primary);border-color:var(--accent-primary);transform:scale(1.15);box-shadow:var(--shadow-md)}.resizable-grid.dragging .grid-center-handle:before{background-image:radial-gradient(circle,white 1.5px,transparent 1.5px)}@media(max-width:639px){.grid-divider,.grid-center-handle{display:none}}@media(prefers-reduced-motion:reduce){.grid-divider,.grid-center-handle{transition:none}}.stat-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;cursor:pointer;transition:all .15s ease-in-out;display:flex;flex-direction:column;gap:.75rem}.stat-card:hover{border-color:var(--accent-primary);box-shadow:0 4px 12px #3b82f61a;transform:translateY(-2px)}.stat-header{display:flex;align-items:center;gap:.75rem}.stat-icon{font-size:var(--font-2xl)}.stat-title{margin:0;font-size:.875rem;font-weight:400;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:2rem;font-weight:400;color:var(--text-primary);line-height:1}.stat-subtext{margin:0;font-size:var(--font-sm);color:var(--text-secondary)}.stat-trend{display:flex;align-items:center;gap:.5rem;font-size:var(--font-sm);font-weight:400}.stat-trend.up{color:var(--accent-success)}.stat-trend.down{color:var(--accent-danger)}.stat-trend.stable{color:var(--text-secondary)}.trend-icon{font-size:var(--font-lg)}.trend-text{display:inline}@media(max-width:640px){.stat-card{padding:1rem}.stat-value{font-size:1.75rem}.stat-title{font-size:var(--font-sm)}}.analytics-container{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem;background:var(--bg-primary);border-radius:var(--radius-lg);min-height:600px}.analytics-container.loading,.analytics-container.error{align-items:center;justify-content:center;font-size:var(--font-lg);color:var(--text-secondary);min-height:400px}.analytics-tabs{display:flex;gap:.5rem;border-bottom:1px solid var(--border-color);padding-bottom:1rem;flex-wrap:wrap}.tab-btn{padding:.75rem 1rem;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-weight:400;color:var(--text-secondary);transition:all .15s ease-in-out}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.analytics-dashboard{display:flex;flex-direction:column;gap:2rem}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.period-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.metric-group{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.375rem;padding:1rem}.metric-group h4{margin:0 0 .75rem;font-size:.875rem;font-weight:400;color:var(--text-primary)}.metric-group p{margin:.5rem 0;font-size:.875rem;color:var(--text-secondary)}.metric-group strong{color:var(--text-primary);font-weight:400}.breakdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.breakdown-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.375rem;padding:1.5rem}.breakdown-section h4{margin:0 0 1rem;font-size:1rem;font-weight:400;color:var(--text-primary)}.breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border-color);font-size:var(--font-base)}.breakdown-item:last-child{border-bottom:none}.breakdown-item.priority-critical .label{color:var(--priority-critical);font-weight:400}.breakdown-item.priority-high .label{color:var(--priority-high)}.breakdown-item.priority-medium .label{color:var(--priority-medium)}.breakdown-item.priority-low .label{color:var(--text-secondary)}.breakdown-item .label{font-weight:400;color:var(--text-primary);flex:1;text-transform:capitalize}.breakdown-item .count{background:var(--accent-primary);color:var(--text-on-accent);width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:.25rem;font-weight:400;margin:0 .5rem;font-size:var(--font-sm)}.breakdown-item .completed{color:var(--accent-success);font-weight:400;min-width:3rem}.analytics-trends{display:flex;flex-direction:column;gap:1.5rem}.trends-table{border:1px solid var(--border-color);border-radius:.375rem;overflow:hidden;max-height:500px;overflow-y:auto}.trends-header{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:1rem;background:var(--bg-secondary);font-weight:400;font-size:.875rem;color:var(--text-secondary);border-bottom:1px solid var(--border-color);position:sticky;top:0}.trends-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:.75rem 1rem;border-bottom:1px solid var(--border-color);font-size:var(--font-base)}.trends-row:hover{background:var(--bg-secondary)}.velocity-metrics{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.375rem;padding:1.5rem}.velocity-metrics h4{margin:0 0 1rem;font-size:1rem;font-weight:400}.velocity-metrics p{margin:.5rem 0;font-size:var(--font-base)}.velocity-metrics strong{font-weight:400;color:var(--accent-primary)}.velocity-metrics strong.increasing{color:var(--accent-success)}.velocity-metrics strong.decreasing{color:var(--accent-danger)}.velocity-metrics strong.stable{color:var(--text-secondary)}.analytics-breakdown{display:flex;flex-direction:column;gap:1rem}.breakdown-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.detail-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.375rem;padding:1rem}.detail-item h5{margin:0 0 .5rem;font-size:1rem;font-weight:400;color:var(--text-primary);text-transform:capitalize}.detail-item p{margin:0;font-size:var(--font-base);color:var(--text-secondary)}@media(max-width:1024px){.cards-grid{grid-template-columns:repeat(2,1fr)}.breakdown-grid{grid-template-columns:1fr}}@media(max-width:640px){.analytics-container{padding:1rem;gap:1rem}.analytics-tabs{padding-bottom:.75rem}.tab-btn{padding:.5rem .75rem;font-size:var(--font-sm)}.cards-grid,.period-metrics{grid-template-columns:1fr;gap:.75rem}.breakdown-grid{grid-template-columns:1fr;gap:1rem}.trends-header,.trends-row{grid-template-columns:repeat(2,1fr);gap:.5rem;padding:.5rem}.breakdown-details{grid-template-columns:1fr}}.calendar-cell{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.375rem;padding:.5rem;cursor:pointer;transition:all .15s ease-in-out;min-height:80px;position:relative}.calendar-cell.month{overflow:visible}.calendar-cell:hover{border-color:var(--accent-primary);box-shadow:0 2px 8px #3b82f61a}.calendar-cell.other-month{background:var(--bg-secondary);color:var(--text-secondary);opacity:.6}.calendar-cell.today{background:linear-gradient(135deg,#3b82f605,#3b82f60a);border-color:var(--accent-primary);border-width:2px}.calendar-cell.selected{background:linear-gradient(135deg,#3b82f626,#3b82f640);border-color:var(--accent-primary)}.calendar-cell.has-overdue{border-left:4px solid var(--priority-critical)}.cell-date{display:flex;align-items:center;justify-content:space-between;font-weight:400;font-size:var(--font-xl);color:var(--text-primary);margin-bottom:.5rem;position:relative}.calendar-cell.other-month .cell-date{color:var(--text-secondary)}.cell-add-btn{display:none;flex-shrink:0;width:24px;height:24px;min-width:auto;min-height:auto;padding:0;border:none;border-radius:4px;background:var(--accent-primary);color:var(--text-on-accent);font-size:1rem;font-weight:400;cursor:pointer;transition:all .15s;align-items:center;justify-content:center}.cell-add-btn:hover{background:var(--accent-hover);transform:scale(1.1)}.calendar-cell:hover .cell-add-btn{display:flex}@media(max-width:640px){.cell-add-btn,.calendar-cell:hover .cell-add-btn{display:none}}.cell-task-list{display:flex;flex-direction:column;gap:.25rem;margin-top:.5rem}.cell-task-item{display:flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:400;padding:.4rem;background:var(--bg-tertiary);border-left:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);border-radius:var(--radius-sm);transition:all .1s;color:var(--text-primary);line-height:1.3}.cell-task-checkbox{flex-shrink:0;width:14px;height:14px;cursor:pointer;accent-color:var(--accent-primary)}.cell-task-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.cell-task-item:hover{background:var(--bg-tertiary);border-left-color:var(--accent-primary)}.cell-task-item.critical{border-left-color:var(--priority-critical)}.cell-task-item.high{border-left-color:var(--priority-high)}.cell-task-item.medium{border-left-color:var(--priority-medium)}.cell-task-item.low{border-left-color:var(--priority-low)}.cell-task-item.urgent{border-bottom-color:var(--quadrant-urgent-accent)}.cell-task-item.not-urgent{border-bottom-color:var(--quadrant-not-urgent-accent)}.cell-task-item.delegate{border-bottom-color:var(--quadrant-delegate-accent)}.cell-task-item.sometime{border-bottom-color:var(--quadrant-sometime-accent)}.cell-task-item.completed{opacity:.5;text-decoration:line-through}.cell-task-more{font-size:var(--font-xs);color:var(--text-secondary);padding:.2rem;text-align:center;font-weight:400}.cell-badges{display:flex;gap:.25rem;flex-wrap:wrap;position:relative}.badge{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.25rem;border-radius:.25rem;font-size:var(--font-xs);font-weight:400;color:var(--text-on-accent)}.badge-critical{background:var(--priority-critical)}.badge-high{background:var(--priority-high)}.badge-medium{background:var(--priority-medium)}.badge-low{background:var(--priority-low)}.cell-tasks{display:flex;flex-direction:column;gap:.35rem;max-height:60px;overflow:hidden;margin-top:.5rem;transition:all .15s}.cell-tasks.drag-over{background:#3b82f61a;border-radius:var(--radius-sm);padding:.2rem}.task-preview{background:var(--bg-tertiary);border-left:3px solid var(--text-muted);padding:.25rem .4rem;border-radius:var(--radius-sm);font-size:var(--font-xs);line-height:1.2;cursor:grab;transition:all .1s ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-preview:active{cursor:grabbing}.task-preview:hover{background:var(--bg-tertiary)}.task-preview.critical{border-left-color:var(--priority-critical);background:var(--priority-critical-bg);color:var(--text-primary)}.task-preview.high{border-left-color:var(--priority-high);background:var(--priority-high-bg);color:var(--text-primary)}.task-preview.medium{border-left-color:var(--priority-medium);background:var(--priority-medium-bg);color:var(--text-primary)}.task-preview.low{border-left-color:var(--priority-low);background:var(--priority-low-bg);color:var(--text-primary)}.task-preview.completed{opacity:.6;text-decoration:line-through}.task-title{display:block;font-weight:400}.task-more{font-size:var(--font-xs);color:var(--text-secondary);padding:.2rem;text-align:center;font-weight:400}.cell-tasks-full{display:flex;flex-direction:column;gap:.5rem;transition:all .15s}.cell-tasks-full.drag-over{background:#3b82f61a;border-radius:var(--radius-sm);padding:.2rem}.task-preview-full{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--bg-tertiary);border-radius:.375rem;cursor:grab;transition:all .15s ease-in-out}.task-preview-full:active{cursor:grabbing}.task-preview-full:hover{background:var(--bg-tertiary)}.task-preview-full.critical{background:var(--priority-critical-bg);color:var(--text-primary)}.task-preview-full.high{background:var(--priority-high-bg);color:var(--text-primary)}.task-preview-full.medium{background:var(--priority-medium-bg);color:var(--text-primary)}.task-preview-full.low{background:var(--priority-low-bg);color:var(--text-primary)}.task-preview-full.completed{opacity:.6}.task-checkbox{flex-shrink:0;width:18px;height:18px;cursor:pointer;accent-color:var(--accent-primary)}.task-preview-full .task-title{flex:1;font-weight:400;font-size:var(--font-base);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.task-preview-full.completed .task-title{text-decoration:line-through}.priority-badge{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;font-size:.75rem;font-weight:400;color:var(--text-on-accent)}.cell-tooltip{position:fixed;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.375rem;box-shadow:0 8px 16px #0003;z-index:var(--z-dropdown);min-width:260px;max-width:380px;max-height:500px;overflow-y:auto;padding:.5rem 0;animation:tooltipSlideDown .15s ease-out}@keyframes tooltipSlideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tooltip-task{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;cursor:grab;transition:all .1s;border-left:3px solid var(--text-muted)}.tooltip-task:active{cursor:grabbing}.tooltip-task:hover{background:var(--bg-secondary)}.tooltip-task.critical{border-left-color:var(--priority-critical)}.tooltip-task.high{border-left-color:var(--priority-high)}.tooltip-task.medium{border-left-color:var(--priority-medium)}.tooltip-task.low{border-left-color:var(--priority-low)}.tooltip-task.completed{opacity:.6}.tooltip-task.completed .tooltip-title{text-decoration:line-through}.tooltip-checkbox{flex-shrink:0;width:16px;height:16px;cursor:pointer;accent-color:var(--accent-primary);pointer-events:auto;margin-right:4px}.tooltip-title{flex:1;font-size:var(--font-base);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:400;cursor:pointer}.tooltip-title:hover{text-decoration:underline}.tooltip-priority{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:50%;font-size:var(--font-xs);font-weight:400;color:var(--text-on-accent)}.tooltip-priority.critical{background:var(--priority-critical)}.tooltip-priority.high{background:var(--priority-high)}.tooltip-priority.medium{background:var(--priority-medium)}.tooltip-priority.low{background:var(--priority-low)}@media(max-width:1024px){.calendar-cell{min-height:70px;padding:.4rem}.cell-date{font-size:var(--font-lg);margin-bottom:.35rem}.badge{width:1.4rem;height:1.2rem;font-size:var(--font-xs)}.task-preview{font-size:var(--font-xs)}}@media(max-width:640px){.calendar-cell{min-height:60px;padding:.35rem}.cell-date{font-size:1rem;margin-bottom:.25rem}.badge{width:1.2rem;height:1rem;font-size:.6rem}.cell-badges{gap:.15rem}.cell-tasks{max-height:40px;gap:.25rem}.task-preview{font-size:.6rem;padding:.2rem .3rem}.task-more{font-size:.6rem}.task-preview-full{padding:.35rem;gap:.4rem}.task-preview-full .task-title{font-size:var(--font-sm)}.task-checkbox{width:16px;height:16px}.priority-badge{width:1.25rem;height:1.25rem;font-size:var(--font-xs)}}.calendar-month-view{display:flex;flex-direction:column;gap:1rem;height:100%}.calendar-grid-header{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;margin-bottom:.5rem}.weekday-header{text-align:center;font-weight:400;font-size:.875rem;color:var(--text-secondary);padding:.5rem 0;text-transform:uppercase;letter-spacing:.5px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;flex:1}.calendar-legend{display:flex;justify-content:center;gap:1.5rem;padding:1rem 0 0;border-top:1px solid var(--border-color);flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-primary)}.legend-badge{width:1rem;height:1rem;border-radius:var(--radius-sm)}.legend-badge.critical{background:var(--priority-critical)}.legend-badge.high{background:var(--priority-high)}.legend-badge.medium{background:var(--priority-medium)}.legend-badge.low{background:var(--priority-low)}@media(max-width:1024px){.calendar-grid{gap:.35rem}.weekday-header{font-size:var(--font-sm);padding:.35rem 0}.calendar-legend{gap:1rem}.legend-item{font-size:var(--font-sm)}.legend-badge{width:.85rem;height:.85rem}}@media(max-width:640px){.calendar-grid-header{gap:.25rem;margin-bottom:.25rem}.weekday-header{font-size:var(--font-xs);padding:.3rem 0}.calendar-grid{gap:.25rem}.calendar-legend{gap:.75rem;padding:.75rem 0 0}.legend-item{font-size:.75rem}.legend-badge{width:.75rem;height:.75rem}}@media print{.calendar-legend{border-top:none}}.calendar-week-view{display:flex;flex-direction:column;height:100%}.week-view-header{padding:1rem;border-bottom:2px solid var(--border-color);display:flex;align-items:center;gap:.75rem}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;height:100%}.week-day-column{display:flex;flex-direction:column;gap:.5rem;min-width:0}.day-header{display:flex;flex-direction:column;align-items:center;padding:.75rem .5rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.375rem;position:relative}.day-add-btn{position:absolute;top:.5rem;right:.5rem;width:24px;height:24px;min-width:auto;min-height:auto;padding:0;border:none;border-radius:4px;background:var(--accent-primary);color:var(--text-on-accent);font-size:1rem;font-weight:400;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.day-add-btn:hover{background:var(--accent-hover);transform:scale(1.1)}.day-header.today{background:linear-gradient(135deg,#3b82f61a,#3b82f60d);border-color:var(--accent-primary);border-width:2px}.day-name{font-size:var(--font-sm);font-weight:400;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.day-date{font-size:var(--font-xl);font-weight:400;color:var(--text-primary)}.add-task-btn{padding:.5rem 1rem;background:var(--accent-primary);color:var(--text-on-accent);border:none;border-radius:.375rem;font-weight:400;cursor:pointer;transition:all .15s ease-in-out;white-space:nowrap}.add-task-btn:active{transform:scale(.98)}.week-tasks{flex:1;display:flex;flex-direction:column;gap:.5rem;padding:.5rem;background:var(--bg-primary);border:1px solid var(--border-color);border-top:none;border-radius:0 0 .375rem .375rem;overflow-y:auto;transition:background .15s}.week-tasks.drag-over{background:#3b82f61a}.week-task-card{padding:.75rem;background:var(--bg-secondary);border:2px solid var(--border-color);border-left:4px solid var(--text-muted);border-radius:.375rem;cursor:grab;transition:all .15s;display:flex;flex-direction:column;gap:.5rem;min-height:60px;border-top:3px solid transparent}.week-task-card.urgent{border-top-color:var(--quadrant-urgent-accent);background:#ef44440f}.week-task-card.not-urgent{border-top-color:var(--quadrant-not-urgent-accent);background:#3b82f60f}.week-task-card.delegate{border-top-color:var(--quadrant-delegate-accent);background:#f973160f}.week-task-card.sometime{border-top-color:var(--quadrant-sometime-accent);background:#9ca3af0f}.week-task-card:active{cursor:grabbing}.week-task-card.critical{border-left-color:var(--priority-critical)}.week-task-card.high{border-left-color:var(--priority-high)}.week-task-card.medium{border-left-color:var(--priority-medium)}.week-task-card.low{border-left-color:var(--priority-low)}.week-task-card.completed{opacity:.6}.week-task-card:hover{border-color:var(--accent-primary);box-shadow:0 2px 4px #3b82f61a}.week-task-header{display:flex;align-items:flex-start;gap:.5rem}.week-task-checkbox{flex-shrink:0;width:18px;height:18px;margin-top:.15rem;cursor:pointer;accent-color:var(--accent-primary)}.week-task-title{flex:1;font-weight:400;color:var(--text-primary);word-wrap:break-word;line-height:1.3;font-size:var(--font-base)}.week-task-card.completed .week-task-title{text-decoration:line-through;color:var(--text-secondary)}.week-task-priority{font-size:.75rem;font-weight:400;padding:.25rem .5rem;border-radius:.25rem;width:fit-content;color:var(--text-on-accent)}.week-task-priority.critical{background:var(--priority-critical)}.week-task-priority.high{background:var(--priority-high)}.week-task-priority.medium{background:var(--priority-medium)}.week-task-priority.low{background:var(--priority-low)}@media(max-width:1024px){.week-grid,.week-day-column{gap:.35rem}.day-header{padding:.5rem .35rem}.day-name{font-size:var(--font-xs)}.day-date{font-size:var(--font-lg)}}@media(max-width:640px){.week-grid,.week-day-column{gap:.25rem}.day-header{padding:.4rem .25rem}.day-name{font-size:.6rem}.day-date{font-size:1rem}}.week-completed-section{padding:1rem;border-top:2px solid var(--border-color);background:var(--bg-secondary)}.week-completed-tasks{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto}.week-completed-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.25rem;opacity:.6}.week-completed-checkbox{flex-shrink:0;width:16px;height:16px;cursor:pointer;accent-color:var(--accent-primary)}.week-completed-title{flex:1;text-decoration:line-through;color:var(--text-secondary);cursor:pointer;font-size:.875rem}.week-completed-title:hover{text-decoration:underline}.week-completed-date{flex-shrink:0;font-size:.75rem;color:var(--text-secondary)}.calendar-day-view{display:flex;flex-direction:column;gap:1rem;height:100%}.day-view-wrapper{flex:1;display:flex;flex-direction:column;gap:1rem;min-height:0}.day-view-header{display:flex;justify-content:space-between;align-items:flex-start;padding:0 0 1rem;border-bottom:2px solid var(--border-color);gap:1rem}.day-view-header h3{margin:0 0 .5rem;font-size:var(--font-2xl);font-weight:400;color:var(--text-primary)}.day-view-header p{margin:0;font-size:.875rem;color:var(--text-secondary)}.day-view-add-btn{width:32px;height:32px;min-width:auto;min-height:auto;padding:0;border:none;border-radius:4px;background:var(--accent-primary);color:var(--text-on-accent);font-size:var(--font-xl);font-weight:400;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.day-view-add-btn:hover{background:var(--accent-hover);transform:scale(1.1)}.day-view-content{flex:1;overflow-x:auto;overflow-y:hidden;transition:background .15s;padding:1rem;display:flex;flex-direction:row;gap:1rem;flex-wrap:nowrap;align-items:flex-start;min-height:400px}.day-view-content.drag-over{background:#3b82f61a}.quadrant-section{flex:0 0 300px;padding:.75rem;border-radius:.375rem;border-left:4px solid;display:flex;flex-direction:column;height:100%;overflow-y:auto;background-clip:padding-box}.quadrant-section.urgent{background:#ef444414;border-left-color:var(--quadrant-urgent-accent)}.quadrant-section.not-urgent{background:#3b82f614;border-left-color:var(--quadrant-not-urgent-accent)}.quadrant-section.delegate{background:#f9731614;border-left-color:var(--quadrant-delegate-accent)}.quadrant-section.sometime{background:#9ca3af14;border-left-color:var(--quadrant-sometime-accent)}.quadrant-title{margin:0 0 .75rem;font-size:1rem;font-weight:400;padding:0 0 .5rem}.quadrant-title.urgent,.quadrant-title.not-urgent,.quadrant-title.delegate,.quadrant-title.sometime{color:var(--text-primary)}.day-tasks{display:flex;flex-direction:column;gap:.75rem;flex:1;min-height:0}.day-task-card{padding:.75rem;background:var(--bg-secondary);border:2px solid var(--border-color);border-left:4px solid var(--text-muted);border-radius:.375rem;cursor:grab;transition:all .15s;display:flex;flex-direction:column;gap:.5rem;min-height:70px}.day-task-card:active{cursor:grabbing}.day-task-card.critical{border-left-color:var(--priority-critical)}.day-task-card.high{border-left-color:var(--priority-high)}.day-task-card.medium{border-left-color:var(--priority-medium)}.day-task-card.low{border-left-color:var(--priority-low)}.day-task-card.completed{opacity:.6}.day-task-card:hover{border-color:var(--accent-primary);box-shadow:0 2px 4px #3b82f61a}.day-task-header{display:flex;align-items:flex-start;gap:.5rem}.day-task-checkbox{flex-shrink:0;width:18px;height:18px;margin-top:.15rem;cursor:pointer;accent-color:var(--accent-primary)}.day-task-title{flex:1;font-weight:400;color:var(--text-primary);word-wrap:break-word;line-height:1.3;font-size:var(--font-base);cursor:pointer}.day-task-title:hover{text-decoration:underline}.day-task-card.completed .day-task-title{text-decoration:line-through;color:var(--text-secondary)}.day-task-description{margin:0;font-size:var(--font-sm);color:var(--text-secondary);line-height:1.3}.day-task-priority{font-size:.75rem;font-weight:400;padding:.25rem .5rem;border-radius:.25rem;width:fit-content;color:var(--text-on-accent)}.day-task-priority.critical{background:var(--priority-critical)}.day-task-priority.high{background:var(--priority-high)}.day-task-priority.medium{background:var(--priority-medium)}.day-task-priority.low{background:var(--priority-low)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;text-align:center;color:var(--text-secondary);grid-column:1 / -1}.empty-state p{margin:0 0 1rem;font-size:1rem}.add-task-btn{padding:.5rem 1rem;background:var(--accent-primary);color:var(--text-on-accent);border:none;border-radius:.375rem;font-weight:400;cursor:pointer;transition:all .15s ease-in-out}.add-task-btn:hover{background:var(--accent-hover)}.completed-section{margin-top:1rem;border-top:2px solid var(--border-color);padding-top:1rem}.completed-toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.375rem;cursor:pointer;font-size:.875rem;font-weight:400;color:var(--text-secondary);transition:all .15s;width:100%;text-align:left}.completed-toggle:hover{background:var(--bg-tertiary);color:var(--text-primary)}.completed-tasks{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.completed-task-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.25rem;opacity:.6}.completed-task-checkbox{flex-shrink:0;width:18px;height:18px;cursor:pointer;accent-color:var(--accent-primary)}.completed-task-title{flex:1;text-decoration:line-through;color:var(--text-secondary);cursor:pointer;font-size:var(--font-base)}.completed-task-title:hover{text-decoration:underline}@media(max-width:640px){.day-view-header h3{font-size:var(--font-xl)}.day-task-item{padding:.5rem}.task-checkbox{width:18px;height:18px}.task-title{font-size:var(--font-base)}.task-description{font-size:var(--font-sm)}}.calendar-agenda-view{display:flex;flex-direction:column;gap:1.5rem;height:100%;overflow-y:auto}.agenda-header{padding:.5rem 0;border-bottom:1px solid var(--border-color);margin-bottom:.5rem}.agenda-header .add-task-btn{padding:.75rem 1.5rem;background:var(--accent-primary);color:var(--text-on-accent);border:none;border-radius:var(--radius-md);font-weight:400;font-size:var(--font-base);cursor:pointer;transition:all .15s}.agenda-header .add-task-btn:hover{background:var(--accent-hover);box-shadow:0 2px 8px #3b82f64d}.agenda-section{border-left:4px solid var(--text-muted);padding-left:1rem}.agenda-section.overdue{border-color:var(--status-overdue)}.agenda-section.today{border-color:var(--status-upcoming)}.agenda-section-title{margin:0 0 .75rem;font-size:1rem;font-weight:400;color:var(--text-primary)}.agenda-section.overdue .agenda-section-title{color:var(--text-primary)}.agenda-section.today .agenda-section-title{color:var(--status-upcoming)}.upcoming-section{padding-left:0}.section-title{margin:0 0 1rem;font-size:var(--font-lg);font-weight:400;color:var(--text-primary)}.agenda-date-group{margin-bottom:1.5rem;padding-left:1rem;border-left:2px solid var(--border-color)}.date-group-title{margin:0 0 .75rem;font-size:var(--font-base);font-weight:400;color:var(--text-secondary)}.task-list{display:flex;flex-direction:column;gap:.5rem;transition:all .15s}.task-list.drag-over{background:#3b82f61a;border-radius:var(--radius-sm);padding:.2rem}.agenda-task-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-left:4px solid var(--text-muted);border-radius:.375rem;cursor:grab;transition:all .15s ease-in-out}.agenda-task-item:active{cursor:grabbing}.agenda-task-item:hover{background:var(--bg-primary);border-color:var(--accent-primary);border-left-color:var(--accent-primary)}.agenda-task-item.critical{border-left-color:var(--priority-critical)}.agenda-task-item.high{border-left-color:var(--priority-high)}.agenda-task-item.medium{border-left-color:var(--priority-medium)}.agenda-task-item.low{border-left-color:var(--priority-low)}.agenda-task-item.completed{opacity:.6}.task-checkbox{flex-shrink:0;width:20px;height:20px;cursor:pointer;accent-color:var(--accent-primary)}.task-info{flex:1}.task-title{margin:0;font-weight:400;color:var(--text-primary)}.agenda-task-item.completed .task-title{text-decoration:line-through;color:var(--text-secondary)}.priority-badge{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:50%;font-size:.75rem;font-weight:400;color:var(--text-on-accent)}.priority-badge.critical{background:var(--priority-critical)}.priority-badge.high{background:var(--priority-high)}.priority-badge.medium{background:var(--priority-medium)}.priority-badge.low{background:var(--priority-low)}.empty-state{display:flex;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;color:var(--text-secondary)}.empty-state p{margin:0;font-size:1rem}@media(max-width:640px){.calendar-agenda-view{gap:1rem}.agenda-section-title{font-size:var(--font-base)}.section-title{font-size:1rem}.date-group-title{font-size:var(--font-base)}.agenda-task-item{padding:.5rem}.task-title{font-size:var(--font-base)}.priority-badge{width:1.25rem;height:1.25rem;font-size:var(--font-xs)}}.calendar-container{display:flex;flex-direction:column;height:100%;background:var(--bg-primary);border-radius:var(--radius-lg);overflow:hidden}.calendar-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);gap:1rem}.calendar-header h2{margin:0;font-size:var(--font-2xl);font-weight:400;color:var(--text-primary)}.view-mode-selector{display:flex;gap:.5rem;flex-wrap:wrap}.view-btn{padding:.5rem 1rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.375rem;font-size:.875rem;font-weight:400;cursor:pointer;transition:all .15s ease-in-out;color:var(--text-secondary)}.view-btn:hover{background:var(--bg-secondary);border-color:var(--accent-primary)}.view-btn.active{background:var(--accent-primary);color:var(--text-on-accent);border-color:var(--accent-primary)}.calendar-nav{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);gap:1rem;flex-wrap:wrap}.nav-title{font-size:var(--font-lg);font-weight:400;color:var(--text-primary);flex:1;text-align:center;min-width:200px}.nav-btn{padding:.5rem .75rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.375rem;font-size:.875rem;cursor:pointer;transition:all .15s ease-in-out;color:var(--text-secondary)}.nav-btn:hover{background:var(--bg-secondary);border-color:var(--accent-primary);color:var(--accent-primary)}.today-btn{margin-left:auto;background:var(--accent-primary);color:var(--text-on-accent);border-color:var(--accent-primary)}.today-btn:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--text-on-accent)}.calendar-content{flex:1;overflow:auto;padding:1rem;background:var(--bg-primary)}.calendar-summary{padding:.75rem 1rem;border-top:1px solid var(--border-color);background:var(--bg-secondary);text-align:center;font-size:.875rem;color:var(--text-secondary)}.calendar-summary p{margin:0}@media(max-width:1024px){.calendar-header{flex-direction:column;gap:.75rem}.calendar-header h2{width:100%;text-align:center}.view-mode-selector{width:100%;justify-content:center}.view-btn{padding:.4rem .8rem;font-size:var(--font-sm)}.nav-title{min-width:150px;font-size:1rem}}@media(max-width:640px){.calendar-container{height:auto;min-height:100vh}.calendar-header{padding:.75rem;gap:.5rem}.calendar-header h2{font-size:var(--font-xl)}.view-mode-selector{width:100%;justify-content:space-between;gap:.25rem}.view-btn{flex:1;padding:.4rem .5rem;font-size:var(--font-xs)}.view-btn span,.view-btn:before{display:none}.calendar-nav{flex-direction:row;flex-wrap:nowrap;align-items:center;padding:.5rem;gap:.375rem}.nav-btn{flex:0 0 auto;padding:.4rem .5rem;font-size:.75rem;white-space:nowrap}.today-btn{margin-left:0;width:auto}.nav-title{flex:1 1 auto;width:auto;min-width:0;text-align:center;font-size:var(--font-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-content{padding:.5rem}.calendar-summary{padding:.5rem;font-size:var(--font-sm)}}.calendar-modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:fadeIn .15s ease-out}.calendar-modal{background:var(--bg-primary);border-radius:var(--radius-lg);padding:1.5rem;min-width:350px;max-width:500px;box-shadow:0 10px 25px #0003;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.calendar-modal h3{margin:0 0 1rem;font-size:var(--font-xl);font-weight:400;color:var(--text-primary)}.calendar-modal-input{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:.375rem;font-size:1rem;margin-bottom:1.5rem;font-family:inherit;transition:border-color .15s;box-sizing:border-box}.calendar-modal-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f61a}.calendar-modal-buttons{display:flex;gap:.75rem;justify-content:flex-end}@media print{.calendar-header,.calendar-nav,.calendar-summary{display:none}.calendar-content{padding:0;overflow:visible}}.notification-center{position:absolute;top:100%;right:0;z-index:var(--z-dropdown);margin-top:.5rem}.notification-panel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 10px 25px #0000001a;width:380px;max-height:500px;display:flex;flex-direction:column;overflow:hidden}.notification-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.notification-header h3{margin:0;font-size:1rem;font-weight:400;color:var(--text-primary)}.dismiss-all-btn{background:none;border:none;color:var(--text-secondary);font-size:.875rem;cursor:pointer;padding:.25rem .5rem;border-radius:.25rem;transition:all .15s ease-in-out}.dismiss-all-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.notification-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:0}.notification-item{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1rem;border-bottom:1px solid var(--border-color);transition:opacity .2s ease-in-out}.notification-item:last-child{border-bottom:none}.notification-item.overdue{background:var(--danger-bg);color:var(--text-primary)}.notification-item.dismissing{opacity:.5;pointer-events:none}.notification-content{flex:1;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;transition:opacity .2s ease-in-out}.notification-content:hover{opacity:.8}.notification-type-badge{display:inline-block;font-size:.75rem;font-weight:400;text-transform:uppercase;letter-spacing:.5px;opacity:.8}.notification-task-title{margin:0;font-size:var(--font-base);font-weight:400;line-height:1.4;word-break:break-word}.notification-message{margin:0;font-size:.875rem;opacity:.85;line-height:1.4}.notification-due-date{display:block;font-size:var(--font-sm);opacity:.7;margin-top:.25rem}.notification-dismiss-btn{flex-shrink:0;width:24px;height:24px;padding:0;background:none;border:none;color:inherit;opacity:.4;cursor:pointer;font-size:var(--font-xl);display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:all .15s ease-in-out}.notification-dismiss-btn:hover:not(:disabled){opacity:.8;background:#0000001a}.notification-dismiss-btn:disabled{opacity:.3;cursor:not-allowed}.notifications-empty{padding:2rem 1rem;text-align:center;color:var(--text-secondary)}.notifications-empty p{margin:0;font-size:1rem;font-weight:400}.notifications-empty small{display:block;margin-top:.5rem;font-size:.875rem}.notifications-loading{padding:2rem 1rem;text-align:center;color:var(--text-secondary);font-size:.875rem}.notification-footer{padding:.75rem 1rem;border-top:1px solid var(--border-color);background:var(--bg-tertiary);text-align:center;color:var(--text-secondary)}.notification-bell{position:relative;background:none;border:none;cursor:pointer;font-size:var(--font-2xl);padding:.5rem;border-radius:var(--radius-md);color:var(--text-primary);transition:all .15s ease-in-out;display:flex;align-items:center;justify-content:center}.notification-bell:hover,.notification-bell.active{background:var(--bg-tertiary)}.notification-badge{position:absolute;top:0;right:0;background:var(--priority-critical);color:var(--text-on-accent);font-size:var(--font-xs);font-weight:400;min-width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;border-radius:999px;line-height:1}.notification-bell.has-notifications .bell-icon{animation:ring .6s ease-in-out}@keyframes ring{0%{transform:rotate(0)}10%{transform:rotate(15deg)}20%{transform:rotate(-15deg)}30%{transform:rotate(15deg)}40%{transform:rotate(-15deg)}50%{transform:rotate(0)}}@media(max-width:640px){.notification-center{position:fixed;top:auto;right:.5rem;left:.5rem;width:auto}.notification-panel{width:100%;max-height:70vh}}.notification-push-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-top:1px solid var(--border-color);background:var(--bg-tertiary);gap:.75rem}.push-row-label{font-size:.875rem;color:var(--text-primary);font-weight:400}.push-toggle-btn{padding:.3rem .9rem;border-radius:999px;border:none;font-size:var(--font-sm);font-weight:400;cursor:pointer;letter-spacing:.05em}.push-toggle-btn.push-off{background:var(--bg-tertiary);color:var(--text-primary)}.push-toggle-btn.push-on{background:var(--accent-primary);color:var(--text-on-accent)}.push-toggle-btn:disabled{opacity:.5;cursor:not-allowed}.notification-item--overdue{background:var(--danger-bg);color:var(--text-primary)}.notification-item--due_today{background:var(--warning-bg);color:var(--text-primary)}.notification-item--due_soon{background:var(--info-bg);color:var(--text-primary)}.backup-settings{width:100%;max-width:600px;margin:0 auto;padding:2rem 1rem}.settings-container{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:2rem;box-shadow:0 1px 3px #0000001a}.settings-container h2{margin:0 0 .5rem;font-size:1.75rem;color:var(--text-primary)}.settings-description{margin:0 0 1.5rem;color:var(--text-secondary);font-size:var(--font-base)}.message-alert{padding:1rem;margin-bottom:1.5rem;border-radius:var(--radius-md);font-weight:400;display:flex;align-items:center;gap:.5rem}.message-alert.success{background:var(--success-bg);color:var(--text-primary);border:1px solid var(--accent-success)}.message-alert.error{background:var(--danger-bg);color:var(--text-primary);border:1px solid var(--accent-danger)}.settings-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.settings-section:last-of-type{border-bottom:none;margin-bottom:1.5rem;padding-bottom:0}.settings-section h3{margin:0 0 1rem;font-size:var(--font-lg);color:var(--text-primary);font-weight:400}.setting-group{margin-bottom:1.25rem;display:flex;flex-direction:column;gap:.5rem}.setting-group label{font-weight:400;color:var(--text-primary);font-size:var(--font-base)}.setting-select,.setting-input{padding:.75rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:var(--font-base);font-family:inherit;transition:border-color .15s}.setting-select:focus,.setting-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f61a}.setting-select:disabled,.setting-input:disabled{background:var(--bg-tertiary);cursor:not-allowed;opacity:.6}.setting-hint{margin:0;font-size:var(--font-sm);color:var(--text-secondary)}.input-with-unit{display:flex;align-items:center;gap:.5rem}.input-with-unit .setting-input{flex:1;max-width:120px}.input-with-unit .unit{color:var(--text-secondary);font-size:var(--font-base);font-weight:400}.time-range{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:flex-end}.time-separator{color:var(--text-secondary);font-weight:400;padding-bottom:.75rem}.time-range .setting-group{margin-bottom:0}.time-range label{font-size:var(--font-base)}.cloud-notice{background:var(--info-bg);border-left:4px solid var(--accent-primary);padding:1rem;border-radius:var(--radius-md);margin-top:1rem}.cloud-notice p{margin:0;color:var(--text-primary);font-size:var(--font-base)}.loading{text-align:center;color:var(--text-secondary);padding:2rem 0}.settings-actions{display:flex;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.backup-settings .btn{padding:.75rem 1.5rem;border:none;border-radius:var(--radius-md);font-weight:400;cursor:pointer;transition:all .15s ease-in-out;font-size:var(--font-base);flex:1}.backup-settings .btn-success{background:var(--accent-success);color:var(--bg-secondary)}.backup-settings .btn-success:hover:not(:disabled){background:var(--accent-success);color:var(--bg-secondary);filter:brightness(.9)}.backup-settings .btn-success:disabled{opacity:.6;cursor:not-allowed}.backup-settings .btn-success,.backup-settings .btn-danger{padding:1rem 2rem;font-size:1rem;width:100%;margin-top:.75rem}.backup-now-section{background:linear-gradient(135deg,#10b9810d,#22c55e0d);border:2px solid rgba(16,185,129,.3);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:2rem;margin-top:2rem}.backup-now-section h3{margin:0 0 .75rem;font-size:var(--font-lg);color:var(--text-primary);font-weight:400}.backup-now-section .setting-hint{margin-bottom:1rem}.restore-section{background:linear-gradient(135deg,#ef44440d,#f472720d);border:2px solid rgba(239,68,68,.3);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:2rem;margin-top:2rem}.restore-section h3{margin:0 0 .75rem;font-size:var(--font-lg);color:var(--text-primary);font-weight:400}.restore-section .setting-hint{margin-bottom:1.5rem}.file-upload-area{margin-bottom:1rem}.file-upload-label{display:block;padding:2rem;border:2px dashed var(--border-color);border-radius:var(--radius-md);text-align:center;cursor:pointer;transition:all .2s;background:var(--bg-primary);color:var(--text-secondary);font-weight:400}.file-upload-label:hover{border-color:var(--accent-danger);background:#ef444405;color:var(--text-primary)}.file-input:disabled~.file-upload-label{opacity:.6;cursor:not-allowed}.restore-info{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem;margin-bottom:1rem}.restore-info p{margin:.5rem 0;font-size:var(--font-base);color:var(--text-primary)}.restore-info strong{color:var(--accent-danger)}@media(max-width:640px){.backup-settings{padding:1rem}.settings-container{padding:1.5rem 1rem}.settings-container h2{font-size:var(--font-2xl)}.time-range{grid-template-columns:1fr;gap:.75rem}.time-separator{display:none}.time-range .setting-group label:after{content:" to "}.settings-actions{flex-direction:column}.backup-settings .btn{width:100%}}.notification-settings{display:flex;flex-direction:column;gap:0}.ns-section{padding:16px 0;border-bottom:1px solid var(--border-color)}.ns-section:last-child{border-bottom:none}.ns-section__title{font-size:var(--font-xs);font-weight:400;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin:0 0 12px}.ns-hint{font-size:var(--font-sm);color:var(--text-secondary);line-height:1.5;margin:0}.ns-time-row{display:flex;gap:16px;margin-top:8px;padding:12px;background:var(--bg-tertiary);border-radius:var(--radius-lg)}.ns-time-field{display:flex;flex-direction:column;gap:4px;flex:1}.ns-time-field label{font-size:.75rem;color:var(--text-secondary);font-weight:400}.ns-time-input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:var(--font-base);padding:6px 8px;width:100%;box-sizing:border-box}.ns-time-input:focus{outline:none;border-color:var(--accent-primary)}.ns-status{padding:10px 12px;border-radius:var(--radius-lg);font-size:var(--font-sm);line-height:1.5}.ns-status strong{display:block;margin-bottom:4px;font-size:var(--font-base)}.ns-status p{margin:0;opacity:.9}.ns-status--warn{background:#eab3081f;border:1px solid rgba(234,179,8,.3);color:var(--accent-warning)}.ns-status--error{background:#ef44441a;border:1px solid rgba(239,68,68,.25);color:var(--accent-danger)}.ns-diag{font-size:var(--font-xs);color:var(--text-secondary);margin:4px 0 0;letter-spacing:.02em}.ns-diag strong{color:var(--text-secondary)}.ns-error{font-size:var(--font-sm);color:var(--accent-danger);margin:4px 0 0;padding:6px 10px;background:#ef44441a;border-radius:6px;border:1px solid rgba(239,68,68,.25)}.ns-perm-block{display:flex;flex-direction:column;gap:10px}.ns-perm-btn{background:var(--accent-primary);color:var(--bg-secondary);border:none;border-radius:var(--radius-lg);padding:10px 16px;font-size:var(--font-base);font-weight:400;cursor:pointer;width:100%;transition:background .15s ease}.ns-perm-btn:hover{background:var(--accent-hover)}.ns-perm-btn:disabled{background:var(--text-muted);cursor:not-allowed}.ns-test-btn{margin-top:8px;background:transparent;color:var(--accent-primary);border:1px solid var(--accent-primary);border-radius:var(--radius-lg);padding:8px 14px;font-size:var(--font-sm);cursor:pointer;width:100%;transition:background .15s ease}.ns-test-btn:hover{background:var(--bg-tertiary)}.settings-overlay{position:fixed;inset:0;background:#0000004d;z-index:calc(var(--z-drawer) - 1);animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.slideout-settings{position:fixed;right:0;top:0;bottom:0;padding-top:env(safe-area-inset-top,0px);width:100%;max-width:420px;background:var(--bg-secondary);border-left:1px solid var(--border-color);z-index:var(--z-drawer);display:flex;flex-direction:column;animation:slideIn .3s ease-out;box-shadow:-2px 0 8px #0000001a}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.slideout-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--border-color);flex-shrink:0}.slideout-header h2{margin:0;font-size:var(--font-xl);font-weight:400;color:var(--text-primary)}.close-btn{width:32px;height:32px;min-width:auto;min-height:auto;display:flex;align-items:center;justify-content:center;border-radius:4px;color:var(--text-secondary);font-size:var(--font-xl);transition:all .15s}.close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.slideout-tabs{display:flex;gap:.5rem;padding:.5rem;border-bottom:1px solid var(--border-color);flex-shrink:0;background:var(--bg-primary)}.tab-btn{flex:1;padding:.5rem 1rem;background:transparent;border:none;border-radius:4px;color:var(--text-secondary);font-size:.875rem;font-weight:400;cursor:pointer;transition:all .15s;min-height:auto;min-width:auto}.tab-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.tab-btn.active{background:var(--bg-secondary);color:var(--text-primary);box-shadow:0 1px 3px #0000000d}.slideout-content{flex:1;overflow-y:auto;padding:1rem}.tab-content{animation:fadeIn .15s ease-out}.tab-content h3{margin:0 0 .75rem;font-size:1rem;font-weight:400;color:var(--text-primary)}.setting-hint{margin:0;font-size:.875rem;color:var(--text-secondary)}.account-section{margin:1.5rem 0;padding:1rem;background:var(--bg-primary);border-radius:6px}.account-field{margin-bottom:1rem}.account-field:last-child{margin-bottom:0}.account-field label{display:block;font-size:.75rem;font-weight:400;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:.25rem}.account-field p{margin:0;font-size:var(--font-base);color:var(--text-primary);word-break:break-all}.logout-btn{width:100%;padding:.75rem;margin-top:1rem;background:var(--danger-bg);color:var(--text-primary);border:1px solid var(--accent-danger);border-radius:4px;font-weight:400;font-size:var(--font-base);cursor:pointer;transition:all .15s;min-height:auto;min-width:auto}.logout-btn:hover{background:var(--accent-danger);color:var(--text-on-accent);border-color:var(--accent-danger)}.slideout-content::-webkit-scrollbar{width:6px}.slideout-content::-webkit-scrollbar-track{background:transparent}.slideout-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-sm)}.slideout-content::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@media(max-width:640px){.slideout-settings{max-width:100%}.slideout-header h2{font-size:var(--font-lg)}.tab-btn{font-size:var(--font-sm);padding:.5rem .75rem}.slideout-content{padding:.75rem}}.app{height:100%;display:flex;flex-direction:column}.header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:var(--spacing-xs) var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-xs);flex-shrink:0;position:sticky;top:0;z-index:var(--z-sticky)}.header>div:first-of-type{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-xs)}.header h1{font-size:var(--font-base);font-weight:400;color:var(--text-primary);line-height:1}.project-title-btn{display:flex;align-items:center;gap:3px;background:transparent;border:none;cursor:pointer;color:var(--text-primary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);max-width:160px;transition:background .12s ease;touch-action:manipulation}.project-title-btn:active{background:var(--bg-tertiary)}.project-title-name{font-size:var(--font-base);font-weight:500;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:capitalize;line-height:1}.project-title-btn svg{flex-shrink:0;color:var(--text-muted);margin-top:1px}.header-actions{display:flex;gap:var(--spacing-xs);align-items:center;flex-wrap:wrap}.btn{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border-radius:var(--radius-md);font-size:var(--font-sm);color:var(--text-primary);font-weight:400;min-height:var(--button-height-md);display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.btn:hover{background:var(--accent-primary);color:var(--bg-secondary)}.btn-primary{background:var(--accent-primary);color:var(--bg-secondary);font-weight:400;border-radius:var(--radius-md);font-size:var(--font-base);padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease;min-height:var(--button-height-md);touch-action:manipulation}@media(hover:hover){.btn-primary:hover:not(:disabled){background:var(--accent-hover);color:var(--bg-secondary)}}.btn-primary:active:not(:disabled){transform:scale(.98);background:var(--accent-hover)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--bg-primary);color:var(--text-primary)}.btn-cancel{padding:var(--spacing-sm) var(--spacing-md);background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-base);font-weight:400;cursor:pointer;transition:all .2s ease;min-height:var(--button-height-md);touch-action:manipulation}@media(hover:hover){.btn-cancel:hover{background:var(--bg-primary);color:var(--text-primary)}}.btn-cancel:active{transform:scale(.98);background:var(--bg-primary)}.btn-danger{background:var(--accent-danger);color:var(--bg-secondary)}.btn-danger:hover:not(:disabled){background:var(--accent-danger);color:var(--bg-secondary);filter:brightness(.9)}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled{opacity:.6;cursor:not-allowed}@media(prefers-reduced-motion:reduce){.btn-primary:active,.btn-cancel:active{transform:none}}.icon-btn{padding:var(--spacing-sm);display:flex;align-items:center;justify-content:center;min-width:var(--touch-target-min);min-height:var(--touch-target-min);border-radius:var(--radius-md)}.icon-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.matrix-grid{flex:1;display:grid;grid-template-columns:1fr;grid-template-rows:repeat(4,minmax(0,1fr));gap:1px;background:var(--border-color);overflow:hidden}.matrix-grid.mobile-single{grid-template-columns:1fr;grid-template-rows:1fr;padding-bottom:calc(56px + var(--safe-area-bottom))}@media(min-width:640px){.header{padding:var(--spacing-xs) var(--spacing-md)}.header h1{font-size:var(--font-lg)}.header-actions{gap:var(--spacing-xs)}.matrix-grid{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}}@media(min-width:1024px){.header{padding:var(--spacing-sm) var(--spacing-md)}.header h1{font-size:var(--font-xl)}.header-actions{gap:var(--spacing-sm)}.matrix-grid{gap:1px}}.login-overlay{position:fixed;inset:0;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);z-index:var(--z-modal)}.login-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);width:100%;max-width:400px;box-shadow:var(--shadow-lg)}.login-header{text-align:center;margin-bottom:var(--spacing-lg)}.login-header svg{color:var(--accent-primary);margin-bottom:var(--spacing-md);width:48px;height:48px}.login-header h1{font-size:var(--font-xl);font-weight:400;color:var(--text-primary);margin-bottom:var(--spacing-sm);line-height:var(--leading-tight)}.login-header p{font-size:var(--font-sm);color:var(--text-secondary);line-height:var(--leading-normal)}.login-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.login-input{width:100%;padding:var(--spacing-md);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-base);color:var(--text-primary);text-align:center;letter-spacing:.5px;transition:border-color .2s;min-height:var(--button-height-lg)}.login-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #7a7a7a1a}.login-input:disabled{opacity:.6;cursor:not-allowed}.login-error{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);color:var(--accent-danger);font-size:var(--font-sm);line-height:var(--leading-normal)}.login-button{padding:var(--spacing-md);background:var(--accent-primary);color:var(--bg-secondary);border-radius:var(--radius-md);font-size:var(--font-base);font-weight:400;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);transition:opacity .2s;min-height:var(--button-height-lg)}.login-button:hover:not(:disabled){opacity:.9}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-button .spin{animation:spin 1s linear infinite}@media(min-width:640px){.login-container{padding:var(--spacing-xl)}.login-header h1{font-size:var(--font-2xl)}.login-header svg{width:64px;height:64px}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.view-nav{display:flex;align-items:center;gap:2px;background:var(--bg-tertiary);border-radius:var(--radius-md);padding:2px}.view-nav-btn{display:flex;align-items:center;gap:var(--spacing-xs);min-height:36px;padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:none;border-radius:calc(var(--radius-md) - 2px);color:var(--text-secondary);font-size:var(--font-sm);font-weight:400;cursor:pointer;transition:background .15s,color .15s}.view-nav-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.view-nav-btn.active{background:var(--bg-secondary);color:var(--text-primary);box-shadow:var(--shadow-sm)}@media(max-width:639px){.view-nav-btn span{display:none}}@media(max-width:380px){.view-nav-btn{min-width:36px;min-height:36px;padding:var(--spacing-xs)}}.notification-wrapper{position:relative}.view-container{flex:1;overflow-y:auto;background:var(--bg-primary);animation:viewFadeIn .15s ease-out}@keyframes viewFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.view-container{animation:none}}.ios-push-banner{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);font-size:var(--font-sm);color:var(--text-secondary)}.ios-push-banner strong{color:var(--text-primary)}.ios-push-banner-close{margin-left:auto;background:none;border:none;cursor:pointer;color:var(--text-muted);padding:2px;display:flex;align-items:center;border-radius:4px}.ios-push-banner-close:hover{color:var(--text-secondary);background:var(--bg-tertiary)}.confirm-overlay{position:fixed;inset:0;z-index:var(--z-confirm);display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);padding-bottom:calc(var(--spacing-lg) + var(--safe-area-bottom));background:#00000073;animation:confirm-fade-in .12s ease-out}.confirm-dialog{width:100%;max-width:400px;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 10px 30px #0003;padding:var(--spacing-xl);outline:none}.confirm-dialog-header{display:flex;align-items:center;gap:var(--spacing-sm)}.confirm-dialog-header h2{margin:0;font-size:var(--font-lg);font-weight:500;color:var(--text-primary)}.confirm-dialog-icon{color:var(--accent-danger);flex-shrink:0}.confirm-dialog-message{margin:var(--spacing-md) 0 0;font-size:var(--font-sm);line-height:var(--leading-normal);color:var(--text-secondary);white-space:pre-line}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-xl)}@media(max-width:639px){.confirm-dialog-actions{flex-direction:column-reverse}.confirm-dialog-actions .btn,.confirm-dialog-actions .btn-cancel{width:100%}}@keyframes confirm-fade-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.confirm-overlay{animation:none}}
