/* =========================================================
   KWAI OPS — Painel de Gestão de Operações
   Tema: dark profundo azulado + acento coral Kwai
   ========================================================= */
:root{
  --bg:#f6f7f9;
  --bg-2:#eef0f4;
  --panel:#ffffff;
  --panel-2:#fafbfc;
  --line:#e4e7ec;
  --line-soft:#eef0f4;
  --txt:#0f172a;
  --txt-2:#5b6478;
  --txt-3:#8a93a6;
  --accent:#ff5a3c;
  --accent-2:#ff8a4c;
  --accent-soft:rgba(255,90,60,.10);
  --good:#16a34a;
  --good-soft:#e7f7ee;
  --warn:#d97706;
  --warn-soft:#fdf3e3;
  --info:#2563eb;
  --info-soft:#e9f0fe;
  --bad:#dc2626;
  --bad-soft:#fdecec;
  --dead:#94a3b8;
  --purple:#7c3aed;
  --radius:14px;
  --radius-sm:10px;
  --shadow:0 1px 2px rgba(16,24,40,.05), 0 8px 24px -12px rgba(16,24,40,.12);
  --shadow-lg:0 4px 8px rgba(16,24,40,.05), 0 20px 44px -16px rgba(16,24,40,.18);
  --sb-w:248px;
  font-synthesis:none;
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  background:var(--bg);
  color:var(--txt);
  font-family:'Inter',system-ui,sans-serif;
  font-size:14px;line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,select,textarea{font-family:inherit;font-size:14px}
::selection{background:var(--accent-soft);color:var(--txt)}

/* scrollbars */
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-thumb{background:#cdd3de;border-radius:20px;border:2px solid transparent;background-clip:padding-box}
*::-webkit-scrollbar-thumb:hover{background:#b7bfcd;background-clip:padding-box}

/* ===================== SIDEBAR ===================== */
.sidebar{
  position:fixed;inset:0 auto 0 0;width:var(--sb-w);
  background:#ffffff;
  border-right:1px solid var(--line);
  display:flex;flex-direction:column;z-index:40;
}
.brand{display:flex;align-items:center;gap:12px;padding:20px 20px 18px}
.brand-mark{
  width:40px;height:40px;border-radius:11px;flex:none;
  background:linear-gradient(145deg,var(--accent),var(--accent-2));
  display:grid;place-items:center;font-family:'Sora';font-weight:800;font-size:20px;color:#ffffff;
  box-shadow:0 8px 20px -8px rgba(255,90,60,.45);
}
.brand-text{display:flex;flex-direction:column;line-height:1.15}
.brand-name{font-family:'Sora';font-weight:700;font-size:16px;letter-spacing:-.2px}
.brand-sub{font-size:11px;color:var(--txt-3);letter-spacing:.3px}

.nav{display:flex;flex-direction:column;gap:3px;padding:6px 12px;flex:1;overflow-y:auto}
.nav-item{
  display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;
  color:var(--txt-2);font-weight:500;font-size:14px;user-select:none;
  transition:background .15s,color .15s;position:relative;
}
.nav-item:hover{background:var(--panel);color:var(--txt)}
.nav-item.active{background:var(--accent-soft);color:var(--accent);font-weight:700}
.nav-item.active::before{content:"";position:absolute;left:-12px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}
.nav-ico{width:17px;height:17px;flex:none;opacity:.75}

.nav-foot{padding:14px 16px;border-top:1px solid var(--line-soft);display:flex;flex-direction:column;gap:7px}
.nav-label{font-size:10px;text-transform:uppercase;letter-spacing:1.4px;color:var(--txt-3);margin-bottom:2px}
.ghost-btn{
  display:flex;align-items:center;gap:9px;padding:8px 11px;border-radius:9px;
  background:var(--panel);border:1px solid var(--line-soft);color:var(--txt-2);
  font-size:12.5px;font-weight:500;transition:.15s;text-align:left;
}
.ghost-btn span{font-size:13px}
.ghost-btn:hover{background:var(--panel-2);color:var(--txt);border-color:var(--line)}
.save-state{font-size:11px;color:var(--good);margin-top:4px;display:flex;align-items:center;gap:6px}
.save-state::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 8px var(--good)}
.save-state.saving{color:var(--warn)}
.save-state.saving::before{background:var(--warn);box-shadow:0 0 8px var(--warn)}

.sidebar-scrim{display:none}

/* ===================== MAIN ===================== */
.main{margin-left:var(--sb-w);min-height:100vh;display:flex;flex-direction:column}

.topbar{
  position:sticky;top:0;z-index:30;
  display:flex;align-items:center;gap:16px;padding:14px 26px;
  background:rgba(255,255,255,.85);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.hamburger{display:none;font-size:20px;color:var(--txt-2)}
.search-wrap{position:relative;flex:1;max-width:620px}
.search-ico{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--txt-3);font-size:16px}
#globalSearch{
  width:100%;padding:11px 42px 11px 40px;border-radius:11px;
  background:#ffffff;border:1.5px solid #d7dce5;color:var(--txt);
  box-shadow:0 1px 2px rgba(16,24,40,.04);
  transition:border .15s,box-shadow .15s;
}
#globalSearch::placeholder{color:var(--txt-3)}
#globalSearch:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.search-kbd{
  position:absolute;right:12px;top:50%;transform:translateY(-50%);
  font-family:'JetBrains Mono';font-size:11px;color:var(--txt-3);
  background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:2px 7px;
}
.search-results{
  position:absolute;top:calc(100% + 8px);left:0;right:0;
  background:var(--panel);border:1px solid var(--line);border-radius:12px;
  box-shadow:var(--shadow);max-height:60vh;overflow-y:auto;display:none;z-index:50;
}
.search-results.open{display:block}
.sr-group-title{padding:9px 16px 5px;font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:var(--txt-3)}
.sr-item{display:flex;align-items:center;gap:12px;padding:9px 16px;cursor:pointer;transition:background .12s}
.sr-item:hover{background:var(--panel-2)}
.sr-dot{width:8px;height:8px;border-radius:50%;flex:none}
.sr-main{font-size:13.5px;font-weight:500}
.sr-sub{font-size:11.5px;color:var(--txt-3);margin-left:auto;font-family:'JetBrains Mono'}
.sr-empty{padding:18px 16px;color:var(--txt-3);text-align:center;font-size:13px}

