:root{--teal:#0e8d99;--teal-d:#0b6f78;--teal-soft:#e3f2f3;--ink:#14302f;--body:#3d5453;--muted:#7d9291;--line:#e4ecec;--bg:#f4f8f8;--card:#fff;--ok:#188654;--err:#d2484a;--warn:#b97a12;--sans:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--sans);background:var(--bg);color:var(--ink);font-size:14px}#root{min-height:100vh}.admin{min-height:100vh;display:flex}.side{background:linear-gradient(175deg,var(--teal-d),#084b52);color:#fff;flex-direction:column;flex:0 0 224px;gap:2px;width:224px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.side .brand{align-items:center;gap:10px;padding:6px 10px 18px;display:flex}.side .brand img{width:34px;height:34px}.side .brand b{letter-spacing:.2px;font-size:15px}.side .brand span{opacity:.75;font-size:11px;font-weight:400;display:block}.side a{color:#fff;opacity:.82;border-radius:10px;align-items:center;gap:9px;padding:9px 12px;font-size:13.5px;text-decoration:none;transition:all .12s;display:flex}.side a:hover{opacity:1;background:#ffffff14}.side a.on{opacity:1;background:#ffffff29;font-weight:600}.side .sair{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff40;border-radius:10px;margin-top:auto;padding:9px;font-size:13px}.side .sair:hover{background:#ffffff1a}.main{flex:1;min-width:0;padding:26px 30px}.main h1{letter-spacing:-.2px;margin-bottom:4px;font-size:20px;font-weight:800}.main .sub{color:var(--muted);margin-bottom:20px;font-size:13px}.cards{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;margin-bottom:24px;display:grid}.kpi{background:var(--card);border-radius:14px;padding:16px 18px;box-shadow:0 2px 10px #14302f0d}.kpi .n{color:var(--teal-d);font-size:26px;font-weight:800}.kpi .l{color:var(--muted);text-transform:uppercase;letter-spacing:.8px;margin-top:2px;font-size:12px}.painel{background:var(--card);border-radius:14px;margin-bottom:20px;padding:20px;box-shadow:0 2px 10px #14302f0d}.painel h2{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;font-size:14px;font-weight:700;display:flex}table{border-collapse:collapse;width:100%;font-size:13.5px}th{text-align:left;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);border-bottom:2px solid var(--line);white-space:nowrap;padding:8px 10px;font-size:11.5px}td{border-bottom:1px solid var(--line);vertical-align:middle;padding:10px}tr:last-child td{border-bottom:0}tr:hover td{background:var(--teal-soft)}.num{text-align:right;font-variant-numeric:tabular-nums}.pill{border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:700;display:inline-block}.pill.aberto{color:var(--warn);background:#fdf3e2}.pill.atendido,.pill.aprovado,.pill.ok{color:var(--ok);background:#e2f5ea}.pill.cancelado,.pill.erro{color:var(--err);background:#fde8e8}.pill.fila,.pill.pendente{background:var(--teal-soft);color:var(--teal-d)}.pill.enviado{color:var(--ok);background:#e2f5ea}.btn{background:var(--teal);color:#fff;cursor:pointer;border:0;border-radius:9px;padding:8px 14px;font-size:13px;font-weight:600}.btn:hover{background:var(--teal-d)}.btn:disabled{background:var(--muted);cursor:default}.btn.sec{color:var(--teal-d);border:1px solid var(--teal);background:#fff}.btn.sec:hover{background:var(--teal-soft)}.btn.perigo{color:var(--err);border:1px solid var(--err);background:#fff}.btn.perigo:hover{background:#fde8e8}.btn.mini{border-radius:7px;padding:5px 10px;font-size:12px}.campo{border:1px solid var(--line);font-size:13.5px;font-family:var(--sans);color:var(--ink);background:#fff;border-radius:9px;padding:9px 11px}.campo:focus{outline:2px solid var(--teal);border-color:#0000}.filtros{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.filtros .campo{min-width:220px}.login-wrap{background:linear-gradient(160deg,var(--teal-d),var(--teal));justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{text-align:center;background:#fff;border-radius:18px;width:360px;padding:34px;box-shadow:0 18px 60px #00000040}.login-card img{width:64px;height:64px;margin-bottom:10px}.login-card h1{margin-bottom:2px;font-size:19px}.login-card p{color:var(--muted);margin-bottom:20px;font-size:13px}.login-card .campo{width:100%;margin-bottom:10px;padding:12px}.login-card .btn{width:100%;margin-top:4px;padding:12px}.login-card .erro{color:var(--err);margin-bottom:8px;font-size:13px}.vazio{color:var(--muted);padding:14px 4px;font-size:13.5px}.aviso-inline{color:var(--muted);margin-top:8px;font-size:12.5px}
