:root{--bg: #f4f6f5;--surface: #ffffff;--surface-2: #f8faf9;--border: #e3e8e5;--border-strong: #cbd3ce;--text: #14201a;--text-2: #3f4f46;--muted: #66766d;--primary: #1b7f4c;--primary-hover: #156a3f;--primary-ink: #0e5232;--primary-soft: #e7f4ec;--brand: #0f6b3f;--brand-deep: #0b5632;--accent: #f5b82e;--success: #107a43;--success-soft: #e6f5ec;--warning: #a94f05;--warning-soft: #fff4e0;--danger: #b42318;--danger-soft: #fdeeed;--info: #1d5bbf;--info-soft: #ecf2fd;--neutral-soft: #eef1ef;--r-sm: 8px;--r: 12px;--r-lg: 16px;--shadow-sm: 0 1px 2px rgba(16, 32, 24, .06);--shadow: 0 1px 3px rgba(16, 32, 24, .08), 0 1px 2px rgba(16, 32, 24, .04);--shadow-lg: 0 16px 40px rgba(16, 32, 24, .16);--font: "Readex Pro", Tahoma, "Segoe UI", sans-serif;--sidebar: 252px;--bottom-nav: 64px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);font-size:15px;line-height:1.6;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}h1,h2,h3{line-height:1.3;margin:0;font-weight:600}h1{font-size:24px}h2{font-size:17px}h3{font-size:15px}p{margin:0}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 16px;border:1px solid transparent;border-radius:var(--r-sm);font:inherit;font-weight:500;font-size:14px;line-height:1.2;cursor:pointer;text-decoration:none;white-space:nowrap;background:var(--primary);color:#fff;box-shadow:var(--shadow-sm);transition:background .15s,border-color .15s,color .15s}.btn:hover{background:var(--primary-hover);text-decoration:none}.btn:disabled{opacity:.55;cursor:default}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.btn-secondary:hover{background:var(--surface-2)}.btn-ghost{background:transparent;color:var(--text-2);box-shadow:none}.btn-ghost:hover{background:var(--neutral-soft)}.btn-danger{background:var(--surface);color:var(--danger);border-color:#f2c4c0}.btn-danger:hover{background:var(--danger-soft)}.btn-whatsapp{background:var(--surface);color:#128c4b;border-color:#b8e2c9}.btn-whatsapp:hover{background:#effaf3}.btn-lg{min-height:48px;font-size:15px;padding:10px 20px}.btn-sm{min-height:34px;padding:6px 12px;font-size:13px}.btn-block{width:100%}.icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-2);cursor:pointer}.icon-btn:hover{background:var(--neutral-soft)}.card{min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.card-pad{padding:20px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border)}.stack{display:grid;gap:16px;min-width:0}.stack>*{min-width:0}.badge{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:12.5px;font-weight:500;line-height:1.7;white-space:nowrap;background:var(--neutral-soft);color:var(--text-2)}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge.plain:before{display:none}.badge[data-tone=success]{background:var(--success-soft);color:var(--success)}.badge[data-tone=warning]{background:var(--warning-soft);color:var(--warning)}.badge[data-tone=danger]{background:var(--danger-soft);color:var(--danger)}.badge[data-tone=info]{background:var(--info-soft);color:var(--info)}.tag{display:inline-block;padding:1px 8px;border-radius:6px;background:var(--neutral-soft);color:var(--text-2);font-size:12.5px;white-space:nowrap}.form,.form-row{display:grid;gap:16px}@media(min-width:560px){.form-row{grid-template-columns:1fr 1fr}}.field{display:grid;gap:6px;min-width:0}.field label{font-weight:500;font-size:14px;color:var(--text-2)}.field .hint{font-size:13px;color:var(--muted)}.input,.field input,.field select,.select{font:inherit;font-size:15px;width:100%;min-height:44px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text);transition:border-color .15s,box-shadow .15s}.input:focus,.field input:focus,.field select:focus,.select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #1b7f4c26}.input::placeholder,.field input::placeholder,.field select::placeholder,.select::placeholder{color:#9aa79f}.select,.field select{appearance:none;padding-inline-end:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2366766d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left 10px center}.alert{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--r);background:var(--danger-soft);color:var(--danger);font-size:14px}.alert-warn{background:var(--warning-soft);color:#7a3a04}.table-wrap{overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:14px}table.data th{text-align:start;font-weight:500;font-size:13px;color:var(--muted);padding:10px 16px;background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap}table.data td{padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:middle}table.data tbody tr:last-child td{border-bottom:0}table.data tr.clickable{cursor:pointer}table.data tr.clickable:hover td{background:var(--surface-2)}.page-grid{display:grid;gap:16px;min-width:0}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.toolbar>.grow{flex:1 1 220px}.toolbar .select{width:auto;min-width:150px;flex:0 1 auto}.skeleton{border-radius:var(--r-sm);background:linear-gradient(90deg,#eceff0,#f6f8f7,#eceff0);background-size:200% 100%;animation:shimmer 1.2s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}
