:root{--color-action:#8b1e2d;--color-ink:#25211e;--color-canvas:#f7f4ef;--color-muted:#655d57;--color-line:#e1dad2;--color-surface:#fff;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--radius-control:.65rem;--touch-size:44px;font-family:Noto Sans JP,Yu Gothic UI,sans-serif;color:var(--color-ink);background:var(--color-canvas);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}:where(button){min-height:44px;padding:.65rem 1rem;border:1px solid #b8aaa2;border-radius:.65rem;background:#fff;color:#672332;font-size:1rem;font-weight:700;line-height:1.4;cursor:pointer;overflow-wrap:anywhere}:where(input:not([type=checkbox]):not([type=radio]),select,textarea){min-height:48px;max-width:100%;min-width:0;padding:.65rem .75rem;border:1px solid #b8aaa2;border-radius:.55rem;background:#fff;color:var(--color-ink);font-size:16px}:where(input[type=checkbox],input[type=radio]){accent-color:var(--color-action)}:where(p,h1,h2,h3,dt,dd,label){overflow-wrap:anywhere}:where(summary){min-height:44px;padding-block:.6rem;cursor:pointer}html{scroll-padding-block:1rem 6rem}:where(button,input,select,textarea,[tabindex]){scroll-margin-block:1rem 6rem}a,button{-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.5}.app-shell{width:min(100%,72rem);min-height:100vh;margin:0 auto;padding:1rem 1rem 6rem}.topbar{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0 1.25rem}.eyebrow{margin:0 0 .15rem;color:var(--color-action);font-size:.78rem;font-weight:800;letter-spacing:.12em}h1{font-size:clamp(1.55rem,5vw,2.15rem)}h1,h2{margin:0}h2{font-size:1.12rem}.header-actions{display:flex;align-items:center;gap:.45rem}main{display:grid;gap:1.5rem}.section-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.65rem}.admin-section-title,.section-heading,.topbar{flex-wrap:wrap;gap:.75rem}.admin-section-title>*,.section-heading>*,.topbar>*{min-width:0}.section-heading span{color:#746b65;font-size:.84rem}.balance-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem}.balance-card{min-width:0;padding:1rem;border:1px solid var(--color-line);border-radius:.85rem;background:#fff;box-shadow:0 2px 10px #49382b0d}.balance-card:first-child{background:#fff8f0;border-color:#e5c7a7}.balance-card p{margin:0 0 .4rem;color:var(--color-muted);font-size:.84rem}.balance-card strong{display:block;overflow-wrap:anywhere;font-size:clamp(1.25rem,6vw,1.75rem);font-variant-numeric:tabular-nums}.action-list{overflow:hidden;border:1px solid var(--color-line);border-radius:.85rem;background:#fff}.action-row{width:100%;min-height:4.6rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border:0;border-bottom:1px solid #eee8e1;background:#fff;color:inherit;text-align:left}.action-row:last-child{border-bottom:0}.action-row:focus-visible,.bottom-nav a:focus-visible,.quick-grid button:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d88b32;outline-offset:2px}.action-row span:first-child{display:grid;gap:.2rem}.action-row small{color:#746b65;font-weight:500}.count{min-width:3.1rem;color:var(--color-action);font-size:1.45rem;font-weight:800;text-align:right}.count small{margin-left:.15rem;color:inherit;font-size:.75rem}.count.pending{min-width:4.5rem;color:var(--color-muted)}.count.pending small{display:block;margin:0}.balance-status{margin:0 0 .65rem}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem}.quick-grid button{min-height:3.2rem;border:1px solid var(--color-action);border-radius:.7rem;background:#fff;color:var(--color-action);font-weight:800}.bottom-nav{position:fixed;z-index:10;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(5,1fr);padding:.35rem max(.5rem,env(safe-area-inset-right)) calc(.35rem + env(safe-area-inset-bottom)) max(.5rem,env(safe-area-inset-left));border-top:1px solid #ddd5cd;background:#fffffff5;backdrop-filter:blur(10px)}.bottom-nav button{min-height:3rem;display:grid;place-items:center;padding-inline:.25rem;white-space:nowrap;border:0;background:transparent;color:var(--color-muted);font-size:.75rem;font-weight:700}.bottom-nav button[aria-current=page]{color:var(--color-action)}.entry-shell{width:min(100%,38rem);min-height:100vh;margin:0 auto;padding:1rem 1rem 3rem}.back-button{min-height:44px;padding:0 .75rem;border:0;border-radius:.55rem;background:transparent;color:var(--color-action);font-weight:800}.entry-form{display:grid;padding:1rem;border:1px solid var(--color-line);border-radius:.9rem;background:#fff}.entry-form label{display:grid;gap:.4rem;margin-top:.65rem;color:#443e39;font-weight:800}.entry-form input:not([type=checkbox]):not([type=radio]),.entry-form select,.entry-form textarea{width:100%;min-height:3rem;padding:.65rem .75rem;border:1px solid #bdb4ac;border-radius:.55rem;background:#fff;color:var(--color-ink);font-size:1rem}.entry-form textarea{min-height:6rem;resize:vertical}.optional-field{margin-top:.65rem;border:1px solid #ded7cf;border-radius:.55rem;background:#faf8f5}.optional-field summary{min-height:3rem;display:flex;align-items:center;padding:.65rem .75rem;color:var(--color-muted);font-size:.9rem;font-weight:800;cursor:pointer}.optional-field[open]{padding:0 .75rem .75rem}.optional-field[open] summary{margin:0 -.75rem}.entry-form input[aria-invalid=true],.entry-form select[aria-invalid=true],.entry-form textarea[aria-invalid=true]{border-color:#a51f2e;box-shadow:0 0 0 1px #a51f2e}.field-error{color:#9c1727;font-weight:700}.input-help{display:block;margin:.05rem 0 .35rem;color:var(--color-muted);font-size:.82rem;font-weight:500}.confirmation-note,.error-banner,.fiscal-year-note,.status-banner{padding:.8rem 1rem;border-radius:.65rem;font-size:.9rem}.status-banner{background:#f0ece7}.error-banner{border:1px solid #db9aa3;background:#fff1f3;color:#761320}.error-banner .inline-button{margin-top:.65rem}.success-banner{padding:.8rem 1rem;border:1px solid #8fc2a8;border-radius:.65rem;background:#edf8f2;color:#145338}.confirmation-note{background:#fff8e8;color:#59420e}.fiscal-year-note{margin:.8rem 0 0;background:#f4f1ed;color:var(--color-muted)}.primary-button{width:100%;min-height:3.25rem;margin-top:1rem;padding:.7rem 1rem;border:0;border-radius:.65rem;background:var(--color-action);color:#fff;font-weight:800}.primary-button:disabled{cursor:not-allowed;opacity:.55}.danger-button{width:100%;min-height:3.25rem;padding:.7rem 1rem;border:0;border-radius:.65rem;background:#9c1727;color:#fff;font-weight:800}.danger-button:disabled{cursor:wait;opacity:.6}.warning-banner{padding:.8rem 1rem;border:1px solid #d7ae61;border-radius:.65rem;background:#fff8e8;color:#59420e;font-size:.9rem}.original-transaction{display:grid;gap:.35rem;margin-bottom:1rem;padding:1rem;border:1px solid #d7cec5;border-radius:.75rem;background:#f2efec}.original-transaction span{color:var(--color-muted);font-size:.82rem}.original-transaction b{color:var(--color-action);font-size:1.25rem}.form-section-title{margin:1.2rem 0 .1rem;padding-top:1rem;border-top:1px solid var(--color-line);font-weight:800}.review-list{overflow:hidden;margin:1rem 0;border:1px solid var(--color-line);border-radius:.85rem;background:#fff}.review-list div{display:grid;grid-template-columns:7rem 1fr;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid #eee8e1}.review-list div:last-child{border-bottom:0}.review-list dt{color:#6d645e;font-size:.86rem}.review-list dd{margin:0;overflow-wrap:anywhere;font-weight:700;text-align:right}.review-list .review-amount dd{color:var(--color-action);font-size:1.35rem}.completion-actions{display:grid;gap:.75rem;margin-top:1.5rem}.completion-actions button{width:100%;min-height:3.25rem;margin:0}.route-loading{width:min(100% - 2rem,38rem);margin:2rem auto;border-radius:.65rem}.auth-card,.route-loading{padding:1rem;background:#fff}.auth-card{display:grid;gap:.65rem;border:1px solid var(--color-line);border-radius:.85rem}.auth-card p,.form-help{margin:0;color:var(--color-muted)}.auth-card strong{overflow-wrap:anywhere}.admin-year-list{display:grid;gap:.65rem;margin-bottom:1rem}.admin-year-list article{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border:1px solid #ded7cf;border-radius:.75rem;background:#fff}.admin-year-list article div{display:grid;gap:.2rem}.admin-year-list article small{color:var(--color-muted)}.admin-master-grid{display:grid;gap:1.25rem}.admin-section-title{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.admin-section-title h2{margin:0}@media(min-width:900px){.admin-master-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.secondary-button{min-height:3rem;margin-top:.5rem;border:1px solid var(--color-action);border-radius:.65rem;background:#fff;color:var(--color-action);font-weight:800}.ledger-shell{width:min(100%,52rem);min-height:100vh;margin:0 auto;padding:1rem 1rem 3rem}.ledger-summary{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.7rem;color:var(--color-muted)}.ledger-summary strong{color:var(--color-ink)}.ledger-filters{display:grid;gap:.75rem;margin-bottom:1rem;padding:.85rem;border:1px solid var(--color-line);border-radius:.8rem;background:#fff}.expense-work,.ledger-filters label{display:grid;gap:.3rem;color:#514a45;font-size:.82rem;font-weight:800}.expense-work select,.ledger-filters input,.ledger-filters select{width:100%;min-height:2.8rem;padding:.55rem .65rem;border:1px solid #bdb4ac;border-radius:.5rem;background:#fff;color:var(--color-ink);font-size:1rem}.filter-row{grid-template-columns:1fr 1fr;gap:.6rem}.filter-row,.ledger-list{display:grid}.ledger-item{padding:.9rem 1rem;border:1px solid #ded7cf;border-left:.3rem solid #71665d;border-radius:.75rem;background:#fff}.ledger-item.ledger-income{border-left-color:#216e48}.ledger-item.ledger-expense{border-left-color:#a51f2e}.ledger-item.ledger-transfer{border-left-color:#29658a}.ledger-item.ledger-reversed{background:#f2efec;opacity:.82}.ledger-item-top,.ledger-main-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.ledger-date{color:var(--color-muted);font-size:.86rem;font-weight:700}.status-chip{padding:.2rem .5rem;border:1px solid #c8c0b8;border-radius:999px;color:#514a45;font-size:.75rem;font-weight:800}.ledger-main-row{align-items:center;margin-top:.45rem}.ledger-main-row small{color:var(--color-muted);font-weight:800}.ledger-main-row h2{margin-top:.1rem;font-size:1rem}.ledger-main-row>strong{flex:none;color:var(--color-ink);font-size:1.15rem;white-space:nowrap}.ledger-income .ledger-main-row>strong{color:#17633f}.ledger-expense .ledger-main-row>strong{color:#971625}.ledger-route,.reversal-reason{margin:.6rem 0 0;color:#5e5650;font-size:.84rem}.ledger-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin:.55rem 0 0}.ledger-tags span{padding:.15rem .45rem;border-radius:.35rem;background:#eee9e4;color:#514a45;font-size:.74rem;font-weight:700}.reversal-reason{padding-top:.55rem;border-top:1px solid #ddd5cd}.ledger-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.75rem;padding-top:.7rem;border-top:1px solid #eee8e1}.ledger-actions button{min-height:44px;border:1px solid var(--color-action);border-radius:.5rem;background:#fff;color:var(--color-action);font-size:.82rem;font-weight:800}.ledger-actions button:last-child{border-color:#786f68;color:#514a45}.ledger-correction{margin-top:.65rem;border-top:1px solid #eee8e1}.ledger-correction summary{min-height:44px;display:flex;align-items:center;justify-content:flex-end;color:#6d645e;font-size:.82rem;font-weight:800;cursor:pointer}.ledger-correction[open] summary{color:var(--color-action)}.ledger-correction .ledger-actions{margin-top:0}.empty-state{padding:2rem 1rem;border:1px dashed #c8c0b8;border-radius:.75rem;color:var(--color-muted);text-align:center}.error-banner p{margin:0 0 .6rem}.inline-button{min-height:44px;padding:0 .75rem;border:1px solid;border-radius:.5rem;background:#fff;color:#761320;font-weight:800}.fee-shell{width:min(100%,52rem);min-height:100vh;margin:0 auto;padding:1rem 1rem 3rem}.fee-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.fee-toolbar>div{display:grid;gap:.1rem}.fee-toolbar small{color:var(--color-muted)}.fee-management-actions button,.fee-toolbar button{min-height:44px;padding:.55rem .75rem;border:1px solid var(--color-action);border-radius:.55rem;background:#fff;color:var(--color-action);font-weight:800}.fee-filters{display:grid;gap:.35rem;margin-bottom:.75rem}.fee-filters button{min-height:44px;padding:.35rem;border:1px solid #c8c0b8;border-radius:.55rem;background:#fff;color:#514a45;font-size:.78rem;font-weight:800}.fee-filters button[aria-pressed=true]{border-color:var(--color-action);background:var(--color-action);color:#fff}.expense-filters button,.fee-filters button,.purchase-filters button{display:flex;align-items:center;justify-content:center}.filter-count{display:inline-flex;min-width:1.8rem;min-height:1.4rem;align-items:center;justify-content:center;padding:0 .35rem;border-radius:999px;background:#eee9e4;color:#514a45}.expense-filters button[aria-pressed=true] .filter-count,.fee-filters button[aria-pressed=true] .filter-count,.purchase-filters button[aria-pressed=true] .filter-count{background:#fff;color:var(--color-action)}.fee-management-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:.5rem;margin-bottom:.8rem}.fee-list{display:grid;gap:.75rem}.fee-card{min-width:0;padding:1rem;border:1px solid #ded7cf;border-radius:.8rem;background:#fff}.fee-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem}.fee-card-heading h2{overflow-wrap:anywhere}.fee-card-heading small{display:block;margin-top:.2rem;color:var(--color-muted)}.fee-card-heading .status-chip{flex:none;max-width:48%;text-align:center}.fee-setting-name{margin:.65rem 0;color:var(--color-muted);font-size:.84rem}.fee-amounts{display:grid;grid-template-columns:1fr 1fr;margin:0;border-top:1px solid #eee8e1}.fee-amounts div{min-width:0;padding:.55rem .25rem;border-bottom:1px solid #eee8e1}.fee-amounts div:last-child{grid-column:1/-1}.fee-amounts dt{color:var(--color-muted);font-size:.72rem}.fee-amounts dd{margin:.15rem 0 0;overflow-wrap:anywhere;font-weight:800}.fee-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.75rem}.fee-card-actions button{min-height:44px;border:1px solid var(--color-action);border-radius:.55rem;background:#fff;color:var(--color-action);font-size:.82rem;font-weight:800}.next-action{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.45rem;align-items:start;margin:.7rem 0 0;padding:.6rem .7rem;border-radius:.55rem;background:#f4f0eb;color:#514a45;font-size:.78rem;line-height:1.5}.next-action strong{color:var(--color-action);white-space:nowrap}.next-action span{overflow-wrap:anywhere}.member-checklist{display:grid;gap:.3rem;margin-top:.8rem;padding:.75rem;border:1px solid #d7cec5;border-radius:.6rem}.member-checklist>div{max-height:14rem;overflow:auto}.member-checklist legend{font-weight:800}.member-checklist label{grid-template-columns:auto 1fr;align-items:center;min-height:44px;margin:0}.member-checklist input{width:1.25rem;min-height:1.25rem}.member-checklist .checklist-toggle{min-height:44px;border:1px solid var(--color-action);border-radius:.5rem;background:#fff;color:var(--color-action);font-weight:800;cursor:pointer}.handover-summary,.operation-target{display:grid;gap:.25rem;margin:0;padding:.85rem;border-radius:.65rem;background:#f2efec}.handover-summary small{color:var(--color-muted)}.receipt-total{margin:.8rem 0 0;color:var(--color-action);font-size:1.35rem;font-weight:900;text-align:right}.expense-shell{width:min(100%,52rem);min-height:100vh;margin:0 auto;padding:1rem 1rem 3rem}.expense-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.expense-toolbar>div{display:grid;gap:.1rem}.expense-toolbar small{color:var(--color-muted)}.expense-toolbar button{min-height:44px;padding:.55rem .75rem;border:1px solid var(--color-action);border-radius:.55rem;background:#fff;color:var(--color-action);font-weight:800}.expense-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:1.25rem 0}.expense-filters button{padding:.35rem;border:1px solid #c8c0b8;border-radius:.55rem;background:#fff;color:#514a45;font-size:.82rem;font-weight:800}.expense-filters button[aria-pressed=true]{border-color:var(--color-action);background:var(--color-action);color:#fff}.expense-filters button,.fee-filters button,.purchase-filters button{flex-direction:column;flex-wrap:nowrap;min-height:68px;gap:.4rem}.purchase-campaign-actions.expense-next{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:1.25rem 0}.expense-list{display:grid;gap:.75rem}.expense-card{min-width:0;padding:1rem;border:1px solid #ded7cf;border-radius:.8rem;background:#fff}.expense-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem}.expense-card-heading h2{overflow-wrap:anywhere}.expense-card-heading small{display:block;margin-top:.2rem;color:var(--color-muted)}.expense-card-heading .status-chip{flex:none;max-width:48%;text-align:center}.expense-amount{margin:.7rem 0 .25rem;color:var(--color-action);font-size:1.35rem;font-weight:900}.expense-meta{margin:.35rem 0 0;color:var(--color-muted);font-size:.84rem;overflow-wrap:anywhere}.expense-card .warning-banner{margin:.7rem 0 0}.expense-receipts{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.7rem}.expense-receipts .inline-button{display:inline-grid;place-items:center;padding:.35rem .65rem;text-decoration:none}.expense-receipt{display:flex;flex:1 1 100%;flex-wrap:wrap;gap:.45rem;align-items:flex-start}.expense-receipt .ocr-candidates{flex:1 1 100%;margin-top:.1rem}.ocr-candidates.compact p{margin:.6rem 0 0}.ocr-candidates{display:grid;gap:.6rem;margin-top:.8rem;padding:.85rem;border:1px solid #d7ae61;border-radius:.65rem;background:#fffaf0}.ocr-candidates dl{margin:0}.ocr-candidates dl div{display:grid;grid-template-columns:5rem 1fr;gap:.5rem;padding:.35rem 0;border-bottom:1px solid #eadfc9}.ocr-candidates dt{color:var(--color-muted)}.ocr-candidates dd{margin:0;overflow-wrap:anywhere;font-weight:800}.ocr-candidates details{min-width:0}.ocr-candidates summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:800}.ocr-candidates pre{max-height:12rem;overflow:auto;margin:.4rem 0 0;padding:.65rem;border-radius:.45rem;background:#fff;white-space:pre-wrap;overflow-wrap:anywhere}.expense-card-actions{display:grid;margin-top:.75rem;padding-top:.7rem;border-top:1px solid #eee8e1}.expense-card-actions button{min-height:44px;border:1px solid var(--color-action);border-radius:.55rem;background:#fff;color:var(--color-action);font-weight:800}.purchase-shell{width:min(100%,58rem);min-height:100vh;margin:0 auto;padding:1rem 1rem 3rem}.purchase-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.purchase-toolbar>div{display:grid;gap:.1rem}.purchase-campaign-card small,.purchase-card-heading small,.purchase-toolbar small{display:block;margin-top:.18rem;color:var(--color-muted)}.purchase-campaign-actions button,.purchase-posting button,.purchase-toolbar button,.purchase-track-actions button{min-height:44px;padding:.5rem .7rem;border:1px solid var(--color-action);border-radius:.55rem;background:#fff;color:var(--color-action);font-size:.8rem;font-weight:800}.purchase-campaign-actions button:disabled,.purchase-toolbar button:disabled{cursor:not-allowed;opacity:.45}.purchase-campaigns{margin:1rem 0}.purchase-campaigns .section-heading{margin-bottom:.5rem}.purchase-campaign-card{display:grid;gap:.65rem;margin-bottom:.5rem;padding:.8rem;border:1px solid #ded7cf;border-radius:.7rem;background:#fff}.purchase-campaign-actions,.purchase-track-actions{display:flex;flex-wrap:wrap;gap:.4rem}.purchase-posting{display:grid;gap:.45rem;margin:.8rem 0;padding:.8rem;border:1px solid #d7ae61;border-radius:.7rem;background:#fffaf0}.purchase-posting h2{font-size:1rem}.purchase-filters{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem;margin:.75rem 0}.purchase-filters button{padding:.3rem;border:1px solid #c8c0b8;border-radius:.55rem;background:#fff;color:#514a45;font-size:.76rem;font-weight:800}.purchase-filters button[aria-pressed=true]{border-color:var(--color-action);background:var(--color-action);color:#fff}.purchase-list{display:grid;gap:.75rem}.purchase-order-card{min-width:0;padding:1rem;border:1px solid #ded7cf;border-radius:.8rem;background:#fff}.purchase-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem;margin-bottom:.75rem}.purchase-card-heading h2{overflow-wrap:anywhere}.purchase-card-heading .status-chip{flex:none}.purchase-tracks{display:grid;gap:.65rem}.purchase-tracks>section{min-width:0}.purchase-tracks>section:first-child{border-top:.28rem solid #29658a}.purchase-tracks>section:last-child{border-top:.28rem solid #8a6524}.purchase-tracks h3{margin:0;font-size:.95rem}.purchase-total{margin:.35rem 0;font-size:1.05rem;font-weight:900}.purchase-tracks dl{margin:0 0 .55rem}.purchase-tracks dl div{display:flex;justify-content:space-between;gap:.5rem;padding:.3rem 0;border-bottom:1px solid #e5dfd8}.purchase-tracks dt{color:var(--color-muted);font-size:.76rem}.purchase-tracks dd{margin:0;font-weight:800}.purchase-item-inputs{display:grid;gap:.55rem;margin-top:.8rem;padding:.75rem;border:1px solid #d7cec5;border-radius:.65rem}.purchase-item-inputs legend{font-weight:800}.report-shell{width:min(100%,58rem);min-height:100vh;margin:0 auto;padding:1rem 1rem 5rem}.report-shell>section{margin-bottom:1.4rem}.report-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.report-toolbar>div{display:grid;gap:.1rem}.report-toolbar small{color:var(--color-muted)}.report-toolbar button{min-height:44px;padding:.5rem .8rem;border:1px solid var(--color-action);border-radius:.55rem;background:#fff;color:var(--color-action);font-weight:800}.report-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;margin-top:.6rem}.report-summary-grid article{min-width:0;padding:.8rem;border:1px solid #ded7cf;border-radius:.7rem;background:#fff}.report-summary-grid span{display:block;color:var(--color-muted);font-size:.78rem}.report-summary-grid strong{display:block;margin-top:.25rem;overflow-wrap:anywhere;font-size:clamp(1rem,4vw,1.35rem)}.report-help{margin:.5rem 0 0;color:var(--color-muted);font-size:.82rem}.report-list{display:grid;gap:.5rem;margin-top:.6rem}.report-list article{display:grid;grid-template-columns:minmax(8rem,1fr) repeat(3,auto);gap:.8rem;align-items:center;padding:.8rem;border:1px solid #ded7cf;border-radius:.7rem;background:#fff}.report-list span{color:var(--color-muted);font-size:.82rem}.report-list b{color:var(--color-action);white-space:nowrap}.report-action{width:100%;margin-top:.7rem}.close-readiness dl{margin:.6rem 0;border:1px solid #ded7cf;border-radius:.7rem;background:#fff}.close-readiness dl div{display:flex;justify-content:space-between;gap:.8rem;padding:.65rem .8rem;border-bottom:1px solid #eee8e1}.close-readiness dl div:last-child{border-bottom:0}.close-readiness dt{color:var(--color-muted)}.close-readiness dd{margin:0;font-weight:800}@media(min-width:48rem){.app-shell{padding:2rem}.balance-grid{grid-template-columns:repeat(3,1fr)}.balance-card:first-child{grid-column:auto}.app-shell>main{grid-template-columns:minmax(0,1fr);align-items:start}.app-shell>main section:first-child{grid-column:1/-1}.app-shell:has(>.bottom-nav){padding-left:11rem}.bottom-nav{top:1rem;bottom:auto;right:auto;left:max(1rem,50vw - 35rem);width:9rem;grid-template-columns:1fr}.entry-shell,.expense-shell,.fee-shell,.ledger-shell,.purchase-shell,.report-shell{padding-top:2rem}.purchase-tracks{grid-template-columns:1fr 1fr}.purchase-campaign-card{grid-template-columns:minmax(0,1fr) auto;align-items:center}}@media(max-width:36rem){.report-list article{grid-template-columns:1fr 1fr;gap:.35rem .7rem}.report-list article strong{grid-column:1/-1}.report-list article b{text-align:right}.report-summary-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition:none!important}}.login-shell{grid-template-columns:minmax(0,1fr);width:min(100% - 32px,480px);margin:48px auto;padding-bottom:32px;overflow-wrap:anywhere}.login-shell h1{font-size:clamp(1.5rem,6vw,2rem)}.login-shell>button{width:100%;margin-block:12px}.login-shell button,.login-shell input,.user-management button,.user-management input,.user-management select{min-height:44px;font-size:16px}.login-shell .line-login{display:flex;align-items:center;padding:0;background:#06c755;color:#fff;border:0;min-height:56px;white-space:nowrap;font-weight:700;border-radius:0}.line-login img{flex:0 0 56px;border-right:1px solid #00000014}.line-login span{flex:1;padding-inline:28px}.login-shell .line-login:hover{background:#05b34c}.login-shell .line-login:active{background:#048b3b}.login-shell .line-login:disabled{background:#fff;color:#1e1e1e33;border:1px solid #e5e5e599;opacity:1}.line-login:disabled img{filter:brightness(0);opacity:.2}.login-links{display:flex;flex-wrap:wrap;gap:12px;margin-block:20px}.login-links a{display:inline-flex;align-items:center;min-height:44px}.user-management{overflow-wrap:anywhere}.user-management label{display:grid;gap:8px;margin-block:12px}.user-management .role-option{display:flex;align-items:center;min-height:44px}.user-management input,.user-management select,.user-management textarea{width:100%;min-width:0;font-size:16px}.user-management input[type=checkbox]{width:24px;margin-right:12px}.user-management pre{white-space:pre-wrap;overflow-wrap:anywhere}.header-actions{flex-wrap:wrap}.auth-card{overflow-wrap:anywhere}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #2563eb;outline-offset:3px}.member-home{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%}.member-home>h2,.member-home>p{grid-column:1/-1;margin:0}.home-action{margin-top:0;min-height:56px;width:100%;padding:12px 16px;text-align:left;white-space:normal;overflow-wrap:anywhere}.expense-shell button,.fee-shell button,.home-action,.purchase-shell button{font-size:16px}@media(max-width:47.99rem){.member-home{grid-template-columns:minmax(0,1fr)}}main.entry-shell{display:flex;flex-direction:column;align-items:stretch;gap:1rem}main.entry-shell>.back-button{align-self:flex-start}main.entry-shell>p{margin-block:0}.app-shell.role-home,.entry-shell.admin-overview{width:min(100%,72rem)}.admin-master-grid{align-items:start}.admin-year-list{align-content:start;min-width:0}.admin-year-list article>div{min-width:0}.admin-year-list .status-chip{flex-shrink:0;white-space:nowrap}.entry-header{margin-bottom:1rem}.entry-header .eyebrow{margin-top:.5rem}.entry-form{gap:.6rem}.entry-form label{font-size:1rem}.entry-form>p{margin-block:.5rem}.user-management button{margin-block:.25rem}.user-management article{padding-block:1rem;border-bottom:1px solid #ded7cf}.year-picker{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem}.expense-filters,.fee-filters,.purchase-filters{gap:.5rem}.expense-toolbar,.fee-toolbar,.purchase-toolbar{flex-wrap:wrap}.bottom-nav button,.fee-amounts dt,.ledger-actions button{font-size:.875rem}.filter-count{font-size:.8125rem}.purchase-tracks dl div>*,.report-list article>*{min-width:0;overflow-wrap:anywhere}@media(min-width:36.01rem){.report-list article{grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr))}}.home-action{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.home-action-arrow{flex:0 0 auto;font-size:1.4rem}@media(hover:hover){button:not(:disabled):not(.line-login):hover{filter:brightness(.96)}}.app-update{max-width:72rem;margin:1rem auto;padding:1rem;border:1px solid var(--color-action);border-radius:12px;background:#fff;overflow-wrap:anywhere}.app-update p{margin:0 0 .75rem}.app-update button{min-height:44px}.app-update .button-row{display:flex;flex-wrap:wrap;gap:.75rem}.cash-handover-panel{margin-block:1rem;padding:1rem;border:1px solid #ddd2c8;border-radius:.75rem;background:#fff}.cash-handover-panel article{border-top:1px solid #ddd2c8;padding-block:.75rem}.cash-handover-panel form{display:grid;gap:1rem}.cash-handover-panel form :where(p,h3,ul,dl){margin-block:0}.cash-handover-panel form .primary-button{margin:0}.cash-handover-panel>article:first-of-type{border:0}.cash-handover-panel label{display:grid;gap:.4rem}.directory-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-block:1rem}.directory-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;justify-content:space-between;padding:1rem 0;border-bottom:1px solid #ddd2c8}.directory-row>div{min-width:0;flex:1 1 12rem;overflow-wrap:anywhere}.audit-log details{margin-block:12px;border-bottom:1px solid #cbd5e1;padding-block:8px;overflow-wrap:anywhere}.audit-log summary{min-height:44px;cursor:pointer}.audit-log pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:1rem}.workflow-help summary{min-height:44px;display:list-item;cursor:pointer;padding-block:10px}.role-worklist{grid-column:1/-1;width:100%}.role-worklist h3{margin:var(--space-lg) 0 var(--space-sm);font-size:1rem}.role-worklist>p{color:var(--color-muted)}.role-worklist .action-row{min-height:64px;border:1px solid var(--color-line);border-radius:var(--radius-control);margin-block:var(--space-sm)}.role-worklist .action-row strong{flex-shrink:0;color:var(--color-action)}.home-action{background:var(--color-surface);color:var(--color-action);border:1px solid var(--color-line);border-radius:var(--radius-control)}.action-list:empty{display:none}.payment-main{font-weight:700;font-size:1.1rem}.payment-progress dl{display:grid;gap:var(--space-sm);margin:var(--space-md) 0}.payment-progress dl>div{display:flex;justify-content:space-between;align-items:start;gap:var(--space-sm)}.payment-progress dt span{display:block;color:var(--color-muted);font-size:.9rem}.payment-progress dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}.expense-amount small{font-size:1rem;font-weight:500;color:var(--color-muted)}.expense-payment-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-sm)}.expense-payment-summary dt{font-size:.9rem;color:var(--color-muted)}.expense-payment-summary dd{margin:var(--space-xs) 0 0;font-weight:700;font-variant-numeric:tabular-nums}.entry-form fieldset{min-width:0;padding:0;border:0;margin:0}.entry-form legend{font-weight:700;padding:0;margin-top:var(--space-sm)}.entry-form fieldset:disabled{opacity:1}.entry-form fieldset:disabled input,.entry-form fieldset:disabled select{color:var(--color-ink);-webkit-text-fill-color:var(--color-ink);opacity:1;background:#f0ece7}a:focus-visible,summary:focus-visible{outline:3px solid #d88b32;outline-offset:2px}@media(max-width:360px){.expense-filters,.purchase-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.bottom-nav button{padding-inline:.15rem}}.handover-amounts{display:grid;gap:var(--space-sm);margin-block:var(--space-md)}.handover-amounts>div{display:flex;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap}.handover-amounts dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}.cash-handover-panel summary{cursor:pointer;min-height:44px;padding-block:12px}.home-identity,.member-activity{grid-column:1/-1;min-width:0}.home-identity{border:1px solid var(--color-line);border-radius:.85rem;background:#fff}.registered-name{display:flex;align-items:center;gap:.75rem}.registered-name>div{min-width:0}.registered-name strong{display:block;font-size:1.35rem;overflow-wrap:anywhere}.home-identity dt,.identity-label{color:var(--color-muted);font-size:.85rem}.edit-name{width:44px;height:44px;display:inline-flex;justify-content:center;align-items:center;flex-shrink:0}.home-identity dl{margin:.8rem 0 0;display:grid;gap:.35rem}.home-identity dl>div{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:.5rem}.home-identity dd{margin:0}.member-activity{display:grid;gap:1rem}.member-activity>section{display:grid;gap:.75rem}.activity-year{color:var(--color-muted);margin:0}.member-order-lines{list-style:none;padding:0;display:grid;gap:.75rem}.member-order-lines li{display:grid;grid-template-columns:1fr auto;gap:.25rem .75rem;padding-block:.5rem;border-bottom:1px solid var(--color-line)}.member-order-lines strong{grid-column:1/-1}.order-total{font-weight:700}.order-fixed-value{margin:0;padding:.75rem 0;border-bottom:1px solid var(--color-line)}.order-fixed-value dt{color:var(--color-muted);font-size:.9rem}.order-fixed-value dd{margin:.25rem 0 0;font-weight:700}.order-item-input{display:grid;gap:.45rem;padding:.5rem}.order-item-input p{margin:0}.order-item-input label{display:grid;gap:.35rem}.edit-name{border:0;background:transparent;padding:14px}.home-logout{max-width:16rem}.home-logout button{font-size:.875rem;padding:.25rem .5rem;min-width:0;border:0;background:transparent}.header-actions{margin-left:auto;justify-content:flex-end;align-self:flex-start}.topbar{position:relative;padding-right:5rem}.home-logout{position:absolute;top:0;right:0}.list-search{display:grid;gap:.35rem;margin:.75rem 0;font-size:.9rem;font-weight:700}.list-search input{width:100%;min-width:0;min-height:44px;font-size:16px;padding:.55rem;border:1px solid #aaa;border-radius:.5rem}.fee-shell>details,.purchase-shell>details{margin:.65rem 0}summary{min-height:44px;padding:.6rem .2rem;cursor:pointer}summary:focus-visible{outline:3px solid var(--color-action);outline-offset:2px}.home-identity>details>summary{font-size:.85rem;color:var(--color-muted)}.fee-card,.purchase-order-card{padding:.8rem}.fee-amounts{margin-block:.5rem}.purchase-tracks>section{padding:.5rem;background:transparent;border:0;border-top:1px solid #ded7cf;border-radius:0}.purchase-tracks>section:first-child,.purchase-tracks>section:last-child{border-top-width:1px}.purchase-total{margin-block:.35rem}.audit-log>details{border-bottom:1px solid #ded7cf;padding-block:.2rem}@media(min-width:1024px){.fee-shell,.purchase-shell{max-width:1080px}.fee-card{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(160px,1fr);gap:.5rem 1rem;align-items:start}.fee-card-heading{grid-column:1/-1}.fee-card .fee-card-actions{margin:0;grid-template-columns:1fr}.fee-card .next-action{margin:0}.audit-log{max-width:1080px}}.fee-filters,.purchase-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-count{max-width:100%;white-space:normal;text-align:center;line-height:1.25}.campaign-work,.home-overview{margin-block:1rem}.purchase-order-card>summary{padding:.5rem;min-height:44px;cursor:pointer;overflow-wrap:anywhere}.purchase-order-card>summary>span{display:block;margin-top:.35rem;font-size:.9rem}.purchase-tracks:has(>details:not([open])){grid-template-columns:1fr}.close-readiness nav{display:flex;flex-wrap:wrap;gap:.5rem}.new-expense-action{margin-block:.75rem}.new-expense-action button{min-width:10rem;padding:.65rem 1rem}.pickup-notice{margin-block:.75rem}.pickup-notice.entry-form{max-width:34rem}.family-home{display:grid;min-width:0}.family-confirm,.family-home fieldset,.family-home section{display:grid;gap:.75rem;min-width:0}.family-home input[type=number]{width:6rem}.family-home label{display:grid;gap:.35rem}label:has(>input[type=checkbox]){display:flex;align-items:center;min-height:44px}.family-home button{min-height:44px;white-space:normal}.family-members li,.family-row{display:grid;gap:.5rem;padding:.75rem;border-bottom:1px solid #d5dce3;overflow-wrap:anywhere;min-width:0}.family-members{list-style:none;padding:0}.family-home fieldset{margin:0;border:1px solid #d5dce3;border-radius:.5rem;padding:.75rem}.family-home{gap:.65rem}.family-home h2{font-size:1rem;margin:0}.family-home h3{margin:.5rem 0}.family-home p{margin:.35rem 0}.family-home .family-empty{display:none}.family-home .family-year{font-size:.875rem;color:var(--color-muted)}.family-home .family-year>summary{min-height:44px;display:flex;align-items:center;cursor:pointer}.family-home>details{padding:.35rem 0}.home-identity{padding:.4rem .75rem}.directory-list .directory-row{padding:.5rem 0;gap:.5rem}.directory-row p{margin:.2rem 0;font-size:.875rem}.directory-filters{display:grid;gap:.75rem;margin:.75rem 0}.ledger-list{gap:0}.ledger-list .ledger-item{padding:.65rem .8rem;border-radius:0;box-shadow:none}.ledger-item .ledger-main-row h2{font-size:1rem;margin:.2rem 0;overflow-wrap:anywhere}.ledger-item .ledger-route,.ledger-item .ledger-tags{margin:.25rem 0}.ledger-details{margin-top:.3rem}.ledger-details>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;text-decoration:underline}.ledger-details[open]{border-top:1px solid var(--color-line);padding-top:.4rem}@media(min-width:760px){.directory-filters{grid-template-columns:1fr 1fr}.directory-list .directory-row>div{display:grid;grid-template-columns:minmax(10rem,1fr) 4rem minmax(12rem,2fr);align-items:center;gap:.7rem}.ledger-shell{max-width:1200px}.ledger-filters{display:grid;grid-template-columns:1fr 2fr 2fr;gap:.75rem;align-items:end}.ledger-list .ledger-item{display:grid;grid-template-columns:100px minmax(0,1fr) 170px 135px 95px;gap:.2rem .8rem;align-items:start}.ledger-item .ledger-item-top{grid-column:1;grid-row:1/span 2;flex-direction:column;gap:.25rem}.ledger-item .ledger-main-row{display:contents}.ledger-main-row>div{grid-column:2;grid-row:1}.ledger-main-row>strong{grid-column:4;grid-row:1;text-align:right}.ledger-item .ledger-route{grid-column:3;grid-row:1}.ledger-item .ledger-tags{grid-column:2/5;grid-row:2}.ledger-details{grid-column:5;grid-row:1/span 2}.ledger-details[open]{grid-column:1/-1;grid-row:3}}.family-confirm{padding:1rem;background:#f1f6fa;border-radius:.5rem}@media(min-width:720px){.family-members{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}}#root{display:flow-root}.directory-list .directory-row>.directory-actions{display:flex;flex-wrap:wrap;gap:.25rem;flex:0 1 auto}.campaign-summary{grid-column:1/-1;min-width:0}.campaign-summary p{margin:.35rem 0}.identity-roles{margin:.35rem 0;font-size:.875rem}.family-home input:not([type=checkbox]),.family-home select{min-height:48px;font-size:16px}.home-identity{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:.6rem}.home-identity .registered-name{grid-column:1/-1;justify-content:space-between}.home-identity .registered-name strong{font-size:1rem;line-height:1.5}.home-identity .identity-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.home-identity .identity-roles{grid-column:1;align-self:center;margin:0}.home-identity>details{grid-column:2;grid-row:2}.home-identity>details[open]{grid-column:1/-1;grid-row:3}.home-identity>details>summary{white-space:nowrap}.family-payment-form{padding:1rem;border:1px solid var(--color-line);border-radius:.85rem;background:#fff}.family-home .primary-button{margin:0}.entry-form input[type=checkbox]{width:20px;height:20px;flex:0 0 20px;margin:0}.purchase-campaign-actions{display:grid;grid-template-columns:1fr 1fr}.purchase-campaign-actions button:last-child:nth-child(odd){grid-column:1/-1}.review-list dd p{margin:0}@media(max-width:600px){.review-list div{grid-template-columns:minmax(0,1fr);gap:.35rem}.review-list dd{text-align:left}.expense-card-heading,.fee-card-heading{flex-wrap:wrap}.expense-card-heading .status-chip,.fee-card-heading .status-chip{max-width:100%}}.money-value{white-space:nowrap}@media(max-width:600px){.expense-card-heading .status-chip,.fee-card-heading .status-chip{margin-right:auto}.expense-card-heading>div,.fee-card-heading>div{flex-basis:100%}}
