
:root{
  --green:#2f8f2f;--green-dark:#226d24;--green-soft:#eef8ec;
  --ink:#171717;--muted:#667085;--line:#e3e7e4;--bg:#f4f6f4;--white:#fff;
  --danger:#b42318;--shadow:0 14px 40px rgba(25,65,25,.10);
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--ink)}
header{background:#fff;border-bottom:2px solid var(--green);padding:16px 26px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:18px}.brand img{width:190px;max-height:78px;object-fit:contain}.brand h1{font-size:22px;margin:0}.brand p{margin:5px 0 0;color:var(--muted)}
.container{max-width:1500px;margin:auto;padding:24px}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:20px}
.btn{border:0;border-radius:10px;padding:12px 18px;font-weight:800;cursor:pointer;font:inherit;text-decoration:none;display:inline-block}
.primary{background:var(--green);color:#fff}.secondary{background:#fff;border:1px solid #bbc4bd;color:#222}.danger{background:var(--danger);color:#fff}
input,select,textarea{font:inherit;border:1px solid #cbd2cd;border-radius:9px;padding:11px 12px;background:#fff;width:100%}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--green);box-shadow:0 0 0 3px rgba(47,143,47,.1)}
label{font-size:14px;font-weight:700}.small{font-size:13px;color:var(--muted)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.full{grid-column:1/-1}
.row{display:flex;justify-content:space-between;gap:15px;padding:7px 0;border-bottom:1px solid #eef0ee;font-size:13px}
.total{display:flex;justify-content:space-between;align-items:end;margin-top:16px;font-weight:900}.total b{font-size:26px;color:var(--green-dark)}
.notice{background:#fff8e7;border:1px solid #eac56f;padding:14px;border-radius:11px;font-size:13px;line-height:1.5}
.success{background:var(--green-soft);border:1px solid #aad3a7;padding:14px;border-radius:11px}
table{border-collapse:collapse;width:100%;background:#fff}th,td{border-bottom:1px solid var(--line);padding:10px;text-align:left;font-size:13px}th{background:#f8faf8}
@media(max-width:760px){header{padding:10px}.brand img{width:125px}.brand h1{font-size:16px}.brand p{display:none}.container{padding:14px}.grid{grid-template-columns:1fr}.full{grid-column:auto}}
