:root{--cream:#f4efe8;--paper:#fffdf9;--ink:#211d1a;--muted:#786e66;--brown:#715648;--line:#ded4ca;--accent:#d9c3b4;--ok:#4f6b59;--shadow:0 14px 35px rgba(53,39,30,.09)}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,sans-serif}.app-header{height:88px;padding:12px clamp(18px,4vw,46px);display:flex;align-items:center;justify-content:space-between;background:rgba(255,253,249,.94);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:14px;border:0;background:none;color:inherit;text-align:left;cursor:pointer}.brand img{width:100px;height:58px;object-fit:contain}.brand strong{font:26px Georgia,serif}.brand small{display:block;color:var(--muted);margin-top:3px}.screen{display:none;max-width:1120px;margin:auto;padding:42px 28px 70px}.screen.active{display:block}.intro{text-align:center;max-width:680px;margin:0 auto 34px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:700;color:var(--brown);margin:0 0 8px}h1{font:clamp(32px,4vw,48px) Georgia,serif;margin:0 0 10px}h2{font:24px Georgia,serif;margin:0 0 18px}.intro>p:last-child{color:var(--muted)}button,input{font:inherit}.people-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.person-card{border:1px solid var(--line);background:var(--paper);border-radius:22px;padding:0;overflow:hidden;cursor:pointer;box-shadow:var(--shadow);transition:.15s transform,.15s border-color}.person-card:hover,.person-card:focus-visible{transform:translateY(-3px);border-color:var(--brown)}.person-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}.person-card strong{display:block;padding:17px;font:23px Georgia,serif}.product-only{width:100%;max-width:560px;margin:28px auto 0;display:grid;grid-template-columns:44px 1fr;column-gap:12px;text-align:left;align-items:center;padding:18px 22px;border:1px solid var(--line);border-radius:18px;background:var(--paper);cursor:pointer}.product-only span{grid-row:1/3;font-size:36px;color:var(--brown)}.product-only small{color:var(--muted)}.person-heading{display:flex;align-items:center;gap:18px;margin-bottom:30px}.person-heading img{width:78px;height:78px;border-radius:50%;object-fit:cover}.person-heading h1{font-size:38px}.text-button{margin-left:auto;border:0;background:none;text-decoration:underline;color:var(--brown);cursor:pointer}fieldset{border:0;padding:0;margin:0}legend{font:25px Georgia,serif;margin-bottom:16px}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.category{min-height:72px;border:1px solid var(--line);border-radius:15px;background:var(--paper);padding:10px;cursor:pointer;font-weight:700}.category.selected{background:var(--brown);border-color:var(--brown);color:white}.amounts{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:30px 0}.amounts label,.date-row,.pin-panel label{display:flex;flex-direction:column;gap:9px;font-weight:700}.amounts small{font-weight:400;color:var(--muted)}.money{display:flex;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding-right:18px}.money input{width:100%;font-size:36px;padding:16px;border:0;background:transparent;text-align:right;outline:none}.money b{font-size:20px}.date-row{max-width:260px}.date-row input,.report-head input,.pin-panel input{padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.primary,.secondary{border:0;border-radius:14px;padding:16px 24px;font-weight:700;cursor:pointer}.primary{background:var(--ink);color:white;width:100%;font-size:19px;margin-top:28px}.secondary{background:var(--paper);border:1px solid var(--line)}.compact{padding:12px 17px}.people-grid.small{max-width:850px;margin:auto}.pin-panel{max-width:420px;margin:28px auto;background:var(--paper);padding:28px;border-radius:20px;box-shadow:var(--shadow)}.pin-panel input{font-size:28px;letter-spacing:.4em;text-align:center}.error{color:#a03932;min-height:20px}.hint{color:var(--muted);font-size:14px}.hidden{display:none!important}.report-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:25px}.report-head label{display:flex;flex-direction:column;gap:7px}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.summary-grid article,.panel{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:22px}.summary-grid span{color:var(--muted)}.summary-grid strong{font:28px Georgia,serif;display:block;margin-top:8px}.report-columns{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px;margin:18px 0}.category-line,.entry-line{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.entry-line small{color:var(--muted);display:block;margin-top:4px}.admin-people{margin-top:18px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-head h2{margin:0}.table-wrap{overflow-x:auto;margin-top:14px}table{width:100%;border-collapse:collapse;text-align:right}th,td{padding:13px 10px;border-bottom:1px solid var(--line);white-space:nowrap}th:first-child,td:first-child{text-align:left}thead{color:var(--muted);font-size:13px}footer{max-width:1120px;margin:-50px auto 35px;padding:0 28px;text-align:right}.toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);width:min(620px,calc(100% - 30px));background:var(--ok);color:white;border-radius:16px;padding:15px 20px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow);z-index:10}.toast span{display:block;margin-top:4px}.toast button{background:white;border:0;border-radius:10px;padding:10px 16px;font-weight:700;cursor:pointer}@media(max-width:800px){.people-grid,.category-grid{grid-template-columns:repeat(2,1fr)}.summary-grid{grid-template-columns:repeat(2,1fr)}.report-columns,.amounts{grid-template-columns:1fr}.brand span{display:none}.screen{padding:28px 16px 60px}.app-header{height:76px}.person-card strong{font-size:20px}.category{min-height:64px}}@media(max-width:480px){.app-header .compact{font-size:13px}.brand img{width:84px}.people-grid{gap:10px}.person-card{border-radius:16px}.summary-grid{grid-template-columns:1fr 1fr}.person-heading h1{font-size:30px}.report-head{align-items:start;gap:14px}.report-head h1{font-size:30px}th,td{padding:11px 8px}}
