:root{font-family:"Segoe UI",sans-serif;color:#183b43;background:#f5f3ec;font-size:16px;--ink:#183b43;--muted:#52666a;--line:#d3dcd9;--accent:#a34a2b}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;background:var(--ink);color:white;border:1px solid var(--ink);border-radius:5px;padding:12px 18px;min-height:44px;font-weight:600}button:hover{background:#285560}button:disabled{opacity:.55;cursor:wait}button.secondary{background:white;color:var(--ink);border-color:var(--line)}button.secondary:hover{background:#edf2ef}button.danger{color:#972b20;background:white;border-color:#dcb4ac}button.small{padding:7px 12px;font-size:14px}input,select,textarea{width:100%;padding:11px 12px;background:white;border:1px solid #96a7a8;border-radius:4px;color:var(--ink);min-height:44px}textarea{resize:vertical;min-height:74px}input::placeholder,textarea::placeholder{color:#627275}input,textarea{caret-color:var(--accent)}:focus-visible{outline:3px solid #b9673d;outline-offset:3px}::selection{background:#ceddd7;color:#183b43}*{scrollbar-color:#8ca09f #f5f3ec}a{color:#265d6a;text-underline-offset:4px}h1{font-size:32px;line-height:1.15;letter-spacing:-.025em;margin:0 0 12px;font-weight:650}h2{font-size:22px;font-weight:650;margin:0 0 20px}h3{font-size:17px;margin:0 0 12px}p{line-height:1.5;margin:8px 0 16px;max-width:72ch}.muted,small{color:var(--muted)}small{font-size:13px;line-height:1.4}.shell{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--ink);color:#fff;padding:32px 22px;display:flex;flex-direction:column;gap:28px}.brand{font-size:23px;font-weight:650;letter-spacing:-.02em}.sidebar p{color:#bfd1d3;font-size:13px}.sidebar nav{display:grid;gap:7px}.sidebar button{background:transparent;border-color:transparent;text-align:left;color:#dce8e8}.sidebar button:hover,.sidebar button.active{background:#31545c;color:white}.sidebar .bottom{margin-top:auto}.workspace{padding:38px clamp(20px,4vw,64px);max-width:1550px;width:100%;margin:auto}.topbar{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:28px}.filters{display:flex;gap:12px;align-items:end}.filters label{font-size:13px;min-width:130px}.filters input,.filters select{margin-top:5px}.overview{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;gap:20px;margin-bottom:30px}.metric dt{font-size:14px;color:var(--muted);margin-bottom:7px}.metric dd{font-size:25px;font-weight:600;margin:0;font-variant-numeric:tabular-nums}.metric{margin:0}.main-grid{display:grid;grid-template-columns:minmax(300px,390px) minmax(0,1fr);gap:36px;align-items:start}.entry{background:white;padding:26px;border:1px solid var(--line);border-radius:7px}.entry h2{margin-bottom:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.full{grid-column:1/-1}label{display:block;font-size:14px;font-weight:500}label input,label select,label textarea{margin-top:7px}.amount input{font-size:28px;line-height:1.2;font-variant-numeric:tabular-nums}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:20px}.actions a{font-size:14px}.notice{background:#ece9df;padding:15px 18px;border-radius:5px;margin:20px 0;font-size:14px;line-height:1.5}.notice strong{font-weight:650}.accounts{list-style:none;margin:0;padding:0}.accounts li{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding:14px 0}.accounts strong{font-size:17px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.accounts small{display:block;margin-top:4px}.negative{color:#9a3625}.table-wrap{overflow:auto;margin:18px 0}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;color:var(--muted);font-weight:500;padding:12px;border-bottom:1px solid #a7b7b5;white-space:nowrap}td{padding:15px 12px;border-bottom:1px solid var(--line);vertical-align:top}td small{display:block;margin-top:4px}.number{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table-wrap input{min-width:115px}td button{white-space:nowrap}.empty{padding:28px 10px;border-top:1px solid var(--line);color:var(--muted)}.section{margin-top:36px}.auth{max-width:440px;margin:10vh auto;padding:32px;background:white;border:1px solid var(--line);border-radius:7px}.auth form{display:grid;gap:20px}.auth h1{font-size:29px}.auth p{color:var(--muted)}.loading{padding:40px}.debt-row{padding:22px 0;border-bottom:1px solid var(--line)}.debt-head{display:flex;justify-content:space-between;gap:20px}.debt-head p{margin-bottom:8px}.debt-details{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:16px 0}.debt-details strong{display:block;font-size:20px;margin-top:7px;font-weight:600;font-variant-numeric:tabular-nums}.settings{max-width:660px}.settings form{margin-bottom:32px}.inline-error{color:#9a3625;margin:10px 0}.journal-heading{display:flex;justify-content:space-between;gap:15px;align-items:center}.journal-heading h2{margin:0}#message:empty{display:none}#message{position:fixed;bottom:20px;right:20px;max-width:min(460px,calc(100vw - 40px));padding:16px 20px;background:#183b43;color:white;box-shadow:0 8px 24px #183b4326;border-radius:6px;z-index:10}#message.error{background:#8e3023}.subtle{font-size:13px;color:var(--muted);margin-top:20px}details{margin:20px 0}summary{cursor:pointer;padding:10px 0;font-weight:600}.editor{background:white;border:1px solid var(--line);padding:22px;margin:20px 0;border-radius:6px}footer{margin-top:38px;color:var(--muted);font-size:12px}.password-note{margin-top:20px}.mobile-only{display:none}@media(max-width:1100px){.shell{grid-template-columns:175px 1fr}.sidebar{padding:28px 16px}.workspace{padding:28px 24px}.main-grid{grid-template-columns:1fr}.entry{max-width:none}.topbar{flex-wrap:wrap}.filters{flex:1}.filters label{flex:1}.overview{gap:12px}.metric dd{font-size:23px}}@media(max-width:650px){.shell{display:block}.sidebar{padding:17px 18px;gap:14px}.brand{font-size:21px}.sidebar>p,.sidebar .bottom{display:none}.sidebar nav{display:flex;overflow-x:auto;gap:4px}.sidebar nav button{font-size:14px;padding:9px 12px;white-space:nowrap}.workspace{padding:26px 18px}.topbar{gap:13px;margin-bottom:22px}.topbar h1{font-size:27px}.topbar p{font-size:14px}.filters{width:100%;gap:10px}.filters label{min-width:0}.overview{grid-template-columns:1fr;padding:4px 0;gap:0;margin-bottom:24px}.metric{display:flex;align-items:center;justify-content:space-between;padding:13px 0;gap:12px}.metric dt{margin:0;max-width:58%}.metric dd{font-size:21px}.entry{padding:20px}.form-grid{gap:15px}.main-grid{gap:28px}.auth{margin:36px 18px;padding:26px}.debt-details{grid-template-columns:1fr 1fr}.debt-head{flex-wrap:wrap;gap:8px}.debt-head h2{font-size:20px}.table-wrap{margin-left:-6px;margin-right:-6px}th,td{padding:12px 8px}.actions button{flex:1}.journal-heading{flex-wrap:wrap}.mobile-only{display:block}.section{margin-top:30px}}@media(prefers-reduced-motion:no-preference){#message{animation:appear .18s ease-out}@keyframes appear{from{transform:translateY(8px)}to{transform:translateY(0)}}}
[hidden]{display:none!important}

/* Allow controls and long content to shrink inside grid and flex layouts. */
.workspace,.form-grid>* ,.filters>*,.debt-details>*,.metric>*{min-width:0}
input,select,textarea{min-width:0;max-width:100%}
@media(max-width:650px){
  .sidebar nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}
  .sidebar nav button{padding:9px 4px;text-align:center;font-size:13px;white-space:normal}
  .form-grid,.debt-details{grid-template-columns:minmax(0,1fr)}
  input,select,textarea{font-size:16px}
  .accounts li{flex-wrap:wrap;gap:8px 16px}
  .accounts li>*,.debt-head>*{min-width:0;max-width:100%;overflow-wrap:anywhere}
  .metric{flex-wrap:wrap}.metric dd{margin-left:auto}
  .table-wrap{margin:18px 0;overflow:visible}
  .table-wrap table,.table-wrap tbody,.table-wrap tfoot{display:block}
  .table-wrap thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .table-wrap tr{display:block;padding:16px 0;border-bottom:1px solid var(--line)}
  .table-wrap td{display:block;border:0;padding:7px 0;white-space:normal;overflow-wrap:anywhere;text-align:left}
  .table-wrap td:first-child{font-weight:600;font-size:16px}
  .table-wrap td:not(:first-child)::before{content:attr(data-label);display:block;font-size:13px;font-weight:400;color:var(--muted);margin-bottom:5px}
  .table-wrap input{min-width:0}
  .table-wrap td button{margin:0 4px 6px 0}
  #message{position:static;max-width:none;margin:16px 18px;box-shadow:none}
}
@media(max-width:400px){.filters{flex-direction:column;align-items:stretch}.filters label{width:100%}}

