/*
 * Elephant Modern Theme
 * A reversible visual layer based on the investor cabinet design.
 * Remove this stylesheet and the `elephant-modern-theme` body class to restore
 * the previous appearance. No business logic depends on this file.
 */

.elephant-modern-theme{
  --theme-bg:#f8fafc;
  --theme-bg-deep:#eef4fb;
  --theme-card:rgba(255,255,255,.94);
  --theme-card-solid:#fff;
  --theme-soft:#f8fafc;
  --theme-soft-blue:#eff6ff;
  --theme-line:#e2e8f0;
  --theme-line-strong:#cbd5e1;
  --theme-text:#0f172a;
  --theme-muted:#64748b;
  --theme-faint:#94a3b8;
  --theme-blue:#2563eb;
  --theme-blue-dark:#1d4ed8;
  --theme-green:#15803d;
  --theme-red:#b91c1c;
  --theme-amber:#a16207;
  --theme-radius:20px;
  --theme-radius-sm:14px;
  --theme-radius-xs:11px;
  --theme-shadow:0 14px 36px rgba(15,23,42,.075);
  --theme-shadow-soft:0 5px 18px rgba(15,23,42,.055);
  --theme-focus:0 0 0 4px rgba(37,99,235,.11);

  min-height:100dvh;
  color:var(--theme-text);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-feature-settings:"cv02","cv03","cv04","cv11";
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  background:
    radial-gradient(circle at 8% 0%,rgba(219,234,254,.58),transparent 27rem),
    radial-gradient(circle at 94% 8%,rgba(224,231,255,.38),transparent 24rem),
    linear-gradient(180deg,#fbfdff 0%,var(--theme-bg) 42%,#f4f7fb 100%);
}

.elephant-modern-theme,
.elephant-modern-theme input,
.elephant-modern-theme select,
.elephant-modern-theme textarea,
.elephant-modern-theme button{
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
}

.elephant-modern-theme h1,
.elephant-modern-theme h2,
.elephant-modern-theme h3,
.elephant-modern-theme h4,
.elephant-modern-theme .page-title,
.elephant-modern-theme .section-title,
.elephant-modern-theme .app-section-title,
.elephant-modern-theme .panel-section-title{
  color:var(--theme-text);
  letter-spacing:-.025em;
  text-wrap:balance;
}

.elephant-modern-theme h1,
.elephant-modern-theme .page-title{font-weight:800}
.elephant-modern-theme h2,
.elephant-modern-theme h3,
.elephant-modern-theme .section-title,
.elephant-modern-theme .app-section-title,
.elephant-modern-theme .panel-section-title{font-weight:750}

.elephant-modern-theme p,
.elephant-modern-theme .muted,
.elephant-modern-theme .help,
.elephant-modern-theme .section-subtitle{
  color:var(--theme-muted);
}

.elephant-modern-theme a{
  text-underline-offset:3px;
}

/* Page geometry */
.elephant-modern-theme .container,
.elephant-modern-theme .inv-container{
  width:min(1180px,calc(100% - 40px));
}

.elephant-modern-theme .page-pad,
.elephant-modern-theme .inv-main{
  padding-top:24px;
  padding-bottom:52px;
}

/* Primary surfaces */
.elephant-modern-theme .card,
.elephant-modern-theme .admin-card,
.elephant-modern-theme .section-card,
.elephant-modern-theme .calendar-card,
.elephant-modern-theme .ac-card,
.elephant-modern-theme .modal-card,
.elephant-modern-theme .preview-modal__inner,
.elephant-modern-theme .app-picker-sheet,
.elephant-modern-theme .ssc-box{
  border:1px solid rgba(15,23,42,.075) !important;
  border-radius:var(--theme-radius) !important;
  background:var(--theme-card) !important;
  box-shadow:var(--theme-shadow) !important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.elephant-modern-theme .subcard,
.elephant-modern-theme .app-section-box,
.elephant-modern-theme .section-box,
.elephant-modern-theme .ins-card,
.elephant-modern-theme .pay-attach-block,
.elephant-modern-theme .sch-card-box,
.elephant-modern-theme .panel-section{
  border:1px solid var(--theme-line) !important;
  border-radius:16px !important;
  background:rgba(248,250,252,.78) !important;
  box-shadow:none !important;
}

.elephant-modern-theme .section-head,
.elephant-modern-theme .panel-section-head{
  border-bottom-color:var(--theme-line) !important;
}

/* Form controls */
.elephant-modern-theme input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
.elephant-modern-theme select,
.elephant-modern-theme textarea,
.elephant-modern-theme .input,
.elephant-modern-theme .app-picker-select{
  border:1px solid var(--theme-line-strong) !important;
  border-radius:var(--theme-radius-sm) !important;
  background:rgba(255,255,255,.96) !important;
  color:var(--theme-text) !important;
  box-shadow:0 2px 7px rgba(15,23,42,.025) !important;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,transform .16s ease;
}

.elephant-modern-theme input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):hover,
.elephant-modern-theme select:hover,
.elephant-modern-theme textarea:hover{
  border-color:#b8c5d5 !important;
}

.elephant-modern-theme input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):focus,
.elephant-modern-theme select:focus,
.elephant-modern-theme textarea:focus,
.elephant-modern-theme .input:focus,
.elephant-modern-theme .app-picker-select:focus{
  outline:none !important;
  border-color:#93c5fd !important;
  box-shadow:var(--theme-focus) !important;
  background:#fff !important;
}

