/* =====================================================================
   NAVALHA AI — Sistema (app.navalhaai.com.br)
   ===================================================================== */

:root{
  --bg:#09090B;
  --bg-2:#101013;
  --bg-3:#17171C;
  --bg-4:#1E1E24;
  --line:#26262E;
  --line-2:#33333D;
  --txt:#F4F4F6;
  --txt-2:#A2A2AE;
  --txt-3:#6B6B78;
  --gold:#C8A24B;
  --gold-2:#E3C77A;
  --gold-dim:rgba(200,162,75,.12);
  --green:#25D366;
  --green-dim:rgba(37,211,102,.13);
  --blue:#4A9DEC;
  --blue-dim:rgba(74,157,236,.13);
  --red:#E4572E;
  --red-dim:rgba(228,87,46,.13);
  --amber:#E0A020;
  --amber-dim:rgba(224,160,32,.13);
  --purple:#9B7EDE;
  --r:12px;
  --r-lg:18px;
  --side-w:248px;
  --shadow:0 18px 44px -14px rgba(0,0,0,.7);
  --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --display:'Bebas Neue','Inter',sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--txt);font-family:var(--font);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font-family:inherit;font-size:inherit}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:9px}
::-webkit-scrollbar-thumb:hover{background:#44444f}

.boot{height:100vh;display:grid;place-items:center}
.spinner{width:26px;height:26px;border:2.5px solid var(--line-2);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* =====================  LOGIN  ===================== */
.login-page{display:grid;grid-template-columns:1.05fr .95fr;min-height:100vh}
.login-visual{
  background:linear-gradient(150deg,#141008,var(--bg) 55%);
  border-right:1px solid var(--line);padding:56px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;
}
.login-visual::after{
  content:'';position:absolute;top:-160px;right:-160px;width:520px;height:520px;
  background:radial-gradient(circle,rgba(200,162,75,.16),transparent 66%);
}
.login-brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.08em;margin-bottom:44px;position:relative}
.login-brand b{color:var(--gold)}
.logo-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(135deg,var(--gold-2),var(--gold));color:#14100A;font-size:1.05rem}
.login-visual h1{font-family:var(--display);font-size:3.2rem;line-height:1.02;font-weight:400;margin-bottom:32px;position:relative}
.login-visual h1 span{color:var(--gold)}
.login-visual ul{list-style:none;display:flex;flex-direction:column;gap:12px;color:var(--txt-2);position:relative}
.login-quote{margin-top:44px;padding-left:18px;border-left:3px solid var(--gold);color:var(--txt-3);font-style:italic;position:relative}
.login-form-side{display:grid;place-items:center;padding:40px 24px}
.login-card{width:100%;max-width:380px}
.login-card h2{font-size:1.55rem;margin-bottom:4px}
.login-sub{color:var(--txt-3);margin-bottom:28px;font-size:.9rem}
.login-err{background:var(--red-dim);border:1px solid rgba(228,87,46,.35);color:#ffb69e;padding:11px 14px;border-radius:10px;font-size:.86rem;margin-bottom:14px}
.login-demo{margin-top:22px;padding:14px;border-radius:10px;background:var(--gold-dim);border:1px solid rgba(200,162,75,.24);text-align:center;font-size:.82rem}
.login-demo strong{display:block;color:var(--gold-2);margin-bottom:2px}
.login-demo span{color:var(--txt-3)}
.login-back{display:block;text-align:center;margin-top:20px;color:var(--txt-3);font-size:.85rem}
.login-back:hover{color:var(--gold)}

/* =====================  LAYOUT  ===================== */
.layout{display:flex;min-height:100vh}
.sidebar{
  width:var(--side-w);flex-shrink:0;background:var(--bg-2);border-right:1px solid var(--line);
  display:flex;flex-direction:column;position:fixed;top:0;bottom:0;left:0;z-index:60;transition:transform .25s;
}
.side-brand{display:flex;align-items:center;gap:11px;padding:18px 18px;border-bottom:1px solid var(--line)}
.side-brand strong{display:block;font-size:.92rem;letter-spacing:.07em}
.side-brand b{color:var(--gold)}
.side-brand small{display:block;font-size:.72rem;color:var(--txt-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:145px}
.side-nav{flex:1;overflow-y:auto;padding:14px 10px}
.side-group{font-size:.66rem;text-transform:uppercase;letter-spacing:.13em;color:var(--txt-3);padding:14px 10px 6px;font-weight:700}
.side-link{
  display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:9px;
  color:var(--txt-2);font-size:.875rem;margin-bottom:2px;transition:.15s;position:relative;
}
.side-link i{font-style:normal;width:18px;text-align:center;font-size:.95rem}
.side-link:hover{background:var(--bg-3);color:var(--txt)}
.side-link.active{background:var(--gold-dim);color:var(--gold);font-weight:600}
.side-link.active::before{content:'';position:absolute;left:-10px;top:8px;bottom:8px;width:3px;background:var(--gold);border-radius:0 3px 3px 0}
.side-badge{margin-left:auto;background:var(--red);color:#fff;font-size:.66rem;padding:1px 7px;border-radius:100px;font-weight:700}
.side-foot{padding:12px 10px;border-top:1px solid var(--line)}
.side-plan{display:flex;align-items:center;justify-content:space-between;padding:10px 11px;border-radius:9px;background:var(--bg-3);margin-top:8px}
.side-plan strong{display:block;font-size:.78rem;text-transform:capitalize}
.side-plan span{font-size:.7rem;color:var(--txt-3)}
.plan-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green)}
.side-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:50}
.side-overlay.show{display:block}

.main{flex:1;margin-left:var(--side-w);min-width:0;display:flex;flex-direction:column}
.topbar{
  height:62px;border-bottom:1px solid var(--line);background:rgba(9,9,11,.9);backdrop-filter:blur(10px);
  display:flex;align-items:center;gap:14px;padding:0 22px;position:sticky;top:0;z-index:40;
}
.topbar-title{font-size:1rem;font-weight:600;display:flex;align-items:center;gap:9px}
.topbar-title i{font-style:normal;color:var(--gold)}
.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:12px}
.ia-status{display:flex;align-items:center;gap:7px;font-size:.78rem;color:var(--green);background:var(--green-dim);padding:5px 12px;border-radius:100px}
.dot-live{width:6px;height:6px;border-radius:50%;background:var(--green);animation:blink 1.8s infinite}
@keyframes blink{50%{opacity:.35}}
.icon-btn{background:none;border:0;color:var(--txt-2);font-size:1.05rem;cursor:pointer;padding:7px;border-radius:9px;position:relative;transition:.15s}
.icon-btn:hover{background:var(--bg-3);color:var(--txt)}
.bell-dot{position:absolute;top:5px;right:5px;width:7px;height:7px;background:var(--red);border-radius:50%}
.only-mobile{display:none}

.user-chip{display:flex;align-items:center;gap:9px;padding:5px 9px;border-radius:10px;cursor:pointer;position:relative;transition:.15s}
.user-chip:hover{background:var(--bg-3)}
.user-info strong{display:block;font-size:.8rem;line-height:1.2}
.user-info span{font-size:.68rem;color:var(--txt-3)}
.user-chip>i{font-style:normal;color:var(--txt-3);font-size:.7rem}
.user-menu{
  position:absolute;top:calc(100% + 8px);right:0;background:var(--bg-3);border:1px solid var(--line-2);
  border-radius:11px;min-width:180px;padding:6px;box-shadow:var(--shadow);display:none;z-index:70;
}
.user-menu.open{display:block}
.user-menu a,.user-menu button{
  display:block;width:100%;text-align:left;padding:9px 11px;border-radius:8px;font-size:.85rem;
  color:var(--txt-2);background:none;border:0;cursor:pointer;
}
.user-menu a:hover,.user-menu button:hover{background:var(--bg-4);color:var(--txt)}

.content{flex:1;padding:24px;max-width:1500px;width:100%}

.avatar{
  width:34px;height:34px;border-radius:50%;background:var(--bg-4);color:var(--txt-2);
  display:grid;place-items:center;font-size:.75rem;font-weight:700;flex-shrink:0;
}

/* =====================  COMPONENTES  ===================== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 16px;
  border-radius:9px;font-weight:600;font-size:.86rem;border:1px solid transparent;cursor:pointer;transition:.18s;white-space:nowrap;
}
.btn-gold{background:linear-gradient(135deg,var(--gold-2),var(--gold));color:#14100A}
.btn-gold:hover{filter:brightness(1.08);transform:translateY(-1px)}
.btn-outline{border-color:var(--line-2);color:var(--txt-2);background:transparent}
.btn-outline:hover{border-color:var(--gold);color:var(--gold)}
.btn-ghost{color:var(--txt-2);background:var(--bg-3)}
.btn-ghost:hover{background:var(--bg-4);color:var(--txt)}
.btn-danger{background:var(--red);color:#fff}
.btn-danger:hover{filter:brightness(1.1)}
.btn-green{background:var(--green);color:#062b13}
.btn-green:hover{filter:brightness(1.08)}
.btn-sm{padding:6px 11px;font-size:.78rem;border-radius:8px}
.btn-block{width:100%}
.btn-lg{padding:13px 22px;font-size:.95rem}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}

.card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.card-head h3{font-size:.98rem;font-weight:700;display:flex;align-items:center;gap:8px}
.card-head h3 small{font-weight:400;color:var(--txt-3);font-size:.78rem}

.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.page-head h2{font-size:1.4rem;font-weight:700}
.page-head p{color:var(--txt-3);font-size:.87rem;margin-top:3px}
.page-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}

.badge{display:inline-flex;align-items:center;gap:4px;font-size:.7rem;font-weight:600;padding:3px 9px;border-radius:100px;white-space:nowrap}
.b-ok{background:var(--green-dim);color:var(--green)}
.b-warn{background:var(--amber-dim);color:var(--amber)}
.b-bad{background:var(--red-dim);color:#ff8f6b}
.b-info{background:var(--blue-dim);color:var(--blue)}
.b-gold{background:var(--gold-dim);color:var(--gold)}
.b-muted{background:var(--bg-4);color:var(--txt-3)}
.b-done{background:rgba(155,126,222,.14);color:var(--purple)}

.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.g-2-1{grid-template-columns:2fr 1fr}
.g-1-2{grid-template-columns:1fr 2fr}

/* KPI */
.kpi{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;position:relative;overflow:hidden;transition:.2s}
.kpi:hover{border-color:var(--line-2)}
.kpi-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.kpi-label{font-size:.76rem;color:var(--txt-3);font-weight:500}
.kpi-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;font-size:.95rem;background:var(--bg-4)}
.kpi-value{font-family:var(--display);font-size:2.1rem;line-height:1;font-weight:400;letter-spacing:.01em}
.kpi-sub{font-size:.75rem;color:var(--txt-3);margin-top:6px;display:flex;align-items:center;gap:5px}
.kpi-sub .up{color:var(--green)}
.kpi-sub .down{color:var(--red)}
.kpi.gold{background:linear-gradient(150deg,rgba(200,162,75,.11),var(--bg-2) 60%);border-color:rgba(200,162,75,.3)}
.kpi.gold .kpi-value{color:var(--gold)}
.kpi.gold .kpi-icon{background:var(--gold-dim)}

