/* ============================================================
   Sales Intelligence - Custom Theme
   ============================================================ */

:root {
  --si-primary:       #0A798A;
  --si-primary-dark:  #085f6c;
  --si-primary-light: rgba(10,121,138,.12);
  --si-accent:        #0E9BAD;
  --si-bg:            rgb(248, 249, 250);
  --si-surface:       #ffffff;
  --si-surface-2:     rgb(248, 249, 250);
  --si-border:        rgba(27, 79, 114, 0.2);
  --si-text:          rgb(27, 79, 114);
  --si-text-muted:    rgb(27, 79, 114);
  --si-success:       #2ea043;
  --si-danger:        #da3633;
  --si-warning:       #d29922;
  --si-radius:        12px;
  --si-card-shadow:   0 1px 15px rgba(0, 0, 0, 0.2);
  /* ── Theme foundation ── */
  --si-primary-text:  rgb(27, 79, 114);
  --si-sidebar-bg:    #f0f2f6;
  --si-page-bg:       rgb(248, 249, 250);
}

/* ── Global ── */
@font-face {
    font-family: OpenSans-Regular;
    src: url(../fonts/OpenSans-Regular.ttf) format('truetype');
}

@font-face {
    font-family: OpenSans-Light;
    src: url(../fonts/OpenSans-Light.ttf) format('truetype');
}

@font-face {
    font-family: OpenSans-Medium;
    src: url(../fonts/OpenSans-Medium.ttf) format('truetype');
}

@font-face {
    font-family: OpenSans-Bold;
    src: url(../fonts/OpenSans-Bold.ttf) format('truetype');
}

body {
    font-family: 'OpenSans-Regular', Tahoma, Helvetica, sans-serif;
    font-size: 14px;
    background-color: var(--si-page-bg);
}
body.si-body {
    font-family: 'OpenSans-Regular', Tahoma, Helvetica, sans-serif;
    font-size: 14px;
  /*margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 0.9375rem;
  color: var(--si-text);
  background: var(--si-page-bg);*/
}
*, *::before, *::after { box-sizing: border-box; }

.sidebar,
.si-sidebar,
aside,
.offcanvas {
  background-color: var(--si-sidebar-bg) !important;
}

/* ── Page title / subtitle utility classes ── */
.si-page-title {
  font-size: 35px;
  font-weight: 700;
  color: var(--si-primary-text) !important;
  line-height: 1.2;
}

.si-page-subtitle {
  font-size: 25px;
  font-weight: 600;
  color: var(--si-primary-text) !important;
  line-height: 1.3;
}

/* ── Login page layout ── */
.si-login-page {
  /* Restore dark theme vars so login card stays dark */
  --si-surface:   #161b22;
  --si-surface-2: #21262d;
  --si-border:    #30363d;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background:#fcfcfc !important;
  padding: 1.5rem;
}

.si-login-card {
    width: 100%;
    max-width: 550px;
    background: #ffffff;
    border: 1px solid rgba(27, 79, 114, 0.2);
    border-radius: var(--si-radius);
    padding: 2.5rem 2rem;
    box-shadow: var(--si-card-shadow);
    animation: si-fade-up .35s ease;
}

@keyframes si-fade-up {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── Brand ── */
.si-logo-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--si-primary) 0%, var(--si-accent) 100%);
  box-shadow: 0 4px 20px rgba(10,121,138,.4);
}

.si-logo-icon {
  font-size: 2rem;
  color: #fff;
}

.si-brand-name {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--si-text);
  margin: 0;
  letter-spacing: -0.02em;
}

.si-brand-tagline {
  font-size: 00.9rem;
  color: var(--si-text-muted);
  margin: 0.25rem 0 0;
}

/* ── Step label ── */
.si-step-label {
  font-size: 0.875rem;
  color: var(--si-text-muted);
  margin-bottom: 1.25rem;
}

/* ── Form label ── */
.si-label {  
  font-weight: 500;
  color: var(--si-text);
  margin-bottom: 0.4rem;
}

/* ── Input group ── */
.si-input-icon {
  border-right: none;
  color: var(--si-text-muted);
}

.si-input {
  border-left: none;
  color: var(--si-text);
  transition: border-color .2s, box-shadow .2s;
  font-size: 14px;
}

.si-input::placeholder { color: var(--si-text-muted); }

.si-input:focus {  
  box-shadow: 0 0 0 3px rgba(10,121,138,.2);
  color: var(--si-text);
  outline: none;
}

.si-input:focus + .si-input-icon,
.input-group:focus-within .si-input-icon {
  border-color: var(--si-primary);
}

.si-otp-input {
  letter-spacing: 0.25em;
  font-size: 1.1rem;
  font-weight: 600;
}

/* ── Primary button ── */
.si-btn-primary {
    background-color: rgb(46, 134, 193) !important;
    border-color: rgb(46, 134, 193) !important;
    border: none;
    border-radius: 8px;
    color: #fff;
    font-weight: 600;
    font-size: 0.9375rem;
    padding: 0.65rem 1rem;
    transition: opacity .2s, transform .15s, box-shadow .2s;
    box-shadow: 0 4px 14px rgba(10,121,138,.35);
}

.si-btn-primary:hover:not(:disabled) {
  opacity: 0.93;
  box-shadow: 0 6px 20px rgba(10,121,138,.45);
  transform: translateY(-1px);
  color: #fff;
}

.si-btn-primary:active:not(:disabled) {
  transform: translateY(0);
}

.si-btn-primary:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* ── Alert overrides ── */
#alertArea .alert {
  border-radius: 8px;
  font-size: 0.875rem;
  padding: .65rem 1rem;
  border: none;
}

.alert-success {
  background: rgba(46,160,67,.15);
  color: #3fb950;
}

.alert-danger {
  background: rgba(218,54,51,.15);
  color: #f85149;
}

/* ── Link ── */
.si-link {
  color: var(--si-primary);
  text-decoration: none;
  font-weight: 500;
}

.si-link:hover {
  color: var(--si-primary-dark);
  text-decoration: underline;
}

/* ── Dashboard Home placeholder ── */
.si-dashboard {
  padding: 2rem;
}

/* ============================================================
   Log Interaction Wizard
   ============================================================ */

/* ── Layout ── */
.si-wizard-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--si-bg);
}

.si-wizard-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--si-surface);
  border-bottom: 1px solid var(--si-border);
  padding: .75rem 1.25rem;
}