.topbar-right{display:flex;align-items:center;gap:14px}
.clock{font-family:'JetBrains Mono';font-size:12.5px;color:var(--txt-3);white-space:nowrap}

.view-host{padding:26px;flex:1;max-width:1320px;width:100%;margin:0 auto}

/* ===================== HEADINGS / PAGE ===================== */
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.page-title{font-family:'Sora';font-size:24px;font-weight:700;letter-spacing:-.5px}
.page-sub{color:var(--txt-3);font-size:13px;margin-top:3px}
.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--accent);font-weight:600;margin-bottom:7px}

.btn-primary{
  display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:10px;
  background:linear-gradient(145deg,var(--accent),var(--accent-2));color:#ffffff;font-weight:600;font-size:13.5px;
  box-shadow:0 6px 16px -6px rgba(255,90,60,.4);transition:transform .12s,box-shadow .12s;
}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 22px -8px rgba(255,90,60,.5)}
.btn-primary:active{transform:translateY(0)}
.btn-ghost{padding:10px 16px;border-radius:10px;background:var(--panel);border:1px solid var(--line);color:var(--txt-2);font-weight:500;transition:.15s}
.btn-ghost:hover{color:var(--txt);border-color:var(--line);background:var(--panel-2)}
.btn-danger{padding:10px 16px;border-radius:10px;background:var(--bad);color:#fff;font-weight:600;transition:.15s}
.btn-danger:hover{filter:brightness(1.08)}

/* ===================== DASHBOARD CARDS ===================== */
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}
.stat-grid.status-row{grid-template-columns:repeat(4,1fr)}
.stat-card{
  background:var(--panel);box-shadow:var(--shadow);
  border:1px solid var(--line);border-radius:var(--radius);padding:18px 18px 16px;position:relative;overflow:hidden;
  transition:border .15s,transform .15s;
}
.stat-card:hover{border-color:#cdd5e1;transform:translateY(-2px)}
.stat-card .sc-ico{position:absolute;right:14px;top:14px;font-size:18px;opacity:.5}
.stat-card .sc-val{font-family:'Sora';font-size:32px;font-weight:700;letter-spacing:-1px;line-height:1}
.stat-card .sc-label{font-size:12.5px;color:var(--txt-2);margin-top:8px}
.stat-card .sc-bar{height:3px;border-radius:3px;margin-top:13px;background:var(--line)}
.stat-card .sc-bar i{display:block;height:100%;border-radius:3px}
.stat-card.accent .sc-val{color:var(--accent)}
.stat-card[data-tone="good"] .sc-val{color:var(--good)}
.stat-card[data-tone="warn"] .sc-val{color:var(--warn)}
.stat-card[data-tone="bad"] .sc-val{color:var(--bad)}
.stat-card[data-tone="dead"] .sc-val{color:var(--dead)}

.dash-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:6px}
.feed-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.feed-head{display:flex;align-items:center;gap:10px;padding:15px 18px;border-bottom:1px solid var(--line-soft)}
.feed-head h4{font-family:'Sora';font-size:14.5px;font-weight:600}
.feed-head .fh-ico{color:var(--accent)}
.feed-list{max-height:340px;overflow-y:auto}
.feed-row{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line-soft)}
.feed-row:last-child{border-bottom:none}
.feed-row .fr-main{font-size:13.5px;font-weight:500}
.feed-row .fr-sub{font-size:11.5px;color:var(--txt-3);margin-top:2px}
.feed-row .fr-time{margin-left:auto;font-size:11px;color:var(--txt-3);font-family:'JetBrains Mono';white-space:nowrap}
.feed-empty{padding:30px 18px;text-align:center;color:var(--txt-3);font-size:13px}

