:root{--green:#194f36;--green-dark:#103c28;--green-wash:#eef4e8;--gold:#e7bd62;--gold-dark:#946d24;--cream:#f6f1e6;--paper:#fbfaf6;--ink:#17231c;--muted:#637068;--line:#dce2da;--danger:#a33d2d;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--radius:7px;--shadow:0 20px 55px rgba(24,52,37,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--paper);font-family:var(--sans);color:var(--ink);line-height:1.65}
.shell{width:min(calc(100% - 48px),1240px);margin:0 auto;padding:32px 0 72px}.hero{position:relative;overflow:hidden;background:var(--green);color:#fff;border-radius:var(--radius);padding:clamp(28px,5vw,56px);box-shadow:var(--shadow)}
.hero:after{content:'';position:absolute;right:-70px;bottom:-110px;width:280px;height:280px;border:55px solid rgba(231,189,98,.14);border-radius:50%}.hero-row{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:28px;flex-wrap:wrap}.brand{font-family:var(--serif);font-size:clamp(2.5rem,5vw,4.8rem);font-weight:500;line-height:1}.sub{max-width:620px;color:rgba(255,255,255,.72);margin-top:12px}
.nav{position:relative;z-index:1;display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.nav-link{min-height:44px;display:inline-flex;align-items:center;color:#fff;text-decoration:none;padding:10px 16px;border-radius:5px;border:1px solid rgba(255,255,255,.32);background:transparent;font-weight:800;font-size:14px}.nav-link:hover,.nav-link.active{background:var(--gold);border-color:var(--gold);color:var(--green-dark)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;margin-top:24px}.card-head{padding:24px 28px;border-bottom:1px solid var(--line);background:var(--cream)}.card-body{padding:clamp(20px,3vw,32px)}
h1,h2,h3{margin-top:0}h2,h3{font-family:var(--serif);font-weight:500}.card-head h2{margin-bottom:4px;font-size:clamp(1.8rem,3vw,2.5rem)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.field label{display:block;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:var(--green);margin:0 0 8px}
input,select,textarea,button{font:inherit}input,select,textarea{width:100%;padding:14px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink)}textarea{min-height:100px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid rgba(25,79,54,.18);border-color:var(--green)}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.button{min-height:48px;border:0;border-radius:5px;padding:12px 18px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:transform 160ms ease,background 160ms ease}.button:hover{transform:translateY(-2px)}.primary{background:var(--green);color:#fff}.primary:hover{background:var(--green-dark)}.ghost{background:transparent;color:var(--green);border:1px solid var(--green)}.ghost:hover{background:var(--green);color:#fff}.danger{background:#fff;color:var(--danger);border:1px solid #d7a69d}.danger:hover{background:var(--danger);color:#fff}
.notice{margin-top:18px;padding:14px 16px;border-radius:5px}.ok{background:var(--green-wash);border-left:4px solid var(--green);color:var(--green-dark)}.err{background:#fff1ee;border-left:4px solid var(--danger);color:#7a271a}
.item-row{display:grid;grid-template-columns:minmax(0,1fr) 120px 160px 48px;gap:12px;margin-bottom:12px;padding:16px;border:1px solid var(--line);background:var(--paper)}.item-row button{border:1px solid #d7a69d;background:#fff;color:var(--danger);border-radius:5px;cursor:pointer;font-size:1.25rem}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius)}table{width:100%;border-collapse:collapse;min-width:780px}th,td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:top}th{background:var(--green);color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.08em}tbody tr:nth-child(even){background:var(--paper)}tr:last-child td{border-bottom:0}
.preview{border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,4vw,40px);background:var(--paper);box-shadow:inset 0 5px 0 var(--gold)}.preview h2{font-family:var(--serif);font-size:2.6rem;color:var(--green)}.muted{color:var(--muted)}.amount{font-family:var(--serif);font-size:2.3rem;font-weight:500;color:var(--green)}
.pager{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}.filters{display:grid;grid-template-columns:2fr repeat(5,1fr);gap:12px;align-items:end}.section-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.mini{border:1px solid var(--line);border-radius:var(--radius);padding:20px;background:var(--paper)}.inline-delete{display:inline}
@media(max-width:1000px){.grid,.grid3,.section-grid,.filters{grid-template-columns:1fr}.item-row{grid-template-columns:1fr 90px 120px 44px}}@media(max-width:620px){.shell{width:min(calc(100% - 28px),1240px);padding:14px 0 40px}.hero{padding:26px 20px}.brand{font-size:2.6rem}.nav{display:grid;grid-template-columns:1fr 1fr}.nav-link{justify-content:center}.item-row{grid-template-columns:1fr}.item-row button{height:44px}.card-head,.card-body{padding:18px 16px}.button{width:100%}.toolbar{display:grid}.table-wrap{margin-inline:-16px;border-left:0;border-right:0;border-radius:0}}
