:root{--bg:#f6f2e9;--card:#fffaf0;--text:#1f2937;--muted:#6b7280;--green:#16a34a;--red:#dc2626;--amber:#d97706;--border:#e7dcc8}*{box-sizing:border-box}body{margin:0;background:linear-gradient(135deg,#f8f1df,#eef7ed);font-family:Inter,system-ui,Arial;color:var(--text)}.app{display:grid;grid-template-columns:250px 1fr;min-height:100vh}aside{background:#203528;color:white;padding:24px;position:sticky;top:0;height:100vh}.brand{display:flex;gap:10px;align-items:center;font-size:22px;margin-bottom:32px}nav button{display:block;width:100%;padding:13px 14px;margin:8px 0;border:0;border-radius:14px;text-align:left;background:transparent;color:#d7e8dc;font-weight:700;cursor:pointer}nav button.active,nav button:hover{background:#355a42;color:white}main{padding:28px;max-width:1320px;width:100%;margin:auto}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}h1{font-size:34px;margin:0}.primary{background:#214f37;color:white;border:0;border-radius:14px;padding:12px 18px;font-weight:800;cursor:pointer}.grid{display:grid;gap:16px}.cards{grid-template-columns:repeat(5,minmax(150px,1fr))}.card{background:rgba(255,250,240,.92);border:1px solid var(--border);border-radius:22px;padding:20px;box-shadow:0 10px 30px rgba(33,79,55,.08)}.metric{font-size:34px;font-weight:900}.muted{color:var(--muted)}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.toolbar input,.toolbar select,label input,label select,label textarea{width:100%;border:1px solid var(--border);border-radius:12px;padding:11px;background:white}table{width:100%;border-collapse:separate;border-spacing:0 10px}td,th{text-align:left;padding:13px;background:var(--card)}th{font-size:13px;color:var(--muted);text-transform:uppercase}.pill{display:inline-block;padding:5px 10px;border-radius:999px;font-weight:800;font-size:12px}.expired{background:#fee2e2;color:#991b1b}.soon{background:#fef3c7;color:#92400e}.ok{background:#dcfce7;color:#166534}.no_expiration{background:#e5e7eb;color:#374151}.row-actions button{border:0;background:#eee;border-radius:10px;padding:7px 9px;cursor:pointer}dialog{border:0;border-radius:24px;padding:0;box-shadow:0 20px 80px #0004}dialog form{width:min(560px,92vw);padding:24px;background:#fffaf0}label{display:block;font-weight:800;margin:12px 0 6px}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}@media(max-width:850px){.app{grid-template-columns:1fr}aside{height:auto;position:static}.cards{grid-template-columns:1fr 1fr}main{padding:18px}table{font-size:14px;display:block;overflow:auto}}
