/* ============ RESET & BASE ============ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#09090b;--s:#111114;--s2:#18181b;--b:#27272a;--bl:#3f3f46;
  --a:#d4a647;--ad:rgba(212,166,71,.10);--at:#09090b;
  --t:#fafafa;--m:#a1a1aa;--d:#52525b;
  --r:#ef4444;--rd:rgba(239,68,68,.12);
  --g:#22c55e;--gd:rgba(34,197,94,.12);
  --blue:#3b82f6;--blued:rgba(59,130,246,.12);
  --p:#a855f7;--pd:rgba(168,85,247,.12);
  --w:#f59e0b;--wd:rgba(245,158,11,.12);
  --orange:#f97316;--oranged:rgba(249,115,22,.12);
  --font:'DM Sans',system-ui,sans-serif;
  --mono:'JetBrains Mono','SF Mono',monospace;
}
html{height:100%}
body{font-family:var(--font);background:var(--bg);color:var(--t);min-height:100%;-webkit-font-smoothing:antialiased}
input,select,button{font-family:var(--font)}

/* ============ LOGIN ============ */
.screen{display:none;min-height:100vh;align-items:center;justify-content:center;padding:20px}
.screen.active{display:flex}
.login-container{width:100%;max-width:380px}
.login-header{text-align:center;margin-bottom:44px}
.login-logo{height:40px;width:auto;margin-bottom:20px}
.logo-fallback{color:var(--a);font-weight:800;font-size:18px;letter-spacing:.1em;margin-bottom:20px}
.login-header h1{color:var(--t);font-size:20px;font-weight:700;letter-spacing:-.02em}
.login-header p{color:var(--m);font-size:13px;margin-top:5px}
.login-hint{text-align:center;color:var(--d);font-size:11px;margin-top:20px;line-height:1.8}

/* ============ CARDS ============ */
.card{background:var(--s);border:1px solid var(--b);border-radius:12px;padding:20px}
.card-dark{background:var(--s2);border-color:var(--bl)}
.card-accent{border-color:var(--a);background:var(--ad)}
.card-orange{border-color:var(--orange);background:var(--oranged)}

/* ============ FORMS ============ */
.form-group{display:flex;flex-direction:column;gap:5px}
.form-group label{font-size:11px;font-weight:600;color:var(--m);text-transform:uppercase;letter-spacing:.07em}
.form-group input,.form-group select,.form-group textarea{
  background:var(--s2);border:1px solid var(--bl);border-radius:8px;
  padding:10px 14px;color:var(--t);font-size:14px;outline:none;
  transition:border-color .15s;width:100%;color-scheme:dark;
  font-family:inherit;
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--a)}
.form-group select{cursor:pointer;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23a1a1aa' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;
}
.form-group input:disabled,.form-group select:disabled{opacity:.4;cursor:not-allowed}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:700px}
.form-separator{grid-column:1/-1;height:1px;background:var(--b);margin:4px 0}
.form-full{grid-column:1/-1}
.form-group-check{display:flex;align-items:flex-end;padding-bottom:6px}
.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:var(--t)}
.checkbox{width:20px;height:20px;border-radius:6px;border:2px solid var(--bl);display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}
.checkbox.checked{border-color:var(--a);background:var(--a)}
.checkbox.checked::after{content:'✓';color:var(--at);font-size:12px;font-weight:700}