/* ===================== TOOLBAR / FILTERS ===================== */
.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.toolbar .grow{flex:1}
.field-search{position:relative;min-width:220px;flex:1;max-width:320px}
.field-search input{width:100%;padding:9px 12px 9px 34px;border-radius:9px;background:var(--panel);border:1px solid var(--line);color:var(--txt)}
.field-search input:focus{outline:none;border-color:var(--accent)}
.field-search .fs-ico{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--txt-3)}
select.filter{
  padding:9px 30px 9px 12px;border-radius:9px;background:var(--panel);border:1px solid var(--line);color:var(--txt-2);
  appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2367728a' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 11px center;cursor:pointer;
}
select.filter:focus{outline:none;border-color:var(--accent);color:var(--txt)}

/* ===================== TABLE ===================== */
.table-wrap{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.table-scroll{overflow-x:auto}
table{width:100%;border-collapse:collapse;min-width:640px}
thead th{
  text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--txt-3);font-weight:600;
  padding:13px 16px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--bg-2);
}
tbody td{padding:13px 16px;border-bottom:1px solid var(--line-soft);font-size:13.5px;vertical-align:middle}
tbody tr:last-child td{border-bottom:none}
tbody tr{transition:background .12s}
tbody tr:hover{background:var(--panel-2)}
.cell-main{font-weight:600;color:var(--txt)}
.cell-sub{font-size:12px;color:var(--txt-3);margin-top:2px}
.mono{font-family:'JetBrains Mono';font-size:12.5px;color:var(--txt-2)}
.cell-note{color:var(--txt-2);max-width:240px;font-size:12.5px;line-height:1.45}

.row-actions{display:flex;gap:6px;justify-content:flex-end}
.icon-btn{
  width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-size:14px;
  background:var(--panel-2);border:1px solid var(--line-soft);color:var(--txt-2);transition:.13s;
}
.icon-btn:hover{color:var(--txt);border-color:var(--line)}
.icon-btn.danger:hover{color:var(--bad);border-color:var(--bad)}

.copy-id{cursor:pointer;border-bottom:1px dashed var(--line);transition:color .12s}
.copy-id:hover{color:var(--accent)}

/* password mask */
.pw-cell{display:flex;align-items:center;gap:8px}
.pw-dots{font-family:'JetBrains Mono';letter-spacing:1px}
.pw-toggle{font-size:12px;color:var(--txt-3);cursor:pointer}
.pw-toggle:hover{color:var(--accent)}

