:root{--paper:#faf9f6;--ink:#252522;--muted:#93928a;--line:#e9e7df;--purple:#7356d8;--violet-bg:#eee8fc;--green:#3f8067;--green-bg:#e1efe6;--pink:#aa4b6d;--pink-bg:#f9e5ec;--blue:#417e95;--blue-bg:#e1f0f3;--orange:#a96a39;--orange-bg:#f9eddd;--radius:12px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{border:0;background:none}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-underline-offset:3px}button:focus-visible,a:focus-visible{outline:2px solid var(--purple);outline-offset:4px}input:focus,select:focus,textarea:focus{outline:2px solid #b5a3ec;outline-offset:1px}button svg{width:17px;height:17px;flex-shrink:0}svg{vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,p{margin:0}button,small,label{line-height:1.45}::selection{background:#e4d9fc}
.topbar{height:85px;display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 42px;border-bottom:1px solid var(--line)}.brand{font-size:27px;font-weight:800;letter-spacing:-1.6px;white-space:nowrap;display:flex;align-items:baseline;gap:2px}.brand span{font-size:12px;color:var(--purple);letter-spacing:0}.nav{display:flex;gap:8px}.nav button{font-size:13px;display:flex;align-items:center;gap:8px;padding:10px 15px;border-radius:8px;color:#7e7c73;font-weight:550}.nav button.active{background:#eeece5;color:var(--ink)}.nav button:hover{background:#f0eee8}.top-right{display:flex;align-items:center;gap:12px}.status{display:flex;align-items:center;gap:6px;font-size:11px;color:#86867c;white-space:nowrap}.status i{width:5px;height:5px;border-radius:50%;background:#73927a}.avatar{width:31px;height:31px;border:1px solid var(--line);border-radius:50%;background:#eee9df;font-size:12px;font-weight:650}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 16px;border:1px solid #dfdcd3;border-radius:8px;background:var(--paper);font-size:12px;font-weight:550;min-height:38px}.btn:hover{background:#f0ede5}.btn.primary{background:var(--ink);border-color:var(--ink);color:#fff}.btn.primary:hover{background:#48483f}.btn.purple{color:var(--purple);background:var(--violet-bg);border-color:transparent}.btn.danger{color:#ad4154}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;border-radius:7px;color:#939187;flex-shrink:0}.icon-btn:hover{background:#eeeae2;color:var(--ink)}.badge{font-size:10px;font-weight:550;color:var(--purple);background:var(--violet-bg);border-radius:5px;padding:4px 7px;white-space:nowrap}
.main{padding:38px 42px 30px;max-width:1900px;margin:auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:27px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:1.7px;font-weight:600;color:var(--muted);margin-bottom:9px}.title-row{display:flex;align-items:baseline;gap:13px}h1{font-size:34px;line-height:1.15;letter-spacing:-1.2px;font-weight:720}.week-num{font-size:22px;color:#c5c2b8;font-weight:600;letter-spacing:-.8px}.page-subtitle{font-size:12px;color:var(--muted);margin-top:9px}.period{display:flex;align-items:center;gap:9px}.period-label{font-size:12px;min-width:115px;text-align:center}.seg{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;padding:2px}.seg button{padding:6px 9px}.today-btn{font-size:11px;color:#7d7a70;padding:7px 10px}.focus-strip{display:flex;align-items:center;justify-content:space-between;padding:13px 17px;background:#f0eee7;border:1px solid #e8e4d9;border-radius:9px;margin-bottom:28px;gap:15px}.focus-content{display:flex;align-items:center;gap:10px;font-size:12px;min-width:0}.focus-content .spark{color:var(--purple);font-size:17px}.focus-content strong{font-weight:550}.focus-content .muted{font-size:11px;color:#9b988d}.review-link{color:var(--purple);display:flex;align-items:center;gap:8px;font-size:11px;white-space:nowrap}.overview{display:flex;gap:20px;font-size:11px;color:#928e82;margin-top:9px}.overview strong{color:var(--ink);font-weight:550}.board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:20px}.day-head{display:flex;align-items:center;justify-content:space-between;gap:5px;padding-bottom:12px;border-bottom:1.6px solid var(--ink);margin-bottom:3px}.day-title{font-size:15px;font-weight:650;letter-spacing:-.45px}.weekday{font-size:11px;color:#a6a297}.day.is-today .day-head{border-color:var(--purple);color:var(--purple)}.day.is-today .weekday{color:var(--purple)}.day.is-weekend .day-head{border-color:#bdb9ae}.day.is-weekend .day-title{color:#929083}.today-dot{display:inline-block;width:5px;height:5px;background:var(--purple);border-radius:50%;margin-left:5px;vertical-align:middle}.day-tasks{min-height:288px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 41px,var(--line) 41px,var(--line) 42px)}.task{position:relative;display:flex;align-items:center;gap:6px;min-height:42px;padding:8px 0;font-size:11px;line-height:1.55;border-bottom:1px solid var(--line);background:var(--paper)}.task .check{border:1px solid #c9c5b9;width:13px;height:13px;min-width:13px;border-radius:50%;padding:0;opacity:0;display:grid;place-items:center;color:#fff;transition:opacity .15s}.task:hover .check,.task:focus-within .check,.task.is-done .check{opacity:1}.task.is-done .check{background:#b1b4a3;border-color:#b1b4a3;font-size:9px}.task.is-done .task-text{text-decoration:line-through;opacity:.4}.task-edit{padding:0;text-align:left;min-width:0;flex:1}.task-text{overflow-wrap:anywhere}.task-tag{padding:2px 5px;border-radius:5px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.tag-purple{background:var(--violet-bg);color:#6a4ac1}.tag-pink{background:var(--pink-bg);color:var(--pink)}.tag-green{background:var(--green-bg);color:var(--green)}.tag-blue{background:var(--blue-bg);color:var(--blue)}.tag-orange{background:var(--orange-bg);color:var(--orange)}.repeat{font-size:10px;opacity:.7;margin-left:4px}.task.dragging{opacity:.35}.day.dragover{background:#f2edf9;outline:1px dashed #b9a7e4;outline-offset:6px}.day-add{height:30px;margin-top:5px;font-size:11px;color:#b8b3a7;display:flex;align-items:center;gap:5px;width:100%;text-align:left}.day-add:hover{color:var(--purple)}.day-add svg{width:12px;height:12px}.payment-task{color:var(--orange)}.payment-task small{font-size:9px;display:block;color:#9d9280;margin-top:1px}.bucket-row{display:grid;grid-template-columns:1.4fr 1.4fr 1fr;gap:30px;margin-top:40px}.bucket-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.bucket-head h2{font-size:14px;font-weight:600;letter-spacing:-.4px}.bucket-head .count{font-size:11px;color:#b0aba0;margin-left:6px}.bucket-lines{min-height:125px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 41px,var(--line) 41px,var(--line) 42px);border-top:1px solid var(--line)}.bucket-lines .task{font-size:12px}.micro-card{background:#f2efe7;border-radius:10px;padding:18px 20px}.micro-card h3{font-size:12px;font-weight:600;margin-bottom:12px}.micro-card p{font-size:11px;color:#8a8578;line-height:1.8}.micro-value{font-size:24px;font-weight:650;letter-spacing:-.8px;margin:5px 0 7px}.micro-line{display:flex;justify-content:space-between;gap:10px;font-size:11px;padding:7px 0;border-bottom:1px solid #e4e0d6}.micro-line:last-child{border:0}.board-legend{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:25px;font-size:10px;color:#9a968b}.legend-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px}.bottom-line{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#a6a194;border-top:1px solid var(--line);margin-top:35px;padding-top:15px;gap:10px}.bottom-line button{font-size:10px;color:#8f887a;text-decoration:underline;text-underline-offset:3px}.mobile-days{display:none}.empty-hint{font-size:11px;color:#a5a093;line-height:1.7;padding:20px 0;background:var(--paper)}.empty-hint button{color:var(--purple);text-align:left;padding:8px 0;display:block}.empty-box{padding:35px;text-align:center;color:var(--muted);font-size:13px;line-height:1.8;border:1px dashed #ddd8ca;border-radius:12px}.empty-box .btn{margin-top:14px}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px}.stat{border:1px solid var(--line);border-radius:10px;padding:20px 23px;background:#fdfcf9}.stat-label{font-size:11px;color:#918b7e}.stat-value{font-size:30px;letter-spacing:-1px;margin:9px 0 7px;font-weight:620}.stat-note{font-size:10px;color:#a19a8b;line-height:1.6}.stat.tint{background:#eeeadf;border-color:#e7e1d2}.split{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:30px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.section-head h2{font-size:16px;font-weight:600;letter-spacing:-.5px}.table-wrap{overflow:auto}.finance-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}.finance-table th{font-size:10px;color:#a29b8c;font-weight:450;border-bottom:1px solid #dcd7ca;padding:12px 10px}.finance-table td{padding:15px 10px;border-bottom:1px solid var(--line)}.finance-table th:first-child,.finance-table td:first-child{padding-left:0}.finance-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.finance-table .limit{width:110px;text-align:right;background:transparent;border:1px solid transparent;border-radius:5px;padding:6px 8px;font-size:12px;color:#81766a}.finance-table .limit:hover{border-color:#ded8ca}.finance-table .over{color:#b45d4f}.finance-table .good{color:var(--green)}.bar{height:4px;background:#ece8de;border-radius:3px;overflow:hidden;margin-top:6px;min-width:60px}.bar i{display:block;height:100%;background:#9c8bbf;border-radius:3px}.bar i.over{background:#c88f7e}.source-card{padding:20px;border:1px solid var(--line);border-radius:10px;background:#f4f1e9;font-size:11px;line-height:1.8}.source-card h3{font-size:13px;margin-bottom:12px}.source-card p{color:#8b8375;margin-bottom:12px}.source-card a{font-size:11px;word-break:break-word}.source-state{display:flex;align-items:center;gap:7px;font-size:10px;margin-bottom:12px;color:#8a7b5a}.source-state i{width:6px;height:6px;background:#bda05e;border-radius:50%}.note{font-size:11px;color:#9c9487;line-height:1.8;margin-top:14px}.subtle{color:var(--muted)}.payment-list{border-top:1px solid var(--line)}.payment-row{display:flex;align-items:center;gap:15px;padding:18px 0;border-bottom:1px solid var(--line)}.date-tile{background:#eeeae1;border-radius:8px;min-width:46px;text-align:center;padding:7px 4px;font-size:17px;font-weight:600;line-height:1.2}.date-tile small{display:block;font-size:9px;font-weight:400;color:#9a907d;margin-top:3px}.payment-row.overdue .date-tile{color:#ad5b57;background:#f6e9e4}.payment-info{flex:1;min-width:0}.payment-info strong{font-size:13px;font-weight:550;display:block;overflow-wrap:anywhere}.payment-info small{font-size:10px;color:#9d9587;display:block;margin-top:4px}.payment-amount{font-size:14px;white-space:nowrap;font-weight:550}.payment-row.done{opacity:.45}.payment-row.done strong{text-decoration:line-through}.paid-btn{border:1px solid #d7d0bf;border-radius:7px;padding:6px 9px;font-size:10px;white-space:nowrap}.paid-btn:hover{background:#e8efe6}.filters{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap}.filters button{font-size:11px;color:#9b9384;padding:7px 12px;border-radius:6px}.filters button.active{color:var(--ink);background:#eeeadf}.list-end{font-size:10px;color:#b5ac9c;text-align:center;padding:20px}.goal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:35px}.goal-card{padding:22px;border:1px solid var(--line);border-radius:11px;background:#fdfcf9}.goal-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.goal-category{font-size:10px;color:#9d8f7a}.goal-card h3{font-size:17px;line-height:1.45;font-weight:580;letter-spacing:-.4px;margin-bottom:13px;overflow-wrap:anywhere}.goal-card .bar{height:5px;margin-top:15px}.goal-meta{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#a3947e;margin-top:8px}.goal-next{font-size:11px;line-height:1.7;color:#9c8c76;margin-top:20px;padding-top:13px;border-top:1px solid var(--line)}.goal-next button{color:var(--purple);padding:5px 0}.review-layout{display:grid;grid-template-columns:1fr 1.7fr;gap:35px;border-top:1px solid var(--line);padding-top:30px}.review-intro h2{font-size:24px;letter-spacing:-.8px;margin:12px 0}.review-intro p{font-size:12px;color:#968b7b;line-height:1.9;max-width:290px}.review-metrics{display:flex;gap:25px;margin-top:28px}.review-metrics strong{display:block;font-size:26px;font-weight:600}.review-metrics small{font-size:10px;color:#a39784}.review-form label{font-size:11px;font-weight:550;display:block;margin-bottom:17px}.review-form textarea{display:block;width:100%;resize:vertical;margin-top:8px;padding:12px;border:1px solid #ded8cb;background:#fdfcf9;border-radius:8px;min-height:80px;font-size:12px;line-height:1.7}.review-check{display:flex!important;align-items:flex-start;gap:8px;font-size:11px!important;font-weight:400!important;color:#958775}.review-check input{accent-color:var(--purple);margin:1px 0 0}.review-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.saved-label{color:var(--green);font-size:10px}.loading{display:flex;gap:3px;align-items:baseline;justify-content:center;margin-top:25vh;font-size:40px;font-weight:750;letter-spacing:-2px;flex-wrap:wrap}.loading span{font-size:12px;color:var(--purple)}.loading small{flex-basis:100%;text-align:center;font-size:12px;color:var(--muted);font-weight:400;letter-spacing:0;margin-top:18px}
dialog{border:1px solid #e1dbce;background:var(--paper);border-radius:16px;padding:28px;width:480px;max-width:calc(100vw - 28px);max-height:90dvh;box-shadow:0 25px 100px #29241a26;color:var(--ink)}dialog::backdrop{background:#24201b55;backdrop-filter:blur(3px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.dialog-top h2{font-size:21px;letter-spacing:-.6px}.form-field{display:block;font-size:11px;font-weight:550;margin-bottom:17px}.form-field input,.form-field select,.form-field textarea{display:block;width:100%;margin-top:7px;padding:11px 12px;border:1px solid #dbd5c8;border-radius:7px;background:#fffefa;color:var(--ink);font-size:13px;min-height:42px}.form-field textarea{resize:vertical;min-height:75px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px}.dialog-actions>div{display:flex;gap:8px}.field-help{font-size:10px;color:#a09686;line-height:1.7;margin-top:7px;font-weight:400}.form-error{font-size:11px;color:#b45151;margin:12px 0;line-height:1.6}.color-options{display:flex;gap:10px;margin:8px 0 20px}.color-option{width:25px;height:25px;border:3px solid var(--paper);outline:1px solid transparent;border-radius:50%;padding:0}.color-option.active{outline-color:#8f8170}.login{max-width:370px;margin:15vh auto;padding:20px}.login .brand{font-size:38px;margin-bottom:35px}.login p{font-size:12px;color:#9c8f7b;margin-bottom:25px;line-height:1.8}.login .btn{width:100%}.connection-error{max-width:450px;margin:20vh auto;padding:25px;text-align:center}.connection-error h2{font-size:20px;margin-bottom:15px}.connection-error p{font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:20px}#toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,15px);padding:12px 20px;max-width:min(550px,90vw);border-radius:10px;background:#2c2c27;color:#fff;font-size:12px;line-height:1.65;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:30}#toast.visible{opacity:1;transform:translate(-50%,0)}.shortcut{font-size:9px;border:1px solid #ded8cc;padding:1px 4px;border-radius:3px;margin-left:4px}.settings-section{padding:14px 0;border-bottom:1px solid var(--line)}.settings-section h3{font-size:12px;margin-bottom:8px}.settings-section p{font-size:11px;color:#948974;line-height:1.8;margin-bottom:12px}.settings-actions{display:flex;gap:7px;flex-wrap:wrap}.settings-section:last-child{border:0}.settings-section input[type=file]{font-size:11px;width:100%}.mobile-date{display:none}
@media(min-width:1600px){.task{font-size:12px}.board{gap:27px}.day-tasks{min-height:330px}}
@media(max-width:1150px){.topbar{margin:0 25px;gap:12px}.main{padding:30px 25px}.nav{gap:2px}.nav button{padding:9px 11px}.status{display:none}.board{gap:13px}.task{font-size:10px;gap:4px}.task .check{opacity:1;width:11px;height:11px;min-width:11px}.day-title{font-size:13px}.weekday{font-size:10px}.bucket-row{gap:20px}.split{gap:20px}.goal-grid{gap:12px}.stat{padding:18px}.stat-value{font-size:26px}.review-layout{gap:25px}}
@media(max-width:800px){.topbar{height:70px}.brand{font-size:23px}.nav button{font-size:12px;padding:8px 9px;gap:5px}.nav svg{width:14px}.top-right .btn{padding:8px 10px;min-height:34px;font-size:11px}.top-right .btn .shortcut{display:none}.avatar{display:none}.board{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:25px}.day-tasks{min-height:210px}.day:nth-child(n+5) .day-tasks{min-height:126px}.task{font-size:11px}.bucket-row{grid-template-columns:1fr 1fr}.bucket-row>.micro-card{grid-column:1/-1}.bucket-row .micro-card{display:flex;align-items:center;justify-content:space-between;gap:20px}.bucket-row .micro-card h3{margin:0}.bucket-row .micro-card .micro-value{font-size:20px}.bucket-row .micro-card p{max-width:260px}.goal-grid{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.source-card{max-width:none}.review-layout{grid-template-columns:1fr}.review-intro{display:flex;flex-wrap:wrap;align-items:flex-start;gap:0 30px}.review-intro>div:first-child{flex:1}.review-metrics{margin-top:16px}.stat-grid{gap:10px}.stat{padding:16px}.stat-value{font-size:23px}.review-intro p{max-width:400px}}
@media(max-width:560px){.topbar{margin:0 18px;height:65px;flex-wrap:wrap;gap:0;position:relative}.brand{font-size:24px}.top-right{gap:7px}.top-right .btn{min-height:31px;font-size:10px;padding:7px 10px}.top-right .icon-btn{width:27px}.nav{position:fixed;left:0;bottom:0;height:67px;padding:7px 12px max(7px,env(safe-area-inset-bottom));background:#faf9f6f5;backdrop-filter:blur(12px);border-top:1px solid var(--line);width:100%;justify-content:space-around;z-index:10;gap:7px}.nav button{flex:1;flex-direction:column;gap:4px;font-size:9px;padding:6px}.nav svg{width:18px;height:18px}.main{padding:27px 18px 90px}.page-head{margin-bottom:22px;align-items:flex-start;flex-wrap:wrap}.page-head>div:first-child{flex:1;min-width:210px}h1{font-size:28px;letter-spacing:-1px}.eyebrow{font-size:9px;margin-bottom:8px}.week-num{font-size:18px}.page-subtitle{font-size:11px}.period{width:100%;justify-content:flex-start;margin-top:5px}.period-label{text-align:left;min-width:107px;font-size:11px}.period .seg{margin-left:auto}.period .today-btn{font-size:10px}.focus-strip{padding:11px 12px;margin-bottom:23px;align-items:flex-start}.focus-content{font-size:11px;gap:7px;align-items:flex-start}.focus-content strong{line-height:1.65}.focus-content .muted{display:none}.review-link{font-size:10px;padding-top:3px}.review-link svg{width:12px}.mobile-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:21px}.mobile-days button{border-radius:8px;padding:9px 2px;text-align:center;font-size:14px;color:#a29a8b;display:flex;flex-direction:column;gap:5px;align-items:center}.mobile-days button small{font-size:9px}.mobile-days button.active{background:#eae3f8;color:var(--purple)}.mobile-days button.is-today{color:var(--purple)}.board{display:block}.day{display:none}.day.mobile-active{display:block}.day-tasks,.day:nth-child(n+5) .day-tasks{min-height:294px}.day-head{padding-bottom:13px}.day-title{font-size:17px}.weekday{font-size:12px}.task{font-size:13px;min-height:42px;padding:9px 0;gap:9px}.task .check{width:15px;height:15px;min-width:15px;opacity:1}.day-add{font-size:12px;margin-top:9px;height:33px}.bucket-row{grid-template-columns:1fr;margin-top:30px;gap:27px}.bucket-row>.micro-card{grid-column:auto}.bucket-row .micro-card{display:block}.bucket-row .micro-card h3{margin-bottom:8px}.bucket-row .micro-card .micro-value{font-size:25px}.bucket-lines{min-height:84px}.bucket-lines .task{font-size:12px}.board-legend{gap:10px;font-size:9px}.bottom-line{align-items:flex-start;font-size:9px;line-height:1.7;flex-direction:column;gap:6px}.stat-grid{grid-template-columns:1fr 1fr;gap:9px}.stat-grid .stat:last-child{grid-column:1/-1}.stat{padding:15px}.stat-value{font-size:24px}.stat-note{font-size:9px}.stat-label{font-size:10px}.section-head h2{font-size:14px}.section-head .btn{font-size:10px;padding:8px}.finance-table{font-size:11px}.finance-table th{font-size:9px}.finance-table td{padding:13px 6px}.finance-table .limit{width:83px;font-size:11px}.finance-table th:nth-child(4),.finance-table td:nth-child(4){display:none}.payment-row{gap:9px;padding:15px 0;flex-wrap:wrap}.payment-info strong{font-size:12px}.payment-info small{font-size:9px}.payment-amount{font-size:12px}.payment-row .icon-btn{width:22px}.paid-btn{font-size:9px;padding:6px}.date-tile{min-width:38px;font-size:15px}.goal-grid{grid-template-columns:1fr;gap:12px}.goal-card{padding:20px}.goal-card h3{font-size:18px}.review-layout{padding-top:22px}.review-intro h2{font-size:23px}.review-intro p{font-size:11px}.review-metrics{margin-top:20px}.review-form textarea{font-size:13px}.review-actions .btn{font-size:11px}.note{font-size:10px}.form-row{gap:10px}dialog{padding:23px}.dialog-top h2{font-size:20px}.form-field{font-size:11px}.form-field input,.form-field select,.form-field textarea{font-size:16px}#toast{bottom:83px;font-size:11px;width:max-content}.empty-box{padding:28px 15px}.review-actions{flex-wrap:wrap}}
.task-editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px -3px 0;padding:12px 0 4px;border-top:1px solid var(--line);position:relative}
.task-editor-toolbar>.icon-btn,.task-menu-anchor>.icon-btn{width:37px;height:37px;border-radius:50%;color:#555045}
.task-editor-toolbar .icon-btn:hover,.task-editor-toolbar .icon-btn[aria-expanded=true]{background:#ebe6dc;color:var(--ink)}
.task-menu-anchor{position:relative}.task-action-menu{position:absolute;right:0;bottom:45px;width:285px;max-width:calc(100vw - 80px);padding:10px;background:#f3f0e9;border:1px solid #ded7ca;border-radius:13px;box-shadow:0 15px 45px #32281926;z-index:5;max-height:65dvh;overflow:auto}
.task-menu-context{font-size:10px;color:#9b8e7b;padding:4px 10px 9px;margin:0}
.task-menu-item{display:flex;align-items:center;gap:12px;padding:11px 10px;width:100%;font-size:12px;line-height:1.5;text-align:left;border-radius:6px}
.task-menu-item svg{width:17px;height:17px;flex-shrink:0}
.task-menu-item:hover{background:#e7e1d6}.task-menu-item.danger{color:#c65762}
.task-menu-separator{height:1px;background:#e1dacf;margin:7px 9px}
.task-menu-date{padding:12px 9px 4px;display:flex;gap:8px;align-items:flex-end}.task-menu-date label{font-size:10px;flex:1;min-width:0}.task-menu-date input{display:block;width:100%;padding:8px 6px;border:1px solid #d8d0c2;border-radius:6px;margin-top:6px;background:var(--paper);font-size:12px;color:var(--ink)}.task-menu-date .btn{font-size:10px;padding:8px;min-height:33px}
.task-extra-section{padding:15px 0;border-top:1px solid var(--line);margin-top:18px}
.extra-section-heading{font-size:12px;font-weight:550;display:flex;gap:8px;align-items:center;margin-bottom:13px}
.extra-section-heading svg{width:16px;height:16px}
.editor-checklist-item{display:flex;align-items:center;gap:9px;margin:7px 0}
.editor-checklist-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--purple);flex-shrink:0}
.editor-checklist-item input[type=text]{width:100%;min-width:0;border:0;border-bottom:1px solid var(--line);background:transparent;font-size:12px;padding:9px 0;color:var(--ink)}
.editor-checklist-item:has(input[type=checkbox]:checked) input[type=text]{text-decoration:line-through;color:#a09787}
.editor-file{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}
.editor-file a{display:flex;align-items:center;gap:9px;min-width:0;flex:1;font-size:12px;text-decoration:none;overflow-wrap:anywhere}.editor-file a:hover{color:var(--purple)}
.editor-file a svg{width:15px;height:15px;flex-shrink:0}.editor-file small{display:block;font-size:9px;color:#a29683;margin-top:4px}
#task-share-text{min-height:150px}
#toast:has([data-action=task-undo]){pointer-events:auto}#toast [data-action=task-undo]{color:#d6c4ff;font-weight:600;font-size:inherit;text-decoration:underline;text-underline-offset:3px;padding:3px 0 3px 10px;white-space:nowrap}
.task-reminders{padding:16px 20px;background:#f4e9da;border:1px solid #e8d5b9;border-radius:10px;margin-bottom:22px}
.task-reminders>div{display:flex;align-items:center;gap:9px;font-size:12px;margin-bottom:7px}.task-reminders>div svg{width:17px;height:17px;color:#aa8250}.task-reminders>div span{font-size:10px;color:#a58b69;margin-left:auto}
.task-reminders>button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;font-size:12px;line-height:1.7;padding:6px 0}.task-reminders time{font-size:11px;color:#ad8a60;flex-shrink:0}.task-reminders>button svg{width:13px;height:13px;margin-left:auto;flex-shrink:0}
.task-meta{display:block;font-size:9px;color:#a29a8c;line-height:1.6;margin-top:3px}
@media(max-width:560px){.task-menu-item{font-size:13px;padding:12px 9px}.task-editor-toolbar>.icon-btn,.task-menu-anchor>.icon-btn{width:39px;height:39px}.editor-checklist-item input[type=text]{font-size:16px}.task-menu-date input{font-size:16px}.task-reminders{padding:14px}.task-reminders>div{font-size:11px}.task-reminders>button{font-size:12px}}
.task-color-editor{margin:3px 0 20px;padding:14px;border:1px solid #e5dfd4;border-radius:9px;background:#f4f0e8}
.color-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;font-weight:550;margin-bottom:12px}
.color-clear{font-size:10px;font-weight:400;color:#8f8170;text-decoration:underline;text-underline-offset:3px}
.task-color-palette{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.task-color-swatch{width:24px;height:24px;border-radius:50%;border:3px solid #f4f0e8;padding:0;outline:1px solid transparent;flex-shrink:0}
.task-color-swatch:hover{outline-color:#a3937c}.task-color-swatch.selected{outline:2px solid #3d352a}
.task-color-custom{position:relative;display:grid;place-items:center;width:24px;height:24px;font-size:20px;color:#8e806b;cursor:pointer;overflow:hidden}
.task-color-custom input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.task-color-custom:focus-within{outline:2px solid var(--purple);outline-offset:2px;border-radius:5px}
.task-color-preview{margin-top:14px;font-size:12px;line-height:1.8;overflow-wrap:anywhere;min-height:24px}
.recurrence-editor{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin:3px 0 19px}
.recurrence-editor>.form-field{margin-bottom:12px}
.recurrence-editor #repeat-end{margin-top:13px}
.recurrence-editor #repeat-end .form-field{margin-bottom:6px}
.repeat-weekdays{border:0;margin:0 0 13px;padding:0;display:flex;gap:7px;flex-wrap:wrap}
.repeat-weekdays legend{font-size:11px;font-weight:550;margin-bottom:9px}
.repeat-weekdays label{position:relative;cursor:pointer}.repeat-weekdays input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.repeat-weekdays span{display:block;padding:7px 10px;font-size:11px;border-radius:6px;background:#eeeadf;color:#9b8c77}
.repeat-weekdays input:checked+span{background:#e6dcf7;color:#6e4fb0}.repeat-weekdays input:focus-visible+span{outline:2px solid var(--purple);outline-offset:2px}
#merge-imported-block{padding:12px;border-radius:8px;background:#f0eadd;margin-bottom:18px}
#merge-imported-block .review-check{margin-bottom:7px}
@media(max-width:560px){.task-color-palette{gap:10px}.task-color-swatch,.task-color-custom{width:27px;height:27px}.repeat-weekdays{gap:5px}.repeat-weekdays span{padding:8px 9px}}
.morning-panel{display:grid;grid-template-columns:1.1fr 1fr 1.25fr;gap:24px;padding:23px 24px;margin-bottom:24px;border:1px solid #e3ddd0;border-radius:12px;background:#f4f0e7}
.morning-panel>section{min-width:0}
.morning-panel>section+section{border-left:1px solid #e0d9cb;padding-left:24px}
.morning-panel .eyebrow{font-size:9px;letter-spacing:1.1px;line-height:1.7;margin-bottom:9px}
.morning-panel h2{font-size:19px;font-weight:620;letter-spacing:-.6px;line-height:1.35}
.daily-focus-title{font-size:14px;line-height:1.6;margin:10px 0 14px;overflow-wrap:anywhere}
.daily-focus-title.done{color:#66846e}
.morning-help{font-size:11px;color:#948773;line-height:1.8;margin:10px 0 16px}
.daily-focus-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap}
.daily-focus-actions .btn,.today-focus>.btn{font-size:11px;padding:9px 12px;min-height:36px}
.daily-focus-actions .review-link{font-size:10px}
.yesterday-outcome{font-size:11px;line-height:1.5;padding:7px 10px;border-radius:6px;text-align:left}
.yesterday-outcome.done{background:#e1eade;color:#54745b}
.yesterday-outcome.open{background:#eee0d1;color:#9c7150}
.daily-week-metrics{display:flex;gap:20px;margin:3px 0 14px;justify-content:space-between}
.daily-week-metrics strong{display:block;font-size:24px;font-weight:620;letter-spacing:-.7px;line-height:1.2}
.daily-week-metrics strong small{font-size:15px;color:#a69a86;font-weight:450;margin-left:2px}
.daily-week-metrics span{display:block;font-size:9px;color:#9b8b74;margin-top:5px;line-height:1.5}
.daily-week-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.quick-capture{display:flex;gap:8px;margin:0 0 16px}.quick-capture input{flex:1;min-width:0;border:1px solid var(--line);background:var(--paper);padding:12px;border-radius:8px;font:inherit;font-size:13px}.quick-capture select{max-width:130px;border:1px solid var(--line);background:var(--paper);border-radius:8px;font:inherit;font-size:12px}
.overdue-prompt{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 16px;border-radius:8px;background:#f4e9da;font-size:12px;margin-bottom:18px}
.search-results{max-height:55dvh;overflow:auto}.search-result{display:flex;gap:10px;border-bottom:1px solid var(--line);padding:12px 0}.search-result>button:first-child{flex:1;min-width:0;text-align:left}.search-result strong{font-size:13px;border-radius:5px;padding:2px 4px;line-height:1.6}.search-result small,.search-result span{display:block;color:#968b7b;font-size:11px;margin-top:6px;overflow-wrap:anywhere}.search-result span{color:var(--ink)}
.overdue-list{max-height:62dvh;overflow:auto}.overdue-list article{border-bottom:1px solid var(--line);padding:16px 0}.overdue-list strong{display:block;font-size:13px;line-height:1.6}.overdue-list small{display:block;color:#968b7b;margin:7px 0}.overdue-list article>div{display:flex;gap:6px;flex-wrap:wrap}.overdue-list .btn{font-size:11px;padding:6px 10px}
.cash-plan{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px;background:#eee7f6;border-radius:12px;margin:22px 0}.cash-plan h3{font-size:17px;margin:0 0 10px}.cash-plan p{font-size:12px;line-height:1.7}.cash-plan strong{font-size:19px}.cash-plan .btn{flex-shrink:0}
.goal-checkin{border:1px solid var(--line);border-radius:9px;padding:14px;margin:16px 0}.goal-checkin legend{font-size:13px;padding:0 6px}.goal-checkin label{display:block;font-size:12px;margin:8px 0}.goal-checkin input{display:block;width:100%;margin-top:8px;padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--paper);font:inherit}
@media(max-width:600px){.quick-capture{flex-wrap:wrap}.quick-capture input{flex-basis:100%;font-size:16px}.quick-capture select{flex:1;max-width:none;padding:9px}.cash-plan{flex-direction:column;align-items:flex-start;padding:16px}.overdue-prompt{font-size:11px;align-items:flex-start}.top-right{gap:6px}}
.daily-week-day{padding:6px 2px;border-radius:7px;background:#ebe6db;min-width:0}
.daily-week-day span{display:block;font-size:9px;color:#998c78;line-height:1.4}
.daily-week-day strong{display:block;font-size:15px;line-height:1.4;color:#b6ab99;font-weight:500}
.daily-week-day.done{background:#e0eadd}.daily-week-day.done strong{color:#578063}
.daily-week-day.open{background:#f0e1d6}.daily-week-day.open strong{color:#ae8060}
.daily-week-day.pending{background:#e9e0f7}.daily-week-day.pending strong{color:var(--purple)}
.daily-week-day.future{background:transparent;opacity:.55}
.daily-week-day.current{box-shadow:inset 0 0 0 1px #b6a2d6}
.daily-week-day:hover{box-shadow:inset 0 0 0 1px #b7ab93}
.daily-week-note{font-size:9px;color:#9c8d78;line-height:1.7;margin-top:10px}
.daily-week-note strong{font-weight:550;color:#706450}
.daily-task-star{color:var(--purple);font-size:10px}
.task.is-daily-focus{border-left:2px solid #b8a4e2;padding-left:5px}
[hidden]{display:none!important}
@media(max-width:1150px){.morning-panel{gap:17px;padding:20px}.morning-panel>section+section{padding-left:17px}.morning-panel h2{font-size:17px}.daily-focus-title{font-size:12px}.daily-week-metrics{gap:10px}.daily-week-metrics strong{font-size:22px}.daily-week-metrics span{font-size:8px}.daily-focus-actions{gap:9px}}
@media(max-width:800px){.morning-panel{grid-template-columns:1fr 1fr;gap:22px}.morning-panel .focus-week{grid-column:1/-1;border-left:0;padding:18px 0 0;border-top:1px solid #e0d9cb}.daily-week-metrics{justify-content:flex-start;gap:35px}.daily-week-days{max-width:380px}.daily-week-metrics span{font-size:9px}.daily-week-note{font-size:10px}.daily-focus-title{font-size:13px}}
@media(max-width:560px){.morning-panel{grid-template-columns:1fr;padding:19px 17px;gap:19px;margin-bottom:23px}.morning-panel>section+section{padding:17px 0 0;border-left:0;border-top:1px solid #e0d9cb}.morning-panel .focus-week{grid-column:auto;padding-top:17px}.morning-panel h2{font-size:20px}.morning-panel .eyebrow{font-size:9px}.morning-help{font-size:12px}.daily-focus-title{font-size:14px}.daily-focus-actions .btn,.today-focus>.btn{font-size:12px}.daily-week-metrics{justify-content:space-between;gap:10px}.daily-week-metrics strong{font-size:25px}.daily-week-metrics span{font-size:9px}.daily-week-day{padding:8px 2px}.daily-week-note{font-size:10px}.yesterday-outcome{font-size:12px}}
/* Weekends share one column, leaving more width for the five weekdays. */
@media(min-width:561px){
  .board>.day{display:flex;flex-direction:column;min-width:0}
  .board .day-tasks{flex:1}
  .board .day.is-weekend .day-tasks{min-height:84px}
}
@media(min-width:801px){
  .board{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(2,minmax(min-content,1fr))}
  .board>.day:nth-child(-n+5){grid-row:1 / span 2}
  .board>.day:nth-child(6){grid-column:6;grid-row:1}
  .board>.day:nth-child(7){grid-column:6;grid-row:2}
}
@media(min-width:561px) and (max-width:800px){
  .board{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(min-content,1fr))}
  .board>.day:nth-child(-n+3){grid-row:1 / span 2}
  .board>.day:nth-child(4){grid-column:1;grid-row:3 / span 2}
  .board>.day:nth-child(5){grid-column:2;grid-row:3 / span 2}
  .board>.day:nth-child(6){grid-column:3;grid-row:3}
  .board>.day:nth-child(7){grid-column:3;grid-row:4}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
dialog.recurring-move-dialog{width:min(796px,calc(100vw - 36px));max-width:none;background:#f8e8e0;padding:36px;border-radius:30px;color:#000}
.recurring-move-dialog h2{font-size:28px;line-height:1.25;margin:0 0 26px;letter-spacing:-.6px}.recurring-move-dialog p:not(.form-error){font-size:20px;line-height:1.5;margin:0 0 28px}
.recurring-move-actions{display:flex;gap:22px;flex-wrap:wrap}.recurring-move-actions .btn{border:1.5px solid #000;border-radius:40px;font-size:19px;font-weight:650;padding:15px 28px;color:#000;background:transparent}.recurring-move-actions .btn[type=submit]{background:#000;color:#fff}
@media(max-width:600px){dialog.recurring-move-dialog{padding:25px;border-radius:24px}.recurring-move-dialog h2{font-size:23px;margin-bottom:20px}.recurring-move-dialog p:not(.form-error){font-size:16px}.recurring-move-actions{gap:12px}.recurring-move-actions .btn{font-size:16px;padding:12px 18px;flex:1;white-space:nowrap}}
.expense-connection,.expense-warning{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--violet-bg);border:1px solid #ded5f4;padding:22px 25px;border-radius:var(--radius);margin-bottom:24px}.expense-connection p,.expense-warning p{font-size:12px;color:#716987;margin:7px 0 0;line-height:1.6}.expense-buttons{display:flex;gap:8px;flex-shrink:0}.expense-warning{display:block;background:var(--orange);color:white}.expense-warning p{color:white;margin-bottom:12px}.expense-layout{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:40px;align-items:start}.expense-input{background:#f2f0e9;border:1px solid var(--line);border-radius:var(--radius);padding:24px;min-width:0}.expense-input h2{font-size:18px;margin:0 0 22px}.expense-input textarea{resize:vertical;min-height:130px}.expense-upload{display:flex;gap:8px;align-items:center;border:1px dashed #c8c2b4;border-radius:9px;padding:14px;font-size:12px;cursor:pointer}.expense-upload svg,.expense-files svg{width:16px;height:16px;flex-shrink:0;fill:none;stroke:currentColor}.expense-upload input{position:absolute;width:1px;height:1px;opacity:0}.expense-upload:focus-within{outline:2px solid var(--purple)}.expense-file-list{font-size:11px;color:var(--muted);overflow-wrap:anywhere;margin-top:10px}.expense-csv-help{font-size:11px;line-height:1.7;margin:16px 0}.expense-csv-help summary{cursor:pointer}.expense-tabs{display:flex;flex-wrap:wrap;gap:5px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:14px}.expense-tabs button{padding:10px 14px;font-size:12px;border-radius:8px}.expense-tabs button.active{background:var(--ink);color:white}.expense-queue{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0 20px;border-bottom:1px solid var(--line)}.expense-queue p{font-size:12px;line-height:1.8;margin:0}.expense-queue small{color:var(--muted);font-size:10px}.expense-row{display:flex;justify-content:space-between;gap:20px;padding:21px 0;border-bottom:1px solid var(--line);min-width:0}.expense-row-main{min-width:0;overflow-wrap:anywhere}.expense-row-main>strong{font-size:14px;margin-right:8px}.expense-row-main>small{display:block;font-size:11px;color:var(--muted);margin-top:7px}.expense-row p{font-size:11px;line-height:1.5;color:#817b6c;margin:8px 0 0}.expense-row-side{display:flex;flex-direction:column;align-items:flex-end;gap:10px;flex-shrink:0}.expense-row-side>strong{font-size:15px;white-space:nowrap}.expense-status{display:inline-block;border-radius:5px;padding:4px 6px;background:#eeece5;font-size:9px;vertical-align:middle}.expense-status.good{background:var(--green-bg);color:var(--green)}.expense-status.attention{background:var(--orange-bg);color:var(--orange)}.expense-row-side .review-link{font-size:11px}.expense-files{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.expense-files a{display:flex;align-items:center;gap:5px;color:var(--purple);font-size:11px;overflow-wrap:anywhere;max-width:100%}.expense-batch{padding:20px 0;border-bottom:1px solid var(--line);font-size:12px}.expense-pages{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.expense-rule{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding:20px 0}.expense-rule strong{font-size:13px}.expense-rule small{display:block;font-size:11px;color:var(--muted);margin-top:5px}
@media(max-width:1050px){.expense-layout{gap:22px;grid-template-columns:minmax(230px,300px) minmax(0,1fr)}.expense-input{padding:18px}.expense-queue{align-items:flex-start;flex-direction:column}.expense-connection{align-items:flex-start}.expense-row{gap:10px}.nav{gap:0}.nav button{padding-left:10px;padding-right:10px}}
@media(max-width:700px){.expense-layout{grid-template-columns:1fr;gap:25px}.expense-connection{padding:18px;flex-direction:column;gap:14px}.expense-tabs button{padding:9px;font-size:11px}.expense-input{padding:20px}.expense-row-side>strong{font-size:13px}.expense-row-main>strong{font-size:13px}.expense-queue{flex-direction:row;align-items:center}.expense-queue .btn{font-size:10px;padding:10px}.nav button{padding-left:8px;padding-right:8px}.expense-pages .btn{font-size:11px;padding:10px}}
.stat-value.amount-unknown{font-size:22px;white-space:normal;line-height:1.3}.payment-info .payment-estimate{color:var(--orange)}@media(max-width:560px){.stat-value.amount-unknown{font-size:17px}.nav button[data-view=payments]{line-height:1.2;text-align:center}}
.expense-layout{grid-template-columns:minmax(330px,440px) minmax(0,1fr);gap:30px}.expense-chat-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.expense-chat-head h2{margin:0}.expense-chat-head .review-link{font-size:11px}.expense-messages{max-height:480px;overflow:auto;overscroll-behavior:contain;margin:12px 0 20px;padding:2px}.expense-message{padding:13px 15px;border-radius:13px;margin:10px 0;background:white;overflow-wrap:anywhere}.expense-message.from-user{background:#e8e0fa;margin-left:20px}.expense-message.from-assistant{margin-right:10px}.expense-message>small{font-size:10px;font-weight:650;color:var(--muted)}.expense-message>p{font-size:12px;line-height:1.7;margin:5px 0 0}.expense-previews{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.expense-previews a{max-width:100%;font-size:11px;overflow-wrap:anywhere}.expense-previews img{width:72px;height:92px;object-fit:cover;object-position:top;border-radius:6px;border:1px solid var(--line)}.expense-file-list>span{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0}.expense-file-list button{font-size:18px;flex-shrink:0}.expense-input.is-dragging{outline:3px solid var(--purple);background:#eee7fc}.expense-progress{font-size:12px;line-height:1.7;color:var(--purple);padding:12px}.expense-progress>span{display:inline-block;width:9px;height:9px;background:var(--purple);border-radius:50%;margin-right:7px;animation:expense-pulse 1.4s infinite}@keyframes expense-pulse{50%{opacity:.25}}@media(prefers-reduced-motion:reduce){.expense-progress>span{animation:none}}@media(max-width:1050px){.expense-layout{grid-template-columns:minmax(290px,360px) minmax(0,1fr);gap:22px}}@media(max-width:760px){.expense-layout{grid-template-columns:1fr}.expense-messages{max-height:390px}.expense-message>p{font-size:13px}.expense-input textarea{min-height:90px}}
.expense-ledger{min-width:0}@media(max-width:1000px){.expense-layout{grid-template-columns:1fr}.expense-messages{max-height:390px}}
@media(min-width:561px) and (max-width:1000px){.topbar{height:auto;min-height:76px;flex-wrap:wrap;padding:12px 0;gap:8px}.topbar .nav{order:3;flex-basis:100%;justify-content:space-between}.topbar .top-right{margin-left:auto}}
.expense-date-hint{font-size:12px;line-height:1.7;color:#777266;margin:0 0 20px}.expense-upload{justify-content:center;padding:22px 16px}.expense-upload span{font-size:12px;line-height:1.6}.expense-upload small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.expense-selected-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:9px;max-height:215px;overflow:auto;padding:3px}.expense-selected-file{min-width:0;position:relative;background:white;border:1px solid var(--line);border-radius:8px;padding:5px}.expense-selected-file img,.expense-file-icon{display:flex;align-items:center;justify-content:center;width:100%;height:72px;object-fit:cover;object-position:top;border-radius:4px}.expense-file-icon svg{width:25px;height:25px}.expense-selected-file>span:last-of-type{display:block;font-size:9px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;padding-top:5px}.expense-selected-file>button{position:absolute;right:1px;top:1px;background:#fff;border-radius:50%;width:23px;height:23px;box-shadow:0 1px 4px #0002;font-size:18px}.expense-selection-summary{font-size:11px;color:var(--muted);margin:12px 0 8px}.expense-composer-actions{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:18px 0 0}.expense-composer-actions>span{font-size:10px;line-height:1.6;color:var(--muted)}.expense-input textarea{font-size:13px;line-height:1.7;min-height:155px;max-height:330px}.expense-date-group>h3{font-size:12px;color:#7f796e;margin:25px 0 0;padding:10px 0;border-bottom:1px solid var(--line)}.expense-chat-range{display:flex;flex-wrap:wrap;gap:7px 12px;font-size:11px;margin:0 0 16px}.expense-chat-range:empty{display:none}.expense-chat-range>span{color:var(--muted)}.expense-chat-range>.expense-undated{color:var(--orange);flex-basis:100%}@media(max-width:560px){.expense-input textarea{font-size:16px}.expense-composer-actions{align-items:flex-start;flex-direction:column}.expense-composer-actions .btn{width:100%}.expense-selected-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
