/* ===== CUIDARE BRASIL — Gestão da Rede (estilo compartilhado) ===== */
:root{
  --navy:#082643; --navy2:#0b3a5e; --primary:#0e73b4; --sky:#1b8bd4;
  --blue-50:#edf5fc; --blue-100:#d9eaf8; --bg:#e9f1f8; --card:#fff;
  --ink:#0e2338; --muted:#5b7b95; --line:#d5e3f0;
  --ok:#157f8c; --warn:#b45309; --bad:#d64545;
}
*{box-sizing:border-box}
body{margin:0;font-family:'Inter','Segoe UI',Arial,sans-serif;background:var(--bg);color:var(--ink);display:flex;min-height:100vh}
/* Sidebar */
.side{width:250px;flex:none;background:linear-gradient(180deg,var(--navy),var(--navy2));color:#dcecf8;display:flex;flex-direction:column;padding:22px 16px;position:sticky;top:0;height:100vh}
.brand{display:flex;flex-direction:column;align-items:center;text-align:center;background:#fff;border-radius:16px;padding:16px 12px 13px}
.brand img{height:46px}
.brand b{color:var(--navy);font-size:16px;display:block;margin-top:8px;line-height:1.2}
.brand small{color:var(--muted);font-size:12px}
.side nav{display:flex;flex-direction:column;gap:4px;margin-top:18px}
.side nav span.lbl{font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#8fb3cc;padding:8px 10px 2px}
.side nav a{display:flex;align-items:center;gap:10px;text-decoration:none;color:#cfe5f5;font-size:13.5px;font-weight:600;padding:10px 12px;border-radius:11px}
.side nav a svg{width:17px;height:17px;flex:none}
.side nav a:hover{background:rgba(255,255,255,.08);color:#fff}
.side nav a.on{background:#fff;color:var(--navy)}
.side .foot{margin-top:auto;font-size:11px;color:#8fb3cc;padding:0 6px;line-height:1.5}
/* Main */
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{background:linear-gradient(120deg,#fff 60%,var(--blue-50));border-bottom:1px solid var(--line);padding:20px 28px;display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--primary);margin:0}
.topbar h1{margin:2px 0 0;font-size:24px;font-weight:800;letter-spacing:-.4px;color:var(--navy)}
.topbar p{margin:4px 0 0;font-size:13px;color:var(--muted)}
.top-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.content{padding:22px 28px 34px;max-width:1280px;width:100%;margin:0 auto}
/* KPIs */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
.kpis.six{grid-template-columns:repeat(6,1fr)}
@media(max-width:1150px){.kpis,.kpis.six{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.kpis,.kpis.six{grid-template-columns:repeat(2,1fr)}}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;gap:11px;align-items:flex-start;box-shadow:0 1px 3px rgba(8,38,67,.06)}
.kpi .ico{width:38px;height:38px;flex:none;border-radius:11px;background:var(--blue-50);color:var(--primary);display:flex;align-items:center;justify-content:center}
.kpi .ico svg{width:19px;height:19px}
.kpi small{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}
.kpi b{font-size:20px;display:block;margin:1px 0;letter-spacing:-.3px}
.kpi span{font-size:11px;color:var(--muted)}
/* Panels */
.panel{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:16px;box-shadow:0 1px 3px rgba(8,38,67,.06)}
.panel h2{margin:0;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--navy)}
.panel .sub{margin:4px 0 0;font-size:12px;color:var(--muted)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:950px){.grid2{grid-template-columns:1fr}}
/* Forms */
label.f{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);display:block;margin:12px 0 5px}
input,select,textarea{width:100%;padding:10px 12px;border:1.5px solid var(--line);border-radius:11px;font-size:14px;font-family:inherit;background:#fbfdfe;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--blue-100);border-color:var(--sky)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
@media(max-width:640px){.row3{grid-template-columns:1fr}}
button{border:0;border-radius:11px;padding:10px 15px;font-weight:700;cursor:pointer;font-size:13px;font-family:inherit}
.b-p{background:var(--primary);color:#fff}.b-p:hover{background:var(--navy2)}
.b-g{background:var(--blue-50);color:var(--navy)}.b-r{background:#fde8e8;color:#b42323}
/* Tables */
.tblwrap{overflow:auto;border:1px solid var(--line);border-radius:12px;margin-top:12px}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}
thead th{background:var(--navy);color:#fff;font-size:10px;text-transform:uppercase;letter-spacing:.7px;white-space:nowrap}
tbody td{white-space:nowrap}
tbody td.wrap,thead th.wrap{white-space:normal}
tbody tr:hover{background:var(--blue-50)}
.pill{font-size:11px;font-weight:700;padding:4px 11px;border-radius:20px;color:#fff;background:var(--muted)}
.p-ativa,.p-adimplente,.p-pago,.p-resolvido,.p-baixa{background:var(--ok)}
.p-em_implantacao,.p-em_andamento,.p-media{background:var(--sky)}
.p-inadimplente,.p-inadimplente2,.p-atrasado,.p-alta,.p-aberto{background:var(--bad)}
.p-encerrada,.p-isento,.p-interno{background:#64748b}
.p-franqueado{background:var(--primary)}
.rowlink{color:var(--primary);font-weight:700;text-decoration:none;white-space:nowrap}
.hint{font-size:12px;color:var(--muted)}
.msg{font-size:13px;margin-top:10px;color:var(--primary);min-height:18px}
/* People cards */
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
@media(max-width:900px){.team{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.team{grid-template-columns:1fr}}
.person{background:var(--blue-50);border:1px solid var(--line);border-radius:13px;padding:12px;display:flex;gap:10px;align-items:center}
.avatar{width:40px;height:40px;flex:none;border-radius:50%;background:var(--navy);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:15px}
.person b{display:block;font-size:13.5px}
.person small{color:var(--muted);font-size:11.5px}
/* Modal */
.modal{position:fixed;inset:0;z-index:60;background:rgba(8,38,67,.55);display:none;align-items:center;justify-content:center;padding:18px}
.modal.open{display:flex}
.m-card{background:#fff;border-radius:16px;padding:22px;max-width:620px;width:100%;max-height:88vh;overflow:auto;position:relative}
.m-card h2{margin:0 34px 2px 0;font-size:18px;color:var(--navy)}
.m-close{position:absolute;top:10px;right:10px;background:var(--blue-50);color:var(--navy);border-radius:50%;width:32px;height:32px;font-size:18px;line-height:1;padding:0}
/* Calendar */
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:12px}
.cal-dow{font-size:10px;font-weight:800;text-transform:uppercase;color:var(--muted);text-align:center;padding:4px}
.cal-day{background:#fbfdfe;border:1px solid var(--line);border-radius:10px;min-height:86px;padding:6px;font-size:11px;cursor:pointer}
.cal-day:hover{border-color:var(--sky)}
.cal-day.other{opacity:.35}
.cal-day.today{border:2px solid var(--primary)}
.cal-day b{font-size:12px}
.ev{display:block;font-size:10px;font-weight:700;border-radius:6px;padding:2px 5px;margin-top:3px;color:#fff;background:var(--sky);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ev.prazo{background:var(--warn)}.ev.reuniao{background:var(--primary)}.ev.outro{background:#64748b}
/* Map */
.map-wrap{position:relative;width:100%;height:calc(100vh - 300px);min-height:440px;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:grab}
.map-zoom{position:absolute;left:50%;top:50%;width:82%;transform:translate(-50%,-50%)}
#pins{position:absolute;inset:0;pointer-events:none;z-index:5}
.pin{position:absolute;transform:translate(-50%,-50%);width:11px;height:11px;border-radius:50%;background:var(--primary);border:2.5px solid #fff;cursor:pointer;box-shadow:0 1px 5px rgba(8,38,67,.5);padding:0;pointer-events:auto}
.pin .pulse{position:absolute;inset:-6px;border-radius:50%;border:1.5px solid var(--primary);opacity:.5;animation:pl 1.8s infinite;display:block}
@keyframes pl{0%{transform:scale(.8);opacity:.6}100%{transform:scale(1.25);opacity:0}}
.map-tools{position:absolute;top:10px;right:10px;display:flex;gap:6px;z-index:6}
.map-tools button{min-width:34px;height:34px;border-radius:9px;background:#fff;color:var(--navy);border:1.5px solid var(--line);font-weight:800;font-size:15px}
@media(max-width:900px){
  body{flex-direction:column}
  .side{width:100%;height:auto;position:static;padding:14px}
  .side nav{flex-direction:row;flex-wrap:wrap}
  .side nav span.lbl{width:100%}
  .side .foot,.brand small{display:none}
  .brand{flex-direction:row;gap:10px;text-align:left;padding:10px 12px}
  .brand img{height:36px}.brand b{margin:0}
  .topbar,.content{padding-left:16px;padding-right:16px}
  .cal-day{min-height:56px}
}