/* Tabela */
.table-wrap{overflow-x:auto;border-radius:var(--r);border:1px solid var(--line)}
table{width:100%;border-collapse:collapse;font-size:.85rem;min-width:520px}
thead th{
  text-align:left;padding:11px 14px;background:var(--bg-3);color:var(--txt-3);
  font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;white-space:nowrap;
}
tbody td{padding:11px 14px;border-top:1px solid var(--line);vertical-align:middle}
tbody tr{transition:.12s}
tbody tr:hover{background:var(--bg-2)}
tbody tr.clickable{cursor:pointer}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
td.actions{text-align:right;white-space:nowrap}

/* Listas */
.list{display:flex;flex-direction:column;gap:8px}
.list-item{
  display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--bg-2);
  border:1px solid var(--line);border-radius:var(--r);transition:.15s;
}
.list-item:hover{border-color:var(--line-2)}
.list-item.click{cursor:pointer}
.li-main{flex:1;min-width:0}
.li-main strong{display:block;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.li-main span{font-size:.76rem;color:var(--txt-3);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.li-right{text-align:right;flex-shrink:0}

/* Estados */
.loading{display:flex;align-items:center;justify-content:center;gap:11px;padding:60px 20px;color:var(--txt-3);font-size:.88rem}
.empty{text-align:center;padding:52px 20px;color:var(--txt-3)}
.empty-icon{font-size:2.6rem;margin-bottom:12px;opacity:.65}
.empty h3{font-size:1rem;color:var(--txt-2);margin-bottom:5px;font-weight:600}
.empty p{font-size:.85rem;max-width:380px;margin:0 auto 16px}

/* Campos */
.field{margin-bottom:14px}
.field label{display:block;font-size:.76rem;color:var(--txt-3);margin-bottom:5px;font-weight:500}
.field small{display:block;font-size:.72rem;color:var(--txt-3);margin-top:4px}
.field input,.field select,.field textarea,.inp{
  width:100%;padding:10px 13px;border-radius:9px;background:var(--bg-3);
  border:1px solid var(--line-2);color:var(--txt);transition:.15s;font-size:.87rem;
}
.field textarea{resize:vertical;min-height:70px;line-height:1.55}
.field input:focus,.field select:focus,.field textarea:focus,.inp:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-dim)}
.field input::placeholder,.field textarea::placeholder{color:var(--txt-3);opacity:.55}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field-row-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.inp-sm{padding:7px 11px;font-size:.82rem;border-radius:8px;background:var(--bg-3);border:1px solid var(--line-2);color:var(--txt)}

.switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;user-select:none}
.switch input{display:none}
.slider{width:40px;height:22px;background:var(--bg-4);border-radius:100px;position:relative;transition:.2s;flex-shrink:0;border:1px solid var(--line-2)}
.slider::after{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--txt-3);transition:.2s}
.switch input:checked+.slider{background:var(--gold-dim);border-color:var(--gold)}
.switch input:checked+.slider::after{transform:translateX(18px);background:var(--gold)}
.switch em{font-style:normal;font-size:.85rem;color:var(--txt-2)}

/* Tabs / filtros */
.tabs{display:flex;gap:4px;background:var(--bg-3);padding:4px;border-radius:10px;overflow-x:auto}
.tab{
  padding:7px 14px;border-radius:8px;font-size:.83rem;color:var(--txt-3);cursor:pointer;
  border:0;background:none;white-space:nowrap;transition:.15s;font-weight:500;
}
.tab:hover{color:var(--txt-2)}
.tab.active{background:var(--bg-2);color:var(--gold);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.3)}

.chips{display:flex;gap:7px;flex-wrap:wrap}
.chip{
  padding:6px 13px;border-radius:100px;font-size:.79rem;background:var(--bg-3);
  border:1px solid var(--line);color:var(--txt-3);cursor:pointer;transition:.15s;
}
.chip:hover{border-color:var(--line-2);color:var(--txt-2)}
.chip.active{background:var(--gold-dim);border-color:var(--gold);color:var(--gold)}