.si-step-bar-wrap { min-width: 0; }

.si-wizard-body {
  flex: 1;
  padding: 1.5rem 0 50px;
  max-width: 100%;
  margin: 0 auto;
  width: 100%;
}

.si-wizard-footer {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 99;
  background: var(--si-surface);
  border-top: 1px solid var(--si-border);
  padding: .875rem 1.25rem;
}

/* ── Step bar ── */
.si-step-bar { display: flex; align-items: center; }
.si-step-item { display: flex; align-items: center; flex: 1; min-width: 0; }
.si-step-item:last-child { flex: 0 0 auto; }
.si-step-bar .si-step-label {
    margin: 0 0 0 10px;
}

.si-step-circle {
  width: 30px; height: 30px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 0.9rem; font-weight: 700; flex-shrink: 0;
  border: 2px solid var(--si-border);
  color: var(--si-text-muted);
  background: var(--si-surface-2);
  transition: all .25s;
}
.si-step-circle.active {
  background: var(--si-primary); border-color: var(--si-primary);
  color: #fff; box-shadow: 0 0 0 3px rgba(10,121,138,.25);
}
.si-step-circle.done { background: var(--si-success); border-color: var(--si-success); color: #fff; }
.si-step-label { font-weight: 500; white-space: nowrap; }
.si-step-label.active  { color: var(--si-primary); }
.si-step-label.done    { color: var(--si-success); }
.si-step-label.pending { color: var(--si-text-muted); }
.si-step-line { flex: 1; height: 2px; background: var(--si-border); margin: 0 .625rem; min-width: 8px; }
.si-step-line.done { background: var(--si-success); }

/* ── Section cards ── */
.si-section-card {
  background: var(--si-surface); border: 1px solid var(--si-border);
  border-radius: var(--si-radius); padding: 1.25rem 1.5rem; margin-bottom: 1rem;
}
.si-section-title {
  font-size: 1rem; font-weight: 600; color: var(--si-primary);
  text-transform: none; letter-spacing: 0; margin-bottom: .875rem;
  display: flex; align-items: center; gap: .4rem;
}
.si-inner-card {
  background: var(--si-surface-2); border: 1px solid var(--si-border);
  border-radius: 8px; padding: 1rem 1.25rem;
}

/* ── Form controls ── */
.si-form-control {  
  border-radius: 8px; color: var(--si-text); padding: .575rem .875rem;
  font-size: .875rem; width: 100%;
  transition: border-color .2s, box-shadow .2s; appearance: auto;
}
.si-form-control::placeholder { color: var(--si-text-muted); }
.si-form-control:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(10,121,138,.2);
  color: var(--si-text);
}
.si-form-label {
  font-size: 0.9rem; font-weight: 500; color: var(--si-text-muted);
  margin-bottom: .3rem; display: block;
}
.si-has-icon { padding-left: 2.25rem; }
.si-input-leading-icon {
  position: absolute; left: .75rem; top: 50%; transform: translateY(-50%);
  color: var(--si-text-muted); pointer-events: none; z-index: 1;
}
.form-check-input { border-color: var(--si-border); width: 1.1em; height: 1.1em; }
.form-check-input:checked { background-color: var(--si-primary); border-color: var(--si-primary); }
.form-check-label { color: var(--si-text); font-size: .875rem; }

/* ── Buttons ── */
.si-btn-ghost {
  background: transparent; border: 1px solid var(--si-border); border-radius: 8px;
  color: var(--si-text); font-size: .875rem;
  transition: background .18s, border-color .18s, color .18s; cursor: pointer;
}
.si-btn-ghost:hover { background: var(--si-surface-2); border-color: var(--si-text-muted); color: var(--si-text); }

/* Python: red st.button(key="red_start_over") */
.si-btn-danger {
  background: transparent; border: 1px solid var(--si-danger); border-radius: 8px;
  color: var(--si-danger); font-size: .875rem;
  transition: background .18s, border-color .18s, color .18s; cursor: pointer;
}
.si-btn-danger:hover { background: rgba(218,54,51,.08); border-color: var(--si-danger); color: #ff6b6b; }

.si-btn-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; border-radius: 8px;
  border: 1px solid var(--si-border); background: transparent;
  color: var(--si-text-muted); cursor: pointer; transition: all .18s; text-decoration: none;
}
.si-btn-icon:hover:not(.disabled) { background: var(--si-surface-2); color: var(--si-text); }
.si-btn-icon.disabled { opacity: .35; cursor: default; pointer-events: none; }

/* ── Client card ── */
.si-client-card {
  background: rgba(10,121,138,.12); border: 1px solid var(--si-border);
  border-left: 4px solid var(--si-primary); border-radius: 8px;
  padding: .875rem 1.125rem; display: flex; align-items: center; gap: .875rem;
}
.si-client-avatar {
  width: 42px; height: 42px; border-radius: 50%;
  background: linear-gradient(135deg, var(--si-primary) 0%, var(--si-accent) 100%);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.1rem; font-weight: 700; color: #fff; flex-shrink: 0;
}
.si-client-name { font-size: .9375rem; font-weight: 600; color: var(--si-text); }
.si-client-meta { font-size: 0.9rem; color: var(--si-text-muted); margin-top: .1rem; }

/* ── Brief panel ── */
.si-brief-panel {
  background: rgba(10,121,138,.10); border: 1px solid rgba(10,121,138,.3);
  border-radius: 8px; padding: .875rem 1.125rem;
}
.si-brief-title { font-size: 0.9rem; font-weight: 600; color: var(--si-primary); margin-bottom: .5rem; }
.si-brief-sub-title {
  font-size: .72rem; font-weight: 600; color: var(--si-text-muted);
  text-transform: uppercase; letter-spacing: .05em; margin-bottom: .3rem;
}

/* ── Searchable dropdown ── */
.si-search-select-dropdown {
  position: absolute; top: calc(100% + 4px); left: 0; right: 0;
  background: var(--si-surface); border: 1px solid var(--si-border);
  border-radius: 8px; max-height: 260px; overflow-y: auto;
  z-index: 300; box-shadow: 0 8px 32px rgba(0,0,0,.15); display: none;
}
.si-search-select-dropdown.open { display: block; }
.si-dropdown-item {
  padding: .6rem 1rem; cursor: pointer; transition: background .13s;
  border-bottom: 1px solid var(--si-border);
}
.si-dropdown-item:last-child { border-bottom: none; }
.si-dropdown-item:hover { background: var(--si-surface-2); }
.si-di-name { color: var(--si-text); font-size: .875rem; font-weight: 500; }
.si-di-meta { color: var(--si-text-muted); font-size: .78125rem; margin-top: .1rem; }
.si-dropdown-empty { padding: .75rem 1rem; color: var(--si-text-muted); font-size: .875rem; text-align: center; }