/* ============ BUTTONS ============ */
.btn{font-weight:600;border-radius:8px;cursor:pointer;transition:all .15s;letter-spacing:.02em;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;border:none;font-size:13px;padding:10px 18px}
.btn:disabled{opacity:.4;cursor:not-allowed}
.btn-primary{background:var(--a);color:var(--at)}
.btn-primary:hover:not(:disabled){background:#c4952f}
.btn-secondary{background:transparent;color:var(--t);border:1px solid var(--b)}
.btn-secondary:hover{border-color:var(--bl);background:var(--s2)}
/* Variante: secondary com hover dourado (igual btn-primary, mas default cinza) */
.btn-secondary.btn-hover-gold:hover{background:var(--a);color:var(--at);border-color:var(--a)}
.btn-ghost{background:transparent;color:var(--m);border:none}
.btn-ghost:hover{color:var(--t)}
.btn-danger{background:var(--r);color:#fff}
.btn-dg{background:var(--rd);color:var(--r)}
.btn-dg:hover{background:rgba(239,68,68,.2)}
.btn-success{background:var(--g);color:#fff;font-weight:600}
.btn-success:hover:not(:disabled){background:#16a34a}
.btn-warning{background:#f59e0b;color:#fff;font-weight:600}
.btn-warning:hover:not(:disabled){background:#d97706}
.btn-back{background:var(--a);color:var(--at);font-weight:700;font-size:14px;padding:10px 22px;border-radius:10px}
.btn-back:hover{background:#c4952f}
.btn-sm{padding:6px 12px;font-size:12px}
.btn-lg{padding:14px 28px;font-size:15px}
.btn-full{width:100%;justify-content:center}

/* ============ BADGES ============ */
.badge{padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.03em;display:inline-block}
.badge-accent{background:var(--ad);color:var(--a)}
.badge-danger{background:var(--rd);color:var(--r)}
.badge-success{background:var(--gd);color:var(--g)}
.badge-blue{background:var(--blued);color:var(--blue)}
.badge-purple{background:var(--pd);color:var(--p)}
.badge-warn{background:var(--wd);color:var(--w)}
.badge-orange{background:var(--oranged);color:var(--orange)}

/* ============ ALERTS ============ */
.alert{padding:14px;border-radius:10px;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;margin-top:16px}
.alert-danger{background:var(--rd);color:var(--r);border:1px solid var(--r)}
.alert-orange{background:var(--oranged);color:var(--orange);border:1px solid var(--orange)}

/* ============ ERROR ============ */
.error-msg{background:var(--rd);color:var(--r);padding:10px 14px;border-radius:8px;font-size:13px}

/* ============ APP LAYOUT ============ */
.app-container{display:flex;height:100vh;overflow:hidden}

/* ============ SIDEBAR ============ */
.sidebar{width:220px;background:var(--s);border-right:1px solid var(--b);display:flex;flex-direction:column;height:100vh;flex-shrink:0;position:sticky;top:0;overflow:visible;z-index:100}
.sidebar-logo{padding:16px 16px 14px;border-bottom:1px solid var(--b)}
.sidebar-logo-img{height:28px;width:auto}
.logo-fallback-sm{color:var(--a);font-weight:800;font-size:14px;letter-spacing:.1em}
.sidebar-nav{padding:10px 8px;flex:1;overflow:visible}
.nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;cursor:pointer;margin-bottom:4px;color:var(--m);font-size:15px;font-weight:500;transition:all .12s;position:relative}
.nav-item:hover{color:var(--t);background:var(--s2)}
.nav-item.active{background:var(--ad);color:var(--a)}
.nav-item .nav-ico{font-size:18px}
.nav-badge{background:var(--r);color:#fff;border-radius:12px;padding:2px 8px;font-size:11px;font-weight:700;margin-left:auto;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.6}}
.sidebar-user{display:flex;align-items:center;gap:10px;padding:8px 22px;border-top:1px solid var(--b);padding-top:14px}
.user-avatar{width:28px;height:28px;border-radius:8px;background:var(--b);display:flex;align-items:center;justify-content:center;color:var(--m);font-size:12px;font-weight:700}
.user-name{color:var(--t);font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.user-role-label{color:var(--d);font-size:10px}
.sidebar-logout{display:flex;align-items:center;gap:10px;padding:8px 22px 14px;cursor:pointer;color:var(--d);font-size:12px;transition:color .12s}
.sidebar-logout:hover{color:var(--r)}

/* ============ MOBILE ============ */
.mobile-header{display:none;position:fixed;top:0;left:0;right:0;z-index:900;background:var(--s);border-bottom:1px solid var(--b);align-items:center;justify-content:space-between;padding:10px 16px}
.mobile-logo{height:24px;width:auto}
.logo-fallback-xs{color:var(--a);font-weight:800;font-size:12px;letter-spacing:.1em}
.mobile-header-right{display:flex;align-items:center;gap:12px}
.mobile-bell{position:relative;cursor:pointer;font-size:18px}
.bell-count{position:absolute;top:-6px;right:-8px;background:var(--r);color:#fff;border-radius:10px;padding:1px 5px;font-size:10px;font-weight:700}
.hamburger{cursor:pointer;font-size:22px;color:var(--t);padding:4px 8px}
.mobile-menu{display:none;position:fixed;top:50px;left:0;right:0;bottom:0;z-index:899;background:var(--bg);padding:16px;overflow-y:auto}
.mobile-user-card{margin-bottom:16px;padding:12px 16px;background:var(--s);border-radius:10px;display:flex;align-items:center;gap:10px}
.mobile-user-card .user-name{font-size:14px}
.mobile-logout{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:10px;margin-top:12px;cursor:pointer;color:var(--r);font-size:15px}

/* ============ TOPBAR (layout alternativo — telemarketing) ============ */
.topbar{display:none}
.layout-topbar #app{flex-direction:column}
.layout-topbar .sidebar{display:none}
.layout-topbar .mobile-header{display:none!important}
.layout-topbar .topbar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:10px 22px;background:var(--s);border-bottom:1px solid var(--b);flex-shrink:0;z-index:100}
.topbar-logo{cursor:pointer;display:flex;align-items:center}
.topbar-logo-img{height:26px;width:auto}
.topbar-nav{display:flex;align-items:center;gap:6px;flex:1;min-width:0;flex-wrap:wrap}
.topbar-item{display:flex;align-items:center;gap:8px;padding:9px 16px;border-radius:8px;cursor:pointer;color:var(--m);font-size:15px;font-weight:500;transition:all .12s}
.topbar-item:hover{color:var(--t);background:var(--s2)}
.topbar-item.active{background:var(--ad);color:var(--a)}
.topbar-item .nav-ico{font-size:18px}
.topbar-right{display:flex;align-items:center;gap:16px;margin-left:auto}
.topbar-user{display:flex;flex-direction:column;line-height:1.2;text-align:right}
.topbar-name{color:var(--t);font-size:13px;font-weight:600}
.topbar-role{color:var(--d);font-size:10px}
.topbar-logout{cursor:pointer;color:var(--d);font-size:13px;font-weight:600;padding:8px 14px;border:1px solid var(--b);border-radius:8px;transition:all .12s}
.topbar-logout:hover{color:var(--r);border-color:var(--r)}
.layout-topbar .main-content{max-height:none;flex:1;padding-top:24px}

/* ============ MAIN CONTENT ============ */
.main-content{flex:1;padding:28px;overflow-y:auto;max-height:100vh}
.view{display:none}
.view.active-view{display:block}
.view-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:10px}
.view-header h2{color:var(--t);font-size:20px;font-weight:700}
.view-header-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.header-with-back{display:flex;align-items:center;gap:12px;flex-wrap:wrap}

/* ============ TABS ============ */
.tabs-container{display:flex;gap:2px;background:var(--s2);border-radius:10px;padding:3px}
.tab{padding:8px 16px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;color:var(--m);transition:all .15s}
.tab.active{background:var(--b);color:var(--t)}
.tab:hover:not(.active){color:var(--t)}

/* ============ CALENDAR GRID ============ */
.cal-grid{display:grid;gap:1px}
.cal-grid-6{grid-template-columns:repeat(6,1fr)}
.cal-grid-7{grid-template-columns:repeat(7,1fr)}
.cal-header{padding:8px 4px;text-align:center;font-size:11px;font-weight:600;color:var(--m);text-transform:uppercase;letter-spacing:.06em}
.cal-header.sat{color:var(--w)}
.cal-header.sun{color:var(--w)}
.cal-day{min-height:80px;padding:6px 8px;border:1px solid var(--b);border-radius:8px;cursor:pointer;transition:all .15s}
.cal-day:hover{background:var(--s2)}
.cal-day.today{border-color:var(--a);background:var(--ad)}
.cal-day.today:hover{background:rgba(212,166,71,.16)}
.cal-day.saturday{background:rgba(245,158,11,.04)}
.cal-day.sunday{background:rgba(245,158,11,.04)}
.cal-day.sunday .cal-day-num{color:var(--w)}
.cal-day.other-month{opacity:.25;cursor:default}
.cal-day-num{font-size:13px;font-weight:500;color:var(--t)}
.cal-day.today .cal-day-num{font-weight:700;color:var(--a)}
.cal-day.saturday .cal-day-num{color:var(--w)}
.cal-day-tours{margin-top:2px}
.cal-tour-pill{font-size:10px;border-radius:4px;padding:2px 6px;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-tour-pill.agendado{color:var(--a);background:var(--ad)}
.cal-tour-pill.pendente{color:var(--orange);background:var(--oranged)}
.cal-dots{display:flex;gap:2px;flex-wrap:wrap;margin-top:2px}
.cal-dot{width:6px;height:6px;border-radius:3px}
.cal-dot.agendado{background:var(--a)}
.cal-dot.pendente{background:var(--orange)}

/* ============ WEEK GRID ============ */
.week-grid{display:grid;min-width:800px;overflow-x:auto}
.week-grid-7{grid-template-columns:60px repeat(7,1fr)}
.week-header{padding:8px 10px;border-bottom:1px solid var(--b);border-left:1px solid var(--b);text-align:center}
.week-header .day-name{font-size:11px;font-weight:600;color:var(--m);text-transform:uppercase;letter-spacing:.06em}
.week-header.sat .day-name{color:var(--w)}
.week-header.sun .day-name{color:var(--w)}
.week-header .day-num{font-size:17px;font-weight:700;margin-top:2px;color:var(--t)}
.week-header.today .day-num{color:var(--a)}
.week-time{padding:10px 4px;border-bottom:1px solid var(--b);color:var(--m);font-size:11px;font-weight:500;font-family:var(--mono);text-align:right}
.week-cell{padding:3px;border-bottom:1px solid var(--b);border-left:1px solid var(--b);min-height:48px}
.week-cell.blocked{background:var(--rd)}
.week-cell.sat{background:rgba(245,158,11,.03)}
.week-cell.sun{background:rgba(245,158,11,.03)}
.week-tour{border-radius:6px;padding:4px 7px;overflow:hidden;cursor:pointer;transition:background .12s}
.week-tour.agendado{background:var(--ad);border-left:3px solid var(--a)}
.week-tour.pendente{background:var(--oranged);border-left:3px solid var(--orange)}
.week-tour:hover{filter:brightness(1.15)}
.week-tour-name{font-size:10px;font-weight:700;font-family:var(--font)}
.week-tour-name.agendado{color:var(--a)}
.week-tour-name.pendente{color:var(--orange)}
.week-tour-info{font-size:9px;color:var(--m);margin-top:1px}

/* ============ DAY DETAIL ============ */
.day-slot{display:flex;gap:12px;margin-bottom:2px}
.day-time{width:50px;flex-shrink:0;text-align:right;padding-top:14px;color:var(--m);font-size:12px;font-family:var(--mono)}
.day-slot-content{flex:1;min-height:52px;border-top:1px solid var(--b);padding:6px 0}
.day-slot-content.blocked{background:var(--rd);border-radius:6px}
.day-tour-card{border-radius:8px;padding:12px 16px;margin-bottom:6px;cursor:pointer;transition:all .15s}
.day-tour-card.agendado{background:var(--ad);border-left:3px solid var(--a)}
.day-tour-card.pendente{background:var(--oranged);border-left:3px solid var(--orange)}
.day-tour-card:hover{filter:brightness(1.15)}

/* ============ DURATION CARD ============ */
.duration-card{padding:16px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.duration-label{font-size:11px;font-weight:600;color:var(--m);text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px}
.duration-value{font-size:24px;font-weight:700;color:var(--a);display:flex;align-items:center;gap:8px}
.duration-hint{font-size:11px;color:var(--d);margin-top:4px}
.duration-buttons{display:flex;gap:6px}
.dur-btn{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;font-weight:700;transition:all .15s;border:2px solid var(--b);background:transparent;color:var(--m)}
.dur-btn.active{border-color:var(--a);background:var(--ad);color:var(--a)}
.dur-btn:hover:not(.active){border-color:var(--bl)}

/* ============ RESUMO ============ */
.resumo-content{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;flex-direction:row-reverse}
.resumo-label{font-size:12px;font-weight:700;color:var(--a)}
.resumo-text{color:var(--t);font-size:13px;margin-top:4px;line-height:1.7}
.card-orange .resumo-label{color:var(--orange)}

/* ============ ACTION BUTTONS ============ */
.action-buttons{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}

/* ============ PENDING CARDS ============ */
.pending-card{margin-bottom:12px;border:2px solid var(--orange);border-radius:12px;background:var(--s);padding:20px}
.pending-badges{display:flex;gap:8px;margin-bottom:12px}
.pending-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pending-field label{font-size:11px;color:var(--m)}
.pending-field div{color:var(--t);font-size:14px;margin-top:3px}
.pending-field div.bold{font-weight:600}
.pending-actions{display:flex;gap:10px;margin-top:16px}
.pending-actions .btn{flex:1;justify-content:center;font-size:14px;padding:12px 20px}

/* ============ LIST ITEMS ============ */
.list-item{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--b);flex-wrap:wrap;gap:8px}
.list-item:last-child{border-bottom:none}
.list-item.inactive{opacity:.5}
.list-item-left{display:flex;align-items:center;gap:12px}
.list-avatar{width:32px;height:32px;border-radius:8px;background:var(--b);display:flex;align-items:center;justify-content:center;color:var(--m);font-size:13px;font-weight:700;flex-shrink:0}
.list-item-name{color:var(--t);font-size:13px;font-weight:600}
.list-item-sub{color:var(--d);font-size:11px;font-family:var(--mono)}
.list-item-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}

/* ============ BLOQUEIOS ============ */
.bloqueio-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:end}
.form-group input[type="date"]{min-width:0}
.bloq-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--b)}
.bloq-item:last-child{border-bottom:none}

/* ============ PROF FORM ============ */
.prof-form{display:flex;gap:12px;align-items:end}

/* ============ MODAL ============ */
.modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.6);padding:16px}
.modal{background:var(--s);border:1px solid var(--b);border-radius:16px;width:100%;max-width:480px;max-height:90vh;overflow:auto;padding:24px}
.modal-sm{max-width:380px}
.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.modal-header h3{color:var(--t);font-size:16px;font-weight:700}
.modal-close{cursor:pointer;color:var(--m);font-size:18px;padding:4px}
.modal-close:hover{color:var(--t)}
.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}

/* ============ UTILITIES ============ */
.text-muted{color:var(--m);font-size:13px}
.text-dim{color:var(--d);font-size:11px}
.text-center{text-align:center}
.mt-4{margin-top:16px}
.mb-4{margin-bottom:16px}
.gap-14{display:flex;flex-direction:column;gap:14px}

/* ============ EMPTY STATE ============ */
.empty-state{text-align:center;padding:48px 20px}
.empty-state .emoji{font-size:32px;margin-bottom:12px}
.empty-state .title{color:var(--t);font-size:16px;font-weight:600;margin-bottom:4px}
.empty-state .subtitle{color:var(--m);font-size:13px}

/* ============ VT TABLE ============ */
.vt-table{display:flex;flex-direction:column}
.vt-row{display:grid;grid-template-columns:80px 100px 1fr 50px;gap:0;padding:10px 16px;border-bottom:1px solid var(--b);align-items:center;font-size:13px;color:var(--t)}
.vt-row:last-child{border-bottom:none}
.vt-header{font-size:11px;font-weight:600;color:var(--m);text-transform:uppercase;letter-spacing:.06em;background:var(--s2)}
.vt-total{background:var(--s2)}
.vt-cell-grow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vt-cell-acao{text-align:right}

/* ============ CONTROLE TABLE ============ */
.ct-row{display:grid;grid-template-columns:80px 55px 100px 1fr 100px 30px 60px;gap:0;padding:10px 16px;border-bottom:1px solid var(--b);align-items:center;font-size:13px;color:var(--t)}
.ct-row:last-child{border-bottom:none}
.ct-header{font-size:11px;font-weight:600;color:var(--m);text-transform:uppercase;letter-spacing:.06em;background:var(--s2)}
.ct-sem-tab.active{border-color:var(--a);color:var(--a);background:var(--ad)}

/* ============ RESPONSIVE ============ */
@media(max-width:767px){
  .sidebar{display:none}
  .mobile-header{display:flex}
  .main-content{padding:64px 16px 16px}
  .view-header h2{font-size:18px}
  .form-grid{grid-template-columns:1fr}
  .form-separator{grid-column:1}
  .form-full{grid-column:1}
  .bloqueio-form{grid-template-columns:1fr 1fr}
  .bloqueio-form .btn{width:100%;justify-content:center}
  .pending-grid{grid-template-columns:1fr}
  .cal-day{min-height:50px;padding:4px}
  .cal-day-num{font-size:12px}
  .cal-tour-pill{display:none}
  .action-buttons .btn{flex:1}
  .view-header-actions{width:100%;justify-content:flex-end}
  /* Header da agenda no mobile: counters vira linha inteira, com gap maior pra respirar */
  #agenda-counters{width:100%;margin:8px 0 0;gap:8px}
  .agenda-counters-line{gap:5px}
  .agenda-counters-line:not(:last-child){padding-bottom:8px}
  .bairros-line-agenda{gap:5px}
  .bairro-pill-agenda{font-size:11px;padding:3px 8px}

  /* === LUXURY/STEALTH/IMÓVEIS mobile === */
  body{overflow-x:hidden}
  .main-content{overflow-x:hidden;padding:64px 12px 16px;box-sizing:border-box;max-width:100vw}
  /* Containers das listas — força largura exata da viewport menos padding */
  #imoveis-list,#stealth-list{width:100%;max-width:100%;box-sizing:border-box}
  /* Grid + cards forçam border-box + min-width 0 */
  .luxury-grid{grid-template-columns:1fr !important;gap:10px;width:100%;max-width:100%;box-sizing:border-box}
  .luxury-card{max-width:100%;min-width:0;width:100%;box-sizing:border-box}
  .luxury-card-thumb,.luxury-card-body{width:100%;max-width:100%;box-sizing:border-box}
  .luxury-card-body{padding:12px 14px;gap:4px;overflow:hidden}
  .luxury-card-body > *{min-width:0;max-width:100%}
  .luxury-card-meta,.luxury-card-title,.luxury-card-end,.luxury-card-info,.luxury-card-corretor{white-space:normal;word-break:break-word;overflow-wrap:anywhere}
  .luxury-card-thumb{aspect-ratio:16/9;max-height:200px}
  .luxury-card-thumb img{width:100%;height:100%;object-fit:cover;display:block}
  .luxury-card-rodape{max-width:100%;box-sizing:border-box}
  .luxury-card-title{font-size:14px}
  .luxury-card-preco{font-size:15px}
  .luxury-card-rodape{flex-direction:column;align-items:stretch;gap:8px}
  .luxury-card-corretor{flex:none;min-width:0}
  .luxury-card-acoes{width:100%;justify-content:stretch}
  .luxury-acao{flex:1;text-align:center}
  /* Headers das views Stealth/Imóveis: filtros empilham e ocupam largura toda */
  #view-stealth .view-header-actions,
  #view-imoveis-luxury .view-header-actions{
    flex-direction:column;align-items:stretch;gap:8px;width:100%
  }
  #view-stealth .view-header-actions input,
  #view-stealth .view-header-actions select,
  #view-imoveis-luxury .view-header-actions input,
  #view-imoveis-luxury .view-header-actions select{
    width:100%;min-width:0
  }
  /* Linha 2 de filtros do Imóveis */
  .imoveis-filtros-row2{flex-direction:column;align-items:stretch !important}
  .imoveis-filtros-row2 select,
  .imoveis-filtros-row2 button{width:100%}
  .week-grid{overflow-x:auto}
  .vt-row{grid-template-columns:60px 80px 1fr 40px;font-size:12px;padding:8px 12px}
  .ct-row{grid-template-columns:60px 45px 80px 1fr 40px;font-size:12px;padding:8px 12px}
  .ct-row .ct-hide-mobile{display:none}
}

/* ============ DASHBOARD ============ */
.dash-loading{padding:60px;text-align:center;color:var(--m);font-size:14px}
#dashboard-content{max-width:1180px;margin:0 auto}

.card-mes{background:#1f1f24;border:1px solid var(--bl);border-radius:16px;padding:28px 32px;margin-bottom:20px}
.card-mes-header{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:24px}
.card-mes-title{font-size:11px;font-weight:700;color:var(--m);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:6px}
.card-mes-h1{font-size:32px;font-weight:800;color:var(--t);line-height:1.1;margin:0}
.card-mes-sub{font-size:14px;color:var(--m);margin-top:4px}
.card-mes-total-box{text-align:right}
.card-mes-total-label{font-size:11px;font-weight:700;color:var(--m);text-transform:uppercase;letter-spacing:1.5px}
.card-mes-total-num{font-size:48px;font-weight:800;color:var(--a);line-height:1;font-family:'JetBrains Mono',monospace}
.corretores-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
.corretor-pill{background:var(--s2);border:1px solid var(--b);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.corretor-pill.destaque{background:rgba(212,175,55,.08);border-color:rgba(212,175,55,.4)}
.corretor-nome{font-size:13px;color:var(--m);font-weight:500}
.corretor-pill.destaque .corretor-nome{color:var(--a)}
.corretor-qtd{font-size:22px;font-weight:700;color:var(--a);font-family:'JetBrains Mono',monospace}

/* Bairros captados no mês — DASHBOARD (mini cards verticais, dentro do .card-mes) */
.bairros-section{margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08)}
.bairros-label{font-size:10px;color:var(--m);letter-spacing:2px;margin-bottom:10px;text-transform:uppercase;font-weight:700}
.bairros-grid{display:flex;flex-wrap:wrap;gap:10px}
.bairro-card{background:var(--s2);border:1px solid var(--b);border-radius:10px;padding:10px 16px;min-width:100px;text-align:center}
.bairro-nome{color:var(--m);font-size:12px;margin-bottom:2px}
.bairro-qtd{color:var(--a);font-size:18px;font-weight:700;font-family:'JetBrains Mono',monospace}

/* Bairros captados — AGENDA (pills planos inline, linha 2 do header, sem label) */
.bairros-line-agenda{display:flex;flex-wrap:wrap;gap:6px}
.bairro-pill-agenda{font-size:12px;background:rgba(212,175,55,.08);border:1px solid rgba(212,175,55,.25);border-radius:6px;padding:4px 9px;display:inline-flex;gap:5px;align-items:center}
.bairro-pill-agenda b{color:var(--t);font-weight:600}
.bairro-pill-agenda span{color:var(--a);font-weight:700;font-family:'JetBrains Mono',monospace}

/* === LUXURY CARDS (compartilhado entre Stealth e Imóveis disponíveis) === */
.luxury-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(460px,1fr))}
.luxury-card{
  background:var(--s);
  border:1px solid var(--bl);
  border-radius:12px;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  transition:transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.luxury-card:hover{
  transform:translateY(-2px);
  border-color:rgba(212,175,55,.5);
  box-shadow:0 4px 12px rgba(0,0,0,.25);
}
.luxury-card-thumb{
  width:100%;
  aspect-ratio:16/9;
  background:#0a0a0a;
  overflow:hidden;
  position:relative;
}
.luxury-card-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.luxury-card-body{
  padding:14px 16px;
  display:flex;
  flex-direction:column;
  gap:5px;
}
.luxury-card-meta{font-size:11px;color:var(--m);letter-spacing:.5px;text-transform:uppercase;word-break:break-word;overflow-wrap:break-word}
.luxury-card-title{font-weight:600;font-size:15px;color:var(--t);line-height:1.3;word-break:break-word;overflow-wrap:break-word}
.luxury-card-end{font-size:12px;color:var(--m);word-break:break-word;overflow-wrap:break-word}
.luxury-card-info{font-size:12px;color:var(--m);word-break:break-word;overflow-wrap:break-word}
.luxury-card-preco{font-size:16px;font-weight:700;color:var(--a);margin-top:4px}
.luxury-card-rodape{
  display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;
  margin-top:6px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)
}
.luxury-card-corretor{font-size:11px;color:var(--m);flex:1;min-width:140px}
.luxury-card-acoes{display:flex;gap:6px;flex-wrap:wrap}
.luxury-acao{
  font-size:11px;
  color:var(--m);
  text-decoration:none;
  padding:4px 10px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:6px;
  transition:background .15s, color .15s, border-color .15s;
  white-space:nowrap;
}
.luxury-acao:hover{background:var(--a);color:var(--bg);border-color:var(--a)}