/* ===================== BADGES ===================== */
.badge{
  display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;
  font-size:11.5px;font-weight:600;white-space:nowrap;border:1px solid transparent;
}
.badge::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.b-good{color:#127a3b;background:var(--good-soft);border-color:#bfe8cf}
.b-warn{color:#a15c05;background:var(--warn-soft);border-color:#f3ddb5}
.b-info{color:#1d4fbd;background:var(--info-soft);border-color:#c5d7fb}
.b-bad{color:#b31d1d;background:var(--bad-soft);border-color:#f5c6c6}
.b-dead{color:#5b6478;background:#eef0f4;border-color:#dde2ea}
.b-purple{color:#6528c9;background:#f1e9fe;border-color:#ddc9fb}
.b-neutral{color:var(--txt-2);background:var(--panel-2);border-color:var(--line)}

/* ===================== EMPTY STATE ===================== */
.empty-state{text-align:center;padding:60px 24px;color:var(--txt-3)}
.empty-state .es-ico{font-size:40px;opacity:.4;margin-bottom:14px}
.empty-state h4{font-family:'Sora';color:var(--txt-2);font-size:16px;margin-bottom:6px}
.empty-state p{font-size:13px;margin-bottom:18px}

/* ===================== NOTES ===================== */
.notes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.note-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:10px;position:relative;transition:border .15s,transform .15s}
.note-card:hover{border-color:#cdd5e1;transform:translateY(-2px)}
.note-card::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:3px;background:var(--accent)}
.note-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11.5px;color:var(--txt-3)}
.note-date{font-family:'JetBrains Mono'}
.note-text{font-size:14px;line-height:1.55;color:var(--txt);white-space:pre-wrap;word-break:break-word}
.note-actions{display:flex;gap:6px;margin-top:auto;justify-content:flex-end}

/* ===================== MODAL ===================== */
.modal-scrim{
  position:fixed;inset:0;background:rgba(5,7,12,.66);backdrop-filter:blur(4px);
  display:none;align-items:center;justify-content:center;z-index:80;padding:20px;
}
.modal-scrim.open{display:flex}
.modal{
  width:540px;max-width:100%;max-height:90vh;display:flex;flex-direction:column;
  background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lg);
  animation:pop .2s ease;
}
.modal-sm{width:420px}
@keyframes pop{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line-soft)}
.modal-head h3{font-family:'Sora';font-size:17px;font-weight:600}
.modal-body{padding:20px 22px;overflow-y:auto}
.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid var(--line-soft)}
.confirm-text{color:var(--txt-2);line-height:1.55}
.confirm-text b{color:var(--txt)}

/* form */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-field{display:flex;flex-direction:column;gap:6px}
.form-field.full{grid-column:1/-1}
.form-field label{font-size:12px;font-weight:600;color:var(--txt-2)}
.form-field label .req{color:var(--accent)}
.form-field input,.form-field select,.form-field textarea{
  padding:10px 12px;border-radius:9px;background:var(--bg-2);border:1px solid var(--line);color:var(--txt);width:100%;
  transition:border .15s;
}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--accent)}
.form-field textarea{resize:vertical;min-height:78px;line-height:1.5}
.form-field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2367728a' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;cursor:pointer;padding-right:30px}
.field-err{border-color:var(--bad)!important}

/* ===================== TOAST ===================== */
.toast-host{position:fixed;right:22px;bottom:22px;z-index:120;display:flex;flex-direction:column;gap:10px}
.toast{
  display:flex;align-items:center;gap:11px;padding:12px 16px;border-radius:11px;min-width:240px;
  background:var(--panel-2);border:1px solid var(--line);box-shadow:var(--shadow);
  animation:slideIn .25s ease;font-size:13.5px;
}
.toast .t-dot{width:9px;height:9px;border-radius:50%;flex:none}
.toast.ok .t-dot{background:var(--good)}
.toast.info .t-dot{background:var(--info)}
.toast.warn .t-dot{background:var(--warn)}
.toast.err .t-dot{background:var(--bad)}
@keyframes slideIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:none}}
.toast.out{animation:slideOut .25s ease forwards}
@keyframes slideOut{to{opacity:0;transform:translateX(20px)}}

/* count chip */
.count-chip{font-size:12px;color:var(--txt-3);background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:3px 11px;font-weight:500}
.link-tag{font-size:11.5px;color:var(--txt-2);background:var(--panel-2);border:1px solid var(--line-soft);border-radius:6px;padding:2px 8px}

/* ===================== RESPONSIVE ===================== */
@media(max-width:1080px){
  .stat-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:860px){
  :root{--sb-w:0px}
  .sidebar{transform:translateX(-100%);transition:transform .25s;width:248px}
  .sidebar.open{transform:none}
  .sidebar-scrim{display:block;position:fixed;inset:0;background:rgba(15,23,42,.35);z-index:35;opacity:0;pointer-events:none;transition:opacity .25s}
  .sidebar-scrim.open{opacity:1;pointer-events:auto}
  .main{margin-left:0}
  .hamburger{display:block}
  .dash-cols{grid-template-columns:1fr}
  .clock{display:none}
  .form-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .stat-grid{grid-template-columns:1fr 1fr;gap:10px}
  .view-host{padding:18px 16px}
  .stat-card .sc-val{font-size:26px}
  .page-title{font-size:20px}
}

/* =========================================================
   V2 — Financeiro, Perfis, Gráficos, Login, Sócios
   ========================================================= */

/* user pill na sidebar */
.user-pill{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:12.5px;color:var(--txt-2);font-weight:500}
.up-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent)}
.save-state{margin-top:6px}
.boot-loading{padding:60px;text-align:center;color:var(--txt-3)}

/* stat cards financeiros */
.stat-card.fin{display:flex;flex-direction:column;gap:4px}
.stat-card.fin .sc-label{font-size:12px;color:var(--txt-2);margin:0}
.stat-card.fin .sc-val{font-size:26px;margin-top:2px}
.stat-card.fin .sc-foot{font-size:11.5px;color:var(--txt-3);margin-top:6px}
.pl-num.pos{color:var(--good)} .pl-num.neg{color:var(--bad)}
.pl{font-family:'Sora';font-weight:600;font-size:13px;white-space:nowrap}
.pl.pl-pos{color:var(--good)} .pl.pl-neg{color:var(--bad)} .pl.pl-zero{color:var(--txt-3)}

