@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/plus-jakarta-sans-latin-400-normal-Dhut76fR.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-400-normal-BDKaGhyp.woff) format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/plus-jakarta-sans-latin-500-normal-Bf-nb4oT.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-500-normal-DYtqi0QS.woff) format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/plus-jakarta-sans-latin-600-normal-DLTa1BUW.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-600-normal-BR_Ojra4.woff) format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/plus-jakarta-sans-latin-700-normal-CfpNZvy6.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-700-normal-DqEcQeE5.woff) format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/outfit-latin-600-normal-B7SfZ07L.woff2) format("woff2"),url(/assets/outfit-latin-600-normal-BEfTtDA7.woff) format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/outfit-latin-700-normal-Cu9v6i1X.woff2) format("woff2"),url(/assets/outfit-latin-700-normal-D4itBLBr.woff) format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/outfit-latin-800-normal-CQna6-G7.woff2) format("woff2"),url(/assets/outfit-latin-800-normal-BRHLSPcU.woff) format("woff")}:root{--bg-app: #0c0c0e;--bg-sidebar: #121214;--bg-drawer: var(--bg-sidebar);--bg-surface: #1d1d21;--bg-surface-hover: #2c2c31;--accent: rgb(var(--accent-rgb));--accent-soft: rgba(var(--accent-rgb), .1);--claude: #d97757;--claude-soft: rgba(217, 119, 87, .12);--claude-border: rgba(217, 119, 87, .3);--danger: #f43f5e;--off-budget: #e5b23a;--off-budget-soft: rgba(229, 178, 58, .12);--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--text-body: #e2e8f0;--fg-rgb: 255, 255, 255;--scheme: dark;--overlay: rgba(0, 0, 0, .6);--inset: rgba(0, 0, 0, .2);--border: rgba(var(--fg-rgb), .09);--border-focus: rgba(var(--accent-rgb), .4);--radius-lg: 16px;--radius-md: 12px;--radius-sm: 8px;--font-main: "Plus Jakarta Sans", sans-serif;--font-display: "Outfit", sans-serif}:root[data-theme=light]{--bg-app: #fcfbfa;--bg-sidebar: #fcfbfa;--bg-drawer: #fafaf8;--bg-surface: #ffffff;--bg-surface-hover: #f3f1ed;--claude: #c6613f;--claude-soft: rgba(198, 97, 63, .1);--claude-border: rgba(198, 97, 63, .35);--danger: #e11d48;--off-budget: #b7791f;--off-budget-soft: rgba(183, 121, 31, .12);--text-primary: #141413;--text-secondary: #5e5d59;--text-muted: #87867f;--text-body: #3d3d3a;--fg-rgb: 20, 20, 19;--border: rgba(20, 20, 19, .1);--scheme: light;--overlay: rgba(20, 20, 19, .3);--inset: rgba(20, 20, 19, .04)}:root,:root[data-accent=teal]{--accent-rgb: 43, 179, 163;--on-accent: #06201d;--success: #84cc16}:root[data-accent=indigo]{--accent-rgb: 99, 102, 241;--on-accent: #ffffff;--success: #22c55e}:root[data-accent=ink]{--accent-rgb: 79, 140, 240;--on-accent: #ffffff;--success: #22c55e}:root[data-accent=sage]{--accent-rgb: 143, 185, 150;--on-accent: #0f1a12;--success: #22c55e}*{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased}input::-ms-reveal,input::-ms-clear,input::-webkit-contacts-auto-fill-button,input::-webkit-credentials-auto-fill-button{display:none!important}body{background-color:var(--bg-app);color:var(--text-primary);font-family:var(--font-main);height:100dvh;overflow:hidden}.app-layout{display:flex;height:100dvh;width:100vw;overflow:hidden}.sidebar{width:380px;height:100%;max-height:100vh;background-color:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;transition:transform .3s ease;overflow:hidden;overflow-x:hidden}.sidebar-header{padding:32px 24px 24px;display:flex;align-items:center;justify-content:space-between;max-height:160px;transition:max-height .2s ease,padding .2s ease,opacity .15s ease}.sidebar-header.folded{max-height:0;padding-top:0;padding-bottom:0;opacity:0;overflow:hidden;pointer-events:none}.brand{display:flex;align-items:center;gap:12px}.brand-icon{width:32px;height:32px;background:var(--accent);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;box-shadow:0 0 20px rgba(var(--accent-rgb),.2);overflow:hidden}.brand-icon img{transform:scale(1.12)}.brand-name{font-family:var(--font-display);font-size:1.4rem;font-weight:800;color:var(--text-primary)}.search-box{padding:0 20px 20px}.search-input-wrapper{position:relative;width:100%;box-sizing:border-box;display:flex;align-items:center;gap:10px;padding:0 12px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);transition:all .2s;min-height:44px}.search-input-wrapper:focus-within{border-color:var(--accent);background:var(--bg-surface-hover);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1)}.search-input-wrapper svg{flex-shrink:0;color:var(--text-muted)}.input-field{display:block;flex:1;width:100%;padding:10px 0;background:transparent;border:none;color:var(--text-primary);outline:none;font-size:.9rem}.input-field:focus{background:transparent}.note-list{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 4px 20px;min-height:0}.search-tags-container{display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 16px;max-height:120px;overflow-y:auto}.search-tag-chip{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);padding:6px 12px;border-radius:20px;font-size:.75rem;font-weight:500;display:flex;align-items:center;gap:6px;cursor:pointer;transition:all .2s}.search-tag-chip:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.search-tag-chip.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent);box-shadow:0 0 15px rgba(var(--accent-rgb),.2)}.note-card{padding:16px;border-radius:var(--radius-md);margin-bottom:4px;cursor:pointer;transition:all .2s;border:1px solid transparent}.note-card:hover{background:var(--bg-surface)}.note-card.active{background:var(--accent-soft);border-color:rgba(var(--accent-rgb),.2)}.note-title{font-weight:600;font-size:.95rem;margin-bottom:4px;color:var(--text-primary)}.note-preview{font-size:.8rem;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}.sidebar-footer{padding:20px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.main-area{flex:1;min-width:0;background-color:var(--bg-app);display:flex;flex-direction:column}.editor-navbar{padding:12px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.nav-left{display:flex;align-items:center;gap:16px;flex:1;min-width:0}.nav-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.note-title-editor{background:transparent;border:none;color:var(--text-primary);font-size:1.5rem;font-weight:700;font-family:var(--font-display);outline:none;width:100%}.writing-area{flex:1;padding:4px 12px;overflow-y:auto;position:relative}.textarea-editor{width:100%;height:100%;min-height:400px;background:transparent;border:none;resize:none;color:var(--text-body);font-family:var(--font-main);font-size:1.15rem;line-height:1.8;outline:none}.editor-toolbar{display:flex;align-items:center;gap:8px;padding:6px 24px;background:var(--bg-app);border-bottom:1px solid var(--border);z-index:10;width:100%;flex-wrap:wrap;overflow:visible;flex-shrink:0;scrollbar-width:none;-webkit-overflow-scrolling:touch}.editor-toolbar::-webkit-scrollbar{display:none}.editor-toolbar button{background:transparent;border:none;color:var(--text-secondary);padding:8px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.editor-toolbar button:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.editor-toolbar button.active{background:var(--accent-soft);color:var(--accent)}.toolbar-divider{width:1px;height:24px;background:var(--border);margin:0 8px;flex-shrink:0}.color-picker-wrapper{position:relative;display:flex;align-items:center}.color-picker-wrapper input[type=color]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%}.html-renderer.is-editing{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:8px 16px!important;cursor:text;min-height:500px}.html-renderer.is-editing:empty:before{content:"Inizia a scrivere...";color:var(--text-muted);pointer-events:none}.html-renderer{color:var(--text-body);font-family:var(--font-main);font-size:1.15rem;line-height:1.8;cursor:text;min-height:100%;overflow-wrap:anywhere}.html-renderer a{color:var(--accent);text-decoration:underline}.html-renderer img{max-width:100%;height:auto;border-radius:var(--radius-sm)}.html-renderer blockquote{border-left:4px solid var(--accent-soft);padding-left:20px;margin:20px 0;font-style:italic;color:var(--text-secondary)}.html-renderer table{border-collapse:collapse;width:100%;margin:20px 0}.html-renderer th,.html-renderer td{border:1px solid var(--border);padding:12px;text-align:left}.html-renderer th{background:var(--bg-surface)}.editor-footer{padding:12px 24px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:12px;font-size:.75rem;color:var(--text-muted)}.btn-action{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);padding:8px 12px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;gap:8px;font-size:.85rem;transition:all .2s}.btn-action:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.btn-action.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.btn-primary{background:var(--accent);color:var(--on-accent);border:none;font-weight:600;padding:10px 24px}.btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px)}.btn-google{transition:all .2s!important;box-shadow:0 1px 3px #0000001a}.btn-google:hover{filter:brightness(.95);transform:translateY(-1px);box-shadow:0 4px 12px #00000026!important}.btn-google:active{transform:translateY(0)}.btn-danger{color:var(--danger);border-color:#f43f5e33}.btn-danger:hover{background:#f43f5e1a;border-color:var(--danger)}@media(max-width:768px){.sidebar{position:absolute;width:100%;z-index:200}.sidebar.collapsed{transform:translate(-100%)}.editor-navbar{padding:8px 12px;gap:8px}.nav-left{gap:8px;min-width:0;flex:1}.nav-right{gap:4px}.note-title-editor{font-size:1.1rem;min-width:0}.btn-action{padding:6px 8px}.editor-toolbar{padding:8px 12px;gap:6px;justify-content:center}.writing-area{padding:12px;width:100%;max-width:100vw;overflow-x:hidden}.html-renderer.is-editing{padding:12px!important}.editor-footer{padding:12px 16px;gap:8px}.tag-manager{gap:4px}.tag-badge{padding:2px 6px;font-size:.7rem}.tag-input{width:80px}}.welcome-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px;overflow-y:auto}.auth-container{width:100vw;height:100dvh;display:flex;align-items:center;justify-content:center;background-color:var(--bg-app);padding:20px}.auth-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:0 20px 50px #0006;overflow:hidden;animation:modalEnter .4s cubic-bezier(.4,0,.2,1)}@keyframes modalEnter{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.auth-header{padding:40px 32px 10px}.welcome-icon{width:120px;height:120px;background:var(--accent-soft);color:var(--accent);border-radius:32px;display:flex;align-items:center;justify-content:center;margin-bottom:32px;box-shadow:0 20px 40px #0003;border:1px solid rgba(var(--accent-rgb),.2)}.tree-container{padding:0 12px}.tree-item{margin-bottom:2px}.folder-header{display:flex;align-items:center;gap:8px;padding:8px 4px 8px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;color:var(--text-secondary)}.folder-header:hover{background:var(--bg-surface);color:var(--text-primary)}.folder-header .chevron{transition:transform .2s;color:var(--text-muted)}.folder-header.expanded .chevron{transform:rotate(90deg)}.folder-content{margin-left:20px;border-left:1px solid var(--border);padding-left:4px}.tree-note{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;color:var(--text-secondary);transition:all .2s}.tree-note:hover{background:var(--bg-surface);color:var(--text-primary)}.tree-note.active{background:var(--accent-soft);color:var(--accent);font-weight:500}.tree-note .delete-btn{opacity:0;transition:all .2s;color:var(--text-muted);flex-shrink:0}@media(max-width:768px){.tree-note .delete-btn{opacity:.8;padding:10px}}.tree-note:hover .delete-btn,.tree-note.active .delete-btn{opacity:1}.tree-note .delete-btn:hover{color:var(--danger)!important;background:#f43f5e1a}.toolbar-dropdown{background:var(--bg-surface)!important;border:1px solid var(--border)!important;box-shadow:0 10px 25px #00000080!important}.toolbar-dropdown .menu-item{padding:10px 16px!important}.tree-note .note-preview{overflow:hidden;text-overflow:ellipsis;max-width:100%}.note-updated-at{font-size:.65rem;color:var(--text-muted);opacity:.7;white-space:nowrap;font-weight:500}.folder-actions{margin-left:auto;display:flex;gap:4px;opacity:0;transition:opacity .2s}.btn-icon-sm{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s;min-width:28px;min-height:28px}.folder-actions{display:flex;align-items:center;gap:4px;margin-left:auto;opacity:.5;transition:opacity .2s}.folder-header:hover .folder-actions{opacity:1}.btn-icon-sm:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:420px;padding:32px;box-shadow:0 20px 50px #0006}.modal-title{font-family:var(--font-display);font-size:1.5rem;font-weight:700;margin-bottom:24px;color:var(--text-primary)}.modal-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:32px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(var(--accent-rgb),.4);border:1px solid transparent;background-clip:padding-box;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:rgba(var(--accent-rgb),.6);background-clip:padding-box}*{scrollbar-width:thin;scrollbar-color:rgba(var(--accent-rgb),.3) transparent}.tag-manager{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.tag-badge{background:var(--accent-soft);color:var(--accent);padding:4px 10px;border-radius:6px;display:flex;align-items:center;gap:6px;font-weight:500;font-size:.8rem;transition:all .2s;border:1px solid rgba(var(--accent-rgb),.1)}.tag-badge:hover{background:rgba(var(--accent-rgb),.15)}.tag-badge.tag-claude{background:var(--claude-soft);color:var(--claude);border-color:var(--claude-border)}.tag-badge.tag-claude:hover{background:#d9775733}.search-tag-chip.tag-claude{color:var(--claude)}.search-tag-chip.tag-claude.active{background:var(--claude-soft);border-color:var(--claude);box-shadow:0 0 15px #d9775733}.budget-chip.tag-claude{color:var(--claude);border-color:var(--claude-border)}.budget-chip.tag-claude.on{background:var(--claude);border-color:var(--claude);color:#fff}.budget-tags-selected .budget-chip.tag-claude.on{box-shadow:0 2px 8px #d9775759}.tag-remove{cursor:pointer;opacity:.6;display:flex;align-items:center;justify-content:center;transition:opacity .2s}.tag-remove:hover{opacity:1;color:var(--danger)}.tag-input-container{display:flex;align-items:center;gap:6px;background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;padding:4px 10px;transition:all .2s}.tag-input-container:focus-within{border-color:var(--accent);background:var(--bg-surface-hover)}.tag-input{background:transparent;border:none;outline:none;color:var(--text-primary);font-size:.8rem;width:100px;min-width:60px}.custom-date-container{position:relative;display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;background:var(--bg-surface);border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s;min-height:28px;color:var(--text-muted);font-size:.8rem;font-weight:500}.custom-date-container:hover,.custom-date-container:focus-visible{border-color:var(--accent);background:var(--bg-surface-hover);color:var(--text-secondary)}.custom-date-container.has-date{background:var(--accent-soft);border-color:rgba(var(--accent-rgb),.2);color:var(--accent)}.custom-date-label{white-space:nowrap;pointer-events:none}.custom-date-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;border:none;background:transparent;color-scheme:var(--scheme)}.custom-date-input::-webkit-calendar-picker-indicator{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:pointer}.custom-date-clear{position:relative;z-index:2;flex-shrink:0}.gcal-popover{position:absolute;bottom:calc(100% + 8px);left:0;width:240px;max-width:calc(100vw - 32px);display:flex;flex-direction:column;gap:10px;padding:12px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 10px 30px #00000080;z-index:100}@media(max-width:768px){.gcal-popover{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));width:auto;max-width:none;z-index:1000}}.gcal-popover-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.8rem;color:var(--text-secondary)}.gcal-input{padding:4px 6px;border-radius:6px;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);font:inherit;font-size:.8rem;color-scheme:var(--scheme)}.gcal-input:disabled{opacity:.5}.gcal-popover-hint{font-size:.72rem;color:var(--text-muted)}.gcal-inline-wrap{display:flex;flex-direction:column;gap:8px}.gcal-inline-wrap .gcal-chip,.gcal-chip:only-child{align-self:flex-start}.gcal-panel{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm)}.links-section{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm)}.links-popover{width:320px;max-height:min(70vh,480px);overflow-y:auto}@media(max-width:768px){.links-popover{width:auto}}.links-header{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.links-hint{font-size:.72rem;color:var(--text-muted)}.links-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.links-row{display:flex;align-items:center;gap:4px}.links-open{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:6px 8px;border:none;border-radius:6px;background:transparent;color:var(--text-primary);font:inherit;font-size:.85rem;text-align:left;cursor:pointer}.links-open:hover:not(:disabled),.links-open:focus-visible{background:var(--bg-surface-hover)}.links-title{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.links-title>span{overflow:hidden;text-overflow:ellipsis}.links-amount{flex:none;font-variant-numeric:tabular-nums}.links-total{display:flex;justify-content:space-between;padding:6px 8px 0;border-top:1px solid var(--border);font-size:.85rem;font-weight:600}.links-actions{display:flex;flex-wrap:wrap;gap:8px}.links-picker{display:flex;flex-direction:column;gap:6px}.links-search{display:flex;align-items:center;gap:6px;color:var(--text-muted)}.links-search .input-field{flex:1;min-width:0}.time-field{display:inline-flex;align-items:center;gap:6px;cursor:pointer;min-width:88px}.time-dial{width:300px;max-width:calc(100vw - 32px);display:flex;flex-direction:column;align-items:center;gap:16px;padding:20px}.time-dial-header{display:flex;align-items:center;gap:4px;font-size:2.4rem;font-weight:600;color:var(--text-secondary)}.time-dial-part{padding:2px 10px;border:none;border-radius:var(--radius-sm);background:rgba(var(--fg-rgb),.05);color:inherit;font:inherit;cursor:pointer}.time-dial-part.active{background:var(--accent-soft);color:var(--accent)}.time-dial-face{width:100%;max-width:256px;touch-action:none;-webkit-user-select:none;user-select:none;cursor:pointer}.time-dial-bg{fill:rgba(var(--fg-rgb),.05)}.time-dial-hand{stroke:var(--accent);stroke-width:2}.time-dial-dot{fill:var(--accent)}.time-dial-label{fill:var(--text-primary);font-size:15px;pointer-events:none}.time-dial-label.small{fill:var(--text-secondary);font-size:12px}.time-dial-label.selected{fill:#fff;font-weight:700}.time-dial-actions{display:flex;justify-content:flex-end;gap:8px;width:100%}.custom-suggestions{position:absolute;bottom:calc(100% + 8px);left:0;width:200px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 10px 30px #00000080;max-height:240px;overflow-y:auto;z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.suggestion-item{padding:10px 16px;font-size:.85rem;cursor:pointer;transition:all .2s;color:var(--text-secondary)}.suggestion-item:hover,.suggestion-item.active{background:var(--accent-soft);color:var(--accent)}.suggestion-separator{height:1px;background:var(--border);margin:6px 12px;opacity:.8}.count-badge{font-size:.7rem;background:rgba(var(--fg-rgb),.08);padding:2px 6px;border-radius:4px;color:var(--text-muted);margin-left:8px;font-weight:600}.folder-header:hover .count-badge{background:var(--accent);color:var(--on-accent)}.encrypted-block{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);margin:20px 0;overflow:hidden}.encrypted-banner{display:flex;align-items:center;gap:16px;padding:16px 24px;background:var(--inset)}.lock-icon{font-size:1.5rem;background:var(--bg-app);width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--border)}.encrypted-info{display:flex;flex-direction:column;gap:4px}.full-encrypted-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:80px 40px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;margin:20px;box-shadow:0 10px 40px #0003}.full-encrypted-placeholder .lock-icon-large{width:80px;height:80px;background:var(--accent-soft);color:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:8px;border:1px solid rgba(var(--accent-rgb),.2)}.full-encrypted-placeholder h3{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--text-primary)}.full-encrypted-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:40px;background:var(--inset);border-radius:var(--radius-lg);border:1px dashed var(--border)}.lock-icon-large{width:80px;height:80px;background:var(--accent-soft);color:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:24px}.full-encrypted-placeholder p{color:var(--text-secondary);max-width:300px;line-height:1.6}.full-encrypted-placeholder .btn-primary{padding:12px 32px;font-size:.95rem}.encrypted-info strong{color:var(--text-primary);font-size:1rem}.encrypted-info span{font-size:.8rem;color:var(--text-muted)}.btn-decrypt{background:var(--accent);color:var(--on-accent);border:none;padding:8px 20px;border-radius:var(--radius-sm);font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s}.btn-decrypt:hover{filter:brightness(1.1);transform:translateY(-1px)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;width:100%;max-width:480px;box-shadow:0 20px 60px #0009}.modal-title{margin-top:0;margin-bottom:12px;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.modal-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.folder-header.drag-over{background:var(--accent-soft);outline:2px dashed var(--accent);outline-offset:-2px}.tree-note[draggable=true]{cursor:grab}.tree-note[draggable=true]:active{cursor:grabbing}.notebook-path-trigger:hover{background:rgba(var(--fg-rgb),.05);color:var(--accent)!important}.notebook-path-trigger:active{transform:scale(.98)}.dropdown-menu{position:absolute;top:calc(100% + 12px);right:0;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:8px;min-width:200px;z-index:1000;box-shadow:0 10px 40px #0006;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.menu-item{width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;text-align:left}.menu-item:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.menu-item.danger{color:var(--danger)}.menu-item.danger:hover{background:#f43f5e1a}.menu-divider{height:1px;background:var(--border);margin:8px 0}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;background:transparent}@media(max-width:768px){.dropdown-menu{position:fixed;top:auto;bottom:20px;left:20px;right:20px;width:auto;min-width:0;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.menu-backdrop{background:var(--overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.toolbar-dropdown{position:absolute!important;top:calc(100% + 8px)!important;bottom:auto!important;left:auto!important;right:0!important;width:200px!important;animation:none!important}.toolbar-backdrop{background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}.custom-toggle{width:36px;height:20px;background:rgba(var(--fg-rgb),.1);border-radius:20px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;border:1px solid var(--border)}.custom-toggle.active{background:var(--accent);border-color:var(--accent)}.toggle-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;background:#fff;border-radius:50%;transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0003}.custom-toggle.active .toggle-thumb{transform:translate(16px)}.sidebar-tab-bar{display:flex;background:var(--bg-surface);border-top:1px solid var(--border);padding:8px;gap:8px}.tab-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:all .2s}.tab-item:hover{background:var(--bg-surface-hover);color:var(--text-secondary)}.tab-item.active{background:var(--accent-soft);color:var(--accent)}.tab-item-icon{position:relative;display:inline-flex}.tab-item .tab-item-badge{position:absolute;top:-6px;right:-10px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:.6rem;font-weight:700;line-height:16px;text-align:center;letter-spacing:0;text-transform:none}.tab-item span{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.tab-settings-btn{display:none;align-items:center;justify-content:center;margin-top:auto;padding:8px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:background .2s,color .2s}.tab-settings-btn:hover{background:var(--bg-surface-hover);color:var(--text-secondary)}@media(min-width:991px){.sidebar{width:clamp(452px,30vw,572px);display:grid;grid-template-columns:72px minmax(0,1fr);grid-template-rows:auto auto auto minmax(0,1fr)}.sidebar>:not(.sidebar-tab-bar){grid-column:2}.sidebar>.note-list{grid-row:4}.sidebar-tab-bar{grid-column:1;grid-row:1 / -1;flex-direction:column;padding:32px 8px 8px;background:transparent;border-top:none;border-right:1px solid var(--border)}.tab-item{flex:0 0 auto;padding:10px 4px}.tab-settings-btn{display:flex}.header-settings-btn{display:none!important}.tab-item span{font-size:.6rem;letter-spacing:.03em}.sidebar.settings-drawer{display:flex}}.flat-note-list{padding:0 0 20px}.tree-note.list-mode{border:none;border-bottom:1px solid var(--border);background:transparent;margin-bottom:0;border-radius:0}.tree-note.list-mode:hover{background:var(--bg-surface-hover)}.tree-note.list-mode.active{background:var(--accent-soft);border-bottom-color:var(--accent)}.task-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--radius-md);cursor:pointer;transition:background .15s,border-color .15s;border:1px solid transparent;background:transparent}.task-row:hover{background:rgba(var(--fg-rgb),.05);border-color:rgba(var(--fg-rgb),.08)}.task-row.completed{opacity:.6}.task-row .btn-icon-sm{opacity:0;transition:opacity .2s}.task-row:hover .btn-icon-sm{opacity:1}.task-row .btn-icon-sm:hover{color:var(--danger);transform:scale(1.1)}.task-section{margin-bottom:24px}.task-section-title{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:.85rem;font-weight:600;margin-bottom:12px;padding:0 8px}.tab-item-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}@media(max-width:768px){.task-row .btn-icon-sm{opacity:.6}}@media(max-width:768px){.btn-icon-sm{padding:6px;min-width:32px;min-height:32px}.folder-actions{gap:4px;opacity:1}}.budget-view{padding:0 16px 24px;display:flex;flex-direction:column;gap:14px}.budget-view.budget-main{flex:1;min-height:0;overflow-y:auto;padding:24px max(32px,calc(100% - 992px)) 40px 32px}.budget-view.budget-overview{padding-top:16px}.budget-bar-meta{margin-bottom:-6px;text-align:right;font-size:.8rem}.budget-view h2{font-family:var(--font-display);font-size:1.4rem}.budget-view h3{font-size:.95rem;font-weight:600}.budget-header{padding-top:4px}.budget-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;display:flex;flex-direction:column;gap:8px}.budget-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.budget-row .input-field{flex:1;min-width:0}.budget-muted{color:var(--text-muted);font-size:.8rem}.budget-big{font-family:var(--font-display);font-size:2rem;font-weight:700}.budget-big.over{color:var(--danger)}.budget-bar{position:relative;height:10px;background:var(--bg-surface-hover);border-radius:6px;overflow:hidden}.budget-bar.thin{height:6px}.budget-bar-time{position:absolute;inset:0 auto 0 0;background:rgba(var(--fg-rgb),.14);border-radius:inherit}.budget-bar-today{position:absolute;top:0;bottom:0;z-index:1;width:2px;transform:translate(-100%);background:#ffffffd9;box-shadow:0 0 0 1px #00000059}.budget-bar i{position:relative;display:block;height:100%;background:var(--accent);border-radius:inherit;transition:width .3s}.budget-cat{display:flex;flex-direction:column;gap:4px;font-size:.9rem}.budget-cat-head{align-items:baseline}.budget-cat-name{display:flex;align-items:baseline;min-width:0}.budget-cat-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budget-cat-name .budget-delta{flex:none}.budget-cat-total{flex:none;white-space:nowrap}.budget-cat-planned{display:flex;align-items:center;justify-content:flex-end;gap:6px;font-size:.75rem}.budget-cat.clickable{margin:0 -8px;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer}.budget-cat.clickable:hover{background:var(--bg-surface-hover)}.budget-cat.clickable:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}.budget-cat.active{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.budget-delta{display:inline-flex;align-items:center;gap:1px;margin-left:6px;font-size:.75rem;font-weight:500;white-space:nowrap}.budget-delta.up{color:var(--danger)}.budget-delta.down{color:var(--success)}.budget-trend{display:flex;gap:4px}.budget-trend-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;padding:0;border:none;border-radius:var(--radius-sm);background:none;color:var(--text-muted);font:inherit;cursor:pointer}.budget-trend-col:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.budget-trend-value{display:block;height:14px;font-size:.7rem;font-weight:600;text-align:center;white-space:nowrap;color:var(--text-primary)}.budget-trend-plot{position:relative;display:block;height:80px;border-bottom:1px solid var(--border)}.budget-trend-bar{position:absolute;bottom:0;left:20%;right:20%;display:flex;flex-direction:column-reverse;gap:2px;border-radius:4px 4px 0 0;overflow:hidden;opacity:.45;transition:opacity .15s,height .3s}.budget-trend-col:hover .budget-trend-bar{opacity:.75}.budget-trend-col.active .budget-trend-bar{opacity:1}.budget-trend-bar .spent{display:block;flex:none;background:var(--accent)}.budget-trend-bar .planned{display:block;flex:none;background:repeating-linear-gradient(-45deg,rgba(var(--accent-rgb),.75) 0,rgba(var(--accent-rgb),.75) 4px,rgba(var(--accent-rgb),.3) 4px,rgba(var(--accent-rgb),.3) 8px)}.budget-trend-bar.over .spent{background:var(--danger)}.budget-trend-bar.over .planned{background:repeating-linear-gradient(-45deg,#f43f5ebf 0,#f43f5ebf 4px,#f43f5e4d 4px,#f43f5e4d 8px)}.budget-trend-budget{display:block;position:absolute;left:8%;right:8%;height:2px;border-radius:1px;background:var(--text-secondary);transform:translateY(50%)}.budget-trend-label{display:block;font-size:.7rem;text-align:center;text-transform:capitalize}.budget-trend-col.active .budget-trend-label{color:var(--text-primary);font-weight:600}.budget-legend{display:flex;flex-wrap:wrap;align-items:center;gap:14px;font-size:.75rem}.budget-legend>span{display:inline-flex;align-items:center;gap:6px}.budget-legend-line{display:inline-block;width:14px;height:2px;border-radius:1px;background:var(--text-secondary)}.budget-list{scroll-margin-top:12px}.budget-search{position:relative;display:flex;align-items:center}.budget-search-icon{position:absolute;left:10px;color:var(--text-muted);pointer-events:none}.budget-view .budget-search .input-field{padding-left:34px;padding-right:36px}.budget-search .input-field::-webkit-search-cancel-button{-webkit-appearance:none}.budget-search-clear{position:absolute;right:4px}.budget-filter-chip{display:inline-flex;align-items:center;gap:4px}.budget-grid{display:grid;grid-template-columns:5fr 6fr;gap:8px}.budget-grid.single{grid-template-columns:1fr}.budget-grid .full{grid-column:1 / -1}.budget-grid label{display:flex;flex-direction:column;gap:4px}.budget-view .input-field,.budget-modal .input-field{width:100%;min-width:0;padding:8px 12px;background:var(--bg-app);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.9rem}.budget-view .input-field:focus,.budget-modal .input-field:focus{outline:none;border-color:var(--border-focus)}.budget-inline{display:flex;gap:8px}.budget-inline .input-field.budget-amount{flex:1 1 80px}.budget-inline .input-field.budget-date{flex:0 0 auto;width:auto}.budget-submit{width:100%;justify-content:center;margin-top:6px;min-height:48px;font-size:1rem}@media(pointer:coarse),(max-width:768px){.budget-submit{min-height:56px;font-size:1.05rem}.budget-chips .budget-chip{min-height:36px;padding:6px 14px;font-size:.85rem}}.budget-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.budget-template-tile{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:56px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-app);color:var(--text-primary);cursor:pointer}.budget-template-tile:active{background:var(--accent-soft);border-color:var(--border-focus)}.budget-template-tile-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.budget-error{color:var(--danger);font-size:.8rem}.budget-link{background:none;border:none;padding:0;color:var(--accent);font:inherit;font-size:.8rem;text-align:left;cursor:pointer}.budget-tags{display:flex;flex-direction:column;gap:6px}.budget-chips{display:flex;flex-wrap:wrap;gap:6px}.budget-tags-selected{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:34px;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-app)}.budget-tags-selected .budget-chip.on{display:inline-flex;align-items:center;gap:4px;font-weight:600;box-shadow:0 2px 8px rgba(var(--accent-rgb),.35)}.budget-tags-available{display:flex;flex-direction:column;gap:6px}.budget-chip.budget-chip-more{border-style:dashed;color:var(--accent)}.budget-chip{flex:none;white-space:nowrap;padding:4px 12px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);font:inherit;font-size:.8rem;cursor:pointer}.budget-chip.hint{border-color:var(--border-focus)}.budget-chip.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.budget-item{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 6px;border-top:1px solid var(--border);border-radius:var(--radius-sm);font-size:.9rem;cursor:pointer;transition:background .2s}.budget-item:hover{background:linear-gradient(rgba(var(--accent-rgb),.08),rgba(var(--accent-rgb),.08)),var(--bg-surface)}.budget-item.static{cursor:default}.budget-item.flash{animation:budget-flash 2.4s ease-out}.budget-item.flash.flash-slow{animation:budget-flash 3.2s ease-out .35s both}@keyframes budget-flash{0%,40%{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}to{background:transparent;box-shadow:inset 0 0 0 2px transparent}}.budget-scroll{max-height:34vh;overflow-y:auto;margin-top:6px}.budget-scroll.tall{max-height:60vh}.budget-segmented{--count: 2;--index: 0;position:relative;display:grid;grid-template-columns:repeat(var(--count),minmax(0,1fr));padding:3px;border:1px solid var(--border);border-radius:999px;background:var(--bg-app)}.budget-segmented-thumb{position:absolute;top:3px;bottom:3px;left:3px;width:calc((100% - 6px) / var(--count));border-radius:999px;background:var(--bg-surface-hover);box-shadow:0 1px 4px #00000059;transform:translate(calc(100% * var(--index)));transition:transform .25s ease}.budget-modal .budget-segmented{margin-bottom:12px}.budget-segmented button{position:relative;z-index:1;padding:7px 8px;border:none;background:none;color:var(--text-muted);font:inherit;font-size:.85rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:color .2s}@media(max-width:480px){.budget-segmented button{padding:7px 2px;font-size:.78rem}}.budget-segmented button.on{color:var(--text-primary)}.budget-segmented button:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px;border-radius:999px}.note-tabs-bar{display:flex;align-self:flex-start;max-width:calc(100% - 24px);align-items:center;gap:4px;margin:8px 12px 10px;padding:3px;border-radius:999px;background:rgba(var(--fg-rgb),.06);overflow-x:auto;scrollbar-width:none;flex-shrink:0}.note-tabs-bar::-webkit-scrollbar{display:none}.note-tab-pill{position:relative;display:flex;align-items:center;gap:2px;flex-shrink:0;max-width:220px;padding:6px 14px;border-radius:999px;color:var(--text-muted);font-size:.85rem;font-weight:600;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transition:color .2s,background .2s}.note-tab-pill:hover{color:var(--text-primary)}.note-tab-pill.on{background:var(--bg-surface-hover);box-shadow:0 1px 2px #0000004d;color:color-mix(in srgb,var(--accent) 65%,var(--text-primary))}.note-tab-pill:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}.note-tab-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-tab-rename{min-width:0;padding:0;border:none;outline:none;background:transparent;color:var(--text-primary);font:inherit}.note-tab-pill.has-close{padding-right:6px}.note-tab-close{display:flex;flex-shrink:0;margin-left:4px;padding:2px;border:none;border-radius:50%;background:var(--bg-surface-hover);color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity .15s}.note-tab-pill:hover .note-tab-close{opacity:1}.note-tab-close:hover{color:var(--danger)}.note-tab-add{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;border:none;border-radius:50%;background:none;color:var(--text-muted);cursor:pointer}.note-tab-add:hover{color:var(--text-primary);background:rgba(var(--fg-rgb),.06)}:root[data-theme=light] .note-tabs-bar{background:rgba(var(--fg-rgb),.045)}:root[data-theme=light] .note-tab-pill.on{background:var(--bg-surface);box-shadow:0 1px 2px #00000014}.note-tabs-count{flex-shrink:0;padding:0 6px;border-radius:999px;background:rgba(var(--fg-rgb),.06);color:var(--text-muted);font-size:.65rem;font-weight:600;white-space:nowrap}.budget-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:var(--overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding:calc(env(safe-area-inset-top,0px) + 24px) 16px 16px}.budget-modal{width:100%;max-width:520px;max-height:calc(100dvh - 48px);overflow-y:auto;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 20px 60px #0009;padding:16px;display:flex;flex-direction:column;gap:8px}.budget-modal-header{margin-bottom:4px}.budget-modal-actions{position:sticky;bottom:-16px;z-index:2;display:flex;flex-direction:column;gap:8px;margin:0 -16px -16px;padding:10px 16px 16px;background:var(--bg-surface);border-top:1px solid var(--border)}.budget-modal-actions .budget-submit{margin-top:0}.budget-modal-split{display:flex;gap:8px}.budget-modal-split .budget-delete-btn{flex:none;width:48px;padding:0}@media(pointer:coarse),(max-width:768px){.budget-modal-split .budget-delete-btn{width:56px}}.budget-modal .gcal-inline-wrap{scroll-margin-top:8px;scroll-margin-bottom:150px}.budget-view input[type=date],.budget-modal input[type=date]{color-scheme:var(--scheme)}.budget-select{position:relative}.budget-select-button{width:100%;justify-content:space-between;background:var(--bg-surface)}.budget-select-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budget-select-menu{position:absolute;top:100%;left:0;right:0;margin-top:4px;z-index:100;max-height:260px;overflow-y:auto;padding:4px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 10px 25px #00000080;scrollbar-width:thin}.budget-select-item{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font:inherit;font-size:.9rem;text-align:left;cursor:pointer}.budget-select-item:hover{background:var(--bg-surface-hover)}.budget-select-item.active{color:var(--accent);background:var(--accent-soft)}.budget-view input[type=number],.budget-modal input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.budget-view input[type=number]::-webkit-inner-spin-button,.budget-view input[type=number]::-webkit-outer-spin-button,.budget-modal input[type=number]::-webkit-inner-spin-button,.budget-modal input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.budget-icon-btn{width:40px;height:40px;padding:0;justify-content:center}.budget-recurring-btn{background:var(--accent-soft);border-color:var(--border-focus);color:var(--accent);font-weight:600}.budget-recurring-btn:hover{background:rgba(var(--accent-rgb),.2);border-color:var(--accent);color:var(--accent)}.budget-bar-fill,.budget-bar-planned{position:absolute;top:0;bottom:0;transition:width .3s,left .3s}.budget-bar-fill{left:0;background:var(--accent);border-radius:inherit}.budget-bar-fill.over{background:var(--danger)}.budget-bar-planned,.budget-planned-swatch{background:repeating-linear-gradient(-45deg,rgba(var(--accent-rgb),.75) 0,rgba(var(--accent-rgb),.75) 4px,rgba(var(--accent-rgb),.3) 4px,rgba(var(--accent-rgb),.3) 8px)}.budget-bar-planned.over{background:repeating-linear-gradient(-45deg,#f43f5ebf 0,#f43f5ebf 4px,#f43f5e4d 4px,#f43f5e4d 8px)}.budget-daily{margin-top:10px;padding:10px 14px;border-radius:var(--radius-md);background:var(--accent-soft)}.budget-daily-line{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:8px;color:var(--text-secondary);font-size:.9rem}.budget-daily-line strong{color:var(--accent);font-family:Outfit,sans-serif;font-size:1.6rem;font-weight:700;line-height:1.2}.budget-compact-wrap{position:sticky;top:0;z-index:5;height:0;margin-bottom:-14px}.budget-compact{display:flex;align-items:center;gap:12px;margin:0 -8px;min-height:56px;box-sizing:border-box;padding:8px 16px;background:var(--bg-sidebar);opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .18s ease,transform .18s ease}.budget-compact.show{opacity:1;transform:none;pointer-events:auto}.budget-compact-summary{display:flex;flex:1;min-width:0;align-items:center;gap:12px;cursor:pointer}.budget-compact-add{flex:none;width:40px;height:40px;padding:0;justify-content:center}.budget-compact-main{display:flex;flex-direction:column;flex:none;font-size:.75rem;line-height:1.2}.budget-compact-main strong{font-family:var(--font-display);font-size:1.15rem;font-weight:700}.budget-compact-main strong.over{color:var(--danger)}.budget-compact-bar{flex:1;min-width:0}.budget-compact-bar .budget-bar{height:6px}.budget-tabs-sticky{position:sticky;top:56px;z-index:4;margin:-6px -8px -10px;padding:6px 8px 10px;background:var(--bg-sidebar);border-bottom:1px solid transparent;transition:border-color .18s ease,box-shadow .18s ease}.budget-tabs-sticky.stuck{border-bottom-color:var(--border);box-shadow:0 6px 12px -6px #00000040}.budget-compact-daily{flex:none;color:var(--accent);font-family:Outfit,sans-serif;font-weight:700}.budget-planned-note{display:flex;align-items:center;gap:6px}.budget-available{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:.95rem;color:var(--text-muted)}.budget-available strong{color:var(--text-primary);font-weight:600}.budget-available.over strong{color:var(--danger)}.budget-available .budget-planned-swatch{flex-shrink:0}.budget-planned-swatch{display:inline-block;width:18px;height:8px;border-radius:4px}.budget-item.future{border:1px dashed var(--border-focus);margin-top:4px}.budget-item.future>div:first-child{opacity:.75}.budget-item.off-budget{box-shadow:inset 3px 0 0 var(--off-budget)}.budget-off-budget{display:inline-flex;align-items:center;gap:4px;margin:3px 0 1px;padding:1px 8px;border-radius:999px;background:var(--off-budget-soft);color:var(--off-budget);font-size:.75rem;font-weight:600}.budget-amount-col{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}.budget-amount-col.off-budget>span:first-child{color:var(--off-budget)}.budget-amount-col.off-budget>small{color:var(--text-primary)}.budget-amount-col small{color:var(--text-muted);font-size:.72rem;font-weight:400;white-space:nowrap}.budget-amount-col small.budget-day-off{color:var(--off-budget)}.budget-item.arrived{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent);margin-top:4px}.budget-arrived-label{display:flex;align-items:center;gap:4px;color:var(--accent);font-size:.75rem;font-weight:600}.budget-seen-btn{color:var(--accent)}.budget-arrived-banner{display:flex;gap:10px;margin-bottom:12px;padding:10px 12px;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent-soft);font-size:.85rem}.budget-sync-banner{display:flex;flex-direction:column;gap:10px;margin-bottom:12px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);font-size:.85rem}.budget-sync-row{display:flex;gap:10px}.budget-sync-icon{flex:none;margin-top:1px;color:var(--text-muted)}.budget-sync-row.failed .budget-sync-icon,.budget-pending.failed{color:var(--danger)}.budget-pending{display:inline-flex;color:var(--text-muted)}.budget-arrived-icon{flex:none;margin-top:1px;color:var(--accent)}.budget-badge{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:1px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.7rem;font-weight:600;vertical-align:middle}.budget-planned-group{margin-bottom:12px}.budget-planned-group .budget-day{margin-top:8px}.budget-planned-group.open{border:1px dashed rgba(var(--accent-rgb),.45);border-radius:var(--radius-md);background:var(--accent-soft);overflow:hidden}.budget-planned-group.open .budget-planned-toggle{border:none;border-bottom:1px dashed rgba(var(--accent-rgb),.35);border-radius:0;background:transparent}.budget-planned-days{position:relative;padding:0 8px 8px 16px}.budget-planned-days:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:repeating-linear-gradient(-45deg,rgba(var(--accent-rgb),.75) 0,rgba(var(--accent-rgb),.75) 4px,rgba(var(--accent-rgb),.3) 4px,rgba(var(--accent-rgb),.3) 8px)}.budget-planned-group .budget-day.upcoming{border-color:rgba(var(--accent-rgb),.35);background:var(--bg-surface)}.budget-planned-group .budget-day.upcoming .budget-day-header,.budget-planned-group .budget-day.upcoming .budget-day-header b{color:var(--accent)}.budget-today-sep{display:flex;align-items:center;gap:8px;margin:4px 0 12px;color:var(--accent);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.budget-today-sep:before,.budget-today-sep:after{content:"";flex:1;height:1px;background:rgba(var(--accent-rgb),.45)}.budget-planned-toggle{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:10px 12px;border:1px dashed rgba(var(--accent-rgb),.45);border-radius:var(--radius-md);background:var(--accent-soft);color:var(--accent);font:inherit;font-size:.8rem;font-weight:600;cursor:pointer}.budget-planned-toggle>span{display:inline-flex;align-items:center;gap:6px}.budget-planned-toggle b{color:var(--text-primary);font-size:.9rem}.budget-planned-chevron{transition:transform .2s;transform:rotate(-90deg)}.budget-planned-chevron.open{transform:none}.budget-day{padding:0 4px 4px;border:1px solid rgba(var(--fg-rgb),.08);border-radius:var(--radius-md);background:rgba(var(--fg-rgb),.03)}.budget-day+.budget-day{margin-top:12px}.budget-day.today{border-color:rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.06)}.budget-day.upcoming{border-style:dashed;background:transparent}.budget-day-header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 -4px 2px;padding:9px 12px 8px;border-bottom:1px solid rgba(var(--fg-rgb),.08);color:var(--text-secondary);font-size:.8rem;font-weight:600}.budget-day.today .budget-day-header{color:var(--accent)}.budget-day-header b{color:var(--text-primary);font-size:.9rem}.budget-day .budget-item{padding:10px 8px}.budget-day.upcoming .budget-item.future{margin-top:0;border:none}.budget-day.upcoming .budget-item.future+.budget-item.future{border-top:1px solid var(--border)}.budget-day .budget-day-header+.budget-item{border-top:none}.budget-period-nav{display:flex;align-items:center;flex-wrap:wrap;gap:2px;margin-left:-6px}.budget-period-nav .btn-icon-sm{padding:4px;border-radius:var(--radius-sm)}.budget-period-nav .budget-link{margin-left:8px}.budget-period-nav .budget-muted{white-space:nowrap}@media(max-width:520px){.budget-header .btn-primary{font-size:0;gap:0;width:40px;height:40px;padding:0;justify-content:center}}.budget-check{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px!important;color:var(--text-secondary);font-size:.85rem;cursor:pointer}.budget-check input{margin-top:3px;accent-color:var(--accent);flex:none}.budget-today-btn{flex:none;padding:6px 12px}.budget-today-btn:disabled{opacity:.4;cursor:default}.budget-view .btn-icon-sm:disabled,.budget-modal .btn-icon-sm:disabled,.budget-modal .btn-action:disabled{opacity:.35;cursor:default}.budget-item-template{display:flex;align-items:center;gap:6px;font-weight:600;color:var(--text-primary)}.budget-claude-mark,.budget-item-template .budget-claude-mark{flex:none;vertical-align:-1px;color:var(--claude);fill:var(--claude)}.budget-item-title{font-weight:600;color:var(--text-primary)}.budget-item-template svg{flex:none;color:var(--accent)}.budget-item-inline-icon{white-space:nowrap}.budget-item-inline-icon svg{vertical-align:-1px;color:var(--accent)}.budget-template-link{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent);font-size:.85rem}.budget-template-link span{flex:1;min-width:0}.budget-item.selected{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.budget-suggestion{display:flex;gap:10px;margin-top:10px;padding:10px 12px;border:1px dashed var(--accent);border-radius:var(--radius-sm);background:var(--accent-soft);font-size:.85rem}.budget-suggestion-icon{flex:none;margin-top:2px;color:var(--accent)}.budget-suggestion .btn-action{padding:4px 10px;font-size:.8rem}.pwa-update{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 84px);transform:translate(-50%);z-index:1000;width:max-content;max-width:calc(100vw - 32px);display:flex;align-items:center;gap:10px;padding:10px 10px 10px 16px;background:var(--bg-surface);border:1px solid var(--border-focus);border-radius:var(--radius-md);box-shadow:0 10px 30px #00000080;font-size:.9rem}.budget-keypad-display{font-size:3rem;font-weight:700;text-align:center;padding:12px 0 4px;overflow-wrap:anywhere}.budget-keypad-display span{color:var(--text-muted);font-weight:500}.budget-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0}.budget-keypad-key{height:60px;display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:600;color:var(--text-primary);background:var(--bg-surface-hover, rgba(var(--fg-rgb), .06));border:1px solid var(--border);border-radius:var(--radius-md, 12px);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none}.budget-keypad-key:active{background:var(--accent-soft);color:var(--accent)}@media(max-width:768px){.budget-view:not(.budget-main){padding:0 4px 24px}.budget-view:not(.budget-main) .budget-card{padding:12px 10px}}.budget-chip.budget-scope-chip:not(.on){border-color:var(--border-focus);color:var(--text-primary)}.budget-cat-group.open{margin:0 -8px 6px;border-radius:var(--radius-sm);background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.budget-cat-group.open>.budget-cat.clickable{margin:0;background:transparent;box-shadow:none}.budget-cat-items{padding:0 8px 8px}.budget-search-row{display:flex;align-items:center;gap:8px}.budget-search-row .budget-search{flex:1;min-width:0}.budget-filters-btn{position:relative;flex:none}.budget-filters-btn.on{color:var(--accent)}.budget-filters-count{position:absolute;top:-2px;right:-2px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:.65rem;line-height:16px;text-align:center}.budget-filter-panel{display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--inset)}.budget-filter-panel .budget-chips{max-height:8.5rem;overflow-y:auto}.budget-filter-panel .budget-chip small{opacity:.7}.budget-filters-reset{align-self:flex-start;display:inline-flex;align-items:center;gap:4px}:root:not([data-theme=light]) .note-sketch,:root:not([data-theme=light]) .sketch-ink{filter:invert(1) hue-rotate(180deg)}.sketch-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;flex-direction:column;background:var(--bg-app);padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);overscroll-behavior:contain;-webkit-user-select:none;user-select:none}.sketch-toolbar,.sketch-options{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;flex-wrap:wrap}.sketch-toolbar{border-bottom:1px solid var(--border)}.sketch-options{border-bottom:1px solid var(--border);justify-content:flex-start;gap:16px}.sketch-group{display:flex;align-items:center;gap:4px}.sketch-btn,.sketch-swatch,.sketch-size{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text-secondary);cursor:pointer;padding:0}.sketch-btn:hover:not(:disabled),.sketch-swatch:hover,.sketch-size:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.sketch-btn:disabled{opacity:.35;cursor:default}.sketch-btn.active,.sketch-swatch.active,.sketch-size.active{background:var(--accent-soft);border-color:var(--border-focus);color:var(--accent)}.sketch-swatch .sketch-ink{width:22px;height:22px;border-radius:50%;box-shadow:0 0 0 1px var(--border)}.sketch-size span{border-radius:50%;background:currentColor}.sketch-save{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 16px;border:none;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-weight:600;font-family:var(--font-main);cursor:pointer}.sketch-save:disabled{opacity:.45;cursor:default}.sketch-canvas-wrap{position:relative;flex:1;min-height:0;overflow:hidden;background:var(--bg-surface);background-image:radial-gradient(rgba(var(--fg-rgb),.12) 1px,transparent 1px);background-size:24px 24px}.sketch-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block}.sketch-live{touch-action:none;cursor:crosshair}.sketch-live.erasing{cursor:cell}@media(max-width:480px){.sketch-toolbar,.sketch-options{padding:6px 8px}.sketch-options{gap:8px}.sketch-btn,.sketch-swatch,.sketch-size{width:36px;height:36px}.sketch-save span{display:none}.sketch-save{padding:0 12px}}.html-renderer img.note-sketch[data-sketch]{cursor:pointer}@media(min-width:1000px){.sketch-canvas-wrap{width:100%;max-width:960px;margin:16px auto;border:1px solid var(--border);border-radius:var(--radius-md)}}.budget-segmented{border:none;background:rgba(var(--fg-rgb),.06)}.budget-segmented-thumb{box-shadow:0 1px 2px #0000004d}.budget-segmented button.on{color:color-mix(in srgb,var(--accent) 65%,var(--text-primary))}:root[data-theme=light] .budget-segmented{background:rgba(var(--fg-rgb),.045)}:root[data-theme=light] .budget-segmented-thumb{background:var(--bg-surface);box-shadow:0 1px 2px #00000014}
