/* O'Plannings — visual refresh V1. Presentation only; keeps existing routes and forms. */
:root {
  --otdm-ink: #14243b;
  --otdm-muted: #718096;
  --otdm-blue: #2463d3;
  --otdm-blue-dark: #143b78;
  --otdm-line: #e5ebf3;
  --otdm-surface: #ffffff;
  --otdm-page: #f4f7fb;
  --otdm-radius: 18px;
}

body { color: var(--otdm-ink); }
#kt_app_content { background: var(--otdm-page); }
#kt_app_content_container { padding-top: 1.25rem; padding-bottom: 2.5rem; }
#kt_app_sidebar { background: #fff; border-right: 1px solid var(--otdm-line); }
#kt_app_sidebar_logo { min-height: 72px; border-bottom: 1px solid var(--otdm-line); }
#kt_app_header { background: rgba(255,255,255,.96); border-bottom: 1px solid var(--otdm-line); }
.card { border: 1px solid var(--otdm-line); border-radius: var(--otdm-radius); box-shadow: 0 8px 28px rgba(20,36,59,.045); }
.card-header { border-color: var(--otdm-line); }
.btn { border-radius: 10px; font-weight: 650; }
.form-control, .form-select { border-radius: 10px; border-color: #dce4ef; min-height: 42px; }
.form-control:focus, .form-select:focus { border-color: #7ca7ef; box-shadow: 0 0 0 .2rem rgba(36,99,211,.12); }

/* Sign-in */
.otdm-auth-layout { min-height: 100vh; background: #f3f6fb; }
.otdm-auth-layout .d-flex.flex-column.flex-lg-row-fluid.w-lg-50.p-10.order-2 { background: #f8faff; padding: clamp(1.25rem, 5vw, 4rem) !important; }
.otdm-auth-layout .d-flex.flex-column.flex-lg-row-fluid.w-lg-50.p-10.order-2 > .d-flex { width: 100%; }
.otdm-auth-layout .d-flex.flex-column.flex-lg-row-fluid.w-lg-50.p-10.order-2 .w-lg-500px { width: min(100%, 440px); padding: clamp(1.5rem, 4vw, 3.25rem) !important; background: #fff; border: 1px solid var(--otdm-line); border-radius: 24px; box-shadow: 0 24px 70px rgba(16,43,82,.12); }
#kt_sign_in_form h1 { margin-bottom: .6rem !important; color: var(--otdm-ink); font-size: clamp(1.8rem, 4vw, 2.25rem); letter-spacing: -.04em; }
#kt_sign_in_form input { min-height: 52px; padding-inline: 1rem; background: #f8faff !important; border: 1px solid #e0e7f0; border-radius: 12px; }
#kt_sign_in_form input:focus { background: #fff !important; }
#kt_sign_in_submit { min-height: 50px; box-shadow: 0 8px 18px rgba(36,99,211,.2); }
.otdm-auth-layout .d-flex.flex-lg-row-fluid.w-lg-50.bgi-size-cover.order-1 { position: relative; overflow: hidden; min-height: 320px; background-color: #123a79; }
.otdm-auth-layout .d-flex.flex-lg-row-fluid.w-lg-50.bgi-size-cover.order-1:before { content: ''; position: absolute; inset: 0; background: linear-gradient(145deg,rgba(15,44,92,.20),rgba(12,43,94,.78)); pointer-events: none; }
.otdm-auth-layout .d-flex.flex-lg-row-fluid.w-lg-50.bgi-size-cover.order-1 > div { position: relative; z-index: 1; }
.otdm-auth-layout .d-flex.flex-lg-row-fluid.w-lg-50.bgi-size-cover.order-1 img[alt="Logo"] { max-width: min(70vw, 300px); height: auto !important; max-height: 90px; object-fit: contain; }
.otdm-auth-layout .d-flex.flex-lg-row-fluid.w-lg-50.bgi-size-cover.order-1 img:not([alt="Logo"]) { max-width: min(80%, 460px); max-height: 42vh; object-fit: contain; filter: drop-shadow(0 22px 35px rgba(0,0,0,.18)); }

/* Admin dashboard */
.otdm-dashboard-intro { display:flex; justify-content:space-between; align-items:center; gap:1.5rem; flex-wrap:wrap; margin:0 0 1.25rem; padding:clamp(1.5rem,3vw,2.25rem); color:#fff; border-radius:22px; background:linear-gradient(120deg,#12376f 0%,#1d5bb3 62%,#3478df 100%); box-shadow:0 16px 36px rgba(25,75,150,.18); }
.otdm-dashboard-intro h1 { margin:.45rem 0 .35rem; color:#fff; font-size:clamp(1.65rem,3vw,2.15rem); font-weight:750; letter-spacing:-.035em; }
.otdm-dashboard-intro p { margin:0; color:rgba(255,255,255,.78); }
.otdm-dashboard-intro .otdm-eyebrow { font-size:.72rem; font-weight:750; letter-spacing:.12em; color:#c7dcff; }
.otdm-dashboard-actions { display:flex; gap:.65rem; flex-wrap:wrap; }
.otdm-dashboard-actions .btn-light-primary { color:#fff; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.25); }
.otdm-dashboard-actions .btn-primary { color:#16417f; background:#fff; border-color:#fff; }
.otdm-dashboard-shortcuts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; margin-bottom:1.25rem; }
.otdm-dashboard-shortcuts > a { min-height:78px; display:flex; align-items:center; gap:.85rem; padding:.9rem 1rem; color:var(--otdm-ink); background:#fff; border:1px solid var(--otdm-line); border-radius:15px; text-decoration:none; transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease; }
.otdm-dashboard-shortcuts > a:hover { transform:translateY(-2px); border-color:#bfd3f2; box-shadow:0 10px 26px rgba(20,48,88,.08); }
.otdm-dashboard-shortcuts strong,.otdm-dashboard-shortcuts small { display:block; }
.otdm-dashboard-shortcuts strong { font-size:.92rem; }
.otdm-dashboard-shortcuts small { margin-top:.18rem; color:var(--otdm-muted); }
.otdm-shortcut-icon { display:grid; place-items:center; flex:0 0 42px; height:42px; color:var(--otdm-blue); background:#edf4ff; border-radius:12px; font-size:1.25rem; }
.otdm-shortcut-arrow { margin-left:auto; color:#8b9ab0; font-size:1.45rem; }
.otdm-kpi { position:relative; overflow:hidden; text-align:left !important; border-radius:17px !important; }
.otdm-kpi:before { content:''; position:absolute; inset:0 0 auto; height:4px; background:var(--otdm-blue); }
.otdm-kpi-green:before { background:#21a675; } .otdm-kpi-violet:before { background:#7865d7; } .otdm-kpi-amber:before { background:#e2a12c; } .otdm-kpi-neutral:before { background:#94a3b8; }
.otdm-kpi .card-body { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; min-height:150px; padding:1.35rem !important; }
.otdm-kpi .card-body > div:nth-last-child(1) { color:var(--otdm-muted) !important; }
.otdm-chart-empty { display:flex; min-height:240px; flex-direction:column; justify-content:center; align-items:center; gap:.45rem; padding:1.5rem; text-align:center; color:var(--otdm-muted); }
.otdm-chart-empty > span { display:grid; place-items:center; width:48px; height:48px; color:var(--otdm-blue); background:#edf4ff; border-radius:15px; font-size:1.4rem; }
.otdm-chart-empty strong { color:var(--otdm-ink); }

/* Intervention list and shared page headings */
.otdm-page-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; margin-bottom:1.25rem; }
.otdm-page-heading h1 { margin:0 0 .3rem; font-size:1.75rem; letter-spacing:-.03em; }
.otdm-page-heading p { margin:0; color:var(--otdm-muted); }
#adminTabs { gap:.4rem; border-bottom:1px solid var(--otdm-line); }
#adminTabs .nav-link { padding:.75rem 1rem; color:var(--otdm-muted); border:0; border-bottom:2px solid transparent; font-weight:650; }
#adminTabs .nav-link.active { color:var(--otdm-blue); background:transparent; border-bottom-color:var(--otdm-blue); }
.dataTable thead th, .table thead th { color:#708097 !important; font-size:.7rem; letter-spacing:.045em; }
.table tbody tr:hover { background:#f8faff; }

/* Driver calendar */
.dp-grid { gap:.55rem !important; }
.dp-day { border-color:var(--otdm-line) !important; border-radius:14px !important; box-shadow:0 3px 12px rgba(20,36,59,.025); }
.dp-day.is-today { border-color:#5b91e6 !important; box-shadow:0 0 0 2px rgba(36,99,211,.13) inset !important; }
.dp-day-head a:last-child { display:grid; place-items:center; width:25px; height:25px; border-radius:8px; color:var(--otdm-blue) !important; background:#edf4ff; }
.dp-entry { border-radius:9px !important; }

/* Profitability */
.dp-profit .profit-kpi { height:100%; min-height:126px; display:flex; flex-direction:column; justify-content:center; gap:.35rem; padding:1.15rem 1.25rem; background:#fff; border:1px solid var(--otdm-line); border-top:3px solid #6e93cd; border-radius:16px; box-shadow:0 7px 22px rgba(20,36,59,.04); }
.dp-profit .profit-kpi span { color:var(--otdm-muted); font-size:.8rem; font-weight:650; }
.dp-profit .profit-kpi strong { color:var(--otdm-ink); font-size:1.5rem; letter-spacing:-.025em; }
.dp-profit .profit-kpi small { color:var(--otdm-muted); }
.dp-profit .profit-positive { border-top-color:#21a675; } .dp-profit .profit-negative { border-top-color:#dc5863; }
.dp-profit .profit-rank { display:inline-grid; place-items:center; width:30px; height:30px; color:var(--otdm-blue); background:#edf4ff; border-radius:10px; font-weight:750; }
.dp-profit table { min-width:900px; }

@media (max-width: 991.98px) {
  .otdm-dashboard-shortcuts { grid-template-columns:1fr; }
  .otdm-auth-layout .d-flex.flex-lg-row-fluid.w-lg-50.bgi-size-cover.order-1 { min-height:250px; }
  .otdm-auth-layout .d-flex.flex-column.flex-lg-row-fluid.w-lg-50.p-10.order-2 { order:2 !important; }
  .otdm-auth-layout .d-flex.flex-lg-row-fluid.w-lg-50.bgi-size-cover.order-1 { order:1 !important; }
}
@media (max-width: 575.98px) {
  #kt_app_content_container { padding-inline:1rem; }
  .otdm-dashboard-intro { align-items:flex-start; border-radius:17px; }
  .otdm-dashboard-actions { width:100%; }
  .otdm-dashboard-actions .btn { flex:1 1 auto; }
  .otdm-auth-layout .d-flex.flex-lg-row-fluid.w-lg-50.bgi-size-cover.order-1 { min-height:185px; }
  .otdm-auth-layout .d-flex.flex-lg-row-fluid.w-lg-50.bgi-size-cover.order-1 img:not([alt="Logo"]) { display:none !important; }
}