.elephant-modern-theme input::placeholder,
.elephant-modern-theme textarea::placeholder{
  color:var(--theme-faint) !important;
}

.elephant-modern-theme .floating .flabel,
.elephant-modern-theme label,
.elephant-modern-theme .label,
.elephant-modern-theme .ins-label{
  color:#475569;
  font-weight:650;
}

.elephant-modern-theme .field-error,
.elephant-modern-theme .is-error{
  color:var(--theme-red);
}

.elephant-modern-theme input[type="checkbox"],
.elephant-modern-theme input[type="radio"]{
  accent-color:var(--theme-blue);
}

/* Buttons */
.elephant-modern-theme .btn,
.elephant-modern-theme .app-action-btn,
.elephant-modern-theme .panel-action-btn,
.elephant-modern-theme .problem-btn,
.elephant-modern-theme .insurance-btn,
.elephant-modern-theme .doc-btn,
.elephant-modern-theme .doc-main-btn,
.elephant-modern-theme .doc-generate-btn,
.elephant-modern-theme .price-calculator-btn,
.elephant-modern-theme .preview-tool-btn,
.elephant-modern-theme .preview-modal__btn,
.elephant-modern-theme .err-btn,
.elephant-modern-theme .app-picker-btn,
.elephant-modern-theme .pay-picker-btn{
  border-radius:14px !important;
  font-weight:750 !important;
  letter-spacing:-.01em;
  box-shadow:0 4px 12px rgba(15,23,42,.045);
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease,color .15s ease;
}

.elephant-modern-theme .btn:hover,
.elephant-modern-theme .app-action-btn:hover,
.elephant-modern-theme .panel-action-btn:hover,
.elephant-modern-theme .problem-btn:hover,
.elephant-modern-theme .insurance-btn:hover,
.elephant-modern-theme .doc-btn:hover,
.elephant-modern-theme .doc-main-btn:hover,
.elephant-modern-theme .doc-generate-btn:hover,
.elephant-modern-theme .price-calculator-btn:hover,
.elephant-modern-theme .preview-tool-btn:hover,
.elephant-modern-theme .preview-modal__btn:hover,
.elephant-modern-theme .err-btn:hover,
.elephant-modern-theme .app-picker-btn:hover,
.elephant-modern-theme .pay-picker-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 9px 20px rgba(15,23,42,.09);
}

