.attachment-section{display:flex;flex-direction:column;gap:var(--s-2);margin-top:var(--s-3)}.attachment-add,.attachment-row button{display:inline-flex;align-items:center;gap:var(--s-1);color:var(--text-secondary);background:transparent;border:var(--border-width-thin) solid var(--border);border-radius:var(--r-sm);padding:var(--s-1) var(--s-2)}.attachment-add{align-self:flex-start}.attachment-input{display:none}.attachment-progress,.attachment-size{color:var(--text-tertiary);font-size:var(--text-xs)}.attachment-list{display:flex;flex-direction:column;gap:var(--s-1);margin:0;padding:0;list-style:none}.attachment-row{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2);color:var(--text-secondary);background:var(--surface-hover);border:var(--border-width-thin) solid var(--border);border-radius:var(--r-sm)}.attachment-name{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root{--bg: #FBFAF8;--surface: #FFFFFF;--surface-2: #FFFFFF;--surface-hover: #F5F4F1;--surface-active: #EDECEA;--border: rgba(0, 0, 0, .08);--border-strong: rgba(0, 0, 0, .14);--overlay: rgba(26, 25, 22, .28);--text: #1A1916;--text-secondary: #57554E;--text-tertiary: #8C8A83;--accent: #1a9268;--accent-hover: #0d6b4e;--accent-fg: #FFFFFF;--accent-subtle: #e8f5f0;--danger: #D04437;--danger-subtle: #FCEBEB;--warning: #BA7517;--warning-subtle: #FAEEDA;--success: #0F6E56;--success-subtle: #E1F5EE;--info: #185FA5;--info-subtle: #E6F1FB;--p1: #D04437;--p2: #EF9F27;--p3: #378ADD;--p4: #8A887F;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;--fw-normal: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--text-xs: 12px;--lh-xs: 16px;--text-sm: 13px;--lh-sm: 18px;--text-base: 15px;--lh-base: 23px;--text-md: 17px;--lh-md: 25px;--text-lg: 21px;--lh-lg: 28px;--text-xl: 26px;--lh-xl: 32px;--leading-tight: 1.3;--leading-base: 1.55;--s-1: 4px;--s-1_5: 6px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--row-h: 40px;--row-pad-y: 9px;--row-pad-x: 12px;--row-font: var(--text-base);--control-h: 36px;--section-gap: 20px;--list-row-gap: 2px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-full: 999px;--ease: cubic-bezier(.2, 0, 0, 1);--dur: .15s;--shadow-pop: 0 4px 16px rgba(0, 0, 0, .12);--focus: 0 0 0 2px var(--bg), 0 0 0 4px var(--accent);--sidebar-width: 240px;--sidebar-mobile-width: 276px;--sidebar-collapsed-width: 48px;--bp-sm: 640px;--bp-md: 900px;--bp-lg: 1280px;--content-width: clamp(640px, 70vw, 960px);--z-overlay: 1000;--drag-opacity: .5;--drag-outline-width: 2px;--drag-outline-inset: -2px}[data-theme=dark]{--bg: #16150F;--surface: #1C1B16;--surface-2: #232218;--surface-hover: #252420;--surface-active: #2E2C27;--border: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .18);--overlay: rgba(0, 0, 0, .48);--text: #F2F0EA;--text-secondary: #B7B4AA;--text-tertiary: #84817A;--accent: #27b085;--accent-hover: #1D9E75;--accent-fg: #FFFFFF;--accent-subtle: #0d2921;--danger-subtle: #4C1D1B;--warning-subtle: #43270F;--success: #2BB888;--success-subtle: #0F2F26;--info-subtle: #0F253C}[data-density=compact]{--row-h: 30px;--row-pad-y: 5px;--row-pad-x: 10px;--row-font: var(--text-sm);--control-h: 30px;--section-gap: 12px;--list-row-gap: 0px}.list-row{display:flex;align-items:center;gap:var(--s-2);min-height:var(--row-h);padding:var(--row-pad-y) var(--row-pad-x);font-size:var(--row-font);line-height:var(--leading-tight);position:relative;transition:background var(--dur) var(--ease)}.list-row+.list-row{margin-top:var(--list-row-gap)}.list-row:hover{background:var(--surface-hover)}.list-row.is-selected,.list-row.selected,.list-row[aria-selected=true]{background:var(--surface-active)}.list-row.is-active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);border-radius:0 var(--r-sm) var(--r-sm) 0}.section{display:flex;flex-direction:column}.section+.section{margin-top:var(--section-gap)}.section>.section-header{font-size:var(--text-sm);font-weight:var(--fw-medium);line-height:var(--leading-tight);color:var(--text-tertiary)}.surface-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-4)}.num{font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){*{animation-delay:-1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;background-attachment:initial!important;scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important}}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);color:var(--text);background:var(--bg)}.app{display:flex;height:100vh}.sidebar{width:var(--sidebar-width);flex-shrink:0;background:var(--surface-hover);border-right:1px solid var(--border);padding:var(--s-4) var(--s-2);overflow-x:clip;overflow-y:auto;display:flex;flex-direction:column;gap:var(--s-1)}.brand{font-weight:var(--fw-semibold);font-size:var(--text-md);padding:var(--s-1) var(--s-2) var(--s-4);display:flex;align-items:center;gap:var(--s-2)}.sync{width:8px;height:8px;border-radius:50%;background:var(--success)}.sync-syncing{background:var(--warning)}.sync-offline{background:var(--text-tertiary)}.side-item{display:flex;justify-content:space-between;align-items:center;width:100%;height:32px;padding:0 var(--s-2);border:none;background:none;border-radius:var(--r-md);font-size:var(--text-base);cursor:pointer;text-align:left;color:var(--text);position:relative}.side-item:hover{background:var(--surface-hover)}.side-item.active{background:var(--accent-subtle);color:var(--accent);font-weight:var(--fw-semibold)}.side-item.active:before{content:"";position:absolute;left:3px;top:6px;bottom:6px;width:3px;background:var(--accent);border-radius:var(--r-full)}.badge{font-size:var(--text-sm);color:var(--text-tertiary)}.side-head{font-size:var(--text-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);padding:var(--s-4) var(--s-2) var(--s-1)}.side-add{border:none;background:none;color:var(--text-tertiary);font-size:var(--text-sm);text-align:left;height:32px;padding:0 var(--s-2);cursor:pointer;border-radius:var(--r-md)}.side-add:hover{background:var(--surface-hover);color:var(--text-secondary)}.side-input,.side-form input{width:100%;border:1px solid var(--border-strong);border-radius:var(--r-md);padding:var(--s-1) var(--s-2);font-size:var(--text-sm);margin-top:var(--s-1);outline:none}.side-input{border-color:transparent;background:none}.side-input:focus,.side-form input:focus{border-color:var(--border-strong);background:var(--surface)}.side-book-section{display:flex;flex-direction:column;gap:var(--s-1)}.side-book-header{display:flex;align-items:center;justify-content:space-between;padding:0 var(--s-2)}.side-book-label{font-size:var(--text-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary)}.side-book-help-container{position:relative;display:inline-block;z-index:99999!important}.side-book-help-btn{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:var(--text-sm);width:16px;height:16px;border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;padding:0;transition:color var(--dur) var(--ease),background var(--dur) var(--ease)}.side-book-help-btn:hover{color:var(--text-secondary);background:var(--surface-hover)}.side-book-help-tooltip{visibility:hidden;width:200px;background-color:#fff!important;color:var(--text-secondary);text-align:left;border:1px solid rgba(0,0,0,.14)!important;border-radius:var(--r-md);padding:var(--s-2);position:absolute;z-index:99999!important;bottom:125%;right:0;opacity:0;transition:opacity var(--dur) var(--ease);box-shadow:var(--shadow-pop)!important;font-size:var(--text-xs);line-height:var(--lh-xs);pointer-events:none}.side-book-help-container:hover .side-book-help-tooltip{visibility:visible;opacity:1}[data-theme=dark] .side-book-help-tooltip{background-color:var(--surface)!important;border:1px solid var(--border-strong)!important}.side-input.unobtrusive{border:none;background:transparent;padding:var(--s-1) var(--s-2);font-weight:var(--fw-medium);color:var(--text-secondary);cursor:default;pointer-events:none;appearance:none;-webkit-appearance:none}.side-input.unobtrusive:focus{border-color:transparent;background:transparent}.main{flex:1;min-width:0;overflow-y:auto;padding:var(--s-5) calc(var(--s-6) + var(--s-4));max-width:var(--content-width);margin-inline:auto}.view-title{font-size:var(--text-lg);margin:0 0 var(--s-4)}.quick-capture{width:100%;padding:var(--s-3) var(--s-4);font-size:var(--text-base);border:1px solid var(--border-strong);border-radius:var(--r-md);outline:none;margin-bottom:var(--s-5);background:var(--surface);color:var(--text);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.completed-tasks{margin-top:var(--s-5);border-top:1px solid var(--border);padding-top:var(--s-3)}.completed-tasks summary{color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--fw-semibold)}.dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-4)}.dash-section{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);padding:var(--s-4);display:flex;flex-direction:column}.dash-section-title{margin:0 0 var(--s-3);font-size:var(--text-md);font-weight:var(--fw-semibold);display:flex;align-items:center;gap:var(--s-2)}.dash-empty{color:var(--text-tertiary);font-size:var(--text-sm)}.dash-line{margin:var(--s-1) 0;font-size:var(--text-sm);color:var(--text-secondary)}.dash-link{border:0;background:transparent;color:var(--accent);cursor:pointer;padding:var(--s-2) 0 0;font-size:var(--text-sm);font-weight:var(--fw-semibold);text-align:left;margin-top:auto;width:fit-content}.dash-net-worth{grid-column:1 / -1}@media(max-width:768px){.dashboard{grid-template-columns:1fr}.dash-net-worth{grid-column:auto}}.all-clear-chip{display:inline-flex;align-items:center;gap:var(--s-1);background:var(--success-subtle);color:var(--success);padding:var(--s-1) var(--s-3);border-radius:var(--r-full);font-size:var(--text-xs);font-weight:var(--fw-semibold);margin:var(--s-2) 0;width:fit-content}.all-clear-icon{font-weight:var(--fw-bold)}.event-chip{display:inline-flex;align-items:center;background:var(--info-subtle);color:var(--info);padding:var(--s-1) var(--s-2);border-radius:var(--r-sm);font-size:var(--text-xs);font-weight:var(--fw-semibold);line-height:var(--lh-xs);text-transform:uppercase}.text-danger{color:var(--danger);font-weight:var(--fw-medium)}.text-warning{color:var(--warning);font-weight:var(--fw-medium)}.text-success{color:var(--success);font-weight:var(--fw-medium)}.dash-subsections{display:flex;flex-direction:column;gap:var(--s-4);margin-bottom:var(--s-3)}.dash-subsection{display:flex;flex-direction:column;gap:var(--s-1)}.dash-sub-title{display:flex;align-items:center;gap:var(--s-2);margin:0 0 var(--s-1);font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text)}.dash-sub-items{padding-left:var(--s-2);display:flex;flex-direction:column;gap:var(--s-1)}.dash-more-link{border:0;background:transparent;color:var(--accent);cursor:pointer;padding:var(--s-1) 0;font-size:var(--text-xs);font-weight:var(--fw-semibold);text-align:left;width:fit-content}.dash-coming-groups{display:flex;flex-direction:column;gap:var(--s-4);margin-bottom:var(--s-2)}.dash-coming-group{display:flex;flex-direction:column;gap:var(--s-2)}.dash-coming-date{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);padding-bottom:var(--s-1)}.dash-coming-items{display:flex;flex-direction:column;gap:var(--s-2)}.dash-event-row{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);background:var(--surface-hover);border-radius:var(--r-sm);font-size:var(--text-sm)}.dash-event-time{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);min-width:60px}.dash-event-name{flex-grow:1;color:var(--text);font-weight:var(--fw-medium)}.dash-networth-total-box{display:flex;flex-direction:column;gap:var(--s-1);margin-bottom:var(--s-4);padding-bottom:var(--s-3);border-bottom:1px solid var(--border)}.dash-networth-label{font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;font-weight:var(--fw-semibold);letter-spacing:.05em}.dash-networth-amount{font-size:var(--text-xl);font-weight:var(--fw-bold);color:var(--text)}.dash-networth-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-5);margin-bottom:var(--s-3)}.dash-networth-col{display:flex;flex-direction:column;gap:var(--s-2)}.dash-accounts-list{display:flex;flex-direction:column;gap:var(--s-1)}.dash-account-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-sm);padding:var(--s-1) 0;border-bottom:1px solid var(--border)}.dash-account-row.total-row{font-weight:var(--fw-semibold);border-top:1px solid var(--text-tertiary);border-bottom:none;margin-top:var(--s-1);padding-top:var(--s-2)}.dash-account-name{color:var(--text-secondary)}@media(max-width:768px){.dash-networth-breakdown{grid-template-columns:1fr;gap:var(--s-4)}}.quick-capture:focus{border-color:var(--accent);box-shadow:var(--focus)}.group-head{font-size:var(--text-sm);font-weight:var(--fw-semibold);margin:var(--s-5) 0 var(--s-2);padding-bottom:var(--s-1);border-bottom:1px solid var(--surface-hover)}.overdue-head{color:var(--danger)}.task-row{display:flex;align-items:center;gap:var(--s-3);padding:var(--row-pad-y) var(--row-pad-x);position:relative;min-height:var(--row-h)}.task-row[draggable]:active{opacity:var(--drag-opacity)}.check{width:18px;height:18px;border-radius:var(--r-full);border:2px solid var(--border-strong);background:none;cursor:pointer;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-xs);line-height:1;color:var(--text-secondary);padding:0;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.check:hover{background:var(--surface-hover)}.task-row.done .task-title{text-decoration:line-through;color:var(--text-tertiary)}.task-main{display:flex;flex-direction:column;gap:3.5px;flex:1}.task-title{font-size:var(--row-font)}.task-meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-2);font-size:var(--text-sm);color:var(--text-tertiary)}.task-actions{opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease);margin-left:auto;align-self:center}.task-row:hover .task-actions,.task-row:focus-within .task-actions{opacity:1;pointer-events:auto}.btn-money-edit{border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--r-md);padding:0 var(--s-2);font-size:var(--text-sm);cursor:pointer;color:var(--text-secondary);height:32px;display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease)}.btn-money-edit:hover{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent)}.btn-money-edit:active{transform:scale(.98)}.money-meta-chip{display:inline-flex;align-items:center;gap:var(--s-2);background:var(--surface-hover);border:1px solid var(--border);padding:2px var(--s-2);border-radius:var(--r-md);font-size:var(--text-xs);color:var(--text-secondary);font-weight:var(--fw-medium)}.money-details{white-space:nowrap}.funding-chip{display:inline-flex;align-items:center;padding:var(--s-1) var(--s-2);border-radius:var(--r-full);font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:0;line-height:var(--lh-xs);white-space:nowrap}.funding-funded{background:var(--success-subtle);color:var(--success)}.funding-short{background:var(--warning-subtle);color:var(--warning)}.funding-unbudgeted{background:var(--surface-active);color:var(--text-tertiary)}.money-task-dialog{width:min(calc(var(--sidebar-width) + var(--sidebar-width) + var(--sidebar-collapsed-width)),calc(100vw - var(--s-6)));border:var(--border-width-thin) solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-pop);padding:var(--s-5)}.money-task-dialog-form{display:flex;flex-direction:column;gap:var(--s-4)}.money-task-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4)}.money-task-dialog-head h2{margin:0;font-size:var(--text-md)}.money-task-dialog-close{display:inline-flex;align-items:center;justify-content:center;border:var(--border-width-thin) solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text-secondary);cursor:pointer;padding:var(--s-2)}.money-task-dialog-close:hover{background:var(--surface-hover);color:var(--text)}.money-task-field{display:flex;flex-direction:column;gap:var(--s-1);color:var(--text-secondary);font-size:var(--text-sm)}.money-task-field-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--s-3)}.money-task-field input,.money-task-field select{min-height:calc(var(--s-6) + var(--s-2));border:thin solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text);padding:var(--s-1) var(--s-2);font-size:var(--text-sm)}.money-task-field input:focus,.money-task-field select:focus{border-color:var(--accent);box-shadow:var(--focus);outline:none}.money-task-dialog-actions{display:flex;justify-content:flex-end;gap:var(--s-2)}.money-edit-row{align-items:center;min-height:48px}.check-placeholder{width:19px;height:19px;flex-shrink:0}.money-editor{display:flex;align-items:center;gap:var(--s-2);flex:1;flex-wrap:wrap}.money-edit-amount{width:90px;border:1px solid var(--border-strong);border-radius:var(--r-md);padding:var(--s-1) var(--s-2);font-size:var(--text-sm);outline:none;background:var(--surface);color:var(--text);min-height:34px;box-sizing:border-box;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.money-edit-select{border:1px solid var(--border-strong);border-radius:var(--r-md);padding:var(--s-1) var(--s-2);font-size:var(--text-sm);outline:none;background:var(--surface);color:var(--text);min-height:34px;box-sizing:border-box;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.money-edit-amount:focus,.money-edit-select:focus{border-color:var(--accent);box-shadow:var(--focus)}.btn-primary,.btn-secondary,.btn-danger,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-1_5);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--fw-medium);height:34px;padding:0 var(--s-3);border-radius:var(--r-md);cursor:pointer;white-space:nowrap;box-sizing:border-box;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease)}.btn-primary:active,.btn-secondary:active,.btn-danger:active,.btn-ghost:active{transform:scale(.98)}.btn-primary{background:var(--accent);color:var(--accent-fg);border:none}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--surface);color:var(--text-secondary);border:1px solid var(--border-strong)}.btn-secondary:hover{background:var(--surface-hover);border-color:var(--border-strong)}.btn-danger{background:var(--surface);color:var(--danger);border:1px solid var(--danger-subtle)}.btn-danger:hover{background:var(--danger-subtle)}.btn-ghost{background:transparent;color:var(--text-secondary);border:none}.btn-ghost:hover{background:var(--surface-hover);color:var(--text)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.file-input-wrapper{display:inline-flex;align-items:center;cursor:pointer}.file-input-name{font-size:var(--text-sm);color:var(--text-secondary);margin-left:var(--s-2)}.btn-editor-save{background:var(--accent);color:var(--accent-fg);border:none;border-radius:var(--r-md);padding:0 var(--s-3);font-size:var(--text-sm);cursor:pointer;font-weight:var(--fw-medium);height:34px;display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--dur) var(--ease),transform var(--dur) var(--ease)}.btn-editor-save:hover{background:var(--accent-hover)}.btn-editor-save:active{transform:scale(.98)}.btn-editor-remove{background:var(--surface);color:var(--danger);border:1px solid var(--danger-subtle);border-radius:var(--r-md);padding:0 var(--s-2);font-size:var(--text-sm);cursor:pointer;height:34px;display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--dur) var(--ease),transform var(--dur) var(--ease)}.btn-editor-remove:hover{background:var(--danger-subtle)}.btn-editor-remove:active{transform:scale(.98)}.btn-editor-cancel{background:var(--surface);color:var(--text-secondary);border:1px solid var(--border-strong);border-radius:var(--r-md);padding:0 var(--s-2);font-size:var(--text-sm);cursor:pointer;height:34px;display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--dur) var(--ease),transform var(--dur) var(--ease)}.btn-editor-cancel:hover{background:var(--surface-hover)}.btn-editor-cancel:active{transform:scale(.98)}.due{display:inline-flex;align-items:center;font-size:var(--text-xs);padding:2px var(--s-2);border-radius:var(--r-md);background:var(--surface-hover);color:var(--text-secondary)}.due-overdue{background:var(--danger-subtle);color:var(--danger)}.due-today{background:var(--success-subtle);color:var(--success)}.due-future{background:var(--surface-hover);color:var(--text-secondary)}.label{display:inline-flex;align-items:center;font-size:var(--text-xs);padding:2px var(--s-2);border-radius:var(--r-md);background:var(--warning-subtle);color:var(--warning)}.deadline-chip{display:inline-flex;align-items:center;gap:3px;font-size:var(--text-xs);padding:2px var(--s-2);border-radius:var(--r-md);background:var(--accent-subtle);color:var(--accent);border:1px solid var(--accent)}.deadline-chip.deadline-overdue{background:var(--danger-subtle);color:var(--danger);border-color:var(--danger);font-weight:var(--fw-semibold)}.task-location-control{display:flex;align-items:center;gap:var(--s-2);width:100%}.task-location-control input{flex:1 1 auto;min-width:0}.task-location-link{display:inline-flex;align-items:center;gap:3px;flex:0 0 auto;font-size:var(--text-xs);padding:2px var(--s-2);border-radius:var(--r-md);background:var(--accent-subtle);color:var(--accent);text-decoration:none;white-space:nowrap}.task-location-link:hover{background:var(--accent);color:var(--accent-fg)}.project-chip{display:inline-flex;align-items:center;font-size:var(--text-xs);padding:2px var(--s-2);border-radius:var(--r-md);background:var(--surface-hover);color:var(--text-tertiary)}.parent-task-chip{display:inline-flex;align-items:center;font-size:var(--text-xs);padding:2px var(--s-2);border-radius:var(--r-md);background:var(--surface-hover);color:var(--text-secondary);border:none;cursor:pointer;font-family:inherit}.parent-task-chip:hover{background:var(--border);color:var(--text)}.empty{color:var(--text-tertiary);font-size:var(--text-sm);padding:var(--s-2) var(--s-1)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--s-5) var(--s-4);background:var(--surface);border:1px dashed var(--border);border-radius:var(--r-lg);margin:var(--s-4) 0}.empty-icon{font-size:var(--text-xl);margin-bottom:var(--s-2);color:var(--text-tertiary);display:flex;align-items:center;justify-content:center}.empty-title{font-size:var(--text-md);font-weight:var(--fw-semibold);color:var(--text);margin-bottom:var(--s-1)}.empty-subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--s-3)}.empty-action{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--accent-fg);border:none;border-radius:var(--r-md);padding:0 var(--s-4);font-size:var(--text-sm);font-weight:var(--fw-semibold);cursor:pointer;height:34px;transition:transform var(--dur) var(--ease),background-color var(--dur) var(--ease)}.empty-action:hover{background:var(--accent-hover)}.empty-action:active{transform:scale(.98)}.filter-query{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-tertiary);background:var(--surface-hover);display:inline-block;padding:var(--s-1) var(--s-2);border-radius:var(--r-sm);margin:0 0 var(--s-2)}.filter-error{color:var(--danger);font-size:var(--text-sm)}.main-wide{max-width:none;margin-inline:0}.view-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s-4)}.view-head .view-title{margin:0}.display-options-control{position:relative}.display-options-button{border:thin solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:var(--r-md);padding:var(--s-2) var(--s-3);font:inherit;cursor:pointer}.display-options-button:hover,.display-options-button[aria-expanded=true]{background:var(--surface-hover)}.display-options-button:focus-visible,.display-options-choices button:focus-visible,.display-options-toggle input:focus-visible{outline:none;box-shadow:var(--focus)}.display-options-popover{position:absolute;z-index:10;top:calc(100% + var(--s-1));right:0;min-width:calc(var(--s-6) * 7);padding:var(--s-3);border:thin solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-pop)}.display-options-group{margin:0 0 var(--s-3);padding:0;border:0}.display-options-group legend{margin-bottom:var(--s-1);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--fw-semibold)}.display-options-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-1)}.display-options-choices button{border:thin solid var(--border);border-radius:var(--r-sm);padding:var(--s-1) var(--s-2);background:var(--surface);color:var(--text-secondary);font:inherit;font-size:var(--text-sm);cursor:pointer}.display-options-choices button:hover{background:var(--surface-hover)}.display-options-choices button.active{border-color:var(--accent);background:var(--accent-subtle);color:var(--accent);font-weight:var(--fw-semibold)}.display-options-toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);color:var(--text);font-size:var(--text-sm);cursor:pointer}.display-options-toggle input{accent-color:var(--accent)}.display-task-group+.display-task-group{margin-top:var(--s-4)}.view-switch{display:flex;gap:var(--s-1);background:var(--surface-hover);border-radius:var(--r-md);padding:var(--s-1)}.view-switch button{border:none;background:none;padding:var(--s-1) var(--s-3);border-radius:var(--r-sm);font-size:var(--text-sm);cursor:pointer;color:var(--text-secondary)}.view-switch button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #00000014}.board{display:flex;gap:var(--s-4);align-items:flex-start;overflow-x:auto;padding-bottom:var(--s-5)}.board-col{width:250px;flex-shrink:0;background:var(--surface-hover);border-radius:var(--r-lg);padding:var(--s-2);min-height:60px}.board-col-head{font-size:var(--text-sm);font-weight:var(--fw-semibold);padding:var(--s-1) var(--s-1) var(--s-2);display:flex;justify-content:space-between}.board-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-2) var(--s-3);margin-bottom:var(--s-2);cursor:grab;font-size:var(--text-sm);display:flex;flex-direction:column;gap:var(--s-1)}.board-card:active{cursor:grabbing}.board-due{font-size:var(--text-xs);color:var(--text-tertiary)}.board-card-main{display:flex;align-items:center;gap:var(--s-2);position:relative;width:100%}.board-card-content{display:flex;flex-direction:column;gap:var(--s-1);flex:1;min-width:0}.board-card.done .task-title{text-decoration:line-through;color:var(--text-tertiary)}.board-card:hover .task-actions,.board-card:focus-within .task-actions,.board-card.has-open-popover .task-actions{opacity:1;pointer-events:auto}.board-col-new{background:none}.calendar{font-size:var(--text-sm)}.cal-nav{display:flex;align-items:center;gap:var(--s-2);margin-bottom:var(--s-3)}.cal-nav button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--r-sm);padding:var(--s-1) var(--s-2);cursor:pointer;font-size:var(--text-sm);color:var(--text-secondary);transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.cal-nav button:hover{background:var(--surface-hover);color:var(--text)}.cal-nav button:focus-visible{outline:none;box-shadow:var(--focus)}.cal-nav button:active{background:var(--surface-active)}.cal-range{color:var(--text-secondary)}.cal-grid{display:grid;grid-template-columns:64px repeat(7,1fr);border:1px solid var(--border);border-radius:var(--r-lg);overflow:visible}.cal-corner{border-top-left-radius:calc(var(--r-lg) - 1px)}.cal-day-head-last{border-top-right-radius:calc(var(--r-lg) - 1px)}.cal-corner,.cal-day-head{background:var(--surface-hover);padding:var(--s-2) var(--s-2);font-weight:var(--fw-semibold);text-align:center;border-bottom:1px solid var(--border)}.cal-today{color:var(--accent)}.cal-hour-label{color:var(--text-tertiary);text-align:right;padding:var(--s-1) var(--s-2) 0 0;border-right:1px solid var(--surface-hover);font-size:var(--text-xs)}.cal-cell{position:relative;border-bottom:1px solid var(--surface-hover);border-right:1px solid var(--surface-hover);min-height:34px;padding:var(--s-1);cursor:pointer}.cal-cell:hover{background:var(--surface-hover)}.cal-slot.drag-over{background:var(--accent-subtle);outline:var(--drag-outline-width) dashed var(--accent);outline-offset:var(--drag-outline-inset)}.cal-allday{min-height:30px;background:var(--surface)}.cal-allday.drag-over{background:var(--accent-subtle)}.cal-chip{background:var(--accent-subtle);color:var(--accent);border-radius:var(--r-sm);padding:var(--s-1) var(--s-2);margin-bottom:var(--s-1);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;font-size:var(--text-xs)}.cal-chip:hover{background:var(--accent);color:var(--accent-fg)}.cal-chip-time{font-weight:var(--fw-semibold);margin-right:var(--s-1)}.cal-chip-allday{background:var(--info-subtle);color:var(--info)}.cal-cell-popover-wrapper{position:absolute;z-index:100;width:320px;box-shadow:var(--shadow-pop);border-radius:var(--r-md);top:0}.cal-cell-popover-wrapper.align-left{left:0}.cal-cell-popover-wrapper.align-right{right:0}.cal-cell-popover-wrapper .inline-task-form{margin-top:0}.rta{display:flex;align-items:baseline;gap:var(--s-2);background:var(--success-subtle);border-radius:var(--r-lg);padding:var(--s-4) var(--s-4);margin-bottom:var(--s-4)}.rta .rta-amount{font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--success)}.rta .rta-label{font-size:var(--text-sm);color:var(--success)}.rta.rta-negative{background:var(--danger-subtle)}.rta.rta-negative .rta-amount,.rta.rta-negative .rta-label{color:var(--danger)}.budget-shell{display:flex;flex-direction:column;gap:var(--s-4)}.month-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.month-nav button{min-width:calc(var(--s-6) + var(--s-2));min-height:calc(var(--s-6) + var(--s-2));border:thin solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text);cursor:pointer}.month-nav button:hover{background:var(--surface-hover);border-color:var(--border-strong)}.month-nav-current{display:flex;align-items:center;justify-content:center;gap:var(--s-2);min-width:var(--sidebar-width);font-size:var(--text-lg);font-weight:var(--fw-semibold)}.month-nav .month-today{min-width:auto;min-height:auto;padding:var(--s-1) var(--s-2);font-size:var(--text-sm)}.rta-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);background:var(--success-subtle);border-radius:var(--r-lg);padding:var(--s-4) var(--s-5)}.rta-banner>div{display:flex;flex-direction:column;gap:var(--s-1)}.rta-banner .rta-label{color:var(--success);font-size:var(--text-sm);font-weight:var(--fw-bold);text-transform:uppercase}.rta-sub{color:var(--text-secondary);font-size:var(--text-sm)}.rta-banner .rta-amount{color:var(--success);font-size:var(--text-xl);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums}.rta-banner.rta-negative{background:var(--danger-subtle)}.rta-banner.rta-negative .rta-amount,.rta-banner.rta-negative .rta-label{color:var(--danger)}.budget-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-sm)}.budget-table th{text-align:left;font-size:var(--text-sm);color:var(--text-tertiary);font-weight:var(--fw-semibold);padding:var(--s-2) var(--s-3);border-bottom:thin solid var(--border)}.budget-table td{padding:var(--s-3);border-bottom:thin solid var(--surface-hover)}.budget-table .num{text-align:right;font-variant-numeric:tabular-nums}.envelope-row{border-left:var(--s-1) solid transparent;transition:background var(--dur) var(--ease)}.envelope-row:hover td{background:var(--surface-hover)}.envelope-row.overspent td:first-child{border-left:var(--s-1) solid var(--danger)}.envelope-name-cell{display:flex;align-items:center;gap:var(--s-2)}.envelope-name-input{min-width:var(--sidebar-width);max-width:100%;border:thin solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text);padding:var(--s-1) var(--s-2);font-size:var(--text-sm);outline:none}.envelope-name-input:focus{border-color:var(--accent);box-shadow:var(--focus)}.overspent-badge{border-radius:var(--r-full);background:var(--danger-subtle);color:var(--danger);font-size:var(--text-xs);font-weight:var(--fw-bold);padding:var(--s-1) var(--s-2)}.assign-amount{border:thin solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--text);cursor:pointer;font:inherit;font-variant-numeric:tabular-nums;padding:var(--s-1) var(--s-2)}.assign-amount:hover,.assign-amount:focus-visible{background:var(--surface-hover);border-color:var(--border)}.assign-input{width:var(--sidebar-width);max-width:100%;text-align:right;border:thin solid transparent;border-radius:var(--r-sm);padding:var(--s-1) var(--s-2);font-size:var(--text-sm);background:var(--surface-hover);outline:none}.assign-input:focus{border-color:var(--border-strong);background:var(--surface)}.activity-amount{color:var(--text-tertiary)}.available-amount.positive{color:var(--success);font-weight:var(--fw-semibold)}.available-amount.negative,.num.negative{color:var(--danger);font-weight:var(--fw-semibold)}.num.positive{color:var(--success)}.budget-actions-head,.budget-row-actions{text-align:right}.budget-row-actions{position:relative;white-space:nowrap}.budget-row-actions .move-button+.move-button{margin-left:var(--s-2)}.move-button,.move-actions button{border:thin solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text);cursor:pointer;padding:var(--s-1) var(--s-2);font-size:var(--text-sm)}.move-button:hover,.move-actions button:hover{border-color:var(--border-strong);background:var(--surface-hover)}.move-button.danger{color:var(--danger);border-color:var(--danger-subtle)}.move-button.danger:hover{background:var(--danger-subtle)}.move-button:disabled{cursor:not-allowed;color:var(--text-tertiary)}.move-popover{position:absolute;right:0;top:calc(100% + var(--s-1));z-index:var(--z-overlay);display:grid;gap:var(--s-2);min-width:calc(var(--sidebar-width) + var(--sidebar-width));padding:var(--s-3);border:thin solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-pop);text-align:left}.move-popover label{display:grid;gap:var(--s-1);color:var(--text-secondary);font-size:var(--text-xs)}.move-popover input,.move-popover select{min-height:calc(var(--s-6) + var(--s-2));border:thin solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text);padding:var(--s-1) var(--s-2);font-size:var(--text-sm)}.move-actions{display:flex;justify-content:flex-end;gap:var(--s-2)}.budget-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--s-4);margin-bottom:var(--s-1)}.budget-rule-container{display:flex;align-items:center;gap:var(--s-2)}.budget-rule-label{font-size:var(--text-xs);color:var(--text-secondary);font-weight:var(--fw-medium)}.budget-rule-select{border:thin solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text);padding:var(--s-1) var(--s-2);font-size:var(--text-sm);cursor:pointer;outline:none}.budget-rule-select:hover{border-color:var(--border-strong)}.cover-button{border:thin solid var(--danger);border-radius:var(--r-md);background:var(--danger-subtle);color:var(--danger);cursor:pointer;padding:var(--s-1) var(--s-2);font-size:var(--text-sm);margin-right:var(--s-2);font-weight:var(--fw-medium)}.cover-button:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.budget-add{max-width:calc(var(--sidebar-width) + var(--sidebar-width))}.bills-section{margin-top:var(--s-6);padding-top:var(--s-5);border-top:1px solid var(--border)}.bills-head h2{margin:0;font-size:var(--text-md)}.bills-head p{margin:var(--s-1) 0 var(--s-4);color:var(--text-tertiary);font-size:var(--text-sm)}.bill-list{display:flex;flex-direction:column;gap:var(--s-2)}.bill-row{display:flex;justify-content:space-between;align-items:center;gap:var(--s-4);padding:var(--s-4);border:1px solid var(--border);border-radius:var(--r-lg);font-size:var(--text-sm)}.bill-row>div,.bill-row-meta{display:flex;align-items:center;gap:var(--s-2)}.bill-row span{color:var(--text-tertiary);font-size:var(--text-sm)}.bill-row-meta{justify-content:flex-end;font-variant-numeric:tabular-nums}.bill-auto{padding:var(--s-1) var(--s-2);border-radius:var(--r-full);background:var(--info-subtle);color:var(--info)!important}.bill-form{margin-top:var(--s-4);padding:var(--s-4);border-radius:var(--r-lg);background:var(--surface-hover)}.bill-form h3{margin:0 0 var(--s-3);font-size:var(--text-base)}.bill-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}.bill-form label{display:flex;flex-direction:column;gap:var(--s-1);color:var(--text-secondary);font-size:var(--text-sm)}.bill-form input,.bill-form select{width:100%;min-height:34px;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);padding:var(--s-1) var(--s-2);color:var(--text);font-size:var(--text-sm);box-sizing:border-box;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.bill-form input:focus,.bill-form select:focus{border-color:var(--accent);box-shadow:var(--focus)}.bill-form .bill-checkbox{flex-direction:row;align-items:center;align-self:end;min-height:34px}.bill-checkbox input{width:auto;min-height:0}.bill-submit{margin-top:var(--s-4);border:none;border-radius:var(--r-md);background:var(--accent);padding:0 var(--s-4);color:var(--accent-fg);cursor:pointer;font-size:var(--text-sm);font-weight:var(--fw-semibold);height:34px;display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--dur) var(--ease),transform var(--dur) var(--ease)}.bill-submit:hover{background:var(--accent-hover)}.bill-submit:active{transform:scale(.98)}@media(max-width:720px){.bill-form-grid{grid-template-columns:1fr}.bill-row,.bill-row>div,.bill-row-meta{align-items:flex-start;flex-direction:column}}.account-list{display:flex;flex-direction:column;gap:var(--s-2);margin-bottom:var(--s-5)}.account-group{display:flex;flex-direction:column;gap:var(--s-2)}.account-group+.account-group{margin-top:var(--s-3)}.account-group-title{margin:0;color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:.04em;text-transform:uppercase}.account-list[data-density=compact],[data-density=compact] .account-group{gap:0}[data-density=compact] .account-group+.account-group{margin-top:var(--s-2)}[data-density=compact] .account-row{border:0;border-radius:0;background:transparent;min-height:var(--row-h);padding:var(--row-pad-y) var(--row-pad-x);font-size:var(--row-font)}[data-density=compact] .account-row:hover{border-color:transparent;background:var(--surface-hover)}[data-density=compact] .account-group .account-row+.account-row{border-top:1px solid var(--border)}.archived-accounts{margin-bottom:var(--s-5);border:thin solid var(--border);border-radius:var(--r-md);padding:var(--s-3)}.archived-accounts summary{color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--fw-semibold)}.archived-accounts .account-group{margin-top:var(--s-3)}.transfer-panel,.credit-card-panel{display:flex;flex-direction:column;gap:var(--s-3);margin-bottom:var(--s-5);border:thin solid var(--border);border-radius:var(--r-md);background:var(--surface);padding:var(--s-4)}.transfer-panel h2,.credit-card-panel h2{margin:0;color:var(--text);font-size:var(--text-md)}.transfer-panel p{margin:var(--s-1) 0 0;color:var(--text-secondary);font-size:var(--text-sm)}.transfer-form,.cc-pay-form{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-2)}.transfer-form input,.transfer-form select,.cc-pay-form input,.cc-pay-form select,.cycle-day-input{border:1px solid var(--border-strong);border-radius:var(--r-md);padding:var(--s-1) var(--s-2);background:var(--surface);color:var(--text);min-height:34px}.cycle-day-input{width:120px}.transfer-form .primary,.cc-pay-form .primary{border:none;background:var(--accent);color:var(--accent-fg);border-radius:var(--r-md);padding:0 var(--s-4);font-size:var(--text-sm);cursor:pointer;height:34px;display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--dur) var(--ease),transform var(--dur) var(--ease)}.transfer-form .primary:hover,.cc-pay-form .primary:hover{background:var(--accent-hover)}.transfer-form .primary:active,.cc-pay-form .primary:active{transform:scale(.98)}.credit-card-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-3)}.credit-card-summary>div{display:flex;flex-direction:column;gap:var(--s-1)}.cc-label{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:.04em;text-transform:uppercase}.cc-amount{color:var(--danger);font-size:var(--text-lg)}.global-search{display:flex;gap:var(--s-1);margin:0 var(--s-2) var(--s-3)}.global-search input{min-width:0;flex:1;border:1px solid var(--border-strong);border-radius:var(--r-md);padding:var(--s-2) var(--s-2);background:var(--surface);color:var(--text);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.global-search input:focus{border-color:var(--accent);box-shadow:var(--focus)}.global-search button,.search-clear{border:0;background:transparent;color:var(--text-secondary);cursor:pointer}.search-clear{margin-bottom:var(--s-2);padding:var(--s-1) 0;display:inline-flex;align-items:center;gap:var(--s-1_5)}.search-group{margin-bottom:var(--s-5)}.search-result{display:flex;width:100%;flex-direction:column;gap:var(--s-1);border:0;border-bottom:1px solid var(--border);background:transparent;padding:var(--s-2) var(--s-1);cursor:pointer;text-align:left}.search-result:hover{background:var(--surface-hover)}.search-result span{color:var(--text-secondary);font-size:var(--text-sm)}.account-row{display:flex;justify-content:space-between;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-4);font-size:var(--text-base);cursor:pointer;text-align:left}.account-row:hover{border-color:var(--border-strong)}.account-row-main{display:inline-flex;align-items:center;flex-wrap:wrap;gap:var(--s-2);min-width:0}.account-row-name{color:var(--text);font-weight:var(--fw-semibold)}.account-kind,.account-type-badge{display:inline-flex;align-items:center;gap:var(--s-1);font-size:var(--text-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.account-register-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-4)}.account-register-title{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-2)}.account-register-name{margin:0;color:var(--text);font-size:var(--text-lg);font-weight:var(--fw-bold)}.account-register-subtitle{margin:var(--s-1) 0 0;color:var(--text-secondary);font-size:var(--text-sm)}.account-actions,.account-edit-form{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-2)}.account-edit-form{margin-bottom:var(--s-4)}.account-edit-form input,.account-edit-form select{border:1px solid var(--border-strong);border-radius:var(--r-md);padding:var(--s-1) var(--s-2);background:var(--surface);color:var(--text);min-height:34px}.account-action{display:inline-flex;align-items:center;gap:var(--s-1);border:thin solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text-secondary);cursor:pointer;font:inherit;font-size:var(--text-sm);font-weight:var(--fw-semibold);min-height:34px;padding:0 var(--s-3)}.account-action:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.account-action:disabled{cursor:not-allowed;opacity:var(--drag-opacity)}.account-action.danger:hover:not(:disabled){border-color:var(--danger-subtle);background:var(--danger-subtle);color:var(--danger)}.account-archive-badge{border-radius:var(--r-full);background:var(--surface-hover);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--fw-bold);padding:var(--s-1) var(--s-2);text-transform:uppercase}.account-notes-drawer{margin-bottom:var(--s-4)}.register-row{cursor:pointer}.txn-category-cell{position:relative}.register-status,.register-status-action{display:inline-flex;align-items:center;gap:var(--s-1);white-space:nowrap}.register-status{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--fw-bold)}.register-status.reconciled{color:var(--success)}.register-status-action{border:thin solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text-secondary);cursor:pointer;font:inherit;font-size:var(--text-xs);font-weight:var(--fw-bold);min-height:28px;padding:0 var(--s-2)}.register-status-action:hover{background:var(--surface-hover);color:var(--text)}.transfer-chip{display:inline-flex;align-items:center;border-radius:var(--r-full);background:var(--info-subtle);color:var(--info);font-size:var(--text-xs);font-weight:var(--fw-bold);padding:var(--s-1) var(--s-2)}.entry-form{display:flex;gap:var(--s-2);flex-wrap:wrap;align-items:center;margin-bottom:var(--s-4)}.entry-form input,.entry-form select{border:1px solid var(--border-strong);border-radius:var(--r-md);padding:var(--s-1) var(--s-2);font-size:var(--text-sm);outline:none;background:var(--surface);color:var(--text);min-height:34px;box-sizing:border-box;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.entry-form input:focus,.entry-form select:focus{border-color:var(--accent);box-shadow:var(--focus)}.entry-amount{width:110px}.entry-form .primary{border:none;background:var(--accent);color:var(--accent-fg);border-radius:var(--r-md);padding:0 var(--s-4);font-size:var(--text-sm);cursor:pointer;height:34px;display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--dur) var(--ease),transform var(--dur) var(--ease)}.entry-form .primary:hover{background:var(--accent-hover)}.entry-form .primary:active{transform:scale(.98)}.loans-view{display:flex;flex-direction:column;gap:var(--s-4)}.loans-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4)}.loans-head h2{margin:0;font-size:var(--text-lg)}.loans-head p{margin:var(--s-1) 0 0;color:var(--text-secondary);font-size:var(--text-sm)}.loans-add-btn{display:inline-flex;align-items:center;gap:var(--s-2);white-space:nowrap}.loans-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3)}.loans-controls label{display:inline-flex;align-items:center;gap:var(--s-2);color:var(--text-secondary);font-size:var(--text-sm)}.loans-controls select{border:var(--border-width-thin) solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text);font:inherit;padding:var(--s-1) var(--s-2)}.loan-group-toggle input{accent-color:var(--accent)}.loans-list,.loan-group{display:flex;flex-direction:column;gap:var(--s-3)}.loan-group h3{margin:var(--s-2) 0 0;color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--fw-bold);text-transform:uppercase}.loan-card{display:flex;flex-direction:column;gap:var(--s-3);border:thin solid var(--border);border-radius:var(--r-md);background:var(--surface);padding:var(--s-4)}.loan-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3)}.loan-title-wrap{display:flex;align-items:flex-start;gap:var(--s-2)}.loan-title-wrap h3{margin:0;color:var(--text);font-size:var(--text-md)}.loan-title-wrap p{display:flex;flex-wrap:wrap;gap:var(--s-3);margin:var(--s-1) 0 0;color:var(--text-secondary);font-size:var(--text-sm)}.loan-title-wrap strong{color:var(--text)}.loan-chip{border:var(--border-width-thin) solid var(--border);border-radius:var(--r-full);background:var(--surface-hover);color:var(--text);font-size:var(--text-xs);font-weight:var(--fw-bold);padding:0 var(--s-2)}.loan-progress-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--s-3);color:var(--text-secondary);font-size:var(--text-sm)}.loan-progress{height:var(--s-2);overflow:hidden;border-radius:var(--r-full);background:var(--surface-hover)}.loan-progress span{display:block;width:var(--loan-progress);height:100%;border-radius:inherit;background:var(--accent)}.loan-next{display:flex;flex-wrap:wrap;gap:var(--s-3);color:var(--text-secondary);font-size:var(--text-sm)}.loan-next strong{color:var(--text)}.loan-actions{display:flex;flex-wrap:wrap;gap:var(--s-2)}.loan-link-btn{display:inline-flex;align-items:center;gap:var(--s-1);border:thin solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text-secondary);cursor:pointer;font:inherit;font-size:var(--text-sm);font-weight:var(--fw-semibold);padding:var(--s-1) var(--s-3)}.loan-link-btn:hover{background:var(--surface-hover);color:var(--text)}.loan-schedule-drawer{display:flex;flex-direction:column;gap:var(--s-2);overflow-x:auto;border-top:var(--border-width-thin) solid var(--border);padding-top:var(--s-3)}.loan-schedule-table td,.loan-schedule-table th{white-space:nowrap}.loan-prepay-preview{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);border:var(--border-width-thin) solid var(--border);border-radius:var(--r-md);background:var(--surface-hover);color:var(--text-secondary);font-size:var(--text-sm);padding:var(--s-3)}.loan-prepay-preview strong{color:var(--text)}.import-toggle{margin-left:auto;border:1px solid var(--success-subtle);background:var(--surface);border-radius:var(--r-md);padding:0 var(--s-3);font-size:var(--text-sm);cursor:pointer;color:var(--success);height:34px;display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--dur) var(--ease),transform var(--dur) var(--ease)}.import-toggle:hover{background:var(--surface-hover)}.import-toggle:active{transform:scale(.98)}.import-panel{border:1px dashed var(--border-strong);border-radius:var(--r-lg);padding:var(--s-4);margin-bottom:var(--s-4);display:flex;flex-direction:column;gap:var(--s-2);font-size:var(--text-sm)}.import-paste{width:100%;min-height:90px;border:1px solid var(--border-strong);border-radius:var(--r-md);padding:var(--s-2) var(--s-2);font-family:var(--font-mono);font-size:var(--text-sm);outline:none;resize:vertical}.import-paste:focus{border-color:var(--accent)}.import-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);color:var(--text-secondary)}.cleared-col{width:26px;text-align:center}.cleared{color:var(--success);font-weight:var(--fw-semibold)}.bill-row-actions{display:flex;gap:var(--s-2);margin-left:var(--s-2)}.bill-action-btn{background:none;border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:var(--s-1) var(--s-2);font-size:var(--text-xs);cursor:pointer;color:var(--text-secondary);transition:all var(--dur) var(--ease)}.bill-action-btn:hover{background:var(--surface-hover);color:var(--text)}.bill-action-btn.delete:hover{background:var(--danger-subtle);border-color:var(--danger-subtle);color:var(--danger)}.bill-action-btn.edit:hover{background:var(--info-subtle);border-color:var(--info-subtle);color:var(--info)}.bill-edit-container{margin-bottom:var(--s-2)}.bill-edit-form{margin-top:0!important;border:1px solid var(--info-subtle);background:var(--surface)}.bill-edit-actions{display:flex;gap:var(--s-2);margin-top:var(--s-4);justify-content:flex-end}.edit-save-btn{margin:0!important}.edit-cancel-btn{padding:var(--s-2) var(--s-4);font-size:var(--text-sm)}.review-section{margin-bottom:var(--s-5);background:var(--danger-subtle);border:1px solid var(--danger-subtle);border-radius:var(--r-lg);padding:var(--s-4) var(--s-4)}.review-section h2{margin:0 0 var(--s-1);font-size:var(--text-md);color:var(--danger)}.review-subtitle{margin:0 0 var(--s-3);font-size:var(--text-sm);color:var(--danger)}.review-list{display:flex;flex-direction:column;gap:var(--s-2)}.review-row{display:flex;justify-content:space-between;align-items:center;background:var(--surface);border:1px solid var(--danger-subtle);border-radius:var(--r-md);padding:var(--s-2) var(--s-3);font-size:var(--text-sm)}.review-row-txn{display:flex;align-items:center;gap:var(--s-2)}.review-row-txn strong{color:var(--text)}.review-row-txn span{color:var(--text-tertiary);font-size:var(--text-sm)}.review-row-meta{display:flex;align-items:center;gap:var(--s-3)}.review-message{font-weight:var(--fw-semibold);color:var(--danger)}.review-time{color:var(--text-tertiary);font-size:var(--text-xs)}.task-editor{display:flex;flex-direction:column;gap:var(--s-2);flex:1;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);padding:var(--s-3);margin-top:var(--s-1)}.task-edit-field{display:flex;flex-direction:column;gap:var(--s-1)}.task-edit-field label{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--s-1)}.task-edit-field input[type=text],.task-edit-field select,.task-edit-field textarea{border:1px solid var(--border-strong);border-radius:var(--r-md);padding:var(--s-1) var(--s-2);font-size:var(--text-sm);outline:none;background:var(--surface);color:var(--text);min-height:34px;box-sizing:border-box;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.task-edit-field input[type=text]:focus,.task-edit-field select:focus,.task-edit-field textarea:focus{border-color:var(--accent);box-shadow:var(--focus)}.task-edit-field textarea{min-height:50px;resize:vertical;font-family:inherit}.task-edit-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--s-2)}.task-edit-row.money-fields{border-top:1px dashed var(--border);padding-top:var(--s-2);margin-top:var(--s-1)}.task-edit-actions{display:flex;gap:var(--s-2);justify-content:flex-end;margin-top:var(--s-1)}.task-desc-summary{font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;margin-top:var(--s-1)}.btn-task-edit{border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--r-md);padding:0 var(--s-2);font-size:var(--text-sm);cursor:pointer;color:var(--text-secondary);height:32px;display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease)}.btn-task-edit:hover{background:var(--surface-hover);border-color:var(--border-strong);color:var(--text)}.btn-task-edit:active{transform:scale(.98)}.goals-view{padding:var(--s-4) 0}.goal-form{padding:var(--s-4);border-radius:var(--r-lg);background:var(--surface-hover);border:1px solid var(--border-strong);margin-bottom:var(--s-5)}.goal-form h3{margin:0 0 var(--s-3);font-size:var(--text-base)}.goal-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--s-3)}.goal-form label{display:flex;flex-direction:column;gap:var(--s-1);color:var(--text-secondary);font-size:var(--text-sm)}.goal-form input,.goal-form select{width:100%;min-height:34px;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);padding:var(--s-1) var(--s-2);color:var(--text);font-size:var(--text-sm);outline:none;box-sizing:border-box;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.goal-form input:focus,.goal-form select:focus{border-color:var(--accent);box-shadow:var(--focus)}.goal-submit-btn,.goal-save-btn{margin-top:var(--s-4);border:none;border-radius:var(--r-md);background:var(--accent);padding:0 var(--s-4);color:var(--accent-fg);cursor:pointer;font-size:var(--text-sm);font-weight:var(--fw-semibold);height:34px;display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--dur) var(--ease),transform var(--dur) var(--ease)}.goal-submit-btn:hover,.goal-save-btn:hover{background:var(--accent-hover)}.goal-submit-btn:active,.goal-save-btn:active{transform:scale(.98)}.goal-cancel-btn{margin-top:var(--s-4);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);padding:0 var(--s-4);color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);margin-left:var(--s-2);height:34px;display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease)}.goal-cancel-btn:hover{background:var(--surface-hover);border-color:var(--border-strong)}.goal-cancel-btn:active{transform:scale(.98)}.goal-edit-actions{display:flex;justify-content:flex-end;gap:var(--s-2)}.goals-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--s-4);margin-top:var(--s-5)}.goal-card{border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-4);background:var(--surface);display:flex;flex-direction:column;gap:var(--s-3);transition:border-color var(--dur) var(--ease)}.goal-card:hover{border-color:var(--border-strong)}.goal-card.editing{border-color:var(--info-subtle);background:var(--surface)}.goal-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s-3)}.goal-card-title{margin:0;font-size:var(--text-md);font-weight:var(--fw-semibold);color:var(--text)}.goal-pace-badge{display:none}.goal-pace{padding:var(--s-1) var(--s-2);border-radius:var(--r-lg);white-space:nowrap}.goal-pace.on-track{color:var(--success);background:var(--success-subtle)}.goal-pace.behind{color:var(--accent);background:var(--danger-subtle)}.goal-progress-text{font-size:var(--text-sm);color:var(--text-secondary)}.goal-progress{height:8px;background:var(--surface-hover);border-radius:var(--r-sm);overflow:hidden;width:100%}.goal-bar{height:100%;background:var(--accent);border-radius:var(--r-sm);transition:width calc(2 * var(--dur)) var(--ease)}.goal-pace-line{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);color:var(--text-secondary);font-size:var(--text-sm)}.goal-pace-line strong{color:var(--text)}.goal-pace-chip{display:inline-flex;align-items:center;gap:var(--s-1);border-radius:var(--r-full);padding:var(--s-1) var(--s-2);font-weight:var(--fw-bold);white-space:nowrap}.goal-pace-chip.on-track,.goal-pace-chip.ahead{background:var(--success-subtle);color:var(--success)}.goal-pace-chip.behind{background:var(--warning-subtle);color:var(--warning)}.goal-meta{display:flex;flex-direction:column;gap:var(--s-1);font-size:var(--text-sm);color:var(--text-tertiary);border-top:1px solid var(--surface-hover);padding-top:var(--s-2)}.goal-envelope-name{font-style:italic;color:var(--text-tertiary)}.goal-card-actions{display:flex;gap:var(--s-2);justify-content:flex-end;margin-top:auto}.goal-card-edit-btn,.goal-card-delete-btn{border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--r-md);padding:0 var(--s-2);font-size:var(--text-sm);cursor:pointer;color:var(--text-secondary);height:32px;display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease)}.goal-card-edit-btn:hover{background:var(--info-subtle);border-color:var(--info-subtle);color:var(--info)}.goal-card-edit-btn:active,.goal-card-delete-btn:active{transform:scale(.98)}.goal-card-delete-btn:hover{background:var(--danger-subtle);border-color:var(--danger-subtle);color:var(--danger)}.reports-view{display:flex;flex-direction:column;gap:var(--s-5)}.report-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-3)}.report-card{border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-4);background:var(--surface)}.report-card strong{display:block;font-size:var(--text-lg);margin-top:var(--s-1)}.report-label{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--fw-semibold);letter-spacing:.04em;text-transform:uppercase}.report-section h2{font-size:var(--text-md);margin:0 0 var(--s-2)}.report-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-3)}.report-section-head h2{margin:0}.trend-toggle{display:inline-flex;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.trend-toggle button{border:0;background:var(--surface);color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--fw-bold);padding:var(--s-1) var(--s-3)}.trend-toggle button.active{background:var(--surface-hover);color:var(--text)}.mom-summary-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-hover);padding:var(--s-3);margin-bottom:var(--s-3)}.mom-summary-card div{display:flex;flex-direction:column;gap:var(--s-1)}.mom-summary-card span{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--fw-bold)}.mom-summary-card strong{color:var(--text);font-size:var(--text-base)}.mom-summary-primary{align-items:flex-start}.mom-summary-primary.increase{color:var(--warning)}.mom-summary-primary.decrease{color:var(--success)}.mom-summary-primary.flat{color:var(--text-secondary)}.mom-summary-primary svg{flex:none}.trend-table-wrap{overflow-x:auto}.spending-trend-table td,.spending-trend-table th{white-space:nowrap}.trend-sparkline{display:inline-flex;align-items:end;gap:var(--s-1);height:var(--s-5)}.trend-sparkline span{display:block;width:var(--s-2);height:var(--bar-h);min-height:var(--s-1);border-radius:var(--r-full) var(--r-full) 0 0;background:var(--accent)}.trend-change{display:flex;align-items:center;justify-content:flex-end;gap:var(--s-1)}.trend-change.down{color:var(--success)}.trend-change.up{color:var(--warning)}.trend-change.flat{color:var(--text-secondary)}.spending-list{display:flex;flex-direction:column;gap:var(--s-2)}.spending-row{border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-4)}.spending-row-head{display:flex;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-2)}.report-bar-track{height:8px;border-radius:var(--r-full);background:var(--surface-hover);overflow:hidden}.report-bar{height:100%;border-radius:inherit;background:var(--warning)}.report-trend-table td,.report-trend-table th{white-space:nowrap}.backup-view{display:flex;flex-direction:column;gap:var(--s-4)}.backup-section{border-bottom:1px solid var(--border);padding-bottom:var(--s-4)}.backup-section h3{margin:0 0 var(--s-2);font-size:var(--text-base)}.backup-status{display:flex;justify-content:space-between;gap:var(--s-4);color:var(--text-secondary);font-size:var(--text-sm)}.backup-status span:first-child{color:var(--text);font-weight:var(--fw-semibold)}.backup-form{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:center}.backup-form input{min-height:34px;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);padding:var(--s-1) var(--s-2);color:var(--text);font-size:var(--text-sm);box-sizing:border-box;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.backup-form input:focus{border-color:var(--accent);box-shadow:var(--focus)}.backup-form input[type=password]{min-width:220px}.backup-form .primary{border:none;border-radius:var(--r-md);background:var(--accent);padding:0 var(--s-4);color:var(--accent-fg);cursor:pointer;font-size:var(--text-sm);font-weight:var(--fw-semibold);height:34px;display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--dur) var(--ease),transform var(--dur) var(--ease)}.backup-form .primary:hover{background:var(--accent-hover)}.backup-form .primary:active{transform:scale(.98)}.backup-message{color:var(--text-secondary);font-size:var(--text-sm)}@media(max-width:700px){.report-cards{grid-template-columns:1fr}.backup-status{flex-direction:column;gap:var(--s-1)}}.sidebar-footer{margin-top:auto;padding-top:var(--s-4);border-top:1px solid var(--border)}.theme-toggle{display:flex;width:100%;box-sizing:border-box;background:var(--surface-active);border-radius:var(--r-md);padding:2px;gap:2px}.theme-toggle button{flex:1;border:none;background:transparent;color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--fw-medium);padding:var(--s-1) 0;border-radius:var(--r-sm);cursor:pointer;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease);display:flex;align-items:center;justify-content:center;height:24px}.theme-toggle button:hover{color:var(--text);background:var(--surface-hover)}.theme-toggle button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000000d}.theme-toggle button:active{transform:scale(.98)}.task-title{cursor:pointer}.task-actions{display:flex;gap:var(--s-2)}.modal-backdrop{position:fixed;inset:0;z-index:199;border:none;padding:0;appearance:none;background:color-mix(in srgb,var(--text) 28%,transparent);cursor:default;animation:task-panel-fade var(--dur) var(--ease)}.modal-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:200;width:min(100%,90vw);max-height:90vh;overflow-y:auto;outline:none}.modal-dialog-sm{width:min(420px,90vw)}.modal-dialog-md{width:min(600px,90vw)}.modal-dialog-lg{width:min(760px,90vw)}.modal-focus-sentinel{position:fixed;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.task-panel-backdrop{position:fixed;inset:0;z-index:199;border:none;background:color-mix(in srgb,var(--text) 28%,transparent);cursor:default;animation:task-panel-fade var(--dur) var(--ease)}.task-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:200;width:min(760px,90vw);max-height:85vh;overflow-y:auto;background:var(--surface);color:var(--text);box-shadow:var(--shadow-pop);padding:0;border-radius:var(--radius-lg, 8px);border:thin solid var(--border);display:flex;flex-direction:column;animation:task-panel-modal-in var(--dur) var(--ease)}.modal-dialog.move-popover{position:fixed;top:50%;right:auto;left:50%;transform:translate(-50%,-50%)}.task-panel-head{display:flex;align-items:center;justify-content:space-between;padding:var(--s-3) var(--s-5);border-bottom:thin solid var(--border);background:var(--surface);flex-shrink:0}.task-panel-head-actions{display:flex;align-items:center;gap:var(--s-2)}.task-panel-body{display:flex;flex:1;min-height:0;overflow:hidden}.task-panel-content{flex:1.5;padding:var(--s-5);overflow-y:auto}.task-panel-rail{flex:1;background:var(--surface-1);border-left:thin solid var(--border);padding:var(--s-5);overflow-y:auto;display:flex;flex-direction:column;gap:var(--s-4)}[data-theme=dark] .task-panel-rail{background:var(--surface-hover)}@media(max-width:768px){.task-panel{top:0;left:0;transform:none;width:100vw;height:100vh;max-height:100vh;border-radius:0;border:none;animation:task-panel-mobile-in var(--dur) var(--ease)}.task-panel-body{flex-direction:column;overflow-y:auto}.task-panel-content{flex:none;overflow-y:visible}.task-panel-rail{flex:none;border-left:none;border-top:thin solid var(--border);overflow-y:visible}}@keyframes task-panel-modal-in{0%{opacity:0;transform:translate(-50%,-45%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes task-panel-mobile-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.task-panel-close{width:var(--s-6);height:var(--s-6);flex-shrink:0;border:thin solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease)}.task-panel-close:hover{background:var(--surface-hover);color:var(--text)}.task-panel-close:active{transform:scale(.98)}.task-panel-title{flex:1;margin:0}.task-panel-title input{width:100%;border:none;border-radius:var(--r-md);background:transparent;color:var(--text);font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--fw-semibold);line-height:var(--lh-lg);padding:var(--s-1) calc(var(--s-6) + var(--s-2)) var(--s-1) var(--s-2)}.task-panel-description{width:100%;min-height:calc(var(--s-6) * 3);margin-top:var(--s-4);border:thin solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text);font:inherit;padding:var(--s-3);resize:vertical}.task-panel-section{margin-top:var(--s-5);padding-top:var(--s-4);border-top:thin solid var(--border)}.task-panel-section h3{margin:0 0 var(--s-3);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--fw-semibold);text-transform:uppercase}.task-panel-field{display:grid;grid-template-columns:calc(var(--s-6) * 3) 1fr;align-items:center;gap:var(--s-3);margin-top:var(--s-2);color:var(--text-secondary);font-size:var(--text-sm)}.task-panel-rail,.task-panel-field{min-width:0}.task-panel-field>*{min-width:0}.task-panel-field>input,.task-panel-field>select,.task-location-control>input{width:100%;min-height:var(--control-h);border:thin solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text);font:inherit;padding:var(--s-1) var(--s-2);box-sizing:border-box}.task-panel-title input:focus,.task-panel-description:focus,.task-panel-field>input:focus,.task-panel-field>select:focus,.task-location-control>input:focus{outline:none;box-shadow:var(--focus)}.task-panel-actions{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-5)}.task-panel .btn-editor-save,.task-panel .btn-editor-remove{min-height:var(--s-6);height:var(--s-6)}.task-panel .btn-editor-remove{border:thin solid var(--danger-subtle)}.task-panel-delete{min-height:var(--s-6);border:thin solid var(--danger);border-radius:var(--r-md);background:var(--surface);color:var(--danger);cursor:pointer;font-size:var(--text-sm);padding:0 var(--s-3);transition:background-color var(--dur) var(--ease),transform var(--dur) var(--ease)}.task-panel-delete:hover{background:var(--danger-subtle)}.task-panel-delete:active{transform:scale(.98)}@keyframes task-panel-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes task-panel-fade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.task-panel,.task-panel-backdrop{animation:none}}.add-task-inline{width:100%;min-height:var(--s-6);margin-top:var(--s-2);border:none;border-radius:var(--r-md);background:transparent;color:var(--text-tertiary);cursor:pointer;font-size:var(--text-sm);text-align:left;padding:0 var(--s-2);transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease)}.add-task-inline:hover{background:var(--surface-hover);color:var(--accent)}.add-task-inline:active{transform:scale(.98)}.inline-task-form{position:relative;margin-top:var(--s-2);border:thin solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);padding:var(--s-3)}.inline-task-form:focus-within{border-color:var(--accent);box-shadow:var(--focus)}.inline-task-form-main{display:flex;align-items:flex-start;gap:var(--s-3)}.inline-task-form-dot{width:var(--s-4);height:var(--s-4);margin-top:var(--s-1);flex-shrink:0;border:thin solid var(--text-tertiary);border-radius:var(--r-full)}.inline-task-form-fields{display:flex;min-width:0;flex:1;flex-direction:column}.inline-task-form-title,.inline-task-form-desc{width:100%;border:none;background:transparent;color:var(--text);font-family:var(--font-sans);outline:none;padding:0;resize:none}.inline-task-form-title{font-size:var(--text-base);line-height:var(--lh-base)}.inline-task-form-desc{margin-top:var(--s-1);color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--lh-sm);transition:min-height var(--dur) var(--ease)}.inline-task-form-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-top:var(--s-3);padding-top:var(--s-2);border-top:thin solid var(--border)}.inline-task-form-meta,.inline-task-form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-2)}.inline-task-chip,.inline-task-cancel,.inline-task-submit{min-height:var(--s-6);border-radius:var(--r-md);cursor:pointer;font-size:var(--text-sm);padding:0 var(--s-2);transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease)}.inline-task-chip{border:thin solid var(--border);background:var(--surface);color:var(--text-secondary)}.inline-task-chip:hover,.inline-task-chip.active{border-color:var(--accent);background:var(--accent-subtle);color:var(--accent)}.inline-task-chip.priority-p1{color:var(--p1)}.inline-task-chip.priority-p2{color:var(--p2)}.inline-task-chip.priority-p3{color:var(--p3)}.inline-task-chip.priority-p4{color:var(--p4)}.inline-task-cancel{border:thin solid var(--border);background:var(--surface);color:var(--text-secondary)}.inline-task-cancel:hover{background:var(--surface-hover);color:var(--text)}.inline-task-submit{border:thin solid var(--accent);background:var(--accent);color:var(--accent-fg);font-weight:var(--fw-semibold)}.inline-task-submit:hover:not(:disabled){background:var(--accent-hover)}.inline-task-submit:disabled{border-color:var(--border);background:var(--surface-active);color:var(--text-tertiary);cursor:default}.inline-task-chip:active,.inline-task-cancel:active,.inline-task-submit:active:not(:disabled){transform:scale(.98)}.inline-task-popover{width:100%;min-height:var(--s-6);margin-top:var(--s-2);border:thin solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text);font-size:var(--text-sm);padding:var(--s-1) var(--s-2)}.task-row.selected{background:var(--surface-hover);box-shadow:inset 3px 0 0 0 var(--accent)}.task-row.selected .task-actions{opacity:1;pointer-events:auto}.shortcuts-overlay{position:fixed;inset:0;z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;padding:var(--s-4);background:var(--overlay);backdrop-filter:blur(var(--s-1));animation:fade-in var(--dur) var(--ease)}.modal-backdrop.shortcuts-overlay{z-index:199}.shortcuts-modal{width:min(calc(var(--s-6) * 20),100%);max-height:calc(100vh - calc(var(--s-6) * 2));overflow-y:auto;border:thin solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface);color:var(--text);box-shadow:var(--shadow-pop);animation:slide-up var(--dur) var(--ease)}.shortcuts-header,.shortcuts-title{display:flex;align-items:center}.shortcuts-header{justify-content:space-between;padding:var(--s-4) var(--s-5);border-bottom:thin solid var(--border)}.shortcuts-title{gap:var(--s-2)}.shortcuts-title h2{margin:0;font-size:var(--text-md);line-height:var(--lh-md)}.shortcuts-close-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--s-6);height:var(--s-6);padding:0;border:thin solid transparent;border-radius:var(--r-md);background:transparent;color:var(--text-secondary);cursor:pointer}.shortcuts-close-btn:hover{border-color:var(--border);background:var(--surface-hover);color:var(--text)}.shortcuts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(calc(var(--s-6) * 8),100%),1fr))}.shortcuts-column{padding:var(--s-5)}.shortcuts-column+.shortcuts-column{border-left:thin solid var(--border)}.shortcut-section+.shortcut-section{margin-top:var(--s-5)}.shortcut-section h3{margin:0 0 var(--s-3);color:var(--text-tertiary);font-size:var(--text-xs);line-height:var(--lh-xs);letter-spacing:calc(var(--s-1) / 10);text-transform:uppercase}.shortcut-row{display:grid;grid-template-columns:calc(var(--s-6) * 3) minmax(0,1fr);align-items:center;gap:var(--s-3);min-height:var(--s-6);font-size:var(--text-sm)}.shortcut-keys,.command-shortcut{display:inline-flex;align-items:center;gap:var(--s-1)}.shortcut-label{color:var(--text-secondary)}.kbd-plus{color:var(--text-tertiary);font-size:var(--text-xs)}.kbd-chip{display:inline-flex;align-items:center;justify-content:center;min-width:calc(var(--s-5) - var(--s-1));height:calc(var(--s-5) - var(--s-1));padding:0 var(--s-1);border:thin solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface-hover);color:var(--text-secondary);box-shadow:0 var(--border-width-thin) 0 var(--border-strong);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--lh-xs)}.side-search-btn,.side-add-project-btn,.theme-cycle-btn,.hamburger-btn{display:none}@media(min-width:640px)and (max-width:899px){.sidebar .cmd-k-hint,.sidebar .shortcut-hint-btn{display:none}.sidebar{width:var(--sidebar-collapsed-width);padding:var(--s-4) var(--s-1);align-items:center;gap:var(--s-2)}.brand{font-size:0;padding:var(--s-1) 0 var(--s-4);justify-content:center}.brand .sync{margin:0}.global-search{width:100%;display:flex;justify-content:center}.global-search input,.global-search button:not(.side-search-btn){display:none!important}.side-search-btn{display:flex;justify-content:center;align-items:center;width:36px;height:36px;background:transparent;border:none;font-size:var(--text-md);cursor:pointer;border-radius:var(--r-md);color:var(--text-secondary)}.side-search-btn:hover{background:var(--surface-hover);color:var(--text)}.side-head{display:none!important}.side-item{justify-content:center;padding:0;width:36px;height:36px;position:relative}.side-item .side-icon{display:block;font-size:var(--text-md)}.side-item .side-label{display:none}.side-item:not([data-testid^=nav-project]) .badge{display:none!important}.side-item[data-testid^=nav-project] .badge{position:absolute;top:-2px;right:-2px;background:var(--accent);color:var(--accent-fg);font-size:9px;font-weight:var(--fw-semibold);padding:0 4px;border-radius:var(--r-sm);line-height:12px}.side-item[data-testid^=nav-project].active .badge{background:var(--accent-hover)}.side-add{justify-content:center;width:36px;height:36px;padding:0}.side-add .side-icon{display:block;font-size:var(--text-md);font-weight:var(--fw-semibold)}.side-add .side-label{display:none}.side-form{display:none!important}.add-project-container{width:100%;display:flex;justify-content:center}.add-project-container .side-input{display:none!important}.side-add-project-btn{display:flex;justify-content:center;align-items:center;width:36px;height:36px;background:transparent;border:none;font-size:var(--text-md);cursor:pointer;border-radius:var(--r-md);color:var(--text-secondary)}.side-add-project-btn:hover{background:var(--surface-hover);color:var(--text)}.sidebar-footer{width:100%;display:flex;justify-content:center;border-top:none;padding-top:0;margin-top:auto}.theme-toggle{background:transparent!important;padding:0}.theme-toggle button:not(.theme-cycle-btn){display:none!important}.theme-cycle-btn{display:flex!important;justify-content:center;align-items:center;width:36px;height:36px;border:none;background:transparent;font-size:var(--text-md);cursor:pointer;border-radius:var(--r-md);color:var(--text-secondary)}.theme-cycle-btn:hover{background:var(--surface-hover);color:var(--text)}}@media(max-width:639px){.sidebar .cmd-k-hint,.sidebar .shortcut-hint-btn{display:none}.shortcuts-column+.shortcuts-column{border-top:thin solid var(--border);border-left:0}.hamburger-btn{display:flex;position:fixed;top:var(--s-4);left:var(--s-3);width:32px;height:32px;background:transparent;border:none;font-size:24px;cursor:pointer;z-index:100;color:var(--text);align-items:center;justify-content:center}.sidebar-backdrop{position:fixed;inset:0;background:#0006;z-index:999;backdrop-filter:blur(1px)}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-mobile-width);z-index:var(--z-overlay);transform:translate(-100%);transition:transform var(--dur) var(--ease);background:var(--surface);box-shadow:var(--shadow-pop)}.sidebar.mobile-open{transform:translate(0)}.main{padding:var(--s-5) var(--s-3) var(--s-3) var(--s-3);max-width:none;margin-inline:0}.view-head{padding-left:36px;position:relative;align-items:center}.view-title{font-size:var(--text-md)!important}.task-actions{display:none!important}}.events-view{padding:var(--s-4) 0}.events-header{margin-bottom:var(--s-4);border-bottom:1px solid var(--border);padding-bottom:var(--s-3)}.events-header h2{margin:0;font-size:var(--text-lg);color:var(--text)}.event-toolbar{display:flex;flex-wrap:wrap;gap:var(--s-2)}.event-toolbar .add-task-inline{display:inline-flex;align-items:center;gap:var(--s-2)}.event-template-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(calc(var(--s-6) * 9),100%),1fr));gap:var(--s-3);margin-top:var(--s-3)}.event-template-option{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-1);border:var(--border-width-thin) solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text);cursor:pointer;font:inherit;padding:var(--s-3);text-align:left;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.event-template-option:hover{border-color:var(--border-strong);background:var(--surface-hover)}.event-template-title{font-size:var(--text-sm);font-weight:var(--fw-bold)}.event-template-description,.event-template-meta{color:var(--text-secondary);font-size:var(--text-xs)}.events-list{margin-top:var(--s-4);display:flex;flex-direction:column;gap:var(--s-2)}.event-row{display:flex;align-items:center;justify-content:space-between;padding:var(--s-3) var(--s-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.event-row:hover{background:var(--surface-hover);border-color:var(--border-strong)}.event-row-wrapper{display:flex;flex-direction:column;gap:var(--s-2)}.event-notes-drawer{margin-bottom:0}.event-row-info{display:flex;flex-direction:column;gap:var(--s-1)}.event-name{font-size:var(--text-base);font-weight:var(--fw-medium);color:var(--text)}.event-rrule{font-size:var(--text-xs);color:var(--text-secondary)}.event-row-generates{display:flex;align-items:center;gap:var(--s-2)}.event-arrow{color:var(--text-tertiary);font-weight:var(--fw-bold)}.event-badge{display:inline-flex;align-items:center;padding:var(--s-1) var(--s-2);border-radius:var(--r-sm);font-size:var(--text-xs);font-weight:var(--fw-medium)}.task-badge{background:var(--info-subtle);color:var(--info);border:1px solid rgba(24,95,165,.15)}.txn-badge{background:var(--success-subtle);color:var(--success);border:1px solid rgba(15,110,86,.15)}.event-badge-plus{font-size:var(--text-xs);color:var(--text-secondary)}.event-create-container,.event-edit-container{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-lg);padding:var(--s-4);margin-bottom:var(--s-4)}.event-edit-container.expanded{margin-top:var(--s-2);margin-bottom:var(--s-2)}.event-editor-form{display:flex;flex-direction:column;gap:var(--s-4)}.event-template-context{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);border:var(--border-width-thin) solid var(--border);border-radius:var(--r-md);background:var(--surface-hover);color:var(--text-secondary);font-size:var(--text-sm);padding:var(--s-3)}.event-template-context span{color:var(--text);font-weight:var(--fw-bold)}.event-template-context strong{border:var(--border-width-thin) solid var(--border);border-radius:var(--r-full);background:var(--surface);color:var(--text-secondary);font-size:var(--text-xs);padding:0 var(--s-2)}.event-editor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--s-4)}.event-editor-grid .full-width{grid-column:1 / -1}.event-editor-label{display:flex;flex-direction:column;gap:var(--s-1);font-size:var(--text-sm);color:var(--text-secondary)}.event-editor-label input[type=text],.event-editor-label input[type=number],.event-editor-label select{width:100%;min-height:36px;padding:var(--s-2);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text);font-size:var(--text-sm);outline:none;box-sizing:border-box;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.event-editor-label input:focus,.event-editor-label select:focus{border-color:var(--accent);box-shadow:var(--focus)}.event-editor-row{display:flex;align-items:center;gap:var(--s-3)}.inline-input-label{flex-direction:row;align-items:center;gap:var(--s-2)}.inline-input-label input{width:70px!important;text-align:center}.segmented-control{display:flex;border:1px solid var(--border-strong);border-radius:var(--r-md);overflow:hidden;background:var(--surface-hover);padding:2px}.segmented-control button{flex:1;border:none;background:transparent;padding:var(--s-2) var(--s-3);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;border-radius:var(--r-sm);font-weight:var(--fw-medium);transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}.segmented-control button.active{background:var(--accent);color:var(--accent-fg)}.weekday-chips{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-1)}.weekday-chip{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-secondary);padding:var(--s-2) var(--s-3);border-radius:var(--r-full);font-size:var(--text-xs);font-weight:var(--fw-medium);cursor:pointer;transition:all var(--dur) var(--ease)}.weekday-chip.active{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.event-editor-toggles{display:flex;gap:var(--s-5);margin-top:var(--s-2)}.checkbox-container{display:flex;align-items:center;position:relative;padding-left:24px;cursor:pointer;font-size:var(--text-sm);color:var(--text);user-select:none}.checkbox-container input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkbox-checkmark{position:absolute;top:50%;left:0;transform:translateY(-50%);height:16px;width:16px;background-color:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);transition:all var(--dur) var(--ease)}.checkbox-container:hover input~.checkbox-checkmark{background-color:var(--surface-hover)}.checkbox-container input:checked~.checkbox-checkmark{background-color:var(--accent);border-color:var(--accent)}.checkbox-checkmark:after{content:"";position:absolute;display:none}.checkbox-container input:checked~.checkbox-checkmark:after{display:block}.checkbox-container .checkbox-checkmark:after{left:5px;top:2px;width:4px;height:8px;border:solid var(--accent-fg);border-width:0 2px 2px 0;transform:rotate(45deg)}.event-editor-transaction-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--s-3);padding:var(--s-3);background:var(--surface-hover);border-radius:var(--r-md);border:1px solid var(--border)}.event-editor-actions{display:flex;align-items:center;justify-content:space-between;margin-top:var(--s-3);border-top:1px solid var(--border);padding-top:var(--s-3)}.event-editor-actions .right-actions{display:flex;gap:var(--s-2)}.event-editor-actions button{height:36px;padding:0 var(--s-4);border-radius:var(--r-md);font-size:var(--text-sm);font-weight:var(--fw-semibold);cursor:pointer;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.event-editor-actions button.primary{background:var(--accent);color:var(--accent-fg);border:none}.event-editor-actions button.primary:hover{background:var(--accent-hover)}.event-editor-actions button.danger{background:var(--danger-subtle);color:var(--danger);border:1px solid rgba(208,68,55,.15);display:inline-flex;align-items:center}.event-editor-actions button.danger:hover{background:var(--danger);color:var(--accent-fg)}.event-editor-actions button.inline-task-cancel{background:var(--surface);color:var(--text-secondary);border:1px solid var(--border-strong)}.event-editor-actions button.inline-task-cancel:hover{background:var(--surface-hover)}.toast{position:fixed;bottom:var(--s-4);left:50%;transform:translate(-50%);background:var(--text);color:var(--bg);padding:var(--s-2) var(--s-4);border-radius:var(--r-full);font-size:var(--text-sm);z-index:var(--z-overlay);animation:toast-in var(--dur) var(--ease)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.importer-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay);backdrop-filter:blur(1px);animation:fade-in var(--dur) var(--ease)}.modal-backdrop.importer-overlay{z-index:199}.modal-dialog.importer-modal{width:min(600px,90vw);transform:translate(-50%,-50%);animation:task-panel-modal-in var(--dur) var(--ease)}.modal-dialog.shortcuts-modal{transform:translate(-50%,-50%);animation:task-panel-modal-in var(--dur) var(--ease)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.importer-modal{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);padding:var(--s-5);max-width:600px;width:90%;max-height:90vh;display:flex;flex-direction:column;color:var(--text);animation:slide-up var(--dur) var(--ease)}@keyframes slide-up{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.importer-modal h3{margin-top:0;margin-bottom:var(--s-2);font-size:var(--text-lg);font-weight:var(--fw-semibold)}.importer-target-row{display:flex;align-items:center;gap:var(--s-2);margin-bottom:var(--s-2)}.importer-target-row label{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--fw-bold)}.importer-target-row select{border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text);min-height:34px;padding:var(--s-1) var(--s-2)}.importer-subtitle{color:var(--text-secondary);font-size:var(--text-sm);margin-bottom:var(--s-4)}.importer-bank-badge{align-self:flex-start;margin-bottom:var(--s-4);padding:var(--s-1) var(--s-2);border:thin solid var(--success);border-radius:var(--r-full);background:var(--success-subtle);color:var(--success);font-size:var(--text-xs);font-weight:var(--fw-semibold)}.importer-step-indicator{display:flex;gap:var(--s-3);margin-bottom:var(--s-4);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;font-weight:var(--fw-semibold)}.importer-step-indicator span{color:var(--text-tertiary)}.importer-step-indicator span.active{color:var(--accent)}.importer-step-indicator span.skipped{color:var(--text-tertiary);text-decoration:line-through}.importer-content{flex:1;overflow-y:auto;margin-bottom:var(--s-5)}.importer-footer{display:flex;justify-content:flex-end;gap:var(--s-3);border-top:1px solid var(--border);padding-top:var(--s-4)}.importer-upload-step{display:flex;flex-direction:column;gap:var(--s-4)}.importer-upload-zone{border:2px dashed var(--border-strong);border-radius:var(--r-lg);padding:var(--s-6) var(--s-4);text-align:center;cursor:pointer;background:var(--surface-hover);transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease);display:flex;flex-direction:column;align-items:center;gap:var(--s-3)}.importer-upload-zone:hover,.importer-upload-zone.dragging{border-color:var(--accent);background:var(--accent-subtle)}.importer-upload-icon{font-size:var(--text-xl);color:var(--text-tertiary)}.importer-upload-text{font-size:var(--text-base);color:var(--text-secondary)}.importer-file-input{display:none}.importer-parsing-status,.importer-upload-error{margin:0;font-size:var(--text-sm)}.importer-parsing-status{color:var(--accent)}.importer-password-panel,.importer-pdf-failure{padding:var(--s-4);border:thin solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface-hover)}.importer-password-panel label,.importer-pdf-failure-title{color:var(--text);font-size:var(--text-sm);font-weight:var(--fw-semibold)}.importer-password-row{display:flex;gap:var(--s-2);margin-top:var(--s-3)}.importer-password-row input{min-width:0;flex:1;padding:var(--s-2) var(--s-3);border:thin solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text);font:inherit}.importer-password-row input:focus{border-color:var(--accent);outline:none;box-shadow:var(--focus)}.importer-pdf-failure{border-color:var(--warning);background:var(--warning-subtle)}.importer-pdf-failure-title{display:flex;align-items:center;gap:var(--s-2);color:var(--warning)}.importer-pdf-failure p{margin:var(--s-2) 0 0;color:var(--text-secondary);font-size:var(--text-sm)}.importer-pdf-actions{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-4)}.importer-help-link{padding:var(--s-2);border:0;background:transparent;color:var(--accent);font:inherit;font-size:var(--text-sm);text-decoration:underline;cursor:pointer}.importer-feedback-section{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-2);margin-top:var(--s-4);padding-top:var(--s-3);border-top:thin solid var(--border-strong);color:var(--text-secondary);font-size:var(--text-sm)}.importer-feedback-section label{display:flex;align-items:flex-start;gap:var(--s-2)}.importer-feedback-section input{accent-color:var(--accent)}.importer-mapping-form{display:flex;flex-direction:column;gap:var(--s-4)}.importer-field-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4)}.importer-field-label{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text);flex:1}.importer-field-select-wrapper{display:flex;align-items:center;gap:var(--s-2);flex:2}.importer-select{flex:1;border:1px solid var(--border-strong);border-radius:var(--r-md);padding:var(--s-2) var(--s-3);font-size:var(--text-sm);background:var(--surface);color:var(--text);outline:none;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.importer-select:focus{border-color:var(--accent);box-shadow:var(--focus)}.importer-select-or{font-size:var(--text-xs);color:var(--text-tertiary);font-weight:var(--fw-semibold)}.importer-preview-title{font-size:var(--text-sm);font-weight:var(--fw-semibold);margin:var(--s-4) 0 var(--s-2);color:var(--text-secondary)}.importer-preview-table-wrapper{overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-md);margin-top:var(--s-2)}.importer-preview-table{width:100%;border-collapse:collapse;font-size:var(--text-xs);background:var(--surface)}.importer-preview-table th,.importer-preview-table td{padding:var(--s-2);text-align:left;border-bottom:1px solid var(--border)}.importer-preview-table th{background:var(--surface-hover);color:var(--text-secondary);font-weight:var(--fw-semibold)}.importer-preview-table td.negative{color:var(--danger)}.importer-preview-table td.positive{color:var(--success)}.importer-review-info{background:var(--info-subtle);color:var(--info);border:1px solid rgba(24,95,165,.2);padding:var(--s-3);border-radius:var(--r-md);font-size:var(--text-sm);margin-bottom:var(--s-4);display:flex;flex-direction:column;gap:var(--s-1)}.importer-review-checkbox-label{display:flex;align-items:center;gap:var(--s-2);font-size:var(--text-sm);font-weight:var(--fw-medium);margin-bottom:var(--s-4);cursor:pointer}.importer-review-checkbox-label input{accent-color:var(--accent)}.importer-review-list{max-height:40vh;overflow-y:auto;border:1px solid var(--border);border-radius:var(--r-md)}.importer-review-item{display:flex;justify-content:space-between;align-items:center;padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--border);font-size:var(--text-sm)}.importer-review-item:last-child{border-bottom:none}.importer-review-item-left{display:flex;flex-direction:column;gap:2px}.importer-review-item-date{font-size:var(--text-xs);color:var(--text-tertiary);font-family:var(--font-mono)}.importer-review-item-payee{font-weight:var(--fw-medium)}.importer-review-item-ref{font-size:var(--text-xs);color:var(--text-tertiary)}.importer-review-item-amount{font-family:var(--font-mono);font-weight:var(--fw-semibold)}.importer-review-item-amount.negative{color:var(--danger)}.importer-review-item-amount.positive{color:var(--success)}.txn-category-chip{display:inline-flex;align-items:center;justify-content:center;padding:var(--s-1) var(--s-2);border-radius:var(--r-md);font-size:var(--text-sm);font-weight:var(--fw-medium);cursor:pointer;border:thin solid var(--border);background:var(--surface-hover);color:var(--text);transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.txn-category-chip:hover{background:var(--surface-active);border-color:var(--border-strong)}.txn-category-chip.uncategorized{background:transparent;border:thin dashed var(--border-strong);color:var(--text-tertiary)}.txn-category-chip.uncategorized:hover{background:var(--surface-hover);color:var(--text-secondary)}.txn-category-picker-select{position:absolute;top:calc(100% + var(--s-1));left:0;z-index:10;min-width:160px;border:thin solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text);padding:var(--s-1);box-shadow:var(--shadow-pop);font-size:var(--text-sm);outline:none}.txn-panel{width:min(calc(var(--s-6) * 12),100vw);max-height:90vh;overflow-y:auto;background:var(--surface);color:var(--text);box-shadow:var(--shadow-pop);padding:var(--s-5);display:flex;flex-direction:column;transform:translate(-50%,-50%);animation:task-panel-modal-in var(--dur) var(--ease)}.txn-panel-head{display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-5)}.txn-panel-close{width:var(--s-6);height:var(--s-6);flex-shrink:0;border:thin solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease)}.txn-panel-close:hover{background:var(--surface-hover);color:var(--text)}.txn-panel-close:active{transform:scale(.98)}.txn-panel-title{margin:0;font-size:var(--text-lg);font-weight:var(--fw-semibold)}.txn-panel-locked-badge{background:var(--warning-subtle);color:var(--warning);border:thin solid rgba(186,117,23,.2);padding:var(--s-2) var(--s-3);border-radius:var(--r-md);font-size:var(--text-sm);font-weight:var(--fw-semibold);margin-bottom:var(--s-4);text-align:center}.txn-panel-body{flex:1;display:flex;flex-direction:column;gap:var(--s-4)}.txn-panel-notes{margin-top:var(--s-4);border-top:thin solid var(--border);padding-top:var(--s-4)}.txn-panel-field{display:flex;flex-direction:column;gap:var(--s-1)}.txn-panel-field span{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.txn-panel-field input,.txn-panel-field select{width:100%;border:thin solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text);padding:var(--s-2) var(--s-3);font-family:var(--font-sans);font-size:var(--text-base);outline:none;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.txn-panel-field input:focus,.txn-panel-field select:focus{border-color:var(--accent);box-shadow:var(--focus)}.txn-panel-field input:disabled,.txn-panel-field select:disabled{background:var(--surface-hover);color:var(--text-secondary);cursor:not-allowed}.txn-panel-actions{display:flex;justify-content:space-between;gap:var(--s-3);margin-top:var(--s-5);padding-top:var(--s-4);border-top:thin solid var(--border)}.txn-panel-delete{background:var(--surface);color:var(--danger);border:thin solid var(--danger-subtle);border-radius:var(--r-md);padding:0 var(--s-3);font-size:var(--text-sm);cursor:pointer;height:36px;display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--dur) var(--ease),transform var(--dur) var(--ease)}.txn-panel-delete:hover{background:var(--danger-subtle)}.txn-panel-delete:active{transform:scale(.98)}.reconciliation{display:flex;flex-direction:column;gap:var(--s-5)}.recon-toolbar,.recon-toolbar label,.recon-actions,.recon-detail-actions{display:flex;align-items:center;gap:var(--s-2)}.recon-toolbar{justify-content:space-between}.recon-toolbar label{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--fw-semibold)}.recon-toolbar select,.recon-button,.recon-auto{border:thin solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text);padding:var(--s-2) var(--s-3);font:inherit}.recon-button,.recon-auto{cursor:pointer;font-size:var(--text-sm)}.recon-auto{border-color:var(--accent);background:var(--accent);color:var(--accent-fg);font-weight:var(--fw-semibold)}.recon-auto:hover:not(:disabled){background:var(--accent-hover)}.recon-auto:disabled,.recon-button:disabled{cursor:not-allowed;opacity:var(--drag-opacity)}.recon-button:hover:not(:disabled){background:var(--surface-hover)}.recon-button.subtle{color:var(--text-secondary)}.recon-section{border:thin solid var(--border);border-radius:var(--r-lg);background:var(--surface);overflow:visible}.recon-section h2{margin:0;padding:var(--s-3) var(--s-4);border-bottom:thin solid var(--border);color:var(--text-secondary);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.04em}.recon-line{position:relative;display:grid;grid-template-columns:calc(var(--s-6) * 3) minmax(0,1fr) calc(var(--s-6) * 4) auto;align-items:center;gap:var(--s-3);min-height:calc(var(--s-6) + var(--s-4));padding:var(--s-2) var(--s-4);border-bottom:thin solid var(--border)}.recon-line:last-child{border-bottom:0}.recon-date,.recon-amount{font-family:var(--font-mono);font-size:var(--text-sm)}.recon-payee{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--fw-medium)}.recon-amount{text-align:right;font-weight:var(--fw-semibold)}.recon-amount.negative{color:var(--danger)}.recon-amount.positive,.recon-matched{color:var(--success)}.recon-popover{position:absolute;z-index:calc(var(--z-overlay) / 2);top:calc(100% - var(--s-2));right:var(--s-4);display:flex;width:calc(var(--s-6) * 10);flex-direction:column;padding:var(--s-2);border:thin solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-pop)}.recon-candidate,.recon-create{display:flex;justify-content:space-between;gap:var(--s-3);border:0;border-radius:var(--r-md);background:transparent;color:var(--text);padding:var(--s-2);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer}.recon-candidate:hover,.recon-create:hover{background:var(--surface-hover)}.recon-candidate span:last-child{color:var(--text-tertiary);white-space:nowrap}.recon-create{margin-top:var(--s-1);border-top:thin solid var(--border);color:var(--accent);font-weight:var(--fw-semibold)}.recon-flag{border-bottom:thin solid var(--border)}.recon-flag:last-child{border-bottom:0}.recon-flag-summary{display:flex;width:100%;align-items:center;justify-content:space-between;border:0;background:transparent;color:var(--warning);padding:var(--s-3) var(--s-4);font:inherit;font-weight:var(--fw-semibold)}.cmd-k-hint,.shortcut-hint-btn{display:flex;width:100%;align-items:center;gap:var(--s-2);margin-top:auto;padding:var(--s-2);border:thin solid transparent;border-radius:var(--r-md);background:transparent;color:var(--text-secondary);font:inherit;font-size:var(--text-sm);cursor:pointer}.cmd-k-hint:hover,.shortcut-hint-btn:hover{border-color:var(--border);background:var(--surface-active);color:var(--text)}.cmd-k-hint>span:not(.command-shortcut),.shortcut-hint-btn>span:not(.command-shortcut){flex:1;text-align:left}.command-palette-overlay{position:fixed;inset:0;z-index:var(--z-overlay);display:flex;align-items:flex-start;justify-content:center;padding:calc(var(--s-6) * 2) var(--s-4);background:color-mix(in srgb,var(--text) 40%,transparent);backdrop-filter:blur(var(--s-1));animation:fade-in var(--dur) var(--ease)}.modal-backdrop.command-palette-overlay{z-index:199}.command-palette{display:flex;width:min(calc(var(--s-6) * 18),100%);max-height:calc(100vh - calc(var(--s-6) * 4));flex-direction:column;overflow:hidden;border:thin solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface);color:var(--text);box-shadow:var(--shadow-pop);animation:slide-up var(--dur) var(--ease)}.modal-dialog.command-palette{transform:translate(-50%,-50%);animation:task-panel-modal-in var(--dur) var(--ease)}.command-palette-search{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:thin solid var(--border);color:var(--text-tertiary)}.command-palette-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:var(--text-md)}.command-palette-search input::placeholder{color:var(--text-tertiary)}.command-palette-results{overflow-y:auto;padding:var(--s-2)}.command-group-label{padding:var(--s-3) var(--s-2) var(--s-1);color:var(--text-tertiary);font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:.04em;text-transform:uppercase}.command-item{display:flex;width:100%;min-height:calc(var(--s-6) + var(--s-2));align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);border:thin solid transparent;border-radius:var(--r-md);background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.recon-flag-summary:hover{background:var(--warning-subtle)}.recon-flag-detail{padding:0 var(--s-4) var(--s-3);color:var(--text-secondary);font-size:var(--text-sm)}.recon-flag-detail .recon-line{margin-bottom:var(--s-2);border:thin solid var(--border);border-radius:var(--r-md)}.recon-duplicate{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-2);margin-bottom:var(--s-2)}.recon-duplicate span{padding:var(--s-3);border:thin solid var(--border);border-radius:var(--r-md);background:var(--surface-hover)}.recon-empty{display:block;margin:0;padding:var(--s-4);color:var(--text-tertiary);font-size:var(--text-sm)}.command-item.selected{border-color:var(--border);background:var(--accent-subtle)}.command-item:focus-visible{outline:none;box-shadow:var(--focus)}.command-palette-search input:focus-visible{outline:none}.command-item.current .command-item-label:after{content:"Current";margin-left:var(--s-2);color:var(--accent);font-size:var(--text-xs);font-weight:var(--fw-semibold)}.command-item-icon{display:inline-flex;color:var(--text-secondary)}.command-item-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-palette-empty{padding:var(--s-5);color:var(--text-tertiary);font-size:var(--text-sm);text-align:center}:root{--border-width-thin: 1px}.project-notes-drawer,.project-milestones-drawer{margin-bottom:var(--s-4);background:var(--surface-hover);border:var(--border-width-thin) solid var(--border);border-radius:var(--r-md);padding:var(--s-3);transition:background var(--dur) var(--ease)}.project-notes-drawer[open],.project-milestones-drawer[open]{background:var(--surface)}.project-notes-toggle,.project-milestones-toggle{display:inline-flex;align-items:center;gap:var(--s-2);font-weight:var(--fw-medium);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;user-select:none;list-style:none}.project-notes-toggle::-webkit-details-marker,.project-milestones-toggle::-webkit-details-marker{display:none}.note-editor-container{margin-top:var(--s-3);display:flex;flex-direction:column;gap:var(--s-3)}.notes-list{display:flex;flex-direction:column;gap:var(--s-3)}.note-card{background:var(--surface);border:var(--border-width-thin) solid var(--border);border-radius:var(--r-sm);padding:var(--s-3);display:flex;flex-direction:column;gap:var(--s-2)}.note-card:hover{border-color:var(--border-strong)}.note-body{font-size:var(--text-base);line-height:var(--lh-base);color:var(--text);cursor:pointer;word-break:break-word}.note-body p{margin:0 0 var(--s-2) 0}.note-body p:last-child{margin-bottom:0}.note-body strong{font-weight:var(--fw-semibold)}.note-body em{font-style:italic}.note-body code{font-family:var(--font-mono);font-size:var(--text-xs);background:var(--surface-hover);padding:var(--s-1) var(--s-2);border-radius:var(--r-sm)}.note-body ul,.note-body ol{margin:0 0 var(--s-2) 0;padding-left:var(--s-4)}.note-body li{margin-bottom:var(--s-1)}.note-body h3{font-size:var(--text-md);margin:0 0 var(--s-2) 0;font-weight:var(--fw-semibold)}.note-card-footer{display:flex;justify-content:space-between;align-items:center}.note-timestamp{font-size:var(--text-xs);color:var(--text-tertiary)}.btn-note-delete{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:var(--s-1);border-radius:var(--r-sm);display:inline-flex;align-items:center;justify-content:center;transition:color var(--dur) var(--ease),background var(--dur) var(--ease)}.btn-note-delete:hover{color:var(--danger);background:var(--danger-subtle)}.note-form-wrapper{display:flex;flex-direction:column;gap:var(--s-2);width:100%}.note-editor-frame{display:flex;flex-direction:column;background:var(--surface);border:var(--border-width-thin) solid var(--border);border-radius:var(--r-sm);overflow:hidden;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);width:100%}.note-editor-frame:focus-within{border-color:var(--accent);box-shadow:var(--focus)}.note-format-toolbar{display:flex;align-items:center;gap:var(--s-1);width:100%;padding:var(--s-1_5) var(--s-2);border-bottom:var(--border-width-thin) solid var(--border);background:var(--surface-hover)}.note-format-button{display:inline-flex;align-items:center;justify-content:center;width:calc(var(--s-6) + var(--s-1));height:calc(var(--s-6) + var(--s-1));padding:0;border:var(--border-width-thin) solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.note-format-button:hover{border-color:var(--border-strong);background:var(--surface);color:var(--text)}.note-format-button:focus-visible{outline:none;box-shadow:var(--focus)}.note-editor-textarea{width:100%;min-height:var(--sidebar-collapsed-width);padding:var(--s-3);border:none;background:transparent;color:var(--text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--lh-base);resize:none;outline:none}.note-editor-wysiwyg-content{min-height:var(--sidebar-collapsed-width);outline:none;cursor:text}.note-format-button.active{background:var(--surface);border-color:var(--border-strong);color:var(--accent)}.note-editor-wysiwyg-content p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--text-tertiary);pointer-events:none;height:0}.note-editor-wysiwyg-content ul[data-type=taskList]{list-style:none;padding-left:var(--s-1);margin:0 0 var(--s-2) 0}.note-editor-wysiwyg-content li[data-type=taskItem]{display:flex;align-items:flex-start;gap:var(--s-2);margin-bottom:var(--s-1)}.note-editor-wysiwyg-content li[data-type=taskItem]>label{user-select:none;margin-top:calc(var(--lh-base) * .1em)}.note-editor-wysiwyg-content li[data-type=taskItem]>label input[type=checkbox]{cursor:pointer;accent-color:var(--accent)}.note-editor-wysiwyg-content li[data-type=taskItem]>div{flex:1}.note-editor-wysiwyg-content li[data-type=taskItem][data-checked=true]>div{text-decoration:line-through;color:var(--text-secondary)}.note-body .task-list-item{list-style-type:none;margin-left:calc(-1 * var(--s-1))}.note-body .task-list-item input[type=checkbox]{margin-right:var(--s-2);accent-color:var(--accent);cursor:default}.note-form-actions{display:flex;gap:var(--s-2)}.btn-note-save{background:var(--accent);color:var(--accent-fg);border:none;border-radius:var(--r-sm);padding:var(--s-2) var(--s-3);font-size:var(--text-sm);font-weight:var(--fw-medium);cursor:pointer;transition:background var(--dur) var(--ease)}.btn-note-save:hover:not(:disabled){background:var(--accent-hover)}.btn-note-save:disabled{opacity:.5;cursor:not-allowed}.btn-note-cancel{background:var(--surface-hover);color:var(--text-secondary);border:var(--border-width-thin) solid var(--border);border-radius:var(--r-sm);padding:var(--s-2) var(--s-3);font-size:var(--text-sm);font-weight:var(--fw-medium);cursor:pointer;transition:background var(--dur) var(--ease)}.btn-note-cancel:hover{background:var(--surface-active)}.btn-add-note-trigger{display:inline-flex;align-items:center;gap:var(--s-2);background:none;border:var(--border-width-thin) dashed var(--border);border-radius:var(--r-sm);padding:var(--s-2) var(--s-3);color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease);width:fit-content}.btn-add-note-trigger:hover{border-color:var(--accent);color:var(--accent)}.forecast-view{display:flex;flex-direction:column;gap:var(--s-4);padding:var(--s-4);overflow-y:auto;height:100%}.forecast-range-selector{display:flex;gap:var(--s-2)}.btn-range{background:var(--surface);border:var(--border-width-thin) solid var(--border);border-radius:var(--r-sm);padding:var(--s-2) var(--s-3);font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-secondary);cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.btn-range:hover{background:var(--surface-hover);border-color:var(--border-strong)}.btn-range.active{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent)}.forecast-warnings{display:flex;flex-direction:column;gap:var(--s-2)}.forecast-warning-banner{background:var(--warning-subtle);border:var(--border-width-thin) solid var(--warning);border-radius:var(--r-sm);padding:var(--s-3);color:var(--warning);font-size:var(--text-sm);font-weight:var(--fw-medium);display:flex;align-items:center;gap:var(--s-2)}.forecast-months-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--sidebar-width),1fr));gap:var(--s-4)}.forecast-month-card{background:var(--surface);border:var(--border-width-thin) solid var(--border);border-radius:var(--r-md);padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-2)}.forecast-month-title{margin:0 0 var(--s-2) 0;font-size:var(--text-md);font-weight:var(--fw-semibold);color:var(--text);text-transform:uppercase}.forecast-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-sm);line-height:var(--lh-sm)}.forecast-label{color:var(--text-secondary)}.forecast-label.label-bold{font-weight:var(--fw-semibold);color:var(--text)}.forecast-value{font-family:var(--font-sans)}.forecast-value.value-bold{font-weight:var(--fw-semibold);color:var(--text)}.value-income{color:var(--success)}.value-expense{color:var(--danger)}.value-surplus{color:var(--success);font-weight:var(--fw-medium)}.value-deficit{color:var(--danger);font-weight:var(--fw-semibold)}.row-net,.row-surplus{margin-top:var(--s-1)}.forecast-divider{border:none;border-top:var(--border-width-thin) solid var(--border);margin:var(--s-1) 0;width:100%}.forecast-trend{font-size:var(--text-xs);color:var(--info);margin-left:var(--s-1)}.forecast-events-section{margin-top:var(--s-3);display:flex;flex-direction:column;gap:var(--s-2)}.forecast-events-header{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-tertiary);text-transform:uppercase}.forecast-events-list{display:flex;flex-direction:column}.forecast-event-item{display:flex;align-items:center;font-size:var(--text-sm);height:var(--lh-md);font-family:var(--font-sans);color:var(--text)}.event-tree{font-family:var(--font-mono);color:var(--text-tertiary);margin-right:var(--s-2);width:var(--s-3);display:inline-block}.event-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:var(--s-2)}.event-date{color:var(--text-secondary);margin-right:var(--s-3);font-size:var(--text-xs)}.event-amount{font-weight:var(--fw-medium)}.event-amount.income{color:var(--success)}.event-amount.expense{color:var(--text)}.forecast-net-worth-projection{background:var(--surface-hover);border:var(--border-width-thin) solid var(--border);border-radius:var(--r-md);padding:var(--s-4);margin-top:var(--s-4);display:flex;flex-direction:column;gap:var(--s-3)}.nw-title{margin:0;font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-secondary)}.nw-stats{display:flex;align-items:center;gap:var(--s-3);font-size:var(--text-md);font-weight:var(--fw-semibold);color:var(--text)}.nw-arrow{color:var(--text-tertiary)}.nw-bar-row{display:flex;align-items:center;gap:var(--s-4)}.nw-bar-container{flex:1;height:var(--s-3);background:var(--surface-active);border-radius:var(--r-full);overflow:hidden;border:var(--border-width-thin) solid var(--border)}.nw-bar-fill{height:100%;background:var(--accent);border-radius:var(--r-full);width:var(--bar-h, 0%);transition:width var(--dur) var(--ease)}.nw-growth{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--success);min-width:var(--s-6)}.task-row.has-open-popover .task-actions{opacity:1;pointer-events:auto}.task-select-checkbox{width:0;height:16px;opacity:0;margin-right:0;cursor:pointer;flex-shrink:0;accent-color:var(--accent);pointer-events:none;overflow:hidden;transition:width var(--dur) var(--ease),margin-right var(--dur) var(--ease),opacity var(--dur) var(--ease)}.task-row:hover .task-select-checkbox,.task-select-checkbox:checked,.task-select-checkbox.sticky{width:16px;margin-right:var(--s-1);opacity:1;pointer-events:auto}.qa-bar{display:flex;align-items:center;gap:var(--s-1)}.qa-trigger{border:thin solid var(--border-strong);background:var(--surface);border-radius:var(--r-md);padding:var(--s-1);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);height:28px;width:28px;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}.qa-trigger:hover{background:var(--surface-hover);color:var(--text)}.qa-popover-wrapper{position:relative;display:inline-block}.qa-popover{position:absolute;z-index:50;top:calc(100% + var(--s-1));right:0;background:var(--surface);border:thin solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-pop);padding:var(--s-2);min-width:140px;display:flex;flex-direction:column;gap:var(--s-1)}.qa-date-popover{min-width:280px;padding:var(--s-2)}.qa-date-popover .dp-popover{position:static;border:none;box-shadow:none;padding:0;background:transparent}.sp-root{display:flex;flex-direction:column;gap:var(--s-2);min-width:min(264px,100%);box-sizing:border-box}.sp-typed-row{display:flex;align-items:center;gap:var(--s-2);border:thin solid var(--border-strong);border-radius:var(--r-sm);padding:var(--s-1) var(--s-2)}.sp-typed-input{flex:1;border:none;background:transparent;color:var(--text);font-size:var(--text-sm);outline:none}.sp-typed-resolved{font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap}.sp-shortcuts{display:flex;flex-direction:column;gap:2px}.sp-shortcut{display:flex;align-items:center;gap:var(--s-2);width:100%;border:none;background:transparent;border-radius:var(--r-sm);padding:var(--s-1) var(--s-2);font-size:var(--text-sm);color:var(--text);cursor:pointer;text-align:left}.sp-shortcut:hover{background:var(--surface-hover)}.sp-shortcut-icon{display:inline-flex;color:var(--text-secondary)}.sp-shortcut-label{flex:1}.sp-shortcut-date{font-size:var(--text-xs);color:var(--text-secondary)}.sp-shortcut-clear .sp-shortcut-icon{color:var(--text-error)}.sp-calendar{border-top:thin solid var(--border);padding-top:var(--s-2)}.sp-controls{display:flex;gap:var(--s-2);border-top:thin solid var(--border);padding-top:var(--s-2)}.sp-control{position:relative;flex:1}.sp-control-btn{display:flex;align-items:center;gap:var(--s-1);width:100%;border:thin solid var(--border);background:var(--surface);border-radius:var(--r-sm);padding:var(--s-1) var(--s-2);font-size:var(--text-xs);color:var(--text-secondary);cursor:pointer}.sp-control-btn:hover{background:var(--surface-hover);color:var(--text)}.sp-control-active{border-color:var(--accent);color:var(--accent)}.sp-time-active{display:flex;align-items:center;gap:var(--s-1)}.sp-time-active .sp-control-icon{color:var(--text-secondary);display:inline-flex}.sp-repeat-menu{position:absolute;z-index:60;bottom:calc(100% + var(--s-1));left:0;min-width:180px;background:var(--surface);border:thin solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-pop);padding:var(--s-1);display:flex;flex-direction:column;gap:2px}.sp-repeat-option{border:none;background:transparent;border-radius:var(--r-sm);padding:var(--s-1) var(--s-2);font-size:var(--text-sm);color:var(--text);cursor:pointer;text-align:left}.sp-repeat-option:hover{background:var(--surface-hover)}.sp-repeat-clear{color:var(--text-error);border-top:thin solid var(--border);margin-top:2px}.sp-repeat-custom{display:flex;align-items:center;gap:var(--s-1);padding:var(--s-1) var(--s-2);font-size:var(--text-xs);color:var(--text-secondary);border-top:thin solid var(--border)}.sp-repeat-n{width:44px;border:thin solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);padding:2px var(--s-1)}.sp-repeat-unit{border:thin solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);padding:2px var(--s-1)}.sp-repeat-custom-apply{border:thin solid var(--border);background:var(--surface);border-radius:var(--r-sm);padding:2px var(--s-2);color:var(--text);cursor:pointer}.sp-repeat-custom-apply:hover{background:var(--surface-hover)}.sp-repeat-chip-row{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.sp-repeat-chip{display:inline-flex;align-items:center;gap:var(--s-1);background:var(--accent-subtle);color:var(--accent);border-radius:var(--r-full);padding:2px var(--s-2);font-size:var(--text-xs)}.sp-repeat-chip-clear{display:inline-flex;border:none;background:transparent;color:var(--accent);cursor:pointer;padding:0}.sp-time-chip{font-size:var(--text-xs);color:var(--text-secondary)}.qa-shortcuts{display:flex;gap:var(--s-1);justify-content:space-between}.qa-shortcuts button{flex:1;border:thin solid var(--border);background:var(--surface);border-radius:var(--r-sm);padding:var(--s-1);font-size:var(--text-xs);cursor:pointer;color:var(--text-secondary);text-align:center}.qa-shortcuts button:hover{background:var(--surface-hover);color:var(--text)}.qa-priority-option,.qa-project-option,.qa-more-option,.qa-section-option,.qa-subtask-option{border:none;background:none;border-radius:var(--r-sm);padding:var(--s-2) var(--s-3);font:inherit;font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;text-align:left;display:flex;align-items:center;gap:var(--s-2);width:100%;transition:background-color var(--dur) var(--ease)}.qa-priority-option:hover,.qa-project-option:hover,.qa-more-option:hover,.qa-section-option:hover,.qa-subtask-option:hover{background:var(--surface-hover);color:var(--text)}.qa-priority-option.active,.qa-project-option.active,.qa-section-option.active{background:var(--accent-subtle);color:var(--accent);font-weight:var(--fw-semibold)}.qa-delete-option:hover{background:var(--danger-subtle)!important;color:var(--danger)!important}.qa-more-popover{min-width:180px;padding:var(--s-2)}.qa-more-option{white-space:nowrap}.qa-priority-option svg,.qa-project-option svg,.qa-more-option svg{flex-shrink:0;display:block}.qa-priority-option:focus-visible,.qa-project-option:focus-visible,.qa-more-option:focus-visible,.qa-section-option:focus-visible,.qa-subtask-option:focus-visible{outline:none;box-shadow:var(--focus);background:var(--surface-hover);color:var(--text)}.qa-delete-option:focus-visible{background:var(--danger-subtle)!important;color:var(--danger)!important;outline:none;box-shadow:var(--focus)}.qa-popover-header{display:flex;align-items:center;gap:var(--s-2);padding:0 0 var(--s-1) 0;border-bottom:thin solid var(--border);margin-bottom:var(--s-1);font-weight:var(--fw-semibold);font-size:var(--text-xs);color:var(--text-tertiary)}.qa-back-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);font-size:var(--text-xs);padding:0}.qa-back-btn:hover{color:var(--text)}.qa-no-options{font-size:var(--text-xs);color:var(--text-tertiary);padding:var(--s-2);text-align:center}.batch-bar-container{position:fixed;bottom:var(--s-4);left:50%;transform:translate(-50%);z-index:100;display:flex;justify-content:center;pointer-events:none;animation:slide-up .2s var(--ease)}.batch-bar{pointer-events:auto;background:var(--surface);border:thin solid var(--border-strong);box-shadow:var(--shadow-pop);border-radius:var(--r-lg);padding:var(--s-2) var(--s-4);display:flex;align-items:center;gap:var(--s-4);min-height:48px}.batch-count{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text)}.batch-actions{display:flex;align-items:center;gap:var(--s-2)}.btn-batch-action{border:thin solid var(--border);background:var(--surface);border-radius:var(--r-md);padding:var(--s-1) var(--s-3);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--s-1_5);height:32px;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.btn-batch-action:hover{background:var(--surface-hover);color:var(--text)}.btn-batch-action:focus-visible{outline:none;box-shadow:var(--focus)}.btn-batch-delete:hover{color:var(--danger);border-color:var(--danger);background:var(--danger-subtle)}.btn-batch-delete:focus-visible{color:var(--danger);border-color:var(--danger);background:var(--danger-subtle);outline:none;box-shadow:var(--focus)}.btn-batch-close{background:none;border:none;border-radius:var(--r-sm);cursor:pointer;color:var(--text-tertiary);font-size:var(--text-md);padding:var(--s-1);display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}.btn-batch-close:hover{background:var(--surface-hover);color:var(--text)}.btn-batch-close:focus-visible{outline:none;box-shadow:var(--focus)}.batch-popover-wrapper{position:relative}.batch-popover{position:absolute;z-index:50;bottom:calc(100% + var(--s-2));left:50%;transform:translate(-50%);background:var(--surface);border:thin solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-pop);padding:var(--s-2);min-width:160px;display:flex;flex-direction:column;gap:var(--s-1);max-height:200px;overflow-y:auto}.batch-date-popover{min-width:200px;max-height:none;overflow:visible}.batch-date-popover .dp-popover{position:static;border:none;box-shadow:none;padding:0;background:transparent}.offline-banner{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-4);background:var(--warning);color:var(--accent-fg);font-size:var(--text-sm);z-index:var(--z-overlay)}.install-prompt{position:fixed;bottom:var(--s-6);right:var(--s-4);display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-4);background:var(--surface);border:var(--border-width-thin) solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-pop);font-size:var(--text-sm);color:var(--text);z-index:var(--z-overlay)}.install-prompt span{font-weight:var(--fw-medium)}.install-prompt button{display:inline-flex;align-items:center;justify-content:center;padding:var(--s-1) var(--s-3);border-radius:var(--r-sm);font-size:var(--text-xs);cursor:pointer;border:none;background:transparent;color:var(--text-secondary)}.install-prompt button.primary{background:var(--accent);color:var(--accent-fg)}.install-prompt button:hover{background:var(--surface-hover)}.install-prompt button.primary:hover{background:var(--accent-hover)}.toast.update-toast{display:flex;align-items:center;gap:var(--s-3);background:var(--text);color:var(--bg)}.toast.update-toast button{background:var(--accent);color:var(--accent-fg);border:none;padding:var(--s-1) var(--s-3);border-radius:var(--r-sm);font-size:var(--text-xs);cursor:pointer;font-weight:var(--fw-semibold);transition:background var(--dur) var(--ease)}.toast.update-toast button:hover{background:var(--accent-hover)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.investments-allocation-row{display:flex;align-items:center;gap:var(--s-2)}.investments-alloc-label{font-size:var(--text-xs);width:70px;color:var(--text-secondary)}.side-item-main{display:flex;align-items:center;flex:1;min-width:0;gap:var(--s-2);border:none;background:none;color:inherit;cursor:pointer;font:inherit;padding:0}.side-item-main .side-label{min-width:0;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.side-item-actions{display:flex;align-items:center;gap:var(--s-1);margin-left:auto;min-width:0}.side-item-actions .badge{margin-left:0}.side-item-edit,.side-item-delete{display:none;border:none;background:none;color:var(--text-tertiary);cursor:pointer;padding:0;align-items:center;justify-content:center;transition:color var(--dur) var(--ease)}.side-item:hover .side-item-edit,.side-item:focus .side-item-edit,.side-item:focus-within .side-item-edit,.side-item:hover .side-item-delete,.side-item:focus .side-item-delete,.side-item:focus-within .side-item-delete{display:inline-flex}.project-side-item .side-item-edit,.project-side-item .side-item-delete{display:inline-flex}.side-item-edit:hover{color:var(--accent)}.side-item-delete:hover{color:var(--danger)}.side-item-edit-form{display:flex;align-items:center;width:100%;height:32px;padding:0 var(--s-2);gap:var(--s-2)}.side-item-edit-form input{flex:1;border:1px solid var(--border-strong);border-radius:var(--r-md);padding:var(--s-1) var(--s-2);font-size:var(--text-sm);outline:none;background:var(--surface);color:var(--text);height:24px}.side-item-edit-form input:focus{border-color:var(--accent)}.side-form-actions{display:flex;justify-content:flex-end;gap:var(--s-2);margin-top:var(--s-2)}.side-form-actions button{border:none;border-radius:var(--r-sm);padding:var(--s-1) var(--s-3);font-size:var(--text-xs);cursor:pointer;font-weight:var(--fw-medium);transition:background var(--dur) var(--ease)}.side-form-actions .btn-cancel{background:transparent;color:var(--text-secondary)}.side-form-actions .btn-cancel:hover{background:var(--surface-hover)}.side-form-actions .btn-save{background:var(--accent);color:var(--accent-fg)}.side-form-actions .btn-save:hover:not(:disabled){background:var(--accent-hover)}.side-form-actions .btn-save:disabled{opacity:.5;cursor:not-allowed}.side-form-error{color:var(--danger);font-size:var(--text-xs);margin-top:var(--s-1);word-break:break-word}.filter-view-header{display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-4)}.filter-view-header .filter-query{margin:0}.filter-edit-btn{display:flex;align-items:center;gap:var(--s-1);border:none;background:transparent;color:var(--accent);font-size:var(--text-xs);cursor:pointer;padding:var(--s-1) var(--s-2);border-radius:var(--r-sm);transition:background var(--dur) var(--ease)}.filter-edit-btn:hover{background:var(--accent-subtle)}.filter-view-edit-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-4);margin-bottom:var(--s-4);display:flex;flex-direction:column;gap:var(--s-3);max-width:480px}.filter-view-edit-form .form-row{display:flex;flex-direction:column;gap:var(--s-1)}.filter-view-edit-form label{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.filter-view-edit-form input{border:1px solid var(--border-strong);border-radius:var(--r-md);padding:var(--s-2) var(--s-3);font-size:var(--text-sm);outline:none;background:var(--surface);color:var(--text)}.filter-view-edit-form input:focus{border-color:var(--accent)}.filter-view-edit-actions{display:flex;justify-content:flex-end;gap:var(--s-2);margin-top:var(--s-1)}.filter-view-edit-actions button{border:none;border-radius:var(--r-sm);padding:var(--s-2) var(--s-4);font-size:var(--text-sm);cursor:pointer;font-weight:var(--fw-medium);transition:background var(--dur) var(--ease)}.filter-view-edit-actions .btn-cancel{background:transparent;color:var(--text-secondary)}.filter-view-edit-actions .btn-cancel:hover{background:var(--surface-hover)}.filter-view-edit-actions .btn-save{background:var(--accent);color:var(--accent-fg)}.filter-view-edit-actions .btn-save:hover{background:var(--accent-hover)}@media(min-width:640px)and (max-width:899px){.side-item-delete{display:none!important}}.milestones-container{margin-top:var(--s-3);display:flex;flex-direction:column;gap:var(--s-3)}.milestones-list{display:flex;flex-direction:column;gap:var(--s-2)}.milestone-row{display:flex;align-items:center;justify-content:space-between;padding:var(--s-2) var(--s-3);background:var(--surface);border:var(--border-width-thin) solid var(--border);border-radius:var(--r-sm);transition:opacity var(--dur) var(--ease)}.milestone-triggered{opacity:.6}.milestone-row-left{display:flex;align-items:center;gap:var(--s-2)}.milestone-status-icon{font-size:var(--text-md);font-weight:var(--fw-bold)}.milestone-details{font-size:var(--text-sm)}.milestone-delete-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;padding:0;transition:color var(--dur) var(--ease)}.milestone-delete-btn:hover{color:var(--text-error)}.milestone-add-form{display:flex;flex-direction:column;gap:var(--s-2);background:var(--surface);border:var(--border-width-thin) solid var(--border);border-radius:var(--r-md);padding:var(--s-3)}.milestone-form-label{display:flex;flex-direction:column;gap:var(--s-1);font-size:var(--text-sm);font-weight:var(--fw-medium)}.milestone-form-input{padding:var(--s-2);border:var(--border-width-thin) solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text-primary)}.milestone-form-input:focus{outline:none;border-color:var(--primary)}.doc-list{display:flex;flex-direction:column;gap:var(--s-1);margin-top:var(--s-3)}.doc-row{display:flex;align-items:center;justify-content:space-between;padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);cursor:pointer;transition:background var(--dur) var(--ease)}.doc-row:hover{background:var(--surface-hover)}.doc-row-left{display:flex;align-items:center;gap:var(--s-2)}.doc-icon{color:var(--text-secondary);flex-shrink:0}.doc-title{font-size:var(--text-sm);color:var(--text);font-weight:var(--fw-medium)}.btn-doc-delete{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:var(--s-1);display:inline-flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--dur) var(--ease)}.doc-row:hover .btn-doc-delete{opacity:1}.btn-doc-delete:hover{color:var(--primary)}.doc-add-form{margin-top:var(--s-3);display:flex;gap:var(--s-2)}.doc-add-input{flex:1;padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);border:var(--border-width-thin) solid var(--border);background:var(--surface);color:var(--text);font-size:var(--text-sm);transition:border-color var(--dur) var(--ease)}.doc-add-input:focus{outline:none;border-color:var(--primary)}.doc-add-button{padding:var(--s-2) var(--s-4);border-radius:var(--r-sm);border:none;background:var(--primary);color:var(--primary-text);font-size:var(--text-sm);font-weight:var(--fw-medium);cursor:pointer;transition:opacity var(--dur) var(--ease)}.doc-add-button:disabled{opacity:.6;cursor:not-allowed}.doc-editor-panel{display:flex;flex-direction:column;height:100vh}.doc-editor-title{width:100%}.doc-editor-body{flex:1;min-height:200px;resize:none;margin-top:var(--s-4);padding:var(--s-3);font-family:inherit;font-size:var(--text-base);line-height:var(--lh-base);color:var(--text);background:var(--surface);border:var(--border-width-thin) solid var(--border);border-radius:var(--r-md);transition:border-color var(--dur) var(--ease)}.doc-editor-body:focus{outline:none;border-color:var(--primary)}.dp-container{position:relative;display:inline-block;width:100%}.dp-input-wrapper{display:flex;align-items:center;text-align:left;min-height:var(--control-h);border:thin solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);padding:0 var(--s-2);width:100%;box-sizing:border-box}.dp-input-wrapper:focus-within{outline:none;box-shadow:var(--focus)}.dp-input{flex:1;border:none;background:transparent;padding:var(--s-1.5) 0;font:inherit;font-size:var(--text-sm);color:var(--text);outline:none;min-width:0}.dp-clear-btn,.dp-trigger-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:var(--s-1)}.dp-clear-btn:hover,.dp-trigger-btn:hover{color:var(--text)}.dp-popover{position:absolute;z-index:100;top:calc(100% + var(--s-1));left:0;background:var(--surface);border:thin solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-pop);padding:var(--s-2);min-width:250px}.task-due-trigger{cursor:pointer;text-align:left;font:inherit;gap:var(--s-1)}.task-due-trigger-text{color:var(--text)}.task-due-trigger-placeholder{color:var(--text-secondary)}.task-due-trigger-repeat{display:inline-flex;align-items:center;color:var(--accent)}.task-due-popover{min-width:280px}.dp-calendar{display:flex;flex-direction:column;gap:var(--s-2)}.dp-header{display:flex;align-items:center;justify-content:space-between}.dp-header-titles{display:flex;gap:var(--s-1)}.dp-title-btn{background:transparent;border:none;font-weight:var(--fw-semibold);color:var(--text);cursor:pointer;padding:var(--s-1) var(--s-2);border-radius:var(--r-sm)}.dp-title-btn:hover{background:var(--surface-hover)}.dp-header-text{font-weight:var(--fw-semibold);color:var(--text);padding:var(--s-1) var(--s-2)}.dp-nav-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);padding:var(--s-1)}.dp-nav-btn:hover{background:var(--surface-hover);color:var(--text)}.dp-grid-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.dp-weekday{font-size:var(--text-xs);color:var(--text-secondary);font-weight:var(--fw-medium)}.dp-grid-days{display:grid;grid-template-columns:1fr;gap:2px}.dp-grid-days .dp-grid-row{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.dp-day-btn{background:transparent;border:none;height:28px;width:28px;display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);color:var(--text);cursor:pointer;border-radius:var(--r-full);transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.dp-day-btn:hover:not(:disabled){background:var(--surface-hover)}.dp-day-btn:disabled{color:var(--text-secondary);opacity:.3;cursor:not-allowed}.dp-day-btn:focus-visible{outline:none;box-shadow:var(--focus)}.dp-day-selected{background:var(--accent)!important;color:var(--accent-contrast)!important}.dp-day-today{border:1.5px solid var(--accent)}.dp-day-muted{color:var(--text-secondary);opacity:.5}.dp-grid-months,.dp-grid-years{display:grid;grid-template-columns:1fr;gap:var(--s-2);padding:var(--s-2)}.dp-grid-months .dp-grid-row,.dp-grid-years .dp-grid-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-2)}.dp-month-btn,.dp-year-btn{background:transparent;border:thin solid var(--border);border-radius:var(--r-sm);padding:var(--s-2) 0;font-size:var(--text-sm);color:var(--text);cursor:pointer;text-align:center;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.dp-month-btn:hover,.dp-year-btn:hover{background:var(--surface-hover)}.dp-month-btn:focus-visible,.dp-year-btn:focus-visible{outline:none;box-shadow:var(--focus)}.dp-month-selected,.dp-year-selected{background:var(--accent)!important;color:var(--accent-contrast)!important;border-color:var(--accent)}.tp-popover{position:absolute;z-index:100;top:calc(100% + var(--s-1));left:0;background:var(--surface);border:thin solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-pop);padding:var(--s-1);min-width:160px;max-height:200px;overflow-y:auto;display:flex;flex-direction:column}.tp-option-btn{background:transparent;border:none;padding:var(--s-2) var(--s-3);font-size:var(--text-sm);color:var(--text);cursor:pointer;text-align:left;border-radius:var(--r-sm)}.tp-option-btn:hover{background:var(--surface-hover)}.tp-option-selected{background:var(--accent)!important;color:var(--accent-contrast)!important}.dtp-container{display:flex;gap:var(--s-2);width:100%}.reminders-permission-btn{font-size:var(--text-xs);font-weight:var(--fw-medium);padding:var(--s-1) var(--s-2);border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-raised);color:var(--text-secondary);cursor:pointer;transition:all var(--dur) var(--ease)}.reminders-permission-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text);border-color:var(--border-focus)}.reminders-permission-btn:disabled{cursor:not-allowed;opacity:.6}.reminders-permission-btn.granted{background:var(--success-subtle);color:var(--success);border-color:transparent}.reminders-permission-btn.denied{background:var(--danger-subtle);color:var(--danger);border-color:transparent}.settings-modal{background:var(--surface);border:thin solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);color:var(--text);padding:0;overflow:visible}.settings-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);padding:var(--s-4) var(--s-5);border-bottom:thin solid var(--border)}.settings-modal-eyebrow{margin:0 0 var(--s-1);color:var(--text-tertiary);font-size:var(--text-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em}.settings-modal-head h2{margin:0;color:var(--text);font-size:var(--text-xl);font-weight:var(--fw-bold)}.settings-modal-close{width:var(--control-h);height:var(--control-h);border:thin solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.settings-modal-close:hover{background:var(--surface-hover);color:var(--text);border-color:var(--border-strong)}.settings-modal-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-4);padding:var(--s-4) var(--s-5) var(--s-5)}.settings-section{display:flex;flex-direction:column;gap:var(--s-2);min-width:0}.settings-section-title-row{display:flex;align-items:center;gap:var(--s-2);color:var(--text)}.settings-section-title-row h3{margin:0;font-size:var(--text-md);font-weight:var(--fw-semibold)}.settings-row{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:var(--s-2);min-height:0;padding:var(--s-2) var(--s-3);border:thin solid var(--border);border-radius:var(--r-md);background:var(--surface-subtle)}.settings-row-clickable{cursor:pointer}.settings-row-copy{display:flex;flex-direction:column;gap:var(--s-1);min-width:0}.settings-row-label{color:var(--text);font-size:var(--text-sm);font-weight:var(--fw-semibold)}.settings-row-description{color:var(--text-secondary);font-size:var(--text-xs)}.settings-storage-label,.settings-row-description.storage-state-risk,.settings-row-description.storage-state-safe{display:inline-flex;align-items:center;gap:var(--s-1)}.settings-row-description.storage-state-risk{color:var(--warning)}.settings-row-description.storage-state-safe{color:var(--success)}.settings-row-control{display:flex;justify-content:flex-start;align-items:center;min-width:0}.settings-row-text{color:var(--text-secondary);font-size:var(--text-sm);overflow-wrap:anywhere}.settings-row-control .dp-container,.settings-row-control .dp-input-wrapper{width:100%}.settings-row-control .dp-input{min-width:0}.settings-storage-retry{min-height:var(--control-h);border:thin solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text);display:inline-flex;align-items:center;justify-content:center;gap:var(--s-1);padding:0 var(--s-3);font-size:var(--text-sm);font-weight:var(--fw-semibold);cursor:pointer}.settings-storage-retry:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}.settings-storage-retry:focus-visible{outline:none;box-shadow:var(--focus)}.settings-storage-retry:disabled{cursor:not-allowed;opacity:.6}.settings-theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-2);min-width:0}.settings-theme-btn{min-height:var(--control-h);border:thin solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);padding:0 var(--s-3);font-size:var(--text-sm);font-weight:var(--fw-medium);cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.settings-theme-btn:hover{background:var(--surface-hover);color:var(--text);border-color:var(--border-strong)}.settings-theme-btn.active{background:var(--accent-subtle);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 36%,var(--border))}.settings-number-input{width:50px;padding:var(--s-1);border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:var(--r-sm);font-size:var(--text-xs);text-align:center}.settings-number-input:focus{border-color:var(--border-focus);outline:none}.settings-info{margin:0;font-size:var(--text-xs);color:var(--text-tertiary);line-height:1.4}.settings-device-list,.settings-password-form{display:grid;gap:var(--s-2)}.settings-device-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-2) var(--s-3);border:thin solid var(--border);border-radius:var(--r-md);background:var(--surface-subtle)}.settings-device-row>div{display:grid;gap:var(--s-1)}.settings-device-state{color:var(--text-tertiary);font-size:var(--text-xs)}.settings-inline-danger{min-height:var(--control-h-sm);border:thin solid color-mix(in srgb,var(--danger) 32%,var(--border));border-radius:var(--r-md);background:var(--surface);color:var(--danger);padding:0 var(--s-3);font-size:var(--text-sm);font-weight:var(--fw-medium);cursor:pointer}.settings-inline-danger:hover{background:var(--danger-subtle)}.settings-password-form input{height:var(--control-h);border:thin solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text);padding:0 var(--s-3);font:var(--text-sm) var(--font-sans)}.settings-password-form input:focus{border-color:var(--border-focus);outline:none;box-shadow:var(--focus)}@media(max-width:720px){.settings-modal{width:min(100%,94vw)}.settings-modal-head,.settings-modal-body{padding:var(--s-4)}.settings-modal-body,.settings-row{grid-template-columns:minmax(0,1fr)}.settings-theme-options{grid-template-columns:1fr}}.infinite-scroll-sentinel{height:1px;margin:var(--s-2) 0}.btn-add-money{display:inline-flex;align-items:center;gap:var(--s-2);background:var(--surface);color:var(--accent);border:1px dashed var(--border-strong);border-radius:var(--r-md);padding:var(--s-1) var(--s-3);font-size:var(--text-sm);font-weight:var(--fw-medium);cursor:pointer;height:var(--s-6);min-height:var(--s-6);transition:all var(--dur) var(--ease)}.btn-add-money:hover{background:var(--accent-subtle);border-color:var(--accent);border-style:solid}.btn-add-money:active{transform:scale(.98)}.btn-add-money:focus{outline:none;box-shadow:var(--focus)}.main,.sidebar,.money-task-dialog,.task-panel,.txn-panel,.shortcuts-modal,.importer-content,.importer-review-list,.command-palette-results,.forecast-view,.batch-popover,.tp-popover{scrollbar-width:thin;scrollbar-color:transparent transparent;scrollbar-gutter:stable;transition:scrollbar-color var(--dur) var(--ease)}.main:hover,.sidebar:hover,.money-task-dialog:hover,.task-panel:hover,.txn-panel:hover,.shortcuts-modal:hover,.importer-content:hover,.importer-review-list:hover,.command-palette-results:hover,.forecast-view:hover,.batch-popover:hover,.tp-popover:hover{scrollbar-color:var(--border-strong) transparent}.main::-webkit-scrollbar,.sidebar::-webkit-scrollbar,.money-task-dialog::-webkit-scrollbar,.task-panel::-webkit-scrollbar,.txn-panel::-webkit-scrollbar,.shortcuts-modal::-webkit-scrollbar,.importer-content::-webkit-scrollbar,.importer-review-list::-webkit-scrollbar,.command-palette-results::-webkit-scrollbar,.forecast-view::-webkit-scrollbar,.batch-popover::-webkit-scrollbar,.tp-popover::-webkit-scrollbar{width:7px;height:7px}.main::-webkit-scrollbar-track,.sidebar::-webkit-scrollbar-track,.money-task-dialog::-webkit-scrollbar-track,.task-panel::-webkit-scrollbar-track,.txn-panel::-webkit-scrollbar-track,.shortcuts-modal::-webkit-scrollbar-track,.importer-content::-webkit-scrollbar-track,.importer-review-list::-webkit-scrollbar-track,.command-palette-results::-webkit-scrollbar-track,.forecast-view::-webkit-scrollbar-track,.batch-popover::-webkit-scrollbar-track,.tp-popover::-webkit-scrollbar-track{background:transparent}.main::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb,.money-task-dialog::-webkit-scrollbar-thumb,.task-panel::-webkit-scrollbar-thumb,.txn-panel::-webkit-scrollbar-thumb,.shortcuts-modal::-webkit-scrollbar-thumb,.importer-content::-webkit-scrollbar-thumb,.importer-review-list::-webkit-scrollbar-thumb,.command-palette-results::-webkit-scrollbar-thumb,.forecast-view::-webkit-scrollbar-thumb,.batch-popover::-webkit-scrollbar-thumb,.tp-popover::-webkit-scrollbar-thumb{background-color:transparent;border-radius:var(--r-full);transition:background-color var(--dur) var(--ease)}.main:hover::-webkit-scrollbar-thumb,.sidebar:hover::-webkit-scrollbar-thumb,.money-task-dialog:hover::-webkit-scrollbar-thumb,.task-panel:hover::-webkit-scrollbar-thumb,.txn-panel:hover::-webkit-scrollbar-thumb,.shortcuts-modal:hover::-webkit-scrollbar-thumb,.importer-content:hover::-webkit-scrollbar-thumb,.importer-review-list:hover::-webkit-scrollbar-thumb,.command-palette-results:hover::-webkit-scrollbar-thumb,.forecast-view:hover::-webkit-scrollbar-thumb,.batch-popover:hover::-webkit-scrollbar-thumb,.tp-popover:hover::-webkit-scrollbar-thumb{background-color:var(--border-strong)}.main::-webkit-scrollbar-thumb:hover,.sidebar::-webkit-scrollbar-thumb:hover,.money-task-dialog::-webkit-scrollbar-thumb:hover,.task-panel::-webkit-scrollbar-thumb:hover,.txn-panel::-webkit-scrollbar-thumb:hover,.shortcuts-modal::-webkit-scrollbar-thumb:hover,.importer-content::-webkit-scrollbar-thumb:hover,.importer-review-list::-webkit-scrollbar-thumb:hover,.command-palette-results::-webkit-scrollbar-thumb:hover,.forecast-view::-webkit-scrollbar-thumb:hover,.batch-popover::-webkit-scrollbar-thumb:hover,.tp-popover::-webkit-scrollbar-thumb:hover{background-color:var(--text-secondary)}.main.main-scroll-locked{overflow-y:hidden}.task-panel-nav-group{display:flex;gap:var(--s-1)}.task-panel-nav{width:var(--s-6);height:var(--s-6);flex-shrink:0;border:thin solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease);padding:0}.task-panel-nav:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.task-panel-nav:active:not(:disabled){transform:scale(.98)}.task-panel-nav:disabled{opacity:.4;cursor:not-allowed}.income-summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--s-4);margin-bottom:var(--s-4)}.income-summary-card{background:var(--surface);border:thin solid var(--border);border-radius:var(--r-md);padding:var(--s-3);display:flex;flex-direction:column;gap:var(--s-2);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.income-summary-card:hover{border-color:var(--border-strong)}.income-summary-header{display:flex;justify-content:space-between;align-items:center;font-weight:var(--fw-medium)}.income-source-name{color:var(--text-secondary);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.05em}.income-source-total{color:var(--text);font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.income-progress-bar-container{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.income-progress-bar{height:100%;background:var(--accent);border-radius:3px;transition:width .3s ease}.income-summary-details{display:flex;justify-content:space-between;font-size:var(--fs-xs);color:var(--text-tertiary)}.income-totals-footer{background:var(--surface);border:thin solid var(--border);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);display:flex;flex-direction:column;gap:var(--s-2)}.total-label-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-sm);color:var(--text-secondary)}.total-label-row strong{font-size:var(--fs-base);color:var(--text);margin-left:var(--s-1)}.total-label-row.yearly-row{border-top:thin solid var(--border);padding-top:var(--s-2);margin-top:var(--s-1)}.panel-popover-container{position:relative;width:100%}.panel-field-trigger{display:flex;align-items:center;gap:var(--s-2);width:100%;min-height:var(--control-h);border:thin solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text);font:inherit;padding:var(--s-1) var(--s-2);cursor:pointer;text-align:left;box-sizing:border-box;transition:background-color var(--dur) var(--ease)}.panel-field-trigger:hover{background:var(--surface-hover)}.panel-field-trigger:focus-visible{outline:none;box-shadow:var(--focus)}.panel-field-trigger>svg{flex-shrink:0;color:var(--text-secondary)}.panel-field-trigger>span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-field-trigger-caret{flex-shrink:0;margin-left:auto}.task-panel-actions-menu{position:relative;width:auto}.task-panel-actions-trigger{width:var(--s-6);height:var(--s-6);flex-shrink:0;border:thin solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease)}.task-panel-actions-trigger:hover{background:var(--surface-hover);color:var(--text)}.task-panel-actions-trigger:active{transform:scale(.98)}.task-panel-actions-trigger:focus-visible{outline:none;box-shadow:var(--focus)}.task-panel-popover{left:0;right:auto;top:calc(100% + var(--s-1));min-width:100%;max-height:calc(var(--s-6) * 9);overflow-y:auto}.task-panel-popover-end{left:auto;right:0;top:calc(100% + var(--s-1));min-width:200px;max-height:calc(var(--s-6) * 10);overflow-y:auto}.task-timeline{display:flex;flex-direction:column;gap:var(--s-4);margin-top:var(--s-3)}.timeline-filters{display:flex;gap:var(--s-2);border-bottom:var(--border-width-thin) solid var(--border);padding-bottom:var(--s-2)}.timeline-filter-btn{background:none;border:none;padding:var(--s-1) var(--s-3);font-size:var(--fs-sm);color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-md);transition:all .2s ease}.timeline-filter-btn:hover{background:var(--surface-hover);color:var(--text)}.timeline-filter-btn.active{background:var(--surface-active);color:var(--accent);font-weight:var(--fw-medium)}.task-level-attachments{padding:var(--s-3);background:var(--surface);border:var(--border-width-thin) solid var(--border);border-radius:var(--radius-md)}.task-level-attachments-header{font-size:var(--fs-sm);font-weight:var(--fw-semibold);margin-bottom:var(--s-2);color:var(--text)}.timeline-thread{display:flex;flex-direction:column;gap:var(--s-3)}.timeline-item{display:flex;flex-direction:column}.timeline-comment-card{background:var(--surface);border:var(--border-width-thin) solid var(--border);border-radius:var(--radius-md);padding:var(--s-3);display:flex;flex-direction:column;gap:var(--s-2)}.timeline-comment-card:hover{border-color:var(--border-strong)}.timeline-activity{flex-direction:row;align-items:flex-start;gap:var(--s-3);padding:var(--s-2) var(--s-3);background:var(--surface-hover);border-radius:var(--radius-md);border:var(--border-width-thin) solid transparent}.activity-icon-wrap{display:flex;align-items:center;justify-content:center;width:var(--s-6);height:var(--s-6);border-radius:50%;background:var(--surface-active);color:var(--text-secondary);flex-shrink:0;margin-top:1px}.activity-content{display:flex;flex-direction:column;gap:2px}.activity-label{font-size:var(--fs-sm);color:var(--text)}.activity-time{font-size:var(--fs-xs);color:var(--text-secondary)}.timeline-icon-plus{color:var(--accent)}.timeline-icon-check{color:var(--success, #10b981)}.timeline-icon-circle{color:var(--text-secondary)}.timeline-icon-calendar{color:var(--info, #3b82f6)}.timeline-icon-star{color:var(--warning, #f59e0b)}.timeline-icon-move,.timeline-icon-tag{color:var(--accent)}.task-panel-description-view{margin-bottom:var(--s-4)}.task-description-body{padding:var(--s-3);background:var(--surface);border:var(--border-width-thin) solid var(--border);border-radius:var(--radius-md);min-height:var(--s-12)}.task-description-placeholder:hover{background:var(--surface-hover);border-color:var(--border-strong)!important}.task-panel-description-editor{border:var(--border-width-thin) solid var(--border);border-radius:var(--radius-md);padding:var(--s-3);background:var(--surface);margin-bottom:var(--s-4)}.label-chip{display:inline-flex;align-items:center;gap:var(--s-1);padding:2px var(--s-2);border-radius:var(--r-full, 9999px);font-size:var(--fs-xs, .75rem);font-weight:var(--fw-medium);border:thin solid transparent;white-space:nowrap}.label-chip.color-0{background:#3b82f61a;color:#3b82f6;border-color:#3b82f633}.label-chip.color-1{background:#10b9811a;color:#10b981;border-color:#10b98133}.label-chip.color-2{background:#8b5cf61a;color:#8b5cf6;border-color:#8b5cf633}.label-chip.color-3{background:#ec48991a;color:#ec4899;border-color:#ec489933}.label-chip.color-4{background:#f59e0b1a;color:#f59e0b;border-color:#f59e0b33}.label-chip.color-5{background:#14b8a61a;color:#14b8a6;border-color:#14b8a633}.remove-label-btn{background:none;border:none;color:inherit;font-size:var(--fs-sm);cursor:pointer;padding:0 2px;display:inline-flex;align-items:center;justify-content:center;opacity:.7;transition:opacity var(--dur) var(--ease)}.remove-label-btn:hover{opacity:1}.labels-chip-picker{border:thin solid var(--border-strong);border-radius:var(--r-md);padding:var(--s-1) var(--s-2);background:var(--surface);min-height:var(--control-h);box-sizing:border-box;display:flex;align-items:center}.labels-chip-picker:focus-within{outline:none;box-shadow:var(--focus)}.label-chips-container{display:flex;flex-wrap:wrap;gap:var(--s-1) var(--s-2);align-items:center;width:100%}.label-input-wrapper{position:relative;flex:1;min-width:100px}.label-input-wrapper input{width:100%;border:none;background:transparent;padding:2px 0;color:var(--text);font:inherit;outline:none}.label-suggestions-dropdown{position:absolute;top:calc(100% + var(--s-1));left:0;z-index:10;background:var(--surface-active);border:thin solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-md);width:200px;max-height:150px;overflow-y:auto;display:flex;flex-direction:column}.suggestion-item{width:100%;text-align:left;border:none;background:transparent;padding:var(--s-2) var(--s-3);font-size:var(--fs-sm);color:var(--text);cursor:pointer;transition:background-color var(--dur) var(--ease)}.suggestion-item:hover{background:var(--surface-hover)}.reminders-list-container{display:flex;flex-direction:column;gap:var(--s-2);width:100%}.active-reminders-list{display:flex;flex-direction:column;gap:var(--s-1)}.reminder-item-row{display:flex;align-items:center;justify-content:space-between;background:var(--surface-hover);border:thin solid var(--border);padding:var(--s-1) var(--s-2);border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--text)}.legacy-reminder-row{border-style:dashed}.btn-clear-reminder{background:none;border:none;color:var(--text-secondary);font-size:var(--fs-md);cursor:pointer;line-height:1}.btn-clear-reminder:hover{color:var(--text)}.no-reminders-placeholder{font-size:var(--fs-sm);color:var(--text-secondary);font-style:italic}.add-reminder-form{display:flex;flex-direction:column;gap:var(--s-2);padding-top:var(--s-2);border-top:thin solid var(--border)}.add-reminder-form select{min-height:var(--control-h);padding:var(--s-1) var(--s-2);border:thin solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text);font:inherit;box-sizing:border-box;min-width:0;max-width:100%}.add-reminder-form select:focus{outline:none;box-shadow:var(--focus)}.absolute-reminder-picker-row,.relative-reminder-picker-row{display:flex;gap:var(--s-2);align-items:center;min-width:0}.absolute-reminder-picker-row>:first-child,.relative-reminder-picker-row>:first-child{flex:1 1 0;min-width:0}.btn-add-reminder-action{background:var(--accent);color:#fff;border:none;padding:var(--s-1) var(--s-3);border-radius:var(--r-md);cursor:pointer;font-weight:var(--fw-medium);transition:opacity var(--dur) var(--ease)}.btn-add-reminder-action:hover{opacity:.9}.btn-add-reminder-action:disabled{opacity:.5;cursor:not-allowed}.cal-slot{height:60px;box-sizing:border-box;padding:0!important}.cal-hour-label-timed{height:60px;box-sizing:border-box}.cal-chip-duration{box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;justify-content:flex-start;white-space:normal!important;overflow:hidden}.cal-chip-resize-handle{position:absolute;bottom:0;left:0;right:0;height:6px;cursor:ns-resize;background:transparent;transition:background-color var(--dur) var(--ease)}.cal-chip-duration:hover .cal-chip-resize-handle{background:var(--accent);opacity:.5}.task-panel-duration{font-weight:var(--fw-medium);color:var(--text);font-size:var(--text-sm)}.subtask-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--s-1)}.subtask-progress-indicator{font-size:var(--fs-sm, .875rem);font-weight:var(--fw-semibold);color:var(--accent);background:#3b82f61a;padding:2px var(--s-2);border-radius:var(--r-md, 4px)}.subtask-progress-bar-container{width:100%;height:6px;background:var(--border);border-radius:var(--r-full, 9999px);overflow:hidden;margin-bottom:var(--s-3)}.subtask-progress-bar-fill{height:100%;background:var(--accent);border-radius:var(--r-full, 9999px);transition:width .3s var(--ease)}.subtask-panel-item{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);background:var(--surface);border:thin solid var(--border);border-radius:var(--r-md);margin-bottom:var(--s-2);transition:background-color var(--dur) var(--ease)}.subtask-panel-item:hover{background:var(--surface-hover)}.subtask-panel-checkbox{background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center}.subtask-panel-checkbox .checkbox-circle{width:16px;height:16px;border:2px solid var(--text-secondary);border-radius:50%;transition:all var(--dur) var(--ease)}.subtask-panel-checkbox.completed .checkbox-circle{border-color:var(--success, #10b981);background:var(--success, #10b981)}.subtask-panel-title{flex:1;font-size:var(--fs-sm);color:var(--text);cursor:pointer;transition:color var(--dur) var(--ease)}.subtask-panel-title.completed{text-decoration:line-through;color:var(--text-secondary);opacity:.6}.subtask-panel-controls{display:flex;align-items:center;gap:var(--s-1)}.subtask-priority-btn,.subtask-order-btn{background:none;border:none;color:var(--text-secondary);padding:2px var(--s-1);font-size:var(--fs-xs, .75rem);cursor:pointer;border-radius:var(--r-sm, 2px);transition:all var(--dur) var(--ease);display:inline-flex;align-items:center;justify-content:center}.subtask-priority-btn:hover,.subtask-order-btn:hover:not(:disabled){background:var(--surface-active);color:var(--text)}.subtask-order-btn:disabled{opacity:.25;cursor:not-allowed}.subtask-due-picker{display:inline-flex;align-items:center}.subtask-due-picker input[type=date]{padding:2px 4px;font-size:var(--fs-xs, .75rem);border:thin solid var(--border);border-radius:var(--r-sm, 2px);background:var(--surface);color:var(--text);width:105px;cursor:pointer}.subtask-progress-bar-row{width:32px;height:4px;background:var(--border);border-radius:var(--r-full, 9999px);overflow:hidden;margin-left:var(--s-2);display:inline-block;vertical-align:middle}.subtask-progress-bar-fill-row{height:100%;background:var(--success, #10b981);border-radius:var(--r-full, 9999px);transition:width .3s var(--ease)}.subtask-count-chip{display:inline-flex;align-items:center;gap:var(--s-1)}@media print{body *{visibility:hidden}[data-testid=task-detail-panel],[data-testid=task-detail-panel] *{visibility:visible}.task-panel-backdrop,.task-panel-head-actions,.task-panel-nav-group,.task-panel-close{display:none!important}[data-testid=task-detail-panel]{position:absolute!important;top:0!important;left:0!important;transform:none!important;width:100%!important;max-width:100%!important;max-height:none!important;overflow:visible!important;border:none!important;box-shadow:none!important;background:#fff!important;color:#000!important}}.sidebar .brand{position:relative;flex-direction:column;align-items:stretch;gap:0;padding:var(--s-1) var(--s-1)}.account-header-trigger{width:100%;border:none;background:transparent;display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-2);border-radius:var(--r-md);cursor:pointer;color:var(--text);font-weight:var(--fw-semibold);font-size:var(--text-md);text-align:left;transition:background-color var(--dur) var(--ease)}.account-header-trigger:hover{background:var(--surface-active)}.account-avatar{width:24px;height:24px;border-radius:50%;background:var(--accent);color:var(--accent-fg);font-size:var(--text-xs);font-weight:var(--fw-bold);display:flex;align-items:center;justify-content:center;flex-shrink:0}.account-space-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-header-trigger .chevron-icon{transition:transform var(--dur) var(--ease);color:var(--text-secondary);flex-shrink:0}.account-header-trigger[aria-expanded=true] .chevron-icon{transform:rotate(180deg)}.account-dropdown{position:absolute;top:100%;left:var(--s-2);right:var(--s-2);z-index:1000;background:var(--surface);border:thin solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-pop);padding:var(--s-3);display:flex;flex-direction:column;gap:var(--s-3)}.sync-status-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-xs);padding:0 var(--s-1);color:var(--text-secondary)}.sync-status-detail{display:flex;align-items:center;gap:var(--s-1);flex-wrap:wrap;justify-content:flex-end}.sync-status-text{font-weight:var(--fw-medium);text-transform:capitalize}.sync-storage-risk{display:inline-flex;align-items:center;gap:var(--s-1);color:var(--warning);background:var(--warning-subtle);border-radius:var(--r-full);padding:0 var(--s-2);font-weight:var(--fw-semibold)}.account-menu-item{width:100%;min-height:34px;border:none;border-top:thin solid var(--border);background:transparent;color:var(--text-secondary);display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-1) 0;font-size:var(--text-sm);font-weight:var(--fw-medium);text-align:left;cursor:pointer;transition:color var(--dur) var(--ease)}.account-menu-item:hover{color:var(--text)}.account-menu-item:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--r-md)}.side-quick-add-section{padding:0 var(--s-2);margin:var(--s-1) 0}.side-add-task-cta{width:100%;height:32px;border:none;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;gap:var(--s-2);font-size:var(--text-sm);font-weight:var(--fw-semibold);cursor:pointer;transition:background-color var(--dur) var(--ease)}.side-add-task-cta:hover{background:color-mix(in srgb,var(--accent) 16%,transparent)}.side-quick-add-container{display:flex;align-items:center;width:100%}.sidebar-quick-add{width:100%;height:32px;border:thin solid var(--accent);border-radius:var(--r-md);background:var(--surface);color:var(--text);padding:0 var(--s-3);font-size:var(--text-sm);box-sizing:border-box}.sidebar-quick-add:focus{outline:none;box-shadow:var(--focus)}.side-head-collapsible{display:flex;align-items:center;width:100%;border:none;background:transparent;cursor:pointer;text-align:left;font-size:var(--text-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);padding:var(--s-4) var(--s-2) var(--s-1);gap:var(--s-1)}.side-head-collapsible:hover{color:var(--text-secondary)}.side-head-collapsible .chevron-icon{transition:transform var(--dur) var(--ease);color:var(--text-tertiary);flex-shrink:0}.side-head-collapsible .chevron-icon.collapsed{transform:rotate(-90deg)}.nav-shortcut-hint{opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease);display:flex;gap:2px;align-items:center;margin-left:auto}.side-item:hover .nav-shortcut-hint,.side-item:focus-within .nav-shortcut-hint{opacity:.7}.side-item:hover .badge,.side-item:focus-within .badge{display:none!important}@media(min-width:640px)and (max-width:899px){.sidebar .brand{padding:var(--s-1) 0}.account-header-trigger{padding:0;justify-content:center}.account-space-name,.account-header-trigger .chevron-icon{display:none!important}.account-dropdown{left:var(--s-1);right:auto;width:260px;top:45px}.side-quick-add-section{padding:0;display:flex;justify-content:center}.side-add-task-cta{width:32px;height:32px;padding:0;border-radius:50%}.side-add-task-cta span{display:none!important}.side-head-collapsible{padding:var(--s-2) 0;justify-content:center;border-top:thin solid var(--border);margin-top:var(--s-2)}.nav-shortcut-hint{display:none!important}}.brand-header-row{display:flex;align-items:center;gap:var(--s-1);width:100%}.brand-header-row .account-header-trigger{flex:1;min-width:0}.attention-bell-btn{position:relative;background:transparent;border:none;cursor:pointer;padding:var(--s-2);border-radius:var(--r-md);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}.attention-bell-btn:hover{background-color:var(--surface-hover)}.attention-bell-btn.active{color:var(--accent)}.attention-badge{position:absolute;top:2px;right:2px;background-color:var(--danger);color:#fff;font-size:9px;font-weight:var(--fw-bold);border-radius:50%;min-width:14px;height:14px;padding:0 2px;display:flex;align-items:center;justify-content:center;line-height:1}.attention-dropdown{max-height:400px;overflow-y:auto}.attention-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--s-2);border-bottom:1px solid var(--border);padding-bottom:var(--s-2)}.attention-header-title{font-weight:var(--fw-semibold);font-size:var(--text-md);color:var(--text)}.attention-header-status{font-size:var(--text-xs);color:var(--success)}.attention-groups{display:flex;flex-direction:column;gap:var(--s-3)}.attention-group{display:flex;flex-direction:column}.attention-group-title{font-size:var(--text-xs);font-weight:var(--fw-bold);margin-bottom:var(--s-1);text-transform:uppercase;letter-spacing:.05em}.attention-group-overdue .attention-group-title{color:var(--danger)}.attention-group-today .attention-group-title{color:var(--warning)}.attention-group-money .attention-group-title{color:var(--accent)}.attention-group-reminders .attention-group-title{color:var(--text-secondary)}.attention-group-storage .attention-group-title{color:var(--warning)}.attention-items-list{display:flex;flex-direction:column;gap:var(--s-1)}.attention-item{padding:var(--s-2);border-radius:var(--r-sm);background:var(--surface-hover);cursor:pointer;font-size:var(--text-sm);color:var(--text)}.attention-item-interactive{display:flex;justify-content:space-between;align-items:center}.attention-item-content{flex:1;min-width:0;padding-right:var(--s-1)}.attention-item-title,.attention-item-overdue-title{font-weight:var(--fw-medium)}.attention-item-overdue-date,.attention-item-overspent-detail{font-size:var(--text-xs);color:var(--danger)}.attention-item-unfunded-detail{font-size:var(--text-xs);color:var(--text-secondary)}.attention-item-reminder-meta{font-size:var(--text-xs);color:var(--text-tertiary)}.attention-storage-item{cursor:default}.attention-item-storage-detail{margin-top:var(--s-1);font-size:var(--text-xs);color:var(--text-secondary)}.attention-storage-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-1);margin-top:var(--s-2)}.attention-action-btn{min-height:32px;border:thin solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text);padding:0 var(--s-2);font-size:var(--text-xs);font-weight:var(--fw-semibold);cursor:pointer}.attention-action-btn:hover:not(:disabled){background:var(--surface-active)}.attention-action-btn:focus-visible{outline:none;box-shadow:var(--focus)}.attention-action-btn:disabled{cursor:not-allowed;opacity:.6}.dismiss-reminder-btn{background:transparent;border:none;cursor:pointer;padding:var(--s-1);border-radius:var(--r-sm);color:var(--text-secondary);display:flex;align-items:center;justify-content:center}.dismiss-reminder-btn:hover{background-color:var(--surface-active)}.attention-empty-state{padding:var(--s-4) var(--s-2);text-align:center;color:var(--text-secondary);font-size:var(--text-sm)}.version-info{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:var(--s-2);display:flex;gap:var(--s-1);align-items:center;padding-left:var(--s-2)}.version-info a{color:var(--text-secondary);text-decoration:underline}.sw-update-btn{background:var(--success-subtle);color:var(--success);font-weight:var(--fw-bold);border:1px solid var(--success)}.dnd-task-shell{display:flex;align-items:center;gap:var(--s-2);cursor:grab}.dnd-task-shell:active{cursor:grabbing}.dnd-task-shell:hover,.dnd-task-shell:focus-within{background:var(--surface-hover)}.dnd-task-shell .task-row{flex:1;min-width:0}.dnd-handle{color:var(--text-tertiary);cursor:grab;flex-shrink:0;font-size:var(--text-sm);letter-spacing:-3px;line-height:var(--lh-base);padding:0 var(--s-1);user-select:none}.task-drop-zone{min-height:2px}.board-card:hover,.board-card:focus-visible{border-color:var(--border-strong)}.board-card:focus-visible{outline:none;box-shadow:var(--focus)}.subtask-count-chip{display:inline-flex;align-items:center;justify-content:center;min-height:var(--s-5);padding:0 var(--s-2);border:thin solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text-secondary);font:inherit;font-size:var(--text-xs);line-height:var(--lh-xs);cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.subtask-count-chip:hover,.subtask-count-chip:focus-visible{background:var(--surface-hover);border-color:var(--accent);color:var(--accent)}.subtask-count-chip:focus-visible{outline:none;box-shadow:var(--focus)}.subtask-list{display:flex;flex-direction:column;gap:var(--s-2);margin-left:var(--s-6);padding-left:var(--s-3);border-left:thin solid var(--border)}.subtask-row{background:var(--surface)}.subtask-panel-list{display:flex;flex-direction:column;gap:var(--s-2);margin-bottom:var(--s-3)}.subtask-panel-item{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);min-height:var(--s-6);padding:0 var(--s-2);border:thin solid var(--border);border-radius:var(--r-md);color:var(--text)}.subtask-panel-status{flex:0 0 auto;color:var(--text-tertiary);font-size:var(--text-xs);line-height:var(--lh-xs)}.subtask-add-row{display:flex;gap:var(--s-2)}.subtask-add-row input{flex:1 1 auto;min-width:0;min-height:var(--s-6);padding:0 var(--s-2);border:thin solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text);font:inherit}.subtask-add-row input:focus{outline:none;box-shadow:var(--focus)}.subtask-add-row button{flex:0 0 auto;min-height:var(--s-6);padding:0 var(--s-3);border:thin solid var(--accent);border-radius:var(--r-md);background:var(--accent);color:var(--accent-fg);font:inherit;font-size:var(--text-sm);line-height:var(--lh-sm);font-weight:600;cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.subtask-add-row button:hover:not(:disabled),.subtask-add-row button:focus-visible:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.subtask-add-row button:focus-visible{outline:none;box-shadow:var(--focus)}.subtask-add-row button:disabled{border-color:var(--border);background:var(--surface-active);color:var(--text-tertiary);cursor:default}.check{width:16px;height:16px;border-radius:var(--r-full);border:1.5px solid var(--border-strong);padding:0;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:transparent;cursor:pointer;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.task-row[data-priority="1"] .check{border-color:var(--p1);background:color-mix(in srgb,var(--p1) 12%,transparent)}.task-row[data-priority="2"] .check{border-color:var(--p2);background:color-mix(in srgb,var(--p2) 12%,transparent)}.task-row[data-priority="3"] .check{border-color:var(--p3);background:color-mix(in srgb,var(--p3) 12%,transparent)}.check.done,.task-row.done .check{background:var(--surface-active)!important;border-color:var(--border-strong)!important;color:var(--text-tertiary)!important}.sidebar{width:var(--sidebar-width)!important;background:var(--surface)!important;padding:var(--s-3) var(--s-2)!important;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:var(--s-1)}.side-item{height:34px!important;padding:0 var(--s-2)!important;border-radius:var(--r-md);font-size:var(--text-sm)!important;color:var(--text-secondary);gap:var(--s-2);border-left:2px solid transparent!important;display:flex;align-items:center;justify-content:flex-start;width:100%;background:transparent;border:none;cursor:pointer;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),border-left-color var(--dur) var(--ease)}.side-item:hover{background:var(--surface-hover)!important;color:var(--text)!important}.side-item.active{background:var(--accent-subtle)!important;color:var(--accent)!important;font-weight:500!important;border-left-color:var(--accent)!important}.badge{background:var(--surface-active);color:var(--text-secondary);font-size:var(--text-xs);font-weight:500;padding:1px var(--s-2);border-radius:var(--r-full);min-width:18px;text-align:center;margin-left:auto;line-height:var(--lh-sm)}.side-item.active .badge{background:var(--accent)!important;color:var(--accent-fg)!important}.side-head{font-size:10px!important;font-weight:600!important;letter-spacing:.08em!important;text-transform:uppercase;color:var(--text-tertiary);padding:var(--s-4) var(--s-2) var(--s-1)!important;margin-top:var(--s-2)}.global-search{position:relative;width:100%;margin-bottom:var(--s-2)}.global-search .search-icon{position:absolute;left:var(--s-2);top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.global-search input{width:100%;padding-left:28px!important;background:var(--surface-hover)!important;border:1px solid transparent!important;border-radius:var(--r-md);height:34px;font-size:var(--text-sm);color:var(--text);outline:none;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.global-search input:focus{background:var(--surface)!important;border-color:var(--border-strong)!important}.add-project-container{position:relative;display:flex;align-items:center;width:100%;height:34px}.add-project-container .side-add-project-plus{position:absolute;left:var(--s-2);color:var(--text-tertiary);pointer-events:none}.add-project-container .side-input{width:100%;padding-left:28px!important;height:34px;font-size:var(--text-sm);border-radius:var(--r-md);border:1px solid transparent;outline:none;background:transparent;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.add-project-container .side-input:focus{background:var(--surface);border-color:var(--border-strong)}.side-add{height:34px!important;font-size:var(--text-sm)!important;color:var(--text-secondary)!important;display:flex;align-items:center;gap:var(--s-2);width:100%;padding:0 var(--s-2)!important;background:transparent;border:none;cursor:pointer;border-radius:var(--r-md)}.side-add:hover{background:var(--surface-hover)!important;color:var(--text)!important}.side-add .side-icon{display:flex;align-items:center}.theme-switcher{box-sizing:border-box;display:flex;width:100%;gap:var(--s-1);padding:var(--s-2) var(--s-2) 0!important;border-top:1px solid var(--border);margin-top:auto}.theme-btn{flex:1;height:30px!important;border:1px solid transparent;border-radius:var(--r-md);background:none;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.theme-btn:hover{background:var(--surface-hover);color:var(--text)}.theme-btn.active{background:var(--surface-active);color:var(--text);border-color:var(--border-strong)}.task-row{border-left:3px solid transparent!important;min-height:44px}.task-row[data-priority="1"]{border-left-color:var(--p1)!important}.task-row[data-priority="2"]{border-left-color:var(--p2)!important}.task-row[data-priority="3"]{border-left-color:var(--p3)!important}.task-row.selected{background:var(--accent-subtle)!important;border-left-color:var(--accent)!important}.task-actions{opacity:0;display:flex;gap:var(--s-1);align-items:center;transition:opacity var(--dur) var(--ease)}.task-row:hover .task-actions,.task-row.selected .task-actions{opacity:1}.task-actions button{border:none;background:transparent;color:var(--text-secondary);cursor:pointer;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-sm);transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}.task-actions button:hover{background:var(--surface-active);color:var(--text)}.view-head{position:sticky;top:0;z-index:2;background:color-mix(in srgb,var(--bg) 80%,transparent)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:var(--s-4) 0 var(--s-3)!important;border-bottom:thin solid var(--border);margin-bottom:var(--s-4)}.view-title{font-size:var(--text-lg);font-weight:600;margin:0}.display-options-button{display:inline-flex;align-items:center;gap:var(--s-2);border:1px solid var(--border-strong)!important;border-radius:var(--r-full)!important;padding:3px var(--s-3)!important;font-size:var(--text-sm)!important;background:var(--surface);color:var(--text-secondary);cursor:pointer;height:auto!important;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}.display-options-button:hover{background:var(--surface-hover);color:var(--text)}.quick-capture-wrap{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3)!important;border:1px solid var(--border)!important;border-radius:var(--r-lg)!important;background:var(--surface);margin-bottom:var(--s-4);cursor:text;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.quick-capture-wrap:focus-within{border-color:var(--accent)!important;box-shadow:var(--focus)!important}.quick-capture-icon{color:var(--text-tertiary);flex-shrink:0}.quick-capture{border:none!important;outline:none!important;flex:1;background:transparent!important;padding:0!important;margin:0!important;box-shadow:none!important}.subtask-count-chip{display:inline-flex;align-items:center;gap:2px}.subtask-count-chip span{font-size:var(--text-xs)}@media(min-width:640px)and (max-width:899px){.sidebar{width:var(--sidebar-collapsed-width)!important;padding:var(--s-4) var(--s-1)!important;align-items:center;gap:var(--s-2)}.brand{font-size:0;padding:var(--s-1) 0 var(--s-4);justify-content:center}.brand .sync{margin:0}.global-search{width:100%;display:flex;justify-content:center}.global-search input,.global-search button:not(.side-search-btn),.global-search .search-icon{display:none!important}.side-search-btn{display:flex!important;justify-content:center;align-items:center;width:36px;height:36px;background:transparent;border:none;font-size:var(--text-md);cursor:pointer;border-radius:var(--r-md);color:var(--text-secondary)}.side-search-btn:hover{background:var(--surface-hover);color:var(--text)}.side-head{display:none!important}.side-item{justify-content:center!important;padding:0!important;width:36px;height:36px!important;position:relative}.side-item .side-icon{display:flex;justify-content:center;align-items:center}.side-item .side-label{display:none}.side-item:not([data-testid^=nav-project]) .badge{display:none!important}.side-item[data-testid^=nav-project] .badge{position:absolute;top:-2px;right:-2px;background:var(--accent);color:var(--accent-fg);font-size:9px;font-weight:600;padding:0 4px;border-radius:var(--r-sm);line-height:12px;margin-left:0;min-width:auto}.side-item[data-testid^=nav-project].active .badge{background:var(--accent-hover)!important}.side-add{justify-content:center!important;width:36px;height:36px!important;padding:0!important}.side-add .side-icon{display:flex;justify-content:center;align-items:center}.side-add .side-label{display:none}.side-form{display:none!important}.add-project-container{width:100%;display:flex;justify-content:center}.add-project-container .side-input,.add-project-container .side-add-project-plus{display:none!important}.side-add-project-btn{display:flex!important;justify-content:center;align-items:center;width:36px;height:36px;background:transparent;border:none;font-size:var(--text-md);cursor:pointer;border-radius:var(--r-md);color:var(--text-secondary)}.side-add-project-btn:hover{background:var(--surface-hover);color:var(--text)}.sidebar-footer{width:100%;display:flex;justify-content:center;border-top:none;padding-top:0;margin-top:auto}.theme-switcher{background:transparent!important;padding:0!important;border-top:none}.theme-switcher button:not(.theme-cycle-btn){display:none!important}.theme-cycle-btn{display:flex!important;justify-content:center;align-items:center;width:36px;height:36px;border:none;background:transparent;cursor:pointer;border-radius:var(--r-md);color:var(--text-secondary)}.theme-cycle-btn:hover{background:var(--surface-hover);color:var(--text)}}@media(max-width:639px){.hamburger-btn{display:flex!important;position:fixed;top:var(--s-4);left:var(--s-3);width:32px;height:32px;background:transparent;border:none;cursor:pointer;z-index:100;color:var(--text);align-items:center;justify-content:center}.sidebar-backdrop{position:fixed;inset:0;background:#0006;z-index:999;backdrop-filter:blur(1px)}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-mobile-width)!important;z-index:var(--z-overlay);transform:translate(-100%);transition:transform var(--dur) var(--ease);background:var(--surface)!important;box-shadow:var(--shadow-pop)}.sidebar.mobile-open{transform:translate(0)}.main{padding:var(--s-5) var(--s-3) var(--s-3) var(--s-3);max-width:none}.view-head{padding-left:36px!important;position:relative;align-items:center}.view-title{font-size:var(--text-md)!important}.task-actions{display:none!important}}.onboarding-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100vw;background:var(--bg);padding:var(--s-4);box-sizing:border-box}.onboarding-card{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-lg);padding:var(--s-6);max-width:680px;width:100%;box-shadow:var(--shadow-pop);animation:fadeIn .3s var(--ease)}.onboarding-card h1{font-size:var(--text-xl);line-height:var(--lh-xl);margin-top:0;margin-bottom:var(--s-2);color:var(--text);font-weight:600;letter-spacing:-.02em}.onboarding-card .subtitle{font-size:var(--text-base);line-height:var(--lh-base);color:var(--text-secondary);margin-bottom:var(--s-5)}.onboarding-warning{background:var(--warning-subtle);border-left:4px solid var(--warning);color:var(--warning);padding:var(--s-3) var(--s-4);border-radius:var(--r-sm);font-size:var(--text-sm);line-height:var(--lh-sm);margin-bottom:var(--s-5)}.phrase-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-2);margin-bottom:var(--s-6)}@media(max-width:600px){.phrase-grid{grid-template-columns:repeat(2,1fr)}}.phrase-word{display:flex;align-items:center;gap:var(--s-2);background:var(--surface-hover);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-2) var(--s-3);font-family:var(--font-mono);font-size:var(--text-base);transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.phrase-word:hover{border-color:var(--accent);background:var(--surface)}.word-index{color:var(--text-tertiary);font-size:var(--text-xs);user-select:none;min-width:16px;text-align:right}.word-text{color:var(--text);font-weight:500}.error-message{background:var(--danger-subtle);color:var(--danger);border:1px solid var(--danger);padding:var(--s-3);border-radius:var(--r-md);font-size:var(--text-sm);line-height:var(--lh-sm);margin-bottom:var(--s-4)}.form-group{display:flex;flex-direction:column;gap:var(--s-2);margin-bottom:var(--s-5)}.form-group label{font-size:var(--text-sm);font-weight:600;color:var(--text-secondary)}.form-group input{height:var(--control-h);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);color:var(--text);font:var(--text-base) var(--font-sans);padding:0 var(--s-3);outline:none;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.form-group input:focus{border-color:var(--accent);box-shadow:var(--focus)}.phrase-textarea{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);color:var(--text);font-family:var(--font-mono);font-size:var(--text-base);padding:var(--s-3);resize:none;outline:none;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.phrase-textarea:focus{border-color:var(--accent);box-shadow:var(--focus)}.btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 var(--s-5);border-radius:var(--r-md);font-size:var(--text-base);font-weight:600;cursor:pointer;border:none;transition:background var(--dur) var(--ease),transform var(--dur) var(--ease);margin-right:var(--s-2);margin-bottom:var(--s-2)}.btn-primary{background:var(--accent);color:var(--accent-fg)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--surface);border:1px solid var(--border);color:var(--text)}.btn-secondary:hover:not(:disabled){background:var(--surface-hover)}.btn:disabled{opacity:.6;cursor:not-allowed}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--s-6)}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:var(--s-4)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}