/* Gráficos */
.chart{display:flex;align-items:flex-end;gap:5px;padding-top:18px}
.chart-col{flex:1;display:flex;flex-direction:column;justify-content:flex-end;height:100%;text-align:center;min-width:0}
.chart-bar{width:100%;border-radius:5px 5px 0 0;transition:.4s cubic-bezier(.2,.8,.3,1);min-height:2px}
.chart-col:hover .chart-bar{filter:brightness(1.25)}
.chart-lbl{font-size:.63rem;color:var(--txt-3);margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chart-val{font-size:.63rem;color:var(--txt-3);margin-bottom:4px;height:14px;white-space:nowrap}
.donut-wrap{position:relative;display:inline-grid;place-items:center}
.donut-center{position:absolute;text-align:center}
.donut-center strong{display:block;font-family:var(--display);font-size:1.7rem;line-height:1}
.donut-center span{font-size:.7rem;color:var(--txt-3)}
.legend{display:flex;flex-direction:column;gap:9px}
.legend-item{display:flex;align-items:center;gap:9px;font-size:.82rem}
.legend-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}
.legend-item span:last-child{margin-left:auto;color:var(--txt-3);font-variant-numeric:tabular-nums}
.progress{height:6px;background:var(--bg-4);border-radius:100px;overflow:hidden}
.progress div{height:100%;border-radius:100px;transition:.5s}
.spark{display:block}

