:root{--primary:#635bff;--primary-dark:#4f46e5;--nav:#111827;--bg:#f3f5f9;--text:#172033;--muted:#778198}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.app-shell{min-height:100vh;display:flex}.sidebar{width:260px;background:linear-gradient(180deg,#111827 0%,#172033 100%);color:white;padding:24px 18px;position:fixed;inset:0 auto 0 0;z-index:1040}.brand{display:flex;align-items:center;gap:12px;color:white;text-decoration:none;font-size:1.05rem;font-weight:750;margin-bottom:36px}.brand-icon{width:40px;height:40px;display:grid;place-items:center;background:linear-gradient(135deg,#776dff,#4f46e5);border-radius:12px;box-shadow:0 8px 20px #0004}.nav-section{font-size:.68rem;letter-spacing:.14em;color:#8390aa;margin:0 12px 10px}.sidebar .nav-link{color:#aeb8ca;padding:11px 13px;border-radius:10px;margin-bottom:5px;font-weight:550}.sidebar .nav-link i{width:25px}.sidebar .nav-link:hover,.sidebar .nav-link:focus{color:white;background:#ffffff12}.main-area{margin-left:260px;width:calc(100% - 260px)}.topbar{height:76px;background:#fff;display:flex;align-items:center;padding:0 30px;border-bottom:1px solid #e8eaf0;position:sticky;top:0;z-index:1020}.page-eyebrow{font-size:.65rem;letter-spacing:.12em;color:var(--muted)}.content-area{padding:28px 30px}.user-button{display:flex;align-items:center;gap:9px;border:0;background:#f6f7fa}.avatar{width:32px;height:32px;border-radius:50%;background:#e8e6ff;color:var(--primary);display:grid;place-items:center;font-weight:800}.page-title{font-size:1.65rem;font-weight:760;margin:0}.page-subtitle{color:var(--muted);margin:.3rem 0 0}.card{border:0;border-radius:15px;box-shadow:0 5px 20px rgba(24,35,55,.06)}.card-header{background:transparent;border-bottom:1px solid #edf0f5;padding:18px 20px}.card-body{padding:21px}.btn{border-radius:9px;font-weight:600}.btn-primary{background:var(--primary);border-color:var(--primary)}.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.form-control,.form-select{border-radius:9px;border-color:#dfe3eb;padding:.67rem .8rem}.form-control:focus,.form-select:focus{border-color:#9a94ff;box-shadow:0 0 0 .2rem #635bff1c}.form-label{font-weight:650;font-size:.88rem}.table>:not(caption)>*>*{padding:.9rem 1rem;vertical-align:middle}.table thead th{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#7a8497;background:#f8f9fc;white-space:nowrap}.badge-soft-success{background:#e9f9f0;color:#168753}.badge-soft-danger{background:#fff0f1;color:#d63b4a}.badge-soft-primary{background:#efedff;color:#584ff1}.kpi-card{overflow:hidden;position:relative}.kpi-card:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;background:#635bff0c;right:-25px;top:-25px}.kpi-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#efedff;color:var(--primary);font-size:1.2rem}.kpi-label{color:var(--muted);font-size:.82rem;font-weight:600}.kpi-value{font-size:1.55rem;font-weight:780;margin-top:4px}.login-page{min-height:100vh;background:linear-gradient(135deg,#151c2c,#2e2a78);display:grid;place-items:center;padding:20px}.login-card{max-width:440px;width:100%;border-radius:20px}.login-logo{width:58px;height:58px;border-radius:16px;background:linear-gradient(135deg,#776dff,#4f46e5);color:white;display:grid;place-items:center;font-size:1.55rem;box-shadow:0 12px 28px #635bff55}.empty-state{padding:50px;text-align:center;color:var(--muted)}@media(max-width:991px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.show{transform:translateX(0)}.main-area{margin-left:0;width:100%}.content-area{padding:20px}.topbar{padding:0 18px}}
.funnel-dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:10px;vertical-align:-1px}.funnel-badge{--funnel-color:#64748b;display:inline-flex;align-items:center;padding:.34rem .65rem;border-radius:999px;font-size:.76rem;font-weight:750;color:var(--funnel-color);background:color-mix(in srgb,var(--funnel-color) 12%,white);border:1px solid color-mix(in srgb,var(--funnel-color) 25%,white)}.form-control-color{max-width:55px;padding:.3rem}.report-section{background:#fff;border-radius:16px;padding:20px;box-shadow:0 5px 20px rgba(24,35,55,.05)}.report-heading{display:flex;align-items:center;gap:12px;border-bottom:1px solid #dfe3e8;padding-bottom:12px;margin-bottom:18px}.report-heading span{width:5px;height:18px;border-radius:5px;background:#2673ad}.report-heading h2{font-size:1rem;text-transform:uppercase;letter-spacing:.02em;font-weight:800;margin:0;color:#101827}.report-card{height:100%;min-height:112px;position:relative;background:#f7f8fa;border-radius:9px;padding:13px 14px 10px 20px;overflow:hidden}.report-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--tone)}.report-card-icon{position:absolute;right:12px;top:10px;color:var(--tone);opacity:.18;font-size:1.4rem}.report-card-label{font-size:.76rem;color:#6b7280}.report-card-value{font-size:1.55rem;line-height:1.25;font-weight:800;color:var(--tone);margin-top:8px;white-space:nowrap}.report-card-caption{font-size:.66rem;color:#a0a5ad;margin-top:2px}.tone-neutral{--tone:#59605c}.tone-green{--tone:#147d6f}.tone-gold{--tone:#b58a00}.tone-blue{--tone:#276fa8}.tone-red{--tone:#ad3034}.tone-amber{--tone:#955b00}.metric-progress{margin-top:14px;color:#72777f;font-size:.76rem}.metric-progress .progress{height:24px;margin-top:8px;background:#d9dadd;border-radius:5px}.metric-progress .progress-bar{text-align:left;padding-left:14px;font-weight:750;font-size:.75rem;border-radius:5px}.metric-green{background:#147d6f}.metric-amber{background:#955b00}.closer-panel{border:1px solid #e4e8ed;border-radius:12px;overflow:hidden;background:#fff}.closer-panel-header{display:flex;justify-content:space-between;align-items:center;padding:10px 18px;background:#147d6f;color:white}.closer-panel-header strong{font-size:1.05rem;letter-spacing:.03em}.closer-panel-header span{font-size:.75rem}@media(max-width:767px){.report-section{padding:14px}.report-card-value{font-size:1.2rem}.report-card{min-height:105px}.report-grid>.col-lg{flex:0 0 50%;max-width:50%}}
.validation-summary-valid{display:none!important}.field-validation-valid{display:none}.input-validation-error{border-color:#dc3545}.input-validation-error:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.15)}

/* Closy branding */
.brand>span:last-child{display:flex;flex-direction:column;line-height:1.05}.brand>span:last-child strong{font-size:1.15rem;letter-spacing:.01em}.brand>span:last-child small{font-size:.66rem;font-weight:500;color:#97a3b8;margin-top:4px;letter-spacing:.03em}.brand-icon .bi-kanban-fill{font-size:1.15rem}.login-brand{display:flex;align-items:center;gap:14px}.login-brand-name{font-size:1.6rem;line-height:1;font-weight:850;letter-spacing:-.03em;color:#172033}.login-brand-caption{margin-top:5px;color:#778198;font-size:.78rem}.login-logo{flex:0 0 auto}.login-security{display:flex;align-items:center;justify-content:center;gap:7px;color:#8a93a3;font-size:.76rem}.login-security i{color:#147d6f}.login-card:before{content:"";display:block;height:5px;background:linear-gradient(90deg,#635bff,#147d6f);border-radius:20px 20px 0 0}

/* Dashboard v9 */
.dashboard-highlight{background:linear-gradient(135deg,#0f766e,#115e59);border-radius:18px;color:#fff;box-shadow:0 16px 40px rgba(15,118,110,.18);overflow:hidden}.dashboard-highlight-title{display:flex;justify-content:space-between;align-items:center;padding:22px 24px 12px}.dashboard-highlight-title .eyebrow{font-size:.72rem;letter-spacing:.12em;opacity:.72;font-weight:700}.dashboard-highlight-title h2{margin:.2rem 0 0;font-size:1.35rem}.highlight-metric{padding:20px 24px 24px;border-top:1px solid rgba(255,255,255,.13)}.highlight-metric+ .highlight-metric{border-left:1px solid rgba(255,255,255,.13)}.highlight-metric span{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;opacity:.75;font-weight:700}.highlight-metric strong{display:block;font-size:1.8rem;margin:.25rem 0}.highlight-metric small{opacity:.7}@media(max-width:767.98px){.highlight-metric+.highlight-metric{border-left:0}.dashboard-highlight-title{align-items:flex-start;gap:10px}}

/* Closy logo assets - V10.1 */
.brand-logo-wrap{width:46px;height:46px;display:grid;place-items:center;background:#fff;border-radius:12px;padding:5px;box-shadow:0 8px 20px #0004;overflow:hidden;flex:0 0 auto}
.brand-logo{display:block;width:100%;height:100%;object-fit:contain;border-radius:8px}
.login-logo{width:72px;height:72px;border-radius:0;background:transparent;box-shadow:none;display:grid;place-items:center;overflow:visible}
.login-logo img{display:block;width:72px;height:72px;object-fit:contain}

/* v10.3 - saudação do usuário e indicador do Head Comercial */
.user-greeting { display:inline-flex; flex-direction:column; align-items:flex-start; line-height:1.05; margin-left:.15rem; }
.user-greeting small { font-size:.67rem; color:#64748b; font-weight:500; }
.user-greeting strong { font-size:.86rem; color:#0f172a; font-weight:700; }
.head-commercial-card { background:linear-gradient(135deg,#4c1d95 0%,#6d28d9 55%,#7c3aed 100%); color:#fff; border-radius:16px; padding:1.35rem 1.5rem; box-shadow:0 12px 28px rgba(76,29,149,.18); }
.head-commercial-card .eyebrow { color:#ddd6fe; }
.head-commercial-card h2 { color:#fff; font-size:1.05rem; }
.head-commercial-card small { color:#ede9fe; }
.head-commercial-value { font-size:2rem; font-weight:800; letter-spacing:-.03em; margin:.15rem 0; }
.head-commercial-detail { border-left:1px solid rgba(255,255,255,.28); padding-left:1.25rem; display:flex; flex-direction:column; }
.head-commercial-detail span { font-size:.75rem; text-transform:uppercase; letter-spacing:.05em; color:#ddd6fe; }
.head-commercial-detail strong { font-size:1.35rem; margin:.15rem 0; }
.head-percent-form { background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2); border-radius:12px; padding:.85rem; }
.head-percent-form .form-label { color:#fff; font-size:.78rem; font-weight:700; }
.head-percent-form .input-group-text { background:#ede9fe; color:#4c1d95; border-color:#ede9fe; font-weight:700; }
@media (max-width: 991.98px) { .head-commercial-detail { border-left:0; padding-left:0; border-top:1px solid rgba(255,255,255,.2); padding-top:1rem; } }
