/* ═══════════════════════════════════════════════════════════════
   IDEA CRM — COCKPIT DESIGN SYSTEM v2
   Dark-first · Enterprise · Revenue Intelligence
   ═══════════════════════════════════════════════════════════════ */

/* ── 1. TOKENS ─────────────────────────────────────────────────── */
:root {
  --bg:        #060c18;
  --bg2:       #0a1122;
  --surface:   #0f1a2e;
  --surface2:  #152036;
  --surface3:  #1c2a42;
  --glass:     rgba(15,26,46,.72);
  --pri:        #6d5ef5;
  --pri2:       #9b5de5;
  --pri-dim:    rgba(109,94,245,.16);
  --pri-glow:   rgba(109,94,245,.32);
  --pri-ring:   rgba(109,94,245,.22);
  --success:    #10b981;
  --warn:       #f59e0b;
  --danger:     #f43f5e;
  --info:       #38bdf8;
  --success-bg: rgba(16,185,129,.1);
  --warn-bg:    rgba(245,158,11,.1);
  --danger-bg:  rgba(244,63,94,.1);
  --info-bg:    rgba(56,189,248,.1);
  --txt1: #f0f4ff;
  --txt2: #8899bb;
  --txt3: #4e5f7a;
  --bd:   rgba(255,255,255,.07);
  --bd2:  rgba(255,255,255,.13);
  --r-sm: 10px;
  --r:    14px;
  --r-lg: 20px;
  --r-xl: 26px;
  --shadow-sm: 0 2px 8px rgba(0,0,0,.28);
  --shadow:    0 8px 32px rgba(0,0,0,.36);
  --shadow-lg: 0 24px 72px rgba(0,0,0,.44);
}

/* ── 2. RESET ──────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{min-height:100%;font-family:'Inter','DM Sans',system-ui,sans-serif;font-size:14px;line-height:1.6;background:var(--bg);color:var(--txt1);-webkit-font-smoothing:antialiased}
body::before{content:'';position:fixed;inset:0;background:radial-gradient(ellipse 80% 50% at 15% -10%,rgba(109,94,245,.18),transparent),radial-gradient(ellipse 60% 40% at 85% 5%,rgba(155,93,229,.12),transparent);pointer-events:none;z-index:0}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
img{max-width:100%}
::-webkit-scrollbar{width:4px;height:4px}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:99px}

/* ── 3. SHELL ──────────────────────────────────────────────────── */
.app-shell{display:flex;min-height:100vh;position:relative;z-index:1}

.sidebar{width:272px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:20px 16px;background:linear-gradient(180deg,rgba(12,20,38,.97) 0%,rgba(6,12,24,.99) 100%);border-right:1px solid var(--bd);backdrop-filter:blur(32px);gap:6px;z-index:100;overflow-y:auto}

.brand{display:flex;align-items:center;gap:12px;padding:6px 10px 18px;border-bottom:1px solid var(--bd);margin-bottom:8px}
.brand-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--pri),var(--pri2));box-shadow:0 0 0 4px var(--pri-dim),0 0 24px var(--pri-glow);display:grid;place-items:center;font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:700;flex-shrink:0;color:#fff}
.brand strong{display:block;font-size:15px;font-weight:700;letter-spacing:-.01em}
.brand small{display:block;font-size:11px;color:var(--txt3);letter-spacing:.04em;text-transform:uppercase}

.nav{display:flex;flex-direction:column;gap:2px;flex:1}
.nav-item{height:40px;border-radius:var(--r-sm);padding:0 12px;display:flex;align-items:center;gap:10px;color:var(--txt2);font-size:13.5px;font-weight:500;transition:all .15s ease;position:relative}
.nav-item:hover{background:rgba(255,255,255,.05);color:var(--txt1)}
.nav-item.is-active{background:var(--pri-dim);color:var(--txt1)}
.nav-item.is-active::before{content:'';position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--pri)}
.nav-item span{color:var(--pri);font-size:12px;line-height:1}
.nav-item.is-active span{color:var(--pri)}

.sidebar-card{margin-top:auto;padding:16px;border:1px solid var(--bd);border-radius:var(--r-lg);background:linear-gradient(135deg,rgba(109,94,245,.1),rgba(255,255,255,.02))}
.sidebar-card strong{display:block;font-size:13px;margin:6px 0 4px}
.sidebar-card p{font-size:12px;color:var(--txt2);line-height:1.55}

.main{flex:1;margin-left:272px;min-height:100vh;display:flex;flex-direction:column}
.main-auth{margin-left:0}

.topbar{height:72px;position:sticky;top:0;z-index:50;padding:0 28px;background:rgba(6,12,24,.84);backdrop-filter:blur(28px);border-bottom:1px solid var(--bd);display:flex;align-items:center;justify-content:space-between;gap:16px}
.topbar-left{display:flex;flex-direction:column;gap:1px}
.topbar-left h1{font-size:17px;font-weight:700;letter-spacing:-.02em;font-family:'Outfit','Inter',sans-serif;line-height:1.2}
.topbar-left p{font-size:12px;color:var(--txt3)}
.topbar-actions{display:flex;align-items:center;gap:10px}

.search-box{height:38px;width:260px;border-radius:var(--r);background:rgba(255,255,255,.04);border:1px solid var(--bd);color:var(--txt3);display:flex;align-items:center;gap:8px;padding:0 14px;font-size:13px;cursor:pointer;transition:.15s}
.search-box:hover{border-color:var(--bd2);color:var(--txt2)}