dialog{border:1px solid #96a7a8;border-radius:7px;padding:28px;color:#183b43;max-width:min(440px,calc(100vw - 36px));box-shadow:0 16px 48px #0003}dialog::backdrop{background:#183b4366}dialog h2{font-size:22px}

.forecast{margin-bottom:32px}.forecast li>span:first-child{min-width:0}.forecast li>span:first-child strong{white-space:normal;font-size:16px}.forecast li>div{min-width:0}


.sales-toolbar{display:flex;align-items:end;gap:20px;margin:24px 0}.sales-toolbar label{max-width:240px}.sales-totals{display:flex;gap:40px;border-block:1px solid var(--line);padding:20px 0}.sales-totals dt{font-size:14px;color:var(--muted)}.sales-totals dd{margin:8px 0 0;font-size:25px;font-weight:650}.sales-row{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:30px;padding:24px 0;border-bottom:1px solid var(--line)}.sales-row h3{margin-bottom:6px}.sales-side strong,.sales-side small{display:block}.sales-side strong{margin:6px 0}.sales-editor{padding:24px;background:white;border:1px solid var(--line);margin:26px 0}.sales-note{white-space:pre-wrap;overflow-wrap:anywhere}.sales p,.sales h3,.sales small{overflow-wrap:anywhere}.sales .accounts li{align-items:start}.sales-editor textarea{min-height:85px}.sales-editor h2{overflow-wrap:anywhere}@media(max-width:650px){.sales-row{grid-template-columns:1fr;gap:4px}.sales-side{display:flex;flex-wrap:wrap;gap:14px}.sales-side p{flex:1;min-width:125px}.sales-side button{width:100%}.sales-totals{display:block}.sales-totals>div+div{margin-top:18px}.sales-toolbar{align-items:stretch;flex-direction:column}.sales-editor{padding:18px}.sales-editor .form-grid{grid-template-columns:1fr}.sales-editor .accounts li{flex-wrap:wrap}}

.expected-actions{text-align:right;flex-shrink:0}.expected-actions small{display:block;margin:6px 0}.income-plan .accounts li{align-items:start}.income-plan .accounts li>div:first-child{min-width:0;overflow-wrap:anywhere}.income-plan button{margin-top:8px}@media(max-width:650px){.income-plan .accounts li{flex-wrap:wrap}.expected-actions{text-align:left}}
