:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#263f34;background:#f5f2e9;font-synthesis:none;--green:#294b3d;--wine:#812f27;--muted:#73796e;--line:#d9ded3;--cream:#fffdf7}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{border:1px solid #b9c4b8;background:var(--cream);color:var(--green);border-radius:7px;padding:10px 15px;cursor:pointer;font-size:13px;font-weight:600;min-height:40px}button:hover{background:#e8ede3}button:disabled{opacity:.42;cursor:not-allowed}.primary{background:var(--wine);border-color:var(--wine);color:white}.primary:hover{background:#68251f}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b18c43;outline-offset:3px}input{min-width:0;border:1px solid #bec9bc;background:white;padding:11px 12px;border-radius:5px;color:#263f34;width:100%;font-size:15px}input[type=checkbox]{width:17px;height:17px;accent-color:var(--green);cursor:pointer;margin:0}label{display:grid;gap:9px;font-size:13px;font-weight:500}a{color:inherit}.topbar{min-height:88px;border-bottom:1px solid var(--line);background:#fbf9f2;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 3.5%}.wordmark{font-size:24px;letter-spacing:-1px;text-decoration:none;font-weight:750;line-height:1.05}.wordmark>span{font-weight:400;color:var(--wine)}.wordmark small{display:block;font-size:10px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;margin-top:8px;color:var(--muted)}.header-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.lang-switch{display:flex;background:#e8ebdf;padding:3px;border-radius:25px}.lang-switch button{border:0;border-radius:22px;background:none;min-height:32px;padding:6px 13px;font-size:11px;letter-spacing:.5px}.lang-switch button[aria-pressed=true]{color:white;background:var(--green)}.quiet{border:0;background:none;padding:8px 5px;min-height:32px;font-weight:500}.quiet:hover{color:var(--wine);background:transparent}#identity{font-size:12px;border-left:1px solid var(--line);padding-left:15px}#identity:empty{display:none}main{padding:46px 3.5% 36px;max-width:1700px;margin:auto}h1{font-size:34px;line-height:1.15;letter-spacing:-1px;margin:11px 0 12px;font-weight:650}h2{font-size:24px;line-height:1.2;margin:0 0 12px;letter-spacing:-.5px}h3{font-size:18px;font-weight:600}.muted{color:var(--muted);font-size:12px;line-height:1.7}.eyebrow{font-size:10px;letter-spacing:2px;color:#7c856f;font-weight:700}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:30px}.page-heading p{font-size:13px;margin:0}.sync-status{font-size:11px;display:flex;align-items:center;gap:8px;white-space:nowrap;color:#526750}.sync-status::before{content:"";width:7px;height:7px;border-radius:50%;background:#5f8b5a}.sync-status.offline{color:#8b442e}.sync-status.offline::before{background:#b46742}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:22px}.search-label{width:360px;max-width:100%}.search-label input{font-size:13px;background:#fbfaf4}.toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.selection-bar{min-height:43px;display:flex;align-items:center;gap:14px;font-size:11px;color:#55684f}#record-count{margin-left:auto;font-size:11px}.text-button{padding:3px 0;background:none;border:0;text-decoration:underline;text-underline-offset:4px;min-height:30px;font-size:12px}.danger{color:var(--wine)}.sheet{border:1px solid #cdd5c7;border-radius:8px;background:var(--cream);overflow:auto;box-shadow:0 4px 15px #294b3d04}table{border-collapse:collapse;width:100%;text-align:left;font-size:13px;min-width:930px}thead{background:#e9eddf}th{border-bottom:1px solid #c5cfbc;height:52px;font-size:11px;font-weight:650;letter-spacing:.25px}th button{width:100%;display:flex;gap:8px;align-items:center;border:0;border-radius:0;background:none;text-align:left;font-size:12px;padding:15px 12px;color:#344f3c;white-space:nowrap}th button:hover{background:#dde5d4}th[aria-sort] .sort-arrow{font-size:12px;color:#6f8260}.check-cell{width:48px;text-align:center;padding:0 10px}.rail-head{width:24px}.action-cell{width:44px;padding:0 10px}td{height:68px;border-bottom:1px solid #e3e6dc;padding:0;vertical-align:middle}tbody tr:last-child td{border-bottom:0}td+td{border-left:1px solid #edf0e6}.cell-button{display:block;width:100%;height:100%;min-height:67px;border:0;border-radius:0;background:none;text-align:left;font-size:13px;font-weight:400;padding:14px 12px;overflow-wrap:anywhere;max-width:450px}.species-value{font-style:italic;font-weight:600}.cell-button:hover{background:#eff2e8}.cell-button:focus-visible{outline-offset:-3px}.cost-head{width:175px}td.cost .cell-button{text-align:right;padding-right:19px;font-variant-numeric:tabular-nums}td.cost strong{display:block;font-size:13px;font-weight:600}td.cost small{display:block;font-size:10px;color:#8a8d83;margin-top:5px}.cost-head button{justify-content:flex-end;padding-right:19px}tbody tr.selected{background:#edf2e6}tbody tr.grouped td{background:#f0f3e9}tbody tr.grouped.selected td{background:#e4edda}.group-rail{width:24px;border-left:0;position:relative}.grouped .group-rail::before{content:"";position:absolute;top:0;bottom:0;left:8px;border-left:3px solid #769264}.group-start .group-rail::before{top:20px;border-top-left-radius:5px;border-top:3px solid #769264;width:10px}.group-end .group-rail::before{bottom:20px;border-bottom-left-radius:5px;border-bottom:3px solid #769264;width:10px}.group-rail span{position:relative;display:block;z-index:1;margin-left:1px;background:#f0f3e9;color:#678454;font-size:15px;line-height:17px;width:18px;text-align:center}.group-start td{border-top:2px solid #c3d1b6}.group-end td{border-bottom:2px solid #c3d1b6}.empty{padding:75px 25px;text-align:center;color:var(--muted);font-size:14px}.empty strong{display:block;font-size:18px;font-weight:500;color:var(--green);margin-bottom:12px}.row-menu{background:transparent;border:0;padding:4px;color:#718267;font-size:22px;min-width:28px}.sheet-footer{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted);margin-top:18px;line-height:1.6}#rate-status{max-width:62%;text-align:right}#rate-status.warning-text{color:var(--wine)}#notice{font-size:13px;min-height:20px;color:var(--green);line-height:1.6}#notice.error,.form-error{color:var(--wine)}.form-error{font-size:13px;line-height:1.6;min-height:20px}dialog{border:1px solid #cbd3c2;background:#fbfaf4;color:var(--green);border-radius:12px;padding:28px;max-width:570px;width:calc(100% - 32px);max-height:90vh;overflow:auto;box-shadow:0 20px 80px #162d2940}dialog::backdrop{background:#1c312b80;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:24px}.dialog-heading h2{margin-top:8px}.close{border:0;background:none;font-size:27px;font-weight:400;min-width:34px;padding:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.full{grid-column:1/-1}.dialog-actions{display:flex;align-items:center;gap:10px;margin-top:25px;flex-wrap:wrap}.spacer{flex:1}.warning{padding:12px 14px;border:1px solid #c79865;background:#f6ead7;font-size:12px;line-height:1.6;margin-bottom:18px}#password-form>label,#reset-form>label{margin:20px 0}.wide-dialog{max-width:750px}#user-list{margin-bottom:32px}.user-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:14px 0;font-size:13px}.user-row small{display:block;margin-top:4px;font-size:11px;color:var(--muted)}.user-row .actions{display:flex;gap:12px}.login-panel{max-width:1050px;margin:55px auto;display:grid;grid-template-columns:1.15fr 1fr;border:1px solid var(--line);border-radius:12px;background:#fffdf7;overflow:hidden}.login-intro{background:var(--green);color:#f9f6ed;padding:55px 45px;position:relative;overflow:hidden;min-height:470px}.login-intro .eyebrow{color:#b9c7a7}.login-intro h1{font-size:43px;margin:23px 0}.login-intro p{font-size:14px;line-height:1.9;color:#d1dbc8;max-width:310px}.login-form{padding:55px 40px}.login-form label{margin:24px 0}.login-form .primary{width:100%}.grid-decoration{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:210px;transform:rotate(-12deg);position:absolute;bottom:-32px;right:-13px;opacity:.25}.grid-decoration span{height:50px;border:1px solid #b5c793;border-radius:5px}.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}[hidden]{display:none!important}@media(max-width:850px){.topbar{padding:18px 5%;align-items:flex-start}.header-actions{justify-content:flex-end;gap:9px}.wordmark{font-size:20px}.wordmark small{max-width:135px;line-height:1.6;letter-spacing:1px}.quiet{font-size:11px}main{padding:30px 5%}.toolbar{align-items:flex-start;flex-direction:column;gap:14px}.search-label{width:100%}.toolbar-actions{width:100%;gap:8px}.toolbar-actions button{flex:1;padding:10px;font-size:12px}.page-heading{align-items:flex-start}.sync-status{white-space:normal;max-width:130px;line-height:1.5}.page-heading h1{font-size:28px}.sheet-footer{flex-direction:column;gap:10px}#rate-status{text-align:left;max-width:100%}.login-panel{margin:15px auto;grid-template-columns:1fr}.login-intro{min-height:220px;padding:30px}.login-intro h1{font-size:32px}.login-intro p{max-width:90%}.login-form{padding:30px}.login-intro h1 br{display:none}.form-grid{gap:16px}.user-row{align-items:flex-start}.user-row .actions{flex-direction:column;gap:5px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s ease}}
/* Cost items, local calculator and spreadsheet column sizing */
#ledger-table{width:100%;table-layout:auto;min-width:1000px}#ledger-table th{position:relative}#ledger-table th[data-key] button{padding-right:19px}#ledger-table .cell-button{max-width:none}#ledger-table td{overflow-wrap:anywhere}.calculator-head{text-align:center;font-size:10px;line-height:1.3;padding:0 10px}.calculator-cell{text-align:center;padding:8px}.calc-button{font-size:10px;min-height:31px;padding:6px 8px;background:transparent;border-color:#b2bfa5;max-width:100%}.extra-row td{height:40px;background:#fafaf3}.extra-row .cell-button{min-height:39px;padding-top:8px;padding-bottom:8px}.extra-description{display:block;text-align:left;width:100%;border:0;border-radius:0;background:transparent;font-size:12px;font-weight:400;padding:8px 12px;min-height:39px;overflow-wrap:anywhere}.extra-description small{display:inline-block;margin-left:10px;color:#7f8577;font-size:10px}.extra-plus{display:inline-block;margin-right:9px;color:#829373}.remove-cost{border:0;background:none;font-size:19px;color:var(--wine);padding:4px;min-height:28px}.block-summary td{height:49px;background:#f1f3e8;border-bottom:2px solid #cad4bf}.summary-label{display:flex;gap:18px;align-items:center;justify-content:space-between;padding:8px 12px}.summary-label>strong{font-size:10px;text-align:right;color:#65765b;font-weight:600}.summary-label .text-button{font-size:11px;flex-shrink:0}.summary-value{text-align:right;padding:9px 19px 9px 10px;font-variant-numeric:tabular-nums}.summary-value strong{display:block;font-size:12px}.summary-value small{display:block;font-size:10px;color:#84897c;margin-top:3px}.extra-amount-label{margin-top:22px}.calculation{margin:24px 0 12px}.calculation>div{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}.calculation dt{font-size:13px}.calculation dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.calculation dd strong{display:block;font-size:15px;font-weight:600}.calculation dd small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.calculation .profit-line{border:0;padding-top:23px}.profit-line dt{font-weight:650}.profit-line dd strong{font-size:23px}.negative{color:var(--wine)}.positive{color:#365d32}#entry-extra{margin-right:8px}.user-row .actions{flex-wrap:wrap;justify-content:flex-end}.grouped .summary-label,.grouped .extra-description{background:transparent}.sheet tbody tr.group-end .group-rail::before{bottom:18px}@media(max-width:850px){.user-row .actions{align-items:flex-end}.summary-label{gap:10px}}

.extra-row[hidden]{display:none!important}.costs-toggle{display:inline-flex;align-items:center;gap:6px}.add-extra-inside{margin:8px 12px}
