:root{
  --ic-blue:#18499b;
  --ic-blue-mid:#1f64b5;
  --ic-cyan:#1294d3;
  --ic-mint:#83ce96;
  --ic-green:#489e88;
  --ic-ink:#092046;
  --ic-bg:#f4f8fc;
  --ic-surface:#ffffff;
  --ic-soft:#edf5fb;
  --ic-border:#d9e6f0;
  --ic-text:#10253c;
  --ic-muted:#6f8498;
  --sidebar:264px
}
*{box-sizing:border-box}
body{margin:0;background:var(--ic-bg);color:var(--ic-text);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:var(--ic-blue-mid)}
.form-control:focus,.form-select:focus{border-color:rgba(18,148,211,.72);box-shadow:0 0 0 .2rem rgba(18,148,211,.12)}
.btn-primary{--bs-btn-bg:var(--ic-blue);--bs-btn-border-color:var(--ic-blue);--bs-btn-hover-bg:var(--ic-blue-mid);--bs-btn-hover-border-color:var(--ic-blue-mid);--bs-btn-active-bg:var(--ic-ink);--bs-btn-active-border-color:var(--ic-ink)}
.btn-outline-primary{--bs-btn-color:var(--ic-blue);--bs-btn-border-color:var(--ic-blue);--bs-btn-hover-bg:var(--ic-blue);--bs-btn-hover-border-color:var(--ic-blue)}

.crm-login{min-height:100vh;background:radial-gradient(circle at 14% 8%,rgba(131,206,150,.24),transparent 28%),radial-gradient(circle at 88% 88%,rgba(18,148,211,.18),transparent 32%),linear-gradient(135deg,#f9fcff 0%,#eef6fb 52%,#f5fbf7 100%)}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}
.login-card{width:min(460px,100%);background:rgba(255,255,255,.96);border:1px solid rgba(24,73,155,.13);border-radius:22px;padding:36px;box-shadow:0 28px 80px rgba(9,32,70,.14)}
.brand-lockup{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.brand-logo-login{display:block;width:min(330px,100%);height:auto}
.brand-product{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--ic-blue);text-transform:uppercase;letter-spacing:.10em}
.brand-product:before{content:"";width:22px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--ic-blue),var(--ic-cyan),var(--ic-mint))}
.brand-sub{font-size:11px;color:var(--ic-muted);text-transform:uppercase;letter-spacing:.08em}
.login-card h1{color:var(--ic-ink);font-weight:750}

.app-shell{min-height:100vh;display:flex}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:linear-gradient(180deg,var(--ic-ink) 0%,#0d3768 48%,var(--ic-blue) 100%);color:#fff;display:flex;flex-direction:column;z-index:1030;box-shadow:8px 0 28px rgba(9,32,70,.08)}
.sidebar-brand{padding:16px 16px 14px;border-bottom:1px solid rgba(255,255,255,.10)}
.sidebar-logo-box{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;padding:10px 12px;box-shadow:0 6px 18px rgba(0,0,0,.12)}
.sidebar-logo{display:block;width:100%;max-width:205px;height:auto}
.sidebar-product{margin-top:9px;font-size:10px;font-weight:700;color:#bcd9ee;text-transform:uppercase;letter-spacing:.13em;text-align:center}
.sidebar-nav{padding:14px 10px;overflow:auto;flex:1}
.nav-section{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#8fb7d8;padding:15px 12px 6px}
.nav-item{display:block;width:100%;text-align:left;border:0;background:transparent;color:#dce9f5;border-radius:10px;padding:10px 12px;margin:2px 0;font-size:14px;transition:background .15s,color .15s,transform .15s}
.nav-item:hover{background:rgba(18,148,211,.18);color:#fff}
.nav-item.active{background:linear-gradient(90deg,rgba(18,148,211,.30),rgba(131,206,150,.14));color:#fff;box-shadow:inset 3px 0 0 var(--ic-mint)}
.sidebar-footer{padding:14px;border-top:1px solid rgba(255,255,255,.1)}
.user-box{background:rgba(255,255,255,.08);padding:10px 12px;border-radius:10px;margin-bottom:10px;display:flex;flex-direction:column}
.user-box span{font-size:12px;color:#b8cee0}

.main-area{margin-left:var(--sidebar);min-width:0;flex:1}
.topbar{height:62px;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--ic-border);display:flex;align-items:center;padding:0 24px;position:sticky;top:0;z-index:1010}
.topbar strong{color:var(--ic-ink)}
.content-wrap{padding:24px}
.panel{background:#fff;border:1px solid var(--ic-border);border-radius:16px;padding:20px;box-shadow:0 5px 20px rgba(9,32,70,.045)}
.panel-title{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.panel-title h2{font-size:20px;margin:0;color:var(--ic-ink)}
.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.toolbar .form-control,.toolbar .form-select{max-width:260px}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}
.metric-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--ic-border);border-radius:16px;padding:18px;box-shadow:0 4px 16px rgba(9,32,70,.035)}
.metric-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--ic-cyan),var(--ic-mint))}
.metric-label{font-size:12px;color:var(--ic-muted);text-transform:uppercase;letter-spacing:.06em}
.metric-value{font-size:28px;font-weight:780;color:var(--ic-blue);margin-top:4px}
.metric-note{font-size:12px;color:#8291a2}
.table>:not(caption)>*>*{padding:.7rem .75rem;vertical-align:middle}
.table thead th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#607589;background:#f5f9fc;white-space:nowrap;border-bottom-color:var(--ic-border)}
.badge-soft{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#eaf4fb;color:var(--ic-blue);font-size:12px;font-weight:650}
.score-pill{display:inline-grid;place-items:center;min-width:34px;height:26px;border-radius:8px;background:#eaf5fd;color:var(--ic-blue);font-weight:700;font-size:12px}
.score-pill.high{background:#eaf8ef;color:#28784a}.score-pill.low{background:#fff3e6;color:#a55a00}
.pipeline{display:grid;grid-template-columns:repeat(11,minmax(220px,1fr));gap:12px;overflow-x:auto;padding-bottom:10px}
.pipeline-col{background:#eef4f8;border:1px solid var(--ic-border);border-radius:14px;min-height:200px;padding:10px}
.pipeline-head{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:12px;font-weight:700;margin-bottom:8px;color:var(--ic-ink)}
.opp-card{background:#fff;border:1px solid #dbe6ee;border-left:4px solid var(--ic-cyan);border-radius:10px;padding:10px;margin-bottom:8px;cursor:pointer}
.opp-card:hover{box-shadow:0 7px 20px rgba(24,73,155,.10);border-left-color:var(--ic-mint)}
.opp-company{font-size:11px;color:#718196}.opp-title{font-weight:700;font-size:13px;color:var(--ic-ink)}.opp-meta{font-size:11px;color:#7c8b9b;margin-top:6px}.overdue{color:#b42318!important;font-weight:650}.today{color:#a05a00!important;font-weight:650}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.list-clean{list-style:none;margin:0;padding:0}.list-clean li{padding:10px 0;border-bottom:1px solid #edf1f5}.list-clean li:last-child{border-bottom:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .span-2{grid-column:1/-1}.required:after{content:" *";color:#dc3545}
.modal-header{border-bottom-color:var(--ic-border)}.modal-footer{border-top-color:var(--ic-border)}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}}
@media(max-width:991px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.main-area{margin-left:0}.content-wrap{padding:16px}.topbar{padding:0 16px}}
@media(max-width:640px){.metric-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.login-card{padding:26px 22px}.table-responsive{font-size:13px}.brand-logo-login{width:min(300px,100%)}}
