/* Mobile first; no fixed controls cover the keyboard or iPhone safe areas. */
.ledger-screen{max-width:1000px;margin-inline:auto;overflow-wrap:anywhere}.ledger-entry{max-width:700px}.ledger-heading{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.ledger-heading h1{margin-bottom:0}.ledger-heading .button{align-self:flex-start}.ledger-screen .card{margin-block:16px}.ledger-form{display:flex;flex-direction:column;gap:18px}.ledger-form>label,.ledger-form fieldset{margin:0}.ledger-form input,.ledger-form select{font-size:18px;min-height:50px;width:100%;max-width:100%}.ledger-form input[type=checkbox]{width:24px;height:24px;min-height:24px;flex-shrink:0}.ledger-form label{font-weight:600}.ledger-form fieldset{border:0;padding:0;min-width:0}.ledger-form legend{font-weight:650;margin-bottom:10px;font-size:17px}.ledger-form .ledger-save{width:100%;min-height:56px;font-size:18px;margin-top:4px}.ledger-save:disabled{opacity:.7;cursor:wait}.money-input{display:flex;align-items:center;gap:10px}.money-input>span{font-size:23px}.money-input input{font-variant-numeric:tabular-nums}.receipt-choices{display:grid;gap:12px}.upload-choice{position:relative;display:flex;align-items:center;justify-content:center;min-height:52px;padding:12px;border:2px solid var(--purple);color:var(--purple);border-radius:9px;background:white;cursor:pointer;text-align:center}.upload-choice input[type=file]{position:absolute;width:1px;height:1px;min-height:0;opacity:0}.upload-choice:focus-within{outline:3px solid var(--blue);outline-offset:3px}.receipt-preview{display:block;max-width:100%;max-height:200px;object-fit:contain}.ledger-form [hidden],.ledger-screen [hidden]{display:none!important}.anonymous-choice,.touch-choice{display:flex;align-items:center;gap:12px;min-height:52px;padding:12px;border:1px solid var(--border);border-radius:9px;cursor:pointer}.anonymous-choice{background:#f0eaf8;border:2px solid var(--purple)}.touch-choice input{width:24px;height:24px;flex-shrink:0}.promise-review{background:#f2f6fb;border-left:4px solid var(--blue);padding:16px;border-radius:6px}.ledger-item-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.ledger-item-top strong{white-space:nowrap;font-size:22px;font-variant-numeric:tabular-nums}.ledger-item-title{font-weight:700;font-size:19px;min-height:48px;display:flex;align-items:center;overflow-wrap:anywhere}.ledger-item p{margin:6px 0}.receipt-link,.back-link{display:inline-flex;align-items:center;min-height:48px;padding:6px 0}.ledger-item .small{display:block}.ledger-cards{display:grid;gap:0}.ledger-total>span{font-weight:700;display:block}.ledger-total>strong,.ledger-amount{display:block;font-size:34px;font-variant-numeric:tabular-nums}.draft-note{color:#694400;font-weight:650}.ledger-stats{margin-top:20px}.ledger-breakdown{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--border)}.ledger-breakdown strong{white-space:nowrap}.ledger-trace{border-bottom:1px solid var(--border);padding-block:14px}.ledger-trace>a{display:inline-flex;min-height:48px;align-items:center}.ledger-screen summary{min-height:48px;padding-block:8px}.ledger-no-print button{min-height:48px}.month-picker{border:0;padding:0;margin:0 0 14px;min-width:0;grid-column:1/-1}.month-picker legend{font-weight:700;margin-bottom:8px}.month-picker select{min-height:48px;font-size:17px;width:100%}.month-picker>label{max-width:240px}.month-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-block:16px}.month-button{min-height:50px;min-width:0;padding:10px 3px;font-size:clamp(11px,3vw,15px);border:2px solid var(--border);background:white;color:var(--ink);border-radius:8px}.month-button.selected{background:var(--purple);border-color:var(--purple);color:white}.month-button:not(.selected):hover{background:#f0eaf8;color:var(--purple);border-color:var(--purple)}.month-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.month-fields label{max-width:none}.month-form{max-width:100%}.ledger-filters{margin-top:8px}.mobile-nav-toggle{display:none}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media(min-width:700px){.ledger-heading{flex-direction:row;align-items:center;justify-content:space-between}.receipt-choices{grid-template-columns:1fr 1fr}.month-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.month-button{font-size:13px}.ledger-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ledger-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.ledger-stats strong{font-size:30px}}
@media(max-width:650px){.mobile-nav-toggle{display:flex;width:100%;margin-bottom:0}nav[data-mobile-collapsed=true]{display:none}aside nav{flex-wrap:wrap;overflow:visible;gap:8px;margin-top:12px}aside nav a{flex:1 1 42%;white-space:normal;min-height:48px;display:flex;align-items:center}main{padding-bottom:max(24px,env(safe-area-inset-bottom))}header.top .eyebrow,header.top .muted{display:none}header.top{margin-bottom:10px}header.top .pill{overflow-wrap:anywhere;max-width:100%}.ledger-screen .card{padding:18px}.ledger-form{padding:20px!important}.ledger-item-top{flex-wrap:wrap}.ledger-item-top strong{margin-left:auto}.ledger-stats .stat{padding:18px}.ledger-trace p{overflow-wrap:anywhere}}
@media print{aside,header.top,.ledger-no-print,.skip,script,.back-link{display:none!important}.shell{display:block}main{max-width:none;padding:0}.card{box-shadow:none;break-inside:avoid}.stats{grid-template-columns:repeat(3,1fr)}a{color:inherit}body{font-size:11pt;background:#fff}.ledger-screen details>*{display:revert}.ledger-screen details{display:block}.ledger-screen summary{font-weight:700}.scroll{overflow:visible}}

@media(max-width:650px){.monthly-admin .scroll{overflow:visible}.mobile-records,.mobile-records tbody,.mobile-records tr{display:block;width:100%}.mobile-records thead{display:none}.mobile-records tr{padding:12px 0;border-bottom:2px solid var(--border)}.mobile-records td{display:grid;grid-template-columns:minmax(85px,32%) minmax(0,1fr);gap:12px;white-space:normal;overflow-wrap:anywhere;border:0;padding:8px 0}.mobile-records td::before{content:attr(data-label);font-weight:650}}
.sunday-card h3{margin:0 0 8px}.sunday-card .actions{gap:12px}.sunday-card .actions form{margin:0;width:100%}.sunday-card .actions form button{width:100%;min-height:52px}.sunday-card a.button{min-height:48px}.sunday-card summary{min-height:48px}