.user-pill{height:42px;border:1px solid var(--bd);background:rgba(255,255,255,.04);border-radius:14px;display:flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;transition:.15s}
.user-pill:hover{border-color:var(--bd2)}
.user-avatar{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,var(--pri),var(--pri2));display:grid;place-items:center;font-size:13px;font-weight:700;color:#fff}
.user-pill strong{display:block;font-size:13px;font-weight:600}
.user-pill small{display:block;font-size:11px;color:var(--txt3);text-transform:capitalize}

.ghost-link{height:38px;padding:0 14px;border:1px solid var(--bd);border-radius:var(--r);color:var(--txt2);font-size:13px;font-weight:500;display:flex;align-items:center;gap:6px;transition:.15s}
.ghost-link:hover{background:rgba(255,255,255,.05);color:var(--txt1);border-color:var(--bd2)}

.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--pri);font-weight:700}

.content{padding:28px;flex:1}

/* ── 4. GRID (Bootstrap compat) ────────────────────────────────── */
.row{display:grid;grid-template-columns:repeat(12,1fr);gap:0}
.row.g-3{gap:18px}.row.g-2{gap:12px}.row.g-4{gap:24px}.row.mb-0{margin-bottom:0}
[class*="col-"]{min-width:0;grid-column:span 12}
.col-1{grid-column:span 1}.col-2{grid-column:span 2}.col-3{grid-column:span 3}
.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}
.col-7{grid-column:span 7}.col-8{grid-column:span 8}.col-9{grid-column:span 9}
.col-10{grid-column:span 10}.col-11{grid-column:span 11}.col-12{grid-column:span 12}
@media(min-width:640px){
  .col-md-1{grid-column:span 1}.col-md-2{grid-column:span 2}.col-md-3{grid-column:span 3}
  .col-md-4{grid-column:span 4}.col-md-5{grid-column:span 5}.col-md-6{grid-column:span 6}
  .col-md-7{grid-column:span 7}.col-md-8{grid-column:span 8}.col-md-9{grid-column:span 9}
  .col-md-10{grid-column:span 10}.col-md-11{grid-column:span 11}.col-md-12{grid-column:span 12}
}

/* ── 5. UTILITIES ──────────────────────────────────────────────── */
.d-flex{display:flex}.d-inline{display:inline}.d-inline-flex{display:inline-flex}.d-none{display:none}.d-grid{display:grid}
.align-items-center{align-items:center}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}
.justify-content-between{justify-content:space-between}.justify-content-center{justify-content:center}.justify-content-end{justify-content:flex-end}
.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}
.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-5{gap:20px}
.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-5{margin-top:24px}
.mb-0{margin-bottom:0}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-5{margin-bottom:24px}
.ms-auto{margin-left:auto}.me-auto{margin-right:auto}
.py-4{padding-top:16px;padding-bottom:16px}.p-0{padding:0}
.fw-semibold{font-weight:600}.fw-bold{font-weight:700}
.text-muted{color:var(--txt2)}.text-danger{color:var(--danger)}.text-success{color:var(--success)}
.text-end{text-align:right}.text-center{text-align:center}.text-decoration-none{text-decoration:none}
.small,small{font-size:12px}.h3{font-size:20px;font-weight:700;letter-spacing:-.02em}
.w-auto{width:auto}.w-100{width:100%}.overflow-hidden{overflow:hidden}.position-relative{position:relative}

/* ── 6. CARDS ──────────────────────────────────────────────────── */
.card{background:var(--surface);border:1px solid var(--bd);border-radius:var(--r-xl);box-shadow:var(--shadow);overflow:hidden}
.card.shadow-sm{box-shadow:var(--shadow-sm)}
.card-header{padding:16px 22px;border-bottom:1px solid var(--bd);display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.02);font-size:13px;color:var(--txt2);flex-wrap:wrap}
.card-header.fw-semibold{color:var(--txt1);font-weight:600}
.card-body{padding:24px 22px}
.card-body.p-0{padding:0}
.card-footer{padding:14px 22px;border-top:1px solid var(--bd);background:rgba(255,255,255,.01)}

/* ── 7. FORMS ──────────────────────────────────────────────────── */
.form-label{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--txt2);margin-bottom:7px}
.form-label .text-danger,.form-label span.text-danger{color:var(--danger)}

.form-control{display:block;width:100%;height:44px;padding:0 14px;background:rgba(255,255,255,.04);border:1px solid var(--bd2);border-radius:var(--r);color:var(--txt1);font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s,background .15s;appearance:none}
.form-control::placeholder{color:var(--txt3)}
.form-control:hover{border-color:rgba(255,255,255,.2)}
.form-control:focus{border-color:var(--pri);background:rgba(109,94,245,.06);box-shadow:0 0 0 4px var(--pri-ring)}
.form-control.is-invalid{border-color:rgba(244,63,94,.5);background:rgba(244,63,94,.04)}
.form-control.is-invalid:focus{border-color:var(--danger);box-shadow:0 0 0 4px rgba(244,63,94,.14)}

textarea.form-control{height:auto;padding:12px 14px;resize:vertical;min-height:90px}