/* ── Multi-select chips ── */
.si-chips-wrap { display: flex; flex-wrap: wrap; gap: .25rem; margin-bottom: .35rem; }
.si-chip {
  display: inline-flex; align-items: center; gap: .25rem;
  background: rgba(10,121,138,.2); color: #7ecfda;
  border: 1px solid rgba(10,121,138,.4); border-radius: 20px;
  padding: .2rem .65rem; font-size: .78125rem; font-weight: 500;
}
.si-chip-x { cursor: pointer; opacity: .65; line-height: 1; }
.si-chip-x:hover { opacity: 1; }

/* ── Badges ── */
.si-optional-badge {
  font-size: .72rem; color: var(--si-text-muted);
  border: 1px solid var(--si-border); border-radius: 4px;
  padding: .1rem .4rem; font-weight: 400; text-transform: none; letter-spacing: 0;
}
.si-dim-badge {
  display: inline-block; background: rgba(10,121,138,.15); color: var(--si-accent);
  border-radius: 4px; font-size: .7rem; font-weight: 600;
  padding: .15rem .4rem; text-transform: uppercase; letter-spacing: .04em; margin-bottom: .5rem;
}

/* ── Question items (Python parity: plain text, no card) ── */
.si-question-item { margin-bottom: 1rem; }
.si-question-text { font-size: .9rem; color: var(--si-text); line-height: 1.5; margin-bottom: 0; }

/* Multi-client question group header — Python: background:#0A798A;color:white teal bar */
.si-section-title-group {
  background: var(--si-primary); color: #fff;
  padding: .45rem 1rem; border-radius: 6px;
  font-size: .875rem; font-weight: 600;
  margin-top: 1.25rem; margin-bottom: .75rem;
}

/* ── Notes ── */
.si-note-box { position: relative; margin-bottom: .5rem; }
.si-note-ta { min-height: 80px; resize: vertical; font-family: inherit; }
.si-note-remove {
  position: absolute; top: .45rem; right: .45rem;
  background: none; border: none; color: var(--si-danger);
  cursor: pointer; font-size: 1rem; opacity: .6; padding: .1rem .25rem;
}
.si-note-remove:hover { opacity: 1; }

/* ── Audio recorder ── */
.si-record-btn {
  display: inline-flex; align-items: center; gap: .4rem;
  background: var(--si-surface-2); border: 1px solid var(--si-border);
  border-radius: 8px; color: var(--si-text); padding: .45rem .875rem;
  font-size: .875rem; cursor: pointer; transition: all .18s;
}
.si-record-btn.recording {
  border-color: var(--si-danger); color: var(--si-danger);
  background: rgba(218,54,51,.08);
}
.si-rec-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--si-danger); display: none;
  animation: si-pulse 1s infinite;
}
.recording .si-rec-dot { display: block; }
@keyframes si-pulse { 0%,100% { opacity: 1; } 50% { opacity: .25; } }

/* ── File items ── */
.si-file-item, .si-audio-item {
  display: flex; align-items: center; gap: .625rem;
  background: var(--si-surface-2); border: 1px solid var(--si-border);
  border-radius: 6px; padding: .45rem .75rem; margin-top: .35rem; font-size: 0.9rem;
}
.si-file-name { flex: 1; color: var(--si-text); font-size: 0.9rem; word-break: break-all; }
.si-file-size { color: var(--si-text-muted); white-space: nowrap; font-size: .75rem; }
.si-file-del  { color: var(--si-danger); cursor: pointer; opacity: .65; flex-shrink: 0; }
.si-file-del:hover { opacity: 1; }

/* ── Context banner ── */
.si-context-banner {
  background: var(--si-surface); border: 1px solid var(--si-border);
  border-left: 4px solid var(--si-primary); border-radius: 8px;
  padding: .75rem 1.125rem; font-size: .9rem; color: var(--si-text-muted);
}

/* ── Success screen ── */
.si-success-wrap {
  min-height: 80vh; display: flex; align-items: center;
  justify-content: center; flex-direction: column;
  text-align: center; padding: 2rem 1.25rem;
}
.si-success-icon-wrap {
  width: 88px; height: 88px; border-radius: 50%;
  background: rgba(46,160,67,.12); border: 2px solid var(--si-success);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 1.5rem; font-size: 2.5rem; color: var(--si-success);
  animation: si-pop .45s cubic-bezier(.175,.885,.32,1.275);
}
@keyframes si-pop { from { transform: scale(.5); opacity: 0; } to { transform: scale(1); opacity: 1; } }

/* ── Responsive ── */
@media (max-width: 575px) {
  .si-wizard-body   { padding: 1rem 1rem 100px; }
  .si-wizard-header { padding: .65rem 1rem; }
  .si-step-label    { display: none !important; }
  .si-step-circle   { width: 26px; height: 26px; font-size: .75rem; }
  .si-step-line     { margin: 0 .35rem; }
  .si-section-card  { padding: 1rem; }
}
@media (max-width: 991px){
    .si-page-title {
        font-size: 25px;
    }

    .si-page-subtitle {
        font-size: 20px;
    }
}

/* ============================================================
   Dashboard Shell
   ============================================================ */

:root {
  --si-sidebar-w: 260px;
  --si-topbar-h:  56px;
}

/* ── Sidebar ──────────────────────────────────────────────── */
.si-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    width: var(--si-sidebar-w);
    height: 100vh;
    background: #f0f2f6;
    border-right: 0px solid var(--si-border);
    display: flex;
    flex-direction: column;
    z-index: 1000;
    transition: transform .22s cubic-bezier(.4,0,.2,1);
    overflow: hidden;
    box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15) !important
}

.si-sidebar-brand {  
  border-bottom: 0px solid var(--si-border);
  flex-shrink: 0;
}

.si-sidebar-logo {
  width: 36px; height: 36px; border-radius: 10px;
  background: linear-gradient(135deg, var(--si-primary) 0%, var(--si-accent) 100%);
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem; color: #fff; flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(10,121,138,.35);
}