.elephant-modern-theme .btn:active,
.elephant-modern-theme .app-action-btn:active,
.elephant-modern-theme .panel-action-btn:active,
.elephant-modern-theme .problem-btn:active,
.elephant-modern-theme .insurance-btn:active,
.elephant-modern-theme .doc-btn:active,
.elephant-modern-theme .doc-main-btn:active,
.elephant-modern-theme .doc-generate-btn:active,
.elephant-modern-theme .price-calculator-btn:active{
  transform:translateY(0) scale(.99);
}

.elephant-modern-theme .btn.primary,
.elephant-modern-theme .primary.btn,
.elephant-modern-theme .app-action-btn.primary,
.elephant-modern-theme .panel-action-btn.primary,
.elephant-modern-theme .doc-main-btn,
.elephant-modern-theme .doc-generate-btn,
.elephant-modern-theme .price-calculator-btn.primary,
.elephant-modern-theme button[type="submit"].primary{
  border-color:transparent !important;
  background:linear-gradient(180deg,#3476f8 0%,#2563eb 100%) !important;
  color:#fff !important;
  box-shadow:0 10px 22px rgba(37,99,235,.2),inset 0 1px 0 rgba(255,255,255,.2) !important;
}

.elephant-modern-theme .btn.primary:hover,
.elephant-modern-theme .primary.btn:hover,
.elephant-modern-theme .app-action-btn.primary:hover,
.elephant-modern-theme .panel-action-btn.primary:hover,
.elephant-modern-theme .doc-main-btn:hover,
.elephant-modern-theme .doc-generate-btn:hover{
  background:linear-gradient(180deg,#2f6df6 0%,#1d4ed8 100%) !important;
}

.elephant-modern-theme .btn.secondary,
.elephant-modern-theme .secondary.btn,
.elephant-modern-theme .app-action-btn.secondary,
.elephant-modern-theme .panel-action-btn.secondary,
.elephant-modern-theme .app-picker-btn.cancel,
.elephant-modern-theme .preview-modal__btn.secondary{
  border-color:var(--theme-line) !important;
  background:#fff !important;
  color:var(--theme-text) !important;
}

.elephant-modern-theme .btn.danger,
.elephant-modern-theme .danger.btn,
.elephant-modern-theme .app-action-btn.danger,
.elephant-modern-theme .problem-btn.danger{
  border-color:#fecaca !important;
  background:#fff7f7 !important;
  color:var(--theme-red) !important;
  box-shadow:none !important;
}

/* Tabs, chips and status markers */
.elephant-modern-theme .tab-buttons{
  gap:8px;
  padding:5px;
  border:1px solid var(--theme-line);
  border-radius:16px;
  background:rgba(255,255,255,.72);
  width:max-content;
  max-width:100%;
}

.elephant-modern-theme .tab-btn{
  min-height:38px;
  padding:0 14px;
  border-radius:12px;
  color:var(--theme-muted);
  font-weight:700;
}

.elephant-modern-theme .tab-btn::after{display:none}
.elephant-modern-theme .tab-btn:hover{background:var(--theme-soft)}
.elephant-modern-theme .tab-btn.is-active{
  color:var(--theme-blue-dark);
  background:var(--theme-soft-blue);
  box-shadow:inset 0 0 0 1px rgba(37,99,235,.09);
}

.elephant-modern-theme .app-chip,
.elephant-modern-theme .section-chip,
.elephant-modern-theme .apps-filter-chip,
.elephant-modern-theme .car-sub-chip,
.elephant-modern-theme .season-pill,
.elephant-modern-theme .pill,
.elephant-modern-theme .status{
  border-radius:999px !important;
  font-weight:700 !important;
}

/* Tables */
.elephant-modern-theme .table,
.elephant-modern-theme table{
  color:var(--theme-text);
}

.elephant-modern-theme .table thead th,
.elephant-modern-theme table thead th{
  color:#475569;
  font-size:12px;
  font-weight:800;
  letter-spacing:.045em;
  text-transform:uppercase;
  background:#f8fafc;
  border-bottom:1px solid var(--theme-line) !important;
}

.elephant-modern-theme .table th:first-child,
.elephant-modern-theme table thead th:first-child{border-top-left-radius:12px}
.elephant-modern-theme .table th:last-child,
.elephant-modern-theme table thead th:last-child{border-top-right-radius:12px}

.elephant-modern-theme .table td,
.elephant-modern-theme table td{
  border-bottom-color:#edf1f6 !important;
}

.elephant-modern-theme .table tbody tr,
.elephant-modern-theme table tbody tr{
  transition:background .14s ease;
}

.elephant-modern-theme .table tbody tr:hover,
.elephant-modern-theme table tbody tr:hover{
  background:#f8fbff !important;
}

/* Schedule and transport panels */
.elephant-modern-theme .sch-card{
  border-radius:18px !important;
  box-shadow:var(--theme-shadow-soft) !important;
  background:rgba(255,255,255,.96) !important;
}

.elephant-modern-theme .sch-card:hover{
  box-shadow:0 12px 28px rgba(15,23,42,.09) !important;
}

.elephant-modern-theme .sch-card-number a{
  color:var(--theme-blue-dark) !important;
  font-weight:800 !important;
}

.elephant-modern-theme .sch-card-agg .pill{
  background:#f8fafc !important;
  border-color:var(--theme-line) !important;
}

.elephant-modern-theme .panel-action-btn,
.elephant-modern-theme .sch-icon-btn,
.elephant-modern-theme .sch-collapse-toggle{
  border-radius:12px !important;
}

/* Dialogs and overlays */
.elephant-modern-theme .preview-modal,
.elephant-modern-theme .ssc-overlay{
  background:rgba(15,23,42,.32) !important;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.elephant-modern-theme .modal-card,
.elephant-modern-theme .preview-modal__inner,
.elephant-modern-theme .app-picker-sheet,
.elephant-modern-theme .ssc-box{
  overflow:hidden;
}

.elephant-modern-theme .app-picker-head,
.elephant-modern-theme .app-picker-foot,
.elephant-modern-theme .preview-modal__head{
  border-color:var(--theme-line) !important;
  background:rgba(255,255,255,.96) !important;
}

/* Drop zones and attachments */
.elephant-modern-theme .dz,
.elephant-modern-theme .pay-attach-drop{
  border-color:#cbd5e1 !important;
  border-radius:16px !important;
  background:#f8fafc !important;
}

.elephant-modern-theme .dz:hover,
.elephant-modern-theme .pay-attach-drop:hover{
  border-color:#93c5fd !important;
  background:#f3f8ff !important;
}

/* Pagination */
.elephant-modern-theme .pagination a,
.elephant-modern-theme .pagination span,
.elephant-modern-theme .page-link{
  border:1px solid var(--theme-line) !important;
  border-radius:11px !important;
  background:#fff !important;
  color:var(--theme-text) !important;
  font-weight:700;
}

.elephant-modern-theme .pagination .active,
.elephant-modern-theme .page-link.active{
  border-color:#bfdbfe !important;
  background:var(--theme-soft-blue) !important;
  color:var(--theme-blue-dark) !important;
}

/* Alerts */
.elephant-modern-theme .alert,
.elephant-modern-theme .messages > *,
.elephant-modern-theme .inv-flash{
  border-radius:14px !important;
  box-shadow:0 4px 14px rgba(15,23,42,.035);
}

/* Date picker inherits the same visual system */
.elephant-modern-theme .ndp-sheet{
  border:1px solid rgba(15,23,42,.08) !important;
  border-radius:24px 24px 0 0 !important;
  box-shadow:0 -20px 48px rgba(15,23,42,.16) !important;
}

.elephant-modern-theme .ndp-column,
.elephant-modern-theme .ndp-value,
.elephant-modern-theme .ndp-button{
  border-radius:14px !important;
}

/* Login card */
.elephant-modern-theme .login-card{
  border:1px solid rgba(15,23,42,.075) !important;
  border-radius:26px !important;
  background:rgba(255,255,255,.92) !important;
  box-shadow:0 28px 70px rgba(15,23,42,.12) !important;
}

.elephant-modern-theme .login-card .btn{
  border-radius:16px !important;
  background:linear-gradient(180deg,#3476f8 0%,#2563eb 100%) !important;
  box-shadow:0 16px 30px rgba(37,99,235,.22) !important;
}

/* Focus accessibility */
.elephant-modern-theme a:focus-visible,
.elephant-modern-theme button:focus-visible,
.elephant-modern-theme summary:focus-visible{
  outline:3px solid rgba(37,99,235,.23) !important;
  outline-offset:3px;
}

@media(max-width:820px){
  .elephant-modern-theme .container,
  .elephant-modern-theme .inv-container{
    width:100%;
    padding-inline:12px;
  }

  .elephant-modern-theme .page-pad,
  .elephant-modern-theme .inv-main{
    padding-top:17px;
    padding-bottom:34px;
  }

  .elephant-modern-theme .card,
  .elephant-modern-theme .admin-card,
  .elephant-modern-theme .section-card,
  .elephant-modern-theme .calendar-card,
  .elephant-modern-theme .ac-card{
    border-radius:18px !important;
  }

  .elephant-modern-theme .tab-buttons{
    width:100%;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .elephant-modern-theme .tab-buttons::-webkit-scrollbar{display:none}
  .elephant-modern-theme .tab-btn{flex:0 0 auto}

  .elephant-modern-theme .table-responsive,
  .elephant-modern-theme .table-wrap{
    border-radius:16px;
    overflow-x:auto;
  }
}

@media(prefers-reduced-motion:reduce){
  .elephant-modern-theme *,
  .elephant-modern-theme *::before,
  .elephant-modern-theme *::after{
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
  }
}

/* Compound controls: the wrapper owns the border and surface. */
.elephant-modern-theme .apps-search,
.elephant-modern-theme .payments-search,
.elephant-modern-theme .cars-search-form,
.elephant-modern-theme .motorbikes-search-form{
  box-sizing:border-box;
  overflow:hidden;
}

.elephant-modern-theme .apps-search input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
.elephant-modern-theme .apps-search input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):hover,
.elephant-modern-theme .apps-search input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):focus,
.elephant-modern-theme .payments-search input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
.elephant-modern-theme .payments-search input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):hover,
.elephant-modern-theme .payments-search input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):focus,
.elephant-modern-theme .cars-search-form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
.elephant-modern-theme .cars-search-form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):hover,
.elephant-modern-theme .cars-search-form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):focus,
.elephant-modern-theme .motorbikes-search-form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
.elephant-modern-theme .motorbikes-search-form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):hover,
.elephant-modern-theme .motorbikes-search-form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):focus{
  width:100%;
  min-width:0;
  height:100%;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:none !important;
  -webkit-appearance:none;
  appearance:none;
}