.form-select{display:block;width:100%;height:44px;padding:0 36px 0 14px;background:rgba(255,255,255,.04) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238899bb' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") no-repeat right 14px center;border:1px solid var(--bd2);border-radius:var(--r);color:var(--txt1);font-size:14px;outline:none;cursor:pointer;appearance:none;transition:border-color .15s,box-shadow .15s,background .15s}
.form-select:hover{border-color:rgba(255,255,255,.2)}
.form-select:focus{border-color:var(--pri);background-color:rgba(109,94,245,.06);box-shadow:0 0 0 4px var(--pri-ring)}
.form-select.is-invalid{border-color:rgba(244,63,94,.5)}
.form-select option{background:#1c2a42;color:var(--txt1)}

.form-control-sm,.form-select-sm{height:36px;font-size:13px;border-radius:var(--r-sm)}

.invalid-feedback{display:block;margin-top:5px;font-size:12px;color:var(--danger)}

.form-label.small,.form-label.mb-1{margin-bottom:4px}
.form-label.small{font-size:10px}

/* ── 8. BUTTONS ────────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:42px;padding:0 18px;border-radius:var(--r);font-size:14px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .15s ease;white-space:nowrap;text-decoration:none;flex-shrink:0}
.btn:disabled,.btn.is-loading{opacity:.58;cursor:not-allowed;pointer-events:none;filter:saturate(.72)}
form.is-submitting{cursor:progress}
form.is-submitting .btn[type="submit"],form.is-submitting button:not([type]),form.is-submitting button[type="submit"],form.is-submitting input[type="submit"]{opacity:.58;cursor:not-allowed;pointer-events:none}

.btn-primary{background:linear-gradient(135deg,var(--pri),var(--pri2));color:#fff;border-color:transparent;box-shadow:0 4px 20px rgba(109,94,245,.3)}
.btn-primary:hover{filter:brightness(1.1);box-shadow:0 6px 28px rgba(109,94,245,.4);transform:translateY(-1px)}
.btn-primary:active{transform:none;filter:brightness(.96)}

.btn-secondary{background:rgba(255,255,255,.06);color:var(--txt1);border-color:var(--bd2)}
.btn-secondary:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2)}

.btn-outline-secondary{background:transparent;color:var(--txt2);border-color:var(--bd2)}
.btn-outline-secondary:hover{background:rgba(255,255,255,.06);color:var(--txt1);border-color:rgba(255,255,255,.2)}

.btn-outline-primary{background:transparent;color:var(--pri);border-color:rgba(109,94,245,.4)}
.btn-outline-primary:hover{background:var(--pri-dim);border-color:var(--pri)}

.btn-outline-danger{background:transparent;color:var(--danger);border-color:rgba(244,63,94,.3)}
.btn-outline-danger:hover{background:rgba(244,63,94,.1);border-color:rgba(244,63,94,.6)}

.btn-sm{height:34px;padding:0 12px;font-size:12.5px;border-radius:var(--r-sm);font-weight:600}

/* ── 9. TABLES ─────────────────────────────────────────────────── */
.table-responsive{overflow-x:auto}
.table{width:100%;border-collapse:collapse;font-size:13.5px}
.table thead tr,.table.table-light thead tr,.table thead.table-light tr{border-bottom:1px solid var(--bd);background:transparent}
.table th{padding:11px 16px;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--txt3);white-space:nowrap}
.table td{padding:13px 16px;color:var(--txt1);border-bottom:1px solid var(--bd);vertical-align:middle}
.table-hover tbody tr{transition:background .12s}
.table-hover tbody tr:hover{background:rgba(255,255,255,.03)}
.table tbody tr:last-child td{border-bottom:none}

/* ── 10. BADGES ────────────────────────────────────────────────── */
.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:99px;font-size:11px;font-weight:700;letter-spacing:.03em}
.badge::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.bg-success-subtle{background:var(--success-bg)}.text-success{color:var(--success)!important}
.bg-danger-subtle{background:var(--danger-bg)}.text-danger{color:var(--danger)!important}
.bg-warning-subtle{background:var(--warn-bg)}.text-warning{color:var(--warn)!important}
.bg-secondary-subtle{background:rgba(255,255,255,.07)}.text-secondary{color:var(--txt2)!important}
.bg-info-subtle{background:var(--info-bg)}.text-info{color:var(--info)!important}
.bg-primary-subtle{background:var(--pri-dim)}.text-primary{color:var(--pri)!important}

