/* =============================================================================
   Tavotech Enterprise UI Layer
   -----------------------------------------------------------------------------
   High-density enterprise presentation layer shared by public, portal and admin
   surfaces. It intentionally overrides the lightweight starter components while
   preserving their class names so existing PHP views remain wired.
   ============================================================================= */
:root {
  --ent-ink:#0b1324; --ent-ink-2:#101b31; --ent-blue:#2b59d9; --ent-blue-2:#1f43aa;
  --ent-mint:#16b99a; --ent-bg:#f4f7fb; --ent-surface:#ffffff; --ent-surface-2:#eef3f8;
  --ent-line:#d9e1ec; --ent-muted:#64748b; --ent-soft:#8ea0b8;
  --ent-shadow:0 18px 50px rgba(11,19,36,.10); --ent-shadow-sm:0 6px 20px rgba(11,19,36,.08);
  --ent-radius:18px; --ent-radius-sm:12px;
}
html { background:var(--ent-bg); }
body { background:var(--ent-bg); color:var(--ent-ink); font-size:15px; }
body a { transition:color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease; }
.container { max-width:1280px; padding-left:28px; padding-right:28px; }

/* ---------- Public navigation ---------- */
.public-utility { background:var(--ent-ink); color:rgba(255,255,255,.74); border-bottom:1px solid rgba(255,255,255,.08); font-size:12px; }
.public-utility__inner { min-height:34px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.public-utility__links { display:flex; gap:18px; flex-wrap:wrap; }
.public-utility a { color:rgba(255,255,255,.78); text-decoration:none; }
.public-utility a:hover { color:#fff; }
.navbar { padding:0; background:rgba(255,255,255,.94) !important; border-bottom:1px solid var(--ent-line) !important; box-shadow:0 4px 20px rgba(11,19,36,.05); }
.navbar__container { max-width:1280px; min-height:76px; padding:0 28px; }
.navbar__logo,.footer__logo { letter-spacing:-.04em; }
.navbar__logo { font-size:23px; color:var(--ent-ink) !important; }
.navbar__logo:after { content:'OPERATIONS PLATFORM'; display:block; font-size:9px; letter-spacing:.12em; color:var(--ent-soft); margin-top:-2px; font-weight:700; }
.navbar__menu { gap:2px; }
.navbar__link { color:#41516a; font-size:13px; font-weight:650; border-radius:10px; padding:10px 11px; }
.navbar__link:hover,.navbar__link.is-active { color:var(--ent-ink); background:#edf2f8; }
.navbar__actions { gap:8px; }
.navbar__actions > .navbar__link { display:inline-flex; }
.navbar__actions .btn { min-height:42px; padding:9px 15px; }
.navbar__dropdown { min-width:430px; padding:10px; border:1px solid var(--ent-line); border-radius:16px; box-shadow:var(--ent-shadow); }
.navbar__dropdown-content { padding:4px; }
.navbar__dropdown-title { padding:8px 10px 10px; color:#8b9ab0; }
.navbar__dropdown-link { padding:11px 10px; border-radius:12px; }
.navbar__dropdown-link:hover { background:#f3f6fa; }
.navbar__dropdown-icon { width:34px; height:34px; border-radius:10px; display:flex; align-items:center; justify-content:center; background:#e8eefb; color:var(--ent-blue); font-size:16px; flex:0 0 auto; }
.navbar__dropdown-text strong { font-size:13px; }
.navbar__dropdown-text span { font-size:11px; line-height:1.45; margin-top:2px; }
.navbar__toggle { color:var(--ent-ink); }
.mobile-menu { padding:14px 20px 20px; box-shadow:0 12px 30px rgba(11,19,36,.08); }
.mobile-menu__link,.mobile-menu__accordion-trigger { color:var(--ent-ink); }

/* ---------- Shared page surfaces ---------- */
.section { padding:88px 0; }
.section--alt { background:#edf2f7; }
.section-header { max-width:760px; margin-bottom:38px; }
.section-header--center { margin-left:auto; margin-right:auto; }
.section-header__eyebrow,.card__eyebrow { color:var(--ent-blue); text-transform:uppercase; letter-spacing:.12em; font-size:11px; font-weight:800; }
.section-header__title { font-size:clamp(30px,4vw,46px); letter-spacing:-.035em; color:var(--ent-ink); margin-bottom:12px; }
.section-header__description { color:var(--ent-muted); font-size:17px; line-height:1.75; max-width:720px; }
.grid { gap:22px; }
.card { border:1px solid var(--ent-line); border-radius:var(--ent-radius); background:var(--ent-surface); padding:24px; box-shadow:0 5px 18px rgba(11,19,36,.04); }
.card:hover { transform:translateY(-3px); box-shadow:var(--ent-shadow-sm); }
.card--glass { background:rgba(255,255,255,.94); backdrop-filter:blur(14px); }
.card__title { font-size:19px; letter-spacing:-.015em; color:var(--ent-ink); }
.card__subtitle { color:var(--ent-muted); line-height:1.7; }
.card__icon { width:44px; height:44px; display:grid; place-items:center; border-radius:12px; background:#e8eefb; color:var(--ent-blue); font-size:20px; margin-bottom:16px; }
.card__footer { display:flex; gap:10px; margin-top:20px; padding-top:18px; border-top:1px solid #edf1f5; }
.card__price { color:var(--ent-soft); font-size:12px; }
.card__price strong { color:var(--ent-ink); font-size:16px; }
.btn { border-radius:11px; font-size:13px; font-weight:750; letter-spacing:.01em; min-height:42px; }
.btn--primary { background:var(--ent-blue); border-color:var(--ent-blue); box-shadow:0 8px 20px rgba(43,89,217,.20); }
.btn--primary:hover { background:var(--ent-blue-2); border-color:var(--ent-blue-2); box-shadow:0 12px 26px rgba(43,89,217,.24); transform:translateY(-2px); }
.btn--ghost { background:#fff; border-color:var(--ent-line); color:var(--ent-ink); }
.btn--ghost:hover { background:#f0f4f8; border-color:#c4cfdd; }
.badge { border-radius:999px; font-size:10px; letter-spacing:.08em; text-transform:uppercase; padding:6px 10px; }

/* ---------- Hero / page hero ---------- */
.hero { min-height:720px; padding:90px 0 76px; background:linear-gradient(115deg,rgba(8,18,33,.98),rgba(12,29,56,.80)); }
.hero__bg { position:absolute; inset:0; background-image:linear-gradient(90deg,rgba(8,18,33,.98) 0%,rgba(8,18,33,.86) 36%,rgba(8,18,33,.30) 72%,rgba(8,18,33,.50) 100%), url('https://images.unsplash.com/photo-1774929107123-dd8309c1c645?auto=format&fit=crop&q=82&w=2200'); background-size:cover; background-position:center; opacity:.98; }
.hero__grid { opacity:.12; background-size:46px 46px; }
.hero__container { max-width:1280px; }
.hero__content { max-width:690px; }
.hero__title { font-size:clamp(44px,6vw,76px); line-height:1.01; letter-spacing:-.055em; }
.hero__description { max-width:640px; font-size:18px; line-height:1.75; color:rgba(255,255,255,.76); }
.hero__trust-item { font-size:12px; color:rgba(255,255,255,.72); padding:8px 12px; border:1px solid rgba(255,255,255,.14); border-radius:999px; background:rgba(255,255,255,.04); }
.tracking-card { border-radius:20px; border:1px solid rgba(255,255,255,.16); box-shadow:0 30px 80px rgba(0,0,0,.34); overflow:hidden; }
.tracking-card__panel { background:rgba(255,255,255,.96); }
.page-hero { position:relative; min-height:430px; display:flex; align-items:flex-end; overflow:hidden; padding:88px 0 54px; background:#0b1324; }
.page-hero:before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,18,33,.97) 0%,rgba(8,18,33,.84) 48%,rgba(8,18,33,.48) 100%), url('https://images.unsplash.com/photo-1765571394962-c8d03a8d0ef5?auto=format&fit=crop&q=82&w=2200'); background-size:cover; background-position:center; }
.page-fleet .page-hero:before,.page-logistics .page-hero:before { background-image:linear-gradient(90deg,rgba(8,18,33,.97),rgba(8,18,33,.78) 48%,rgba(8,18,33,.38)),url('https://images.unsplash.com/photo-1765571394962-c8d03a8d0ef5?auto=format&fit=crop&q=82&w=2200'); }
.page-products .page-hero:before,.page-resources .page-hero:before { background-image:linear-gradient(90deg,rgba(8,18,33,.97),rgba(8,18,33,.78) 48%,rgba(8,18,33,.38)),url('https://images.pexels.com/photos/24244230/pexels-photo-24244230/free-photo-of-containers-in-warehouse.jpeg?auto=compress&cs=tinysrgb&w=2200'); }
.page-about .page-hero:before,.page-services .page-hero:before { background-image:linear-gradient(90deg,rgba(8,18,33,.97),rgba(8,18,33,.80) 48%,rgba(8,18,33,.42)),url('https://images.unsplash.com/photo-1774929107123-dd8309c1c645?auto=format&fit=crop&q=82&w=2200'); }
.page-platform .page-hero:before,.page-solutions .page-hero:before,.page-support .page-hero:before { background-image:linear-gradient(90deg,rgba(8,18,33,.97),rgba(8,18,33,.84) 48%,rgba(8,18,33,.40)),url('https://images.pexels.com/photos/24244230/pexels-photo-24244230/free-photo-of-containers-in-warehouse.jpeg?auto=compress&cs=tinysrgb&w=2200'); }
.page-hero > .container { position:relative; z-index:1; width:100%; }
.page-hero__title { font-size:clamp(38px,5vw,62px); max-width:820px; letter-spacing:-.045em; }
.page-hero__desc { max-width:750px; font-size:18px; line-height:1.75; color:rgba(255,255,255,.76); }
.breadcrumb__list { font-size:11px; text-transform:uppercase; letter-spacing:.08em; margin-bottom:20px; }

/* ---------- Media / imagery ---------- */
.media-placeholder { position:relative; overflow:hidden; min-height:220px; border-radius:16px; background-size:cover; background-position:center; border:1px solid var(--ent-line); }
.media-placeholder:after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(10,21,38,.02),rgba(10,21,38,.18)); }
.media-placeholder__icon { position:relative; z-index:1; width:54px; height:54px; display:grid; place-items:center; border-radius:14px; background:rgba(255,255,255,.90); color:var(--ent-blue); box-shadow:0 8px 22px rgba(10,21,38,.12); font-size:20px; }
.card--product .card__media { min-height:190px; background-image:url('https://images.unsplash.com/photo-1765571394962-c8d03a8d0ef5?auto=format&fit=crop&q=78&w=1400'); }
.card--product .card__media img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.card--case-study .card__media { background-image:url('https://images.pexels.com/photos/24244230/pexels-photo-24244230/free-photo-of-containers-in-warehouse.jpeg?auto=compress&cs=tinysrgb&w=1600'); }
.feature-deep-dive__media { min-height:260px; background-image:url('https://images.unsplash.com/photo-1774929107123-dd8309c1c645?auto=format&fit=crop&q=78&w=1600'); background-size:cover; }
.feature-deep-dive:nth-of-type(2n) .feature-deep-dive__media { background-image:url('https://images.unsplash.com/photo-1765571394962-c8d03a8d0ef5?auto=format&fit=crop&q=78&w=1600'); }
.feature-deep-dive:nth-of-type(3n) .feature-deep-dive__media { background-image:url('https://images.pexels.com/photos/24244230/pexels-photo-24244230/free-photo-of-containers-in-warehouse.jpeg?auto=compress&cs=tinysrgb&w=1600'); }

/* ---------- Home / stats / platform ---------- */
.stats-bar { background:#fff; border-top:1px solid var(--ent-line); border-bottom:1px solid var(--ent-line); }
.stats-bar__grid { min-height:128px; display:grid; grid-template-columns:repeat(4,1fr); align-items:center; }
.stats-bar__grid > div { padding:0 28px; border-right:1px solid var(--ent-line); }
.stats-bar__grid > div:last-child { border-right:0; }
.stats-bar__val { font-size:30px; font-weight:850; letter-spacing:-.04em; color:var(--ent-ink); margin:0; }
.stats-bar__label { font-size:11px; text-transform:uppercase; letter-spacing:.11em; color:var(--ent-soft); margin:4px 0 0; }
.platform-mockup { border-radius:20px; box-shadow:var(--ent-shadow); }
.platform-mockup__sidebar { background:linear-gradient(180deg,#0d1730,#101d3b); }
.platform-mockup__main { background:#f4f7fb; }
.platform-mockup__map { background-color:#eaf0f7; }

/* ---------- Tables / data ---------- */
.table-wrap { border:1px solid var(--ent-line); border-radius:16px; background:#fff; box-shadow:0 6px 22px rgba(11,19,36,.04); overflow:auto; }
.data-table { min-width:900px; border-collapse:separate; border-spacing:0; width:100%; }
.data-table th { background:#f6f8fb; color:#718198; text-transform:uppercase; letter-spacing:.09em; font-size:10px; font-weight:800; padding:14px 16px; border-bottom:1px solid var(--ent-line); white-space:nowrap; }
.data-table td { padding:15px 16px; border-bottom:1px solid #edf1f5; font-size:13px; color:#34445c; vertical-align:middle; }
.data-table tbody tr:hover { background:#f9fbfd; }
.data-table tbody tr:last-child td { border-bottom:0; }
.badge--active,.badge--paid,.badge--moving,.badge--resolved,.badge--approved { background:#def7f0; color:#087e6d; }
.badge--open,.badge--new,.badge--submitted,.badge--reviewing,.badge--due,.badge--in_progress { background:#e7eefc; color:#2d56ad; }
.badge--warning,.badge--contacted,.badge--shipped { background:#fff3d9; color:#9a6900; }
.badge--danger,.badge--lost,.badge--denied,.badge--closed,.badge--offline { background:#fee8e7; color:#b42318; }

/* ---------- Forms ---------- */
.form-group { margin-bottom:18px; }
.form__label { font-size:12px; font-weight:800; color:#33445c; letter-spacing:.015em; }
.form__input { min-height:46px; padding:12px 14px; border:1px solid #ccd6e2; border-radius:11px; background:#fff; color:var(--ent-ink); }
.form__input:focus { border-color:var(--ent-blue); box-shadow:0 0 0 4px rgba(43,89,217,.10); }
textarea.form__input { min-height:120px; }
.form__checkbox { color:#506079; }

/* ---------- Quote ---------- */
.quote-layout { grid-template-columns:minmax(0,1fr) 360px; gap:28px; }
.quote-progress { background:#fff; border:1px solid var(--ent-line); border-radius:16px; padding:18px; box-shadow:var(--ent-shadow-sm); }
.quote-progress__track { background:#e7edf4; }
.quote-progress__fill { background:linear-gradient(90deg,var(--ent-blue),var(--ent-mint)); }
.quote-step { background:#fff; border:1px solid var(--ent-line); border-radius:18px; padding:32px; box-shadow:var(--ent-shadow-sm); }
.quote-step__title { font-size:25px; letter-spacing:-.025em; }
.quote-review,.quote-estimate { border:1px solid #e3e9f0; background:#f7f9fc; border-radius:14px; }

/* ---------- Public footer ---------- */
.footer { background:#081224; margin-top:0; padding-top:72px; }
.footer__grid { grid-template-columns:2.1fr 1fr 1fr 1fr 1.5fr; gap:34px; }
.footer__about,.footer__col-list a,.footer__contact-list li { color:rgba(255,255,255,.64); }
.footer__logo { font-size:28px; }
.footer__legal { margin-top:26px; }
.footer__legal-row { padding-bottom:20px; }

/* ---------- Public image-backed CTA ---------- */
.expert-cta { position:relative; overflow:hidden; background:linear-gradient(100deg,#10244a,#17377a 58%,#2054bb); }
.expert-cta__inner { position:relative; z-index:1; }
.expert-cta__media { background-image:url('https://images.unsplash.com/photo-1774929107123-dd8309c1c645?auto=format&fit=crop&q=80&w=1500'); background-size:cover; background-position:center; border:1px solid rgba(255,255,255,.18); }

/* ---------- Auth ---------- */
.auth-section { min-height:calc(100vh - 110px); padding:64px 0; background:radial-gradient(circle at 15% 20%,rgba(43,89,217,.13),transparent 32%),radial-gradient(circle at 90% 10%,rgba(22,185,154,.10),transparent 30%),#f4f7fb; }
.auth-card { background:#fff; border:1px solid var(--ent-line); border-radius:22px; box-shadow:var(--ent-shadow); }
.auth-card__brand .navbar__logo:after { display:none; }

/* ---------- Legal / support ---------- */
.legal-layout { background:#fff; border:1px solid var(--ent-line); border-radius:18px; padding:30px; box-shadow:var(--ent-shadow-sm); }
.callout { border-radius:14px; border:1px solid #dfe7f0; border-left:4px solid var(--ent-blue); background:#f4f7fb; }

/* ---------- ADMIN ---------- */
.page-admin { background:#f1f4f8; }
.admin-shell { margin-left:276px; min-height:100vh; }
.admin-sidebar { width:276px; background:linear-gradient(180deg,#0a1326 0%,#0d1930 100%); border-right:1px solid rgba(255,255,255,.05); box-shadow:12px 0 30px rgba(11,19,36,.10); }
.admin-sidebar__brand { display:block; padding:24px 22px 18px; color:#fff; font-size:23px; font-weight:850; text-decoration:none; letter-spacing:-.045em; }
.admin-sidebar__brand span { color:#52d9c0; }
.admin-sidebar__brand small { display:block; font-size:9px; letter-spacing:.16em; text-transform:uppercase; color:#7e90ad; margin-top:5px; }
.admin-sidebar__list { padding:8px 12px; }
.admin-sidebar__list li { margin:2px 0; }
.admin-sidebar__list a { display:flex; align-items:center; gap:12px; min-height:44px; padding:8px 12px; border-radius:11px; color:#aebbd0; text-decoration:none; font-size:12px; font-weight:700; }
.admin-sidebar__list a:hover,.admin-sidebar__list li.is-active a { background:rgba(255,255,255,.07); color:#fff; }
.admin-sidebar__list li.is-active a { box-shadow:inset 3px 0 0 var(--ent-mint); }
.admin-sidebar__icon { width:28px; height:28px; display:grid; place-items:center; border-radius:8px; background:rgba(255,255,255,.07); color:#c7d3e6; font-size:0; }
.admin-sidebar__icon:before { content:attr(data-short); font-size:10px; font-weight:900; }
.admin-sidebar__footer { padding:16px 16px 20px; border-top:1px solid rgba(255,255,255,.06); }
.admin-sidebar__footer a { display:block; padding:9px 8px; color:#8fa0ba; font-size:11px; text-decoration:none; }
.admin-topbar { min-height:74px; position:sticky; top:0; z-index:20; background:rgba(255,255,255,.92); border-bottom:1px solid var(--ent-line); backdrop-filter:blur(12px); padding:0 30px; }
.admin-topbar__title { font-size:20px; letter-spacing:-.03em; }
.admin-topbar__user { color:#63728a; font-size:12px; }
.admin-main { padding:30px 0 54px; }
.admin-section__title { font-size:32px; letter-spacing:-.04em; margin-bottom:6px; }
.admin-section__header { margin-bottom:22px; }
.admin-section__header .admin-section__title { margin:0; }
.admin-stat-card { position:relative; min-height:136px; display:flex; align-items:flex-end; justify-content:space-between; padding:20px; border:1px solid var(--ent-line); border-radius:16px; background:#fff; box-shadow:0 6px 20px rgba(11,19,36,.04); text-decoration:none; overflow:hidden; }
.admin-stat-card:before { content:''; position:absolute; left:0; top:0; width:100%; height:3px; background:linear-gradient(90deg,var(--ent-blue),var(--ent-mint)); opacity:.75; }
.admin-stat-card__icon { width:44px; height:44px; border-radius:13px; display:grid; place-items:center; font-size:0; background:#edf2fb; color:var(--ent-blue); }
.admin-stat-card__icon:before { content:'↗'; font-size:18px; font-weight:900; }
.admin-stat-card__value { margin:0; font-size:31px; font-weight:850; letter-spacing:-.045em; color:var(--ent-ink); }
.admin-stat-card__label { margin:4px 0 0; color:#7b8aa0; text-transform:uppercase; letter-spacing:.09em; font-size:10px; font-weight:800; }
.admin-list { list-style:none; padding:0; margin:0; }
.admin-list__item { display:flex; justify-content:space-between; gap:16px; padding:15px 0; border-bottom:1px solid #edf1f5; align-items:center; }
.admin-list__item:last-child { border-bottom:0; }
.admin-list__title { margin:0 0 4px; font-size:13px; font-weight:750; color:#27374e; }
.admin-list__meta { margin:0; color:#7b8ba2; font-size:11px; }
.admin-search { display:flex; gap:10px; margin-bottom:18px; }
.admin-search .form__input { max-width:360px; }
.pagination { display:flex; gap:6px; margin-top:20px; }
.pagination__link { min-width:34px; height:34px; padding:0 10px; display:grid; place-items:center; border:1px solid var(--ent-line); border-radius:9px; background:#fff; color:#506078; text-decoration:none; font-size:12px; }
.pagination__link.is-active { background:var(--ent-blue); color:#fff; border-color:var(--ent-blue); }

/* ---------- PORTAL ---------- */
.page-portal { background:#f2f5f9; }
.portal-shell { margin-left:252px; min-height:100vh; }
.portal-sidebar { position:fixed; inset:0 auto 0 0; width:252px; z-index:30; background:#fff; border-right:1px solid var(--ent-line); box-shadow:8px 0 28px rgba(11,19,36,.05); display:flex; flex-direction:column; }
.portal-sidebar__brand { padding:24px 22px 16px; font-size:24px; font-weight:850; letter-spacing:-.045em; color:var(--ent-ink); text-decoration:none; }
.portal-sidebar__brand span { color:var(--ent-mint); }
.portal-sidebar__label { padding:6px 22px 8px; color:#97a4b7; font-size:9px; text-transform:uppercase; letter-spacing:.14em; font-weight:900; }
.portal-sidebar__nav { padding:8px 12px; }
.portal-sidebar__nav a { display:flex; align-items:center; gap:12px; padding:11px 12px; min-height:44px; border-radius:11px; color:#5c6b81; text-decoration:none; font-size:12px; font-weight:750; }
.portal-sidebar__nav a:hover,.portal-sidebar__nav a.is-active { color:var(--ent-ink); background:#eef3f9; }
.portal-sidebar__nav a.is-active { box-shadow:inset 3px 0 0 var(--ent-blue); }
.portal-sidebar__icon { width:28px; height:28px; border-radius:8px; background:#eef3f8; display:grid; place-items:center; color:var(--ent-blue); font-size:11px; font-weight:900; }
.portal-sidebar__account { margin-top:auto; padding:16px; border-top:1px solid var(--ent-line); }
.portal-sidebar__account-card { padding:14px; background:#f7f9fc; border:1px solid #e6ebf2; border-radius:14px; }
.portal-topbar { min-height:74px; position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:0 30px; background:rgba(255,255,255,.92); border-bottom:1px solid var(--ent-line); backdrop-filter:blur(12px); }
.portal-topbar__eyebrow { text-transform:uppercase; letter-spacing:.1em; font-size:9px; font-weight:900; color:#98a5b8; }
.portal-topbar__title { font-size:20px; letter-spacing:-.03em; margin:2px 0 0; }
.portal-topbar__actions { display:flex; align-items:center; gap:10px; }
.portal-main { padding:30px 0 55px; }
.portal-section { max-width:1250px; margin:0 auto; }
.portal-section__header { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:24px; }
.portal-section__title { font-size:32px; letter-spacing:-.04em; }
.portal-section__subtitle { color:#7a8ba3; font-size:12px; }
.stat-tile { position:relative; background:#fff; border:1px solid var(--ent-line); border-radius:16px; padding:20px; min-height:120px; box-shadow:0 6px 20px rgba(11,19,36,.04); }
.stat-tile:before { content:''; position:absolute; left:0; top:0; width:100%; height:3px; background:linear-gradient(90deg,var(--ent-blue),var(--ent-mint)); }
.stat-tile__value { margin:0; font-size:28px; font-weight:850; letter-spacing:-.045em; }
.stat-tile__label { margin:6px 0 0; color:#7b8aa0; font-size:10px; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.portal-footer { margin-left:252px; border-top:1px solid var(--ent-line); background:#fff; }
.portal-footer__copy { min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:12px; color:#8795a9; font-size:11px; }

/* ---------- Responsive ---------- */
@media (max-width:1080px) {
  .navbar__menu { display:none; }
  .navbar__actions { display:none; }
  .navbar__toggle { display:block; margin-left:auto; }
  .hero { min-height:auto; }
  .stats-bar__grid { grid-template-columns:repeat(2,1fr); padding:16px 0; }
  .stats-bar__grid > div:nth-child(2) { border-right:0; }
  .footer__grid { grid-template-columns:repeat(2,1fr); }
  .admin-shell { margin-left:0; }
  .admin-sidebar { transform:translateX(-100%); transition:transform .25s ease; }
  .admin-shell.is-mobile-open + .admin-sidebar { transform:translateX(0); }
  .portal-sidebar { transform:translateX(-100%); transition:transform .25s ease; }
  .portal-shell { margin-left:0; }
  .portal-footer { margin-left:0; }
}
@media (max-width:780px) {
  .container { padding-left:18px; padding-right:18px; }
  .section { padding:64px 0; }
  .page-hero { min-height:360px; padding:72px 0 44px; }
  .hero__container { grid-template-columns:1fr; }
  .tracking-card { margin-top:24px; }
  .stats-bar__grid { grid-template-columns:1fr 1fr; }
  .stats-bar__grid > div { padding:14px 12px; }
  .quote-layout { grid-template-columns:1fr; }
  .footer__grid { grid-template-columns:1fr; }
  .admin-topbar,.portal-topbar { padding:0 18px; }
  .portal-section__header { flex-direction:column; align-items:flex-start; }
}
@media (max-width:560px) {
  .hero__title { font-size:42px; }
  .page-hero__title { font-size:34px; }
  .stats-bar__grid { grid-template-columns:1fr; }
  .stats-bar__grid > div { border-right:0; border-bottom:1px solid var(--ent-line); }
  .stats-bar__grid > div:last-child { border-bottom:0; }
  .portal-footer__copy { flex-direction:column; align-items:flex-start; padding:14px 18px; }
}
.portal-overlay { display:none; }
@media (max-width:1080px) {
  .portal-sidebar.is-mobile-open { transform:translateX(0); }
  .portal-overlay.is-open { display:block; position:fixed; inset:0; background:rgba(8,18,33,.32); border:0; z-index:25; }
  .admin-sidebar.is-mobile-open { transform:translateX(0); }
}
/* ---------- Enterprise public / shared fine tuning ---------- */
.admin-panel,.portal-panel { background:#fff; border:1px solid var(--ent-line); border-radius:18px; padding:24px; box-shadow:0 8px 28px rgba(11,19,36,.05); }
.admin-panel__head,.portal-panel__head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:20px; }
.admin-panel__head h2,.portal-panel__head h2 { font-size:17px; letter-spacing:-.02em; margin:2px 0 0; }
.admin-kicker,.portal-kicker { margin:0; color:#7e8da3; text-transform:uppercase; letter-spacing:.12em; font-size:9px; font-weight:900; }
.admin-subtitle { max-width:690px; margin-top:8px; color:#7a8aa1; line-height:1.7; }
.admin-hero-row,.portal-hero-row { margin-bottom:26px; }
.admin-header-actions,.portal-header-actions { display:flex; gap:10px; flex-wrap:wrap; }
.admin-kpi-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:14px; margin-bottom:22px; }
.admin-stat-card { min-height:145px; align-items:stretch; padding:19px; }
.admin-stat-card__value { margin-top:8px; }
.admin-stat-card__delta { display:inline-block; margin-top:8px; color:#7e8da3; font-size:10px; font-weight:700; }
.admin-dashboard-grid { display:grid; grid-template-columns:2fr 1fr; gap:22px; margin-bottom:22px; }
.admin-panel--wide { min-width:0; }
.pipeline-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.pipeline-card { padding:14px; border:1px solid #e6ebf2; border-radius:14px; background:#f8fafc; }
.pipeline-card__label { display:block; color:#7d8ca2; font-size:10px; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.pipeline-card strong { display:block; margin-top:7px; font-size:26px; letter-spacing:-.04em; }
.pipeline-card small { color:#8a98aa; font-size:10px; }
.pipeline-track { height:5px; background:#e8edf3; border-radius:999px; overflow:hidden; margin-top:12px; }
.pipeline-track span { display:block; height:100%; background:linear-gradient(90deg,var(--ent-blue),var(--ent-mint)); border-radius:999px; }
.mini-chart { position:relative; margin-top:18px; height:170px; border-top:1px solid #edf1f5; }
.mini-chart svg { width:100%; height:100%; color:var(--ent-blue); }
.mini-chart__grid { position:absolute; inset:10px 0 20px; background:linear-gradient(to bottom,transparent 24%,#edf1f5 25%,transparent 26%,transparent 49%,#edf1f5 50%,transparent 51%,transparent 74%,#edf1f5 75%,transparent 76%); opacity:.8; }
.mini-chart__legend { position:absolute; right:0; bottom:0; display:flex; gap:14px; color:#8a98aa; font-size:9px; }
.health-list { border-top:1px solid #edf1f5; }
.health-row { display:grid; grid-template-columns:1fr auto 10px; align-items:center; gap:10px; padding:13px 0; border-bottom:1px solid #edf1f5; font-size:11px; color:#5f7089; }
.health-row strong { color:#34455c; font-size:11px; }
.health-dot { width:8px; height:8px; border-radius:50%; background:#16b99a; box-shadow:0 0 0 4px rgba(22,185,154,.10); }
.health-dot--warn { background:#f0a400; box-shadow:0 0 0 4px rgba(240,164,0,.10); }
.admin-panel__callout { margin-top:18px; padding:16px; border-radius:14px; background:#eef3fb; border:1px solid #dfe7f5; }
.admin-panel__callout strong { font-size:12px; }
.admin-panel__callout p { color:#6f7f95; font-size:11px; line-height:1.6; margin:6px 0 12px; }
.quick-action-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin-top:14px; }
.quick-action-grid a { padding:14px 15px; border:1px solid #e1e7ee; border-radius:12px; background:#f8fafc; color:#36475f; text-decoration:none; font-weight:750; font-size:11px; display:flex; justify-content:space-between; gap:8px; }
.quick-action-grid a:hover { background:#eef3fb; color:var(--ent-blue); border-color:#d1dcf0; transform:translateY(-2px); }

.portal-kpi-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:22px; }
.kpi-overline { color:#8492a7; font-size:9px; text-transform:uppercase; letter-spacing:.1em; font-weight:900; }
.stat-tile__value small { font-size:13px; color:#8d9aac; font-weight:700; }
.kpi-trend { position:absolute; right:16px; bottom:16px; font-size:9px; text-transform:uppercase; letter-spacing:.08em; color:#177a6b; font-weight:850; }
.kpi-trend--warn { color:#9a6900; }
.portal-dashboard-grid { display:grid; grid-template-columns:1.6fr 1fr; gap:22px; margin-bottom:22px; }
.portal-panel--map { min-width:0; }
.fleet-visual { position:relative; min-height:335px; border-radius:16px; overflow:hidden; background:linear-gradient(145deg,#e9eff6,#dfe8f1); border:1px solid #dde5ee; }
.fleet-visual__mapgrid { position:absolute; inset:0; background-image:linear-gradient(rgba(73,102,139,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(73,102,139,.10) 1px,transparent 1px); background-size:32px 32px; }
.fleet-visual__route { position:absolute; height:3px; background:linear-gradient(90deg,var(--ent-blue),var(--ent-mint)); transform-origin:left center; border-radius:999px; box-shadow:0 0 0 3px rgba(43,89,217,.06); }
.route-a { width:72%; left:12%; top:52%; transform:rotate(-17deg); }
.route-b { width:58%; left:29%; top:63%; transform:rotate(24deg); }
.fleet-pin { position:absolute; display:flex; align-items:center; gap:7px; color:#33445b; font-size:9px; font-weight:850; }
.fleet-pin span { width:12px; height:12px; border-radius:50%; background:var(--ent-blue); box-shadow:0 0 0 6px rgba(43,89,217,.12); }
.fleet-pin small { padding:4px 7px; border-radius:999px; background:rgba(255,255,255,.9); border:1px solid #dae2eb; }
.pin-a{left:24%;top:39%}.pin-b{left:66%;top:27%}.pin-c{left:55%;top:72%}
.fleet-visual__legend { position:absolute; left:14px; right:14px; bottom:14px; display:flex; gap:12px; flex-wrap:wrap; padding:10px 12px; background:rgba(255,255,255,.90); border:1px solid #dde5ee; border-radius:11px; font-size:9px; color:#6e7e94; }
.legend-dot { display:inline-block; width:7px; height:7px; border-radius:50%; margin-right:4px; background:var(--ent-blue); }
.legend-dot--active{background:#16b99a}.legend-dot--idle{background:#8ea0b8}.legend-dot--alert{background:#ef9f00}
.portal-panel__footer-link { display:block; padding-top:14px; margin-top:4px; border-top:1px solid #edf1f5; color:var(--ent-blue); font-size:11px; font-weight:800; text-decoration:none; }
.portal-service-panel p:not(.portal-kicker) { color:#6f7f95; line-height:1.7; font-size:12px; }
.portal-service-panel__actions { display:flex; gap:8px; flex-wrap:wrap; margin:18px 0; }
.portal-service-panel__meta { padding-top:14px; border-top:1px solid #edf1f5; display:flex; justify-content:space-between; gap:10px; font-size:10px; color:#8b98a9; }
.portal-service-panel__meta strong { color:#34445c; }

/* Generic admin list/form polish */
.admin-main .card--glass, .portal-main .card--glass { box-shadow:none; }
.admin-main .table-wrap { margin-top:14px; }
.admin-main .form-actions { position:sticky; bottom:12px; z-index:5; margin-top:22px; padding:12px; background:rgba(255,255,255,.94); border:1px solid var(--ent-line); border-radius:12px; backdrop-filter:blur(12px); box-shadow:var(--ent-shadow-sm); }
.admin-main .card--glass form { max-width:920px; }

@media (max-width:1180px) { .admin-kpi-grid { grid-template-columns:repeat(4,1fr); } .quick-action-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:900px) { .admin-dashboard-grid,.portal-dashboard-grid { grid-template-columns:1fr; } .portal-kpi-grid { grid-template-columns:repeat(2,1fr); } .pipeline-grid { grid-template-columns:1fr; } }
@media (max-width:650px) { .admin-kpi-grid { grid-template-columns:repeat(2,1fr); } .quick-action-grid { grid-template-columns:1fr; } .portal-kpi-grid { grid-template-columns:1fr; } .admin-hero-row,.portal-hero-row { align-items:flex-start; } }
.hero-proof-row { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:24px; }
.hero-proof-row > div { padding:12px 13px; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.04); border-radius:12px; }
.hero-proof-row strong { display:block; color:#fff; font-size:15px; }
.hero-proof-row span { display:block; margin-top:3px; color:rgba(255,255,255,.58); font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
@media (max-width:560px){ .hero-proof-row{grid-template-columns:1fr;} }
.portal-topbar__toggle { display:none; border:1px solid var(--ent-line); background:#fff; color:var(--ent-ink); border-radius:10px; width:40px; height:40px; font-size:16px; }
@media (max-width:1080px){ .portal-topbar__toggle{display:grid;place-items:center;margin-right:8px;} .portal-topbar__title{font-size:18px;} }
