:root{--brand-50:#eefaf3;--brand-100:#d6f3e3;--brand-200:#b0e6c9;--brand-300:#7dd3aa;--brand-400:#45b984;--brand-500:#1f9a66;--brand-600:#0b7a4b;--brand-700:#0a623e;--brand-800:#0b4e34;--brand-900:#0a402c;--ink:#10231a;--muted:#5b7166;--line:#d7e6dd;--surface:#fff;--surface-soft:#f5fbf7;--danger:#c0392b;--warning:#c47f17;--shadow:0 18px 50px #0b7a4b14;--radius:18px;--radius-sm:12px;--font:"Manrope", system-ui, sans-serif;--display:"Fraunces", Georgia, serif}*,:after,:before{box-sizing:border-box}body,html{min-height:100%;font-family:var(--font);color:var(--ink);background:radial-gradient(1200px 500px at 10% -10%,#2db9842e,#0000 55%),radial-gradient(900px 420px at 100% 0,#0b7a4b1f,#0000 50%),linear-gradient(#f8fcf9,#fff 45%,#f3faf6);margin:0;padding:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{max-width:100%;display:block}.container{width:min(1120px,100% - 2rem);margin-inline:auto}.btn{cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.8rem 1.25rem;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(135deg,var(--brand-600),var(--brand-500));color:#fff;box-shadow:0 10px 24px #0b7a4b40}.btn-primary:hover{box-shadow:0 14px 28px #0b7a4b4d}.btn-secondary{color:var(--brand-700);border:1px solid var(--line);background:#fff}.btn-ghost{color:var(--brand-700);background:0 0}.btn-danger{color:var(--danger);background:#fff1f0;border:1px solid #f0c7c3}.field{gap:.4rem;display:grid}.field label{color:var(--brand-800);font-size:.9rem;font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;outline:none;width:100%;padding:.85rem 1rem;transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand-400);box-shadow:0 0 0 4px #1f9a661f}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #d7e6dde6}.badge{letter-spacing:.02em;border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.75rem;font-weight:700;display:inline-flex}.badge-green{background:var(--brand-100);color:var(--brand-800)}.badge-warn{color:#8a5a00;background:#fff4df}.badge-danger{color:#9b2c22;background:#ffe8e6}.badge-muted{color:#52665c;background:#eef2f0}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;display:grid}.stat{padding:1.1rem 1.2rem}.stat strong{color:var(--brand-700);font-size:1.7rem;line-height:1.1;font-family:var(--display);display:block}.stat span{color:var(--muted);font-size:.9rem}.table{border-collapse:collapse;width:100%}.table td,.table th{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.9rem 1rem}.table th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.8rem}.alert{border-radius:var(--radius-sm);color:#7a5200;background:#fff4df;border:1px solid #f0d7a4;padding:.85rem 1rem}.alert-error{color:#9b2c22;background:#ffe8e6;border-color:#f0c7c3}.alert-success{background:var(--brand-100);color:var(--brand-800);border-color:var(--brand-200)}.empty,.muted,.page-sub{color:var(--muted)}.page-title{font-family:var(--display);letter-spacing:-.02em;margin:0 0 .35rem;font-size:calc(clamp(1.8rem,3vw,2.4rem))}.page-sub{margin:0 0 1.25rem;line-height:1.45}.empty{text-align:center;padding:2rem}