/* ── 11. ALERTS ────────────────────────────────────────────────── */
.alert{padding:14px 16px;border-radius:var(--r);font-size:13.5px;display:flex;align-items:flex-start;gap:10px;margin-bottom:20px}
.alert ul{padding-left:18px;margin:0}.alert ul li{margin-top:3px}
.alert-success{background:var(--success-bg);border:1px solid rgba(16,185,129,.25);color:#6ee7b7}
.alert-danger{background:var(--danger-bg);border:1px solid rgba(244,63,94,.25);color:#fca5a5}
.alert-warning{background:var(--warn-bg);border:1px solid rgba(245,158,11,.25);color:#fcd34d}
.alert-dismissible{position:relative}
.btn-close{width:24px;height:24px;border:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M1 1l10 10M11 1L1 11' stroke='%238899bb' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center;cursor:pointer;margin-left:auto;opacity:.7;border-radius:6px;transition:opacity .15s;flex-shrink:0}
.btn-close:hover{opacity:1;background-color:rgba(255,255,255,.08)}

/* ── 12. PAGINATION ────────────────────────────────────────────── */
.pagination{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.pagination-sm{gap:3px}
.page-link{display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 10px;border-radius:var(--r-sm);font-size:13px;font-weight:500;color:var(--txt2);border:1px solid transparent;transition:.15s}
.page-link:hover{background:rgba(255,255,255,.07);color:var(--txt1);border-color:var(--bd2)}
.page-item.active .page-link{background:var(--pri-dim);color:var(--pri);border-color:rgba(109,94,245,.3)}
.page-item.disabled .page-link{opacity:.4;pointer-events:none}

/* ── 13. DASHBOARD ─────────────────────────────────────────────── */
.dashboard-grid{padding:28px;display:grid;grid-template-columns:1.35fr .85fr .85fr;gap:18px}
.hero-panel,.panel,.kpi-card{border:1px solid var(--bd);background:linear-gradient(180deg,rgba(15,26,46,.9),rgba(10,17,34,.7));border-radius:var(--r-xl);box-shadow:var(--shadow-sm)}
.hero-panel{grid-row:span 2;padding:32px;min-height:270px;position:relative;overflow:hidden}
.hero-panel::after{content:'';position:absolute;right:-80px;bottom:-100px;width:280px;height:280px;background:radial-gradient(circle,rgba(109,94,245,.3),transparent 68%);pointer-events:none}
.hero-panel h2{font-family:'Outfit','Inter',sans-serif;font-size:38px;line-height:1.05;letter-spacing:-.04em;margin:14px 0}
.hero-panel p{color:var(--txt2);font-size:15px;line-height:1.65;max-width:560px}
.hero-actions{display:flex;gap:12px;margin-top:28px}
.kpi-card{padding:22px;min-height:120px}
.kpi-card>span{color:var(--txt2);font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.kpi-card>strong{display:block;font-family:'Outfit','Inter',sans-serif;font-size:32px;font-weight:700;letter-spacing:-.04em;margin:10px 0 4px}
.kpi-card>small{color:var(--success);font-size:12px}
.kpi-card.accent{background:linear-gradient(135deg,rgba(109,94,245,.2),rgba(155,93,229,.1));border-color:rgba(109,94,245,.25)}
.panel{padding:24px}.pipeline-panel{grid-column:span 2}.activity-panel{grid-column:span 1}
.panel-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}
.panel-head h3{font-family:'Outfit','Inter',sans-serif;font-size:20px}
.panel-head a{font-size:12px;color:var(--pri)}
.pipeline-list{display:grid;gap:14px}
.pipeline-item{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.pipeline-item>span{color:var(--txt2);font-size:13px}
.pipeline-item>strong{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:600}
.pipeline-item>i{grid-column:1/-1;height:6px;border-radius:99px;background:linear-gradient(90deg,var(--pri),var(--pri2));box-shadow:0 0 16px rgba(109,94,245,.25)}
.timeline{display:grid;gap:16px}
.timeline div{position:relative;padding-left:22px}
.timeline div::before{content:'';position:absolute;left:0;top:5px;width:9px;height:9px;border-radius:50%;background:var(--pri);box-shadow:0 0 0 4px rgba(109,94,245,.12)}
.timeline b{display:block;font-size:13.5px}
.timeline span{display:block;color:var(--txt2);font-size:12.5px;line-height:1.5;margin-top:2px}

/* ── 14. AUTH ──────────────────────────────────────────────────── */
.auth-page{overflow:hidden}
.auth-wrap{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding:52px;max-width:1240px;margin:0 auto}
.auth-hero{min-height:600px;border-radius:30px;padding:34px;position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(18,27,47,.92),rgba(10,15,28,.72));border:1px solid var(--bd);box-shadow:var(--shadow-lg)}
.auth-hero::after{content:'';position:absolute;inset:auto -20% -32% 10%;height:380px;background:radial-gradient(circle,rgba(109,94,245,.4),transparent 65%);filter:blur(12px);pointer-events:none}
.auth-brand{position:relative;z-index:1}
.hero-copy{position:relative;z-index:1;margin-top:110px;max-width:600px}
.hero-copy h1{font-family:'Outfit','Inter',sans-serif;font-size:52px;line-height:.97;letter-spacing:-.05em;margin:14px 0}
.hero-copy p{font-size:17px;line-height:1.65;color:var(--txt2)}
.metric-row{position:absolute;left:34px;right:34px;bottom:34px;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.metric-row div{padding:16px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid var(--bd);backdrop-filter:blur(18px)}
.metric-row strong{display:block;font-family:'Outfit','Inter',sans-serif;font-size:22px}
.metric-row span{color:var(--txt2);font-size:12px}
.auth-card{padding:38px;border-radius:28px;background:rgba(15,26,46,.9);border:1px solid var(--bd2);box-shadow:var(--shadow-lg);backdrop-filter:blur(24px)}
.auth-card h2{font-family:'Outfit','Inter',sans-serif;font-size:30px;font-weight:800;margin:10px 0 6px;letter-spacing:-.03em}
.muted,.security-note{color:var(--txt2);line-height:1.55}
.security-note{font-size:12px;margin-top:18px}
.form-stack{display:flex;flex-direction:column;gap:16px;margin-top:26px}
.form-stack label span{display:block;color:var(--txt2);font-size:13px;margin-bottom:8px}
.form-stack input{width:100%;height:52px;border-radius:16px;border:1px solid var(--bd);background:rgba(255,255,255,.045);color:var(--txt1);padding:0 16px;outline:none}
.form-stack input:focus{border-color:rgba(109,94,245,.65);box-shadow:0 0 0 4px rgba(109,94,245,.12)}


/* ── SIDEBAR TOGGLE FIX: sanduíche fica no menu ───────────────── */
.sidebar{transition:width .18s ease, transform .18s ease, padding .18s ease; overflow-x:hidden}
.sidebar-head{display:flex;align-items:center;gap:8px;padding:0 0 14px;margin-bottom:8px;border-bottom:1px solid var(--bd)}
.sidebar-head .brand{flex:1;min-width:0;margin:0;padding:6px 0;border-bottom:0}
.brand-text{min-width:0;white-space:nowrap;overflow:hidden}
.sidebar-toggle{width:40px;height:40px;border-radius:13px;border:1px solid var(--bd);background:rgba(255,255,255,.045);display:grid;place-content:center;gap:4px;cursor:pointer;flex:0 0 40px;transition:.15s}
.sidebar-toggle:hover{background:rgba(255,255,255,.075);border-color:var(--bd2)}
.sidebar-toggle span{display:block;width:17px;height:2px;border-radius:99px;background:var(--txt1);transition:.16s}
.sidebar-toggle.is-active span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.sidebar-toggle.is-active span:nth-child(2){opacity:0}
.sidebar-toggle.is-active span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

.sidebar-restore{display:none;position:fixed;top:18px;left:92px;z-index:65;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:13px;border:1px solid var(--bd);background:rgba(10,16,28,.92);color:var(--txt1);box-shadow:0 16px 40px rgba(0,0,0,.24);cursor:pointer;font-family:inherit;font-size:13px;font-weight:800;letter-spacing:.01em;backdrop-filter:blur(14px);transition:.15s}
.sidebar-restore:hover{transform:translateY(-1px);border-color:var(--bd2);background:rgba(22,32,52,.96)}
.sidebar-restore span{font-size:16px;line-height:1}
body.sidebar-collapsed .sidebar-restore{display:inline-flex}

.sidebar-scrim{display:none}
body.sidebar-collapsed .sidebar{width:76px;padding-left:12px;padding-right:12px}
body.sidebar-collapsed .main{margin-left:76px}
body.sidebar-collapsed .sidebar-head{justify-content:center}
body.sidebar-collapsed .sidebar-head .brand{display:none}
body.sidebar-collapsed .nav-item{justify-content:center;padding:0;width:52px;margin-inline:auto}
body.sidebar-collapsed .nav-item span{font-size:14px}
body.sidebar-collapsed .nav-item{font-size:0;gap:0}
body.sidebar-collapsed .nav-item.is-active::before{left:-12px}
body.sidebar-collapsed .sidebar-card{display:none}

/* ── 15. RESPONSIVE ────────────────────────────────────────────── */
@media(max-width:900px){
  .sidebar{display:flex;width:64px;padding:14px 10px;transform:translateX(0);z-index:120}
  .sidebar .brand,.sidebar .nav,.sidebar .sidebar-card{display:none}
  body.sidebar-open .sidebar{width:272px;padding:20px 16px}
  body.sidebar-open .sidebar .brand,body.sidebar-open .sidebar .nav,body.sidebar-open .sidebar .sidebar-card{display:flex}
  body.sidebar-open .sidebar-card{display:block}
  body.sidebar-open .sidebar-scrim{display:block;position:fixed;inset:0;background:rgba(0,0,0,.48);backdrop-filter:blur(2px);z-index:90}
  .main{margin-left:64px}
  .topbar{height:auto;min-height:72px;padding:14px 18px;flex-wrap:wrap;gap:12px}
  .topbar-actions{flex-wrap:wrap}.search-box{width:100%}
  .dashboard-grid{grid-template-columns:1fr;padding:18px}
  .hero-panel,.pipeline-panel,.activity-panel{grid-column:auto}
  .hero-panel h2{font-size:30px}
  .auth-wrap{grid-template-columns:1fr;padding:20px}.auth-hero{display:none}
  .content{padding:18px}
}
@media(max-width:600px){
  .row.g-3{gap:14px}
  [class*="col-md-"]{grid-column:span 12}
}

/* ═══ ADDITIONS v2.1 ════════════════════════════════════════════ */

/* ── METRIC CARDS (KPI premium) ─────────────────────────────────── */
.metric-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 14px;
  margin-bottom: 24px;
}
.metric-card {
  position: relative;
  padding: 20px;
  border-radius: var(--r-xl);
  border: 1px solid var(--bd);
  background: linear-gradient(145deg, rgba(15,26,46,.95), rgba(10,17,34,.85));
  box-shadow: 0 4px 24px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.06);
  overflow: hidden;
  transition: transform .18s, box-shadow .18s, border-color .18s;
}
.metric-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(0,0,0,.4);
  border-color: var(--bd2);
}
.metric-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 80% 60% at 50% -20%, var(--mc-glow, rgba(109,94,245,.14)), transparent);
  pointer-events: none;
}

.metric-card-icon {
  width: 36px; height: 36px;
  border-radius: 10px;
  display: grid; place-items: center;
  background: var(--mc-bg, var(--pri-dim));
  color: var(--mc-color, var(--pri));
  margin-bottom: 14px;
}
.metric-card-icon svg { width: 17px; height: 17px; }

.metric-label {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--txt3);
  margin-bottom: 6px;
}
.metric-value {
  font-family: 'Outfit', 'Inter', sans-serif;
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -.04em;
  color: var(--txt1);
  line-height: 1;
  margin-bottom: 8px;
}
.metric-value.mono {
  font-family: 'JetBrains Mono', monospace;
  font-size: 22px;
}
.metric-sub {
  font-size: 12px;
  color: var(--txt2);
}
.metric-trend {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11.5px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 99px;
  margin-top: 6px;
}
.metric-trend.up   { background: var(--success-bg); color: var(--success); }
.metric-trend.down { background: var(--danger-bg);  color: var(--danger); }
.metric-trend.flat { background: rgba(255,255,255,.07); color: var(--txt2); }
.metric-trend svg  { width: 11px; height: 11px; }