/* Container do header da agenda — cola perto do título, sem flex:1 (que esticava pro meio). */
#agenda-counters{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:0 12px}
.agenda-counters-line{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
/* Quando tem linha de bairros depois, separa visualmente com um traço dourado fraco */
.agenda-counters-line:not(:last-child){padding-bottom:6px;border-bottom:1px solid rgba(212,175,55,.18);width:100%}

/* Card Campeão do mês — gamificação */
.card-campeao{
  background:linear-gradient(135deg,rgba(212,175,55,.22),rgba(212,175,55,.04));
  border:1px solid rgba(212,175,55,.45);
  border-radius:16px;
  padding:24px 28px;
  margin-bottom:20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
  box-shadow:0 4px 20px rgba(212,175,55,.08);
}
.card-campeao .champ-left{display:flex;align-items:center;gap:18px;flex:1;min-width:260px}
.card-campeao .champ-crown{
  font-size:48px;
  line-height:1;
  filter:drop-shadow(0 2px 8px rgba(212,175,55,.5));
  flex-shrink:0;
}
.card-campeao .champ-title{
  font-size:11px;
  font-weight:700;
  color:var(--a);
  text-transform:uppercase;
  letter-spacing:1.5px;
  margin-bottom:4px;
}
.card-campeao .champ-name{
  font-size:22px;
  font-weight:800;
  color:var(--t);
  margin-bottom:6px;
  line-height:1.2;
}
.card-campeao .champ-msg{
  font-size:13px;
  color:var(--m);
  line-height:1.5;
}
.card-campeao .champ-msg strong{color:var(--a);font-weight:700}
.card-campeao .champ-right{
  text-align:center;
  padding-left:20px;
  border-left:1px solid rgba(212,175,55,.25);
}
.card-campeao .champ-num{
  font-size:56px;
  font-weight:800;
  color:var(--a);
  line-height:1;
  font-family:'JetBrains Mono',monospace;
}
.card-campeao .champ-num-meta{
  font-size:22px;
  color:var(--m);
  font-weight:600;
}
/* Variação "meta" — quando ninguém atingiu (sem coroa ainda) */
.card-campeao.meta{
  background:linear-gradient(135deg,rgba(212,175,55,.12),rgba(212,175,55,.02));
  border-color:rgba(212,175,55,.25);
  box-shadow:0 4px 12px rgba(0,0,0,.2);
}
.card-campeao.meta .champ-title{color:var(--m)}
.card-campeao.meta .champ-num{color:var(--t)}
.card-campeao.meta .champ-num-meta{color:var(--a)}
/* Variação "coroado" — quando atingiu a meta */
.card-campeao.coroado{
  background:linear-gradient(135deg,rgba(212,175,55,.28),rgba(212,175,55,.08));
  border-color:rgba(212,175,55,.6);
  box-shadow:0 6px 30px rgba(212,175,55,.12);
}
.card-campeao.coroado .champ-crown{animation:crownGlow 2.5s ease-in-out infinite}
@keyframes crownGlow{
  0%,100%{filter:drop-shadow(0 2px 8px rgba(212,175,55,.5))}
  50%{filter:drop-shadow(0 2px 16px rgba(212,175,55,.9))}
}
.card-campeao .champ-num-label{
  font-size:11px;
  font-weight:700;
  color:var(--a);
  text-transform:uppercase;
  letter-spacing:1.5px;
  margin-top:6px;
  opacity:.8;
}
@media (max-width:768px){
  .card-campeao{padding:20px 18px}
  .card-campeao .champ-crown{font-size:36px}
  .card-campeao .champ-name{font-size:18px}
  .card-campeao .champ-num{font-size:42px}
  .card-campeao .champ-right{padding-left:0;border-left:0;border-top:1px solid rgba(212,175,55,.25);padding-top:14px;width:100%}
}

.card-comp{background:#1f1f24;border:1px solid var(--bl);border-radius:16px;padding:28px 32px;margin-bottom:20px}
.card-comp-title{font-size:11px;font-weight:700;color:var(--m);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:8px}
.card-comp-subtitle{font-size:18px;font-weight:700;color:var(--t);margin-bottom:20px}
.comp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
/* Comparativo em formato tabela */
.comp-tabela{width:100%;border-collapse:collapse;font-size:14px}
.comp-tabela th{
  text-align:left;font-size:11px;font-weight:700;color:var(--m);
  text-transform:uppercase;letter-spacing:.6px;
  padding:10px 14px;border-bottom:1px solid var(--bl);
}
.comp-tabela th.th-num{text-align:right}
.comp-tabela td{padding:12px 14px;border-bottom:1px solid var(--b)}
.comp-tabela tr:last-child td{border-bottom:none}
.comp-tabela tr.destaque td{background:rgba(212,175,55,.06)}
.comp-tabela tr.destaque td:first-child{border-left:3px solid var(--a)}
.comp-tabela tr:hover td{background:var(--s2)}
.comp-td-nome{font-weight:600;color:var(--t)}
.comp-td-voce{font-size:11px;color:var(--a);font-weight:600;margin-left:4px}
.comp-td-num{text-align:right;font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--t)}
.comp-td-anterior{color:var(--m);font-weight:500}
.comp-td-delta{text-align:right}
@media(max-width:600px){
  .comp-tabela th,.comp-tabela td{padding:8px 10px;font-size:12px}
}
.comp-row{background:var(--s2);border:1px solid var(--b);border-radius:10px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.comp-nome{font-size:14px;font-weight:600}
.comp-valores{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.comp-atual{font-size:18px;font-weight:700;font-family:'JetBrains Mono',monospace}
.comp-vs{font-size:11px;color:var(--m)}
.comp-vs .anterior{color:var(--d)}
.comp-delta{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:700;margin-top:4px}
.comp-delta.up{background:rgba(34,197,94,.15);color:#22c55e}
.comp-delta.down{background:rgba(239,68,68,.15);color:#ef4444}
.comp-delta.eq{background:rgba(161,161,170,.15);color:var(--m)}

#dashboard-content .section-title{font-size:11px;font-weight:700;color:var(--m);text-transform:uppercase;letter-spacing:1.5px;margin:24px 0 14px}
.actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.action-card{background:#1f1f24;border:1px solid var(--bl);border-radius:14px;padding:22px 20px;cursor:pointer;transition:transform .15s,border-color .15s,background .15s;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:6px}
.action-card:hover{transform:translateY(-3px);border-color:var(--a);background:var(--s2)}
.action-card .ico{font-size:28px;line-height:1;margin-bottom:6px}
.action-card .title{font-size:16px;font-weight:700;color:var(--t)}
.action-card .desc{font-size:12px;color:var(--m);line-height:1.4}
.action-card.primary{background:linear-gradient(135deg,rgba(212,175,55,.15),rgba(212,175,55,.03));border-color:rgba(212,175,55,.4)}
.action-card.primary:hover{border-color:var(--a)}
.actions-grid-small{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.action-card-sm{background:var(--s2);border:1px solid var(--b);border-radius:10px;padding:14px 16px;cursor:pointer;transition:all .12s;text-decoration:none;color:inherit;display:flex;align-items:center;gap:10px}
.action-card-sm:hover{border-color:var(--bl);background:#1f1f24}
.action-card-sm .ico{font-size:18px}
.action-card-sm .title{font-size:13px;font-weight:600;color:var(--t)}

@media (max-width:768px){
  body.dashboard-mode .main-content{padding:18px 14px}
  .card-mes,.card-comp{padding:20px 18px}
  .card-mes-h1{font-size:24px}
  .card-mes-total-num{font-size:36px}
  .card-comp-subtitle{font-size:15px}
}

/* ============ TELA METAS (configuração de níveis) ============ */
.meta-card-cfg{background:var(--s2);border:1px solid var(--bl);border-left:4px solid var(--bl);border-radius:10px;padding:18px 20px;margin-bottom:14px}
.meta-card-cfg.bronze{border-left-color:#cd7f32;background:linear-gradient(90deg,rgba(205,127,50,.06) 0%,var(--s2) 100%)}
.meta-card-cfg.prata{border-left-color:#c0c0c0;background:linear-gradient(90deg,rgba(192,192,192,.05) 0%,var(--s2) 100%)}
.meta-card-cfg.ouro{border-left-color:#ffd700;background:linear-gradient(90deg,rgba(255,215,0,.08) 0%,var(--s2) 100%)}
.meta-cfg-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.meta-cfg-ico{font-size:28px;line-height:1}
.meta-cfg-label{font-size:15px;font-weight:700;color:var(--t)}
.meta-cfg-desc{font-size:11px;color:var(--m);margin-top:2px}
.meta-cfg-row{display:grid;grid-template-columns:140px 1fr;gap:14px}
@media(max-width:600px){.meta-cfg-row{grid-template-columns:1fr}}
.meta-card-cfg input[type="number"]{font-size:18px;font-weight:700;padding:10px 12px}

/* ============ COROA DO MÊS (dashboard) ============ */
.card-coroa{
  background:var(--s3);border:1px solid var(--bl);border-radius:14px;
  padding:22px 26px;margin-bottom:20px;
  display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
}
.card-coroa.nivel-bronze{background:linear-gradient(135deg,rgba(205,127,50,.12),rgba(205,127,50,.03));border-color:rgba(205,127,50,.4)}
.card-coroa.nivel-prata{background:linear-gradient(135deg,rgba(192,192,192,.1),rgba(192,192,192,.02));border-color:rgba(192,192,192,.4)}
.card-coroa.nivel-ouro{background:linear-gradient(135deg,rgba(255,215,0,.18),rgba(255,215,0,.04));border-color:rgba(255,215,0,.5);box-shadow:0 0 18px rgba(255,215,0,.12)}
.card-coroa.nivel-ouro .champ-crown{animation:pulse-crown 2s infinite;filter:drop-shadow(0 0 14px rgba(255,215,0,.5))}
@keyframes pulse-crown{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
.card-coroa .champ-left{display:flex;align-items:center;gap:18px;flex:1;min-width:240px}
.card-coroa .champ-crown{font-size:42px;line-height:1}
.card-coroa .champ-title{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--m);font-weight:700;margin-bottom:4px}
.card-coroa .champ-name{font-size:18px;font-weight:700;color:var(--t)}
.card-coroa .champ-msg{font-size:13px;color:var(--m);margin-top:4px;line-height:1.5}
.card-coroa .champ-msg strong{color:var(--a)}
.card-coroa .champ-right{text-align:right;padding-left:18px;border-left:1px solid var(--bl)}
.card-coroa .champ-num{font-size:32px;font-weight:800;color:var(--a);font-family:'JetBrains Mono',monospace;line-height:1}
.card-coroa .champ-num-meta{font-size:18px;color:var(--m);font-weight:500}
.card-coroa .champ-num-label{font-size:10px;text-transform:uppercase;color:var(--m);letter-spacing:1px;margin-top:4px}

/* Ranking top 3 (dentro do card coroa) */
.ranking-top3{margin-top:16px;padding-top:14px;border-top:1px solid var(--bl)}
.ranking-title{font-size:10px;font-weight:700;color:var(--m);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}
.rank-item{display:grid;grid-template-columns:30px 1fr 60px;gap:10px;align-items:center;padding:6px 10px;border-radius:6px;font-size:13px}
.rank-item.destaque{background:rgba(212,175,55,.08)}
.rank-pos{font-weight:700;color:var(--m);font-family:'JetBrains Mono',monospace}
.rank-item.destaque .rank-pos{color:var(--a)}
.rank-nome{font-weight:600;color:var(--t)}
.rank-voce{font-size:11px;color:var(--a);font-weight:600}
.rank-qtd{text-align:right;font-weight:700;color:var(--a);font-family:'JetBrains Mono',monospace}

/* Barra de progresso (corretor) */
.progress-wrap{margin-top:8px}
.progress-bar{height:14px;background:var(--s2);border-radius:8px;overflow:hidden;position:relative;border:1px solid var(--b)}
.progress-fill{height:100%;background:linear-gradient(90deg,#cd7f32 0%, #cd7f32 33%, #c0c0c0 33%, #c0c0c0 66%, #ffd700 66%, #ffd700 100%);transition:width .4s}
.progress-marks{display:flex;justify-content:space-between;font-size:10px;color:var(--m);margin-top:6px;font-weight:600}

/* Tabela equipe (admin/agenda) */
.champ-equipe{flex-direction:column;align-items:stretch}
.champ-equipe-header{margin-bottom:14px}
.champ-equipe-title{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--a);font-weight:700;margin-bottom:4px}
.champ-equipe-msg{font-size:14px;color:var(--m);line-height:1.4}
.champ-equipe-msg strong{color:var(--a)}
.champ-equipe-tabela{display:flex;flex-direction:column;gap:10px}
/* ===== MOSKIT — Alerta vermelho pro corretor/corretor-mei (home + Trabalho Diário) ===== */
.moskit-alerta{
  background:linear-gradient(135deg,rgba(220,38,38,.20),rgba(220,38,38,.12));
  border:1.5px solid rgba(220,38,38,.55);
  border-radius:14px;padding:22px 24px;margin-bottom:20px;
  position:relative;overflow:hidden
}
.moskit-alerta::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:#ef4444
}
.moskit-alerta-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.moskit-alerta-icon{font-size:28px;line-height:1;filter:drop-shadow(0 0 8px rgba(239,68,68,.4))}
.moskit-alerta-title{color:#fca5a5;font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:.6px}
.moskit-alerta-body{display:flex;flex-direction:column;gap:14px}
.moskit-alerta-bloco{
  background:rgba(0,0,0,.25);border-radius:10px;padding:14px 16px;
  border-left:3px solid #ef4444
}
.moskit-alerta-bloco-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.moskit-alerta-bloco-emoji{font-size:18px}
.moskit-alerta-bloco-titulo{color:#fff;font-weight:700;font-size:15px}
.moskit-alerta-bloco-num{
  color:#ef4444;font-weight:800;font-size:22px;
  font-family:'JetBrains Mono','Consolas',monospace;margin-left:auto
}
.moskit-alerta-bloco-texto{color:var(--t);font-size:14px;line-height:1.5}
.moskit-alerta-bloco-texto strong{color:#fff}
.moskit-alerta-bloco-texto a{
  color:#fca5a5;font-weight:700;text-decoration:underline;
  text-decoration-color:rgba(239,68,68,.6);text-underline-offset:2px;
  transition:color .15s,text-decoration-color .15s
}
.moskit-alerta-bloco-texto a:hover{color:#fff;text-decoration-color:#fff}
.moskit-alerta-cta{margin-top:14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.btn-moskit-primary{
  display:inline-flex;align-items:center;gap:8px;padding:10px 18px;
  border-radius:8px;font-weight:700;font-size:14px;text-decoration:none;
  background:#ef4444;color:#fff;border:none;cursor:pointer;
  transition:background .15s,transform .15s
}
.btn-moskit-primary:hover{background:#dc2626;transform:translateY(-1px)}
.moskit-alerta-updated{font-size:11px;color:var(--m);text-align:right;margin-top:12px;font-style:italic}

/* Mensagem verde "tudo em dia" */
.moskit-ok{
  background:rgba(34,197,94,.08);border:1.5px solid rgba(34,197,94,.4);
  border-radius:14px;padding:16px 22px;margin-bottom:20px;
  display:flex;align-items:center;gap:14px
}
.moskit-ok-icon{font-size:24px}
.moskit-ok-text{color:#86efac;font-size:15px;font-weight:600}
.moskit-ok-text a{color:#86efac;text-decoration:underline}
.moskit-ok-text a:hover{color:#fff}

/* Tabela Moskit (admin view — home + Trabalho Diário) */
.moskit-tipos-inline{font-size:11px;color:var(--m);margin-top:2px;font-style:italic}
.badge-ok{
  display:inline-block;padding:2px 8px;border-radius:6px;
  background:rgba(34,197,94,.15);color:#86efac;
  font-size:11px;font-weight:700
}
.badge-warn{
  display:inline-block;padding:2px 8px;border-radius:6px;
  background:rgba(239,68,68,.18);color:#fca5a5;
  font-size:11px;font-weight:700
}

@media(max-width:768px){
  .moskit-alerta{padding:18px 16px}
  .moskit-alerta-bloco{padding:12px 14px}
  .moskit-alerta-bloco-num{font-size:18px}
  .moskit-alerta-cta{flex-direction:column;align-items:stretch}
  .btn-moskit-primary{justify-content:center}
}
.champ-equipe-row{display:grid;grid-template-columns:200px 1fr 80px;gap:14px;align-items:center;padding:12px 14px;background:var(--s2);border:1px solid var(--b);border-radius:10px}
.champ-equipe-row.destaque{border-color:var(--a);background:rgba(212,175,55,.06)}
.champ-equipe-info{display:flex;flex-direction:column;gap:4px}
.champ-equipe-nome{font-size:13px;font-weight:600;color:var(--t)}
.champ-equipe-num{font-size:18px;font-weight:700;color:var(--a);font-family:'JetBrains Mono',monospace;text-align:right}
.champ-equipe-num-meta{font-size:13px;color:var(--m);font-weight:500}
.champ-tag{display:inline-block;padding:2px 8px;border-radius:5px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;width:fit-content}
.champ-tag.bronze{background:rgba(205,127,50,.2);color:#cd7f32}
.champ-tag.prata{background:rgba(192,192,192,.2);color:#c0c0c0}
.champ-tag.ouro{background:rgba(255,215,0,.2);color:#ffd700}
.champ-tag.zero{background:rgba(82,82,91,.2);color:var(--m)}
.champ-tag.mei{background:rgba(139,92,246,.18);color:#a78bfa}
@media(max-width:768px){
  .champ-equipe-row{grid-template-columns:140px 1fr 70px;gap:10px;padding:10px 12px}
}

/* ============ CAPTAÇÕES + MENU GROUP ============ */
/* Botão "Configurações" — fly-out lateral (estilo WP admin) no desktop,
   expand-abaixo no mobile */
.nav-group{position:relative}
.nav-group .nav-group-trigger{cursor:pointer}
.nav-group .nav-arrow{
  margin-left:auto;
  font-size:11px;
  transition:transform .15s;
  opacity:.6;
}
.nav-group.active .nav-group-trigger{color:var(--a)}
.nav-group.active .nav-group-trigger .nav-ico{opacity:1}

.nav-subitem{
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 14px;
  border-radius:6px;
  cursor:pointer;
  color:var(--m);
  font-size:14px;
  font-weight:500;
  transition:all .12s;
  white-space:nowrap;
}
.nav-subitem:hover{color:var(--t);background:var(--s2)}
.nav-subitem.active{background:var(--ad);color:var(--a)}
.nav-subitem .nav-ico{font-size:15px}

/* Desktop (>= 769px): submenu como fly-out lateral, ao passar mouse */
@media (min-width: 769px) {
  .nav-group .nav-submenu{
    display:flex;
    flex-direction:column;
    gap:2px;
    position:absolute;
    left:100%;
    top:0;
    margin-left:6px;
    padding:8px;
    background:var(--s);
    border:1px solid var(--bl);
    border-radius:10px;
    box-shadow:0 10px 30px rgba(0,0,0,.45), 0 2px 8px rgba(0,0,0,.3);
    min-width:220px;
    z-index:200;
    opacity:0;
    visibility:hidden;
    transform:translateX(-6px);
    transition:opacity .15s, transform .15s, visibility 0s linear .15s;
    pointer-events:none;
  }
  .nav-group::before{
    /* "ponte" invisível pra não perder o hover quando atravessa o gap */
    content:'';
    position:absolute;
    left:100%;
    top:0;
    width:12px;
    height:100%;
    display:none;
  }
  .nav-group:hover::before{display:block}
  .nav-group:hover .nav-submenu{
    opacity:1;
    visibility:visible;
    transform:translateX(0);
    pointer-events:auto;
    transition:opacity .15s, transform .15s, visibility 0s;
  }
  .nav-group:hover .nav-arrow{transform:rotate(-90deg);opacity:1}
}

/* Mobile (<= 768px): submenu expande abaixo (click toggle) */
@media (max-width: 768px) {
  .nav-group .nav-submenu{
    display:none;
    flex-direction:column;
    gap:2px;
    margin:2px 0 6px 12px;
    padding-left:8px;
    border-left:1px solid var(--bl);
  }
  .nav-group.expanded .nav-submenu{display:flex}
  .nav-group.expanded .nav-arrow{transform:rotate(180deg);opacity:1}
}
.captacao-form{display:flex;flex-direction:column;gap:20px;max-width:1100px}
.cap-section{
  background:#1f1f24;        /* mais claro que --s (#111114) — destaca do fundo */
  border:1px solid #3f3f46;
  border-radius:14px;
  padding:22px 24px;
  box-shadow:0 1px 3px rgba(0,0,0,.15);
}
.cap-section h3{
  font-size:14px;
  font-weight:700;
  letter-spacing:.6px;
  text-transform:uppercase;
  color:var(--a);
  margin:0 0 18px;
  padding-bottom:14px;
  border-bottom:1px solid #2d2d33;
}
.cap-section .form-grid{margin-top:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.cap-section .form-full{grid-column:1/-1}
.cap-section input[type="text"],
.cap-section input[type="number"],
.cap-section select,
.cap-section textarea{
  background:#28282e;         /* input bg também mais claro */
  border:1px solid #3f3f46;
  border-radius:8px;
  padding:11px 13px;
  color:var(--t);
  font-size:14px;
  width:100%;
  outline:none;
  transition:border-color .12s, background .12s;
}
.cap-section input:hover,
.cap-section select:hover,
.cap-section textarea:hover{
  background:#2f2f36;
}
.cap-section input:focus,
.cap-section select:focus,
.cap-section textarea:focus{
  border-color:var(--a);
  background:#2f2f36;
}
.cap-section input:disabled,
.cap-section select:disabled,
.cap-section textarea:disabled{
  opacity:.55;
  cursor:not-allowed;
}
.cap-section label{
  font-size:11px;
  font-weight:600;
  letter-spacing:.5px;
  text-transform:uppercase;
  color:#a1a1aa;
  margin-bottom:6px;
  display:block;
}

/* Indicador de progresso do form de captação */
.cap-progress{
  margin-top:18px;
  padding:14px 18px;
  background:#1f1f24;
  border:1px solid #3f3f46;
  border-radius:10px;
  font-size:14px;
  font-weight:500;
  text-align:center;
}
.cap-progress-ok{color:#22c55e}
.cap-progress-warn{color:#f59e0b}

/* Botões do form de captação — sticky no rodapé quando aparecem */
.cap-form-actions{
  display:flex;
  gap:12px;
  margin-top:16px;
  padding:18px 22px;
  background:#1f1f24;
  border:1px solid #3f3f46;
  border-radius:14px;
  position:sticky;
  bottom:16px;
  z-index:50;
  box-shadow:0 8px 24px rgba(0,0,0,.45);
}
@media (max-width:768px){
  .cap-form-actions{
    flex-direction:column;
    bottom:0;
    border-radius:12px 12px 0 0;
    margin-left:-12px;
    margin-right:-12px;
    box-shadow:0 -8px 24px rgba(0,0,0,.45);
  }
  .cap-form-actions .btn{width:100%}
}

/* ============ GARGALO DO FUNIL ============ */
.info-regra{background:var(--s2);border-left:3px solid var(--a);padding:10px 14px;border-radius:6px;font-size:11px;color:var(--m);margin-bottom:16px;line-height:1.5}
.info-regra b{color:var(--t)}

/* Etapas */
.etapa{position:relative}
.etapa-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.etapa-num{width:22px;height:22px;border-radius:50%;background:var(--a);color:var(--at);font-family:var(--mono);font-weight:700;font-size:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.etapa-titulo{font-size:13px;font-weight:700;color:var(--t)}
.etapa-resp{font-size:11px;color:var(--m);font-weight:500}
.seta{text-align:center;color:var(--d);font-size:14px;margin:14px 0;font-family:var(--mono)}

/* Lista por pessoa */
.lista{display:flex;flex-direction:column;gap:4px;margin-left:32px}
.row{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--s2);border-radius:6px;font-size:13px;cursor:pointer;transition:background .12s}
.row:hover{background:var(--b)}
.row .nome{color:var(--t)}
.row .qtd{color:var(--w);font-family:var(--mono);font-weight:700}
.row .qtd.atrasado{color:var(--r)}

/* Linha expandida com sub-itens (atrasados detalhados) */
.row-block{background:var(--s2);border-radius:6px;padding:8px 12px;font-size:13px}
.row-block .row-main{display:flex;align-items:center;justify-content:space-between}
.row-block .sub-itens{margin-top:8px;padding-top:8px;border-top:1px dashed var(--b);display:flex;flex-direction:column;gap:4px}
.sub-item{display:flex;align-items:center;justify-content:space-between;padding:4px 0 4px 18px;font-size:11px;color:var(--m);position:relative;cursor:pointer;transition:color .12s}
.sub-item:hover .end{color:var(--a)}
.sub-item::before{content:"\21B3";position:absolute;left:4px;color:var(--d)}
.sub-item .end{color:var(--t);transition:color .12s}
.sub-item .dias{color:var(--r);font-family:var(--mono);font-weight:700}

/* Etapa paralela — 2 colunas */
.paralelo{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-left:32px}
.paralelo-bloco{background:var(--s2);border-radius:8px;padding:12px}
.paralelo-titulo{font-size:12px;font-weight:700;color:var(--t);margin-bottom:8px;display:flex;align-items:center;gap:6px}
.paralelo-resp{font-size:10px;color:var(--m);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
.paralelo .row{background:var(--bg);padding:6px 10px;font-size:12px}
@media (max-width:600px){.paralelo{grid-template-columns:1fr}}

/* Lista simples (corretor/profissional) */
.imovel{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--s2);border-radius:8px;margin-bottom:6px;cursor:pointer;transition:background .12s,transform .12s}
.imovel:hover{background:var(--b);transform:translateX(2px)}
.imovel:hover .arrow{color:var(--a)}
.imovel-end{font-size:13px;color:var(--t);font-weight:500}
.imovel-meta{font-size:11px;color:var(--m);margin-top:2px}
.imovel-meta .t{color:var(--w);font-family:var(--mono)}
.arrow{color:var(--d);font-size:16px;transition:color .12s}

/* Total no rodapé */
.total{margin-top:14px;padding-top:14px;border-top:1px solid var(--b);font-size:12px;color:var(--m);text-align:center}
.total b{color:var(--t);font-family:var(--mono)}

/* Tag de status na linha */
.tag-status{display:inline-block;padding:3px 9px;border-radius:5px;font-size:10px;font-weight:800;letter-spacing:.05em;font-family:var(--mono);margin-left:8px}
.tag-status.pronto{background:var(--gd);color:var(--g)}
.tag-status.pendente{background:rgba(249,115,22,.15);color:var(--orange)}
.tag-status.atrasado{background:rgba(239,68,68,.18);color:var(--r);border:1px solid rgba(239,68,68,.3);animation:gargalo-pulse 2s infinite}
@keyframes gargalo-pulse{0%,100%{opacity:1}50%{opacity:.6}}
.tempo-atrasado{color:var(--r);font-family:var(--mono);font-size:11px;font-weight:700}
.tempo-aviso{color:var(--w);font-family:var(--mono);font-size:11px}

/* Card de ação (Bruna) */
.card-acao{background:linear-gradient(135deg,var(--ad),var(--s));border:1px solid var(--a);border-radius:14px;padding:24px;margin-bottom:16px}
.acao-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.acao-titulo{font-size:18px;font-weight:700;color:var(--t)}
.acao-sub{font-size:12px;color:var(--m);margin-top:4px}
.acao-num{font-family:var(--mono);font-size:42px;font-weight:800;color:var(--a);line-height:1}
.acao-num-lab{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--m);margin-top:4px;text-align:center}
.acao-imovel{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--s2);border-radius:8px;margin-bottom:6px;cursor:pointer;transition:background .12s,transform .12s}
.acao-imovel:hover{background:var(--b);transform:translateX(2px)}
.acao-imovel:hover .arrow{color:var(--a)}
.acao-end{font-size:13px;color:var(--t);font-weight:600}
.acao-meta{font-size:11px;color:var(--m);margin-top:4px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.check-badge{background:var(--gd);color:var(--g);padding:2px 8px;border-radius:5px;font-weight:700;font-size:10px;font-family:var(--mono)}
.mini-sumario{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.mini-tag{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--m);font-family:var(--mono)}
.mini-tag b{color:var(--t)}

/* Card título / subtítulo (compartilhado pelos cards do gargalo) */
.card .card-title{font-size:15px;font-weight:700;color:var(--t);margin-bottom:4px;display:flex;align-items:center;gap:8px}
.card .card-sub{font-size:12px;color:var(--m);margin-bottom:16px}

/* Filtro de corretor na agenda */
.agenda-corretor-filtro{background:var(--s2);border:1px solid var(--bl);border-radius:8px;padding:6px 12px;color:var(--t);font-size:13px;font-family:var(--font);min-width:140px;cursor:pointer;outline:none}
.agenda-corretor-filtro:focus{border-color:var(--a)}

/* ============ IMPERSONATE ============ */
#impersonate-banner{position:fixed;top:0;left:0;right:0;z-index:9999;background:linear-gradient(90deg,#f59e0b,#fbbf24);color:#1a1a1a;box-shadow:0 4px 12px rgba(0,0,0,.3)}
.imp-banner-content{display:flex;align-items:center;gap:14px;padding:10px 18px;max-width:1400px;margin:0 auto;flex-wrap:wrap}
.imp-banner-ico{font-size:18px}
.imp-banner-text{flex:1;font-size:13px;font-weight:500;color:#1a1a1a}
.imp-banner-text b{color:#000;font-weight:800}
#impersonate-banner .btn{background:#1a1a1a;color:#fbbf24;border:none;font-weight:700;padding:6px 14px;font-size:12px;border-radius:6px;cursor:pointer}
#impersonate-banner .btn:hover{background:#000}
/* Quando impersonando, empurra o app pra baixo pro banner não cobrir conteúdo */
body.body-impersonating{padding-top:46px}
body.body-impersonating .sidebar{top:46px;height:calc(100vh - 46px)}

/* Aviso flutuante no topo quando há pendências abertas pro usuário */
#pendencia-alert{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:990;max-width:calc(100vw - 24px)}
body.body-impersonating #pendencia-alert{top:58px}
.pend-alert-box{display:flex;align-items:center;gap:12px;padding:11px 14px;background:var(--s2);border:1px solid var(--a);border-left:4px solid var(--a);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.45);animation:pendAlertIn .25s ease}
@keyframes pendAlertIn{from{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%,0)}}
.pend-alert-ico{font-size:18px;flex-shrink:0}
.pend-alert-text{font-size:13.5px;color:var(--t);font-weight:500}
.pend-alert-text b{color:var(--a);font-weight:800}
.pend-alert-ver{background:var(--a);color:var(--at);border:none;border-radius:7px;padding:7px 13px;font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap}
.pend-alert-x{background:none;border:none;color:var(--m);font-size:16px;cursor:pointer;padding:2px 6px;line-height:1}
.pend-alert-x:hover{color:var(--t)}
@media (max-width:768px){#pendencia-alert{top:58px}body.body-impersonating #pendencia-alert{top:96px}}

/* Modal de seleção de usuário */
.imp-row{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--s2);border:1px solid var(--bl);border-radius:8px;margin-bottom:6px;cursor:pointer;transition:background .12s,border-color .12s,transform .12s}
.imp-row:hover{background:var(--b);border-color:var(--a);transform:translateX(2px)}
.imp-row:hover .arrow{color:var(--a)}
.imp-avatar{width:32px;height:32px;border-radius:50%;background:var(--a);color:var(--at);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}
.imp-info{flex:1;min-width:0;overflow:hidden}
.imp-nome{font-size:13px;color:var(--t);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.imp-email{font-size:11px;color:var(--m);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}
.imp-role{font-size:10px;color:var(--m);text-transform:uppercase;letter-spacing:.05em;font-family:var(--mono);padding:3px 8px;background:var(--bg);border-radius:5px;border:1px solid var(--b);flex-shrink:0}

/* ============ OFFMKT (Imóveis OFFMARKET / PDF) ============ */
.offmkt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:14px}
.offmkt-card{background:var(--s);border:1px solid var(--b);border-radius:12px;padding:16px;cursor:pointer;transition:border-color .12s,transform .12s}
.offmkt-card:hover{border-color:var(--a);transform:translateY(-2px)}
.offmkt-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.offmkt-codigo{font-family:var(--mono);font-weight:800;font-size:14px;color:var(--a);background:var(--ad);padding:4px 10px;border-radius:6px;letter-spacing:.04em}
.offmkt-card-end{font-size:13px;font-weight:700;color:var(--t);margin-bottom:10px;line-height:1.4}
.offmkt-card-row{display:flex;justify-content:space-between;gap:8px;padding:6px 0;font-size:12px;border-top:1px solid var(--b)}
.offmkt-card-row:first-of-type{border-top:none}
.offmkt-card-row .lbl{color:var(--m);font-weight:500}
.offmkt-card-row .val{color:var(--t);font-weight:600;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%}
.offmkt-card-actions{display:flex;gap:6px;margin-top:12px;padding-top:12px;border-top:1px solid var(--b)}

/* Toggle Tem fotos */
.offmkt-toggle{flex:1;min-width:200px;cursor:pointer;background:var(--s2);border:2px solid var(--bl);border-radius:8px;padding:12px;display:flex;align-items:center;gap:10px;transition:all .12s}
.offmkt-toggle:hover{border-color:var(--a)}
.offmkt-toggle.on{border-color:var(--a);background:var(--ad)}
.offmkt-toggle-radio{width:16px;height:16px;border:2px solid var(--bl);border-radius:50%;flex-shrink:0;position:relative;transition:border-color .12s}
.offmkt-toggle.on .offmkt-toggle-radio{border-color:var(--a)}
.offmkt-toggle.on .offmkt-toggle-radio::after{content:"";position:absolute;top:2px;left:2px;width:8px;height:8px;border-radius:50%;background:var(--a)}
.offmkt-toggle-title{font-size:13px;color:var(--t);font-weight:600}
.offmkt-toggle-sub{font-size:11px;color:var(--m);margin-top:2px}

/* ===== PROSPECÇÃO (distribuição) ===== */
.badge-muted{background:var(--s2);color:var(--d);border:1px solid var(--b)}
.prosp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:24px}
.prosp-stat{background:var(--s);border:1px solid var(--b);border-radius:12px;padding:14px 16px}
.prosp-stat .n{font-size:24px;font-weight:800;letter-spacing:-.03em}
.prosp-stat .l{color:var(--m);font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:600;margin-top:2px}
.prosp-stat.gold .n{color:var(--a)}
.prosp-stat.blue .n{color:var(--blue)}
.prosp-stat.warn .n{color:var(--w)}
.prosp-stat.green .n{color:var(--g)}
.prosp-bairro-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.prosp-bairro-card{background:var(--s);border:1px solid var(--b);border-radius:12px;padding:18px;cursor:pointer;transition:border-color .15s,background .15s}
.prosp-bairro-card:hover{border-color:var(--a);background:var(--ad)}
.prosp-bairro-card h3{font-size:15px;font-weight:700;margin-bottom:8px}
.prosp-bairro-card .meta{color:var(--m);font-size:12px;line-height:1.7}
/* Botão "Aguard. validação" no topo da Base de Prospecção — só desktop (some no mobile) */
.prosp-validacao-btn{white-space:nowrap}
@media (max-width:768px){.prosp-validacao-btn{display:none}}
.prosp-crumb{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--m);margin-bottom:16px;flex-wrap:wrap}
.prosp-crumb a{color:var(--a);cursor:pointer}
.prosp-crumb a:hover{text-decoration:underline}
.prosp-table{width:100%;border-collapse:collapse}
.prosp-table th{text-align:left;color:var(--m);font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:600;padding:10px 12px;border-bottom:1px solid var(--b);white-space:nowrap}
.prosp-table td{padding:12px;border-bottom:1px solid var(--b);font-size:13px;vertical-align:middle}
.prosp-table tbody tr:last-child td{border-bottom:none}
.prosp-table tbody tr:hover{background:var(--s2)}

/* ===== PROSPECÇÃO — busca de rua + trabalho do corretor ===== */
.prosp-back{background:var(--a);color:var(--at);font-weight:700;font-size:14px;padding:9px 20px;border-radius:10px;border:none;cursor:pointer;font-family:inherit;margin-bottom:14px}
.prosp-back:hover{background:#c4952f}
.prosp-busca-rua{width:100%;max-width:420px;background:var(--s2);border:1px solid var(--bl);border-radius:8px;padding:9px 12px;color:var(--t);font-size:13px;margin-bottom:16px;font-family:inherit;outline:none}
.prosp-busca-rua:focus{border-color:var(--a)}
.prosp-predio-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.prosp-predio-header h2{font-size:18px;font-weight:700}
.prosp-predio-header .addr{color:var(--m);font-size:13px;margin-top:3px}
.prosp-daily{background:var(--ad);border:1px solid var(--a);border-radius:10px;padding:10px 16px;text-align:center;min-width:96px}
.prosp-daily.alt{background:var(--s);border-color:var(--b)}
.prosp-daily.ok{background:rgba(34,197,94,.08);border-color:var(--g)}
.prosp-daily .n{color:var(--a);font-size:22px;font-weight:800}
.prosp-daily.alt .n{color:var(--t)}
.prosp-daily.ok .n{color:var(--g)}
.prosp-daily .l{color:var(--m);font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:600}
.prosp-help{color:var(--d);font-size:12px;margin:-4px 0 14px;line-height:1.5}
.prosp-unidade{background:var(--s);border:1px solid var(--b);border-radius:12px;margin-bottom:10px;overflow:hidden;transition:border-color .15s}
.prosp-unidade.worked{border-left:3px solid var(--g)}
.prosp-unidade.captado{border-left:3px solid var(--g);background:rgba(34,197,94,.08)}
.prosp-unidade.captado .compl{color:var(--g)}
.prosp-unidade:hover{border-color:var(--a)}
.prosp-captado-tag{background:var(--gd);color:var(--g);border:1px solid rgba(34,197,94,.5);border-radius:8px;padding:8px 10px;font-size:12px;font-weight:700;text-align:center;letter-spacing:.02em}
/* "levantar novo proprietário" (vendido/etc) — espelho vermelho do captado verde */
.badge-levantar{background:var(--rd);color:var(--r)}
.prosp-unidade.levantar{border-left:3px solid var(--r);background:rgba(239,68,68,.07)}
.prosp-unidade.levantar .compl{color:var(--r)}
.prosp-unidade.levantar .prop{color:var(--r);font-weight:600}
.prosp-levantar-tag{background:var(--rd);color:var(--r);border:1px solid rgba(239,68,68,.5);border-radius:8px;padding:8px 10px;font-size:11px;font-weight:700;text-align:center;letter-spacing:.02em}
/* LEAD RESERVADO — com_interesse marcado no sistema por outra pessoa (nunca mostra quem) */
.prosp-unidade.reservado{border-left:3px solid var(--w);background:var(--wd)}
.prosp-unidade.reservado .compl{color:var(--w)}
.prosp-unidade.reservado .prop{color:var(--w)}
.prosp-reservado-tag{background:var(--wd);color:var(--w);border:1px solid rgba(245,158,11,.5);border-radius:8px;padding:8px 10px;font-size:11px;font-weight:700;text-align:center;letter-spacing:.02em}
.prosp-cap-btn{background:var(--s2);border:1px solid var(--bl);color:var(--m);border-radius:6px;padding:3px 8px;font-size:10px;font-weight:600;cursor:pointer;font-family:inherit}
.prosp-cap-btn:hover{border-color:var(--g);color:var(--g)}
.prosp-cap-btn.on{background:var(--gd);border-color:rgba(34,197,94,.5);color:var(--g)}
.prosp-conf-fb{width:100%;background:var(--s2);border:1px solid var(--bl);border-radius:6px;padding:5px 8px;color:var(--t);font-size:12px;font-family:inherit;resize:vertical;min-height:34px;outline:none}
.prosp-conf-fb:focus{border-color:var(--a)}
.prosp-unidade-row{display:grid;grid-template-columns:64px 1.5fr 1.3fr 168px 30px;gap:14px;align-items:center;padding:13px 16px;cursor:pointer}
.prosp-unidade .compl{font-weight:800;font-size:15px;color:var(--a);font-variant-numeric:tabular-nums}
.prosp-unidade .prop{font-weight:600;font-size:13px;line-height:1.3}
.prosp-unidade .prop small{display:block;color:var(--d);font-weight:400;font-size:11px;margin-top:2px}
.prosp-iptu-line{margin-top:5px}
.prosp-iptu-chip{display:inline-flex;align-items:center;gap:4px;background:var(--wd);border:1px solid var(--w);border-radius:6px;padding:2px 8px;font-size:11px;font-weight:700;color:var(--w);font-variant-numeric:tabular-nums;cursor:pointer;letter-spacing:.2px}
.prosp-iptu-chip:hover{background:rgba(245,158,11,.22)}
.prosp-unidade .fones{display:flex;flex-wrap:wrap;gap:5px}
.prosp-unidade .expand-ico{color:var(--d);font-size:11px;transition:transform .2s;text-align:center}
.prosp-unidade.open .expand-ico{transform:rotate(180deg)}
.prosp-unidade-detail{display:none;padding:0 16px 16px;border-top:1px solid var(--b)}
.prosp-unidade.open .prosp-unidade-detail{display:block}
.prosp-unidade .detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:14px}
.prosp-unidade .fb-box label,.prosp-unidade .hist label{display:block;font-size:11px;font-weight:600;color:var(--m);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
.prosp-unidade .fb-box textarea{width:100%;background:var(--s2);border:1px solid var(--bl);border-radius:8px;padding:10px 12px;color:var(--t);font-size:13px;font-family:inherit;resize:vertical;min-height:64px;outline:none}
.prosp-unidade .fb-box textarea:focus{border-color:var(--a)}
.prosp-unidade .hist{font-size:12px}
.prosp-unidade .hist-item{display:flex;gap:10px;padding:7px 0;border-bottom:1px dashed var(--b)}
.prosp-unidade .hist-item:last-child{border-bottom:none}
.prosp-unidade .hist-item .when{color:var(--d);white-space:nowrap;font-variant-numeric:tabular-nums;min-width:64px}
.prosp-unidade .hist-item .who{color:var(--a);font-weight:600;white-space:nowrap}
.prosp-unidade .hist-item .what{color:var(--m);line-height:1.45}
.prosp-fone-chip{background:var(--s2);border:1px solid var(--bl);border-radius:6px;padding:3px 8px;font-size:11px;color:var(--m);font-variant-numeric:tabular-nums;cursor:pointer;display:inline-flex;align-items:center;gap:5px}
.prosp-fone-chip:hover{border-color:var(--a)}
.prosp-fone-chip small{color:var(--d);font-size:9px}
.prosp-fone-chip .st{cursor:pointer;font-size:10px;border-left:1px solid var(--b);padding-left:5px}
.prosp-fone-chip.f-ok{border-color:rgba(34,197,94,.6);color:var(--g)}
.prosp-fone-chip.f-bad{border-color:rgba(239,68,68,.5);color:var(--r)}
.prosp-fone-chip.f-bad .num{text-decoration:line-through;opacity:.6}
.prosp-fone-chip .fchk,.prosp-fone-chip .fx{cursor:pointer;font-size:11px;font-weight:800;line-height:1.3;padding:0 5px;border-radius:4px;border:1px solid transparent;opacity:.4;margin-left:2px}
.prosp-fone-chip .fchk{color:var(--g)}
.prosp-fone-chip .fx{color:var(--r)}
.prosp-fone-chip .fchk:hover,.prosp-fone-chip .fx:hover{opacity:.85}
.prosp-fone-chip .fchk.on{opacity:1;background:rgba(34,197,94,.18);border-color:rgba(34,197,94,.5)}
.prosp-fone-chip .fx.on{opacity:1;background:rgba(239,68,68,.18);border-color:rgba(239,68,68,.5)}
.prosp-fone-chip .fdel{cursor:pointer;font-size:10px;opacity:.5;margin-left:3px;border-left:1px solid var(--b);padding-left:5px}
.prosp-fone-chip .fdel:hover{opacity:1}
.prosp-addfone{background:transparent;border:1px dashed var(--bl);color:var(--m);border-radius:6px;font-size:11px;padding:2px 9px;cursor:pointer;margin-left:4px;vertical-align:middle}
.prosp-addfone:hover{border-color:var(--a);color:var(--t)}
.prosp-fone-chip .fpor{color:var(--d);font-size:9px;font-style:italic;margin-left:2px}
.prosp-canal-badge{margin-top:5px;font-size:10px;font-weight:700;color:var(--g);background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.4);border-radius:5px;padding:1px 6px;display:inline-block}
.prosp-sug{margin:0 0 10px;font-size:12px;color:var(--m)}
.prosp-sug .sug{display:inline-flex;align-items:center;gap:6px;background:rgba(212,175,55,.1);border:1px solid rgba(212,175,55,.4);border-radius:7px;padding:3px 6px 3px 10px;margin:3px 5px 0 0;color:var(--a);font-variant-numeric:tabular-nums}
.prosp-sug .sug button{background:var(--a);color:#1a1a1a;border:none;border-radius:5px;font-size:10px;font-weight:700;padding:3px 8px;cursor:pointer;font-family:inherit}
.prosp-sug .sug button:disabled{opacity:.5;cursor:default}
.prosp-fb-add{margin:0 0 10px;font-size:11px;color:var(--g);background:var(--gd);border:1px solid rgba(34,197,94,.3);border-radius:7px;padding:5px 11px;display:inline-block}
/* Fase 2 (IA): selo na fila + box do resumo */
.prosp-ia-selo{font-size:11px;font-weight:700;padding:3px 10px;border-radius:6px;display:inline-block;white-space:nowrap}
.prosp-ia-selo.ok{color:var(--g);background:var(--gd);border:1px solid rgba(34,197,94,.45)}
.prosp-ia-selo.warn{color:var(--w);background:var(--wd);border:1px solid rgba(245,158,11,.45)}
.prosp-ia-selo.err{color:var(--r);background:var(--rd);border:1px solid rgba(239,68,68,.4)}
.prosp-ia-selo.proc{color:var(--m);background:var(--s2);border:1px solid var(--bl)}
.prosp-ia-box{background:linear-gradient(180deg,rgba(168,85,247,.07),transparent);border:1px solid rgba(168,85,247,.3);border-radius:11px;padding:13px 16px;margin:0 0 14px}
.prosp-ia-box.proc,.prosp-ia-box.err{background:var(--s2);border-color:var(--bl);color:var(--m);font-size:13px}
.prosp-ia-box.err{color:var(--r);border-color:rgba(239,68,68,.4)}
.prosp-ia-head{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--p);margin-bottom:7px}
.prosp-ia-head small{font-weight:600;text-transform:none;letter-spacing:0;color:var(--d)}
.prosp-fone-chip.f-feedback{border-color:var(--p);background:rgba(168,85,247,.13);color:#d9b8ff}
.prosp-ver-fb{display:inline-block;background:transparent;border:1px solid var(--p);color:var(--p);border-radius:6px;font-size:10px;font-weight:700;padding:3px 9px;cursor:pointer;margin-bottom:8px}
.prosp-ver-fb:hover{background:rgba(168,85,247,.15)}
.prosp-fb-flash{outline:2px solid var(--p);outline-offset:2px;border-radius:6px}
.prosp-dono-edit{width:100%;background:var(--s2);border:1px solid var(--bl);border-radius:6px;padding:6px 8px;color:var(--t);font-size:13px;font-weight:600;font-family:inherit;outline:none}
.prosp-dono-edit:focus{border-color:var(--a)}
.prosp-cpf-edit{width:130px;background:var(--s2);border:1px solid var(--bl);border-radius:5px;padding:2px 6px;color:var(--t);font-size:11px;font-family:inherit;outline:none}
.prosp-cpf-edit:focus{border-color:var(--a)}
.prosp-ia-re{float:right;background:transparent;border:1px solid rgba(168,85,247,.4);color:var(--p);border-radius:6px;font-size:10px;font-weight:700;text-transform:none;letter-spacing:0;padding:2px 8px;cursor:pointer}
.prosp-ia-re:hover{background:rgba(168,85,247,.15)}
.prosp-ia-re:disabled{opacity:.5;cursor:default}
.prosp-ia-resumo{font-size:13.5px;line-height:1.55;color:var(--t);margin-bottom:6px}
.prosp-ia-linha{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;line-height:1.5;padding:6px 0;border-top:1px solid var(--b)}
.prosp-ia-linha.warn{color:#f3d9a8}
.prosp-ia-linha.ok{color:#c9f5d8}
.prosp-status-sel{background:var(--s2);border:1px solid var(--bl);border-radius:8px;padding:8px 10px;color:var(--t);font-size:12px;font-weight:600;width:100%;cursor:pointer;font-family:inherit;outline:none}
.prosp-status-sel:focus{border-color:var(--a)}
.prosp-status-sel.st-sem_interesse{color:var(--r);border-color:rgba(239,68,68,.4)}
.prosp-status-sel.st-com_interesse{color:var(--g);border-color:rgba(34,197,94,.5)}
.prosp-status-sel.st-sem_retorno{color:var(--w);border-color:rgba(245,158,11,.4)}
.prosp-status-sel.st-no_aguardo{color:var(--blue);border-color:rgba(59,130,246,.4)}
.prosp-status-sel.st-vendido{color:var(--p);border-color:rgba(168,85,247,.4)}
.prosp-finish{position:sticky;bottom:0;background:linear-gradient(transparent,var(--bg) 35%);padding:18px 0 8px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.prosp-meus-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.prosp-meu-card{background:var(--s);border:1px solid var(--a);border-radius:12px;padding:18px;cursor:pointer;transition:border-color .15s,background .15s}
.prosp-meu-card:hover{background:var(--ad)}
.prosp-meu-card h3{font-size:15px;font-weight:700;display:flex;justify-content:space-between;align-items:center;gap:8px}
.prosp-meu-card .addr{color:var(--m);font-size:12px;margin:4px 0 14px}
.prosp-prog-wrap{display:flex;align-items:center;gap:10px}
.prosp-prog{background:var(--s2);border-radius:20px;height:7px;overflow:hidden;flex:1;min-width:80px}
.prosp-prog>div{height:100%;background:var(--a);border-radius:20px;transition:width .3s}
.prosp-prog.done>div{background:var(--g)}
.prosp-prog-txt{font-size:12px;color:var(--m);white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:768px){
  .prosp-unidade-row{grid-template-columns:48px 1fr 28px;grid-template-areas:"compl prop ico" "fones fones fones" "status status status";gap:8px 10px}
  .prosp-unidade-row .compl{grid-area:compl}
  .prosp-unidade-row .prop{grid-area:prop}
  .prosp-unidade-row .expand-ico{grid-area:ico}
  .prosp-unidade-row .fones{grid-area:fones}
  .prosp-unidade-row .status-wrap{grid-area:status}
  .prosp-unidade .detail-grid{grid-template-columns:1fr}
}

/* ===== Reunião Semanal (modal) ===== */
.rs-modal { display: flex; flex-direction: column; gap: 10px; }
.rs-label { font-size: 13px; font-weight: 600; color: var(--t, #ddd); margin-top: 4px; }
.rs-select, .rs-textarea {
  width: 100%; box-sizing: border-box; font-size: 16px; padding: 10px 12px;
  border-radius: 8px; border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.04); color: var(--t, #eee); font-family: inherit;
}
.rs-textarea { resize: vertical; min-height: 110px; }
.rs-note { font-size: 12px; color: #9aa; }
.rs-actions { display: flex; gap: 10px; justify-content: flex-end; margin-top: 6px; flex-wrap: wrap; }
.rs-ok { margin-top: 14px; padding: 14px; border-radius: 8px; background: rgba(40,167,69,.12); border-left: 4px solid #28a745; }
.rs-ok-titulo { font-weight: 700; margin-bottom: 10px; color: var(--t, #eee); }
.rs-link { display: inline-block; margin: 4px 12px 4px 0; padding: 10px 14px; border-radius: 8px; background: rgba(212,175,55,.15); color: #d4af37; text-decoration: none; font-weight: 600; min-height: 44px; line-height: 24px; }
.rs-link:hover { background: rgba(212,175,55,.28); }
.rs-warn { margin-top: 10px; font-size: 13px; color: #e0a800; }
.rs-err { margin-top: 10px; padding: 12px; border-radius: 8px; background: rgba(220,53,69,.12); border-left: 4px solid #dc3545; color: #ff8c8c; }

/* Reunião Semanal — página (view) */
.rs-page { max-width: 680px; }
.rs-page h2 { margin: 0 0 4px; }
.rs-sub { color: #9aa; font-size: 13px; margin: 0 0 18px; }

/* Pendências (recados internos admin/admin-corretor/agenda) */
#pendencias-content { max-width: 760px; }
.pend-card { background: var(--s); border: 1px solid var(--b); border-radius: 12px; padding: 18px 20px; margin-bottom: 22px; }
.pend-card h3 { font-size: 15px; margin: 0; }
.pend-sec-h { font-size: 13px; text-transform: uppercase; letter-spacing: .07em; color: var(--m); font-weight: 700; margin: 6px 0 12px; display: flex; align-items: center; gap: 8px; }
.pend-sec-h .pend-n { background: var(--s2); border: 1px solid var(--b); border-radius: 20px; padding: 1px 9px; font-size: 12px; color: var(--t); letter-spacing: 0; text-transform: none; font-weight: 600; }
.pend { display: flex; gap: 12px; align-items: flex-start; background: var(--s); border: 1px solid var(--b); border-radius: 10px; padding: 13px 15px; margin-bottom: 10px; }
.pend.pend-resolv { opacity: .6; }
.pend-dot { width: 9px; height: 9px; border-radius: 50%; margin-top: 5px; flex-shrink: 0; }
.pend-dot.ab { background: var(--w); }
.pend-dot.rs { background: var(--g); }
.pend-body { flex: 1; min-width: 0; }
.pend-quem { font-size: 12px; color: var(--m); margin-bottom: 3px; }
.pend-quem b { color: var(--t); }
.pend-txt { font-size: 14px; line-height: 1.4; word-break: break-word; }
.pend-meta { font-size: 11.5px; color: var(--d); margin-top: 6px; display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.pend-prazo { color: var(--w); }
.pend-prazo.venceu { color: var(--r); font-weight: 600; }
.pend-badge { font-size: 10.5px; font-weight: 700; text-transform: uppercase; border-radius: 20px; padding: 2px 9px; letter-spacing: .04em; }
.pend-badge.ab { background: var(--wd); color: var(--w); }
.pend-badge.rs { background: var(--gd); color: var(--g); }
.pend-acoes { display: flex; flex-direction: column; gap: 6px; align-items: flex-end; }
.pend-resolver { background: var(--s2); border: 1px solid var(--b); color: var(--g); border-radius: 7px; padding: 7px 12px; font-size: 12.5px; font-weight: 600; cursor: pointer; white-space: nowrap; min-height: 36px; }
.pend-resolver:hover { border-color: var(--g); }
.pend-deletar { background: var(--s2); border: 1px solid var(--b); color: var(--m); border-radius: 7px; padding: 7px 10px; font-size: 13px; cursor: pointer; line-height: 1; min-height: 32px; }
.pend-deletar:hover { border-color: var(--r); color: var(--r); }
.pend-deletar.pend-lock { opacity: .5; cursor: default; display: inline-flex; align-items: center; }
.pend-deletar.pend-lock:hover { border-color: var(--b); color: var(--m); }
.pend-resolvidas { margin-top: 24px; border: 1px solid var(--b); border-radius: 10px; background: var(--s); padding: 0 14px; }
.pend-resolvidas > summary { cursor: pointer; padding: 12px 2px; font-size: 13px; text-transform: uppercase; letter-spacing: .07em; color: var(--m); font-weight: 700; list-style: none; display: flex; align-items: center; gap: 8px; user-select: none; }
.pend-resolvidas > summary::-webkit-details-marker { display: none; }
.pend-resolvidas > summary::before { content: "▸"; color: var(--d); transition: transform .15s; }
.pend-resolvidas[open] > summary::before { transform: rotate(90deg); }
.pend-resolvidas[open] { padding-bottom: 14px; }
/* Seletor de participantes (chips douradas) */
.pend-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.pend-chip { border: 1px solid var(--bl); background: var(--s2); color: var(--t); padding: 7px 13px; border-radius: 22px; cursor: pointer; font-size: 13px; user-select: none; display: inline-flex; align-items: center; gap: 7px; transition: .12s; min-height: 36px; }
.pend-chip::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--d); flex-shrink: 0; }
.pend-chip:hover { border-color: var(--m); }
.pend-chip.on { background: var(--ad); border-color: var(--a); color: var(--a); }
.pend-chip.on::before { background: var(--a); }
.pend-chip-mim { border-style: dashed; }
.pend-chip-mim::before { display: none; }
.pend-chips-count { color: var(--m); font-size: 12px; margin-top: 8px; }
.pend-co { font-size: 12px; color: var(--m); margin-top: 5px; }
.pend-co b { color: var(--t); }
.pend-vazio { color: var(--m); font-size: 13px; padding: 4px 2px 10px; }
/* Chips de status dos participantes (quem resolveu / pendente) */
.pend-parts { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.pend-part { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; background: var(--s2); border: 1px solid var(--b); padding: 4px 10px; border-radius: 20px; color: var(--m); }
.pend-part .pi { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.pend-part.ok { color: var(--g); } .pend-part.ok .pi { background: var(--g); }
.pend-part.wait { color: var(--w); } .pend-part.wait .pi { background: var(--w); }
.pend-add { background: var(--s2); border: 1px solid var(--b); color: var(--a); border-radius: 7px; padding: 7px 10px; font-size: 14px; cursor: pointer; line-height: 1; min-height: 32px; font-weight: 700; }
.pend-add:hover { border-color: var(--a); }

/* ===== Revisar Captações ===== */
.rev-badge { background: var(--w); color: #1a1a1a; font-weight: 700; border-radius: 20px; padding: 4px 12px; font-size: 12px; }
.rev-tag-off { display: inline-block; background: var(--a); color: #1a1a1a; font-weight: 800; font-size: 10px; letter-spacing: .5px; border-radius: 6px; padding: 2px 7px; vertical-align: middle; margin-left: 6px; }
.rev-card { background: var(--s); border: 1px solid var(--bl); border-radius: 12px; margin-bottom: 16px; overflow: hidden; display: grid; grid-template-columns: 1fr 1.15fr; }
@media (max-width: 820px) { .rev-card { grid-template-columns: 1fr; } }
.rev-col { padding: 18px 20px; }
.rev-left { border-right: 1px solid var(--bl); background: rgba(0,0,0,.18); }
@media (max-width: 820px) { .rev-left { border-right: 0; border-bottom: 1px solid var(--bl); } }
.rev-col h4 { margin: 0 0 12px; font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--m); font-weight: 700; }
.rev-kv { display: flex; gap: 8px; margin-bottom: 7px; font-size: 13px; }
.rev-kv .k { color: var(--m); min-width: 84px; flex-shrink: 0; }
.rev-kv .v { color: var(--t); word-break: break-word; }
.rev-lux { color: var(--a); text-decoration: none; font-weight: 600; }
.rev-lux:hover { text-decoration: underline; }
.rev-sugg { background: var(--ad); border: 1px solid rgba(212,166,71,.35); border-radius: 10px; padding: 12px 14px; margin-bottom: 14px; }
.rev-sugg .lbl { font-size: 11px; color: var(--a); font-weight: 700; letter-spacing: .04em; margin-bottom: 6px; }
.rev-sugg .nome { font-size: 15px; font-weight: 700; color: var(--t); }
.rev-sugg .end { font-size: 12px; color: var(--m); margin: 2px 0 6px; }
.rev-sugg .conf { font-size: 11px; color: var(--m); margin-bottom: 10px; }
.rev-col .conf { font-size: 12px; color: var(--m); }
.rev-or { display: flex; align-items: center; gap: 10px; color: var(--m); font-size: 11px; margin: 14px 0; text-transform: uppercase; letter-spacing: .06em; }
.rev-or::before, .rev-or::after { content: ""; height: 1px; background: var(--bl); flex: 1; }
.rev-manual label { display: block; font-size: 11px; color: var(--m); margin: 0 0 5px; text-transform: uppercase; letter-spacing: .04em; }
.rev-manual input, .rev-manual select { width: 100%; background: var(--s2); border: 1px solid var(--bl); color: var(--t); border-radius: 8px; padding: 9px 11px; font-size: 13px; }
.rev-results { margin-top: 4px; }
.rev-res { padding: 8px 11px; border: 1px solid var(--bl); border-top: 0; cursor: pointer; font-size: 13px; color: var(--t); }
.rev-res:first-child { border-top: 1px solid var(--bl); border-radius: 8px 8px 0 0; }
.rev-res:last-child { border-radius: 0 0 8px 8px; }
.rev-res:hover { background: var(--ad); }
.rev-res span { display: block; color: var(--m); font-size: 11px; margin-top: 2px; }
.rev-res-empty { padding: 8px 11px; color: var(--m); font-size: 12px; }
.rev-chosen { margin-top: 8px; font-size: 13px; color: var(--g); }
.rev-btns { display: flex; gap: 8px; flex-wrap: wrap; }
.rev-btns button { font: inherit; cursor: pointer; border-radius: 8px; padding: 8px 14px; font-size: 13px; font-weight: 600; border: 1px solid transparent; }
.rev-btns .b-ok { background: var(--g); color: #06230f; }
.rev-btns .b-ok:hover { filter: brightness(1.08); }
.rev-btns .b-gold { background: var(--a); color: var(--at); }
.rev-btns .b-gold:disabled { opacity: .4; cursor: not-allowed; }
.rev-btns .b-red { background: transparent; border-color: rgba(239,68,68,.5); color: var(--r); }

/* ===== Caixinha "É Village São Conrado?" (form de captação + agendar tour) ===== */
.village-box { display: flex; align-items: center; gap: 10px; background: var(--ad); border: 1px solid rgba(212,166,71,.3); border-radius: 8px; padding: 11px 14px; }
.village-box input[type="checkbox"] { width: 18px; height: 18px; flex-shrink: 0; cursor: pointer; margin: 0; }
.village-box label { margin: 0; cursor: pointer; text-transform: none; letter-spacing: 0; font-size: 13px; line-height: 1.4; color: var(--t); font-weight: 600; }
.village-box label span { color: var(--m); font-weight: 400; }

/* ===== PROCOB — busca de proprietário (produção, cobra por consulta) ===== */
#procob-content { max-width: 720px; }
.pcb-warn { display: flex; gap: 10px; align-items: flex-start; background: var(--rd); border: 1px solid rgba(239,68,68,.35); border-radius: 10px; padding: 11px 14px; margin-bottom: 16px; font-size: 12.5px; line-height: 1.45; color: #ffb4b4; }
.pcb-warn b { color: #ff8c8c; }
.pcb-searchrow { display: flex; gap: 8px; }
.pcb-searchrow input { flex: 1; background: var(--s2); border: 1px solid var(--bl); color: var(--t); border-radius: 10px; padding: 13px 14px; font-size: 16px; }
.pcb-searchrow input:focus { outline: none; border-color: var(--a); }
.pcb-searchrow button { padding: 0 22px; background: var(--a); color: var(--at); border: 0; border-radius: 10px; font-weight: 700; cursor: pointer; font-size: 14px; min-height: 46px; }
.pcb-searchrow button:disabled { opacity: .5; cursor: default; }
.pcb-hint { font-size: 12px; color: var(--m); margin-top: 8px; }
.pcb-chip { display: inline-block; color: #fff; padding: 2px 9px; border-radius: 20px; font-size: 11px; font-weight: 700; margin-left: 4px; }
.pcb-spin { color: var(--m); font-size: 13px; padding: 14px 2px; }
.pcb-out { margin-top: 18px; }
.pcb-meta { font-size: 12.5px; color: var(--m); margin: 2px 2px 12px; }
.pcb-back { display: inline-block; font-size: 13px; color: var(--a); cursor: pointer; }
.pcb-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.pcb-pdf { background: var(--a); color: var(--at); border: 0; border-radius: 8px; padding: 9px 16px; font-weight: 700; cursor: pointer; font-size: 13px; min-height: 40px; }
.pcb-pdf:hover { filter: brightness(1.06); }
.pcb-errbox { background: var(--s); border: 1px dashed var(--bl); border-radius: 12px; padding: 18px; text-align: center; color: var(--m); font-size: 13px; }
/* candidatos */
.pcb-cand { background: var(--s); border: 1px solid var(--b); border-radius: 12px; padding: 12px 15px; margin-bottom: 9px; display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.pcb-cand .nome { font-weight: 700; color: var(--t); }
.pcb-cand .det { font-size: 12px; color: var(--m); margin-top: 3px; }
.pcb-cand .det span { margin-right: 12px; }
.pcb-cand-vinc { font-size: 10.5px; color: var(--d); }
.pcb-cand button { padding: 9px 14px; background: var(--s2); color: var(--a); border: 1px solid var(--b); border-radius: 8px; cursor: pointer; font-size: 12.5px; font-weight: 600; white-space: nowrap; min-height: 40px; }
.pcb-cand button:hover { border-color: var(--a); }
/* card de detalhe */
.pcb-card { background: var(--s); border: 1px solid var(--b); border-radius: 14px; overflow: hidden; }
.pcb-top { padding: 16px 18px; border-bottom: 1px solid var(--b); display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.pcb-top.dead { background: var(--rd); }
.pcb-nome { font-size: 17px; font-weight: 700; color: var(--t); }
.pcb-cpf { font-size: 13px; color: var(--m); margin-top: 3px; }
.pcb-sec { padding: 14px 18px; border-bottom: 1px solid var(--b); }
.pcb-sec:last-child { border-bottom: 0; }
.pcb-sec h4 { margin: 0 0 9px; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--m); font-weight: 700; }
.pcb-tel { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px dashed var(--b); }
.pcb-tel:last-child { border-bottom: 0; }
.pcb-tel .num { font-weight: 600; font-size: 15px; color: var(--t); }
.pcb-tel .acts { margin-left: auto; display: flex; gap: 6px; }
.pcb-tel .acts a, .pcb-tel .acts button { font-size: 12px; padding: 7px 11px; border-radius: 7px; border: 1px solid var(--b); background: var(--s2); cursor: pointer; text-decoration: none; color: var(--t); min-height: 34px; }
.pcb-tel .acts a.wa { background: #1f8f4e; color: #fff; border-color: #1f8f4e; font-weight: 600; }
.pcb-empty { color: var(--m); font-size: 13px; font-style: italic; }
.pcb-addr { font-size: 13px; padding: 7px 0; border-bottom: 1px dashed var(--b); color: var(--t); }
.pcb-addr:last-child { border-bottom: 0; }
.pcb-addr .small { font-size: 11.5px; color: var(--m); margin-top: 2px; }
.pcb-deadmsg { background: var(--rd); border: 1px solid rgba(239,68,68,.3); border-radius: 8px; padding: 12px 14px; color: #ffb4b4; font-size: 13px; }
.pcb-rbtn { padding: 9px 16px; background: var(--s2); color: var(--a); border: 1px solid var(--b); border-radius: 8px; cursor: pointer; font-weight: 600; font-size: 13px; min-height: 40px; }
.pcb-rbtn:hover { border-color: var(--a); }
.pcb-renda-val { font-size: 16px; font-weight: 700; color: var(--t); }
.pcb-renda-val .op { font-size: 12px; color: var(--m); font-weight: 400; }
.pcb-more summary { cursor: pointer; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--m); font-weight: 700; list-style: none; }
.pcb-more summary::-webkit-details-marker { display: none; }
.pcb-morerow { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; border-bottom: 1px dashed var(--b); font-size: 13px; }
.pcb-morerow:last-child { border-bottom: 0; }
.pcb-morerow span { color: var(--m); }
.pcb-morerow b { color: var(--t); text-align: right; word-break: break-word; }
@media (max-width: 560px) { .pcb-cand { flex-direction: column; align-items: stretch; } .pcb-cand button { width: 100%; } }
/* estado "sem custo" (cache) + botão atualizar */
.pcb-cache { display: flex; gap: 8px; align-items: center; background: var(--gd); border: 1px solid rgba(34,197,94,.35); border-radius: 10px; padding: 10px 13px; margin-bottom: 10px; font-size: 12.5px; color: #86efac; }
.pcb-cache b { color: #4ade80; }
.pcb-atualizar { background: var(--s2); border: 1px solid var(--b); color: var(--a); border-radius: 8px; padding: 7px 12px; font-size: 12.5px; font-weight: 600; cursor: pointer; margin-bottom: 12px; }
.pcb-atualizar:hover { border-color: var(--a); }
.pcb-badge-salvo { display: inline-block; background: var(--gd); color: var(--g); border-radius: 20px; padding: 1px 8px; font-size: 10px; font-weight: 700; vertical-align: middle; }
/* histórico "Minhas buscas" — lista + filtro */
.pcb-hist-h { font-size: 11px; text-transform: uppercase; letter-spacing: 1.5px; color: var(--m); font-weight: 700; margin: 26px 0 12px; display: flex; align-items: center; gap: 8px; }
.pcb-hist-h .n { background: var(--s2); border: 1px solid var(--b); border-radius: 20px; padding: 1px 9px; color: var(--t); font-size: 12px; }
.pcb-hist-filtro { width: 100%; background: var(--s2); border: 1px solid var(--bl); color: var(--t); border-radius: 8px; padding: 9px 12px; font-size: 13px; margin-bottom: 10px; }
.pcb-hist-filtro:focus { outline: none; border-color: var(--a); }
.pcb-hist-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 11px 4px; border-bottom: 1px solid var(--b); }
.pcb-hist-row:last-child { border-bottom: 0; }
.pcb-hist-nome { font-weight: 600; font-size: 14px; color: var(--t); }
.pcb-hist-sub { font-size: 12px; color: var(--m); margin-top: 2px; font-family: var(--mono); }
.pcb-hist-pdf { background: var(--s2); color: var(--a); border: 1px solid var(--b); border-radius: 8px; padding: 8px 13px; font-size: 12.5px; font-weight: 600; cursor: pointer; white-space: nowrap; min-height: 38px; }
.pcb-hist-pdf:hover { border-color: var(--a); }
.pcb-hist-vazio { color: var(--m); font-size: 13px; padding: 6px 2px; }

/* ===================== CSI (busca de endereço → trabalhar unidades) ===================== */
.csi-tabs { display: flex; gap: 6px; margin: 0 0 18px; border-bottom: 1px solid var(--b); }
.csi-tab { font: inherit; font-size: 14px; color: var(--m); background: transparent; border: 0; border-bottom: 2px solid transparent; padding: 10px 14px; cursor: pointer; margin-bottom: -1px; }
.csi-tab:hover { color: var(--t); }
.csi-tab.on { color: var(--a); border-bottom-color: var(--a); }
.csi-lbl { display: block; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--m); margin-bottom: 8px; font-family: var(--mono); }
.csi-sugg { position: absolute; left: 20px; right: 20px; z-index: 30; background: var(--s2); border: 1px solid var(--bl); border-radius: 10px; overflow: hidden; box-shadow: 0 18px 40px rgba(0,0,0,.45); display: none; margin-top: 6px; }
.csi-sugg.on { display: block; }
.csi-sugg-row { display: flex; flex-direction: column; gap: 2px; padding: 11px 14px; cursor: pointer; border-bottom: 1px solid var(--b); }
.csi-sugg-row:last-child { border-bottom: 0; }
.csi-sugg-row:hover { background: var(--ad); }
.csi-sugg-row b { font-size: 14px; color: var(--t); }
.csi-sugg-row span { font-size: 12px; color: var(--m); }
.csi-sugg-row.inuse { cursor: not-allowed; opacity: .6; }
.csi-sugg-row.inuse:hover { background: transparent; }
.csi-inuse { color: var(--w) !important; font-family: var(--mono); font-size: 11px; }
.csi-sugg-empty { padding: 13px 14px; color: var(--m); font-size: 13px; }
.csi-predio-head { display: flex; align-items: flex-start; gap: 14px; flex-wrap: wrap; padding: 16px 18px; border-bottom: 1px solid var(--b); }
.csi-predio-nome { font-size: 18px; font-weight: 600; color: var(--t); }
.csi-predio-end { font-size: 12.5px; color: var(--m); font-family: var(--mono); margin-top: 2px; }
.csi-tag-open { margin-left: auto; font-family: var(--mono); font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--a); background: var(--ad); border: 1px solid var(--b); padding: 4px 10px; border-radius: 999px; white-space: nowrap; }
.csi-chips { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 14px; }
.csi-chip { display: inline-flex; align-items: center; gap: 6px; font: inherit; font-size: 13.5px; color: var(--m); background: var(--s2); border: 1px solid var(--b); border-radius: 10px; padding: 9px 13px; cursor: pointer; transition: .12s; }
.csi-chip:hover { color: var(--t); border-color: var(--bl); }
.csi-chip.on { background: var(--ad); border-color: var(--a); color: var(--t); box-shadow: inset 0 0 0 1px var(--a); }
.csi-chip.na { border-style: dashed; }
.csi-chip .cnt { font-family: var(--mono); font-size: 11px; color: var(--m); }
.csi-selbar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; border-top: 1px solid var(--b); padding-top: 14px; }
.csi-warn { display: flex; align-items: center; gap: 8px; background: var(--wd); border-left: 3px solid var(--w); color: var(--w); font-size: 12.5px; padding: 9px 16px; }
.csi-units { padding: 8px 16px; display: flex; flex-direction: column; gap: 10px; }
.csi-unit { background: var(--s2); border: 1px solid var(--b); border-radius: 11px; padding: 13px 15px; }
.csi-unit.locked { display: flex; align-items: flex-start; gap: 12px; border-style: dashed; }
.csi-u-top { display: flex; align-items: flex-start; gap: 12px; flex-wrap: wrap; }
.csi-u-apto { font-family: var(--mono); font-weight: 700; color: var(--a); font-size: 14px; min-width: 54px; }
.csi-u-prop { font-size: 14.5px; font-weight: 600; color: var(--t); }
.csi-fones { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 5px; }
.csi-fone { font-family: var(--mono); font-size: 13px; color: var(--t); background: var(--ad); border: 1px solid var(--b); border-radius: 7px; padding: 3px 9px; cursor: pointer; }
.csi-fone:hover { border-color: var(--a); }
.csi-mine { font-family: var(--mono); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; color: var(--g); background: var(--gd); border: 1px solid var(--gd); padding: 2px 8px; border-radius: 999px; }
.csi-status { font: inherit; font-size: 13px; color: var(--t); background: var(--s); border: 1px solid var(--b); border-radius: 8px; padding: 7px 10px; margin-left: auto; }
.csi-fb { margin-top: 11px; }
.csi-fb label { display: block; font-family: var(--mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--m); margin-bottom: 5px; }
.csi-fb textarea { width: 100%; font: inherit; font-size: 13px; color: var(--t); background: var(--s); border: 1px solid var(--b); border-radius: 8px; padding: 9px 11px; resize: vertical; min-height: 38px; }
.csi-finalbar { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 16px 18px; border-top: 1px solid var(--b); }
.csi-lead { padding: 16px 18px; margin-bottom: 12px; border-left: 3px solid var(--g); }
.csi-lead-fb { margin-top: 11px; font-size: 13px; color: var(--m); background: var(--s2); border: 1px solid var(--b); border-radius: 8px; padding: 9px 12px; }
.csi-badge { font-family: var(--mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; padding: 2px 8px; border-radius: 999px; }
.csi-badge.rua { color: var(--w); background: var(--wd); border: 1px solid var(--wd); }
.csi-badge.predio { color: var(--r); background: var(--rd); border: 1px solid var(--rd); }
.csi-stat { flex: 1; min-width: 150px; background: var(--s2); border: 1px solid var(--b); border-radius: 12px; padding: 16px 18px; }
.csi-stat .k { font-family: var(--mono); font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--m); }
.csi-stat .v { font-size: 28px; font-weight: 700; margin-top: 6px; color: var(--a); font-variant-numeric: tabular-nums; }
.csi-act { font-family: var(--mono); font-size: 10px; letter-spacing: .05em; text-transform: uppercase; padding: 3px 9px; border-radius: 999px; white-space: nowrap; border: 1px solid var(--b); color: var(--m); }
.csi-act.busca { color: var(--blue); background: var(--blued); }
.csi-act.abriu, .csi-act.andar { color: var(--a); background: var(--ad); }
.csi-act.status, .csi-act.final { color: var(--g); background: var(--gd); }
.csi-act.fb { color: var(--m); background: var(--s2); }
.csi-act.block { color: var(--r); background: var(--rd); }
.csi-log-t { font-family: var(--mono); font-size: 11px; color: var(--m); white-space: nowrap; }
.csi-atualizado { font-family: var(--mono); font-size: 11px; color: var(--m); margin-top: 6px; }
.btn-secondary.on { border-color: var(--a); color: var(--t); background: var(--ad); }
/* input de busca do CSI (fica fora de .form-group) — herda o tema escuro */
#csi-q { background: var(--s2); border: 1px solid var(--bl); border-radius: 10px; padding: 13px 15px; color: var(--t); color-scheme: dark; outline: none; transition: border-color .15s; width: 100%; }
#csi-q::placeholder { color: var(--m); }
#csi-q:focus { border-color: var(--a); box-shadow: 0 0 0 3px var(--ad); }
#csi-q:disabled { opacity: .5; cursor: not-allowed; }