.si-sidebar-brand-name {
  font-size: .9375rem; font-weight: 700;
  color: var(--si-text); letter-spacing: -.015em; line-height: 1.2;
}

.si-sidebar-brand-sub {
  font-size: .6875rem; color: var(--si-text-muted); letter-spacing: .01em;
}

/* ── Nav ──────────────────────────────────────────────────── */
.si-sidebar-nav {
  flex: 1; overflow-y: auto; padding: .875rem .75rem;
  scrollbar-width: thin;
  scrollbar-color: rgba(27,79,114,.2) transparent;
}
.si-sidebar-nav::-webkit-scrollbar { width: 4px; }
.si-sidebar-nav::-webkit-scrollbar-thumb { background: rgba(27,79,114,.2); border-radius: 4px; }

.si-nav-group-label {
  font-size: .6875rem; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; color: #484f58;
  padding: .625rem .75rem .25rem; margin-top: .25rem;
}

.si-nav-link {
  display: flex; align-items: center; gap: .75rem;
  padding: .625rem .875rem;
  border-radius: 8px;
  color: var(--si-text);
  text-decoration: none;
  font-size: .875rem; font-weight: 500;
  transition: background .13s, color .13s;
  margin-bottom: 1px;
  position: relative;
}
.si-nav-link:hover:not(.disabled) {
  background: rgba(27,79,114,.08); color: var(--si-text); text-decoration: none;
}
.si-nav-link.active {
  background: rgba(10,121,138,.12); color: var(--si-primary);
}
.si-nav-link.active::before {
  content: '';
  position: absolute; left: 0; top: 22%; bottom: 22%;
  width: 3px; border-radius: 0 3px 3px 0;
  background: var(--si-primary);
}
.si-nav-icon {
  font-size: 1rem; flex-shrink: 0; width: 18px; text-align: center;
}
.si-nav-link.disabled { opacity: .38; pointer-events: none; }
.si-nav-soon {
  font-size: .625rem; font-weight: 600; letter-spacing: .03em;
  background: rgba(27,79,114,.08); border: 1px solid rgba(27,79,114,.2);
  color: rgba(27,79,114,.6); border-radius: 4px;
  padding: .1rem .4rem; margin-left: auto; white-space: nowrap;
}