/* Metric card color themes */
.metric-card.purple { --mc-glow: rgba(109,94,245,.2); --mc-bg: rgba(109,94,245,.15); --mc-color: #a78bfa; }
.metric-card.blue   { --mc-glow: rgba(56,189,248,.15); --mc-bg: rgba(56,189,248,.12); --mc-color: var(--info); }
.metric-card.green  { --mc-glow: rgba(16,185,129,.15); --mc-bg: rgba(16,185,129,.12); --mc-color: var(--success); }
.metric-card.amber  { --mc-glow: rgba(245,158,11,.15);  --mc-bg: rgba(245,158,11,.12);  --mc-color: var(--warn); }
.metric-card.red    { --mc-glow: rgba(244,63,94,.15);  --mc-bg: rgba(244,63,94,.12);  --mc-color: var(--danger); }
.metric-card.slate  { --mc-glow: rgba(255,255,255,.04); --mc-bg: rgba(255,255,255,.08); --mc-color: var(--txt2); }

/* ── ENTITY AVATAR (initials in table) ──────────────────────────── */
.entity-avatar {
  width: 32px; height: 32px;
  border-radius: 9px;
  background: var(--pri-dim);
  color: var(--pri);
  display: inline-grid; place-items: center;
  font-size: 12px; font-weight: 700;
  flex-shrink: 0;
  letter-spacing: 0;
}
.entity-avatar.green  { background: rgba(16,185,129,.14); color: var(--success); }
.entity-avatar.blue   { background: rgba(56,189,248,.14);  color: var(--info); }
.entity-avatar.amber  { background: rgba(245,158,11,.14);  color: var(--warn); }
.entity-avatar.red    { background: rgba(244,63,94,.14);   color: var(--danger); }

.entity-cell { display: flex; align-items: center; gap: 10px; }
.entity-name { font-weight: 600; font-size: 13.5px; color: var(--txt1); }
.entity-sub  { font-size: 11.5px; color: var(--txt2); margin-top: 1px; }

/* ── CLICKABLE TABLE ROW ─────────────────────────────────────────── */
.table tbody tr.row-link { cursor: pointer; }
.table tbody tr.row-link:hover .entity-name { color: var(--pri); }
.table tbody tr.row-link td:last-child { cursor: default; }

/* ── DEPTH UPGRADES ─────────────────────────────────────────────── */
/* Cards: subtler inner glow */
.card {
  box-shadow:
    0 4px 24px rgba(0,0,0,.3),
    inset 0 1px 0 rgba(255,255,255,.06);
}
/* Focused inputs: extra depth */
.form-control:focus,
.form-select:focus {
  box-shadow:
    0 0 0 4px var(--pri-ring),
    0 2px 12px rgba(109,94,245,.1);
}
/* Table overdue row */
.table tbody tr.row-overdue td {
  background: rgba(244,63,94,.04);
}
.table tbody tr.row-overdue:hover td {
  background: rgba(244,63,94,.07);
}

/* ── TABLE: icon-only delete button tighter ──────────────────────── */
.btn-icon {
  width: 32px; height: 32px;
  padding: 0;
  display: inline-grid; place-items: center;
  border-radius: var(--r-sm);
  flex-shrink: 0;
}
.btn-icon svg { width: 14px; height: 14px; }

/* Actions cell wrapping */
.action-cell { display: flex; align-items: center; gap: 6px; justify-content: flex-end; }

/* ── STAGE MINI-BAR (pipeline spark) ────────────────────────────── */
.stage-bar {
  height: 3px;
  border-radius: 99px;
  background: var(--surface3);
  margin-top: 8px;
  overflow: hidden;
}
.stage-bar-fill {
  height: 100%;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--mc-color, var(--pri)), var(--pri2));
  box-shadow: 0 0 6px var(--mc-color, var(--pri));
}