/* mini cards (contadores) */
.mini-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:14px}
.mini-grid.status-row{grid-template-columns:repeat(4,1fr)}
.mini-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 15px;position:relative;overflow:hidden;transition:transform .15s,border .15s}
.mini-card:hover{transform:translateY(-2px);border-color:#cdd5e1}
.mini-card .mc-ico{font-size:15px}
.mini-card .mc-val{font-family:'Sora';font-size:23px;font-weight:700;line-height:1;margin-top:7px}
.mini-card .mc-label{font-size:11.5px;color:var(--txt-2);margin-top:4px}
.mini-card .mc-bar{position:absolute;left:0;bottom:0;height:3px;width:100%;opacity:.85}

/* clickable rows */
tr.clickable{cursor:pointer}

/* card grid (sócios) */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.entity-card{background:var(--panel);box-shadow:var(--shadow);border:1px solid var(--line);border-radius:var(--radius);padding:16px;cursor:pointer;transition:transform .15s,border .15s;position:relative}
.entity-card:hover{transform:translateY(-3px);border-color:var(--accent)}
.ec-top{display:flex;align-items:flex-start;justify-content:space-between}
.ec-avatar{width:46px;height:46px;border-radius:13px;background:linear-gradient(145deg,var(--accent),var(--accent-2));color:#ffffff;display:grid;place-items:center;font-family:'Sora';font-weight:700;font-size:21px}
.ec-actions{display:flex;gap:5px;opacity:0;transition:opacity .15s}
.entity-card:hover .ec-actions{opacity:1}
.ec-name{font-family:'Sora';font-size:16px;font-weight:600;margin-top:12px}
.ec-sub{font-size:12px;color:var(--txt-3);margin-top:3px}
.ec-fin{display:flex;align-items:center;justify-content:space-between;margin-top:13px;padding-top:12px;border-top:1px solid var(--line-soft)}
.ec-roi{font-size:11.5px;color:var(--txt-3);font-family:'JetBrains Mono'}

/* perfil */
.profile-head{margin-bottom:18px}
.back-btn{font-size:13px;color:var(--txt-2);padding:6px 0;margin-bottom:12px;transition:color .15s}
.back-btn:hover{color:var(--accent)}
.profile-top{display:flex;align-items:center;gap:16px}
.profile-avatar{width:60px;height:60px;border-radius:16px;background:linear-gradient(145deg,var(--accent),var(--accent-2));color:#ffffff;display:grid;place-items:center;font-family:'Sora';font-weight:800;font-size:28px;flex:none}
.profile-id .page-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.profile-obs{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:10px;padding:13px 16px;font-size:13.5px;color:var(--txt-2);margin-top:14px}
.profile-obs b{color:var(--txt)}
.profile-blocks{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
.mini-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line-soft);font-size:13px}
.mini-row:last-child{border-bottom:none}
.mini-row>span:first-child{display:flex;align-items:center;gap:8px;min-width:0}
.mini-note{padding:10px 16px;border-bottom:1px solid var(--line-soft);font-size:13px;color:var(--txt-2);line-height:1.5}
.mini-note:last-child{border-bottom:none}
.mini-note .note-date{font-family:'JetBrains Mono';color:var(--txt-3);font-size:11.5px;margin-right:6px}

/* gráfico */
.chart-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.chart-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;flex-wrap:wrap;gap:10px}
.chart-head h4{font-family:'Sora';font-size:14.5px;font-weight:600}
.chart-legend{display:flex;gap:14px;font-size:11.5px;color:var(--txt-2)}
.chart-legend span{display:flex;align-items:center;gap:6px}
.chart-legend i{width:11px;height:3px;border-radius:3px;display:inline-block}
.chart-scroll{width:100%;overflow-x:auto}
.linechart{width:100%;min-width:520px;height:auto;display:block}
.linechart .zero{stroke:var(--line);stroke-width:1;stroke-dasharray:3 3}
.linechart .ax{fill:var(--txt-3);font-size:10px;font-family:'JetBrains Mono';text-anchor:middle}
.linechart .ay{text-anchor:end}
.chart-empty{padding:40px;text-align:center;color:var(--txt-3);font-size:13px}

/* preview de cálculo no form */
.calc-preview{background:var(--bg-2);border:1px solid var(--line);border-radius:9px;padding:11px 14px;font-size:13px;color:var(--txt-2);text-align:center}
.calc-preview b{color:var(--txt)}

/* users modal */
.users-list{display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:6px}
.user-row{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-bottom:1px solid var(--line-soft)}
.user-row:last-child{border-bottom:none}
.form-divider{margin:18px 0 12px;font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:var(--txt-3);border-top:1px solid var(--line-soft);padding-top:16px}

/* =========================================================
   LOGIN
   ========================================================= */
.login-body{display:grid;place-items:center;min-height:100vh;padding:20px}
.login-wrap{width:100%;max-width:420px}
.login-card{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:var(--shadow)}
.login-brand{display:flex;align-items:center;gap:13px;margin-bottom:26px}
.login-brand .brand-mark{width:46px;height:46px;font-size:23px}
.login-name{font-family:'Sora';font-size:19px;font-weight:700}
.login-sub{font-size:12px;color:var(--txt-3)}
.login-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--accent);font-weight:600}
.login-title{font-family:'Sora';font-size:24px;font-weight:700;margin:6px 0 4px;letter-spacing:-.5px}
.login-hint{font-size:13px;color:var(--txt-3);margin-bottom:20px;line-height:1.5}
.login-form{display:flex;flex-direction:column;gap:14px;margin-top:18px}
.login-field{display:flex;flex-direction:column;gap:6px}
.login-field label{font-size:12px;font-weight:600;color:var(--txt-2)}
.login-field input{padding:11px 13px;border-radius:10px;background:var(--bg-2);border:1px solid var(--line);color:var(--txt);transition:border .15s}
.login-field input:focus{outline:none;border-color:var(--accent)}
.login-btn{justify-content:center;margin-top:6px;padding:12px;font-size:14px}
.login-err{font-size:12.5px;color:var(--bad);min-height:0;display:none}
.login-err.show{display:block}
.login-foot{text-align:center;font-size:11.5px;color:var(--txt-3);margin-top:18px}