.elephant-modern-theme .cars-search-form:focus-within,
.elephant-modern-theme .motorbikes-search-form:focus-within{
  border-color:#93c5fd !important;
  box-shadow:var(--theme-focus),0 10px 28px rgba(15,23,42,.06) !important;
}

.elephant-modern-theme .payments-search-main{
  min-width:0;
}

/* Coloured gradient hero surfaces must keep light typography.
   These selectors intentionally override the generic dark heading rule above. */
.elephant-modern-theme .hero-card,
.elephant-modern-theme .profile-hero{
  color:#fff !important;
}

.elephant-modern-theme .hero-card h1,
.elephant-modern-theme .hero-card h2,
.elephant-modern-theme .hero-card h3,
.elephant-modern-theme .hero-card .page-title,
.elephant-modern-theme .profile-hero h1,
.elephant-modern-theme .profile-hero h2,
.elephant-modern-theme .profile-hero h3,
.elephant-modern-theme .profile-hero .profile-name{
  color:#fff !important;
}

.elephant-modern-theme .hero-card .page-kicker,
.elephant-modern-theme .hero-card .chip-btn,
.elephant-modern-theme .profile-hero .profile-summary-badge{
  color:#fff !important;
}

.elephant-modern-theme .hero-card .page-subtitle,
.elephant-modern-theme .profile-hero .profile-sub{
  color:rgba(255,255,255,.86) !important;
}