/* ── ALERT improvements ─────────────────────────────────────────── */
.alert-warning {
  background: var(--warn-bg);
  border: 1px solid rgba(245,158,11,.25);
  color: #fcd34d;
}

/* Stage/status badge shortcuts */
.badge-prospecting  { background:rgba(255,255,255,.07);   color:var(--txt2); }
.badge-qualification{ background:var(--info-bg);           color:var(--info); }
.badge-proposal     { background:var(--pri-dim);           color:#a78bfa; }
.badge-negotiation  { background:var(--warn-bg);           color:var(--warn); }
.badge-closed_won   { background:var(--success-bg);        color:var(--success); }
.badge-closed_lost  { background:var(--danger-bg);         color:var(--danger); }
.badge-new          { background:var(--info-bg);           color:var(--info); }
.badge-contacted    { background:var(--pri-dim);           color:#a78bfa; }
.badge-qualified    { background:var(--success-bg);        color:var(--success); }
.badge-converted    { background:var(--success-bg);        color:var(--success); }
.badge-disqualified { background:rgba(255,255,255,.07);    color:var(--txt3); }
.badge-pending      { background:var(--warn-bg);           color:var(--warn); }
.badge-in_progress  { background:var(--info-bg);           color:var(--info); }
.badge-completed    { background:var(--success-bg);        color:var(--success); }
.badge-cancelled    { background:rgba(255,255,255,.07);    color:var(--txt3); }
.badge-active       { background:var(--success-bg);        color:var(--success); }
.badge-inactive     { background:rgba(255,255,255,.07);    color:var(--txt3); }

/* ═══ LEADS COCKPIT v2.2 — layout de gente que cobra mensalidade ═══ */
.crm-page-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:22px;
  margin-bottom:22px;
}
.crm-page-head h1{
  font-family:'Outfit','Inter',sans-serif;
  font-size:32px;
  line-height:1.05;
  letter-spacing:-.045em;
  margin:6px 0 8px;
  color:var(--txt1);
}
.crm-page-head p{
  margin:0;
  color:var(--txt2);
  font-size:14px;
}
.leads-hero{
  position:relative;
  padding:24px;
  border:1px solid var(--bd);
  border-radius:var(--r-xl);
  background:
    radial-gradient(circle at 92% 18%, rgba(109,94,245,.24), transparent 28%),
    linear-gradient(145deg, rgba(15,26,46,.82), rgba(8,14,28,.72));
  box-shadow:0 14px 42px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.06);
  overflow:hidden;
}
.leads-hero::after{
  content:'';
  position:absolute;
  right:18%; top:-40px;
  width:180px; height:180px;
  border-radius:999px;
  background:rgba(56,189,248,.08);
  filter:blur(20px);
  pointer-events:none;
}
.page-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;position:relative;z-index:1}
.lead-funnel-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-bottom:18px;
}
.lead-kpi-card{
  position:relative;
  min-height:168px;
  padding:20px;
  border-radius:var(--r-xl);
  border:1px solid var(--bd);
  background:linear-gradient(145deg, rgba(15,26,46,.96), rgba(9,15,31,.9));
  box-shadow:0 10px 34px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.06);
  overflow:hidden;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.lead-kpi-card:hover{transform:translateY(-2px);border-color:var(--bd2);box-shadow:0 16px 42px rgba(0,0,0,.42)}