@media(max-width:880px){
  .mini-grid{grid-template-columns:repeat(3,1fr)}
  .mini-grid.status-row{grid-template-columns:repeat(2,1fr)}
  .profile-blocks{grid-template-columns:1fr}
}
@media(max-width:520px){
  .mini-grid,.mini-grid.status-row{grid-template-columns:1fr 1fr}
}

/* =========================================================
   V3 — Webhook / Vendas
   ========================================================= */
.btn-wh{font-size:12px;padding:5px 10px;white-space:nowrap}
.wh-help{font-size:13.5px;color:var(--txt-2);line-height:1.55;margin-bottom:14px}
.wh-help b{color:var(--txt)}
.wh-url-box{display:flex;gap:8px;margin-bottom:16px}
.wh-url-box input{flex:1;padding:11px 13px;border-radius:10px;background:var(--bg-2);border:1px solid var(--line);color:var(--accent);font-family:'JetBrains Mono';font-size:12.5px}
.wh-url-box .btn-primary{white-space:nowrap}
.wh-tips{display:flex;flex-direction:column;gap:9px;background:var(--bg-2);border:1px solid var(--line);border-radius:10px;padding:13px 15px}
.wh-tips>div{font-size:12.5px;color:var(--txt-2);line-height:1.5}
.wh-tips b{color:var(--txt)}
.wh-tips code{background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:1px 6px;font-family:'JetBrains Mono';font-size:11.5px;color:var(--accent)}

/* =========================================================
   V4 — Fechamento do dia (dia-Kwai)
   ========================================================= */
.day-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin-bottom:16px}
.day-label{display:flex;flex-direction:column;align-items:center;gap:4px}
.day-label input[type=date]{background:var(--bg-2);border:1px solid var(--line);color:var(--txt);border-radius:8px;padding:7px 11px;font-family:'JetBrains Mono';font-size:13px}
.day-range{font-size:11.5px;color:var(--txt-3);font-family:'JetBrains Mono'}
.day-hoje{font-size:10.5px;color:var(--accent);text-transform:uppercase;letter-spacing:1px;font-weight:600;margin-top:2px}
.day-nav .btn-ghost[disabled]{opacity:.35;pointer-events:none}
.pend{color:var(--warn);font-size:12px;font-style:italic}
.gasto-info{background:var(--bg-2);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:14px;font-size:13px;color:var(--txt-2);display:flex;flex-direction:column;gap:6px}
.gasto-info b{color:var(--txt)}
.gasto-info .pl-pos{color:var(--good)}

/* =========================================================
   V5 — Múltiplos gateways (webhooks)
   ========================================================= */
