/* Apollo Connected CRM — sales workspace built on the Apollo V12 design language. */
.crm-portal-theme {
  --crm-navy:#071827;
  --crm-navy-2:#0b2234;
  --crm-orange:#f05a22;
  --crm-orange-2:#ff6a29;
  --crm-soft:#f3f5f6;
  --crm-line:#d9dde1;
  --crm-green:#15755b;
  --crm-red:#a64242;
  --crm-amber:#a56d14;
}
.crm-portal-theme .sidebar{border-top-color:var(--crm-orange)}
.crm-portal-theme .nav-list button.active{background:#163044;border-left-color:var(--crm-orange)}
.crm-portal-theme .page-heading h1{letter-spacing:-.04em}
.crm-portal-theme .date-filter-panel{display:none!important}
.crm-portal-theme #apiBanner{display:none!important}
.crm-portal-theme .top-actions>label:first-child{display:none!important}
.crm-portal-theme .workspace{background:linear-gradient(180deg,#f7f8f9 0,#f3f5f6 100%)}

.crm-shell{display:grid;gap:18px}
.crm-hero{
  position:relative;overflow:hidden;background:linear-gradient(120deg,#071827 0%,#0b2234 70%,#163044 100%);
  color:#fff;padding:26px 28px;border:1px solid #071827;min-height:150px;display:flex;align-items:center;justify-content:space-between;gap:24px
}
.crm-hero:after{content:"";position:absolute;right:-56px;top:-70px;width:250px;height:250px;border:46px solid rgba(240,90,34,.14);border-radius:50%}
.crm-hero-copy{position:relative;z-index:1;max-width:780px}
.crm-hero-eyebrow{font-size:10px;letter-spacing:.17em;text-transform:uppercase;font-weight:800;color:#ff9a70;margin:0 0 8px}
.crm-hero h2{font-size:28px;line-height:1.05;letter-spacing:-.035em;margin:0 0 9px}
.crm-hero p{margin:0;color:#c9d4dc;max-width:680px;font-size:13px}
.crm-hero-actions{position:relative;z-index:1;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.crm-hero-actions button{background:var(--crm-orange);border-color:var(--crm-orange);color:#fff}
.crm-hero-actions .secondary-button{background:transparent;color:#fff;border-color:#526474}

.crm-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.crm-kpi{background:#fff;border:1px solid var(--crm-line);padding:18px 18px 16px;position:relative;min-height:112px}
.crm-kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--crm-orange)}
.crm-kpi-label{font-size:10px;letter-spacing:.11em;text-transform:uppercase;font-weight:800;color:#687582;margin-bottom:8px}
.crm-kpi-value{font-size:28px;font-weight:900;letter-spacing:-.04em;color:#071827;line-height:1}
.crm-kpi-note{margin-top:8px;color:#7a8790;font-size:11px}

.crm-grid-2{display:grid;grid-template-columns:1.25fr .75fr;gap:16px}
.crm-grid-equal{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.crm-panel{background:#fff;border:1px solid var(--crm-line)}
.crm-panel-head{padding:16px 18px;border-bottom:1px solid var(--crm-line);display:flex;justify-content:space-between;gap:12px;align-items:center}
.crm-panel-head h3{margin:0;font-size:15px;color:#071827}
.crm-panel-head p{margin:3px 0 0;color:#7b8790;font-size:11px}
.crm-panel-body{padding:16px 18px}
.crm-panel-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.crm-panel-actions button{min-height:36px;font-size:11px;padding:7px 11px}

.crm-toolbar{display:flex;gap:10px;align-items:end;justify-content:space-between;flex-wrap:wrap;background:#fff;border:1px solid var(--crm-line);padding:12px 14px}
.crm-toolbar-group{display:flex;gap:8px;align-items:end;flex-wrap:wrap}
.crm-toolbar label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#687582;display:grid;gap:5px}
.crm-toolbar input,.crm-toolbar select{min-height:38px;min-width:150px;background:#fff}
.crm-toolbar .crm-search{min-width:270px}

.crm-table-wrap{overflow:auto;border:1px solid var(--crm-line);background:#fff}
.crm-table{width:100%;border-collapse:collapse;min-width:880px}
.crm-table th{position:sticky;top:0;background:#f2f4f5;color:#53606a;font-size:10px;text-transform:uppercase;letter-spacing:.07em;text-align:left;padding:11px 12px;border-bottom:1px solid var(--crm-line);white-space:nowrap}
.crm-table td{padding:11px 12px;border-bottom:1px solid #edf0f2;font-size:12px;color:#25313c;vertical-align:top}
.crm-table tbody tr:hover{background:#fafbfb}
.crm-table .crm-primary{font-weight:800;color:#071827}
.crm-table .crm-sub{display:block;color:#7a8790;font-size:10px;margin-top:2px}
.crm-table button.crm-link{background:none;border:0;color:#0b2234;text-decoration:underline;padding:0;min-height:0;font-size:12px;text-align:left}

.crm-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;background:#edf1f4;color:#42515e;white-space:nowrap}
.crm-badge.orange{background:#fff0e9;color:#b5481b}.crm-badge.green{background:#eaf6f1;color:#12644e}.crm-badge.red{background:#fff0f0;color:#953b3b}.crm-badge.amber{background:#fff6df;color:#805a10}.crm-badge.navy{background:#eaf0f5;color:#163044}

.crm-pipeline{display:grid;grid-template-columns:repeat(5,minmax(200px,1fr));gap:10px;overflow:auto;padding-bottom:4px}
.crm-stage{background:#f4f6f7;border:1px solid var(--crm-line);min-height:270px;padding:10px}
.crm-stage-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:10px;padding:2px 2px 8px;border-bottom:2px solid #d9dde1}
.crm-stage-head strong{font-size:11px;text-transform:uppercase;letter-spacing:.07em}.crm-stage-head span{font-size:10px;color:#77838c}
.crm-opportunity-card{background:#fff;border:1px solid #dfe4e7;border-left:3px solid var(--crm-orange);padding:10px;margin-bottom:8px;box-shadow:0 4px 14px rgba(7,24,39,.04)}
.crm-opportunity-card strong{display:block;font-size:12px;margin-bottom:4px}.crm-opportunity-card span{font-size:10px;color:#71808a;display:block;margin-top:2px}
.crm-opportunity-card .value{font-size:13px;font-weight:900;color:#071827;margin-top:8px}

.crm-timeline{display:grid;gap:0}
.crm-event{display:grid;grid-template-columns:18px 1fr;gap:10px;padding:0 0 14px;position:relative}
.crm-event:before{content:"";position:absolute;left:7px;top:16px;bottom:-3px;width:1px;background:#d7dde1}.crm-event:last-child:before{display:none}
.crm-event-dot{width:15px;height:15px;border-radius:50%;background:#fff;border:4px solid var(--crm-orange);margin-top:3px;z-index:1}
.crm-event-body{border:1px solid #e1e5e8;background:#fff;padding:11px 12px}.crm-event-body strong{font-size:12px}.crm-event-body p{font-size:11px;color:#63717b;margin:4px 0 0}.crm-event-meta{font-size:9px;color:#87939b;text-transform:uppercase;letter-spacing:.05em;margin-top:5px}

.crm-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.crm-form-grid .wide{grid-column:1/-1}
.crm-form-grid label{display:grid;gap:6px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#66737d}
.crm-form-grid input,.crm-form-grid select,.crm-form-grid textarea{width:100%;min-height:40px;background:#fff}
.crm-form-grid textarea{min-height:92px;resize:vertical}
.crm-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--crm-line)}

.crm-account-banner{background:#fff;border:1px solid var(--crm-line);border-top:4px solid var(--crm-orange);padding:18px;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}
.crm-account-banner h3{margin:0 0 5px;font-size:20px}.crm-account-meta{display:flex;gap:8px;flex-wrap:wrap;color:#66737d;font-size:11px}.crm-account-owner{min-width:210px;background:#f4f6f7;padding:11px 12px}.crm-account-owner span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:#7a8790}.crm-account-owner strong{font-size:13px}

.crm-security-callout{display:grid;grid-template-columns:44px 1fr;gap:12px;background:#071827;color:#fff;padding:16px 18px;border-left:4px solid var(--crm-orange)}
.crm-security-icon{width:38px;height:38px;border:1px solid #496071;display:grid;place-items:center;font-weight:900;color:#ff7d45}.crm-security-callout strong{font-size:13px}.crm-security-callout p{font-size:11px;color:#c7d2d9;margin:4px 0 0}

.crm-permission-matrix{display:grid;gap:8px}.crm-permission-row{display:grid;grid-template-columns:minmax(160px,1.4fr) repeat(6,minmax(80px,.7fr));gap:1px;background:#dfe4e7;border:1px solid #dfe4e7}.crm-permission-row>div{background:#fff;padding:9px 10px;font-size:10px;display:flex;align-items:center}.crm-permission-row.header>div{background:#f2f4f5;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#5f6c75}.crm-permission-row .user-cell{display:block}.crm-permission-row .user-cell strong{display:block;font-size:11px;color:#071827}.crm-permission-row .user-cell span{display:block;color:#7a8790;margin-top:2px}

.crm-empty{padding:28px 18px;text-align:center;color:#7c8992;font-size:12px;border:1px dashed #cfd7dc;background:#fbfcfc}
.crm-loading{padding:28px;text-align:center;color:#65737e;font-size:12px}
.crm-error{background:#fff2f1;border:1px solid #efc8c3;color:#943c32;padding:12px 14px;font-size:12px}
.crm-inline-note{font-size:10px;color:#7a8790}
.crm-danger{background:#fff1f0!important;color:#8b352e!important;border-color:#e5b8b4!important}
.crm-success{background:#edf7f2!important;color:#1d6a52!important;border-color:#bfdfd2!important}

@media(max-width:1180px){.crm-kpis{grid-template-columns:repeat(2,1fr)}.crm-grid-2,.crm-grid-equal{grid-template-columns:1fr}.crm-pipeline{grid-template-columns:repeat(5,240px)}}
@media(max-width:720px){.crm-kpis{grid-template-columns:1fr}.crm-hero{align-items:flex-start;flex-direction:column;padding:22px}.crm-form-grid{grid-template-columns:1fr}.crm-form-grid .wide{grid-column:auto}.crm-account-banner{grid-template-columns:1fr}.crm-toolbar .crm-search{min-width:100%}.crm-permission-row{grid-template-columns:minmax(150px,1.4fr) repeat(6,90px);overflow:auto}}

/* Wider, scroll-safe dialog for CRM records and security controls */
.crm-dialog{width:min(1040px,calc(100vw - 32px));max-height:92vh}
.crm-dialog .dialog-body{max-height:72vh;overflow:auto}
@media(max-width:680px){.crm-dialog{width:calc(100vw - 18px)}}

/* Shared ERP control language: CRM keeps its data semantics, but uses the ERP palette. */
.crm-portal-theme .crm-shell,
.crm-portal-theme .crm-toolbar,
.crm-portal-theme .crm-panel,
.crm-portal-theme .crm-kpi,
.crm-portal-theme .crm-account-banner,
.crm-portal-theme .crm-table-wrap {
  border-color: #d9dde1;
  border-radius: 4px;
  box-shadow: 0 10px 28px rgba(7,24,39,.07);
}
.crm-portal-theme .crm-hero {
  background: linear-gradient(120deg, #071827 0%, #20354a 100%);
  border-top: 4px solid #f05a22;
  border-radius: 4px;
}
.crm-portal-theme .crm-hero-actions button,
.crm-portal-theme .crm-panel-actions button,
.crm-portal-theme .crm-form-actions button,
.crm-portal-theme .crm-toolbar button {
  border-radius: 3px;
}
.crm-portal-theme .crm-hero-actions button:not(.secondary-button),
.crm-portal-theme .crm-panel-actions button:not(.secondary-button),
.crm-portal-theme .crm-form-actions button:not(.secondary-button),
.crm-portal-theme .crm-toolbar button:not(.secondary-button) {
  background: #f05a22;
  border-color: #f05a22;
  color: #fff;
}
.crm-portal-theme .crm-hero-actions .secondary-button,
.crm-portal-theme .crm-panel-actions .secondary-button,
.crm-portal-theme .crm-form-actions .secondary-button,
.crm-portal-theme .crm-toolbar .secondary-button {
  background: #eef3f8;
  border-color: #c7d2de;
  color: #071827;
}
.crm-portal-theme .crm-table th,
.crm-portal-theme .crm-permission-row.header > div {
  background: #f1f3f5;
  color: #071827;
}
.crm-bulkbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff3e8;border:1px solid #ed6429;border-radius:10px;padding:12px;margin:12px 0}.crm-bulkbar[hidden]{display:none}.crm-table input[type=checkbox]{width:18px;height:18px;accent-color:#ed6429}