.lead-kpi-card::before{
  content:'';
  position:absolute;
  inset:-1px;
  background:radial-gradient(circle at 50% -20%, var(--kpi-glow, rgba(109,94,245,.16)), transparent 55%);
  pointer-events:none;
}
.lead-kpi-card.blue{--kpi-glow:rgba(56,189,248,.18);--kpi-accent:var(--info);--kpi-bg:rgba(56,189,248,.12)}
.lead-kpi-card.purple{--kpi-glow:rgba(109,94,245,.22);--kpi-accent:#a78bfa;--kpi-bg:rgba(109,94,245,.15)}
.lead-kpi-card.green{--kpi-glow:rgba(16,185,129,.18);--kpi-accent:var(--success);--kpi-bg:rgba(16,185,129,.12)}
.lead-kpi-card.slate{--kpi-glow:rgba(255,255,255,.05);--kpi-accent:var(--txt2);--kpi-bg:rgba(255,255,255,.07)}
.lead-kpi-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;position:relative;z-index:1}
.lead-kpi-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--kpi-bg);color:var(--kpi-accent);box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}
.lead-kpi-icon svg{width:19px;height:19px}
.lead-kpi-percent{font-size:12px;font-weight:800;color:var(--kpi-accent);background:var(--kpi-bg);border:1px solid rgba(255,255,255,.06);padding:4px 9px;border-radius:999px}
.lead-kpi-label{position:relative;z-index:1;font-size:12px;font-weight:800;color:var(--txt2);letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}
.lead-kpi-value{position:relative;z-index:1;font-family:'Outfit','Inter',sans-serif;font-size:40px;font-weight:850;letter-spacing:-.06em;line-height:.95;color:var(--txt1)}
.lead-kpi-sub{position:relative;z-index:1;color:var(--txt3);font-size:12px;margin-top:8px}
.pipeline-strip{margin-bottom:22px}
.pipeline-strip-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 8px}
.pipeline-strip-head strong{display:block;font-size:15px;color:var(--txt1);margin-top:3px}
.pipeline-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;padding:12px 20px 20px}
.pipeline-step{position:relative;padding:16px 16px 18px;background:rgba(255,255,255,.025);border:1px solid var(--bd);overflow:hidden;min-height:92px}
.pipeline-step:first-child{border-radius:18px 0 0 18px}.pipeline-step:last-child{border-radius:0 18px 18px 0}
.pipeline-step span{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--txt3);margin-bottom:8px}
.pipeline-step strong{font-family:'Outfit','Inter',sans-serif;font-size:26px;line-height:1;color:var(--txt1)}
.pipeline-step em{position:absolute;left:0;right:auto;bottom:0;height:3px;background:linear-gradient(90deg,var(--flow-color,var(--pri)),var(--pri2));box-shadow:0 0 12px var(--flow-color,var(--pri));min-width:3%}
.pipeline-step.blue{--flow-color:var(--info)}.pipeline-step.purple{--flow-color:#a78bfa}.pipeline-step.green{--flow-color:var(--success)}.pipeline-step.slate{--flow-color:var(--txt3)}
.data-card{margin-top:0}
.data-toolbar{min-height:72px}
.data-toolbar .form-control{min-width:250px}
@media(max-width:1100px){.lead-funnel-grid,.pipeline-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.pipeline-step:first-child,.pipeline-step:last-child{border-radius:18px}.pipeline-step{border-radius:18px}}
@media(max-width:700px){.crm-page-head{flex-direction:column}.page-actions{width:100%}.page-actions .btn{flex:1}.lead-funnel-grid,.pipeline-flow{grid-template-columns:1fr}.data-toolbar .form-control{min-width:0;width:100%}.data-toolbar form{width:100%;flex-wrap:wrap}.crm-page-head h1{font-size:26px}}

@media (max-width:900px){
  .sidebar-restore{display:inline-flex;top:14px;left:14px;z-index:70}
  body.sidebar-open .sidebar-restore{display:none}
}

/* Dashboard funcional */
.dashboard-functional .dashboard-hero-panel{display:flex;flex-direction:column}
.dashboard-functional .dashboard-hero-panel::after{opacity:.55}
.dashboard-functional .hero-actions a{display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 18px;border-radius:var(--r);font-size:14px;font-weight:700;border:1px solid transparent;position:relative;z-index:1}
.dashboard-functional .hero-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:auto;padding-top:24px;position:relative;z-index:1}
.dashboard-functional .hero-summary a{padding:13px 14px;border:1px solid var(--bd);border-radius:16px;background:rgba(255,255,255,.045);min-width:0;transition:.15s}
.dashboard-functional .hero-summary a:hover{border-color:var(--bd2);background:rgba(255,255,255,.07);transform:translateY(-1px)}
.dashboard-functional .hero-summary strong{display:block;font-family:'Outfit','Inter',sans-serif;font-size:19px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-functional .hero-summary span{display:block;margin-top:4px;color:var(--txt3);font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.dashboard-functional .kpi-card{display:block;transition:transform .15s,border-color .15s,background .15s;position:relative;overflow:hidden}
.dashboard-functional .kpi-card:hover{transform:translateY(-2px);border-color:var(--bd2);background:linear-gradient(180deg,rgba(21,32,54,.94),rgba(10,17,34,.78))}
.dashboard-functional .kpi-card.info{border-color:rgba(56,189,248,.22);background:linear-gradient(135deg,rgba(56,189,248,.12),rgba(15,26,46,.82))}
.dashboard-functional .kpi-card.success{border-color:rgba(16,185,129,.24);background:linear-gradient(135deg,rgba(16,185,129,.12),rgba(15,26,46,.82))}
.dashboard-functional .kpi-card.warning{border-color:rgba(245,158,11,.24);background:linear-gradient(135deg,rgba(245,158,11,.12),rgba(15,26,46,.82))}
.dashboard-functional .kpi-card.danger{border-color:rgba(244,63,94,.28);background:linear-gradient(135deg,rgba(244,63,94,.13),rgba(15,26,46,.82))}
.dashboard-functional .kpi-card.danger small{color:#fda4af}.dashboard-functional .kpi-card.warning small{color:#fbbf24}.dashboard-functional .kpi-card.info small{color:var(--info)}.dashboard-functional .kpi-card.success small{color:var(--success)}
.dashboard-functional .pipeline-item{padding:2px 0;border-radius:12px;transition:.15s}
.dashboard-functional .pipeline-item:hover span,.dashboard-functional .pipeline-item:hover strong{color:var(--txt1)}
.dashboard-functional .dashboard-panel-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid var(--bd);color:var(--txt2);font-size:12px}
.dashboard-functional .dashboard-panel-footer strong{color:var(--txt1);font-family:'JetBrains Mono',monospace;font-size:12px}
.dashboard-action-list{gap:12px}
.dashboard-action-list a{position:relative;display:block;padding:0 0 0 22px;min-height:54px}
.dashboard-action-list a::before{content:'';position:absolute;left:0;top:7px;width:9px;height:9px;border-radius:50%;background:var(--pri);box-shadow:0 0 0 4px rgba(109,94,245,.12)}
.dashboard-action-list a:hover b{color:var(--pri)}
.dashboard-action-list .badge{margin-bottom:5px}
.empty-state.compact{padding:16px;border:1px dashed var(--bd2);border-radius:var(--r);background:rgba(255,255,255,.025)}
.empty-state.compact::before{display:none}
.empty-state.compact b{padding:0}.empty-state.compact span{padding:0}
@media(max-width:1200px){.dashboard-functional .hero-summary{grid-template-columns:1fr}}
@media(max-width:900px){.dashboard-functional .hero-summary{grid-template-columns:1fr}.dashboard-functional .dashboard-panel-footer{align-items:flex-start;flex-direction:column}}
