:root{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;background:#f8faf7;color:#283b32;font-synthesis:none;--green:#315d47;--muted:#839087;--border:#e3e9e1}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,label,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.symbols{position:absolute;height:0;width:0;overflow:hidden}[hidden]{display:none!important}.shell{max-width:840px;margin:auto;padding:0 34px}.header{height:91px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:11px;color:#31533f;text-decoration:none;font-size:18px;font-weight:650;letter-spacing:-.5px}.brand-icon{display:grid;place-items:center;background:#e8efe3;color:#5f7c50;width:37px;height:40px;border-radius:10px}.brand-icon svg{width:23px;height:23px}.header-actions{display:flex;align-items:center;gap:10px}.icon-button{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;width:40px;height:40px;border-radius:8px;font-size:26px;color:#7e8a7a}.icon-button:hover{background:#eaf0e6}.small-button{border:1px solid #d7e2d0;background:transparent;color:#59774b;font-size:11px;padding:8px 11px;border-radius:7px}.intro{display:flex;justify-content:space-between;align-items:center;padding:40px 0 28px;gap:16px}.eyebrow{font-size:9px;letter-spacing:2px;color:#94a18a;margin:0 0 14px;font-weight:600}h1{font-size:29px;font-weight:600;letter-spacing:-1px;margin:0}.subtitle{font-size:12px;color:#899482;margin:12px 0 0}.device-badge{display:flex;align-items:center;gap:7px;background:#edf3e9;border:1px solid #e4ecdc;color:#8b9b7d;padding:7px 9px;border-radius:20px;font-size:10px;white-space:nowrap}.device-badge>span{background:#a7ba91;width:5px;height:5px;border-radius:50%}.tabs{display:flex;gap:6px;background:#edf1e9;padding:5px;border-radius:10px}.tab{border:0;background:transparent;flex:1;display:flex;align-items:center;justify-content:center;gap:9px;padding:12px 8px;border-radius:7px;font-size:12px;color:#8a9580}.tab svg{width:15px;height:15px}.tab.active{background:#fff;color:#355c40;box-shadow:0 1px 5px #4156380b;font-weight:600}.tab>span{display:grid;place-items:center;min-width:20px;height:20px;background:#f0f3e9;border-radius:5px;font-size:10px;color:#8c9a7e;padding:0 5px}.summary{display:flex;justify-content:space-between;align-items:center;padding:24px 0;border-bottom:1px solid var(--border)}.summary>div{display:flex;flex-direction:column;gap:7px}.summary span{font-size:11px;color:#8d9984}.summary strong{font-size:30px;letter-spacing:-1px;font-weight:600}.summary-date{text-align:right}.summary-date strong{font-size:14px;letter-spacing:0;color:#718367;font-weight:500}.list-tools{display:flex;gap:12px;margin:23px 0 18px}.search{border:1px solid var(--border);background:#fff;display:flex;align-items:center;gap:10px;padding:0 13px;flex:1;min-width:0;border-radius:8px}.search svg{width:16px;color:#9aa58e}.search input{width:100%;min-width:0;background:transparent;border:0;outline:none;color:#495943;font-size:12px;padding:12px 0}.search input::placeholder{color:#a3ac98}.search:focus-within{border-color:#96b080}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 17px;border-radius:8px;font-size:12px;white-space:nowrap}.primary-button{border:1px solid var(--green);background:var(--green);color:#fff}.primary-button:hover{background:#254d38}.primary-button svg{width:16px;height:16px}.secondary-button{border:1px solid #dce4d5;background:transparent;color:#7a8d6d}.secondary-button:hover{background:#edf2e7}.list-meta{display:flex;justify-content:space-between;font-size:10px;color:#9aa78d;margin:0 0 10px}.checks-list{display:flex;flex-direction:column;gap:9px}.check-row{display:flex;align-items:center;text-align:left;width:100%;border:1px solid var(--border);border-radius:10px;background:#fff;padding:17px 18px;gap:14px}.check-row:hover{border-color:#b2c7a6;background:#fdfefb}.date-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:#eef3e9;border-radius:8px;min-width:47px;height:51px;color:#849975}.date-tile strong{font-size:20px;font-weight:500;line-height:1.1}.date-tile span{font-size:9px}.date-tile.overdue{background:#fcf0e8;color:#b68964}.row-content{min-width:0;flex:1}.row-content h2{font-size:14px;font-weight:550;margin:0 0 5px;overflow-wrap:anywhere}.row-content p{margin:0;color:#929e86;font-size:10px;line-height:1.7}.row-amount{text-align:right;white-space:nowrap}.row-amount strong{display:block;font-size:15px;font-weight:550;color:#4b6440}.row-amount span{font-size:9px;color:#95a48a;display:block;margin-top:5px}.row-amount .late{color:#b58763}.empty{text-align:center;padding:57px 20px 64px}.empty-icon{width:60px;height:66px;background:#eef3e9;border-radius:15px;display:grid;place-items:center;margin:0 auto 20px;color:#9fb28e;transform:rotate(-5deg)}.empty-icon svg{width:32px;height:32px}.empty h2{font-size:19px;font-weight:500;letter-spacing:-.5px;margin:0 0 12px}.empty p{font-size:12px;line-height:1.9;color:#94a08b;margin:0 0 17px}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;background:transparent;color:#628452;font-size:12px;padding:9px 0}.text-button svg{width:16px;height:16px}.text-button span{padding-left:6px}footer{margin-top:30px;padding:23px 0;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:10px;font-size:9px;color:#a1ac95;line-height:1.7}.edit-heading{display:flex;align-items:center;gap:22px;margin:26px 0}.edit-heading h1{font-size:24px}.local-note{margin-left:auto;font-size:10px;color:#93a187}.form-section{background:#fff;border:1px solid var(--border);border-radius:11px;padding:23px;margin-bottom:18px}.field{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#647a57;margin-bottom:18px;font-weight:500}.field:last-child{margin-bottom:0}.field input,.field select,.field textarea{border:1px solid #e2e9dc;border-radius:7px;background:#fbfcf9;padding:12px;min-width:0;width:100%;font-size:14px;color:#394e2f;font-weight:400}.field input::placeholder,.field textarea::placeholder{color:#b0baa3;font-size:12px}.field-row{display:flex;gap:16px}.field-row .field{flex:1;min-width:0}.optional{font-size:10px;font-weight:400;color:#a3ad98}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}.section-heading h2{font-size:13px;font-weight:550;margin:0}.section-heading span{font-size:10px;color:#95a388}.photos{display:flex;gap:16px}.photo-block{flex:1;min-width:0}.photo-preview{height:143px;border:1px dashed #d5e0ca;border-radius:8px;background:#f7faf3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;overflow:hidden;color:#a7b698;font-size:12px;position:relative}.photo-preview svg{width:29px;height:29px}.photo-preview img{width:100%;height:100%;object-fit:contain}.photo-preview.has-photo>span{position:absolute;bottom:5px;left:7px;padding:3px 6px;background:#ffffffe0;border-radius:4px;color:#66804f;font-size:10px}.photo-actions{display:flex;gap:6px;margin-top:9px}.photo-button{position:relative;cursor:pointer;flex:1;display:flex;align-items:center;justify-content:center;border:1px solid #dee8d4;border-radius:6px;background:#f3f8ec;padding:10px 4px;text-align:center;color:#6b8957;font-size:10px;overflow:hidden}.photo-button.gallery{background:#fff;color:#90a080}.photo-button input,.restore input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.photo-button:focus-within,.restore:focus-within{outline:2px solid #86a86d;outline-offset:2px}.photo-hint{font-size:10px;color:#9aa88d;margin:15px 0 0;line-height:1.7}.note-field{padding:4px 0;margin-bottom:22px}.note-field textarea{background:#fff;resize:vertical}.save-bar{display:flex;justify-content:flex-end;gap:10px;align-items:center;border-top:1px solid var(--border);padding:20px 0 30px}.save-bar .danger{margin-right:auto;color:#ad7968}.form-error{padding:12px;border-radius:7px;font-size:12px;background:#fcf0eb;color:#a26552}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#315d47;color:#fff;border-radius:9px;box-shadow:0 5px 30px #36584925;padding:13px 20px;font-size:12px;max-width:90vw;z-index:20}dialog{border:1px solid var(--border);border-radius:15px;padding:25px;max-width:480px;width:calc(100% - 30px);max-height:85dvh;overflow-y:auto;background:#fbfdf9;color:#344b2a;box-shadow:0 20px 100px #263b2940}dialog::backdrop{background:#24392955;backdrop-filter:blur(2px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.dialog-top h2,dialog h2{font-size:20px;letter-spacing:-.5px;font-weight:550;margin:0}dialog p{font-size:12px;line-height:1.8;color:#8d9e80}.detail-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.detail-value{padding:11px 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;gap:18px;font-size:12px}.detail-value>span:first-child{color:#99a68e;white-space:nowrap}.detail-value>span:last-child{overflow-wrap:anywhere;text-align:right;white-space:pre-wrap}.detail-value.total>span:last-child{font-size:23px;color:#4d7040;font-weight:600}.detail-images{display:flex;gap:10px;margin-top:17px}.detail-images figure{margin:0;width:50%;font-size:10px;color:#93a684}.detail-images img{width:100%;height:110px;object-fit:contain;background:#edf3e7;border-radius:6px}.detail-images figcaption{margin-top:5px}.settings-description{margin-bottom:20px}.settings-action{position:relative;width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--border);border-radius:9px;padding:15px;background:#fff;text-align:left;color:#527443;font-size:13px;margin-bottom:10px;cursor:pointer}.settings-action small{display:block;font-size:10px;font-weight:400;color:#98a98a;margin-top:7px}.settings-info{margin-top:23px;border-top:1px solid var(--border);padding-top:20px;font-size:12px;color:#819773}.settings-info strong{font-weight:500}.settings-info p{font-size:11px}.settings-info>span{font-size:10px;color:#9bb087}.destructive{background:#a76853;border-color:#a76853}.destructive:hover{background:#925945}button:disabled{cursor:wait;opacity:.65}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #83a76c;outline-offset:3px}.search input:focus-visible{outline:none}
@media(max-width:600px){.shell{padding:0 20px}.header{height:73px}.brand{font-size:17px}.intro{padding:30px 0 23px}.intro h1{font-size:24px}.device-badge{display:none}.eyebrow{font-size:8px;letter-spacing:1.7px}.subtitle{font-size:11px}.tabs .tab{font-size:12px;padding:12px 4px;gap:7px}.summary{padding:23px 0}.summary strong{font-size:27px}.summary-date strong{font-size:13px}.search input{font-size:11px}.list-tools{gap:8px}.list-tools .primary-button{padding:11px 12px}.check-row{padding:14px 12px;gap:10px}.row-content h2{font-size:13px}.row-amount strong{font-size:13px}.date-tile{min-width:41px;height:48px}.row-content p{font-size:9px}.edit-heading{gap:13px}.edit-heading h1{font-size:22px}.local-note{display:none}.form-section{padding:18px}.field-row{gap:11px}.field input,.field select,.field textarea{padding:11px;font-size:16px}.section-heading{align-items:flex-start}.section-heading span{font-size:9px;max-width:115px;text-align:right;line-height:1.5}.photos{gap:11px}.photo-preview{height:117px}.photo-actions{flex-direction:column}.photo-button{font-size:11px;padding:10px}.empty{padding:49px 10px 55px}footer{font-size:8px}.toast{width:max-content;max-width:90vw;line-height:1.7}}@media(prefers-reduced-motion:no-preference){.check-row{transition:background .15s,border-color .15s}}

/* Company ledger: three columns on desktop, section selection on mobile. */
.shell{max-width:1200px}.intro h1{font-size:30px}.list-tools{margin:0 0 25px}.tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:0;background:transparent;border-radius:0}.tab{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px;padding:20px;border:1px solid var(--border);border-radius:12px;background:#fff;text-align:left;min-width:0;color:#566951;box-shadow:none}.tab.active{border-color:#96b38b;background:#f0f6eb;box-shadow:none}.tab>.tab-label{display:flex;align-items:center;gap:8px;font-size:13px;width:100%;height:auto;background:transparent;border-radius:0;padding:0;color:inherit}.tab-label svg{width:17px;height:17px;color:#829a71}.tab-count{margin-left:auto;background:#eaf0e4;color:#81956f;border-radius:5px;padding:3px 6px;font-size:10px}.tab strong{font-size:25px;font-weight:600;letter-spacing:-.8px;max-width:100%;overflow-wrap:anywhere}.tab small{font-size:10px;color:#8b9b7b;font-weight:400}.tab[data-kind=endorsed].active{background:#f6f1e8;border-color:#c5b68f}.tab[data-kind=endorsed] .tab-count{background:#f1ece2;color:#a39778}.list-meta{margin-top:23px}.checks-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;min-height:320px}.check-column{min-width:0}.column-caption{display:flex;justify-content:space-between;gap:10px;padding:12px 3px 15px;font-size:10px;color:#98a58c}.checks-list{gap:15px}.company-group{background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden}.company-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:17px 15px;background:#f1f5ec;border-bottom:1px solid var(--border)}.company-heading>div{min-width:0}.company-heading h2{font-size:13px;font-weight:600;line-height:1.5;margin:0 0 5px;overflow-wrap:anywhere}.company-heading span{font-size:9px;color:#98a98c;display:block;line-height:1.6}.company-balance{text-align:right}.company-balance strong{font-size:13px;font-weight:550;color:#567747;display:block;margin:2px 0 6px;overflow-wrap:anywhere}.check-row{border:0;border-bottom:1px solid #edf1e8;border-radius:0;padding:15px 12px;gap:9px;min-width:0}.check-row:last-child{border-bottom:0}.check-thumbnail{width:41px;height:38px;object-fit:contain;background:#f1f5eb;border:1px solid #e6eddf;border-radius:5px;flex-shrink:0}.row-date{font-size:10px;font-weight:500;color:#788d69;display:block}.row-content p{font-size:9px;margin-top:5px;overflow-wrap:anywhere}.row-amount strong{font-size:12px}.row-amount span{font-size:8px}.row-amount{max-width:45%;white-space:normal;overflow-wrap:anywhere}.empty{padding:44px 18px;background:#fcfdf9;border:1px dashed #e0e8d8;border-radius:10px;min-height:300px}.empty h2{font-size:16px;line-height:1.5}.empty p{font-size:11px}.empty-icon{width:48px;height:53px}.empty-icon svg{width:26px;height:26px}#edit-view{max-width:772px;margin:auto}.editor-endorsement{font-size:11px;line-height:1.7;color:#9b8764;background:#f8f2e6;padding:11px;border-radius:6px;margin:0 0 20px}.endorse-button{width:100%;border:1px solid #bad0a8;background:#ecf4e3;color:#5d7f44;border-radius:8px;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;font-size:13px;margin-top:22px}.endorse-button:hover{background:#e1eed4}.preview-image-button{padding:0;border:0;border-radius:6px;display:block;width:100%;background:transparent;cursor:zoom-in}.preview-image-button img{display:block}.detail-actions{flex-wrap:wrap}#endorsement-remove{margin-right:auto;color:#ac7861;font-size:11px}.endorsement-photo{margin-top:22px;padding-top:16px;border-top:1px solid var(--border);font-size:12px;color:#758c63}.endorsement-photo small{font-size:10px;display:block;color:#a0b18c;margin-top:9px;line-height:1.7}.endorsement-photo .photo-actions{margin-top:11px}.image-dialog{max-width:960px;width:calc(100% - 24px)}.image-switch{display:flex;gap:8px;margin-bottom:18px}.image-switch button[aria-pressed=true]{background:#e6efdd;border-color:#a8bf94;color:#5c7c42}#full-image{display:block;max-width:100%;width:auto;height:auto;max-height:65dvh;object-fit:contain;margin:auto}.field select:disabled{color:#879779;background:#f0f4e9}
@media(max-width:999px){.checks-board{display:block}.check-column{display:none}.checks-board[data-active=pay] [data-panel=pay],.checks-board[data-active=collect] [data-panel=collect],.checks-board[data-active=endorsed] [data-panel=endorsed]{display:block}.tabs{gap:10px}.tab{padding:16px 13px}.tab strong{font-size:22px}.tab>.tab-label{font-size:12px}.tab-label svg{display:none}.check-row{padding:17px 15px;gap:14px}.check-thumbnail{width:61px;height:43px}.row-date{font-size:12px}.row-content p{font-size:10px}.row-amount strong{font-size:15px}.row-amount span{font-size:9px}.company-heading{padding:19px}.company-heading h2{font-size:15px}.company-balance strong{font-size:17px}.empty{min-height:280px}}
@media(max-width:600px){.intro h1{font-size:24px;max-width:300px;line-height:1.35}.intro{padding:26px 0 22px}.tabs{gap:7px}.tabs .tab{padding:13px 9px;gap:8px;align-items:flex-start;justify-content:flex-start}.tab>.tab-label{font-size:10px;gap:3px;flex-wrap:wrap;line-height:1.5}.tab-count{font-size:8px;padding:1px 4px}.tab strong{font-size:16px;letter-spacing:-.4px}.tab small{font-size:8px}.list-meta{font-size:9px;gap:15px;margin-top:19px;line-height:1.7}.list-meta>span:last-child{text-align:right;max-width:145px}.list-tools{margin:0 0 21px}.column-caption{font-size:10px;padding:10px 2px 14px}.check-row{padding:15px 12px;gap:10px}.check-thumbnail{width:44px;height:36px}.row-date{font-size:11px}.row-amount strong{font-size:13px}.company-heading{padding:16px 14px}.company-heading h2{font-size:14px}.company-balance strong{font-size:15px}.photo-actions{flex-direction:row}.photos .photo-actions{flex-direction:column}.detail-actions .primary-button,.detail-actions .secondary-button{padding:11px 13px}}

/* Optional company grouping and compact filters. */
.view-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px}.group-toggle{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--green);cursor:pointer}.group-toggle input{accent-color:var(--green);width:18px;height:18px;margin:0}.view-controls .small-button{min-height:42px;display:flex;align-items:center;gap:8px}.view-controls .small-button[aria-expanded=true]{background:#eaf1eb}#filter-count{border-radius:12px;background:var(--green);color:white;padding:2px 6px;font-size:11px}.filters-panel{padding:18px;background:#fff;border:1px solid var(--border);border-radius:12px;margin-bottom:20px}.filter-fields{display:grid;grid-template-columns:1.25fr 1fr 1fr 1.2fr;gap:14px}.filter-fields .field{margin:0;min-width:0;font-size:11px}.filter-fields input,.filter-fields select{width:100%;min-width:0;font-size:14px;background:#fff}.filter-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px}.filter-footer p{font-size:11px;line-height:1.6;color:#68746b;margin:0}.filter-footer button{white-space:nowrap;min-height:44px}.filter-error{color:#a83b31;font-size:12px;margin:12px 0 0}.flat-checks{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:white}.row-company{display:block;font-size:12px;margin-bottom:5px;overflow-wrap:anywhere}.row-company+.row-date{font-weight:400;color:#5c6c61}.list-meta{gap:16px}.list-meta #view-summary{max-width:55%;text-align:right;line-height:1.5}
@media(max-width:700px){.filter-fields{grid-template-columns:1fr 1fr;gap:14px 10px}.filter-fields .field:first-child,.filter-fields .field:last-child{grid-column:1/-1}.filter-fields input,.filter-fields select{font-size:16px;min-height:44px}.filter-footer{align-items:flex-start;flex-direction:column;gap:4px}.filters-panel{padding:14px}.group-toggle{font-size:11px}.row-company{font-size:12px}.view-controls{gap:8px}}

.view-actions{display:flex;align-items:center;gap:8px}.view-actions svg{width:15px;height:15px}.view-controls{flex-wrap:wrap}.detail-actions>button{min-height:44px}#report-summary{font-size:13px;line-height:1.6;color:var(--green)}@media(max-width:380px){.view-controls .group-toggle{margin-left:auto}.view-actions .small-button{padding:8px;font-size:10px}}

/* Warm orange identity: quiet surfaces, ink text, clear touch targets. */
:root{background:#f8f7f4;color:#202c3d;--green:#bc4d1e;--muted:#697382;--border:#e8e6e1;--ink:#202c3d;--accent:#bc4d1e;--accent-soft:#fff0e7}
.shell{max-width:1240px;padding:0 40px}.header{height:96px;border-bottom:1px solid #e5e3de}.brand{font-size:21px;letter-spacing:-.7px;color:var(--ink);font-weight:750;gap:12px}.brand-icon{background:#f68242;color:#202c3d;width:43px;height:43px;border-radius:14px}.icon-button{color:#5c6571;background:#fff;border:1px solid var(--border);border-radius:12px}.icon-button:hover{background:#fff0e7}.header-actions{gap:12px}.intro{padding:44px 0 32px}.eyebrow{color:var(--accent);font-size:10px;font-weight:700;letter-spacing:2px}.intro h1{font-size:40px;font-weight:730;letter-spacing:-1.6px;line-height:1.15;color:var(--ink)}.subtitle{color:#667180;font-size:14px;line-height:1.6}.device-badge{background:#fff;border:1px solid var(--border);color:#4f5e6c;font-size:11px;padding:11px 14px;gap:9px;box-shadow:0 4px 16px #202c3d04}.device-badge>span{background:#df7138;width:7px;height:7px}.list-tools{gap:12px;margin-bottom:24px}.search{border-radius:14px;min-height:52px;padding:0 16px;border-color:var(--border)}.search input{font-size:14px;color:var(--ink);padding:15px 0}.search input::placeholder{color:#7e8590}.search svg{color:#7e8590}.search:focus-within{border-color:#d87446;box-shadow:0 0 0 3px #f5824218}.primary-button,.secondary-button{border-radius:12px;font-weight:600;padding:14px 20px;font-size:13px;min-height:46px}.primary-button{background:var(--accent);border-color:var(--accent);color:#fff}.primary-button:hover{background:#a64018;border-color:#a64018}.secondary-button{color:#344153;border-color:var(--border);background:#fff}.secondary-button:hover{background:#fff5ee}.tabs{gap:16px}.tabs .tab{border-radius:19px;padding:22px;gap:14px;border:1px solid var(--border);color:#485565;background:#fff;box-shadow:0 5px 20px #202c3d03}.tab>.tab-label{font-size:13px;font-weight:600;gap:9px}.tab-label svg{display:block;color:#c15a2b;background:#fff0e7;width:30px;height:30px;padding:6px;border-radius:9px}.tab-count{background:#f4f3ef;color:#697382;font-size:11px;border-radius:7px;padding:4px 7px}.tabs .tab strong{font-size:29px;font-weight:700;letter-spacing:-1px;font-variant-numeric:tabular-nums}.tab small{color:#687482;font-size:11px}.tabs .tab.active,.tabs .tab[data-kind=endorsed].active{background:#202c3d;color:#fff;border-color:#202c3d;box-shadow:0 10px 22px #202c3d16}.tab.active .tab-label svg{background:#f68749;color:#202c3d}.tab.active .tab-count{background:#ffffff1a;color:#fff}.tab.active small{color:#d4d9e0}.tab[data-kind=endorsed] .tab-count{background:#f4f3ef;color:#697382}.tab[data-kind=endorsed].active .tab-count{background:#ffffff1a;color:#fff}.view-controls{margin:22px 0 18px}.small-button{border-radius:11px;border-color:var(--border);color:#475465;background:#fff;font-size:12px;font-weight:550;min-height:44px;padding:10px 13px}.view-controls .small-button[aria-expanded=true]{background:#fff0e7;border-color:#efbb9e;color:#9b3f19}.group-toggle{color:#526071;font-size:12px;min-height:44px}.group-toggle input{appearance:none;-webkit-appearance:none;width:34px;height:20px;border:1px solid #c7cbd0;border-radius:20px;background:#e9eaeb;position:relative;cursor:pointer;flex-shrink:0;transition:background .15s}.group-toggle input:before{content:'';position:absolute;width:14px;height:14px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #202c3d26}.group-toggle input:checked{background:var(--accent);border-color:var(--accent)}.group-toggle input:checked:before{left:16px}.group-toggle input:focus-visible{outline:3px solid #f6824266;outline-offset:3px}.filters-panel{border-radius:18px;padding:22px;box-shadow:0 6px 24px #202c3d04}.field{color:#435063}.field input,.field select,.field textarea{border-color:var(--border);background:#fff;color:#202c3d;border-radius:10px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #e98b5f;outline-offset:1px}.field input::placeholder,.field textarea::placeholder{color:#818995}.filter-footer p{color:#667180}.text-button{color:#aa451b;font-weight:550}.text-button:disabled{color:#90949b;cursor:default}.list-meta{color:#687482;font-size:11px;margin-top:16px;margin-bottom:12px}.column-caption{color:#687482;font-size:11px}.checks-list{gap:17px}.company-group,.flat-checks{border-radius:17px;border-color:var(--border);box-shadow:0 4px 18px #202c3d03}.company-heading{background:#fff7f0;border-bottom:1px solid #f0e5da;padding:18px}.company-heading h2{color:#293548;font-size:14px;font-weight:700}.company-heading span{color:#756c65;font-size:10px}.company-balance strong{color:#ac471d;font-size:15px;font-weight:700}.check-row{background:#fff;padding:18px 14px;border-bottom-color:#eeece8}.check-row:hover{background:#fffbf7}.check-thumbnail{border-radius:8px;background:#f7f5f1;border-color:#eeece7;width:46px;height:40px}.row-company{color:#293548;font-weight:650}.row-date,.row-company+.row-date{color:#566475;font-size:11px}.row-content p{color:#6c7784;font-size:10px}.row-amount strong{color:#263448;font-size:13px;font-weight:650}.row-amount span{color:#687482;font-size:9px}.row-amount .late{color:#b44c25}.empty{border-radius:18px;background:#fff;border-color:#e4ded6}.empty-icon{background:#fff0e4;color:#b55a2f;transform:rotate(-4deg);border-radius:16px}.empty h2{color:#293548;font-weight:650}.empty p{color:#6b7581}.form-section{border-radius:18px;padding:25px}.edit-heading h1{font-weight:700;color:#202c3d}.section-heading h2{color:#293548;font-size:14px;font-weight:650}.section-heading span,.optional,.local-note,.photo-hint{color:#707986}.photo-preview{background:#fff9f3;border-color:#e8c5ac;color:#a56e49;border-radius:12px}.photo-preview.has-photo>span{color:#a14a24}.photo-button{background:#fff0e7;border-color:#efcfba;color:#a84920;border-radius:9px;font-weight:550}.photo-button.gallery{color:#526071;background:#fff}.endorse-button{background:#fff0e7;border-color:#efc8b1;color:#9e401b;border-radius:12px}.endorse-button:hover{background:#ffe7d5}.editor-endorsement{background:#fff3e7;color:#9b4d24}.preview-image-button{border-radius:11px}.image-switch button[aria-pressed=true]{background:#fff0e7;border-color:#e5b293;color:#a84920}.detail-value span{color:#6a7581}.detail-value span:last-child{color:#293548}.detail-value.total span:last-child{color:#ac471d}.detail-images figcaption{color:#6b7581}.settings-description,.settings-info p{color:#687482}.settings-info strong{color:#293548}.dialog-top h2{font-weight:700;color:#202c3d}dialog{border-radius:22px;border-color:var(--border);box-shadow:0 24px 80px #202c3d33}dialog::backdrop{background:#16223669;backdrop-filter:blur(3px)}.toast{background:#202c3d;box-shadow:0 8px 30px #202c3d20;border-radius:14px}footer{color:#727c87;border-color:var(--border);font-size:10px}.brand:focus-visible,button:focus-visible{outline:3px solid #e98b5f;outline-offset:3px}
@media(max-width:999px){.tabs .tab{padding:19px 15px}.tabs .tab strong{font-size:24px}.tab>.tab-label{font-size:12px}.tab-label svg{width:26px;height:26px;padding:5px}.company-heading h2{font-size:15px}.row-amount strong{font-size:15px}}
@media(max-width:600px){.shell{padding:0 20px}.header{height:78px}.brand{font-size:19px}.brand-icon{width:37px;height:39px;border-radius:12px}.intro{padding:30px 0 25px}.intro h1{font-size:30px;line-height:1.16;letter-spacing:-1px;max-width:310px}.eyebrow{font-size:9px;margin-bottom:13px}.subtitle{font-size:12px;margin-top:12px}.list-tools{gap:8px;margin-bottom:19px}.search{min-height:48px;padding:0 12px;border-radius:12px}.search input{font-size:12px}.list-tools .primary-button{font-size:12px;padding:12px 14px}.tabs{gap:8px}.tabs .tab{padding:14px 10px;border-radius:15px;gap:11px}.tab>.tab-label{font-size:10px;gap:5px;flex-wrap:wrap;line-height:1.4}.tab-label svg{width:24px;height:24px;padding:5px}.tab-count{font-size:9px;margin-left:auto;padding:2px 5px}.tabs .tab strong{font-size:17px;letter-spacing:-.6px}.tab small{font-size:9px}.view-controls{margin:16px 0 10px;gap:4px}.view-actions{gap:6px}.view-controls .small-button{font-size:11px;padding:9px 11px}.group-toggle{font-size:10px;gap:6px}.group-toggle input{width:30px;height:18px}.group-toggle input:before{width:12px;height:12px}.group-toggle input:checked:before{left:14px}.list-meta{font-size:10px;margin-top:12px}.column-caption{padding:12px 3px;font-size:11px}.company-heading{padding:17px 14px}.check-row{padding:17px 12px;gap:10px}.row-date{font-size:11px}.row-amount strong{font-size:14px}.row-amount span{font-size:9px}.row-content p{font-size:10px}.filters-panel{padding:17px}.form-section{padding:19px}.detail-actions{gap:8px}.detail-actions .primary-button,.detail-actions .secondary-button{padding:12px 14px;font-size:12px}footer{font-size:9px}.empty{padding:42px 18px}.empty h2{font-size:18px}.empty p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.group-toggle input{transition:none}}

@media(max-width:999px){.tabs .tab strong{white-space:nowrap;font-size:clamp(10px,calc((100vw - 160px) / var(--amount-length,11) / 1.8),24px)}}@media(max-width:600px){.tabs .tab strong{font-size:clamp(10px,calc((100vw - 110px) / var(--amount-length,11) / 1.8),17px)}}
/* Photo recognition stays beside the photo, without adding another step. */
.ocr-panel{margin-top:16px;padding:14px 16px;background:#fff4e9;border:1px solid #f1dac6;border-radius:14px;color:#6e361d}
.ocr-panel p{margin:0;font-size:13px;line-height:1.65}
.ocr-panel button{margin-top:12px;font-size:13px}
.company-autocomplete{position:relative;min-width:0;width:100%}
.company-suggestions{position:absolute;left:0;right:0;top:100%;margin-top:6px;z-index:60;max-height:228px;overflow:auto;overscroll-behavior:contain;background:#fff;border:1px solid #e7d7cc;border-radius:12px;box-shadow:0 10px 28px #202c3d24}
.company-option{padding:13px 15px;min-height:44px;font-size:14px;font-weight:500;line-height:1.5;color:#202c3d;cursor:pointer;overflow-wrap:anywhere}
.company-option+.company-option{border-top:1px solid #f2ede9}
.company-option:hover,.company-option[aria-selected="true"]{background:#fff0e7;color:#a3421a}
.field-hint{font-size:12px;line-height:1.5;color:#6b706f;font-weight:400}
.field input[readonly]{background:#f8f7f4;color:#59636c}
/* Full-width category cards keep balances readable on a phone. */
@media(max-width:600px){
  .tabs{grid-template-columns:minmax(0,1fr);gap:12px}
  .tabs .tab{width:100%;padding:18px 20px;gap:8px;border-radius:17px}
  .tab>.tab-label{font-size:14px;gap:10px;flex-wrap:nowrap;line-height:1.4}
  .tab-label svg{width:28px;height:28px;padding:6px}
  .tab-count{font-size:12px;padding:3px 8px}
  .tabs .tab strong{font-size:clamp(20px,calc((100vw - 100px) / var(--amount-length,11) / .68),26px);line-height:1.2;letter-spacing:-.5px;white-space:normal;overflow-wrap:anywhere}
  .tab small{font-size:12px;line-height:1.4}
}