/* Modal */
.modal-backdrop{
  position:fixed;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(3px);
  display:grid;place-items:center;z-index:200;padding:20px;animation:fade .18s;
}
@keyframes fade{from{opacity:0}}
.modal{
  background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--r-lg);
  width:100%;max-width:560px;max-height:90vh;display:flex;flex-direction:column;
  box-shadow:var(--shadow);animation:up .22s cubic-bezier(.2,.8,.3,1);
}
@keyframes up{from{transform:translateY(16px);opacity:0}}
.modal.sm{max-width:400px}
.modal.lg{max-width:820px}
.modal.xl{max-width:1080px}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line)}
.modal-head h3{font-size:1.02rem;font-weight:700}
.modal-x{background:none;border:0;color:var(--txt-3);font-size:1.05rem;cursor:pointer;padding:5px 8px;border-radius:7px}
.modal-x:hover{background:var(--bg-4);color:var(--txt)}
.modal-body{padding:22px;overflow-y:auto;flex:1}
.modal-foot{padding:15px 22px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:9px}

/* Toast */
#toasts{position:fixed;bottom:22px;right:22px;z-index:300;display:flex;flex-direction:column;gap:9px}
.toast{
  display:flex;align-items:flex-start;gap:10px;background:var(--bg-3);border:1px solid var(--line-2);
  border-radius:11px;padding:13px 17px;font-size:.86rem;box-shadow:var(--shadow);
  animation:slideIn .25s;transition:.35s;max-width:330px;
}
@keyframes slideIn{from{transform:translateX(24px);opacity:0}}
.toast.t-ok{border-left:3px solid var(--green)}
.toast.t-bad{border-left:3px solid var(--red)}
.toast.t-info{border-left:3px solid var(--blue)}

/* Notificações */
.notif-panel{
  position:absolute;top:58px;right:20px;width:340px;max-height:440px;background:var(--bg-3);
  border:1px solid var(--line-2);border-radius:14px;box-shadow:var(--shadow);overflow:hidden;z-index:80;
  display:flex;flex-direction:column;animation:up .18s;
}
.notif-head{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;border-bottom:1px solid var(--line)}
.notif-head button{background:none;border:0;color:var(--gold);font-size:.76rem;cursor:pointer}
.notif-list{overflow-y:auto}
.notif{display:flex;gap:11px;padding:13px 16px;border-bottom:1px solid var(--line);transition:.15s}
.notif:hover{background:var(--bg-4)}
.notif.unread{background:rgba(200,162,75,.055)}
.notif-ico{font-size:1.05rem}
.notif strong{font-size:.83rem;display:block}
.notif p{font-size:.76rem;color:var(--txt-3);margin:2px 0}
.notif time{font-size:.68rem;color:var(--txt-3)}
.notif-empty{padding:36px 20px;text-align:center;color:var(--txt-3);font-size:.85rem}

