:root{color-scheme:light;--bg:#f7f4ed;--surface:#fffcf7;--olive:#68734d;--olive-dark:#505b38;--pale:#e5e7d7;--ink:#352e28;--muted:#736e65;--line:#e5e0d6;--brown:#a77860;--danger:#a04b38;--shadow:0 4px 16px #352e2806;font-family:Arial,Helvetica,sans-serif;font-size:16px;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.55}button,input,select{ -webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a1ab81;outline-offset:3px}button{border:0;background:none}input,select{min-width:0;max-width:100%;border:1px solid var(--line);background:var(--surface);border-radius:12px;color:var(--ink);padding:12px;font-size:16px}input[type=checkbox]{accent-color:var(--olive);width:20px;height:20px}input[type=file]{width:100%}select{cursor:pointer}h1,h2,h3,p{margin:0}h1,h2,h3,.big-amount{font-family:Georgia,'Times New Roman',serif;font-weight:500}h1{font-size:44px;letter-spacing:-1.6px}h2{font-size:23px;letter-spacing:-.5px}h3{font-size:20px}p{line-height:1.6}small,.micro{font-size:13px;line-height:1.5;color:var(--muted)}.icon{width:23px;height:23px;flex-shrink:0;vertical-align:middle}.shell{max-width:1080px;margin:auto;padding:32px 40px 130px}header{display:flex;align-items:center;gap:12px;margin-bottom:36px}.profile-button{display:flex;align-items:center;gap:12px;padding:0;text-align:left;max-width:60%;font-size:14px}.profile-button>span:last-child{overflow-wrap:anywhere}.avatar{display:flex;align-items:center;justify-content:center;width:48px;height:48px;flex-shrink:0;object-fit:cover;border-radius:50%;background:#e5e1d5;color:#787565;overflow:hidden}.avatar .icon{width:29px;height:29px}.wordmark{margin-left:auto;text-align:right;font-family:Georgia,serif;font-size:20px}.wordmark small{display:block;font:12px Arial,sans-serif;margin-top:5px;letter-spacing:.3px}.version{display:none}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.period-control{display:flex;align-items:center;gap:2px;border:1px solid var(--line);border-radius:14px;font-size:14px;background:var(--surface);text-align:center}.period-control small{display:block;font-size:12px}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;border-radius:50%;flex-shrink:0}.icon-button:hover{background:var(--pale)}.finance-grid{display:grid;grid-template-columns:.95fr 1.15fr;gap:34px}.budget-card{background:var(--pale);border:1px solid #d9dcc8;border-radius:22px;padding:26px;color:#353c28}.budget-card>span{font-size:15px}.big-amount{display:block;font-size:48px;letter-spacing:-1.5px;margin:7px 0 24px;overflow-wrap:anywhere}.budget-metrics{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #cdd1bd;padding-top:18px;font-size:14px;gap:12px}.budget-metrics>div+div{border-left:1px solid #cdd1bd;padding-left:20px}.budget-metrics strong{display:block;font-size:21px;margin-top:5px;overflow-wrap:anywhere}.carry-button{display:flex;align-items:center;gap:6px;padding:16px 0 5px;font-size:14px}.carry-button .icon{width:15px}.budget-card>small{font-size:12px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:22px 0 12px}.section-heading>span{font-size:13px;color:var(--muted)}.activity-title{margin-top:0;min-height:35px}.count{border-radius:40px;background:#eae7df;padding:5px 9px}.accounts{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:10px}.account-card{display:flex;align-items:flex-start;flex-direction:column;gap:8px;padding:17px 13px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);min-width:0}.account-card:hover{border-color:#acb294}.account-card span{font-size:14px;overflow-wrap:anywhere}.account-card strong{font-size:17px;overflow-wrap:anywhere}.micro{margin-top:10px}.general-row{display:flex;justify-content:space-between;font-size:14px;border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.filters input,.filters select{width:100%;font-size:14px;padding:11px}.activity-list{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--surface);max-height:500px;overflow-y:auto}.transaction{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:17px 14px;border-bottom:1px solid var(--line)}.transaction:last-child{border:0}.transaction:hover{background:#f2f0e8}.transaction-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#efebe3;flex-shrink:0}.transaction-icon.income{background:var(--pale);color:var(--olive-dark)}.transaction-icon.transfer{background:#efefea}.transaction-body{flex:1;min-width:0}.transaction-body b{display:block;font-size:14px;font-weight:500;overflow-wrap:anywhere}.transaction-body small{display:block;margin-top:5px;font-size:12px;overflow-wrap:anywhere}.transaction>strong{font-size:14px;font-weight:500;max-width:40%;overflow-wrap:anywhere}.positive{color:var(--olive-dark)}.primary,.secondary,.danger{display:inline-flex;justify-content:center;align-items:center;gap:8px;border-radius:14px;padding:13px 18px;min-height:46px;font-size:14px;font-weight:500}.primary{background:var(--olive);color:#fffdf5;box-shadow:0 4px 8px #68734d18}.primary:hover{background:var(--olive-dark)}.secondary{background:var(--surface);border:1px solid var(--line)}.secondary:hover{background:#efeee4}.danger{background:var(--danger);color:white}.add-button{width:100%;margin-top:18px}.text-button{display:inline-flex;align-items:center;gap:5px;color:var(--olive-dark);font-size:14px;min-height:40px;padding:5px 0}.text-button .icon{width:17px}.empty{padding:36px 22px;text-align:center}.empty.small{border:1px dashed #d0d2c0;border-radius:20px;padding:24px 20px}.empty p{font-size:14px;color:var(--muted);max-width:300px;margin:10px auto}.empty-icon{display:inline-flex;background:var(--pale);padding:12px;border-radius:50%;margin-bottom:14px;color:var(--olive)}.empty h3{font-size:22px}nav{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(460px,calc(100% - 32px));display:flex;z-index:5;background:#fffdf8f5;border:1px solid #e5e0d6;border-radius:28px;padding:7px;box-shadow:0 6px 30px #352e2812;backdrop-filter:blur(15px)}nav button{flex:1;display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;padding:9px;border-radius:22px;font-size:12px;min-width:0}nav button.active{background:var(--pale);color:#3c4729}nav button:hover{background:#efeee4}nav .icon{width:23px;height:23px}.local-note{color:var(--muted);font-size:12px;line-height:1.6;margin:28px 0 0;text-align:center}.week-wrap{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line);padding-bottom:14px}.week{display:grid;grid-template-columns:repeat(7,1fr);flex:1;gap:6px}.week button{display:flex;flex-direction:column;align-items:center;gap:8px;padding:0;font-size:14px;color:var(--muted)}.week button b{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;font-size:18px;font-weight:400;color:var(--ink)}.week button.selected b{background:var(--olive);color:white}.day-meta{display:flex;align-items:center;gap:12px;padding:12px 0 2px;font-size:13px;color:var(--muted)}.day-meta .badge{margin-left:auto}.badge{background:#ebe9e0;border-radius:30px;display:inline-block;padding:7px 12px;font-size:12px;color:var(--ink)}.badge.off,.calendar-grid .off{background:var(--pale);color:#475135}.badge.work,.calendar-grid .work{background:#e9ddd1;color:#6c4f3e}.badge.vacation,.calendar-grid .vacation{background:#dde8e7;color:#435f5e}.habit-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:30px}.habit-list{display:flex;flex-direction:column;gap:12px}.habit-card{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:19px;padding:18px;min-height:98px}.habit-card>div{flex:1;min-width:0}.habit-card h3{font-size:21px;overflow-wrap:anywhere}.habit-card small{display:block;margin-top:6px}.habit-symbol .icon{width:28px;height:28px;color:var(--olive-dark)}.habit-card.is-done{background:#f5f6ec}.check-button{width:34px;height:34px;flex-shrink:0;border:1.5px solid #9a9a8c;border-radius:50%;display:flex;align-items:center;justify-content:center}.is-done .check-button{background:var(--olive);color:#fff;border-color:var(--olive)}.habit-menu{min-width:30px;width:30px}.habit-menu .icon{width:19px}.card{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.consistency{align-self:start;margin-top:23px;padding:20px}.consistency .section-heading{margin:0 0 16px;flex-wrap:wrap}.consistency h2{font-size:22px}.mini-grid{display:grid;grid-template-columns:repeat(14,1fr);gap:5px}.square{display:inline-block;aspect-ratio:1;background:#eae9dd;border-radius:3px;min-width:0}.square.complete{background:var(--olive)}.square.partial{background:#a6af87}.square.missed{background:#d2b69f}.square.upcoming{background:transparent;border:1px solid #babdab}.legend{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:16px 0;font-size:12px;color:var(--muted)}.legend>span{display:flex;align-items:center;gap:5px}.legend .square{width:12px}.manage{display:flex;margin:6px auto}.settings-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:32px}.profile-card{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:20px}.profile-card>span:nth-child(2){flex:1;min-width:0}.profile-card b{font-weight:500;overflow-wrap:anywhere}.profile-card small{display:block;margin-top:7px}.profile-card .avatar{width:60px;height:60px}.section-title{margin:24px 0 12px}.section-title.first{margin-top:0}.settings-rows{padding:0 16px}.settings-rows label,.settings-rows button,.settings-row{display:flex;align-items:center;gap:12px;padding:17px 0;min-height:62px;border-bottom:1px solid var(--line);width:100%;font-size:14px;text-align:left}.settings-rows label:last-child,.settings-rows button:last-child,.settings-row:last-child{border-bottom:0}.settings-rows label>span,.settings-rows button>span,.settings-row>span{flex:1}.settings-rows select{font-size:14px;border:0;background:transparent;padding:4px;max-width:48%}.settings-row small{max-width:45%;overflow-wrap:anywhere;text-align:right}.preview-info{margin-top:24px;padding:22px;border:1px dashed #d0d2c0;border-radius:18px}.preview-info p{margin-top:12px;font-size:14px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:24px;background:var(--bg);color:var(--ink);width:min(480px,calc(100vw - 24px));padding:24px;max-height:90dvh;overflow-y:auto;box-shadow:0 24px 80px #25261d30}dialog::backdrop{background:#272a205f;backdrop-filter:blur(3px)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.modal-head h2{font-size:27px}dialog p{font-size:14px}.field{display:flex;flex-direction:column;gap:8px;margin:16px 0;font-size:14px}.field>span{color:var(--muted)}.field input,.field select{width:100%}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.form-actions button{flex:1}.form-error{color:var(--danger);margin-top:12px}.form-error:empty{display:none}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.segmented{display:flex;padding:4px;background:#ebe8df;border-radius:14px;gap:4px}.segmented button{flex:1;padding:11px 5px;border-radius:11px;font-size:14px}.segmented .selected{background:var(--surface);box-shadow:var(--shadow)}.amount-input{display:flex;align-items:center;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding-left:12px;gap:8px}.amount-input input{border:0;background:transparent;font-size:26px}.amount-input>span{color:var(--muted);font-size:14px}.danger-link{color:var(--danger);min-height:44px;font-size:14px}.full{width:100%;margin-top:12px}.check-label{display:flex;align-items:center;gap:10px;font-size:14px;margin-top:18px}.week-picker{display:flex;gap:5px}.week-picker[hidden]{display:none}.week-picker label{flex:1;text-align:center;font-size:12px}.week-picker input{display:block;margin:0 auto 5px}.calendar-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar-grid small{text-align:center;font-size:12px;padding-bottom:6px}.calendar-grid button{border:1px solid var(--line);border-radius:12px;min-height:46px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:14px}.calendar-grid button>span{font-size:12px;height:12px}.calendar-grid button:hover{outline:2px solid var(--olive)}.manage-row{display:flex;width:100%;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);text-align:left;gap:12px}.manage-row small{display:block;margin-top:6px}.year-card{margin:20px 0;padding:20px}.year-card .section-heading{margin-top:0}.year-months{display:grid;grid-template-columns:repeat(6,minmax(100px,1fr));gap:20px}.year-month>b{font-size:13px;font-weight:500}.month-dots{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:8px}.year-month .square{min-height:10px}.year-card .section-heading>span{white-space:nowrap}#toast{position:fixed;bottom:115px;left:50%;transform:translate(-50%,15px);padding:13px 20px;background:#343c28;color:white;border-radius:14px;max-width:calc(100% - 32px);font-size:14px;line-height:1.5;z-index:20;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1100px){.shell{padding-top:48px}nav{bottom:24px}}
@media(max-width:720px){.shell{padding:24px 22px 130px;max-width:510px}header{margin-bottom:25px}.wordmark{display:none}.version{display:block;margin-left:auto;color:var(--muted);font-size:12px}.profile-button{max-width:85%}.avatar{width:42px;height:42px}.page-heading{margin-bottom:18px}h1{font-size:38px}.period-control{font-size:12px}.period-control .icon-button{min-width:30px;min-height:38px}.period-control .icon{width:16px}.finance-grid,.habit-grid,.settings-grid{display:block}.budget-card{padding:22px}.big-amount{font-size:46px;margin-bottom:20px}.accounts{grid-template-columns:repeat(auto-fit,minmax(95px,1fr))}.account-card{padding:15px 12px}.account-card strong{font-size:16px}.section-heading{margin-top:20px}.activity-title{margin-top:22px}.activity-list{max-height:430px}.transaction{padding:14px 12px;gap:10px}.transaction>strong{font-size:14px}.filters{gap:8px}.empty{padding:28px 16px}.empty.small{padding:20px}.local-note{margin-top:24px}.week-wrap{gap:0;margin-left:-10px;margin-right:-10px}.week-wrap>.icon-button{min-width:26px;width:26px}.week-wrap>.icon-button .icon{width:18px}.week{gap:2px}.week button{font-size:12px}.week button b{width:36px;height:36px;font-size:17px}.day-meta{flex-wrap:wrap;gap:6px;font-size:12px}.day-meta .badge{font-size:12px}.page-heading>.secondary{font-size:12px;padding:10px;min-height:40px}.page-heading>.secondary .icon{width:18px}.habit-card{padding:17px 14px;gap:11px;min-height:90px}.habit-card h3{font-size:21px}.habit-card small{font-size:13px}.habit-menu{min-width:24px;width:24px}.check-button{width:33px;height:33px}.consistency{margin-top:23px;padding:18px}.section-title.first{margin-top:26px}.settings-rows{padding:0 14px}.settings-rows label,.settings-row{gap:10px}.profile-card{padding:17px}.year-months{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.year-card{padding:16px}.year-card .section-heading{flex-wrap:wrap}dialog{padding:20px}.form-columns{gap:8px}}
@media(max-width:360px){.shell{padding-left:14px;padding-right:14px}.big-amount{font-size:39px}h1{font-size:33px}.habit-card{gap:7px}.habit-symbol{display:none}.transaction-body b{font-size:13px}.transaction>strong{font-size:13px}.accounts{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.crop-stage{position:relative;width:min(100%,320px);aspect-ratio:1;margin:20px auto;overflow:hidden;border-radius:18px;background:#dedbd3}.crop-stage canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.crop-stage canvas:active{cursor:grabbing}.crop-mask{position:absolute;inset:0;pointer-events:none;border-radius:50%;border:2px solid #fffaf1;box-shadow:0 0 0 70px #352e2866}#crop-zoom{width:100%;accent-color:var(--olive);padding:0;min-height:36px}.day-meta .badge{max-width:100%;overflow-wrap:anywhere}.calendar-grid button span{line-height:1;font-size:11px}.legend .badge{max-width:100%;overflow-wrap:anywhere}
.allocation-line{display:flex;justify-content:space-between;gap:12px;padding-top:16px;font-size:14px}.tracking-label{color:var(--olive-dark);font-size:12px}.report-scroll{overflow:auto;margin-top:22px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.finance-table{border-collapse:separate;border-spacing:0;font-size:14px;min-width:1600px;width:100%}.finance-table th,.finance-table td{padding:15px 12px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}.finance-table th:first-child{position:sticky;left:0;z-index:1;background:var(--surface);text-align:left;white-space:normal;min-width:170px;max-width:220px;overflow-wrap:anywhere;border-right:1px solid var(--line)}.finance-table thead th{background:var(--pale);font-weight:500}.finance-table thead th:first-child{background:var(--pale)}.finance-table th small{display:block;font-size:12px;margin-top:5px}.finance-table .report-income td{background:#edf0e2}.finance-table .report-total td,.finance-table .report-total th{border-top:1px solid #bbbfa9;font-weight:bold}.finance-table tbody th{font-weight:400}
:root{--button-ink:#fffdf5;--soft:#ebe9e0;--budget-ink:#353c28;--budget-line:#cdd1bd;--nav:#fffdf8f5;--hover:#f2f0e8;--done:#f5f6ec;--empty-dot:#eae9dd;--missed:#d2b69f;--partial:#a6af87;--report:#edf0e2}
:root[data-theme=rose]{--bg:#faf2ef;--surface:#fffaf7;--olive:#975d72;--olive-dark:#7c4258;--pale:#efdce3;--ink:#49353d;--muted:#806b73;--line:#e9d9dd;--soft:#f0e4e6;--budget-ink:#61384a;--budget-line:#d9bbc8;--nav:#fffaf7f5;--hover:#f5e9ee;--done:#f7eaf0;--empty-dot:#eae1e3;--missed:#c9aa91;--partial:#c896ac;--report:#f4e5ec;--shadow:0 4px 16px #61384a08}
:root[data-theme=dark]{color-scheme:dark;--bg:#20231f;--surface:#2b3029;--olive:#a8bb88;--olive-dark:#c2d3a6;--pale:#3b4532;--ink:#f0eee6;--muted:#b8baae;--line:#474d41;--soft:#373c33;--budget-ink:#f0eee6;--budget-line:#5c694e;--nav:#2b3029f5;--hover:#353d30;--done:#323c2c;--empty-dot:#43483b;--missed:#aa7d65;--partial:#7d9162;--button-ink:#20271b;--report:#343e2b;--danger:#dd9986;--shadow:0 4px 16px #00000018}
.primary{color:var(--button-ink)}.primary:hover{background:var(--olive-dark)}.budget-card{color:var(--budget-ink);border-color:var(--budget-line)}.budget-metrics,.budget-metrics>div+div{border-color:var(--budget-line)}.count,.transaction-icon,.transaction-icon.transfer,.badge,.segmented{background:var(--soft)}.transaction:hover,.secondary:hover,nav button:hover{background:var(--hover)}nav{background:var(--nav);border-color:var(--line)}nav button.active{color:var(--olive-dark)}.avatar{background:var(--soft);color:var(--muted)}.habit-card.is-done{background:var(--done)}.is-done .check-button{color:var(--button-ink)}.square{background:var(--empty-dot)}.square.complete{background:var(--olive)}.square.partial{background:var(--partial)}.square.missed{background:var(--missed)}.square.upcoming{background:transparent;border-color:var(--muted)}.finance-table .report-income td{background:var(--report)}.empty.small,.preview-info{border-color:var(--line)}.check-button{border-color:var(--muted)}.week button.selected b{color:var(--button-ink)}.calendar-grid .off,.badge.off{background:var(--bg);color:var(--ink)}input[type=color]{width:100%;height:46px;padding:5px;cursor:pointer}.danger{color:var(--bg)}#toast{background:var(--ink);color:var(--bg)}
:root[data-theme=dark-rose]{color-scheme:dark;--bg:#282127;--surface:#342a32;--olive:#d7a3b9;--olive-dark:#e8bad0;--pale:#503747;--ink:#f5eaf0;--muted:#c8b5c0;--line:#594650;--soft:#46353f;--budget-ink:#f5eaf0;--budget-line:#765568;--nav:#342a32f5;--hover:#493640;--done:#41303c;--empty-dot:#53424c;--missed:#b58c78;--partial:#ad788f;--button-ink:#30212a;--report:#46303e;--danger:#e3a091;--shadow:0 4px 16px #00000018}
.days-settings-button{margin:8px 0 8px 12px}.day-settings-list{margin-top:16px}.day-settings-row{display:flex;align-items:center;gap:12px;min-height:66px;border-bottom:1px solid var(--line)}.day-settings-row>span:first-child{flex:1;overflow-wrap:anywhere}.color-control{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0}.color-control input[type=color]{appearance:none;-webkit-appearance:none;width:36px;height:36px;padding:0;border:2px solid var(--line);border-radius:50%;overflow:hidden;background:transparent}.color-control input::-webkit-color-swatch-wrapper{padding:0}.color-control input::-webkit-color-swatch{border:0;border-radius:50%}.color-control input::-moz-color-swatch{border:0;border-radius:50%}.delete-day-button{width:40px;height:40px;flex-shrink:0;border-radius:50%;background:#f2dddd;color:#9b413e;display:flex;align-items:center;justify-content:center}.delete-day-button .icon{width:19px;height:19px}.day-delete-placeholder{width:40px;flex-shrink:0}[data-theme=dark] .delete-day-button,[data-theme=dark-rose] .delete-day-button{background:#593b40;color:#efb0ad}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Period reconciliation and accessible ordering controls */
.heading-actions,.order-row{display:flex;align-items:center;gap:8px}.order-row{padding:10px 0;border-bottom:1px solid var(--line)}.order-row span{flex:1;overflow-wrap:anywhere}.rollover-row{display:grid;gap:10px;margin:18px 0}.rollover-row select{width:100%}.modal-head h2{flex:1;min-width:0}.modal-head>.icon-button{flex-shrink:0}.order-row button:disabled{opacity:.3}.report-scroll{margin-top:16px}

/* Compact budget details, report help, and mobile branding */
.brand-short{display:none}.app-footer{margin-top:28px;text-align:right}.app-footer .version{display:inline;color:var(--muted);font-size:11px}
.budget-timing{margin-top:16px;font-size:13px;color:var(--muted)}.budget-details{margin-top:10px}.budget-details>summary{display:flex;align-items:center;gap:4px;width:max-content;cursor:pointer;font-size:14px;min-height:40px;list-style:none}.budget-details>summary::-webkit-details-marker,.info-disclosure>button::-webkit-details-marker{display:none}.budget-details>summary .icon{width:16px;height:16px}.budget-details[open]>summary .icon{transform:rotate(90deg)}.budget-breakdown{border-top:1px solid var(--line);padding-top:6px}.budget-breakdown .carry-button{width:100%;padding:10px 0;flex-wrap:wrap}.opening-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;padding:10px 0}.budget-breakdown .carry-button b{margin-left:auto}
.report-title{display:flex;align-items:center;gap:10px;position:relative}.report-controls{display:flex;align-items:center;gap:12px;flex-shrink:0}.report-title h1{min-width:0}.info-disclosure{flex-shrink:0}.info-disclosure>button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;cursor:pointer;list-style:none}.info-disclosure>button span{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--muted);border-radius:50%;color:#246db5;font:bold 17px Georgia,serif}.info-tooltip{display:none;position:absolute;top:100%;right:0;width:min(320px,calc(100vw - 44px));z-index:10;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);box-shadow:0 8px 26px #0002;font:14px/1.5 Arial,sans-serif}.info-disclosure.is-open>.info-tooltip,.info-disclosure>button:focus-visible+.info-tooltip{display:block}summary:focus-visible{outline:3px solid var(--olive);outline-offset:3px;border-radius:8px}
@media(hover:hover){.info-disclosure:hover>.info-tooltip{display:block}}
[data-theme="dark"] .info-disclosure>button span,[data-theme="dark-rose"] .info-disclosure>button span{color:#88bfff}
@media(max-width:720px){header .wordmark{display:block;flex-shrink:0;font-size:18px}header .brand-full,header .wordmark small{display:none}header .brand-short{display:inline}header .profile-button{min-width:0;max-width:65%}header .profile-button>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-heading:has(.report-controls){flex-wrap:wrap;align-items:flex-start}.report-controls{margin-left:auto;gap:8px}.report-controls>.secondary{min-height:38px;padding:8px 14px}.report-title h1{font-size:34px}.app-footer{margin-top:24px}}

/* Two aligned metric rows; centered disclosure control. */
.budget-metrics-second{margin-top:18px}.budget-details>summary{margin-inline:auto}.budget-metrics>div{min-width:0}

/* Consistent form help and delete actions. */
.help-field{position:relative}.field-heading{display:flex;align-items:center;gap:6px;color:var(--muted)}.field-heading>label{cursor:pointer}.field-heading .info-disclosure>button{width:32px;height:32px;padding:0}.field-heading .info-disclosure>button span{width:21px;height:21px;font-size:15px}.help-field .info-tooltip{top:38px;left:0;right:auto;max-width:100%;z-index:12}.delete-centered{display:flex;width:max-content;max-width:100%;margin:20px auto 0;min-width:120px}.delete-centered:hover{filter:brightness(.92)}
@media(max-width:720px){header{flex-wrap:wrap}header .wordmark{display:block;max-width:100%;font-size:17px;flex-shrink:1}header .brand-full{display:inline}header .brand-short{display:none}header .wordmark small{display:block;font-size:10px;line-height:1.5;letter-spacing:0}header .profile-button{max-width:50%;flex-shrink:1}}
@media(max-width:420px){header .profile-button{max-width:100%}header .wordmark{width:100%;margin:4px 0 0;text-align:center;font-size:19px}header .wordmark small{font-size:11px}}

/* Keep notifications in the modal top layer and visible while scrolling. */
dialog #toast{display:none;position:sticky;top:0;left:auto;bottom:auto;transform:none;max-width:none;width:100%;margin:0 0 16px;z-index:30;box-shadow:0 4px 16px #0003;overflow-wrap:anywhere}dialog #toast.show{display:block;transform:none}

.select-measure{position:fixed;visibility:hidden;white-space:pre;pointer-events:none}.settings-rows select{flex-shrink:1;max-width:60%;min-width:42px}

.password-meter{display:block;margin-top:7px}.password-track{display:block;height:4px;border-radius:8px;background:#bc514b;overflow:hidden}.password-track i{display:block;height:100%;transition:width .15s,background-color .15s}.password-meter small{display:block;font-size:11px;color:var(--muted);margin-top:5px}@media(prefers-reduced-motion:reduce){.password-track i{transition:none}}