/* ── Sidebar user footer ──────────────────────────────────── */
.si-sidebar-user {
  border-top: 1px solid var(--si-border);
  padding: .875rem 1rem;
  display: flex; align-items: center; gap: .75rem;
  flex-shrink: 0;
}
.si-sb-avatar {
  width: 36px; height: 36px; border-radius: 50%; flex-shrink: 0;
  background: linear-gradient(135deg, var(--si-primary) 0%, var(--si-accent) 100%);
  display: flex; align-items: center; justify-content: center;
  font-size: 0.9rem; font-weight: 700; color: #fff; letter-spacing: .03em;
}
.si-sb-info { flex: 1; min-width: 0; }
.si-sb-name {
  font-size: .875rem; font-weight: 600; color: var(--si-text);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.si-sb-role {
  font-size: .75rem; color: var(--si-text-muted);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.si-sb-logout {
  flex-shrink: 0; background: none; border: none;
  color: #484f58; cursor: pointer;
  padding: .375rem; border-radius: 6px; font-size: 1rem; line-height: 1;
  transition: color .14s, background .14s;
}
.si-sb-logout:hover { color: #f44336; background: rgba(244,67,54,.1); }

/* ── Topbar ───────────────────────────────────────────────── */
.si-topbar {
    position: fixed;
    top: 0;
    left: var(--si-sidebar-w);
    right: 0;
    height: var(--si-topbar-h);
    z-index: 200;
    background: rgb(248, 249, 250);
    border-bottom: 1px solid var(--si-border);
    display: flex;
    align-items: center;
    padding: 0 1.5rem;
    gap: 1rem;
}
.si-topbar-toggle {
  background: none; border: none; color: #8b949e;
  font-size: 1.25rem; cursor: pointer;
  padding: .25rem .375rem; border-radius: 6px;
  display: none; align-items: center;
  transition: color .13s, background .13s;
  flex-shrink: 0;
}
.si-topbar-toggle:hover { color: var(--si-text); background: rgba(27,79,114,.08); }
.si-topbar-breadcrumb {
  display: flex; align-items: center; gap: .375rem;
  font-size: 0.9rem; flex: 1;
}
.si-topbar-home-link {
  color: rgba(27,79,114,.65); text-decoration: none;
  transition: color .13s;
}
.si-topbar-home-link:hover { color: var(--si-text); }
.si-topbar-sep { font-size: .625rem; color: rgba(27,79,114,.4); }
.si-topbar-page { color: var(--si-text); font-weight: 500; }
.si-topbar-end { display: flex; align-items: center; gap: .75rem; margin-left: auto; }
.si-tb-chip {
  display: flex; align-items: center; gap: .5rem;
  padding: .25rem .625rem .25rem .25rem;
  border-radius: 20px;
  background: rgba(27,79,114,.06); border: 1px solid rgba(27,79,114,.2);
}
.si-tb-avatar {
  width: 26px; height: 26px; border-radius: 50%;
  background: linear-gradient(135deg, var(--si-primary) 0%, var(--si-accent) 100%);
  display: flex; align-items: center; justify-content: center;
  font-size: .6875rem; font-weight: 700; color: #fff; flex-shrink: 0;
}
.si-tb-name { font-size: 0.9rem; color: var(--si-text); font-weight: 500; }

/* Mobile backdrop */
.si-sidebar-backdrop {
  display: none; position: fixed; inset: 0;
  background: rgba(0,0,0,.55); z-index: 999;
}
.si-sidebar-backdrop.show { display: block; }

/* ── Main content area ────────────────────────────────────── */
.si-main-wrap {
  margin-left: var(--si-sidebar-w);
  padding-top: var(--si-topbar-h);
  min-height: 100vh;
}

/* ── Wizard integration overrides ────────────────────────── */
.si-dashboard-layout .si-wizard-page {
  min-height: calc(100vh - var(--si-topbar-h));
}
.si-dashboard-layout .si-wizard-header {
  top: var(--si-topbar-h);
  z-index: 150;
}
.si-dashboard-layout .si-wizard-footer {
  left: var(--si-sidebar-w);
  z-index: 150;
}

/* ── Home dashboard content ───────────────────────────────── */


.si-dash-welcome {
  background: linear-gradient(135deg, rgba(27,79,114,.06) 0%, rgba(10,121,138,.06) 100%);
  border: 1px solid var(--si-border);
  border-radius: 14px;
  padding: 1.75rem 2rem;
  margin-bottom: 2rem;
  display: flex; align-items: center; gap: 1.5rem;
}
.si-dash-welcome-icon {
  width: 56px; height: 56px; border-radius: 14px; flex-shrink: 0;
  background: linear-gradient(135deg, var(--si-primary) 0%, var(--si-accent) 100%);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.625rem; color: #fff;
  box-shadow: 0 4px 16px rgba(10,121,138,.35);
}
.si-dash-welcome-title {
  font-size: 1.3125rem; font-weight: 700; color: var(--si-text); margin-bottom: .25rem;
}
.si-dash-welcome-sub {
  color: rgba(27,79,114,.7); font-size: .9375rem;
}

.si-modules-grid { margin-bottom: 2rem; }

.si-module-card {
  background: var(--si-surface);
  border: 1px solid var(--si-border);
  border-radius: 12px;
  padding: 1.5rem;
  height: 100%;
  text-decoration: none !important;
  display: flex; flex-direction: column;
  transition: transform .15s, box-shadow .15s, border-color .15s;
  color: inherit !important;
}
.si-module-card:hover:not(.si-module-disabled) {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  border-color: rgba(10,121,138,.4);
}
.si-module-card.si-module-disabled {
  opacity: .5; pointer-events: none; cursor: default;
}
.si-module-icon {
  width: 46px; height: 46px; border-radius: 11px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.375rem; margin-bottom: 1rem; flex-shrink: 0;
}
.si-module-name {
  font-size: .9375rem; font-weight: 600; color: var(--si-text); margin-bottom: .3rem;
}
.si-module-card .si-module-name {
    font-size: 1.2rem;
}
.si-module-desc {
  font-size: 0.9rem; color: rgba(27,79,114,.7); flex: 1; line-height: 1.5;
}
.si-module-cta {
  display: flex; align-items: center; gap: .375rem;
  font-size: 0.9rem; font-weight: 600; color: var(--si-primary);
  margin-top: 1rem;
}
.si-module-soon-badge {
  display: inline-flex; align-items: center;
  font-size: .6875rem; font-weight: 600;
  background: rgba(27,79,114,.08); border: 1px solid rgba(27,79,114,.2);
  color: rgba(27,79,114,.6); border-radius: 4px;
  padding: .1rem .45rem; margin-top: 1rem; align-self: flex-start;
}

/* ============================================================
   Pre-Meeting Brief
   ============================================================ */


/* Metric cards — matches Python st.metric() */
.si-metric-row { display: flex; gap: .75rem; margin: 1rem 0; flex-wrap: wrap; }
.si-metric-card {
  flex: 1; min-width: 120px;
  border: 1px solid var(--si-border);
  border-radius: 8px; padding: .75rem 1rem;
}
.si-metric-label {
  font-size: .72rem; font-weight: 600; color: var(--si-text-muted);
  text-transform: uppercase; letter-spacing: .05em; margin-bottom: .3rem;
}
.si-metric-value {
  font-size: 1.0625rem; font-weight: 700; color: var(--si-text);
  line-height: 1.25; word-break: break-word;
}

/* Info box — matches Python st.info() */
.si-info-box {
  background: rgba(10,121,138,.10); border: 1px solid rgba(10,121,138,.3);
  border-left: 4px solid var(--si-primary); border-radius: 8px;
  padding: .875rem 1.125rem; color: var(--si-text);
  font-size: .9rem; line-height: 1.6;
}

/* Subheader — matches Python st.subheader() */
.si-subheader {
  font-size: 1.0625rem; font-weight: 700; color: var(--si-text);
  margin: 1.5rem 0 .75rem;
}

/* Page section divider — matches Python st.divider() */
.si-pm-divider { border: none; border-top: 1px solid var(--si-border); margin: 1.25rem 0; }

/* Caption text — matches Python st.caption() */
.si-pm-caption { font-size: 0.9rem; color: var(--si-text-muted); margin-bottom: .35rem; }

/* Bold label — matches Python st.markdown("**text**") */
.si-pm-bold-label {
  font-size: .9375rem; font-weight: 600; color: var(--si-text); margin-bottom: .5rem; margin-top: .875rem;
}

/* Tips expander — matches Python st.expander() */
.si-tips-expander {
  border: 1px solid var(--si-border); border-radius: 8px; overflow: hidden;
}
.si-tips-toggle {
  display: flex; align-items: center; gap: .5rem; width: 100%;
  padding: .75rem 1rem; text-align: left;
  background: var(--si-surface-2); border: none;
  color: var(--si-text); font-size: .875rem; font-weight: 500; cursor: pointer;
  transition: background .13s;
}
.si-tips-toggle:hover { background: rgba(27,79,114,.06); }
.si-tips-body { padding: 1rem 1.125rem; background: var(--si-surface); }
.si-tips-chevron { margin-left: auto; transition: transform .2s; }
.si-tips-toggle[aria-expanded="true"] .si-tips-chevron { transform: rotate(180deg); }

/* Responsive — Pre-Meeting */
@media (max-width: 767px) {  
  .si-metric-card { min-width: 100px; }
}

/* ============================================================
   Meeting History & Management
   ============================================================ */

/* Meeting card — matches Python st.expander() */
.si-mh-card {
  border: 1px solid var(--si-border);
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: .5rem;
}

/* Expander toggle button */
.si-mh-header {
  width: 100%;
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .75rem 1rem;
  background: var(--si-surface);
  border: none;
  color: var(--si-text);
  font-size: .875rem;
  text-align: left;
  cursor: pointer;
  transition: background .13s;
  line-height: 1.4;
}
.si-mh-header:hover       { background: rgba(27,79,114,.06); }
.si-mh-header[aria-expanded="true"] { background: rgba(10,121,138,.08); }

.si-mh-label   { flex: 1; min-width: 0; }
.si-mh-preview {
  font-size: 0.9rem; color: var(--si-text-muted);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 380px;
}
.si-mh-chevron { flex-shrink: 0; transition: transform .2s; color: var(--si-text-muted); }
.si-mh-header[aria-expanded="true"] .si-mh-chevron { transform: rotate(180deg); }

/* Expander body — matches Python expander content area */
.si-mh-body {
  padding: 1rem 1.125rem 1.25rem;
  background: var(--si-surface-2);
  border-top: 1px solid var(--si-border);
}

/* Disabled meeting — matches Python st.error() */
.si-mh-disabled {
  background: rgba(218,54,51,.08);
  border: 1px solid rgba(218,54,51,.3);
  border-left: 4px solid var(--si-danger);
  border-radius: 8px;
  padding: .75rem 1rem;
  color: var(--si-text);
  font-size: .9rem;
}

/* 3-column metadata row — matches Python col_a, col_b, col_c = st.columns(3) */
.si-mh-meta-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .5rem;
  margin-bottom: .875rem;
}
.si-mh-meta-col { font-size: 0.9rem; color: var(--si-text-muted); }
.si-mh-meta-col strong { color: var(--si-text); }

/* Action buttons row — matches Python col_bcol1, col_bcol2, col_bcol3 */
.si-mh-action-row { display: flex; gap: .5rem; flex-wrap: wrap; }

/* Transcript / Notes panel */
.si-mh-transcript-wrap {
  margin-top: .5rem; padding: .875rem 1rem;
  background: var(--si-surface-2); border: 1px solid var(--si-border);
  border-radius: 6px; font-size: .875rem; color: var(--si-text);
  white-space: pre-wrap; line-height: 1.7;
  max-height: 420px; overflow-y: auto;
}
.si-mh-transcript-section { margin-bottom: 1rem; }
.si-mh-transcript-section:last-child { margin-bottom: 0; }
.si-mh-transcript-label {
  font-size: .8rem; font-weight: 700; color: var(--si-primary);
  letter-spacing: .04em; text-transform: uppercase; margin-bottom: .35rem;
}
.si-mh-mcq-row {
  padding: .3rem 0; border-bottom: 1px solid rgba(48,54,61,.6);
}
.si-mh-mcq-row:last-child { border-bottom: none; }

/* Edit panel — matches Python st.session_state[_edit_key] expander content */
.si-mh-edit-panel {
  margin-top: .875rem;
  padding: 1rem;
  background: rgba(10,121,138,.06);
  border: 1px solid rgba(10,121,138,.2);
  border-radius: 8px;
}
.si-mh-edit-title {
  font-size: .9375rem; font-weight: 700; color: var(--si-text); margin-bottom: .25rem;
}

/* Flag blocks — match Python st.error/warning/success */
.si-flag-red, .si-flag-orange, .si-flag-green {
  border-radius: 6px; padding: .6rem .875rem; margin-bottom: .4rem; font-size: .875rem;
}
.si-flag-red    { background: rgba(218,54,51,.08);  border-left: 4px solid var(--si-danger); }
.si-flag-orange { background: rgba(210,153,34,.08); border-left: 4px solid var(--si-warning); }
.si-flag-green  { background: rgba(46,160,67,.08);  border-left: 4px solid var(--si-success); }

/* Responsive — Meeting History */
@media (max-width: 767px) {  
  .si-mh-meta-row  { grid-template-columns: 1fr; }
  .si-mh-preview   { max-width: 200px; }
}

/* ════════════════════════════════════════════════════════════
   Company Dashboard
   ════════════════════════════════════════════════════════════ */

/* Flag badges (💳 Payment Risk, 🔒 Trust Barrier, 🧱 Hard Switcher) */
.si-cd-badge {
  display: inline-flex; align-items: center;
  background: rgba(10,121,138,.12); border: 1px solid rgba(10,121,138,.28);
  color: #7ecfda; border-radius: 4px;
  padding: .15rem .5rem; font-size: 0.9rem; font-family: monospace;
  margin-right: .375rem; margin-bottom: .25rem;
}

/* Section subheaders */
.si-cd-subheader {
  font-size: 1rem; font-weight: 700; color: var(--si-text);
  margin: 1.25rem 0 .75rem;
}

/* Company Flags tab bar */
.si-cd-flag-tabs { gap: .25rem; border-bottom: 1px solid var(--si-border); }
.si-cd-flag-tabs .nav-link {
  font-size: 0.9rem; color: var(--si-text-muted);
  border: 1px solid transparent; border-radius: 4px 4px 0 0;
  padding: .375rem .75rem; background: transparent;
}
.si-cd-flag-tabs .nav-link:hover { color: var(--si-text); background: rgba(27,79,114,.06); }
.si-cd-flag-tabs .nav-link.active {
  color: var(--si-text); background: var(--si-surface-2);
  border-color: var(--si-border); border-bottom-color: var(--si-surface-2);
}

.si-cd-flag-tab-content {
  background: var(--si-surface-2);
  border: 1px solid var(--si-border); border-top: none;
  border-radius: 0 0 6px 6px; padding: .875rem 1rem;
  min-height: 3rem;
}

/* Meeting expander inside flag tabs */
.si-cd-flag-meeting { border: 1px solid var(--si-border); border-radius: 6px; overflow: hidden; }
.si-cd-flag-meeting-hdr {
  width: 100%; display: flex; align-items: center; gap: .5rem;
  padding: .5rem .875rem; background: var(--si-surface); border: none;
  color: var(--si-text); font-size: 0.9rem; cursor: pointer;
  transition: background .13s; text-align: left;
}
.si-cd-flag-meeting-hdr:hover { background: rgba(27,79,114,.06); }
.si-cd-flag-meeting-body {
  padding: .625rem .875rem; background: var(--si-surface-2);
  border-top: 1px solid var(--si-border);
}

/* Axis / weight table */
.si-cd-axis-table { width: 100%; font-size: 0.9rem; border-collapse: collapse; }
.si-cd-axis-table th {
  font-size: .7rem; font-weight: 700; color: var(--si-text-muted);
  text-transform: uppercase; letter-spacing: .05em;
  padding: .25rem .5rem; border-bottom: 1px solid var(--si-border); text-align: left;
}
.si-cd-axis-table td {
  padding: .375rem .5rem; color: var(--si-text);
  border-bottom: 1px solid rgba(48,54,61,.4); vertical-align: middle;
}
.si-cd-axis-bar { font-family: monospace; font-size: .73rem; color: #7ecfda; letter-spacing: .02em; }

/* Chart containers */
.si-cd-chart-wrap { position: relative; }

/* Individual stakeholder profile expanders */
.si-cd-sh-card { border: 1px solid var(--si-border); border-radius: 8px; overflow: hidden; margin-bottom: .5rem; }
.si-cd-sh-header {
  width: 100%; display: flex; align-items: center; gap: .5rem;
  padding: .75rem 1rem; background: var(--si-surface); border: none;
  color: var(--si-text); font-size: .875rem; text-align: left; cursor: pointer;
  transition: background .13s;
}
.si-cd-sh-header:hover { background: rgba(27,79,114,.06); }
.si-cd-sh-header[aria-expanded="true"] { background: rgba(10,121,138,.08); }
.si-cd-sh-body {
  padding: 1rem 1.125rem; background: var(--si-surface-2);
  border-top: 1px solid var(--si-border);
}

/* ════════════════════════════════════════════════════════════
   Country Intelligence
   ════════════════════════════════════════════════════════════ */

/* Axis score progress bar */
.si-ci-axis-progress-outer {
  height: 8px; border-radius: 4px;
  background: rgba(27,79,114,.12);
  overflow: hidden; width: 100%;
}
.si-ci-axis-progress-inner {
  height: 100%; border-radius: 4px;
  background: rgba(255,99,71,0.7);
  transition: width .3s;
}

/* Signal breakdown table */
.si-ci-breakdown-table { margin-top: .25rem; }

/* News item cards */
.si-ci-news-card {
  border: 1px solid var(--si-border);
  border-left: 4px solid #6c757d;
  border-radius: 6px;
  padding: .875rem 1rem;
  margin-bottom: .75rem;
  background: var(--si-surface);
  transition: background .13s;
}
.si-ci-news-card:hover { background: rgba(27,79,114,.04); }

.si-ci-news-hdr {
  font-size: .9375rem; color: var(--si-text);
  margin-bottom: .375rem; line-height: 1.4;
}

.si-ci-meta-row {
  display: flex; flex-wrap: wrap; gap: .375rem 1.25rem;
  margin-bottom: .375rem;
  font-size: .78rem; color: var(--si-text-muted);
}

/* News card status badge — Python: .badge-market/.partial/.pending/.company colored pills */
.si-ci-status-badge {
  display: inline-block;
  padding: .1rem .45rem;
  border-radius: 4px;
  font-size: .72rem;
  font-weight: 600;
  color: #fff;
  white-space: nowrap;
  opacity: .92;
}

/* Intelligence Report body */
.si-ci-report-body {
  background: var(--si-surface-2);
  border: 1px solid var(--si-border);
  border-radius: 6px;
  padding: 1rem 1.125rem;
  font-size: .9rem; color: var(--si-text);
  white-space: pre-wrap; line-height: 1.7;
}

/* Responsive */
@media (max-width: 767px) {  
  .si-ci-meta-row  { gap: .25rem .75rem; }
}

/* ── Responsive — dashboard shell ────────────────────────── */
@media (max-width: 991px) {
  .si-sidebar { transform: translateX(-100%); }
  .si-sidebar.open { transform: translateX(0); }
  .si-topbar { left: 0; }
  .si-topbar-toggle { display: flex; }
  .si-main-wrap { margin-left: 0; }
  .si-dashboard-layout .si-wizard-footer { left: 0; }
}

@media (max-width: 767px) {  
  .si-dash-welcome { flex-direction: column; text-align: center; gap: 1rem; }
}

/* ── Strategic Matrix ─────────────────────────────────────────────────────── */

/* Quadrant-coloured accordion items — dark-mode adaptation of Python .quadrant-* classes */
.si-sm-accordion-item {
  background: var(--si-surface);
  border: 1px solid var(--si-border);
  border-radius: 6px;
  overflow: hidden;
}
/* Python: #d4edda/#fff3cd/#d1ecf1/#f8d7da — dark-mode adaptation at 12% opacity */
.si-sm-card-push-now     { border-left: 4px solid #28a745 !important; background: rgba(40,167,69,0.12) !important; }
.si-sm-card-push-caution { border-left: 4px solid #fd7e14 !important; background: rgba(253,126,20,0.12) !important; }
.si-sm-card-nurture      { border-left: 4px solid #17a2b8 !important; background: rgba(23,162,184,0.12) !important; }
.si-sm-card-low-priority { border-left: 4px solid #dc3545 !important; background: rgba(220,53,69,0.12) !important; }
.si-sm-card-unscored     { border-left: 4px solid #adb5bd !important; background: rgba(173,181,189,0.10) !important; }

.si-sm-acc-btn {
  background: transparent !important;
  color: var(--si-text) !important;
  box-shadow: none !important;
  font-size: .875rem;
  padding: .6rem 1rem;
}
.si-sm-acc-btn:not(.collapsed) { color: var(--si-accent) !important; }
.si-sm-acc-btn::after { filter: invert(0.7); }

.si-sm-acc-body {
  background: transparent;
  color: var(--si-text);
  font-size: .875rem;
  padding: .75rem 1.25rem 1rem;
  border-top: 1px solid var(--si-border);
}

/* Action card field labels (Python: st.markdown(f"**{field_label}**")) */
.si-sm-field-label {
  color: var(--si-accent);
  font-weight: 600;
  font-size: 0.9rem;
  margin-bottom: .15rem;
  margin-top: .6rem;
}
.si-sm-field-label:first-child { margin-top: 0; }
.si-sm-field-value {
  color: var(--si-text);
  margin-bottom: 0;
  line-height: 1.55;
}

/* Low-confidence warning */
.si-sm-warn {
  background: rgba(210,153,34,0.12);
  border: 1px solid rgba(210,153,34,0.35);
  color: #d29922;
  border-radius: 6px;
  font-size: 0.9rem;
  padding: .5rem .75rem;
}

/* Unscored table */
.si-sm-unscored-table {
  font-size: 0.9rem;
  max-width: 480px;
}

/* ── Settings ─────────────────────────────────────────────────────────────── */

/* Flash messages */
.si-st-alert-success {
  background: rgba(40,167,69,0.12);
  border: 1px solid rgba(40,167,69,0.35);
  color: #56c96e;
  border-radius: 6px;
  font-size: .875rem;
  padding: .6rem .9rem;
}
.si-st-alert-error {
  background: rgba(220,53,69,0.12);
  border: 1px solid rgba(220,53,69,0.35);
  color: #e05c6e;
  border-radius: 6px;
  font-size: .875rem;
  padding: .6rem .9rem;
}

/* Expander component (mirrors Python st.expander) */
.si-st-expander {
  border: 1px solid var(--si-border);
  border-radius: 8px;
  overflow: hidden;
  background: var(--si-surface);
}
.si-st-expander-btn {
  width: 100%;
  background: transparent;
  border: none;
  color: var(--si-text);
  text-align: left;
  padding: .65rem 1rem;
  font-size: .875rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: .25rem;
  transition: background .15s;
}
.si-st-expander-btn:hover { background: rgba(255,255,255,.04); }
.si-st-chevron { transition: transform .2s; }
.si-st-expander-btn[aria-expanded="true"] .si-st-chevron,
.si-st-expander.open .si-st-expander-btn .si-st-chevron {
  transform: rotate(180deg);
}

.si-st-expander-body {
  padding: 1rem 1.25rem 1.25rem;
  border-top: 1px solid var(--si-border);
}

/* Textarea for settings — extends si-form-control */
.si-st-textarea {
  resize: vertical;
  min-height: 80px;
  font-family: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, monospace;
  font-size: 0.9rem;
  line-height: 1.6;
}

/* Delete button */
.si-st-btn-delete {
  background: rgba(220,53,69,0.12);
  border: 1px solid rgba(220,53,69,0.35);
  color: #e05c6e;
  border-radius: 6px;
  font-size: 0.9rem;
}
.si-st-btn-delete:hover {
  background: rgba(220,53,69,0.22);
  color: #ff6b7a;
  border-color: rgba(220,53,69,0.55);
}
.sidebar-brand {
    border-bottom: 1px solid #f0f2f6;
}
.sidebar-brand .brand-link {
    background: none;
    padding: 0px;
    border-radius: 0px;
    box-shadow: none;
}
.sidebar-brand .brand-link .brand-image {
    box-shadow: none !important;
}
/* Custom Body Wrap */
.si-custom-body-wrap {
    background-color: rgb(248, 249, 250);
    max-width: 100%;
    margin: 0 auto 150px auto;
    padding: 1.75rem 2rem;
}

@media (max-width: 767px) {
    .si-custom-body-wrap {
        padding: 1.25rem 1rem;
    }
}
/* End Custom Body Wrap */
/* Custom Code Admin LTE */
h1 {
    font-size: 2rem;
}

.app-header {
    /*background: #7FDFE1;
    background: linear-gradient(90deg, rgba(127, 223, 225, 1) 0%, rgba(134, 188, 168, 1) 28%, rgba(154, 221, 183, 1) 74%, rgba(164, 234, 183, 1) 100%);*/
    background-color: #fcfcfc;
}

.app-sidebar.bg-body-secondary,
.user-header.text-bg-primary {
    background-color: #f0f2f6 !important;
}

.card.card-outline {
    border-top: 3px solid #2e9797 !important;
}

.login-page, .register-page {
    background-color: #fcfcfc !important;
}

.login-box .card-header {
    border-bottom: 0;
}

.login-box .title-text {
    color: rgb(27, 79, 114);
    font-size: 30px;
    font-weight: 600;
}

.login-box, .register-box {
    width: 100%;
    max-width: 600px;
}

.login-card-body {
    border: 1px solid rgba(27, 79, 114, 0.2);
    border-radius: 0.5rem;
}

.btn-primary {
    background-color: rgb(46, 134, 193) !important;
    border-color: rgb(46, 134, 193) !important;
}

.card-body,
.card-header,
.table,
.table th,
.table td {
    color: rgb(27, 79, 114);
}

.modal-dialog {
    z-index: 1055;
}

.sidebar-brand {
    border-bottom: 1px solid #f0f2f6;
}

.sidebar-brand .brand-link {
    background: none;
    padding: 0px;
    border-radius: 0px;
    box-shadow: none;
}

.sidebar-brand .brand-link .brand-image {
    box-shadow: none !important;
}

.card-title {
    float: none;
}

.dashboard-card .card-title {
    font-size: 25px !important;
}

.dashboard-card {
    cursor: default !important;
}

.text-primary {
    color: rgb(27, 79, 114) !important;
}

.dashboard-card {
    border: 1px solid #d8dee8;
    border-radius: 10px;
    transition: all .3s ease;
    cursor: pointer;
}

.dashboard-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(0,0,0,.10);
}

.dashboard-card .card-title {
    color: #0b4f82;
    font-weight: 700;
    font-size: 30px;
}

.dashboard-card p {
    font-size: 14px;
    line-height: 1.7;
}

.sidebar-wrapper .sidebar-menu > .nav-item > .nav-link {
    color: rgb(27, 79, 114) !important;
}

.sidebar-wrapper .sidebar-menu > .nav-item > .nav-link {
    color: rgb(27, 79, 114) !important;
}

.sidebar-wrapper .sidebar-menu > .nav-item > .nav-link:hover,
.sidebar-wrapper .sidebar-menu > .nav-item > .nav-link.active {
    color: rgb(27, 79, 114) !important;
    background-color: #dbdee7;
}

.btn-outline-light-custom {
    color: rgb(27, 79, 114) !important;
    background-color: #ffffff;
    border-color: rgb(27, 79, 114, 0.8) !important;
}

.nav-tabs .nav-link {
    color: rgb(27, 79, 114) !important;
}

    .nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
        color: rgb(27, 79, 114) !important;
    }

.bg-primary {
    background-color: rgb(46, 134, 193) !important;
}

.form-select .ts-control {
    padding: 0;
    padding-left: 10px;
}
/* End Custom Code Admin LTE */
/* Loader */
.box > .overlay,
.box > .loading-img,
.box > .loading-img-small {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.box > .overlay {
    z-index: 1010;
    background: rgba(255, 255, 255, 0.7);
}

    .box > .overlay.dark {
        background: rgba(0, 0, 0, 0.5);
    }

.box > .loading-img {
    z-index: 1020;
    background: transparent url('../img/ajax-loader.gif') 50% 50% no-repeat;
}
/* End Loader */
/* Button Loader */
.btn-loader {
    display: inline-block;
    width: 18px;
    height: 18px;
    background: transparent url('../img/ajax-loader.gif') center center no-repeat;
    background-size: contain;
    vertical-align: middle;
}
/* End Button Loader */