.wh-gateway{margin-bottom:14px}
.wh-gw-title{margin-bottom:6px}
.wh-badge{display:inline-block;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px}
.wh-badge.duttfy{background:var(--accent-soft);color:#d63c1f;border:1px solid #ffd0c5}
.wh-badge.sunize{background:var(--info-soft);color:#1d4fbd;border:1px solid #c5d7fb}

/* =========================================================
   V6 — Meta diária
   ========================================================= */
.meta-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;margin-bottom:16px}
.meta-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.meta-title{font-family:'Sora';font-size:14px;font-weight:600}
.meta-bar{height:12px;background:var(--bg-2);border:1px solid var(--line);border-radius:20px;overflow:hidden}
.meta-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:20px;transition:width .4s ease}
.meta-bar i.done{background:linear-gradient(90deg,#16a34a,#34d399)}
.meta-foot{font-size:12.5px;color:var(--txt-2);margin-top:8px}
.meta-foot b{color:var(--txt)}


/* ===== V7: refinos do redesign claro ===== */
.nav-item{position:relative;transition:background .15s,color .15s}
.nav-item.active .nav-ico{opacity:1}
.nav-item.active::before{content:"";position:absolute;left:-14px;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--accent)}
.table-scroll thead th{position:sticky;top:0;background:var(--panel);z-index:2;box-shadow:0 1px 0 var(--line)}
.stat-card{transition:transform .18s ease, box-shadow .18s ease}
.stat-card:hover{box-shadow:var(--shadow-lg)}
/* variação nos cards */
.sc-delta{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:20px;margin-left:8px;vertical-align:middle}
.sc-delta.up{color:#127a3b;background:var(--good-soft)}
.sc-delta.down{color:#b31d1d;background:var(--bad-soft)}
.sc-delta.flat{color:var(--txt-3);background:var(--bg-2)}
.spark{display:block;margin-top:8px;width:100%;height:34px}
/* hero do fechamento */
.hero-result{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px 24px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.hero-result .hr-label{font-size:12px;text-transform:uppercase;letter-spacing:1.4px;color:var(--txt-3);font-weight:700}
.hero-result .hr-value{font-family:'Sora';font-size:40px;font-weight:800;letter-spacing:-1px;line-height:1.05;margin-top:4px}
.hero-result .hr-value .pos{color:var(--good)} .hero-result .hr-value .neg{color:var(--bad)}
.hero-result .hr-side{display:flex;gap:26px;flex-wrap:wrap}
.hero-result .hr-kpi .k{font-size:11.5px;color:var(--txt-3)}
.hero-result .hr-kpi .v{font-family:'Sora';font-size:18px;font-weight:700;margin-top:2px}
/* paginação */
.pager{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px}
.pager button{padding:7px 13px;border-radius:9px;border:1px solid var(--line);background:var(--panel);font-size:13px;color:var(--txt-2);transition:all .15s}
.pager button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}
.pager button.cur{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}
.pager button:disabled{opacity:.4;cursor:default}
.pager .pinfo{font-size:12.5px;color:var(--txt-3);margin:0 6px}
/* gráfico de barras por hora */
.hourchart{width:100%;height:auto;display:block}
.hourchart .bar{fill:var(--info);opacity:.85;transition:opacity .15s}
.hourchart .bar:hover{opacity:1}
.hourchart .hx{fill:var(--txt-3);font-size:10px;font-family:'JetBrains Mono';text-anchor:middle}
.hourchart .hv{fill:var(--txt-2);font-size:10.5px;font-weight:700;text-anchor:middle}
/* área do linechart */
.linechart .area-lucro{opacity:.16}


/* =========================================================
   V8 — TEMA ESCURO (o visual antigo), ativado por html.theme-dark
   ========================================================= */
html.theme-dark{
  --bg:#0b0e16; --bg-2:#10141f; --panel:#141a27; --panel-2:#19202f;
  --line:#222b3d; --line-soft:#1b2333;
  --txt:#e8edf6; --txt-2:#9aa6bd; --txt-3:#67728a;
  --accent-soft:rgba(255,90,60,.13);
  --good:#2fcf8f; --good-soft:rgba(47,207,143,.14);
  --warn:#f5c451; --warn-soft:rgba(245,196,81,.14);
  --info:#4d9bff; --info-soft:rgba(77,155,255,.14);
  --bad:#ff5470;  --bad-soft:rgba(255,84,112,.14);
  --dead:#6b7488; --purple:#b07cff;
  --shadow:0 18px 40px -18px rgba(0,0,0,.65);
  --shadow-lg:0 18px 48px -16px rgba(0,0,0,.75);
}
html.theme-dark body{
  background:
    radial-gradient(1200px 600px at 80% -10%, rgba(255,90,60,.08), transparent 60%),
    radial-gradient(900px 500px at -10% 110%, rgba(77,155,255,.07), transparent 55%),
    var(--bg);
}
html.theme-dark .sidebar{background:linear-gradient(180deg,var(--bg-2),#0c1019)}
html.theme-dark .topbar{background:rgba(11,14,22,.82)}
html.theme-dark #globalSearch{background:var(--panel);border:1px solid var(--line);box-shadow:none}
html.theme-dark #globalSearch:focus{border-color:var(--accent);box-shadow:none;background:var(--panel-2)}
html.theme-dark *::-webkit-scrollbar-thumb{background:#222b3d;background-clip:padding-box}
html.theme-dark *::-webkit-scrollbar-thumb:hover{background:#2e3a52;background-clip:padding-box}
html.theme-dark .stat-card:hover,html.theme-dark .note-card:hover,html.theme-dark .mini-card:hover{border-color:#2c374e}
html.theme-dark .sidebar-scrim{background:rgba(0,0,0,.5)}
html.theme-dark .b-good{color:var(--good);background:rgba(47,207,143,.12);border-color:rgba(47,207,143,.25)}
html.theme-dark .b-warn{color:var(--warn);background:rgba(245,196,81,.12);border-color:rgba(245,196,81,.25)}
html.theme-dark .b-info{color:var(--info);background:rgba(77,155,255,.12);border-color:rgba(77,155,255,.25)}
html.theme-dark .b-bad{color:var(--bad);background:rgba(255,84,112,.12);border-color:rgba(255,84,112,.25)}
html.theme-dark .b-dead{color:var(--dead);background:rgba(107,116,136,.14);border-color:rgba(107,116,136,.28)}
html.theme-dark .b-purple{color:var(--purple);background:rgba(176,124,255,.12);border-color:rgba(176,124,255,.25)}
html.theme-dark .wh-badge.duttfy{background:rgba(255,90,60,.15);color:var(--accent);border-color:rgba(255,90,60,.35)}
html.theme-dark .wh-badge.sunize{background:rgba(80,140,255,.15);color:#6ea8ff;border-color:rgba(80,140,255,.35)}
html.theme-dark .sc-delta.up{color:var(--good);background:rgba(47,207,143,.13)}
html.theme-dark .sc-delta.down{color:var(--bad);background:rgba(255,84,112,.13)}
html.theme-dark .sc-delta.flat{color:var(--txt-3);background:var(--bg-2)}
html.theme-dark .nav-item.active{color:var(--accent)}
html.theme-dark ::selection{background:var(--accent-soft);color:#fff}

/* =========================================================
   Adquirentes — campeões do dia + ranking em barras
   ========================================================= */
.adq-champions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.champ-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow)}
.champ-card.best{border-color:var(--good);box-shadow:0 0 0 1px var(--good) inset, var(--shadow)}
.champ-tag{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--txt-3);font-weight:700}
.champ-name{display:flex;align-items:center;gap:7px;font-family:'Sora';font-size:14px;font-weight:600;margin-top:8px}
.champ-name i{width:9px;height:9px;border-radius:50%;flex:none}
.champ-val{font-family:'Sora';font-size:26px;font-weight:800;letter-spacing:-.5px;margin-top:4px;color:var(--good)}
.champ-card:not(.best) .champ-val{color:var(--txt)}
.champ-sub{font-size:12px;color:var(--txt-2);margin-top:3px}
.adq-bars{display:flex;flex-direction:column;gap:10px;padding:4px 2px}
.adq-bar-row{display:grid;grid-template-columns:200px 1fr auto;align-items:center;gap:12px}
.abr-name{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.abr-name i{width:9px;height:9px;border-radius:50%;flex:none}
.abr-track{height:22px;background:var(--bg-2);border-radius:7px;overflow:hidden}
.abr-fill{height:100%;border-radius:7px;transition:width .4s ease;min-width:2px}
.abr-val{font-family:'Sora';font-size:13px;font-weight:700;white-space:nowrap}
.abr-conv{color:var(--txt-3);font-weight:500}
.rank-n{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:6px;background:var(--bg-2);color:var(--txt-2);font-size:11px;font-weight:700;flex:none}
@media(max-width:720px){
  .adq-champions{grid-template-columns:1fr}
  .adq-bar-row{grid-template-columns:120px 1fr auto;gap:8px}
  .abr-name{font-size:12px}
}

/* nome do dia da semana na navegação de adquirentes */
.day-weekday{display:block;font-family:'Sora';font-size:15px;font-weight:700;color:var(--txt);margin:2px 0}

/* chip de adquirente na tabela de vendas */
.adq-chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--txt-2);white-space:nowrap}
.adq-chip i{width:8px;height:8px;border-radius:50%;background:var(--ac,var(--dead));flex:none}
.adq-chip.vazio{color:var(--txt-3)}