/* =====================  AGENDA  ===================== */
.agenda-grid{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;min-width:640px}
.ag-head{background:var(--bg-3);padding:11px 10px;text-align:center;font-size:.78rem;font-weight:600;position:sticky;top:0;z-index:2}
.ag-head small{display:block;font-size:.68rem;color:var(--txt-3);font-weight:400}
.ag-time{background:var(--bg-2);padding:6px 8px;font-size:.68rem;color:var(--txt-3);text-align:right;font-variant-numeric:tabular-nums}
.ag-cell{background:var(--bg-2);min-height:34px;padding:2px;position:relative;transition:.12s;cursor:pointer}
.ag-cell:hover{background:var(--bg-3)}
.ag-cell.free:hover::after{content:'+';position:absolute;inset:0;display:grid;place-items:center;color:var(--gold);font-size:1.1rem;opacity:.55}
.ag-appt{
  background:var(--bg-4);border-left:3px solid var(--gold);border-radius:6px;padding:5px 8px;
  font-size:.72rem;height:100%;overflow:hidden;cursor:pointer;transition:.15s;
}
.ag-appt:hover{filter:brightness(1.2)}
.ag-appt strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.74rem}
.ag-appt span{color:var(--txt-3);font-size:.67rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.ag-appt.s-canceled{opacity:.4;text-decoration:line-through}
.ag-appt.s-no_show{border-left-color:var(--red);background:var(--red-dim)}
.ag-appt.s-done{border-left-color:var(--purple);opacity:.75}
.ag-appt.s-pending{border-left-color:var(--amber)}
.ag-blocked{background:repeating-linear-gradient(45deg,transparent,transparent 5px,rgba(255,255,255,.03) 5px,rgba(255,255,255,.03) 10px)}

.day-list{display:flex;flex-direction:column;gap:9px}
.day-appt{
  display:flex;align-items:center;gap:14px;padding:13px 16px;background:var(--bg-2);
  border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:var(--r);
  transition:.15s;cursor:pointer;
}
.day-appt:hover{border-color:var(--line-2);transform:translateX(2px)}
.day-appt.s-canceled{opacity:.45}
.day-appt.s-no_show{border-left-color:var(--red)}
.day-appt.s-done{border-left-color:var(--purple)}
.day-appt.s-pending{border-left-color:var(--amber)}
.da-time{font-family:var(--display);font-size:1.28rem;color:var(--gold);width:52px;flex-shrink:0;line-height:1}
.da-time small{display:block;font-size:.6rem;color:var(--txt-3);font-family:var(--font)}
.da-main{flex:1;min-width:0}
.da-main strong{display:block;font-size:.9rem}
.da-main span{font-size:.77rem;color:var(--txt-3)}
.da-side{display:flex;align-items:center;gap:8px;flex-shrink:0}

/* =====================  INBOX  ===================== */
.inbox{display:grid;grid-template-columns:320px 1fr 280px;gap:16px;height:calc(100vh - 62px - 48px)}
.inbox-col{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);display:flex;flex-direction:column;overflow:hidden;min-height:0}
.inbox-search{padding:12px;border-bottom:1px solid var(--line)}
.conv-list{overflow-y:auto;flex:1}
.conv{display:flex;gap:11px;padding:13px 14px;border-bottom:1px solid var(--line);cursor:pointer;transition:.12s}
.conv:hover{background:var(--bg-3)}
.conv.active{background:var(--gold-dim);border-left:3px solid var(--gold);padding-left:11px}
.conv-body{flex:1;min-width:0}
.conv-top{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.conv-top strong{font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.conv-top time{font-size:.66rem;color:var(--txt-3);flex-shrink:0}
.conv-prev{font-size:.76rem;color:var(--txt-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.conv-tags{display:flex;gap:5px;margin-top:5px;align-items:center}
.conv-unread{background:var(--green);color:#062b13;font-size:.62rem;font-weight:700;padding:1px 6px;border-radius:100px;margin-left:auto}

.chat-head{display:flex;align-items:center;gap:11px;padding:13px 16px;border-bottom:1px solid var(--line);flex-shrink:0}
.chat-head-main{flex:1;min-width:0}
.chat-head-main strong{display:block;font-size:.9rem}
.chat-head-main span{font-size:.73rem;color:var(--txt-3)}
.chat-body{
  flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:7px;
  background:#0b1216;background-image:radial-gradient(rgba(255,255,255,.018) 1px,transparent 1px);background-size:22px 22px;
}
.msg{max-width:72%;padding:8px 12px;border-radius:10px;font-size:.84rem;line-height:1.48;word-break:break-word;animation:pop .2s}
@keyframes pop{from{opacity:0;transform:translateY(6px)}}
.msg.in{background:#1f2c33;align-self:flex-start;border-top-left-radius:3px}
.msg.out{background:#005c4b;align-self:flex-end;border-top-right-radius:3px}
.msg.out.human{background:#0b4a6f}
.msg-meta{display:flex;align-items:center;gap:6px;justify-content:flex-end;font-size:.62rem;color:rgba(255,255,255,.45);margin-top:3px}
.msg-author{font-size:.64rem;color:var(--gold-2);margin-bottom:2px;font-weight:600}
.msg.system{align-self:center;background:var(--bg-4);color:var(--txt-3);font-size:.73rem;max-width:80%;text-align:center}
.chat-input{display:flex;gap:9px;padding:13px;border-top:1px solid var(--line);flex-shrink:0}
.chat-input input{flex:1}
.chat-empty{flex:1;display:grid;place-items:center;color:var(--txt-3)}

.ctx-block{padding:14px 16px;border-bottom:1px solid var(--line)}
.ctx-block h4{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:var(--txt-3);margin-bottom:10px}
.ctx-row{display:flex;justify-content:space-between;font-size:.8rem;padding:4px 0}
.ctx-row span{color:var(--txt-3)}

/* =====================  IA  ===================== */
.sim-wrap{display:grid;grid-template-columns:340px 1fr;gap:18px}
.sim-phone{
  background:#0b1216;border:1px solid var(--line-2);border-radius:var(--r-lg);overflow:hidden;
  display:flex;flex-direction:column;height:560px;
}
.sim-head{display:flex;align-items:center;gap:10px;padding:13px 15px;background:#1f2c33}
.sim-body{
  flex:1;overflow-y:auto;padding:16px 13px;display:flex;flex-direction:column;gap:7px;
  background-image:radial-gradient(rgba(255,255,255,.02) 1px,transparent 1px);background-size:22px 22px;
}
.sim-input{display:flex;gap:8px;padding:11px;background:#1f2c33}
.sim-input input{flex:1;background:#0d1418;border:1px solid #2a3942;color:var(--txt);border-radius:100px;padding:9px 15px;font-size:.85rem}
.sim-input input:focus{outline:none;border-color:var(--gold)}
.sim-send{background:var(--green);border:0;width:38px;height:38px;border-radius:50%;color:#062b13;cursor:pointer;font-size:1rem;flex-shrink:0}
.sim-suggest{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.sim-suggest button{
  background:var(--bg-3);border:1px solid var(--line);color:var(--txt-2);padding:7px 13px;
  border-radius:100px;font-size:.78rem;cursor:pointer;transition:.15s;
}
.sim-suggest button:hover{border-color:var(--gold);color:var(--gold)}
.typing-dots{display:flex;gap:4px;padding:11px 14px;background:#1f2c33;border-radius:10px;align-self:flex-start;width:fit-content}
.typing-dots i{width:6px;height:6px;background:#7d8e97;border-radius:50%;animation:tdot 1.3s infinite}
.typing-dots i:nth-child(2){animation-delay:.2s}.typing-dots i:nth-child(3){animation-delay:.4s}
@keyframes tdot{0%,60%,100%{opacity:.3}30%{opacity:1}}

.ai-feature{display:flex;gap:13px;padding:14px;background:var(--bg-3);border:1px solid var(--line);border-radius:var(--r);align-items:flex-start}
.ai-feature-ico{font-size:1.25rem}
.ai-feature strong{display:block;font-size:.87rem;margin-bottom:3px}
.ai-feature p{font-size:.78rem;color:var(--txt-3)}
.ai-feature .switch{margin-left:auto}

/* =====================  Diversos  ===================== */
.hint{
  background:var(--gold-dim);border:1px solid rgba(200,162,75,.24);border-radius:var(--r);
  padding:13px 16px;font-size:.83rem;color:var(--txt-2);display:flex;gap:10px;align-items:flex-start;
}
.hint b{color:var(--gold-2)}
.copybox{display:flex;gap:8px;align-items:center;background:var(--bg-3);border:1px solid var(--line-2);border-radius:9px;padding:9px 13px;font-size:.82rem;color:var(--txt-2)}
.copybox code{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,Menlo,monospace;font-size:.78rem}
.stat-line{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);font-size:.85rem}
.stat-line:last-child{border:0}
.stat-line b{font-variant-numeric:tabular-nums}
.rating-stars{color:var(--gold);letter-spacing:1px}
.pill-row{display:flex;gap:6px;flex-wrap:wrap}

/* =====================  Responsivo  ===================== */
@media (max-width:1280px){
  .inbox{grid-template-columns:280px 1fr}
  .inbox-ctx{display:none}
  .g4{grid-template-columns:repeat(2,1fr)}
  .sim-wrap{grid-template-columns:1fr}
  .sim-phone{max-width:400px}
}
@media (max-width:1024px){
  .g3,.g-2-1,.g-1-2{grid-template-columns:1fr}
  .login-page{grid-template-columns:1fr}
  .login-visual{display:none}
}
@media (max-width:860px){
  .sidebar{transform:translateX(-100%)}
  .sidebar.open{transform:none}
  .main{margin-left:0}
  .only-mobile{display:block}
  .content{padding:16px}
  .g2,.g4{grid-template-columns:1fr}
  .inbox{grid-template-columns:1fr;height:auto}
  .inbox-list.hide-mobile{display:none}
  .user-info{display:none}
  .ia-status{display:none}
  .field-row,.field-row-3{grid-template-columns:1fr}
}

/* ---------- Mensagem de áudio (transcrita) ---------- */
.audio-msg{
  display:flex;flex-direction:column;gap:6px;margin-bottom:7px;padding-bottom:7px;
  border-bottom:1px solid rgba(255,255,255,.09);
}
.audio-msg audio{width:100%;max-width:260px;height:34px;filter:invert(.9) hue-rotate(180deg)}
.audio-tag{font-size:.66rem;color:var(--gold-2);opacity:.85}

/* ---------- Seletor de motor de transcrição ---------- */
.engine-opts{display:flex;flex-direction:column;gap:7px}
.engine-opt{
  padding:10px 13px;border-radius:10px;background:var(--bg-3);
  border:1px solid var(--line);transition:.15s;
}
.engine-opt.on{background:var(--gold-dim);border-color:var(--gold)}
.engine-opt strong{display:block;font-size:.84rem;font-weight:600}
.engine-opt.on strong{color:var(--gold)}
.engine-opt strong em{
  font-style:normal;font-size:.64rem;background:var(--gold);color:#14100A;
  padding:1px 7px;border-radius:100px;margin-left:6px;vertical-align:middle;font-weight:700;
}
.engine-opt span{display:block;font-size:.76rem;color:var(--txt-3);margin-top:2px}

/* ---------- Totais por dia (visão semana) ---------- */
.dia-totais{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:16px}
.dia-total{
  background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);
  padding:11px 10px;text-align:center;cursor:pointer;transition:.15s;
}
.dia-total:hover{border-color:var(--gold);transform:translateY(-2px)}
.dia-total.hoje{border-color:var(--gold);background:var(--gold-dim)}
.dia-total.vazio{opacity:.5}
.dia-total small{display:block;font-size:.66rem;color:var(--txt-3);text-transform:uppercase;letter-spacing:.05em}
.dia-total strong{display:block;font-family:var(--display);font-size:1.55rem;font-weight:400;line-height:1.15;margin:2px 0}
.dia-total.hoje strong{color:var(--gold)}
.dia-total span{display:block;font-size:.73rem;color:var(--txt-2);font-variant-numeric:tabular-nums}
.dia-total em{display:block;font-style:normal;font-size:.64rem;margin-top:3px}
.dia-total em.ok{color:var(--green)}
.dia-total em.bad{color:var(--red)}
@media (max-width:860px){
  .dia-totais{grid-template-columns:repeat(4,1fr)}
}

/* ---------------------------------------------------------------------
 * Faixa do ambiente de teste
 *
 * Fixa no topo e impossível de confundir com o sistema real. Quem abre
 * as duas abas lado a lado precisa distinguir de relance qual é qual.
 * ------------------------------------------------------------------- */
#faixaTeste {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 9999;
  background: repeating-linear-gradient(
    135deg, #7a2e12, #7a2e12 14px, #8f3a19 14px, #8f3a19 28px
  );
  color: #ffe9dd;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-align: center;
  padding: 5px 12px;
  border-bottom: 1px solid #b0491f;
  pointer-events: none;
}

body.com-faixa-teste { padding-top: 26px; }
