.partner-crm-root[hidden] {
  display: none !important;
}

.partner-crm-root {
  --partner-crm-ink: #0f1b33;
  --partner-crm-accent: #d62828;
  --partner-crm-border: #dbe4ef;
  --partner-crm-surface: #ffffff;
  color: var(--partner-crm-ink);
  background: var(--partner-crm-surface);
}

body.partner-crm-open { overflow: hidden; }

.partner-crm-modal {
  position: fixed;
  inset: 0;
  z-index: 10020;
  padding: 22px;
  background: rgba(7, 17, 34, .72);
  backdrop-filter: blur(8px);
}

.partner-crm-modal[hidden] { display: none !important; }

.partner-analytics { margin: 16px 0; overflow: hidden; border: 1px solid #d9e4ef; border-radius: 20px; background: #fff; box-shadow: 0 8px 24px rgba(27,49,77,.05); }
.partner-analytics-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px; border-bottom: 1px solid #e4ebf2; }
.partner-analytics-header span { color: #d62828; font-size: .68rem; font-weight: 900; letter-spacing: .13em; }
.partner-analytics-header h2 { margin: 3px 0; color: #14223a; font-size: 1.35rem; }
.partner-analytics-header p { margin: 0; color: #71839a; font-size: .8rem; }
.partner-analytics-header button { min-height: 38px; padding: 0 12px; border: 1px solid #cedbe8; border-radius: 10px; background: #fff; color: #344b66; font-weight: 800; cursor: pointer; }
.partner-analytics-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; padding: 16px 20px 10px; }
.partner-analytics-metrics article { padding: 14px; border: 1px solid #e0e8f0; border-radius: 14px; background: #f8fafc; }
.partner-analytics-metrics span,.partner-analytics-metrics small { display: block; color: #63758d; font-size: .76rem; }
.partner-analytics-metrics span i { color: #d62828; margin-right: 5px; }
.partner-analytics-metrics article > strong { display: block; margin: 6px 0 3px; color: #12213a; font-size: 1.6rem; }
.partner-analytics-metrics small.is-alert { color: #b42318; font-weight: 800; }
.partner-analytics-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; padding: 0 20px 18px; }
.partner-analytics-card { min-width: 0; padding: 14px; border: 1px solid #e0e8f0; border-radius: 14px; background: #fff; }
.partner-analytics-card header { display: flex; align-items: center; gap: 7px; color: #243852; font-size: .84rem; }
.partner-analytics-card header i { color: #d62828; }
.partner-analytics-money { display: grid; gap: 5px; margin-top: 12px; }
.partner-analytics-money span { color: #61748d; font-size: .78rem; }
.partner-analytics-money strong { color: #14223a; font-size: 1.05rem; }
.partner-analytics-commission { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 12px; }
.partner-analytics-commission > div { padding: 9px; border-radius: 10px; background: #f7f9fc; }
.partner-analytics-commission > div > span { display: block; margin-bottom: 5px; color: #71849b; font-size: .7rem; font-weight: 800; }
.partner-pipeline-bars { display: grid; gap: 7px; margin-top: 11px; }
.partner-pipeline-bars > span { display: grid; grid-template-columns: minmax(0,1fr) 70px 24px; align-items: center; gap: 7px; color: #60738c; font-size: .7rem; }
.partner-pipeline-bars b { overflow: hidden; text-overflow: ellipsis; text-transform: capitalize; white-space: nowrap; }
.partner-pipeline-bars em { height: 7px; border-radius: 999px; background: linear-gradient(90deg,#d62828 var(--value),#e9eef4 var(--value)); }
.partner-pipeline-bars strong { color: #14223a; text-align: right; }
.partner-analytics-note,.partner-analytics-error { display: flex; align-items: center; gap: 8px; margin: 0 20px 16px; color: #7a8ba0; font-size: .76rem; }
.partner-analytics-error { padding: 13px 14px; border: 1px dashed #d5e0ec; border-radius: 13px; }
.partner-analytics-error button { margin-left: auto; border: 1px solid #cbd8e7; border-radius: 9px; background: #fff; padding: 7px 10px; color: #30455f; font-weight: 800; cursor: pointer; }
.partner-analytics-loading { display: flex; align-items: center; gap: 10px; margin: 16px 0; padding: 14px; border: 1px solid #dce6f0; border-radius: 14px; background: #fff; color: #5d718a; }

.partner-work-queue { margin: 16px 0; overflow: hidden; border: 1px solid #d9e4ef; border-radius: 20px; background: #fff; box-shadow: 0 8px 24px rgba(27,49,77,.05); }
.partner-work-queue-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px; border-bottom: 1px solid #e4ebf2; background: linear-gradient(120deg,#fff,#f7fafc); }
.partner-work-queue-header span { color: #d62828; font-size: .68rem; font-weight: 900; letter-spacing: .13em; }
.partner-work-queue-header h2 { margin: 3px 0; color: #14223a; font-size: 1.35rem; }
.partner-work-queue-header p { margin: 0; color: #71839a; font-size: .8rem; }
.partner-work-queue-header button { min-height: 38px; padding: 0 12px; border: 1px solid #cedbe8; border-radius: 10px; background: #fff; color: #344b66; font-weight: 800; cursor: pointer; }
.partner-work-queue-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; padding: 16px 20px 10px; }
.partner-work-queue-metric { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 8px; padding: 13px; border: 1px solid #e0e8f0; border-radius: 14px; background: #f8fafc; }
.partner-work-queue-metric > i { grid-row: span 2; color: #2b6996; font-size: 1.05rem; }
.partner-work-queue-metric > strong { color: #12213a; font-size: 1.35rem; line-height: 1; }
.partner-work-queue-metric > span { margin-top: 3px; color: #63758d; font-size: .74rem; }
.partner-work-queue-metric.is-alert { border-color: #f1c4c4; background: #fff4f4; }
.partner-work-queue-metric.is-alert > i,.partner-work-queue-metric.is-alert > strong { color: #b42318; }
.partner-work-queue-list { display: grid; gap: 8px; padding: 4px 20px 18px; }
.partner-work-queue-task { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 11px; width: 100%; padding: 12px 13px; border: 1px solid #dfe7ef; border-radius: 13px; background: #fff; color: #15233a; text-align: left; cursor: pointer; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.partner-work-queue-task:hover { border-color: #8ebbdc; box-shadow: 0 8px 18px rgba(27,65,100,.08); transform: translateY(-1px); }
.partner-work-queue-task.is-overdue { border-color: #f1cbcb; background: #fffafa; }
.partner-work-queue-task-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: #e8f3fb; color: #22658f; }
.partner-work-queue-task.is-overdue .partner-work-queue-task-icon { background: #fee5e5; color: #b42318; }
.partner-work-queue-task-copy { min-width: 0; }
.partner-work-queue-task-copy strong,.partner-work-queue-task-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.partner-work-queue-task-copy strong { font-size: .88rem; }
.partner-work-queue-task-copy small { margin-top: 3px; color: #70829a; font-size: .75rem; }
.partner-work-queue-task-meta { display: grid; justify-items: end; gap: 5px; }
.partner-work-queue-task-meta time { color: #63758d; font-size: .74rem; font-weight: 700; }
.partner-work-queue-empty { display: grid; place-items: center; gap: 6px; padding: 28px 14px; border: 1px dashed #cad8e6; border-radius: 14px; color: #71839a; text-align: center; }
.partner-work-queue-empty i { color: #1d8d55; font-size: 1.45rem; }
.partner-work-queue-empty strong { color: #253b56; }
.partner-work-queue-empty span { font-size: .8rem; }
.partner-work-queue-note,.partner-work-queue-error { display: flex; align-items: center; gap: 8px; margin: 0 20px 16px; color: #7a8ba0; font-size: .76rem; }
.partner-work-queue-error { padding: 13px 14px; border: 1px dashed #d5e0ec; border-radius: 13px; }
.partner-work-queue-error button { margin-left: auto; border: 1px solid #cbd8e7; border-radius: 9px; background: #fff; padding: 7px 10px; color: #30455f; font-weight: 800; cursor: pointer; }
.partner-work-queue-loading { display: flex; align-items: center; gap: 10px; margin: 16px 0; padding: 14px; border: 1px solid #dce6f0; border-radius: 14px; background: #fff; color: #5d718a; }

.partner-crm-dialog {
  position: relative;
  width: min(1500px, 100%);
  height: min(900px, calc(100vh - 44px));
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid #d9e3ef;
  border-radius: 26px;
  background: #f3f7fb;
  box-shadow: 0 30px 90px rgba(4, 15, 30, .3);
  display: flex;
  flex-direction: column;
}

.partner-crm-header {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 26px 30px 22px;
  color: #fff;
  background:
    radial-gradient(circle at 76% -40%, rgba(56, 189, 248, .42), transparent 38%),
    linear-gradient(120deg, #0c1830 0%, #172b4c 60%, #203e61 100%);
}

.partner-crm-kicker { display: block; color: #8fd8ff; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; font-size: .76rem; }
.partner-crm-header h1 { margin: 5px 0 3px; font-size: clamp(1.7rem, 3vw, 2.45rem); }
.partner-crm-header p { margin: 0; color: #cbd7e7; }
.partner-crm-close { width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.22); border-radius: 14px; color: #fff; background: rgba(255,255,255,.08); cursor: pointer; font-size: 1.15rem; }
.partner-crm-header-actions { display: flex; align-items: flex-start; gap: 10px; }
.partner-crm-new { min-height: 44px; padding: 0 16px; border: 1px solid rgba(255,255,255,.2); border-radius: 14px; background: #fff; color: #14213a; font-weight: 800; cursor: pointer; }
.partner-crm-notification-button { position: relative; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.22); border-radius: 14px; color: #fff; background: rgba(255,255,255,.08); cursor: pointer; font-size: 1.05rem; }
.partner-crm-notification-button span { position: absolute; top: -7px; right: -7px; min-width: 21px; height: 21px; display: grid; place-items: center; padding: 0 5px; border: 2px solid #15294a; border-radius: 999px; background: #d62828; color: #fff; font-size: .68rem; font-weight: 900; }
.partner-notification-panel-shell { position: absolute; top: 82px; right: 26px; z-index: 4; width: min(420px, calc(100vw - 48px)); }
.partner-notification-panel { overflow: hidden; border: 1px solid #d7e2ee; border-radius: 18px; background: #fff; color: #14223a; box-shadow: 0 24px 70px rgba(7, 21, 40, .28); }
.partner-notification-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 17px; border-bottom: 1px solid #e2eaf3; background: linear-gradient(120deg, #fff, #f6f9fc); }
.partner-notification-panel > header span { color: #d62828; font-size: .66rem; font-weight: 900; letter-spacing: .12em; }
.partner-notification-panel > header h3 { margin: 3px 0 0; font-size: 1.05rem; }
.partner-notification-actions { display: flex; align-items: center; gap: 7px; }
.partner-notification-actions button { min-height: 34px; border: 1px solid #ccd9e8; border-radius: 10px; background: #fff; color: #344b66; font-weight: 800; cursor: pointer; }
.partner-notification-actions button[disabled] { opacity: .55; cursor: default; }
.partner-notification-actions button:first-child { width: 34px; padding: 0; }
.partner-notification-actions button:last-child { padding: 0 10px; font-size: .72rem; }
.partner-notification-list { display: grid; gap: 8px; max-height: min(520px, calc(100vh - 190px)); overflow: auto; padding: 12px; }
.partner-notification-item { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; width: 100%; padding: 12px; border: 1px solid #dce6f1; border-radius: 13px; background: #fff; color: #1a2940; text-align: left; cursor: pointer; }
.partner-notification-item.is-unread { border-color: #b7d9f4; background: #f2f9ff; }
.partner-notification-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; background: #e8f3fb; color: #22658f; }
.partner-notification-copy { min-width: 0; }
.partner-notification-copy strong,
.partner-notification-copy small,
.partner-notification-copy em { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.partner-notification-copy strong { font-size: .86rem; }
.partner-notification-copy small { margin-top: 2px; color: #6d7f96; font-size: .73rem; }
.partner-notification-copy em { margin-top: 5px; color: #3f536f; font-size: .76rem; font-style: normal; }
.partner-notification-item time { color: #7f8fa3; font-size: .68rem; font-weight: 800; white-space: nowrap; }
.partner-notification-empty,
.partner-notification-loading,
.partner-notification-error { display: grid; place-items: center; gap: 7px; padding: 30px 18px; color: #667b94; text-align: center; }
.partner-notification-empty i { color: #18804c; font-size: 1.45rem; }
.partner-notification-empty strong,
.partner-notification-error strong { color: #14223a; }
.partner-notification-error i { color: #c52228; font-size: 1.4rem; }
.partner-notification-error button { min-height: 36px; padding: 0 12px; border: 1px solid #cbd8e7; border-radius: 10px; background: #fff; color: #30445e; font-weight: 850; cursor: pointer; }
.partner-notification-note { margin: 0; padding: 0 14px 12px; color: #74869d; font-size: .72rem; }

.partner-crm-body { min-height: 0; flex: 1; overflow: auto; padding: 22px 26px 30px; }
.partner-crm-layout { max-width: 1420px; margin: 0 auto; }

.partner-crm-toolbar {
  display: grid;
  grid-template-columns: minmax(280px, 1.4fr) repeat(3, minmax(170px, .75fr)) auto;
  gap: 10px;
  padding: 14px;
  border: 1px solid #dce5f0;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(27, 49, 77, .06);
}

.partner-crm-toolbar input,
.partner-crm-toolbar select,
.partner-crm-clear { min-height: 46px; border: 1px solid #cfdbea; border-radius: 12px; background: #f9fbfd; color: #17253b; font: inherit; }
.partner-crm-toolbar input { width: 100%; padding: 0 14px 0 42px; }
.partner-crm-toolbar select { padding: 0 34px 0 12px; }
.partner-crm-search { position: relative; }
.partner-crm-search i { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); color: #6e819d; }
.partner-crm-clear { padding: 0 16px; cursor: pointer; font-weight: 700; }

.partner-crm-feedback { margin-top: 18px; }
.partner-crm-state-card,
.partner-crm-empty { min-height: 210px; display: flex; align-items: center; justify-content: center; gap: 16px; padding: 30px; text-align: left; border: 1px dashed #c8d7e8; border-radius: 20px; background: #fff; color: #5a6d87; }
.partner-crm-state-card div,
.partner-crm-empty { flex-direction: column; }
.partner-crm-state-card strong,
.partner-crm-empty strong { display: block; color: #14223a; font-size: 1.05rem; }
.partner-crm-state-card span,
.partner-crm-empty span { display: block; margin-top: 3px; }
.partner-crm-empty i { color: #d62828; font-size: 2rem; }
.partner-crm-state-card button { border: 0; border-radius: 11px; padding: 11px 16px; background: #101b31; color: #fff; cursor: pointer; font-weight: 700; }
.partner-crm-spinner { width: 30px; height: 30px; border: 3px solid #d9e4f0; border-top-color: #d62828; border-radius: 50%; animation: partner-spin .8s linear infinite; }
@keyframes partner-spin { to { transform: rotate(360deg); } }

.partner-crm-table-wrap { margin-top: 18px; overflow: auto; border: 1px solid #dce5f0; border-radius: 20px; background: #fff; box-shadow: 0 8px 24px rgba(27, 49, 77, .06); }
.partner-crm-table { width: 100%; border-collapse: collapse; min-width: 1150px; }
.partner-crm-table th { padding: 14px 16px; text-align: left; color: #657893; background: #f4f7fb; font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; }
.partner-crm-table td { padding: 15px 16px; border-top: 1px solid #e5ebf3; color: #263750; }
.partner-crm-table tbody tr { cursor: pointer; transition: background .16s ease; }
.partner-crm-table tbody tr:hover { background: #f7fbff; }
.partner-crm-table td strong { display: block; color: #101d34; }
.partner-crm-table td small { display: block; color: #8494aa; margin-top: 2px; }
.partner-crm-stage { display: inline-flex; padding: 6px 9px; border-radius: 999px; background: #eaf5ff; color: #09689a; font-size: .78rem; font-weight: 800; }
.partner-crm-priority { display: inline-flex; padding: 5px 9px; border-radius: 8px; background: #edf1f6; font-size: .76rem; font-weight: 800; }
.partner-crm-priority.is-high { background: #fff1d6; color: #9a5a00; }
.partner-crm-priority.is-critical { background: #ffe4e4; color: #b42318; }
.partner-crm-priority.is-low { background: #e9f8ef; color: #257a47; }
.partner-crm-health { display: inline-flex; padding: 5px 9px; border-radius: 8px; background: #edf1f6; color: #56677e; font-size: .76rem; font-weight: 800; white-space: nowrap; }
.partner-crm-health.is-healthy { background: #e7f8ee; color: #167343; }
.partner-crm-health.is-watch { background: #fff4db; color: #9b6100; }
.partner-crm-health.is-risk { background: #ffe8e8; color: #b42318; }
.partner-crm-pagination { text-align: center; padding: 18px; }
.partner-crm-pagination button { border: 1px solid #cbd9e8; border-radius: 12px; padding: 11px 18px; background: #fff; color: #14223a; font-weight: 800; cursor: pointer; }

.partner-screen-nav { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.partner-screen-nav > div:not(.partner-detail-actions) span { color: #71839b; font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.partner-screen-nav h2 { margin: 2px 0 0; color: #101d34; font-size: 1.55rem; }
.partner-back-btn { border: 1px solid #cbd8e8; border-radius: 12px; min-height: 42px; padding: 0 14px; background: #fff; color: #263952; font-weight: 800; cursor: pointer; }

.partner-form { display: grid; gap: 16px; }
.partner-form fieldset { margin: 0; padding: 20px; border: 1px solid #dce5ef; border-radius: 20px; background: #fff; box-shadow: 0 8px 24px rgba(27,49,77,.045); }
.partner-form legend { padding: 0 9px; color: #14233b; font-size: 1.02rem; font-weight: 900; }
.partner-form legend i { margin-right: 7px; color: #d62828; }
.partner-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.partner-form-field { display: grid; gap: 6px; min-width: 0; }
.partner-form-field.is-wide { grid-column: 1 / -1; }
.partner-form-field > span,
.partner-archive-dialog label > span { color: #425572; font-size: .84rem; font-weight: 800; }
.partner-form-field em,
.partner-archive-dialog em { color: #d62828; font-style: normal; }
.partner-form-field input,
.partner-form-field select,
.partner-form-field textarea,
.partner-archive-dialog textarea { width: 100%; border: 1px solid #cbd8e7; border-radius: 12px; background: #fbfdff; color: #15233a; font: inherit; outline: none; }
.partner-form-field input,
.partner-form-field select { min-height: 46px; padding: 0 12px; }
.partner-form-field textarea,
.partner-archive-dialog textarea { padding: 12px; resize: vertical; }
.partner-form-field input:focus,
.partner-form-field select:focus,
.partner-form-field textarea:focus,
.partner-archive-dialog textarea:focus { border-color: #149ddd; box-shadow: 0 0 0 3px rgba(20,157,221,.12); }
.partner-form-field small,
.partner-contact-rule small,
.partner-archive-dialog small { min-height: 17px; color: #c32026; font-size: .76rem; }
.partner-form-field.has-error input,
.partner-form-field.has-error select,
.partner-form-field.has-error textarea { border-color: #d62828; background: #fffafa; }
.partner-contact-rule { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 13px; color: #6b7e97; font-size: .8rem; }
.partner-contact-rule.has-error { color: #b42318; }
.partner-contact-rule small { width: 100%; }
.partner-form-actions { position: sticky; bottom: -30px; display: flex; justify-content: flex-end; gap: 10px; padding: 16px 0 2px; background: linear-gradient(180deg, rgba(243,247,251,0), #f3f7fb 28%); }
.partner-form-actions button { min-height: 48px; border-radius: 13px; padding: 0 19px; font-weight: 900; cursor: pointer; }
.partner-form-cancel { border: 1px solid #c9d7e7; background: #fff; color: #33465f; }
.partner-form-submit { min-width: 190px; border: 0; background: #0f1b33; color: #fff; }
.partner-form-submit.is-busy { display: inline-flex; align-items: center; justify-content: center; gap: 9px; opacity: .82; }
.partner-form-submit .partner-crm-spinner { width: 20px; height: 20px; border-color: rgba(255,255,255,.3); border-top-color: #fff; }
.partner-form-alert { padding: 12px 14px; border-radius: 12px; font-weight: 700; }
.partner-form-alert.is-error { border: 1px solid #f4b6b6; background: #fff0f0; color: #a61b1f; }
.partner-form-alert.is-success { border: 1px solid #a7dfbd; background: #ecfbf2; color: #17653a; }

.partner-detail-actions { display: flex; gap: 9px; }
.partner-detail-actions button { min-height: 42px; padding: 0 14px; border-radius: 12px; background: #fff; font-weight: 800; cursor: pointer; }
.partner-detail-edit { border: 1px solid #bfd2e7; color: #1e466c; }
.partner-detail-archive { border: 1px solid #f0c4c4; color: #a51f24; }
.partner-detail-hero { display: flex; justify-content: space-between; gap: 22px; padding: 25px 27px; border-radius: 22px; color: #fff; background: linear-gradient(120deg, #111e36, #23496d); box-shadow: 0 14px 32px rgba(14,33,57,.16); }
.partner-detail-code { color: #8edbff; font-size: .76rem; font-weight: 900; letter-spacing: .12em; }
.partner-detail-hero h2 { margin: 4px 0; font-size: clamp(1.8rem, 4vw, 2.8rem); }
.partner-detail-hero p { margin: 0; color: #d0dbea; }
.partner-detail-badges { display: flex; align-items: flex-start; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.partner-detail-badges span { padding: 7px 10px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; background: rgba(255,255,255,.09); font-size: .78rem; font-weight: 900; }
.partner-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 16px; }
.partner-detail-card { padding: 20px; border: 1px solid #dae4ef; border-radius: 20px; background: #fff; box-shadow: 0 8px 24px rgba(27,49,77,.05); }
.partner-detail-card > header { display: flex; align-items: center; gap: 9px; padding-bottom: 12px; border-bottom: 1px solid #e6ecf3; }
.partner-detail-card > header i { color: #d62828; }
.partner-detail-card h3 { margin: 0; color: #15233b; }
.partner-detail-items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.partner-detail-item { min-width: 0; padding: 11px 12px; border: 1px solid #e3e9f1; border-radius: 12px; background: #f8fafc; }
.partner-detail-item span { display: block; color: #71839b; font-size: .75rem; }
.partner-detail-item strong { display: block; margin-top: 3px; color: #14223a; overflow-wrap: anywhere; }
.partner-detail-notes { grid-column: 1 / -1; }
.partner-note-block { margin-top: 14px; padding: 14px; border-radius: 13px; background: #f7f9fc; }
.partner-note-block.is-internal { background: #fff9dc; }
.partner-note-block span { color: #6e8098; font-size: .75rem; font-weight: 900; text-transform: uppercase; }
.partner-note-block p { margin: 5px 0 0; color: #253852; white-space: pre-wrap; }

.partner-operations-mount { margin-top: 18px; }
.partner-operations { overflow: hidden; border: 1px solid #d8e3ef; border-radius: 22px; background: #fff; box-shadow: 0 10px 28px rgba(27,49,77,.06); }
.partner-operations.is-busy { opacity: .72; pointer-events: none; }
.partner-operations-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; padding: 22px 24px 18px; background: linear-gradient(120deg, #111e36, #1e405f); color: #fff; }
.partner-operations-header h3 { margin: 3px 0 0; font-size: 1.35rem; }
.partner-operations-kicker { color: #8edbff; font-size: .7rem; font-weight: 900; letter-spacing: .14em; }
.partner-operations-summary { color: #d9e7f4; font-size: .82rem; }
.partner-operation-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 0 20px; border-bottom: 1px solid #dfe7f0; background: #f8fafc; }
.partner-operation-tabs button { min-height: 55px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: #596d88; font: inherit; font-weight: 850; cursor: pointer; }
.partner-operation-tabs button span { display: inline-grid; min-width: 23px; height: 23px; place-items: center; margin-left: 5px; border-radius: 999px; background: #e7edf4; font-size: .72rem; }
.partner-operation-tabs button.is-active { border-bottom-color: #d62828; color: #14223a; }
.partner-operation-tabs button.is-active span { background: #fee8e8; color: #b31e24; }
.partner-operation-panel { display: none; padding: 22px 24px 26px; }
.partner-operation-panel.is-active { display: block; }
.partner-operation-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 17px; }
.partner-operation-toolbar > div strong,
.partner-operation-toolbar > div span { display: block; }
.partner-operation-toolbar > div strong { color: #15233a; }
.partner-operation-toolbar > div span { margin-top: 2px; color: #73849a; font-size: .8rem; }
.partner-operation-toolbar > button { min-height: 41px; padding: 0 14px; border: 0; border-radius: 11px; background: #0f1b33; color: #fff; font-weight: 850; cursor: pointer; }
.partner-operation-filterbar { display: grid; grid-template-columns: minmax(220px, 1fr) repeat(2, minmax(150px, 220px)); gap: 10px; margin-bottom: 14px; }
.partner-operation-filterbar label { display: grid; gap: 5px; color: #5c708b; font-size: .72rem; font-weight: 850; }
.partner-operation-filterbar input,
.partner-operation-filterbar select { width: 100%; min-height: 40px; border: 1px solid #d3deeb; border-radius: 11px; background: #fbfdff; color: #15233a; font: inherit; }
.partner-operation-filterbar input { padding: 0 12px 0 36px; }
.partner-operation-filterbar select { padding: 0 10px; }
.partner-operation-search { position: relative; align-self: end; }
.partner-operation-search i { position: absolute; left: 12px; bottom: 12px; color: #8a9bb1; pointer-events: none; }
.partner-operation-filter-empty { margin-top: 12px; padding: 18px; border: 1px dashed #cad7e6; border-radius: 14px; background: #fbfdff; color: #71839b; text-align: center; }
.partner-operation-empty { padding: 30px 18px; border: 1px dashed #cad7e6; border-radius: 14px; color: #71839b; text-align: center; }
.partner-operation-empty.is-disabled { background: #f8fafc; }
.partner-contact-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.partner-contact-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; min-width: 0; padding: 14px; border: 1px solid #dde6f0; border-radius: 15px; background: #fbfdff; }
.partner-contact-avatar { width: 45px; height: 45px; display: grid; place-items: center; border-radius: 13px; background: #dff4ff; color: #0f628c; font-weight: 900; }
.partner-contact-info { min-width: 0; }
.partner-contact-info > div { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.partner-contact-info strong,
.partner-contact-info span,
.partner-contact-info p { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.partner-contact-info span { color: #6e8098; font-size: .76rem; }
.partner-contact-info p { margin: 4px 0 0; color: #2c405b; font-size: .82rem; }
.partner-primary-badge { padding: 3px 6px; border-radius: 999px; background: #eaf8ef; color: #17693b !important; font-size: .64rem !important; font-weight: 900; }
.partner-operation-row-actions { display: flex; gap: 5px; }
.partner-operation-row-actions button,
.partner-task-edit { width: 32px; height: 32px; border: 1px solid #d5e0ec; border-radius: 9px; background: #fff; color: #3f5570; cursor: pointer; }
.partner-operation-row-actions button:last-child { color: #b42318; }
.partner-timeline { position: relative; display: grid; gap: 0; }
.partner-timeline::before { content: ''; position: absolute; top: 18px; bottom: 18px; left: 19px; width: 2px; background: #dfe7f0; }
.partner-timeline-item { position: relative; display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 13px; padding: 11px 0; }
.partner-timeline-icon { z-index: 1; width: 40px; height: 40px; display: grid; place-items: center; border: 4px solid #fff; border-radius: 50%; background: #dff4ff; color: #0f6e9e; }
.partner-timeline-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.partner-timeline-meta time { color: #73849a; font-size: .75rem; }
.partner-timeline-item p { margin: 4px 0; color: #30445f; white-space: pre-wrap; }
.partner-timeline-item span,
.partner-timeline-item small { color: #71839b; font-size: .76rem; }
.partner-task-list { display: grid; gap: 9px; }
.partner-task-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 11px; padding: 13px; border: 1px solid #dce6f0; border-radius: 13px; background: #fbfdff; }
.partner-task-row.is-completed { opacity: .65; }
.partner-task-row.is-completed strong { text-decoration: line-through; }
.partner-task-check { border: 0; background: transparent; color: #168754; font-size: 1.1rem; cursor: pointer; }
.partner-task-check:disabled { color: #9aacbf; cursor: default; }
.partner-task-row > div strong,
.partner-task-row > div span { display: block; }
.partner-task-row > div span { margin-top: 2px; color: #70829a; font-size: .75rem; }
.partner-task-extra { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 7px; }
.partner-task-extra:empty { display: none; }
.partner-task-extra b { display: inline-flex; align-items: center; gap: 5px; padding: 4px 7px; border-radius: 999px; background: #eef6ff; color: #315d82; font-size: .68rem; font-weight: 850; }
.partner-task-extra b:last-child { background: #f4f0ff; color: #594a95; }
.partner-priority { padding: 5px 8px; border-radius: 999px; background: #edf2f7; color: #52677f; font-size: .68rem; font-weight: 900; }
.partner-priority-high,
.partner-priority-critical { background: #fee7e7; color: #ae1e24; }
.partner-priority-low { background: #e9f7ef; color: #1f7344; }
.partner-pipeline-list { display: grid; gap: 0; }
.partner-pipeline-row { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 11px; padding: 11px 0; border-bottom: 1px solid #e6edf4; }
.partner-pipeline-row:last-child { border-bottom: 0; }
.partner-pipeline-dot { width: 12px; height: 12px; margin-top: 5px; border: 3px solid #d62828; border-radius: 50%; background: #fff; }
.partner-pipeline-row p { margin: 3px 0; color: #40546e; }
.partner-pipeline-row small { color: #7a8aa0; }

.partner-audit-card { margin-top: 18px; overflow: hidden; border: 1px solid #d8e3ef; border-radius: 22px; background: #fff; box-shadow: 0 10px 28px rgba(27,49,77,.06); }
.partner-audit-card > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 20px; border-bottom: 1px solid #e4ebf3; background: #fbfdff; }
.partner-audit-card > header > div { display: flex; align-items: center; gap: 10px; }
.partner-audit-card > header i { color: #d62828; }
.partner-audit-card h3 { margin: 0; color: #111f36; font-size: 1.05rem; }
.partner-audit-card > header button { width: 36px; height: 36px; border: 1px solid #d4dfeb; border-radius: 10px; background: #fff; color: #3d526e; cursor: pointer; }
.partner-audit-list { display: grid; gap: 0; padding: 8px 20px 18px; }
.partner-audit-row { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 11px; padding: 13px 0; border-bottom: 1px solid #edf2f7; }
.partner-audit-row:last-child { border-bottom: 0; }
.partner-audit-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; background: #fff0f0; color: #c52228; }
.partner-audit-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.partner-audit-meta strong { color: #15233a; }
.partner-audit-meta time { flex: 0 0 auto; color: #7788a0; font-size: .76rem; }
.partner-audit-row p { margin: 4px 0 2px; color: #415773; }
.partner-audit-row small { color: #71839b; }
.partner-audit-empty { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 28px 18px; color: #71839b; text-align: center; }

.partner-operation-dialog-overlay { position: fixed; inset: 0; z-index: 10040; display: grid; place-items: center; padding: 20px; background: rgba(6,17,33,.72); backdrop-filter: blur(7px); }
.partner-operation-dialog { width: min(720px, 100%); max-height: min(850px, calc(100vh - 40px)); overflow: auto; border-radius: 22px; background: #fff; box-shadow: 0 30px 80px rgba(5,16,32,.35); }
.partner-operation-dialog > header { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; padding: 20px 22px; border-bottom: 1px solid #e1e8f1; background: #fff; }
.partner-operation-dialog > header span { color: #d62828; font-size: .67rem; font-weight: 900; letter-spacing: .12em; }
.partner-operation-dialog > header h3 { margin: 3px 0 0; color: #14223a; }
.partner-operation-dialog > header button { width: 38px; height: 38px; border: 0; border-radius: 50%; background: #f2f6fa; color: #52677f; cursor: pointer; }
.partner-operation-dialog form { padding: 21px 22px 22px; }
.partner-operation-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.partner-operation-form-grid label { display: grid; gap: 6px; color: #425572; font-size: .8rem; font-weight: 800; }
.partner-operation-form-grid label.is-wide { grid-column: 1 / -1; }
.partner-operation-form-grid input,
.partner-operation-form-grid select,
.partner-operation-form-grid textarea { width: 100%; min-height: 44px; padding: 10px 11px; border: 1px solid #cbd8e7; border-radius: 11px; background: #fbfdff; color: #15233a; font: inherit; }
.partner-operation-form-grid textarea { min-height: 90px; resize: vertical; }
.partner-operation-form-grid .partner-operation-check { display: flex; align-items: center; flex-direction: row; }
.partner-operation-check input { width: 18px; min-height: 18px; }
.partner-operation-dialog footer { display: flex; justify-content: flex-end; gap: 9px; margin-top: 18px; }
.partner-operation-dialog footer button { min-height: 44px; padding: 0 17px; border: 1px solid #cbd8e7; border-radius: 11px; background: #fff; color: #30445e; font-weight: 850; cursor: pointer; }
.partner-operation-dialog footer button[type='submit'] { border-color: #0f1b33; background: #0f1b33; color: #fff; }

.partner-commercial { margin-top: 18px; overflow: hidden; border: 1px solid #d8e3ef; border-radius: 22px; background: #fff; box-shadow: 0 10px 28px rgba(27,49,77,.06); }
.partner-commercial-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; padding: 22px 24px 18px; background: linear-gradient(120deg,#f6f9fc,#edf4f9); }
.partner-commercial-header span { color: #d62828; font-size: .7rem; font-weight: 900; letter-spacing: .14em; }
.partner-commercial-header h3 { margin: 3px 0 0; color: #132139; font-size: 1.35rem; }
.partner-commercial-header p { max-width: 520px; margin: 0; color: #657892; font-size: .82rem; text-align: right; }
.partner-commercial-tabs { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); padding: 0 20px; border-top: 1px solid #dfe7f0; border-bottom: 1px solid #dfe7f0; background: #fff; }
.partner-commercial-tabs button { min-height: 55px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: #62748c; font: inherit; font-weight: 850; cursor: pointer; }
.partner-commercial-tabs button span { display: inline-grid; min-width: 23px; height: 23px; place-items: center; margin-left: 5px; border-radius: 999px; background: #e8eef5; font-size: .72rem; }
.partner-commercial-tabs button.is-active { border-bottom-color: #d62828; color: #14223a; }
.partner-commercial-panel { display: none; padding: 22px 24px 26px; }
.partner-commercial-panel.is-active { display: block; }
.partner-commercial-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
.partner-commercial-card { display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; align-items: center; gap: 12px; min-width: 0; padding: 14px; border: 1px solid #dce6f0; border-radius: 14px; background: #fbfdff; }
.partner-commercial-card-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: #fff0f0; color: #c6252b; }
.partner-commercial-card-body { min-width: 0; }
.partner-commercial-card-body > div { display: flex; align-items: center; gap: 8px; }
.partner-commercial-card-body strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #14223a; }
.partner-commercial-card-body > div span { padding: 3px 7px; border-radius: 999px; background: #eaf1f7; color: #536981; font-size: .64rem; font-weight: 900; }
.partner-commercial-card-body p { margin: 4px 0; color: #30455f; font-weight: 750; }
.partner-commercial-card-body small { color: #7b8ba1; }
.partner-commercial-card > a { color: #176a9a; }
.partner-commercial-actions { display: flex; gap: 5px; }
.partner-commercial-actions button { width: 32px; height: 32px; border: 1px solid #d5e0ec; border-radius: 9px; background: #fff; color: #3f5570; cursor: pointer; }
.partner-commercial-actions button:last-child { color: #b42318; }

.partner-inline-dialog { position: absolute; inset: 0; z-index: 4; display: grid; place-items: center; padding: 20px; background: rgba(8,20,38,.68); backdrop-filter: blur(5px); }
.partner-inline-dialog-card { width: min(620px, 100%); max-height: 82vh; overflow: auto; padding: 22px; border-radius: 20px; background: #fff; box-shadow: 0 24px 65px rgba(5,15,30,.32); }
.partner-inline-dialog-card > header { display: flex; align-items: flex-start; gap: 13px; }
.partner-inline-dialog-card > header > i { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 12px; background: #ffe8e8; color: #c52228; }
.partner-inline-dialog-card h3 { margin: 0; color: #111f36; }
.partner-inline-dialog-card header p { margin: 4px 0 0; color: #64758d; }
.partner-inline-dialog-card footer { display: flex; justify-content: flex-end; gap: 9px; margin-top: 18px; }
.partner-inline-dialog-card footer button { min-height: 43px; padding: 0 15px; border: 1px solid #cbd8e7; border-radius: 11px; background: #fff; color: #273b56; font-weight: 800; cursor: pointer; }
.partner-inline-dialog-card footer .is-primary { border-color: #101d34; background: #101d34; color: #fff; }
.partner-inline-dialog-card footer .is-danger { border-color: #d62828; background: #d62828; color: #fff; }
.partner-duplicate-list { display: grid; gap: 8px; margin-top: 17px; }
.partner-duplicate-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding: 12px 13px; border: 1px solid #dce5ef; border-radius: 12px; background: #f9fbfd; text-align: left; cursor: pointer; }
.partner-duplicate-row span strong,
.partner-duplicate-row span small { display: block; }
.partner-duplicate-row span small { margin-top: 3px; color: #71829a; }
.partner-duplicate-row b { color: #b42318; }
.partner-duplicate-block { margin-top: 12px; padding: 11px; border-radius: 11px; background: #fff0f0; color: #a51e23; }
.partner-archive-dialog label { display: grid; gap: 7px; margin-top: 17px; }

@media (max-width: 1050px) {
  .partner-crm-toolbar { grid-template-columns: 1fr 1fr; }
  .partner-crm-search { grid-column: 1 / -1; }
  .partner-contact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .partner-commercial-list { grid-template-columns: 1fr; }
  .partner-analytics-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .partner-analytics-grid { grid-template-columns: 1fr; }
  .partner-work-queue-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .partner-operation-filterbar { grid-template-columns: 1fr 1fr; }
  .partner-operation-search { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
  .partner-crm-modal { padding: 0; }
  .partner-crm-dialog { height: 100vh; border-radius: 0; border: 0; }
  .partner-crm-header { padding: 20px; }
  .partner-crm-header p { display: none; }
  .partner-crm-new { width: 44px; padding: 0; font-size: 0; }
  .partner-crm-new i { font-size: 1rem; }
  .partner-crm-body { padding: 14px; }
  .partner-crm-toolbar { grid-template-columns: 1fr; }
  .partner-crm-search { grid-column: auto; }
  .partner-crm-table { min-width: 0; }
  .partner-crm-table thead { display: none; }
  .partner-crm-table,
  .partner-crm-table tbody,
  .partner-crm-table tr,
  .partner-crm-table td { display: block; width: 100%; }
  .partner-crm-table tr { padding: 13px 14px; border-top: 1px solid #e5ebf3; }
  .partner-crm-table tr:first-child { border-top: 0; }
  .partner-crm-table td { display: flex; justify-content: space-between; gap: 14px; padding: 6px 0; border: 0; text-align: right; }
  .partner-crm-table td::before { content: attr(data-label); color: #71829a; font-weight: 700; text-align: left; }
  .partner-screen-nav { align-items: flex-start; }
  .partner-screen-nav > div:not(.partner-detail-actions) { display: none; }
  .partner-form-grid,
  .partner-detail-grid,
  .partner-detail-items { grid-template-columns: 1fr; }
  .partner-detail-notes,
  .partner-form-field.is-wide { grid-column: auto; }
  .partner-form fieldset { padding: 16px 13px; }
  .partner-form-actions { bottom: -14px; }
  .partner-detail-hero { flex-direction: column; padding: 20px; }
  .partner-detail-badges { justify-content: flex-start; }
  .partner-operations-header,
  .partner-operation-toolbar { align-items: flex-start; flex-direction: column; }
  .partner-operation-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0 10px; }
  .partner-operation-panel { padding: 17px 14px 20px; }
  .partner-operation-filterbar { grid-template-columns: 1fr; }
  .partner-operation-search { grid-column: auto; }
  .partner-contact-grid,
  .partner-operation-form-grid { grid-template-columns: 1fr; }
  .partner-operation-form-grid label.is-wide { grid-column: auto; }
  .partner-task-row { grid-template-columns: auto minmax(0, 1fr) auto; }
  .partner-task-row .partner-priority { grid-column: 2 / 3; justify-self: start; }
  .partner-audit-meta { align-items: flex-start; flex-direction: column; gap: 3px; }
  .partner-operation-dialog-overlay { padding: 0; }
  .partner-operation-dialog { max-height: 100vh; height: 100vh; border-radius: 0; }
  .partner-commercial-header { align-items: flex-start; flex-direction: column; }
  .partner-commercial-header p { text-align: left; }
  .partner-commercial-tabs { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 0 10px; }
  .partner-commercial-panel { padding: 17px 14px 20px; }
  .partner-commercial-card { grid-template-columns: auto minmax(0,1fr) auto; }
  .partner-commercial-actions { grid-column: 2 / -1; justify-self: end; }
  .partner-inline-dialog { padding: 12px; }
  .partner-analytics-header { align-items: flex-start; flex-direction: column; }
  .partner-analytics-metrics { grid-template-columns: 1fr 1fr; padding: 14px 14px 8px; }
  .partner-analytics-grid { padding: 0 14px 15px; }
  .partner-work-queue-header { align-items: flex-start; flex-direction: column; }
  .partner-work-queue-metrics { grid-template-columns: 1fr 1fr; padding: 14px 14px 8px; }
  .partner-work-queue-list { padding: 4px 14px 15px; }
  .partner-work-queue-task { grid-template-columns: auto minmax(0,1fr); }
  .partner-work-queue-task-meta { grid-column: 2; grid-template-columns: auto auto; justify-content: space-between; justify-items: start; }
}
