:root {
  font-family: "Segoe UI Variable", "Segoe UI", system-ui, sans-serif;
  color: #edf4fb;
  background: #07111f;
  color-scheme: dark;
  --accent: #f0a417;
  --accent-soft: #f0a41722;
  --panel: #101d2c;
  --panel-light: #16263a;
  --line: #26394e;
  --muted: #91a5ba;
  --success: #35c58a;
  --danger: #ef6262;
}

/* Fiscalidad del perfil */
.profile-nav-section-label{display:block;margin:10px 10px 2px;padding-top:12px;border-top:1px solid var(--line);color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:.16em}
.tax-office-nav-icon{color:#f5b21b}
.tax-identity-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px}
.tax-office-profile{display:flex;align-items:center;gap:18px;min-width:0}
.tax-office-profile h2{margin:5px 0;font-size:1.7rem}
.tax-office-profile p{margin:0;color:var(--muted)}
.tax-office-logo-frame{display:grid;place-items:center;width:96px;height:96px;flex:0 0 96px;border:1px solid var(--line);border-radius:18px;background:#071526;box-shadow:inset 0 0 28px rgba(0,0,0,.28)}
.tax-office-logo-frame img{width:78%;height:78%;object-fit:contain}
.tax-identity-data{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:10px;margin:0;min-width:min(100%,390px)}
.tax-identity-data div{padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#081727}
.tax-identity-data dt{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.tax-identity-data dd{margin:4px 0 0;font-weight:900}
.tax-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.tax-summary-grid .metric{min-height:128px}
.tax-fast-calendar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;background:linear-gradient(135deg,#0a2036,#102d45);border-color:#27759a}.tax-fast-calendar h2{margin:5px 0}.tax-fast-calendar p{margin:0;color:var(--muted)}.tax-fast-calendar dl{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:8px;margin:0}.tax-fast-calendar dl div{padding:10px 12px;border:1px solid #2b5870;border-radius:10px;background:#071725}.tax-fast-calendar dt{color:var(--muted);font-size:.74rem}.tax-fast-calendar dd{margin:4px 0 0;font-weight:900}.tax-calculation-card{margin-top:18px}.tax-calculation-list{display:grid;gap:9px}.tax-calculation-list article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:#081727}.tax-calculation-list article>div{display:grid;gap:3px}.tax-calculation-list article span{color:var(--accent);font-weight:900}.tax-calculation-list article small{color:var(--muted)}.tax-documents-table td:last-child{display:flex;flex-wrap:wrap;gap:6px}.tax-office-declarations>.panel{margin-top:18px}.tax-office-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.tax-month-breakdown{margin-top:18px}.tax-month-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tax-month-grid>span{padding:12px 14px;border:1px solid var(--line);border-radius:11px;color:var(--muted);background:#081727}.tax-month-breakdown strong{display:block;margin-top:5px;color:#eef6ff;font-size:1.08rem}.tax-calculation-note{margin:13px 0 0;padding:11px 13px;border-left:3px solid var(--accent);border-radius:7px;background:#081727;color:var(--muted);font-size:.85rem;line-height:1.55}
.tax-chart-card,.tax-history-card{margin-top:18px}
.tax-chart-wrap{overflow-x:auto}
.tax-evolution-chart{display:block;width:100%;min-width:680px;max-height:330px}
.tax-chart-grid line{stroke:#20374e;stroke-width:1}
.tax-chart-grid text{fill:#8099b5;font-size:11px}
.tax-chart-zero{stroke:#60758c;stroke-width:1.5;stroke-dasharray:5 6}
.tax-chart-line{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px currentColor)}
.tax-chart-line.profit{stroke:#40d59a;color:#40d59a}.tax-chart-line.vat{stroke:#3ea6ff;color:#3ea6ff}.tax-chart-line.irpf{stroke:#ffb323;color:#ffb323}
.tax-chart-legend{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;margin-top:7px;color:var(--muted)}
.tax-chart-legend span{display:flex;align-items:center;gap:7px}.tax-chart-legend i{width:20px;height:4px;border-radius:4px}.tax-chart-legend i.profit{background:#40d59a}.tax-chart-legend i.vat{background:#3ea6ff}.tax-chart-legend i.irpf{background:#ffb323}
.tax-documents-table td:first-child strong,.tax-documents-table td:first-child small{display:block}.tax-documents-table td:first-child small{margin-top:3px;color:var(--muted)}
.tax-employee-notice{margin-top:18px;text-align:center;padding:30px}.tax-employee-notice h2{margin:8px 0}.tax-employee-notice p{max-width:760px;margin:0 auto;color:var(--muted)}
.tax-disclaimer{padding:13px 16px;border:1px solid #7c5d1d;border-radius:12px;background:rgba(245,178,27,.08);color:#e9c878;font-size:.82rem}
.tax-document-dialog{width:min(980px,calc(100vw - 28px));max-width:none}
.tax-document-dialog-card{width:100%;max-width:none}
.tax-official-document{position:relative;overflow:hidden;padding:26px;background:#f6f4eb;color:#1b2731;border:2px solid #2d6592;border-radius:5px;box-shadow:0 15px 55px rgba(0,0,0,.35)}
.tax-official-document:before{content:"SIMULACIÓN";position:absolute;left:12%;top:42%;transform:rotate(-24deg);font-size:6rem;font-weight:1000;color:rgba(184,37,44,.075);letter-spacing:.08em;pointer-events:none}
.tax-official-document header{position:relative;display:grid;grid-template-columns:86px 1fr auto;align-items:center;gap:18px;padding-bottom:18px;border-bottom:3px solid #2d6592}
.tax-official-document header img{width:80px;height:80px;object-fit:contain}.tax-official-document header span{color:#2d6592;font-size:.78rem;font-weight:900;letter-spacing:.09em}.tax-official-document header h3{margin:2px 0;font-size:2.1rem}.tax-official-document header p{margin:0}.tax-official-document header>b{align-self:start;padding:8px 10px;background:#a1272d;color:#fff;text-transform:uppercase;font-size:.68rem;letter-spacing:.07em}
.tax-document-identification,.tax-document-meta{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:18px;background:#a9b5be;border:1px solid #a9b5be}
.tax-document-identification div,.tax-document-meta div{padding:10px 12px;background:#fff}.tax-document-identification span,.tax-document-meta span{display:block;color:#586673;font-size:.68rem;text-transform:uppercase}.tax-document-identification strong,.tax-document-meta strong{display:block;margin-top:3px;overflow-wrap:anywhere}
.tax-document-calculation{position:relative;margin-top:18px;border:1px solid #a9b5be}.tax-document-calculation>div{display:flex;justify-content:space-between;gap:20px;padding:10px 13px;background:#fff;border-bottom:1px solid #d5dce1}.tax-document-calculation>div:last-child{border-bottom:0}.tax-document-calculation .tax-document-result{padding:16px;background:#dcebf6;font-size:1.08rem;border-top:3px solid #2d6592}.tax-document-calculation .tax-document-current-payable{padding:16px;background:#fff0d6;color:#7b3f00;font-size:1.08rem;border-top:2px solid #e79a22}
.tax-official-document footer{position:relative;display:flex;align-items:center;gap:22px;margin-top:22px}.tax-official-document footer p{max-width:620px;font-size:.76rem;color:#59646c}
.tax-simulation-seal{display:grid;place-items:center;width:116px;height:116px;flex:0 0 116px;border:4px double #9a2730;border-radius:50%;transform:rotate(-8deg);color:#9a2730;text-align:center}.tax-simulation-seal span{font-size:.62rem;font-weight:900}.tax-simulation-seal strong{font-size:.86rem}.tax-simulation-seal small{font-size:.65rem}

@media(max-width:900px){
  .tax-identity-card{align-items:stretch;flex-direction:column}.tax-identity-data{width:100%;max-width:none}.tax-summary-grid,.tax-month-grid,.tax-office-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.tax-fast-calendar{align-items:stretch;flex-direction:column}.tax-fast-calendar dl{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tax-official-document header{grid-template-columns:66px 1fr}.tax-official-document header img{width:60px;height:60px}.tax-official-document header>b{grid-column:1/-1;justify-self:start}.tax-document-identification,.tax-document-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .tax-summary-grid,.tax-identity-data,.tax-month-grid,.tax-office-metrics,.tax-fast-calendar dl,.tax-document-identification,.tax-document-meta{grid-template-columns:1fr}.tax-calculation-list article{align-items:stretch;flex-direction:column}.tax-office-logo-frame{width:74px;height:74px;flex-basis:74px}.tax-official-document{padding:14px}.tax-official-document:before{font-size:3.2rem}.tax-official-document footer{align-items:flex-start;flex-direction:column}
}
@media print{
  body:has(#taxDocumentDialog[open])>*:not(#taxDocumentDialog){display:none!important}
  #taxDocumentDialog[open]{position:static;display:block;width:100%;max-width:none;border:0;background:#fff}.tax-document-dialog-card>.avatar-dialog-heading,.tax-document-dialog-card>.dialog-actions,#taxDocumentDialog .dialog-actions{display:none!important}.tax-official-document{box-shadow:none}
}

* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; overflow-x: hidden; background: radial-gradient(circle at 15% -10%, #173753 0, transparent 36%), radial-gradient(circle at 90% 5%, #47330f55 0, transparent 28%), #07111f; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
h1, h2, p { margin-top: 0; }
h1 { font-size: clamp(1.7rem, 3vw, 2.6rem); letter-spacing: -.035em; margin-bottom: .5rem; }
h2 { font-size: 1.15rem; margin-bottom: 1rem; }
p { color: var(--muted); line-height: 1.55; }

.topbar { min-height: 76px; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 14px clamp(18px, 4vw, 60px); border-bottom: 1px solid #ffffff12; background: #07111ed9; backdrop-filter: blur(18px); position: sticky; top: 0; z-index: 20; }
.brand { display: inline-flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; }
.brand-mark { width: 48px; height: 48px; display: block; border-radius: 13px; object-fit: contain; filter: drop-shadow(0 7px 14px #087ed055); }
.brand strong, .brand small { display: block; }
.brand small { color: var(--muted); margin-top: 2px; }
.session-box { display: flex; align-items: center; gap: 12px; }
.live-status { display: inline-flex; align-items: center; gap: 7px; font-size: .78rem; color: #9ee7c2; }
.live-status i { width: 8px; height: 8px; border-radius: 50%; background: #37d58c; box-shadow: 0 0 0 4px rgba(55,213,140,.12); }
.live-status.reconnecting { color: var(--muted); }
.live-status.reconnecting i { background: #f6ad1b; box-shadow: 0 0 0 4px rgba(246,173,27,.12); }
#sessionUser { color: var(--muted); }

main { max-width: 1680px; margin: 0 auto; padding: clamp(20px, 3vw, 44px); }
.hidden { display: none !important; }
.panel { border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(145deg, #132238f2, #0d1928f4); box-shadow: 0 18px 55px #00000030; padding: clamp(18px, 2.2vw, 28px); }
.panel-kicker, .eyebrow { display: inline-block; color: var(--accent); font-size: .72rem; font-weight: 800; letter-spacing: .16em; margin-bottom: 8px; }

.button { border: 1px solid transparent; border-radius: 10px; padding: 10px 15px; font-weight: 750; color: #f4f7fa; background: var(--panel-light); transition: transform .15s ease, border-color .15s ease, background .15s ease; }
.button:hover { transform: translateY(-1px); border-color: #ffffff30; }
.button.primary { color: #161009; background: linear-gradient(135deg, #ffc14d, #e69200); }
.button.secondary { border-color: var(--line); background: #122136; }
.button.ghost { border-color: var(--line); background: transparent; }
.button.danger, .danger { color: white; background: #b33f47; }
.button.small { padding: 7px 10px; font-size: .82rem; margin: 2px; }
.button.compact { width: auto; margin-bottom: 18px; padding: 7px 11px; }

.auth-shell { max-width: 1220px; margin: clamp(16px, 7vh, 90px) auto; }
.welcome-panel { max-width: 800px; margin-bottom: 32px; }
.welcome-panel h1 { max-width: 760px; font-size: clamp(2.1rem, 5vw, 4.2rem); line-height: 1.02; }
.welcome-panel p { max-width: 680px; font-size: 1.08rem; }
.feature-row { display: flex; flex-wrap: wrap; gap: 18px; color: #cad7e5; }
.feature-row span::first-letter { color: var(--success); }
.auth-grid { display: grid; grid-template-columns: repeat(2, minmax(280px, 1fr)); gap: 22px; }
.auth-card { display: grid; align-content: start; }
.auth-card .button { margin-top: 8px; }
.remember-login { grid-template-columns: auto minmax(0, 1fr); align-items: flex-start; gap: 11px; margin: 8px 0 4px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 11px; background: #081421; }
.remember-login input { width: 18px; height: 18px; margin: 2px 0 0; }
.remember-login strong, .remember-login small { display: block; }
.remember-login small { margin-top: 3px; color: var(--muted); font-weight: 450; line-height: 1.35; }
.register-avatar-note { margin: 12px 0 0; padding: 10px 12px; border-left: 3px solid #168ee3; background: #168ee312; font-size: .82rem; }
label { display: grid; gap: 7px; color: #bbcad9; margin: 12px 0; font-size: .9rem; font-weight: 600; }
input, select, textarea { width: 100%; border: 1px solid var(--line); border-radius: 10px; padding: 11px 12px; color: #f5f8fb; background: #081421; outline: none; }
input:focus, select:focus, textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }

.portal { display: grid; grid-template-columns: 246px minmax(0, 1fr); gap: 24px; align-items: start; }
.portal.profile-with-awards { grid-template-columns: 246px minmax(0, 1fr) minmax(280px, 320px); }
.portal.user-profile-with-sidebar { grid-template-columns: 246px minmax(0, 1fr) minmax(260px, 300px); }
.sidebar { position: sticky; top: 100px; padding: 15px; }
.sidebar nav { display: grid; gap: 5px; }
.sidebar nav button { width: 100%; display: flex; align-items: center; gap: 11px; border: 1px solid transparent; border-radius: 10px; padding: 11px 13px; text-align: left; color: #b8c6d5; background: transparent; font-weight: 650; }
.sidebar nav button span { width: 20px; color: var(--muted); text-align: center; }
.sidebar nav button .nav-vector-icon { display: grid; place-items: center; height: 20px; }
.sidebar nav button .nav-vector-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sidebar nav button:hover { color: white; background: #ffffff0a; }
.sidebar nav button.active { color: #fff4db; border-color: #f0a41745; background: var(--accent-soft); }
.sidebar nav button.active span { color: var(--accent); }
.sidebar nav button .office-unread-indicator { width: 25px; height: 25px; flex: 0 0 25px; display: grid; place-items: center; margin-left: auto; border: 1px solid #ffffff99; border-radius: 8px; color: #fff; background: #0b1826; box-shadow: 0 0 0 0 #ffffff00; pointer-events: none; animation: office-unread-alert 1.15s ease-in-out infinite; }
.sidebar nav button .office-unread-indicator > span { width: auto; color: inherit; font-size: .95rem; line-height: 1; }
.sidebar nav button .transfer-approval-indicator > span { font-weight: 900; }
.sidebar nav button .office-unread-indicator:not(.hidden) ~ .office-unread-indicator:not(.hidden) { margin-left: -5px; }
@keyframes office-unread-alert { 0%,100% { color: #fff; border-color: #ffffffaa; box-shadow: 0 0 0 0 #ffffff00; } 50% { color: #ffad24; border-color: #ffad24; background: #2b210f; box-shadow: 0 0 0 5px #f0a41718; } }
.nav-title { margin: 5px 12px 8px; color: #6f879f; font-size: .68rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.nav-title.admin-nav { margin-top: 22px; }
.nav-title.community-nav { margin-top: 22px; }
.workspace { min-width: 0; }
.message { margin-bottom: 18px; padding: 13px 16px; border: 1px solid #f0a41755; border-radius: 12px; color: #ffd27a; background: #553b0f66; }
.message.success { color: #9be5c6; border-color: #35c58a55; background: #0c4d3566; }
.message.error { color: #ffb3b3; border-color: #ef626255; background: #5b182066; }
.page-heading { min-height: 110px; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 18px; padding: 8px 2px; }
.page-heading p { margin-bottom: 0; }
.status-pill, .badge { display: inline-flex; align-items: center; justify-content: center; border: 1px solid #35c58a55; border-radius: 99px; padding: 6px 10px; color: #92e4c0; background: #35c58a17; font-size: .76rem; font-weight: 800; white-space: nowrap; }
.badge.pending { color: #ffd47e; border-color: #f0a41755; background: #f0a41718; }
.badge.rejected { color: #ffaaaa; border-color: #ef626255; background: #ef626218; }
.badge.neutral { color: #b9c8d7; border-color: var(--line); background: #ffffff08; }

.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 14px; margin-bottom: 18px; }
.metric { position: relative; overflow: hidden; min-height: 132px; padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: linear-gradient(145deg, #15263b, #0c1929); }
.metric::after { content: ""; position: absolute; width: 80px; height: 80px; right: -28px; bottom: -30px; border-radius: 50%; background: var(--accent-soft); }
.metric span { display: block; color: var(--muted); font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.metric strong { display: block; margin-top: 15px; font-size: clamp(1.25rem, 2vw, 1.75rem); }
.metric small { display: block; margin-top: 5px; color: #7188a0; }
.metric.centered { text-align: center; }
.metric.online-metric { border-color: #35c58a66; background: linear-gradient(145deg, #12372f, #0c1929); }
.profile-hero-card { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: clamp(22px, 4vw, 46px); align-items: center; margin-bottom: 34px; overflow: hidden; background: radial-gradient(circle at 9% 25%, #1579be33, transparent 32%), linear-gradient(145deg, #132a43, #0b1725); }
.profile-avatar-frame { width: 210px; aspect-ratio: 1; display: grid; place-items: center; overflow: hidden; border: 2px solid #209be955; border-radius: 28px; background: radial-gradient(circle at 50% 28%, #1c5c88, #07111e 75%); box-shadow: 0 20px 54px #0007, 0 0 36px #168ee324; }
.profile-avatar-frame svg, .profile-avatar-frame .generated-avatar { width: 100%; height: 100%; }
.profile-hero-copy h2 { margin: 11px 0 7px; font-size: clamp(2rem, 4vw, 3.4rem); }
.profile-hero-copy > p { max-width: 680px; margin-bottom: 13px; }
.profile-hero-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; color: #9fb4c8; font-size: .82rem; }
.my-profile-presence { width: fit-content; margin: 15px 0; padding: 10px 14px; border: 1px solid var(--line); border-radius: 12px; background: #071421aa; }
.my-profile-presence.connected { border-color: #35c58a66; background: #35c58a12; }
.my-profile-presence .presence-state.profile img { width: 34px; height: 34px; }
.my-profile-presence .presence-state.profile span { color: #dceaf6; font-size: .92rem; font-weight: 750; }
.profile-avatar-action { margin-top: 20px; }
.profile-onboarding-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.profile-onboarding-actions .profile-avatar-action { margin-top: 0; }
.profile-statistics-section { margin-top: 38px; }
.profile-statistics-grid .metric { min-height: 122px; }
.profile-statistics-grid .profile-stat-presence { display: inline-flex; align-items: center; margin-top: 1px; }
.profile-statistics-grid .profile-stat-presence img { width: 30px; height: 30px; object-fit: contain; border-radius: 6px; filter: brightness(0) invert(1); }
.generated-avatar { display: block; object-fit: cover; object-position: center; }
.small-user-avatar { flex: 0 0 auto; width: 38px; height: 38px; display: grid; place-items: center; overflow: hidden; border: 1px solid #42aef477; border-radius: 11px; background: radial-gradient(circle at 50% 30%, #1b4566, #081522 72%); }
.small-user-avatar svg, .small-user-avatar .generated-avatar { width: 100%; height: 100%; object-fit: cover; }
.user-with-avatar, .driver-stat-user, .award-user, .last-event-user { display: flex; align-items: center; gap: 9px; min-width: 0; }
.user-with-avatar strong, .driver-stat-user strong, .award-user > span, .last-event-user strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-profile-link { cursor: pointer; border-radius: 10px; outline: none; transition: color .16s ease, background .16s ease, box-shadow .16s ease; }
.user-profile-link:hover, .user-profile-link:focus-visible { color: #77caff; background: #168ee318; box-shadow: 0 0 0 3px #168ee328; }
[data-presence-avatar].user-profile-link, [data-presence-name].user-profile-link { cursor: pointer; }
.home-section { margin-bottom: 34px; }
.road-status-board { position: relative; isolation: isolate; overflow: hidden; border-color: #20c7e15c; background: radial-gradient(circle at 86% -10%, #00b7ff2b, transparent 38%), linear-gradient(145deg, #071d27, #06121d 68%, #081925); box-shadow: inset 0 0 38px #00cfff0d,0 18px 45px #0005; }
.road-status-board::before { content: ""; position: absolute; inset: 0 0 auto; z-index: -1; height: 3px; background: linear-gradient(90deg,transparent,#28dff6,#75ffb6,#28dff6,transparent); box-shadow: 0 0 18px #36dff2; animation: road-status-led-line 4s linear infinite; }
.road-status-scanlines { position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .16; background: repeating-linear-gradient(180deg,transparent 0,transparent 3px,#51eaff12 4px,#51eaff12 5px); animation: road-status-scan 10s linear infinite; }
.road-status-heading { position: relative; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 22px; align-items: center; padding-bottom: 17px; border-bottom: 1px solid #32d4e82b; }
.road-status-heading h2 { margin: 5px 0 4px; color: #eefcff; font-size: clamp(1.35rem,2.3vw,2rem); text-shadow: 0 0 20px #21cbe455; }
.road-status-heading p { margin: 0; color: #8fb9c4; font-size: .82rem; }
.road-status-live { display: inline-flex; align-items: center; gap: 8px; color: #67f3be; font-size: .7rem; font-weight: 950; letter-spacing: .12em; }
.road-status-live i { width: 9px; height: 9px; border-radius: 50%; background: #32ed9c; box-shadow: 0 0 0 5px #32ed9c18,0 0 16px #32ed9c; animation: road-status-live-pulse 1.15s ease-in-out infinite; }
.road-status-game-clock { min-width: 270px; padding: 11px 14px; border: 1px solid #36d4ec55; border-radius: 11px; text-align: right; background: #03121ce0; box-shadow: inset 0 0 20px #20cde315; }
.road-status-game-clock span,.road-status-game-clock strong,.road-status-game-clock small { display: block; }
.road-status-game-clock span { color: #61dff0; font-size: .61rem; font-weight: 900; letter-spacing: .13em; }
.road-status-game-clock strong { margin-top: 4px; color: #efffce; font-family: Consolas,"Courier New",monospace; font-size: 1.04rem; letter-spacing: .045em; text-shadow: 0 0 12px #a7ff6b66; }
.road-status-game-clock small { margin-top: 3px; color: #6f98a6; font-size: .65rem; }
.road-status-ticker { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; overflow: hidden; margin: 16px 0 12px; border: 1px solid #f0a41755; border-radius: 9px; background: #160f03e8; box-shadow: inset 0 0 18px #f0a4170f,0 0 14px #f0a4170c; }
.road-status-ticker-label { align-self: stretch; display: grid; place-items: center; padding: 8px 12px; color: #140d00; background: linear-gradient(135deg,#ffd365,#e99309); font-size: .67rem; font-weight: 950; letter-spacing: .1em; }
.road-status-ticker-window { min-width: 0; overflow: hidden; }
.road-status-ticker-track { width: max-content; display: flex; gap: 70px; padding: 7px 35px; color: #ffd774; font-family: Consolas,"Courier New",monospace; font-size: .75rem; font-weight: 850; letter-spacing: .065em; white-space: nowrap; text-shadow: 0 0 9px #ffb32188; animation: road-status-ticker 28s linear infinite; }
.road-status-board.road-status-critical .road-status-ticker { border-color: #ff465099; background: #26070ae8; box-shadow: inset 0 0 20px #ff26351c,0 0 17px #ff26352c; }
.road-status-board.road-status-critical .road-status-ticker-label { color: #fff; background: linear-gradient(135deg,#ff6269,#c30f1b); }
.road-status-board.road-status-critical .road-status-ticker-track { color: #ff777d; text-shadow: 0 0 10px #ff2635bb; }
.road-status-summary { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 12px; color: #8fb1bf; font-size: .69rem; }
.road-status-summary > span { padding: 5px 9px; border: 1px solid #2c5262; border-radius: 99px; background: #061620c7; }
.road-status-summary b { color: #f1fbff; }
#roadStatusUpdated { margin-left: auto; color: #68aebe; border-color: transparent; background: transparent; }
.road-status-rows { display: grid; gap: 9px; }
.road-status-row { --road-alert:#f0a417; position: relative; width: 100%; min-width: 0; display: grid; grid-template-columns: 64px minmax(0,1fr); gap: 13px; align-items: center; padding: 11px 13px 30px; overflow: visible; border: 1px solid color-mix(in srgb,var(--road-alert) 42%,#20394a); border-left: 4px solid var(--road-alert); border-radius: 11px; color: inherit; background: linear-gradient(100deg,color-mix(in srgb,var(--road-alert) 10%,#071522),#071522 32%,#06131f); box-shadow: inset 0 0 18px color-mix(in srgb,var(--road-alert) 6%,transparent); font: inherit; text-align: left; cursor: pointer; animation: road-status-row-frame-flash 1.35s ease-in-out infinite; }
.road-status-row:hover { border-color: var(--road-alert); background: linear-gradient(100deg,color-mix(in srgb,var(--road-alert) 18%,#071522),#0b1b29 36%,#081725); }
.road-status-row:focus-visible { outline: 3px solid color-mix(in srgb,var(--road-alert) 70%,white); outline-offset: 3px; }
.road-status-row.alert-accident { --road-alert:#ff4650; }.road-status-row.alert-congestion { --road-alert:#ff9a3d; }.road-status-row.alert-police { --road-alert:#4b9fff; }.road-status-row.alert-v16 { --road-alert:#ffc02e; }.road-status-row.weather-rain { --road-alert:#46c8ff; }
.road-status-alert-icon { position: relative; width: 58px; height: 52px; display: grid; place-items: center; }
.road-status-alert-icon::before { content:""; position:absolute; inset:2px; border-radius:50%; opacity: .55; background: color-mix(in srgb,var(--road-alert) 24%,transparent); filter: blur(7px); }
.road-status-alert-icon img { position: relative; z-index: 1; max-width: 56px; max-height: 50px; object-fit: contain; filter: drop-shadow(0 3px 4px #0009); }
.road-status-row-copy { min-width: 0; display: grid; gap: 7px; }
.road-status-map-link { position: absolute; right: 12px; bottom: 7px; color: var(--road-alert); font-size: .64rem; font-weight: 900; letter-spacing: .04em; opacity: 0; transform: translateX(7px); transition: opacity .16s ease,transform .16s ease; }
.road-status-row:hover .road-status-map-link,.road-status-row:focus-visible .road-status-map-link { opacity: 1; transform: translateX(0); }
.road-status-row-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.road-status-row-title strong { color: #f7fcff; font-size: .92rem; }
.road-status-row-title time { color: var(--road-alert); font-family: Consolas,"Courier New",monospace; font-size: .72rem; font-weight: 850; }
.road-status-location { display: flex; flex-wrap: wrap; gap: 7px 14px; color: #c7dae3; font-size: .76rem; }
.road-status-country { display: inline-flex; align-items: center; gap: 5px; color: #fff; font-weight: 850; }
.road-status-country b { display: inline-flex; align-items: center; font-size: 1.03rem; }
.road-status-row-footer { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; }
.road-status-road { display: inline-grid; grid-template-columns: 29px auto; gap: 7px; align-items: center; color: #d8e9f1; }
.road-status-road > i { width: 29px; height: 29px; display: grid; place-items: center; border: 1px solid #e9f5ff; border-radius: 7px; color: #fff; background: #1168b5; }
.road-status-road.secondary > i { color: #101820; border-color: #ffe47b; background: #ffd83f; }
.road-status-road svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.road-status-road small,.road-status-road strong { display: block; line-height: 1.05; }
.road-status-road small { color: #7894a3; font-size: .56rem; text-transform: uppercase; }.road-status-road strong { margin-top: 2px; font-size: .72rem; }
.road-status-road.unavailable { display: inline-flex; color: #607e8c; font-size: .65rem; font-style: italic; }
.road-status-origin { color: #7796a5; font-size: .66rem; }
.road-status-weather-icon { position: relative; width: 58px; height: 52px; display: block; overflow: visible; border-radius: 12px; color: #e9fbff; background: linear-gradient(180deg,#164263,#071c31); box-shadow: inset 0 0 18px #35c8ff33,0 0 18px #35c8ff18; }
.road-status-rain-cloud { position: absolute; left: 4px; top: 3px; width: 50px; height: 34px; overflow: visible; fill: #dff7ff; filter: drop-shadow(0 0 6px #5ed9ff88) drop-shadow(0 3px 3px #0008); }
.road-status-rain-drops { position: absolute; left: 9px; right: 8px; top: 27px; bottom: 1px; overflow: hidden; }
.road-status-rain-drops i { position: absolute; top: -12px; width: 2px; height: 12px; border-radius: 99px; background: #69dcff; transform: rotate(17deg); animation: road-status-rain 1s linear infinite; }
.road-status-rain-drops i:nth-child(1) { left: 7px; }.road-status-rain-drops i:nth-child(2) { left: 21px; animation-delay: -.34s; }.road-status-rain-drops i:nth-child(3) { left: 35px; animation-delay: -.68s; }
.road-status-rain-warning { position: absolute; right: -7px; bottom: -7px; z-index: 3; width: 27px; height: 25px; overflow: visible; filter: drop-shadow(0 2px 3px #000a); }
.road-status-rain-warning .warning-triangle { fill: #ffd43b; stroke: #fff4a8; stroke-width: 1.7; stroke-linejoin: round; }
.road-status-rain-warning .warning-mark { fill: none; stroke: #131313; stroke-width: 3; stroke-linecap: round; }
.road-status-rain-live { padding: 3px 7px; border: 1px solid #4ed8ff77; border-radius: 99px; color: #85eaff; background: #28b9e619; font-size: .58rem; font-weight: 950; letter-spacing: .08em; }
.road-status-empty { display: flex; align-items: center; justify-content: center; gap: 14px; min-height: 92px; padding: 17px; border: 1px dashed #35c58a55; border-radius: 12px; color: #82b69f; background: #08251d55; text-align: left; }
.road-status-empty strong,.road-status-empty small { display: block; }.road-status-empty strong { color: #b5f4d7; font-size: 1rem; }.road-status-empty small { margin-top: 4px; }
.road-status-clear-light { width: 19px; height: 19px; flex: 0 0 auto; border: 2px solid #a1ffd0; border-radius: 50%; background: #34d98a; box-shadow: 0 0 0 7px #34d98a17,0 0 20px #34d98abb; animation: road-status-live-pulse 1.6s ease-in-out infinite; }
@keyframes road-status-led-line { 0% { transform: translateX(-45%); } 100% { transform: translateX(45%); } }
@keyframes road-status-scan { from { background-position-y: 0; } to { background-position-y: 120px; } }
@keyframes road-status-live-pulse { 0%,100% { opacity: 1; transform: scale(1); } 50% { opacity: .42; transform: scale(.8); } }
@keyframes road-status-ticker { from { transform: translateX(0); } to { transform: translateX(calc(-50% - 35px)); } }
@keyframes road-status-row-frame-flash { 0%,100% { box-shadow: inset 0 0 18px color-mix(in srgb,var(--road-alert) 6%,transparent),0 0 0 0 color-mix(in srgb,var(--road-alert) 0%,transparent); } 50% { box-shadow: inset 0 0 18px color-mix(in srgb,var(--road-alert) 9%,transparent),0 0 0 2px color-mix(in srgb,var(--road-alert) 58%,transparent),0 0 17px color-mix(in srgb,var(--road-alert) 48%,transparent); } }
@keyframes road-status-rain { from { transform: translateY(-9px) rotate(17deg); opacity: 0; } 20% { opacity: 1; } to { transform: translateY(31px) rotate(17deg); opacity: 0; } }
@media (max-width:760px) {
  .road-status-heading { grid-template-columns: 1fr; }
  .road-status-game-clock { min-width: 0; text-align: left; }
  .road-status-row { grid-template-columns: 48px minmax(0,1fr); gap: 10px; padding: 10px 10px 29px; }
  .road-status-alert-icon,.road-status-weather-icon { width: 44px; height: 44px; }
  .road-status-alert-icon img { max-width: 43px; max-height: 41px; }
  .road-status-row-title { align-items: flex-start; }
  #roadStatusUpdated { width: 100%; margin-left: 0; padding-left: 0; }
}
@media (prefers-reduced-motion:reduce) {
  .road-status-board::before,.road-status-scanlines,.road-status-live i,.road-status-ticker-track,.road-status-row,.road-status-rain-drops i,.road-status-clear-light { animation: none; }
}
.center-heading { max-width: 760px; margin: 0 auto 18px; text-align: center; }
.center-heading h2 { margin-bottom: 7px; font-size: 1.45rem; }
.center-heading p { margin-bottom: 0; }
.account-heading { margin-top: 42px; }
.driver-stats { display: grid; gap: 7px; margin-top: 12px; }
.driver-stats > div { display: grid; grid-template-columns: minmax(140px, 1.5fr) repeat(4, minmax(100px, 1fr)); gap: 12px; align-items: center; padding: 10px 14px; border: 1px solid var(--line); border-radius: 10px; background: #0b1725; }
.driver-stats span { color: var(--muted); font-size: .82rem; }
.driver-stat-user strong { color: #eef7ff; }
.community-statistics-chart-card { position: relative; margin-bottom: 18px; padding-left: clamp(42px, 4vw, 62px); background: radial-gradient(circle at 82% 0, #168ee31f, transparent 38%), linear-gradient(145deg, #132238f2, #0d1928f4); }
.community-statistics-chart-heading { align-items: center; gap: 18px; }
.community-statistics-chart-heading p, .community-statistics-drivers-card .section-head p { margin: 5px 0 0; }
.statistics-period-tabs { display: flex; flex-wrap: wrap; gap: 3px; padding: 3px; border: 1px solid #263d52; border-radius: 9px; background: #071421aa; }
.statistics-period-tabs button { min-width: 56px; border: 1px solid transparent; border-radius: 6px; padding: 5px 8px; color: #8297ab; background: transparent; font-size: .74rem; font-weight: 750; }
.statistics-period-tabs button:hover { color: #fff; background: #ffffff0a; }
.statistics-period-tabs button.active { color: #06101b; border-color: #ffc14d; background: linear-gradient(135deg, #ffd06e, #e6970a); box-shadow: 0 4px 10px #0003; }
.statistics-range-navigation { display: grid; grid-template-columns: 38px minmax(180px, 1fr) 38px; gap: 10px; align-items: center; max-width: 620px; margin: 4px auto 14px; }
.statistics-range-arrow { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid #38536c; border-radius: 50%; color: #eef7ff; background: #0a1928; font-size: 1.65rem; line-height: 1; }
.statistics-range-arrow:hover:not(:disabled) { border-color: #f0a417; color: #ffd16e; background: #142638; }
.statistics-range-arrow:disabled { opacity: .28; cursor: default; }
.statistics-range-center { min-width: 0; display: flex; align-items: center; justify-content: center; gap: 12px; }
.statistics-range-center > p { min-width: 0; margin: 0; overflow: hidden; color: #c8d8e7; text-align: center; text-overflow: ellipsis; white-space: nowrap; font-size: .82rem; font-weight: 750; }
.statistics-range-center label { width: 162px; margin: 0; color: #6f879f; font-size: .62rem; letter-spacing: .05em; text-transform: uppercase; }
.statistics-range-center input { min-height: 32px; margin-top: 2px; padding: 5px 8px; border-radius: 7px; font-size: .76rem; }
.community-statistics-chart { width: 100%; min-height: 350px; overflow-x: auto; border: 1px solid #ffffff0d; border-radius: 14px; background: linear-gradient(180deg, #071421aa, #07111edd); scrollbar-color: #37536d #071421; }
.community-statistics-chart svg { width: 100%; min-width: 660px; height: auto; display: block; }
.statistics-chart-grid-line line { stroke: #49607755; stroke-width: 1; stroke-dasharray: 5 7; }
.statistics-chart-grid-line text, .statistics-chart-x-tick { fill: #7f95aa; font-size: 14px; font-weight: 650; }
.statistics-chart-area { fill: url(#statisticsChartArea); }
.statistics-chart-line { fill: none; stroke: #49baff; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; filter: url(#statisticsChartGlow); }
.statistics-chart-point { fill: #ffd16e; stroke: #081421; stroke-width: 3; cursor: help; transition: r .15s ease, fill .15s ease; }
.statistics-chart-point:hover, .statistics-chart-point:focus { r: 8; fill: #fff0bd; outline: none; }
.statistics-chart-y-label { position: absolute; left: 16px; top: 54%; transform: translateY(-50%) rotate(-90deg); color: #6f879f; font-size: .66rem; font-weight: 850; letter-spacing: .14em; white-space: nowrap; }
.statistics-chart-x-label { margin-top: 10px; color: #6f879f; text-align: center; font-size: .66rem; font-weight: 850; letter-spacing: .14em; }
.statistics-chart-totals { display: grid; grid-template-columns: repeat(4,minmax(130px,1fr)); gap: 1px; overflow: hidden; margin-top: 16px; border: 1px solid var(--line); border-radius: 13px; background: var(--line); }
.statistics-chart-totals > div { min-width: 0; padding: 13px 15px; background: #081522; }
.statistics-chart-totals span, .statistics-chart-totals strong, .statistics-chart-totals small { display: block; }
.statistics-chart-totals span { color: #7f95aa; font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.statistics-chart-totals strong { margin-top: 6px; color: #eef7ff; font-size: 1.08rem; }
.statistics-chart-totals small { margin-top: 3px; color: #6f879f; font-size: .7rem; }
.community-statistics-summary { margin-top: 18px; }
.community-statistics-summary .metric { min-height: 122px; }
.community-statistics-drivers-card { margin-top: 18px; }
.statistics-driver { width: fit-content; display: inline-flex; align-items: center; gap: 9px; padding: 4px 6px; }
.statistics-driver strong { color: #eef7ff; }
.statistics-participation { width: 150px; height: 8px; display: inline-block; overflow: hidden; margin-right: 8px; border-radius: 99px; background: #06101b; vertical-align: middle; }
.statistics-participation span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #168ee3, #48d0ff); }
.community-statistics-drivers-card td:last-child small { color: var(--muted); white-space: nowrap; }
.statistics-total-row td { border-top: 2px solid #f0a41788; border-bottom: 0; color: #fff1cf; background: #f0a4170d; }
.statistics-total-row td:first-child strong, .statistics-total-row td:first-child small { display: block; }
.statistics-total-row td:first-child small { margin-top: 4px; color: #a9936c; }
.presence-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 11px; }
.presence-card { display: grid; grid-template-columns: 58px minmax(0, 1fr) 42px; align-items: center; gap: 12px; min-width: 0; padding: 13px; border: 1px solid var(--line); border-radius: 13px; background: #0a1725; }
.presence-card > div { min-width: 0; }
.presence-card strong, .presence-card small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.presence-card small { margin-top: 3px; color: var(--muted); }
.presence-card .presence-location { display: flex; align-items: center; gap: 6px; color: #cfe8fa; }
.presence-identity { position: relative; width: 58px; height: 58px; display: grid; place-items: center; }
.presence-identity .small-user-avatar { width: 52px; height: 52px; border-radius: 14px; }
.presence-identity [data-presence-state] { position: absolute; right: -2px; bottom: -3px; width: 29px; height: 29px; display: grid; place-items: center; border: 2px solid #0a1725; border-radius: 9px; background: #15314a; box-shadow: 0 5px 13px #0008; }
.presence-identity .presence-state.large img { width: 24px; height: 24px; }
.presence-copy { align-self: stretch; display: grid; align-content: center; }
.presence-gps { width: 40px; height: 40px; display: grid; place-items: center; padding: 0; border: 1px solid #2e82b955; border-radius: 12px; color: #80d7ff; background: #0b2235; font-size: 1.65rem; line-height: 1; cursor: pointer; }
.presence-gps:hover, .presence-gps:focus-visible { border-color: #49c4ff; color: #fff; background: #146493; box-shadow: 0 0 0 3px #32bfff22; }
.presence-cargo { display: flex; align-items: center; gap: 7px; min-width: 0; }
.presence-cargo img { width: 34px; height: 27px; flex: 0 0 auto; object-fit: contain; }
.presence-cargo span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.map-location-flag { width: 28px; height: 19px; display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; line-height: 1; }
.map-inline-country-flag,.map-route-country-flag,.map-country-flag-image { display: inline-block; object-fit: contain; vertical-align: middle; }
.map-inline-country-flag { width: 25px; height: 17px; }
.map-route-country-flag { width: 24px; height: 16px; margin-right: 3px; vertical-align: -3px; }
.country-flag-placeholder { width: 23px; height: 15px; display: inline-block; border: 1px solid #63809a; border-radius: 4px; background: linear-gradient(135deg,#2a4053,#0a1723); vertical-align: middle; }
.presence-state { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.presence-state img { width: 25px; height: 25px; object-fit: contain; filter: brightness(0) invert(1); border-radius: 5px; }
.presence-state.large { flex: 0 0 auto; }
.presence-state.large img { width: 46px; height: 46px; }
.presence-state.large > span { display: none; }
.events-column { min-width: 0; }
.event-carousel { position: relative; min-width: 0; padding: 0 42px; }
.event-window { min-width: 0; overflow: hidden; }
.event-track { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.event-track.carousel-refresh { animation: carousel-refresh .35s ease both; }
.event-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 17px; background: linear-gradient(145deg, #14253a, #0c1827); box-shadow: 0 18px 44px #0003; }
.event-image { position: relative; min-height: 0; aspect-ratio: 1/1; overflow: hidden; background: radial-gradient(circle at 50% 42%, #21334a 0, #091421 70%); }
.event-image > .event-main-image { position: absolute; top: 50%; left: 50%; width: calc(100% - 28px); height: calc(100% - 28px); display: block; padding: 0; transform: translate(-50%, -50%); object-fit: contain; object-position: center center; }
.event-image.generated > .event-main-image { width: 100%; height: 100%; object-fit: contain; }
.event-cargo-thumb { position: absolute; z-index: 3; right: 10px; bottom: 10px; width: 54px !important; height: 54px !important; padding: 5px !important; border: 2px solid #fff; border-radius: 12px; background: #07111ee8; object-fit: contain !important; box-shadow: 0 8px 22px #0009; }
.event-image > span { position: absolute; z-index: 2; left: 10px; bottom: 10px; padding: 5px 9px; border-radius: 99px; color: #fff; background: #07111ecc; font-size: .75rem; font-weight: 800; }
.completed-stamp { position: absolute !important; z-index: 4; top: 50% !important; left: 50% !important; width: min(76%, 300px) !important; height: auto !important; padding: 0 !important; transform: translate(-50%, -50%) rotate(-5deg) !important; object-fit: contain !important; filter: drop-shadow(0 8px 12px #000a); pointer-events: none; }
.completed-stamp.hero { width: min(70%, 320px) !important; }
.completed-stamp.small { width: 78% !important; }
.event-card.completed { border-color: #35c58a88; box-shadow: 0 18px 44px #0003, 0 0 24px #35c58a18; }
.event-card-body { padding: 15px; }
.event-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.event-title small { color: var(--accent); font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.event-title h3 { margin: 3px 0 12px; font-size: 1rem; }
.event-description { display: -webkit-box; overflow: hidden; margin: -3px 0 12px; color: #a9b9c9; font-size: .76rem; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.flag { width: 34px; height: 26px; border-radius: 6px; object-fit: cover; }
.event-route { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 7px; align-items: stretch; margin: 4px 0 14px; }
.event-route-arrow { align-self: center; color: var(--accent); font-size: 1.1rem; font-weight: 900; }
.event-stop { min-width: 0; padding: 8px; border: 1px solid #ffffff10; border-radius: 10px; background: #07142199; }
.event-stop-label { display: flex; align-items: center; justify-content: space-between; gap: 5px; margin-bottom: 7px; color: var(--accent); font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.event-stop-label span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.event-stop-label img { width: 27px; height: 19px; object-fit: contain; }
.event-stop-main { display: grid; grid-template-columns: 45px minmax(0, 1fr); gap: 9px; align-items: center; }
.event-stop-main > img { width: 45px; height: 45px; border-radius: 7px; object-fit: contain; }
.event-stop strong, .event-stop small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.event-stop strong { font-size: .74rem; }
.event-stop small { margin-top: 2px; color: var(--muted); font-size: .62rem; }
.event-stop.unavailable { display: grid; align-content: center; color: var(--muted); }
.event-stop.unavailable span { color: var(--accent); font-size: .62rem; font-weight: 800; text-transform: uppercase; }
.progress-label { display: flex; justify-content: space-between; gap: 10px; margin: 9px 0 6px; color: var(--muted); font-size: .75rem; }
.progress-label strong { color: var(--accent); }
.progress { height: 7px; overflow: hidden; border-radius: 99px; background: #06101b; }
.progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #df8d00, #ffc454); }
.progress.completed span { background: linear-gradient(90deg, #168b5a, #4fe3a4); }
.progress-label.completed strong { color: #55e4a8; }
.progress.big { height: 12px; }
.progress-label.big { margin-top: 24px; font-size: .95rem; }
.event-dates { display: flex; justify-content: space-between; margin: 7px 0 13px; color: #7188a0; font-size: .72rem; }
.event-open { width: 100%; padding: 8px; font-size: .78rem; }
.carousel-arrow { position: absolute; z-index: 3; top: 50%; width: 36px; height: 54px; display: grid; place-items: center; transform: translateY(-50%); border: 1px solid #f0a41766; border-radius: 12px; color: #ffd16e; background: #101d2cf2; box-shadow: 0 10px 28px #0007; font-size: 2rem; line-height: 1; transition: border-color .15s ease, background .15s ease, transform .15s ease; }
.carousel-arrow:hover { transform: translateY(-50%) scale(1.04); border-color: var(--accent); background: #1b2d42; }
.carousel-arrow:focus-visible { outline: 3px solid var(--accent-soft); border-color: var(--accent); }
.carousel-arrow.previous { left: 0; }
.carousel-arrow.next { right: 0; }
.carousel-footer { min-height: 24px; display: flex; justify-content: center; gap: 16px; margin-top: 11px; color: #7188a0; font-size: .72rem; }
.carousel-footer span:first-child { color: #b6c5d4; font-weight: 700; }
.awards-sidebar { position: sticky; top: 100px; padding: 22px; }
.profile-side-entry { width: 100%; display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 11px; align-items: center; margin-bottom: 22px; padding: 13px; border: 1px solid #168ee366; border-radius: 14px; color: #eaf6ff; text-align: left; background: linear-gradient(135deg, #123b59, #0a1826); }
.profile-side-entry:hover { border-color: #38a9f3; transform: translateY(-1px); }
.profile-side-entry > span:nth-child(2) { min-width: 0; }
.profile-side-entry strong, .profile-side-entry small { display: block; }
.profile-side-entry small { margin-top: 3px; color: #8fb8d3; }
.profile-side-entry b { color: #75c9ff; font-size: 1.7rem; }
.profile-side-entry.community-side-entry { margin-top: -10px; border-color: #f0a41755; background: linear-gradient(135deg, #3a2b12, #0a1826); }
.profile-side-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; color: #dff3ff; background: #168ee32b; font-size: 1.25rem; }
.profile-side-avatar { width: 42px; height: 42px; display: grid; place-items: center; overflow: hidden; border: 1px solid #42aef477; border-radius: 12px; background: radial-gradient(circle at 50% 30%, #1b4566, #081522 72%); }
.profile-side-avatar svg, .profile-side-avatar .generated-avatar, .profile-side-avatar > img { width: 100%; height: 100%; object-fit: cover; }
.user-profile-sidebar { position: sticky; top: 100px; padding: 18px; }
.selected-user-context { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 12px; align-items: center; margin-bottom: 16px; padding: 4px 5px 17px; border-bottom: 1px solid var(--line); }
.selected-user-context .profile-side-avatar { width: 52px; height: 52px; }
.selected-user-context strong, .selected-user-context small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.selected-user-context small { margin-top: 4px; color: #8fb8d3; }
.selected-user-context.profile-context-with-mail { grid-template-columns: 52px minmax(0,1fr) 42px; }
.profile-mail-button { position: relative; width: 42px; height: 42px; display: grid; place-items: center; padding: 0; border: 1px solid var(--line); border-radius: 12px; color: #f4f7fa; background: #0a1725; font-size: 1.25rem; }
.profile-mail-button:hover, .profile-mail-button:focus-visible { border-color: #f0a41799; }
.profile-mail-button b { position: absolute; top: -7px; right: -7px; min-width: 21px; height: 21px; display: grid; place-items: center; padding: 0 5px; border: 2px solid #101d2c; border-radius: 99px; color: #171009; background: #ffac24; font-size: .66rem; }
.profile-mail-button.has-unread { animation: inbox-mail-alert 1.15s ease-in-out infinite; }
@keyframes inbox-mail-alert { 0%,100% { color: #fff; border-color: #ffffffaa; box-shadow: 0 0 0 0 #ffffff00; } 50% { color: #ffad24; border-color: #ffad24; box-shadow: 0 0 0 6px #f0a41718; } }
.profile-context-nav { display: grid; gap: 8px; }
.profile-context-nav button { width: 100%; display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 11px; border: 1px solid transparent; border-radius: 13px; color: #c4d3e1; text-align: left; background: transparent; }
.profile-context-nav button:hover { border-color: #168ee355; background: #168ee30c; }
.profile-context-nav button.active { color: #fff4db; border-color: #f0a41755; background: #f0a41714; }
.profile-context-nav button > span:nth-child(2) { min-width: 0; }
.profile-context-nav strong, .profile-context-nav small { display: block; }
.profile-context-nav small { margin-top: 3px; color: var(--muted); font-size: .72rem; }
.profile-context-nav b { color: #75c9ff; font-size: 1.35rem; }
.user-profile-back { width: 100%; margin-top: 18px; }
.awards-heading { padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.awards-heading h2 { margin-bottom: 5px; font-size: 1.3rem; }
.awards-heading p { margin-bottom: 0; font-size: .86rem; text-transform: capitalize; }
.awards-heading-promoted .awards-heading-label { display: block; margin-bottom: 6px; color: #f4f7fa; font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-transform: none; }
.awards-heading-promoted h2 { margin: 0 0 5px; color: var(--accent); font-size: 1.45rem; font-weight: 950; line-height: 1.08; letter-spacing: .035em; text-transform: uppercase; }
.awards-heading-promoted p { color: #8ea4b8; font-size: .74rem; }
.distance-awards-carousel { min-width: 0; }
.distance-awards-panel { min-height: 324px; }
.distance-awards-panel.awards-refresh { animation: awards-carousel-refresh .32s ease both; }
.distance-awards-dots { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 24px; margin-top: 12px; }
.distance-awards-dots button { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 50%; background: #456078; box-shadow: none; transition: width .2s ease, border-radius .2s ease, background .2s ease; }
.distance-awards-dots button:hover, .distance-awards-dots button:focus-visible { outline: 2px solid #f0a41755; outline-offset: 3px; background: #8da5b9; }
.distance-awards-dots button.active { width: 26px; border-radius: 99px; background: var(--accent); }
@keyframes awards-carousel-refresh { from { opacity: .2; transform: translateX(10px); } to { opacity: 1; transform: translateX(0); } }
.awards-list { display: grid; gap: 11px; margin-top: 18px; }
.award-row { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 11px; align-items: center; padding: 13px 12px; border: 1px solid var(--line); border-radius: 13px; background: #091522; }
.award-rank { width: 38px; height: 38px; display: grid; place-items: center; border: 2px solid #a8731e; border-radius: 50%; color: #ffe7a4; background: #6e471c; font-size: 1rem; font-weight: 900; }
.award-1 { border-color: #eeb63677; background: linear-gradient(135deg, #3d2b11, #0b1725 72%); }
.award-1 .award-rank { border-color: #ffd76a; color: #301d00; background: linear-gradient(145deg, #ffe68b, #d99416); box-shadow: 0 0 22px #f0a41744; }
.award-2 .award-rank { border-color: #e4ebf2; color: #23303c; background: linear-gradient(145deg, #f4f7fa, #9daab7); }
.award-3 .award-rank { border-color: #e1a06d; color: #32170a; background: linear-gradient(145deg, #efb080, #9e542a); }
.award-row strong, .award-row small { display: block; }
.award-row small { margin-top: 3px; color: var(--muted); font-size: .72rem; }
.award-row b { color: #f7c45f; font-size: .86rem; white-space: nowrap; }
.distance-awards-event-slide { min-height: 324px; }
.last-event-card { width: 100%; display: grid; gap: 7px; margin-top: 18px; padding: 0 0 14px; overflow: hidden; border: 1px solid #35c58a66; border-radius: 14px; color: inherit; text-align: left; background: #091522; }
.last-event-card:hover { border-color: var(--success); }
.last-event-image { position: relative; aspect-ratio: 1.35/1; overflow: hidden; background: radial-gradient(circle at 50% 42%, #21334a, #091421 70%); }
.last-event-image > img:first-child { width: 100%; height: 100%; object-fit: contain; }
.last-event-image.generated > img:first-child { object-fit: contain; }
.last-event-image .event-cargo-thumb { right: 9px; bottom: 9px; width: 48px !important; height: 48px !important; }
.last-event-card > span, .last-event-card > strong, .last-event-card > small { margin: 0 13px; }
.last-event-card > .last-event-user { margin: 0 13px; }
.last-event-card > span { color: var(--success); font-size: .7rem; font-weight: 850; text-transform: uppercase; }
.last-event-card > strong { font-size: 1.05rem; }
.last-event-card > small { color: var(--muted); line-height: 1.45; }
.convoy-server-award { margin-top: 26px; padding-top: 6px; border-top: 1px solid var(--line); }
.convoy-server-status { display: grid; grid-template-columns: 22px minmax(0,1fr); gap: 11px; align-items: start; margin-top: 17px; padding: 14px 13px; border: 1px solid #60758a55; border-radius: 14px; background: #091522; }
.convoy-server-status strong, .convoy-server-status small { display: block; }
.convoy-server-status strong { color: #e9f2fa; font-size: .91rem; line-height: 1.3; }
.convoy-server-status small { margin-top: 5px; color: var(--muted); font-size: .75rem; line-height: 1.45; }
.convoy-server-light { width: 14px; height: 14px; margin-top: 2px; border: 2px solid #a9b8c5; border-radius: 50%; background: #718092; box-shadow: 0 0 0 5px #7180921c,0 0 14px #71809288; }
.convoy-server-status.online { border-color: #34cf8d66; background: linear-gradient(135deg,#0d2b24,#091522 76%); }
.convoy-server-status.online .convoy-server-light { border-color: #8affc2; background: #27d884; box-shadow: 0 0 0 5px #27d8841c,0 0 16px #27d884cc; }
.convoy-server-status.warning { border-color: #f0a41777; background: linear-gradient(135deg,#34270e,#091522 76%); }
.convoy-server-status.warning .convoy-server-light { border-color: #ffe098; background: #f0a417; box-shadow: 0 0 0 5px #f0a4171c,0 0 16px #f0a417cc; }
.convoy-server-status.offline { border-color: #e8586477; background: linear-gradient(135deg,#35171c,#091522 76%); }
.convoy-server-status.offline .convoy-server-light { border-color: #ffabb1; background: #e84e5b; box-shadow: 0 0 0 5px #e84e5b1c,0 0 16px #e84e5bcc; }
.convoy-server-status.checking .convoy-server-light { animation: convoy-server-checking 1.1s ease-in-out infinite alternate; }
.convoy-server-identity { display: grid; gap: 8px; margin-top: 10px; }
.convoy-server-identity > span { min-width: 0; padding: 9px 10px; border: 1px solid var(--line); border-radius: 10px; background: #08131f; }
.convoy-server-identity small, .convoy-server-identity strong { display: block; }
.convoy-server-identity small { margin-bottom: 4px; color: #7188a0; font-size: .64rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.convoy-server-identity strong { overflow-wrap: anywhere; color: #e8f2fa; font-size: .78rem; line-height: 1.35; }
.convoy-server-id-line { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 6px; align-items: center; }
.convoy-server-id-line code { min-width: 0; overflow: hidden; color: #85ceff; font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.convoy-server-id-line button { width: 42px; min-height: 21px; padding: 2px 5px; border: 1px solid #168ee366; border-radius: 6px; color: #a9ddff; background: #0c2234; box-shadow: none; font-size: .58rem; line-height: 1; }
.convoy-server-id-line button:hover:not(:disabled), .convoy-server-id-line button:focus-visible:not(:disabled) { border-color: #45b5ff; color: #fff; background: #12344e; }
.convoy-server-id-line button:disabled { opacity: .38; cursor: default; }
.convoy-server-command { margin-top: 9px; border: 1px solid #168ee344; border-radius: 10px; background: #07121e; }
.convoy-server-command summary { padding: 8px 10px; color: #8fcfff; font-size: .67rem; font-weight: 800; letter-spacing: .04em; cursor: pointer; user-select: none; }
.convoy-server-command[open] summary { border-bottom: 1px solid #168ee32e; }
.convoy-server-command-line { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 7px; align-items: center; padding: 9px 10px 5px; }
.convoy-server-command-line code { min-width: 0; overflow: hidden; color: #72e0ad; font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.convoy-server-command-line button { min-height: 23px; padding: 3px 7px; border: 1px solid #34cf8d66; border-radius: 6px; color: #aef3d0; background: #0c2a22; box-shadow: none; font-size: .58rem; line-height: 1; }
.convoy-server-command-line button:hover, .convoy-server-command-line button:focus-visible { border-color: #56e6a6; color: #fff; background: #12392e; }
.convoy-server-command > small { display: block; padding: 0 10px 9px; color: #7188a0; font-size: .64rem; line-height: 1.4; }
.convoy-server-players { margin-top: 9px; color: #8fb8d3; font-size: .74rem; text-align: center; }
@keyframes convoy-server-checking { from { opacity: .38; } to { opacity: 1; } }
@keyframes carousel-refresh { from { opacity: .35; transform: translateX(12px); } to { opacity: 1; transform: translateX(0); } }
@media (prefers-reduced-motion: reduce) { .event-track.carousel-refresh, .distance-awards-panel.awards-refresh { animation: none; } }
.event-detail-kicker { display: block; margin-top: 4px; }
.event-hero { display: grid; grid-template-columns: minmax(260px, .85fr) minmax(300px, 1.15fr); gap: 26px; margin-bottom: 18px; }
.event-hero-images { position: relative; min-height: 0; display: grid; place-items: center; align-self: start; overflow: hidden; border-radius: 14px; background: #07111e; }
.hero-event-image { width: 100%; height: auto; max-height: 560px; display: block; object-fit: contain; object-position: center; }
.event-hero-images.generated .hero-event-image { object-fit: contain; }
.event-hero-info { align-self: center; }
.event-hero-info-heading { display: grid; grid-template-columns: minmax(0, 1fr) 112px; gap: 18px; align-items: start; }
.event-hero-info-heading h2 { margin: 18px 0 0; font-size: 1.7rem; }
.event-detail-cargo-logo { width: 84px; height: 84px; display: block; object-fit: contain; filter: drop-shadow(0 7px 12px #0008); }
.event-detail-cargo-card { min-width: 0; display: grid; justify-items: center; gap: 5px; padding: 9px; border: 1px solid #ffffff14; border-radius: 11px; color: #edf5fb; background: #050d16; box-shadow: inset 0 1px #ffffff08, 0 8px 20px #0005; transform: translateY(-10px); }
.event-detail-cargo-card > span { color: var(--accent); font-size: .61rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.event-detail-cargo-card > strong { width: 100%; overflow: hidden; font-size: .68rem; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.event-detail-cargo-card .event-detail-cargo-logo { width: 62px; height: 62px; }
.event-detail-description { margin: -5px 0 16px; padding: 12px 14px; border-left: 3px solid var(--accent); white-space: pre-line; background: #07142199; }
.badge.completed { color: #9df0ca; border-color: #35c58a88; background: #35c58a22; }
.event-detail-route { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 10px; align-items: stretch; margin: 16px 0; }
.event-detail-route .event-stop { padding: 12px; background: #071421cc; }
.event-detail-route .event-stop-main { grid-template-columns: 63px minmax(0, 1fr); }
.event-detail-route .event-stop-main > img { width: 63px; height: 63px; }
.event-detail-route .event-stop strong { font-size: .9rem; }
.event-detail-route .event-stop small { font-size: .72rem; }
.event-admin-layout { grid-template-columns: minmax(300px, .75fr) minmax(0, 1.25fr); }
.event-location-group { min-width: 0; margin: 18px 0; padding: 12px 15px 5px; border: 1px solid var(--line); border-radius: 13px; background: #07142166; }
.event-location-group legend { padding: 0 8px; color: var(--accent); font-size: .76rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.event-ai-group { min-width: 0; margin: 18px 0; padding: 13px 15px 12px; border: 1px solid #168ee366; border-radius: 13px; background: linear-gradient(145deg, #0a2034, #071421); }
.event-ai-group legend { padding: 0 8px; color: #75c9ff; font-size: .76rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.event-ai-group small { display: block; color: var(--muted); line-height: 1.45; }
.event-ai-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 11px; margin: 12px 0; }
.event-ai-actions .button { margin: 0; }
.event-local-image-button { display: inline-flex; width: auto; cursor: pointer; }
.event-local-image-input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.event-local-image-input:focus-visible + .event-ai-status { outline: 2px solid var(--accent); outline-offset: 3px; }
.event-ai-status { color: var(--muted); font-size: .78rem; font-weight: 750; }
.event-ai-status.working { color: #75c9ff; }.event-ai-status.ready { color: #61edaa; }.event-ai-status.error { color: #ff8585; }
.event-ai-preview { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(180px,.65fr); gap: 14px; align-items: center; margin: 12px 0; padding: 10px; border: 1px solid #35c58a66; border-radius: 12px; background: #35c58a0d; }
.event-ai-preview img { width: 100%; height: auto; max-height: 220px; display: block; object-fit: contain; border-radius: 9px; background: #030a12; }
.event-ai-preview > div { display: grid; gap: 8px; align-content: center; }.event-ai-preview strong,.event-ai-preview span { display: block; }.event-ai-preview strong { color: #75efb5; }.event-ai-preview span { color: var(--muted); font-size: .78rem; line-height: 1.4; }
.event-ai-preview .button { margin: 3px 0 0; }
.admin-event-list { display: grid; gap: 10px; }
.admin-event-item { display: grid; grid-template-columns: 58px 1fr auto; gap: 12px; align-items: center; padding: 10px; border: 1px solid var(--line); border-radius: 12px; background: #0a1725; }
.admin-event-item.completed { border-color: #35c58a66; }
.admin-event-item img { width: 58px; height: 48px; border-radius: 9px; object-fit: cover; }
.admin-event-images { position: relative; width: 58px; height: 52px; }
.admin-event-item .admin-event-main { width: 58px; height: 48px; }
.admin-event-item .admin-event-cargo { position: absolute; right: -5px; bottom: -2px; width: 24px; height: 24px; padding: 2px; border: 1px solid #fff; border-radius: 6px; background: #07111e; object-fit: contain; }
.admin-event-item strong, .admin-event-item small { display: block; }
.admin-event-item small { margin-top: 3px; color: var(--muted); }
.admin-event-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; }
.event-form-actions { margin-top: 16px; }
.details-panel { margin-top: 18px; }
.section-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.section-head h2 { margin-bottom: 0; }
.section-head.centered { justify-content: center; text-align: center; }
.heading-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.bank-financing { margin-top: 18px; }
.bank-history { margin-top: 18px; }
.transfer-balance { padding: 12px 14px; border: 1px solid #f0a41755; border-radius: 10px; color: var(--muted); background: #f0a4170c; }
.transfer-balance strong { color: #ffd47e; }
.lock-label { color: var(--muted); font-size: .78rem; }
.details-grid { display: grid; grid-template-columns: repeat(2, minmax(180px, 1fr)); gap: 1px; overflow: hidden; margin: 20px 0; border: 1px solid var(--line); border-radius: 12px; background: var(--line); }
.details-grid > div { padding: 15px; background: #0d1928; }
.details-grid dt { color: var(--muted); font-size: .78rem; }
.details-grid dd { margin: 5px 0 0; font-weight: 700; overflow-wrap: anywhere; }
.note { margin: 18px 0 0; padding: 11px 14px; border-left: 3px solid var(--accent); color: var(--muted); background: #f0a4170a; }
.note.success-note { border-color: var(--success); color: #b7ead4; background: #35c58a0d; }
.note.error-note { border-color: var(--danger); color: #ffc0c0; background: #ef62620d; }

.office-placeholder { min-height: 230px; display: grid; place-content: center; justify-items: center; gap: 7px; text-align: center; }
.office-placeholder strong { color: #edf4fb; font-size: 1.25rem; }
.office-placeholder span { color: var(--muted); }
.office-bank-history { margin-top: 18px; }
.office-movement-description { display: block; min-width: 210px; line-height: 1.25; }
.office-movement-description strong,
.office-movement-description small { display: block; }
.office-movement-description small { margin-top: 5px; color: var(--muted); font-size: .78rem; font-weight: 500; }
.office-side-context { grid-template-columns: 76px minmax(0, 1fr); gap: 14px; align-items: center; }
.office-side-context > span { min-width: 0; }
.office-side-logo { box-sizing: border-box; width: 76px; height: 76px; padding: 9px; border: 1px solid #ffffff18; border-radius: 16px; object-fit: contain; background: #06111d; box-shadow: inset 0 1px #ffffff0a, 0 10px 24px #0005; flex: 0 0 auto; }
.insurance-office-profile { min-height: 370px; display: grid; grid-template-columns: minmax(230px, 330px) minmax(0, 1fr); gap: clamp(28px, 5vw, 70px); align-items: center; overflow: hidden; background: radial-gradient(circle at 16% 45%, #8ab7d72b, transparent 34%), linear-gradient(145deg, #142b43, #091522); }
.office-profile-logo-frame { width: 100%; aspect-ratio: 1; display: grid; place-items: center; box-sizing: border-box; padding: 22px; border: 1px solid #ffffff18; border-radius: 24px; background: #06111d; box-shadow: inset 0 1px #ffffff0a, 0 18px 36px #0006; }
.office-profile-logo-frame img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 12px 18px #0007); }
.insurance-office-profile h2 { margin: 13px 0 9px; font-size: clamp(2rem, 4vw, 3.5rem); }
.insurance-office-profile p { max-width: 700px; color: #b5c8d9; font-size: 1rem; line-height: 1.7; }
.insurance-company-grid { display: grid; gap: 14px; }
.insurance-company-card { min-width: 0; display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 18px; padding: 17px; border: 1px solid var(--line); border-radius: 16px; background: linear-gradient(145deg, #14253a, #0b1725); }
.insurance-company-logo { width: 160px; aspect-ratio: 1; display: grid; place-items: center; overflow: hidden; border: 1px solid #7dc9f055; border-radius: 18px; background: radial-gradient(circle at 50% 35%, #255479, #081522 72%); }
.insurance-company-logo img { width: 100%; height: 100%; object-fit: contain; }
.insurance-company-copy { min-width: 0; }
.insurance-company-copy h2 { margin: 9px 0 6px; overflow-wrap: anywhere; font-size: 1.25rem; }
.insurance-company-copy p { margin: 0 0 14px; color: #aabed0; font-size: .82rem; line-height: 1.55; }
.insurance-company-meta { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.insurance-company-meta span { min-width: 0; padding: 9px 11px; border: 1px solid #ffffff0d; border-radius: 10px; color: var(--muted); background: #07131f; font-size: .68rem; }
.insurance-company-meta strong { display: block; margin-top: 4px; overflow-wrap: anywhere; color: #edf7ff; font-size: .82rem; }
.office-document-reference { color: #ffd17a; display: block; margin-top: 4px; font-size: .78rem; }
.dgt-document-dialog { width: min(920px,calc(100% - 24px)); max-width: none; max-height: calc(100dvh - 24px); overflow-x: hidden; overflow-y: auto; }
.dgt-ticket-card { width: 100%; max-width: none; padding: clamp(12px,2.5vw,28px); }
.dgt-ticket { color: #152033; background: #f6f1e4; border: 2px solid #23354a; padding: 28px; font-family: Georgia,"Times New Roman",serif; box-shadow: inset 0 0 0 6px #ebe1ca; }
.dgt-ticket-header { display: grid; grid-template-columns: 140px 1fr auto; gap: 18px; align-items: center; border-bottom: 3px double #23354a; padding-bottom: 16px; }
.dgt-ticket-header img { width: 136px; height: auto; filter: grayscale(1) contrast(1.2); }
.dgt-ticket-header h2,.dgt-ticket h3 { color: #172437; margin: 0; }
.dgt-ticket-reference { font: 800 .95rem ui-monospace,Consolas,monospace; border: 1px dashed #23354a; padding: 9px; }
.dgt-ticket-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 24px; margin: 22px 0; }
.dgt-ticket-grid div { border-bottom: 1px solid #908b7f; padding: 7px 0; }
.dgt-ticket-grid span { display: block; color: #566173; font: 700 .72rem system-ui,sans-serif; text-transform: uppercase; }
.dgt-ticket-amount { display: flex; justify-content: space-between; align-items: center; gap: 15px; border: 2px solid #b12d33; padding: 14px 18px; margin-top: 18px; }
.dgt-ticket-amount strong { color: #b12d33; font-size: 1.5rem; }
.dgt-ticket-payment-action { display: flex; align-items: center; justify-content: flex-end; gap: 14px; margin-top: 16px; padding-top: 14px; border-top: 1px dashed #908b7f; font-family: "Segoe UI Variable","Segoe UI",system-ui,sans-serif; }
.dgt-ticket-payment-action small { max-width: 310px; color: #566173; line-height: 1.4; }
.inbox-panel { min-height: 320px; }
.inbox-message-list { display: grid; gap: 11px; }
.inbox-message { overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: #091625; }
.inbox-message.unread { border-color: #f0a41788; background: linear-gradient(135deg,#f0a4170d,#091625 58%); }
.inbox-message summary { display: grid; grid-template-columns: 18px minmax(0,1fr) auto 22px; gap: 10px; align-items: center; padding: 15px 17px; list-style: none; cursor: pointer; user-select: none; }
.inbox-message summary::-webkit-details-marker { display: none; }
.inbox-message-state { color: #6e8194; font-size: .8rem; }
.inbox-message.unread .inbox-message-state { color: var(--accent); text-shadow: 0 0 10px #f0a417aa; }
.inbox-message-title { min-width: 0; }
.inbox-message-title strong, .inbox-message-title small { display: block; overflow-wrap: anywhere; }
.inbox-message-title small { margin-top: 4px; color: var(--muted); font-size: .75rem; }
.inbox-new-badge { padding: 4px 8px; border: 1px solid #f0a41788; border-radius: 999px; color: #ffd47e; background: #f0a4171c; font-size: .64rem; font-weight: 900; letter-spacing: .08em; box-shadow: 0 0 12px #f0a41722; }
.inbox-message-arrow { color: var(--muted); transition: transform .18s ease; }
.inbox-message[open] .inbox-message-arrow { transform: rotate(180deg); }
.inbox-message-body { padding: 0 17px 17px 45px; border-top: 1px solid #ffffff0c; }
.inbox-message-body p { margin: 15px 0; color: #c9d6e2; overflow-wrap: anywhere; }
.inbox-reference { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; padding: 10px 12px; border: 1px solid #f0a41755; border-radius: 10px; background: #f0a4170d; }
.inbox-reference span { color: var(--muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }
.inbox-reference strong { margin-right: auto; color: #ffd17a; overflow-wrap: anywhere; }
#inboxUnreadSummary.has-unread { color: #ffd17a; border-color: #f0a41777; background: #f0a41718; }
.dgt-setting.compliant { border-color: #35c58a55; }
.dgt-setting.compliant strong { color: #68e1aa; }
.dgt-setting.pending { border-color: #f0a41755; }
.dgt-setting.pending strong { color: #ffd17a; }
.dgt-setting.noncompliant { border-color: #ef626277; background: linear-gradient(145deg,#381b26,#132238); }
.dgt-setting.noncompliant strong { color: #ff9191; }
.badge.dgt-compliant { color: #92e4c0; border-color: #35c58a55; background: #35c58a17; }
.badge.dgt-pending { color: #ffd47e; border-color: #f0a41755; background: #f0a41718; }
.badge.dgt-noncompliant { color: #ffaaaa; border-color: #ef626255; background: #ef626218; }
.dgt-reference-code { color: #ffd17a; overflow-wrap: anywhere; }
.dgt-table-pay { display: block; margin-top: 7px !important; }
.dgt-sanction-detail { display: block; margin-top: 5px; color: var(--muted); }
.dgt-manual-sanction { margin: 18px 0; border-color: #ef626255; background: linear-gradient(145deg,#231a27,#102036); }
.dgt-manual-sanction .section-head p { max-width: 760px; margin: 5px 0 0; }
.dgt-manual-sanction-form { display: grid; grid-template-columns: minmax(210px,1fr) minmax(260px,1.2fr) minmax(260px,1.35fr) auto; gap: 14px; align-items: end; }
.dgt-manual-sanction-form label { margin: 0; }
.dgt-manual-sanction-form .button { min-height: 44px; }
.dgt-manual-sanction-preview { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 13px; border: 1px solid var(--line); border-radius: 10px; background: #081421; color: var(--muted); }
.dgt-manual-sanction-preview span,.dgt-manual-sanction-preview small { display: block; min-width: 0; }
.dgt-manual-sanction-preview span>strong { color: #f4f7fa; white-space: normal; }
.dgt-manual-sanction-preview small { margin-top: 3px; overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; }
.dgt-manual-sanction-preview strong { color: #ffb36a; white-space: nowrap; }
@media(max-width:1180px){.dgt-manual-sanction-form{grid-template-columns:repeat(2,minmax(0,1fr))}.dgt-manual-sanction-form .button{justify-self:end}}
@media(max-width:620px){.dgt-manual-sanction-form{grid-template-columns:1fr}.dgt-manual-sanction-form .button{width:100%}.dgt-manual-sanction-preview{align-items:flex-start;flex-direction:column}.dgt-manual-sanction-preview small{white-space:normal}}
.dgt-articles-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(260px,1fr)); gap: 14px; }
.dgt-article-card { display: grid; align-content: start; gap: 10px; padding: 18px; border: 1px solid var(--line); border-left: 4px solid #f0a417; border-radius: 14px; background: #091625; }
.dgt-article-card.severity-grave { border-left-color: #ff8d46; }
.dgt-article-card.severity-muy-grave { border-left-color: #ef6262; }
.dgt-article-card header,.dgt-article-card footer { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.dgt-article-card header>span:first-child { color: #ffd17a; font-weight: 800; }
.dgt-article-card h2,.dgt-article-card p { margin: 0; }
.dgt-article-card p { color: #b8c7d5; line-height: 1.55; }
.dgt-article-card footer { margin-top: auto; padding-top: 12px; border-top: 1px solid var(--line); }
.dgt-article-card footer strong { color: #f4f7fa; font-size: 1.2rem; }
.dgt-article-card footer small { color: var(--muted); text-align: right; }
.article-editor-panel { margin: 18px 0; border-color: #f0a41755; background: linear-gradient(145deg,#171d2a,#0b1b2c); }
.article-editor-form { display: grid; grid-template-columns: repeat(5,minmax(150px,1fr)); gap: 14px; align-items: end; }
.article-editor-form label { margin: 0; }
.article-description-field { grid-column: 1 / -1; }
.article-description-field textarea { min-height: 116px; resize: vertical; }
.article-editor-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 10px; }
.dgt-article-card .article-edit-button { margin-left: auto; }
@media(max-width:1200px){.article-editor-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.article-editor-form{grid-template-columns:1fr}.article-description-field,.article-editor-actions{grid-column:1}.article-editor-actions{flex-direction:column}.article-editor-actions .button{width:100%}}
.mail-thread-body { display: grid; gap: 14px; }
.mail-conversation { display: grid; gap: 10px; margin-top: 14px; }
.mail-message { padding: 13px; border: 1px solid #ffffff12; border-radius: 12px; background: #07121f; }
.mail-message header { display: flex; align-items: center; gap: 10px; }
.mail-message header>span:last-child { min-width: 0; }
.mail-message header strong,.mail-message header small { display: block; }
.mail-message header small { color: var(--muted); margin-top: 2px; }
.mail-message header .mail-read-receipt { margin-top: 4px; font-size: .69rem; font-weight: 800; }
.mail-read-receipt.sent { color: #8799ab; }
.mail-read-receipt.read { color: #55d9a0; }
.mail-message p { margin: 10px 0 0; }
.mail-sender-avatar { width: 38px; height: 38px; display: grid; place-items: center; overflow: hidden; flex: 0 0 auto; border: 1px solid var(--line); border-radius: 10px; color: #fff; background: #17304a; font-weight: 800; }
.mail-sender-avatar img { width: 100%; height: 100%; object-fit: cover; }
.mail-sender-avatar.office { border-color: #ffffff18; background: #06111d; box-shadow: inset 0 1px #ffffff0a,0 6px 14px #0005; }
.mail-sender-avatar.office img { object-fit: contain; padding: 4px; background: #06111d; }
.mail-attachment { display: grid; grid-template-columns: 112px minmax(0,1fr) auto; gap: 12px; align-items: center; margin-top: 12px; padding: 10px; border: 1px solid #3984b64a; border-radius: 12px; background: #0c1b2a; }
.mail-attachment-preview { width: 112px; height: 72px; display: grid; place-items: center; overflow: hidden; border: 1px solid #ffffff18; border-radius: 9px; color: #83bde3; background: #040d16; font-size: .72rem; font-weight: 900; letter-spacing: .08em; }
.mail-attachment-preview img,.mail-attachment-preview video { width: 100%; height: 100%; object-fit: contain; background: #02070c; }
.mail-attachment-copy { min-width: 0; }
.mail-attachment-copy strong,.mail-attachment-copy small { display: block; overflow-wrap: anywhere; }
.mail-attachment-copy small { margin-top: 4px; color: var(--muted); font-size: .72rem; }
.mail-reply-form { display: grid; grid-template-columns: minmax(0,1fr) minmax(190px,.38fr) auto; gap: 10px; align-items: end; }
.mail-reply-form label { margin: 0; }
.mail-reply-attachment { align-self: stretch; padding: 9px; border: 1px dashed #ffffff24; border-radius: 10px; color: var(--muted); font-size: .72rem; }
.mail-reply-attachment input { min-width: 0; padding: 6px 0 0; border: 0; background: transparent; font-size: .7rem; }
.mail-thread-actions { display: flex; justify-content: flex-end; padding-top: 2px; border-top: 1px solid #ffffff0d; }
.mail-compose-dialog { width: min(860px, calc(100% - 32px)); max-width: none; max-height: min(90dvh, 820px); overflow: hidden; }
.mail-compose-card { width: 100%; max-width: none; max-height: min(90dvh, 820px); overflow-x: hidden; overflow-y: auto; scrollbar-gutter: stable; }
.mail-compose-recipient-grid { display: grid; grid-template-columns: minmax(220px, .72fr) minmax(280px, 1.28fr); gap: 16px; }
.mail-compose-recipient-grid label { min-width: 0; }
.mail-compose-card textarea { min-height: 180px; resize: vertical; }
.mail-attachment-input small { display: block; margin-top: 5px; color: var(--muted); font-weight: 400; }
.dgt-bank-payment { margin-top: 18px; }
.dgt-payment-form { display: grid; grid-template-columns: minmax(240px,1fr) auto; gap: 12px; align-items: end; }
.dgt-payment-form label { margin: 0; }
.dgt-payment-form .button { min-height: 44px; }
.two-columns { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 18px; }
.request-layout { grid-template-columns: minmax(280px, .7fr) minmax(0, 1.3fr); }

.filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; }
.filters input { min-width: 240px; flex: 1; }
.filters select { width: auto; min-width: 180px; }
.table-wrap { width: 100%; overflow: auto; }
table { width: 100%; border-collapse: collapse; white-space: nowrap; }
th, td { padding: 13px 12px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
th { color: #7f95aa; font-size: .7rem; letter-spacing: .07em; text-transform: uppercase; }
td { color: #d8e2ec; font-size: .88rem; }
tbody tr:hover { background: #ffffff05; }
.amount-positive { color: #65d8a8; font-weight: 800; }
.amount-negative { color: #ff8585; font-weight: 800; }
.hash { display: inline-block; max-width: 180px; overflow: hidden; text-overflow: ellipsis; font-family: ui-monospace, Consolas, monospace; color: #8fa5ba; }
.empty { padding: 30px 12px; text-align: center; color: var(--muted); }
.request-list { display: grid; gap: 10px; }
.request-item { display: grid; grid-template-columns: 1fr auto; gap: 10px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #0a1725; }
.request-item strong, .request-item small { display: block; }
.request-item small { margin-top: 4px; color: var(--muted); }

.public-user-search { max-width: 680px; }
.public-users-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 14px; }
.public-user-card { display: grid; justify-items: center; gap: 7px; padding: 16px; border: 1px solid var(--line); border-radius: 16px; color: inherit; text-align: center; background: linear-gradient(145deg, #14253a, #0b1725); transition: transform .15s ease, border-color .15s ease; }
.public-user-card:hover { transform: translateY(-2px); border-color: #168ee388; }
.public-user-card svg, .public-user-card .generated-avatar { width: 128px; height: 128px; border-radius: 22px; }
.public-user-card strong { font-size: 1rem; }
.public-user-card small { color: var(--muted); }
.role-pill { display: inline-flex; align-items: center; min-height: 25px; padding: 4px 9px; border: 1px solid #168ee366; border-radius: 99px; color: #a9dcff; background: #168ee318; font-size: .72rem; font-weight: 800; }
.profile-badges, .presence-name-line, .map-detail-name-line { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.ets2-level-badge { display: inline-flex; min-height: 25px; align-items: center; justify-content: center; padding: 4px 9px; border: 1px solid #f1a91977; border-radius: 8px; color: #ffd36f; background: linear-gradient(145deg, #583a0b66, #23170499); box-shadow: inset 0 0 12px #ffb51a12; font-size: .7rem; font-weight: 900; line-height: 1; letter-spacing: .04em; white-space: nowrap; }
.presence-name-line { min-width: 0; flex-wrap: nowrap; }
.presence-name-line > strong { min-width: 0; }
.presence-name-line .ets2-level-badge { min-height: 20px; padding: 3px 6px; font-size: .61rem; }
.map-detail-name-line { margin-bottom: 4px; }
.map-detail-name-line h2 { margin: 0; }
.public-profile { margin-top: 18px; }
.public-profile-layout { display: grid; grid-template-columns: minmax(220px, 320px) minmax(0, 1fr); gap: 30px; align-items: center; }
.public-profile-avatar { display: grid; place-items: center; min-height: 320px; padding: 18px; border-radius: 18px; background: radial-gradient(circle at 50% 30%, #1b4566, #081522 72%); }
.public-profile-avatar svg, .public-profile-avatar .generated-avatar { width: min(100%, 280px); height: auto; aspect-ratio: 1; border-radius: 24px; }
.public-profile-info h2 { margin: 10px 0 18px; font-size: clamp(2rem, 5vw, 3.6rem); }
.public-profile-stats { display: grid; grid-template-columns: repeat(2, minmax(140px, 1fr)); gap: 12px; }
.public-profile-stats div { padding: 15px; border: 1px solid var(--line); border-radius: 12px; background: #0a1725; }
.public-profile-stats span, .public-profile-stats strong { display: block; }
.public-profile-stats span { color: var(--muted); font-size: .76rem; }
.public-profile-stats strong { margin-top: 6px; }
.public-statistics-heading { margin: 36px 0 16px; text-align: center; }
.public-statistics-heading h3 { margin: 0; font-size: 1.45rem; }
.public-statistics-grid { margin-bottom: 0; }
.admin-role-select { width: auto; min-width: 130px; padding: 7px 9px; }
.user-actions { display: flex; flex-wrap: wrap; gap: 4px; min-width: 280px; }
.ets2-fleet { display: grid; gap: 20px; }
.fleet-summary { display: grid; grid-template-columns: repeat(4, minmax(130px, 1fr)); gap: 12px; }
.fleet-summary > div { padding: 15px; border: 1px solid var(--line); border-radius: 12px; background: #0a1725; }
.fleet-summary span, .fleet-summary strong { display: block; }
.fleet-summary span { color: var(--muted); font-size: .76rem; }
.fleet-summary strong { margin-top: 6px; font-size: 1.08rem; }
.fleet-section h3 { margin: 0 0 12px; }
.fleet-cards { display: grid; grid-template-columns: repeat(2, minmax(250px, 1fr)); gap: 12px; }
.fleet-card { padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: #0a1725; }
.fleet-card.active { border-color: #35c97699; box-shadow: inset 0 0 0 1px #35c9762b; }
.fleet-card-head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; margin-bottom: 12px; }
.fleet-card-head strong, .fleet-card-head small { display: block; }
.fleet-card-head small { margin-top: 4px; color: var(--muted); }
.fleet-details { display: grid; grid-template-columns: repeat(2, minmax(110px, 1fr)); gap: 8px; }
.fleet-details > div { padding: 9px; border-radius: 9px; background: #ffffff08; }
.fleet-details span, .fleet-details strong { display: block; overflow-wrap: anywhere; }
.fleet-details span { color: var(--muted); font-size: .7rem; }
.fleet-details strong { margin-top: 3px; font-size: .86rem; }
.fleet-note { color: var(--muted); font-size: .82rem; }
.user-data-page { display: grid; gap: 18px; min-width: 0; }
.user-data-page > * { min-width: 0; max-width: 100%; }
.live-profit-label { color: #62f5b8; border-color: #31c98b55; background: #0f513733; }
.active-delivery-card { overflow: hidden; border-color: #2acb8f55; background: linear-gradient(145deg, #0d2130, #0a1623 62%); }
.delivery-cargo-title { display: flex; align-items: center; gap: 14px; min-width: 0; }
.delivery-cargo-title > img { width: 86px; height: 68px; flex: 0 0 auto; object-fit: contain; }
.delivery-cargo-title > div { min-width: 0; }
.delivery-weight-badge { width: fit-content; display: inline-flex !important; align-items: center; margin-top: 7px; padding: 4px 9px; border: 1px solid #f0a41788; border-radius: 999px; color: #ffd66f !important; background: #f0a41718; box-shadow: inset 0 0 12px #f0a41712; font-size: .72rem !important; font-weight: 850; letter-spacing: .03em; }
.delivery-route-companies { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: 14px; align-items: center; margin: 4px 0 18px; padding: 12px 14px; border: 1px solid #ffffff12; border-radius: 12px; color: #bed4e6; background: #030a12aa; }
.delivery-route-companies span:last-child { text-align: right; }
.delivery-route-companies b { color: var(--accent); }
.delivery-route-company { min-width: 0; display: flex; align-items: center; gap: 9px; }
.delivery-route-company:last-child { justify-content: flex-end; }
.delivery-route-company img { width: 63px; height: 63px; flex: 0 0 auto; object-fit: contain; }
.delivery-route-company em { min-width: 0; overflow-wrap: anywhere; font-style: normal; }
.quick-job-live-summary { display: grid; grid-template-columns: minmax(0,1.35fr) repeat(2,minmax(0,1fr)); gap: 10px; margin: -4px 0 18px; padding: 11px; border: 1px solid #f0a41755; border-radius: 14px; background: linear-gradient(120deg,#201707dd,#0c1724 68%); box-shadow: inset 0 0 30px #f0a4170b; }
.quick-job-live-summary > div { min-width: 0; display: grid; align-content: center; gap: 4px; padding: 10px 12px; border-radius: 10px; background: #02091280; }
.quick-job-live-summary span { color: #f0a417; font-size: .65rem; font-weight: 900; letter-spacing: .08em; }
.quick-job-live-summary strong { overflow-wrap: anywhere; font-size: 1.08rem; }
.quick-job-live-summary small { color: #94aabd; line-height: 1.35; }
@media (max-width: 900px) { .quick-job-live-summary { grid-template-columns: 1fr; } }
.delivery-profit-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.delivery-profit-grid > div { min-width: 0; display: grid; align-content: start; gap: 6px; padding: 14px; border: 1px solid #ffffff12; border-radius: 13px; background: #06111dcc; }
.delivery-profit-grid span { color: var(--muted); font-size: .79rem; }
.delivery-profit-grid strong { overflow-wrap: anywhere; font-size: 1.25rem; }
.delivery-profit-grid small { color: #829aaf; line-height: 1.35; }
.delivery-profit-grid .delivery-live-max-speed { border-color: #ffffff24; background: linear-gradient(145deg,#0a1724,#06111d); }
.delivery-profit-grid .delivery-live-max-speed strong { color: #f4f8fb; }
.delivery-profit-grid .delivery-live-max-speed.race { border-color: #ff596488; background: linear-gradient(145deg,#2a0c13,#100911); box-shadow: inset 0 0 22px #ff303816; }
.delivery-profit-grid .delivery-live-max-speed.race strong,.delivery-profit-grid .delivery-live-max-speed.race small { color: #ff737b; }
.delivery-net-result { border-color: #2acb8f44 !important; box-shadow: inset 0 0 24px #1caa7410; }
.delivery-progress { display: grid; gap: 8px; margin-top: 18px; }
.delivery-progress > div:first-child { display: flex; justify-content: space-between; gap: 12px; color: #bed4e6; }
.delivery-progress > small { color: var(--muted); }
.delivery-empty-active { display: grid; gap: 8px; justify-items: center; padding: 30px; text-align: center; }
.delivery-empty-active span { max-width: 720px; color: var(--muted); }
.deliveries-history { overflow: hidden; }
.delivery-history-list { display: grid; grid-template-columns: minmax(0,1fr); gap: 16px; }
.delivery-history-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 17px; background: linear-gradient(145deg, #14253a, #0c1827); box-shadow: 0 16px 36px #0003; }
.delivery-history-card.race { border-color: #f0a41755; }
.delivery-history-card.annulled { border-color: #ef626266; background: linear-gradient(145deg, #241820, #10121a); }
.delivery-history-card.annulled > :not(.delivery-admin-controls) { opacity: .68; }
.delivery-history-card.bank-linked-delivery { scroll-margin-top: 110px; border: 2px solid var(--accent); box-shadow: 0 0 0 4px #f0a4171f,0 18px 42px #0007; animation: bank-linked-delivery-highlight 1.1s ease-in-out 2; }
@keyframes bank-linked-delivery-highlight { 0%,100% { box-shadow: 0 0 0 4px #f0a4171f,0 18px 42px #0007; } 50% { box-shadow: 0 0 0 8px #f0a4173b,0 18px 42px #0008; } }
.active-delivery-card.map-linked-delivery { scroll-margin-top: 110px; border: 2px solid var(--accent); animation: map-linked-delivery-highlight .9s ease-in-out 6; }
@keyframes map-linked-delivery-highlight { 0%,100% { border-color: #f0a417; box-shadow: 0 0 0 3px #f0a41720,0 18px 42px #0007; } 50% { border-color: #ffd36f; box-shadow: 0 0 0 9px #f0a41755,0 18px 42px #0008; } }
.delivery-history-card-head { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 18px; border-bottom: 1px solid #ffffff12; background: linear-gradient(90deg, #10243a, #0a1725); }
.delivery-history-cargo { min-width: 0; display: grid; grid-template-columns: 82px minmax(0,1fr); gap: 13px; align-items: center; }
.delivery-history-cargo-image { width: 82px; height: 64px; display: grid; place-items: center; overflow: hidden; border: 1px solid #ffffff14; border-radius: 12px; background: radial-gradient(circle at 50% 42%, #21334a, #07111e 72%); }
.delivery-admin-controls { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 18px; border-top: 1px solid #f0a4172e; background: linear-gradient(90deg,#1c170d,#0b1520); }
.delivery-admin-controls span,.delivery-admin-controls small { display: block; }
.delivery-admin-controls span { color: #f7c45f; font-size: .72rem; font-weight: 900; letter-spacing: .08em; }
.delivery-admin-controls small { margin-top: 3px; color: #8fa6b8; }
.delivery-admin-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.delivery-admin-actions .button[disabled] { cursor: default; filter: grayscale(.5); opacity: .46; }
.delivery-history-cargo img { width: 72px; height: 54px; object-fit: contain; }
.delivery-history-cargo > span:last-child { min-width: 0; }
.delivery-history-cargo small, .delivery-history-cargo strong { display: block; }
.delivery-history-cargo small { margin-bottom: 5px; color: var(--accent); font-size: .67rem; font-weight: 800; letter-spacing: .09em; }
.delivery-history-cargo strong { min-width: 0; overflow-wrap: anywhere; font-size: 1.08rem; line-height: 1.3; }
.delivery-history-completed { flex: 0 0 auto; display: grid; justify-items: end; gap: 7px; text-align: right; }
.delivery-history-completed strong { color: #bcd0e2; font-size: .82rem; white-space: nowrap; }
.delivery-history-route { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: 11px; align-items: stretch; padding: 16px 18px 0; }
.delivery-history-stop { min-width: 0; padding: 12px; border: 1px solid #ffffff12; border-radius: 12px; background: #071421aa; }
.delivery-history-stop-label { display: block; margin-bottom: 9px; color: var(--accent); font-size: .65rem; font-weight: 800; letter-spacing: .1em; }
.delivery-history-route-arrow { align-self: center; color: var(--accent); font-size: 1.35rem; font-weight: 900; }
.delivery-history-location { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 9px; align-items: start; min-width: 0; }
.delivery-history-flag { font-size: 1.25rem; line-height: 1; }
.delivery-history-flag-image { width: 26px; height: 18px; object-fit: contain; }
.delivery-history-location > span:last-child, .delivery-history-location strong, .delivery-history-location small, .delivery-history-location em { display: block; min-width: 0; }
.delivery-history-location strong, .delivery-history-location em { overflow-wrap: anywhere; }
.delivery-history-location small { margin-top: 3px; }
.delivery-history-location em { margin-top: 5px; color: #9eb4c7; font-size: .72rem; font-style: normal; }
.delivery-company-line { min-width: 0; display: flex !important; align-items: center; gap: 7px; margin-top: 7px; }
.delivery-company-line img { width: 51px; height: 51px; flex: 0 0 auto; object-fit: contain; }
.delivery-company-line em { margin-top: 0; }
.delivery-history-trip { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; padding: 14px 18px; }
.delivery-history-trip > div { min-width: 0; padding: 10px 12px; border: 1px solid #ffffff0e; border-radius: 10px; background: #ffffff06; }
.delivery-history-trip span, .delivery-history-trip strong { display: block; }
.delivery-history-trip span { color: var(--muted); font-size: .7rem; }
.delivery-history-trip strong { margin-top: 4px; overflow-wrap: anywhere; font-size: .91rem; }
.delivery-history-trip .delivery-max-speed strong { color: #f4f8fb; }.delivery-history-trip .delivery-max-speed.race { border-color: #ff596466; background: #ff30380b; }.delivery-history-trip .delivery-max-speed.race strong { color: #ff6972; }
.delivery-history-finance { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; padding: 0 18px 18px; }
.delivery-history-finance > div { min-width: 0; display: grid; align-content: start; gap: 5px; padding: 13px; border: 1px solid #ffffff12; border-radius: 12px; background: #06111dcc; }
.delivery-history-finance span, .delivery-history-finance strong, .delivery-history-finance small { display: block; min-width: 0; }
.delivery-history-finance span { color: var(--muted); font-size: .73rem; }
.delivery-history-finance strong { overflow-wrap: anywhere; font-size: 1.08rem; }
.delivery-history-finance small { color: #829aaf; font-size: .69rem; line-height: 1.4; }
.delivery-history-finance .delivery-history-net { border-color: #2acb8f44; background: linear-gradient(145deg, #092119, #06111d); box-shadow: inset 0 0 24px #1caa7410; }
.delivery-history-finance .quick-job-driver-pay { border-color: #2acb8f55; background: linear-gradient(145deg,#09251b,#06111d); }
.delivery-history-finance .quick-job-company-settlement { border-color: #f0a4174a; background: linear-gradient(145deg,#221708,#06111d); }
.bank-movement-description { min-width: 0; display: flex; align-items: center; gap: 9px; }
.bank-movement-description > img { width: 63px; height: 63px; flex: 0 0 auto; object-fit: contain; }
.bank-movement-transfer-icon { width: 54px; height: 54px; flex: 0 0 54px; display: grid; place-items: center; border: 1px solid #2d91c877; border-radius: 14px; color: #84dcff; background: radial-gradient(circle at 50% 42%,#174767,#071522 72%); box-shadow: inset 0 0 18px #168ee31c,0 7px 18px #0005; }
.bank-movement-transfer-icon img { width: 48px; height: 48px; object-fit: contain; }
.bank-movement-transfer-icon svg { width: 34px; height: 34px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.bank-loan-name { display: inline-flex; align-items: center; gap: 9px; min-width: 0; }
.bank-loan-name img { width: 44px; height: 44px; flex: 0 0 44px; object-fit: contain; }
.bank-loan-name strong { min-width: 0; overflow-wrap: anywhere; }
.pagination-hidden { display: none !important; }
.list-pagination { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px; margin: 16px 18px 18px; padding-top: 14px; border-top: 1px solid #ffffff12; }
.list-pagination-pages { display: inline-flex; align-items: center; gap: 5px; }
.list-pagination button { min-width: 38px; min-height: 36px; padding: 7px 11px; border: 1px solid #29445b; border-radius: 9px; color: #cce0ef; background: #081725; box-shadow: none; font: inherit; font-size: .78rem; font-weight: 750; cursor: pointer; }
.list-pagination button:hover:not(:disabled),.list-pagination button:focus-visible { border-color: #f0a417aa; outline: none; color: #fff; background: #132537; }
.list-pagination button.active { border-color: #f0a417; color: #07111d; background: #f0a417; }
.list-pagination button:disabled { opacity: .38; cursor: default; }
.list-pagination-summary { color: #8fa9bd; font-size: .73rem; white-space: nowrap; }
.list-pagination-gap { padding: 0 2px; color: #6f879a; }
.bank-movement-description > span { min-width: 0; overflow-wrap: anywhere; }
.bank-movement-description strong { display: block; color: #edf7ff; }
.bank-movement-description small { display: block; margin-top: 3px; }
.bank-delivery-movement-link { position: relative; width: 100%; margin: -7px; padding: 7px; border: 1px solid transparent; border-radius: 10px; color: inherit; text-align: left; background: transparent; box-shadow: none; font: inherit; cursor: pointer; transition: border-color .16s ease,background .16s ease,box-shadow .16s ease; }
.bank-delivery-movement-link:hover,.bank-delivery-movement-link:focus-visible { border-color: #f0a41788; outline: none; background: #06111d; box-shadow: 0 7px 20px #0007,0 0 0 3px #f0a41714; }
.bank-delivery-link-hint { flex: 0 0 auto; margin-left: auto; padding: 4px 7px; border: 1px solid #f0a41755; border-radius: 999px; color: #f7c45f; background: #201706; font-size: .61rem; font-weight: 850; white-space: nowrap; opacity: 0; transform: translateX(5px); transition: opacity .16s ease,transform .16s ease; }
.bank-delivery-movement-link:hover .bank-delivery-link-hint,.bank-delivery-movement-link:focus-visible .bank-delivery-link-hint { opacity: 1; transform: translateX(0); }
.bank-movements-table { table-layout: fixed; }
.bank-movements-table th:nth-child(1) { width: 40%; }
.bank-movements-table th:nth-child(2) { width: 13%; }
.bank-movements-table th:nth-child(3), .bank-movements-table th:nth-child(4) { width: 14%; }
.bank-movements-table th:nth-child(5) { width: 19%; }
.bank-movements-table time { cursor: help; text-decoration: underline dotted #7fa0b8; text-underline-offset: 3px; }
.admin-ets2-identity { min-width: 190px; }
.admin-ets2-identity > span { display: block; margin-bottom: 4px; color: var(--accent); font-size: .62rem; font-weight: 800; letter-spacing: .12em; }
.admin-ets2-identity strong, .admin-ets2-identity small { display: block; }
.admin-ets2-identity small { margin-top: 4px; max-width: 260px; overflow-wrap: anywhere; white-space: normal; color: var(--muted); }
.garage-summary, .economy-summary { margin-bottom: 0; }
.active-fleet, .garage-location, .economy-table { margin: 0; }
.garage-location > h3 { margin: 24px 0 11px; }
.garage-location-summary { display: grid; grid-template-columns: repeat(4, minmax(110px, 1fr)); gap: 9px; }
.economy-expense-grid { min-width: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.garage-location-summary > div, .economy-expense-grid > div { padding: 11px; border: 1px solid var(--line); border-radius: 10px; background: #091522; }
.economy-expense-grid > div { min-width: 0; overflow: hidden; }
.garage-location-summary span, .garage-location-summary strong, .economy-expense-grid span, .economy-expense-grid strong { display: block; }
.garage-location-summary span, .economy-expense-grid span { color: var(--muted); font-size: .7rem; }
.garage-location-summary strong, .economy-expense-grid strong { margin-top: 4px; overflow-wrap: anywhere; font-size: .88rem; }
.garage-vehicle-grid { display: grid; grid-template-columns: repeat(2, minmax(260px, 1fr)); gap: 12px; }
.garage-vehicle-carousel { position: relative; width: 100%; min-width: 0; padding: 0 50px 30px; }
.garage-carousel-viewport { min-width: 0; }
.garage-carousel-arrow { position: absolute; z-index: 3; top: 50%; width: 39px; height: 64px; display: grid; place-items: center; padding: 0 0 5px; border: 1px solid #56bdf377; border-radius: 12px; color: #ebf8ff; background: linear-gradient(180deg, #173653ee, #0a1928f2); box-shadow: 0 8px 24px #0008; font-size: 2.35rem; line-height: 1; transform: translateY(-60%); }
.garage-carousel-arrow:hover { border-color: #79d2ff; background: linear-gradient(180deg, #23547c, #102b43); transform: translateY(-60%) scale(1.04); }
.garage-carousel-arrow.previous { left: 0; }
.garage-carousel-arrow.next { right: 0; }
.garage-carousel-counter { position: absolute; right: 50px; bottom: 0; display: inline-flex; align-items: baseline; gap: 5px; color: #7890a6; font-size: .72rem; }
.garage-carousel-counter strong { color: #d8f2ff; font-size: .9rem; }
.garage-vehicle-dossier { width: 100%; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 17px; background: linear-gradient(145deg, #0c1c2c, #07121e 72%); box-shadow: 0 14px 34px #0005; }
.garage-vehicle-dossier.active { border-color: #35c97688; box-shadow: inset 0 0 0 1px #35c97622, 0 14px 34px #0005; }
.garage-vehicle-dossier.bank-linked-vehicle { scroll-margin-top: 110px; border: 2px solid var(--accent); animation: bank-linked-vehicle-highlight .9s ease-in-out 6; }
@keyframes bank-linked-vehicle-highlight { 0%,100% { border-color: #f0a417; box-shadow: 0 0 0 3px #f0a41720,0 18px 42px #0007; } 50% { border-color: #ffd36f; box-shadow: 0 0 0 9px #f0a41755,0 18px 42px #0008; } }
.garage-vehicle-head { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 20px; border-bottom: 1px solid #ffffff13; background: linear-gradient(90deg, #132941, #0b1929); }
.garage-vehicle-title { min-width: 0; display: flex; align-items: center; gap: 13px; }
.garage-vehicle-title > span, .garage-diagnostics-vehicle { flex: 0 0 auto; display: grid; place-items: center; border: 1px solid #5bbff15c; border-radius: 11px; background: radial-gradient(circle, #28536d, #091724 74%); }
.garage-vehicle-title > span { width: 54px; height: 54px; }
.garage-vehicle-title img { width: 43px; height: 43px; object-fit: contain; }
.garage-vehicle-title > span.vehicle-brand-logo { background: #06111d; border-color: #ffffff24; box-shadow: inset 0 1px #ffffff0a, 0 7px 18px #0005; }
.garage-vehicle-title > span.vehicle-brand-logo img { width: 46px; height: 40px; }
.garage-vehicle-title > div { min-width: 0; }
.garage-vehicle-title small { display: block; color: var(--accent); font-size: .64rem; font-weight: 900; letter-spacing: .12em; }
.garage-vehicle-title h3 { margin: 3px 0 2px; overflow-wrap: anywhere; font-size: 1.2rem; }
.garage-vehicle-title p { margin: 0; color: var(--muted); font-size: .75rem; }
.garage-vehicle-layout { min-width: 0; display: grid; grid-template-columns: minmax(320px, .9fr) minmax(450px, 1.1fr); }
.garage-vehicle-information { min-width: 0; padding: 20px; border-right: 1px solid #ffffff12; }
.garage-vehicle-information > h4 { margin: 0 0 14px; color: #a8c6da; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.garage-diagnostics { min-width: 0; padding: 18px 20px 20px; background: linear-gradient(145deg, #08131f, #06101a); }
.garage-diagnostics-head { min-width: 0; display: grid; grid-template-columns: 48px minmax(120px, 1fr) auto; gap: 12px; align-items: center; margin-bottom: 15px; }
.garage-diagnostics-vehicle { width: 48px; height: 48px; }
.garage-diagnostics-vehicle img { width: 39px; height: 39px; object-fit: contain; }
.garage-diagnostics-head > div { min-width: 0; }
.garage-diagnostics-head > div > small { display: block; color: var(--accent); font-size: .61rem; font-weight: 900; letter-spacing: .12em; }
.garage-diagnostics-head h3 { margin: 3px 0 0; font-size: 1.04rem; }
.garage-diagnostics-totals { display: flex; justify-content: flex-end; gap: 18px; text-align: right; }
.garage-diagnostics-totals span { display: block; }
.garage-diagnostics-totals small, .garage-diagnostics-totals strong { display: block; }
.garage-diagnostics-totals small { color: #7e96aa; font-size: .59rem; }
.garage-diagnostics-totals strong { margin-top: 3px; color: #edf7ff; font-size: .82rem; }
.garage-diagnostic-table { overflow: hidden; border: 1px solid #ffffff13; border-radius: 12px; background: #07121d; }
.garage-diagnostic-columns, .garage-diagnostic-row { display: grid; grid-template-columns: minmax(112px, 1.05fr) minmax(98px, 1fr) minmax(115px, 1fr); gap: 13px; align-items: center; }
.garage-diagnostic-columns { padding: 8px 11px; border-bottom: 1px solid #ffffff11; color: #718a9e; background: #0b1926; font-size: .6rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.garage-diagnostic-row { min-height: 53px; padding: 8px 11px; border-bottom: 1px solid #ffffff0d; }
.garage-diagnostic-row:last-child { border-bottom: 0; }
.garage-diagnostic-component { min-width: 0; display: flex; align-items: center; gap: 9px; }
.garage-diagnostic-component > span { width: 34px; height: 34px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 8px; background: #10263a; }
.garage-diagnostic-component img { width: 30px; height: 30px; object-fit: contain; }
.garage-diagnostic-component strong { min-width: 0; overflow-wrap: anywhere; font-size: .73rem; }
.garage-diagnostic-value { min-width: 0; }
.garage-diagnostic-value > span { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 5px; }
.garage-diagnostic-value small { color: #718a9e; font-size: .57rem; }
.garage-diagnostic-value strong { color: #dbe9f5; font-size: .65rem; }
.garage-diagnostic-track { height: 6px; overflow: hidden; border-radius: 99px; background: #ffffff0b; }
.garage-diagnostic-track i { display: block; min-width: 0; height: 100%; border-radius: inherit; background: #35c58a; }
.garage-diagnostic-track i.notice { background: #e7c44e; }
.garage-diagnostic-track i.warning { background: #f0a417; }
.garage-diagnostic-track i.danger { background: #ef6262; }
.garage-diagnostic-value.permanent .garage-diagnostic-track i.good { background: #477086; }
.fleet-details.compact { grid-template-columns: repeat(2, minmax(100px, 1fr)); }
.vehicle-condition { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); }
.vehicle-condition > div:first-child { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 7px; color: var(--muted); font-size: .76rem; }
.vehicle-condition > div:first-child strong { color: #dbe9f5; }
.vehicle-condition > small { display: block; margin-top: 7px; color: #7890a6; font-size: .68rem; }
.condition-track { height: 8px; overflow: hidden; border-radius: 99px; background: #ffffff0c; }
.condition-track i { display: block; height: 100%; border-radius: inherit; background: #35c58a; }
.condition-track i.warning { background: #f0a417; }
.condition-track i.danger { background: #ef6262; }
.economy-chart-grid { display: grid; grid-template-columns: repeat(2, minmax(280px, 1fr)); gap: 18px; }
.economy-chart-card { min-width: 0; overflow: hidden; }
.economy-chart { display: grid; gap: 16px; margin: 18px 0 22px; }
.economy-chart-row { display: grid; grid-template-columns: 110px minmax(100px, 1fr) 110px; gap: 12px; align-items: center; }
.economy-chart-row > span { color: var(--muted); font-size: .8rem; }
.economy-chart-row > strong { text-align: right; font-size: .86rem; }
.economy-chart-track { height: 16px; overflow: hidden; border: 1px solid #ffffff0d; border-radius: 99px; background: #07111e; }
.economy-chart-track i { display: block; height: 100%; border-radius: inherit; }
.economy-chart-track i.income { background: linear-gradient(90deg, #168ee3, #5fc1ff); }
.economy-chart-track i.expense, .economy-chart-track i.loss { background: linear-gradient(90deg, #a43b44, #ef6262); }
.economy-chart-track i.profit { background: linear-gradient(90deg, #1a895f, #35c58a); }
.economy-inline-indicator { min-width: 110px; margin-top: 7px; }
.economy-inline-indicator .condition-track { height: 5px; }
.economy-inline-indicator.loss .condition-track i { background: #ef6262; }
.economy-inline-indicator.profit .condition-track i { background: #35c58a; }
.economy-inline-indicator small { display: block; margin-top: 4px; color: var(--muted); font-size: .65rem; }
.economy-table td small { color: var(--muted); }
.community-events-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.company-admin-layout { grid-template-columns: minmax(310px, .8fr) minmax(0, 1.2fr); align-items: start; }
.company-editor-dialog { width: min(920px, calc(100% - 28px)); max-width: none; max-height: calc(100dvh - 28px); overflow: hidden; }
.company-editor-form { max-height: calc(100dvh - 30px); overflow-y: auto; }
.company-editor-form .avatar-dialog-heading { margin-bottom: 18px; }
.company-logo-editor-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.company-logo-editor-grid > label { min-width: 0; text-align: center; }
.company-logo-editor-grid input[type=file] { width: 100%; }
.company-logo-editor-grid small { display: block; margin-top: 6px; color: var(--muted); }
.company-logo-preview.compact { width: min(100%,170px); border-radius: 18px; }
.company-location-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.company-country-control { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 10px; align-items: center; }
.company-country-control img { width: 36px; height: 25px; object-fit: contain; filter: drop-shadow(0 3px 4px #0008); }
.company-location { display: inline-flex; max-width: 100%; align-items: center; gap: 8px; color: #b9d8ee; font-size: .82rem; }
.company-location img { flex: 0 0 auto; width: 29px; height: 20px; object-fit: contain; }
.company-location span { overflow-wrap: anywhere; }
.company-logo-preview { width: min(100%, 250px); aspect-ratio: 1; display: grid; place-items: center; overflow: hidden; margin: 12px auto 18px; border: 2px dashed #2b4a65; border-radius: 24px; color: var(--muted); background: radial-gradient(circle, #18334a, #081421 72%); }
.company-logo-preview img { width: 100%; height: 100%; object-fit: contain; }
.company-grid { display: grid; grid-template-columns: repeat(2, minmax(220px, 1fr)); gap: 14px; }
.company-directory-item { min-width: 0; padding: 0 0 12px; border: 1px solid var(--line); border-radius: 15px; background: linear-gradient(145deg, #14253a, #0b1725); overflow: hidden; }
.company-card { min-width: 0; display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 18px; align-items: start; padding: 15px; border: 1px solid var(--line); border-radius: 15px; color: inherit; text-align: left; background: linear-gradient(145deg, #14253a, #0b1725); }
.company-directory-item .company-card { width:100%; border:0; border-radius:0; background:transparent; }
.company-card-actions { display:flex; justify-content:flex-end; gap:8px; padding:0 12px; }
.company-card:hover { border-color: #38a9f3; transform: translateY(-1px); }
.company-card-logo, .company-profile-logo { display: grid; place-items: center; overflow: hidden; border: 1px solid #42aef477; border-radius: 16px; background: radial-gradient(circle at 50% 35%, #1b4566, #081522 72%); }
.company-card-logo { width: 150px; aspect-ratio: 1; }
.company-card-logo img, .company-profile-logo img { width: 100%; height: 100%; object-fit: contain; }
.company-logo-fallback { color: #8fd4ff; font-size: 2rem; font-weight: 900; }
.company-card-copy { min-width: 0; }
.company-card-copy > strong, .company-card-copy > small, .company-card-copy > b { display: block; }
.company-card-copy > strong { margin: 9px 0 3px; overflow-wrap: anywhere; font-size: 1.05rem; }
.company-card-copy > small { color: var(--muted); }
.company-card-copy > .company-card-address { margin: 4px 0; color: #b9d8ee; }
.company-card-copy > p { display: -webkit-box; overflow: hidden; margin: 10px 0; font-size: .78rem; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.company-card-copy > b { color: #8ce2b8; }
.company-profile { display: grid; grid-template-columns: minmax(255px, 360px) minmax(0, 1fr); gap: clamp(24px, 4vw, 52px); align-items: center; }
.company-profile-logo { width: 100%; aspect-ratio: 1; }
.company-profile-logo .company-logo-fallback { font-size: 4.5rem; }
.company-profile h2 { margin: 12px 0 8px; font-size: clamp(2rem, 4vw, 3.5rem); overflow-wrap: anywhere; }
.company-profile-meta { display: flex; flex-wrap: wrap; gap: 10px 22px; color: var(--muted); }
.company-profile-meta strong { color: #e5f3ff; }
.company-address { margin: 10px 0; color: #b9d8ee; font-weight: 700; }
.company-map-view { margin-top: 20px; }
.company-map-location-control { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 12px; border: 1px solid #274762; border-radius: 12px; background: #081827; }
.company-map-location-control span { color: var(--muted); font-size: .82rem; }
.company-map-location-control span.selected { color: #61efb2; font-weight: 800; }
.company-game-link-preview,.company-game-identity { display:flex; align-items:center; gap:12px; min-width:0; padding:12px; border:1px solid #27618a; border-radius:14px; background:linear-gradient(135deg,#0a2032,#071522); box-shadow:inset 0 0 24px #0e79b51a; }
.company-game-link-logo,.company-game-identity-logo { display:grid; place-items:center; flex:0 0 76px; width:76px; height:58px; padding:7px; overflow:hidden; border:1px solid #294a64; border-radius:10px; background:#06121e; }
.company-game-link-logo img,.company-game-identity-logo img { width:100%; height:100%; object-fit:contain; }
.company-game-link-preview > span:last-child,.company-game-identity > span:last-child { display:flex; flex-direction:column; min-width:0; text-align:left; }
.company-game-link-preview small,.company-game-identity small { color:#59d4ff; font-size:.63rem; font-weight:900; letter-spacing:.12em; }
.company-game-link-preview strong,.company-game-identity strong { color:#f3f9ff; font-size:1rem; overflow-wrap:anywhere; }
.company-game-link-preview em,.company-game-identity em { color:#8faec5; font-size:.72rem; font-style:normal; }
.company-game-link-note { margin-top:-7px; }
.company-game-identity { width:min(540px,100%); margin:12px 0; }
.company-game-identity.compact { width:100%; margin:7px 0 2px; padding:7px; border-radius:10px; }
.company-game-identity.compact .company-game-identity-logo { flex-basis:52px; width:52px; height:42px; padding:4px; }
.company-game-identity.compact strong { font-size:.8rem; }
.company-game-identity.compact small,.company-game-identity.compact em { font-size:.58rem; }
.company-map-selection-banner { position: absolute; z-index: 60; top: 14px; left: 50%; display: flex; align-items: center; gap: 12px; min-width: min(620px, calc(100% - 150px)); padding: 13px 16px; border: 2px solid #ffb000; border-radius: 13px; background: #081827f2; color: #fff; transform: translateX(-50%); box-shadow: 0 0 30px #ffb00055; }
.company-map-selection-banner strong { color: #ffba28; }
.company-map-selection-banner span { flex: 1; color: #c4d9e8; font-size: .8rem; }
.company-map-selection-banner button { border: 1px solid #5b7185; border-radius: 8px; padding: 7px 10px; background: #13283a; color: #fff; }

.job-offers-layout { grid-template-columns: minmax(310px,.72fr) minmax(0,1.28fr); align-items: start; }
.company-editor-dialog #jobOfferForm>.section-head,.company-editor-dialog #personalWorkOfferForm>.section-head{align-items:flex-start;margin-bottom:18px}.company-editor-dialog #jobOfferForm>.section-head .dialog-close,.company-editor-dialog #personalWorkOfferForm>.section-head .dialog-close{flex:0 0 auto;margin-left:auto}.company-editor-dialog #jobOfferForm>.dialog-actions,.company-editor-dialog #personalWorkOfferForm>.dialog-actions{position:sticky;bottom:0;margin:20px -20px -20px;padding:16px 20px;border-top:1px solid #29445e;background:#0c1b2aee;backdrop-filter:blur(10px)}#companyWorkOffersSection>.panel,#personalWorkOffersSection>.panel{width:100%}
.job-offer-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.job-offer-grid { display: grid; gap: 16px; }
.job-offer-card { overflow: hidden; border: 1px solid #29465f; border-radius: 17px; background: linear-gradient(145deg,#13263a,#081622); box-shadow: 0 12px 30px #0004; }
.job-offer-card header { display: grid; grid-template-columns: 82px minmax(0,1fr) auto; gap: 15px; align-items: center; padding: 17px; border-bottom: 1px solid #29465f; }
.job-offer-company-logo { display: grid; place-items: center; width: 82px; aspect-ratio: 1; overflow: hidden; border: 1px solid #45aaf477; border-radius: 14px; background: #071421; }
.job-offer-company-logo img { width: 100%; height: 100%; object-fit: contain; }
.job-offer-card h2 { margin: 3px 0; font-size: 1.18rem; }
.job-offer-card header button { border: 0; padding: 0; background: transparent; color: #60c7ff; font-weight: 800; text-align: left; cursor: pointer; }
.job-offer-card header small { display: flex; align-items: center; gap: 6px; margin-top: 5px; color: var(--muted); }
.job-offer-card header small img { width: 25px; height: 17px; object-fit: contain; }
.job-offer-card header > strong { color: #62efb1; text-align: right; font-size: 1.35rem; white-space: nowrap; }
.job-offer-card header > strong small { display: block; color: #acd2e8; font-size: .7rem; }
.job-offer-card > p { margin: 0; padding: 16px 18px 6px; color: #c6dcec; white-space: pre-line; }
.job-offer-card dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; padding: 12px 18px 17px; }
.job-offer-card dl div { min-width: 0; padding: 10px; border-radius: 10px; background: #071623; }
.job-offer-card dt { color: #779ab3; font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.job-offer-card dd { margin: 4px 0 0; overflow-wrap: anywhere; color: #f1f7fb; }
.job-offer-card footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 18px; border-top: 1px solid #29465f; color: var(--muted); font-size: .78rem; }
.company-ownership-private { color: #ffd47e; border-color: #f0a41755; background: #f0a41718; }
.company-future { min-height: 240px; display: grid; place-content: center; text-align: center; }
.company-future strong { color: var(--accent); font-size: 1.4rem; }
.company-side-logo .company-logo-fallback { font-size: 1.3rem; }
.company-employee-list, .tax-employee-list { display: grid; gap: 10px; }
.company-employee-list > button, .tax-employee-card { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; padding: 13px 15px; border: 1px solid #29465f; border-radius: 13px; color: inherit; background: #081827; }
.company-employee-list > button { text-align: left; }
.company-employee-list > button > span, .tax-employee-card > button > span { display: grid; gap: 3px; min-width: 0; flex: 1; }
.company-employee-list > button small, .tax-employee-card small { color: var(--muted); }
.company-employee-list > button > b { color: #65caff; font-size: .78rem; }
.tax-employee-list { margin-top: 18px; }
.tax-employee-card > button { display: flex; align-items: center; gap: 12px; min-width: 0; border: 0; color: inherit; text-align: left; background: transparent; }
.tax-employee-card > div { display: grid; justify-items: end; gap: 5px; text-align: right; }
.company-tax-identity { display: grid; grid-template-columns: 180px minmax(0,1fr); gap: 28px; align-items: center; }
.company-tax-identity h2 { margin: 5px 0; font-size: 2rem; }
.company-tax-identity p, .company-tax-identity > div > small { color: var(--muted); }
.company-tax-identity dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.company-tax-identity dl div { padding: 11px; border-radius: 10px; background: #071623; }
.company-tax-identity dt { color: var(--muted); font-size: .7rem; text-transform: uppercase; }
.company-tax-identity dd { margin: 4px 0 0; font-weight: 900; }

@media (max-width: 1550px) {
  .event-track, .community-events-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .delivery-profit-grid, .delivery-history-finance { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
.admin-bank-section { margin-top: 26px; }
.settings-card { max-width: 820px; }
.openai-setting-meta { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 1px; overflow: hidden; margin-top: 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--line); }
.openai-setting-meta span, .openai-setting-meta strong { padding: 12px 14px; background: #0a1725; }
.openai-setting-meta span { color: var(--muted); }
.settings-actions { justify-content: space-between; }

dialog { width: min(520px, calc(100% - 32px)); padding: 0; border: 1px solid var(--line); border-radius: 18px; color: inherit; background: #101d2c; box-shadow: 0 30px 100px #000c; }
dialog::backdrop { background: #02070dcc; backdrop-filter: blur(5px); }
.dialog-card { padding: 28px; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 22px; }
.map-settings-dialog { width: min(760px, calc(100% - 28px)); }
.map-settings-card { max-height: min(88vh, 860px); overflow: auto; }
.map-settings-card > p { margin: 8px 0 18px; color: var(--muted); }
.map-navigation-dialog { width: min(800px, calc(100% - 28px)); }
.map-navigation-card { max-height: min(90vh, 900px); overflow: auto; }
.map-navigation-card > p { margin: 8px 0 18px; color: var(--muted); }
.map-navigation-mode-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.map-navigation-mode-list label { min-width: 0; display: grid; grid-template-columns: auto minmax(0,1fr); gap: 10px; align-items: start; padding: 12px; border: 1px solid var(--line); border-radius: 11px; background: #091725; cursor: pointer; }
.map-navigation-mode-list label:has(input:checked) { border-color: #19aaffaa; background: #168ee314; box-shadow: inset 0 0 0 1px #19aaff22; }
.map-navigation-mode-list input { width: 17px; height: 17px; margin: 2px 0 0; accent-color: #19aaff; }
.map-navigation-mode-list strong,.map-navigation-mode-list small { display: block; }
.map-navigation-mode-list strong { color: #eef6fc; font-size: .87rem; }
.map-navigation-mode-list small { margin-top: 4px; color: var(--muted); line-height: 1.35; }
.map-navigation-toll-setting { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 11px; align-items: start; margin-top: 12px; padding: 13px; border: 1px solid #f0a41755; border-radius: 11px; background: #f0a4170b; cursor: pointer; }
.map-navigation-toll-setting input { width: 18px; height: 18px; margin-top: 2px; accent-color: #f0a417; }
.map-navigation-toll-setting strong,.map-navigation-toll-setting small { display: block; }.map-navigation-toll-setting strong { color: #ffe0a2; }.map-navigation-toll-setting small { margin-top: 4px; color: var(--muted); line-height: 1.4; }
.map-navigation-voice-settings { display: grid; gap: 11px; margin-top: 14px; padding: 14px; border: 1px solid #19aaff55; border-radius: 12px; background: linear-gradient(135deg,#071726,#0b2032); }
.map-navigation-voice-settings > div:first-child strong,.map-navigation-voice-settings > div:first-child small { display: block; }.map-navigation-voice-settings > div:first-child strong { color: #bcecff; }.map-navigation-voice-settings > div:first-child small { margin-top: 3px; color: var(--muted); font-size: .74rem; }
.map-navigation-voice-toggle { width: max-content; max-width: 100%; display: flex; align-items: center; gap: 9px; color: #eaf7ff; font-size: .8rem; font-weight: 800; cursor: pointer; }.map-navigation-voice-toggle input { width: 18px; height: 18px; margin: 0; accent-color: #19aaff; }
.map-navigation-voice-picker { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 9px; align-items: center; }.map-navigation-voice-picker label { color: #9eb7ca; font-size: .72rem; font-weight: 800; }.map-navigation-voice-picker select { min-width: 0; }.map-navigation-voice-picker .button { width: auto; white-space: nowrap; }
.map-navigation-voice-settings > p { min-height: 1em; margin: 0; color: #79cdec; font-size: .68rem; }
.map-navigation-waypoints-section { margin-top: 17px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #07131f; }
.map-navigation-waypoints-heading { display: flex; justify-content: space-between; align-items: center; gap: 14px; }.map-navigation-waypoints-heading > div:first-child strong,.map-navigation-waypoints-heading > div:first-child small { display: block; }.map-navigation-waypoints-heading > div:first-child small { margin-top: 3px; color: var(--muted); font-size: .72rem; }.map-navigation-waypoints-heading > div:last-child { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.map-navigation-waypoint-list { display: grid; gap: 7px; margin-top: 11px; }.map-navigation-waypoint-list > p { margin: 0; padding: 12px; border: 1px dashed #2c465d; border-radius: 9px; color: var(--muted); text-align: center; font-size: .76rem; }
.map-navigation-waypoint-row { display: grid; grid-template-columns: 30px minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 8px 9px; border: 1px solid #28445d; border-radius: 9px; background: #0d1d2c; }.map-navigation-waypoint-row > b { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; color: #06131f; background: #f0a417; }.map-navigation-waypoint-row > span { min-width: 0; }.map-navigation-waypoint-row strong,.map-navigation-waypoint-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.map-navigation-waypoint-row small { margin-top: 2px; color: var(--muted); font-size: .7rem; }.map-navigation-waypoint-row > div { display: flex; gap: 4px; }.map-navigation-waypoint-row button { width: 28px; height: 28px; padding: 0; border: 1px solid #35516c; border-radius: 7px; color: #dceaf5; background: #102239; }.map-navigation-waypoint-row button:hover:not(:disabled) { border-color: #f0a417; color: #07111e; background: #f0a417; }.map-navigation-waypoint-row button:disabled { opacity: .3; }
.map-navigation-summary { display: grid; gap: 4px; margin-top: 13px; padding: 11px 13px; border: 1px solid #35c58a55; border-radius: 10px; background: #35c58a0c; }.map-navigation-summary strong { color: #6ee7b7; }.map-navigation-summary span { color: #b5c8d7; font-size: .76rem; line-height: 1.4; }.map-navigation-summary.invalid { border-color: #f0a41755; background: #f0a4170a; }.map-navigation-summary.invalid strong { color: #ffd47e; }
.map-country-mode-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.map-country-mode-list label { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 10px; align-items: start; padding: 12px; border: 1px solid var(--line); border-radius: 11px; background: #091725; cursor: pointer; }
.map-country-mode-list label:first-child { grid-column: 1 / -1; }
.map-country-mode-list label:has(input:checked) { border-color: #f0a417aa; background: #f0a41712; box-shadow: inset 0 0 0 1px #f0a41722; }
.map-country-mode-list input { width: 17px; height: 17px; margin: 2px 0 0; accent-color: var(--accent); }
.map-country-mode-list strong, .map-country-mode-list small { display: block; }
.map-country-mode-list strong { color: #eef6fc; font-size: .87rem; }
.map-country-mode-list small { margin-top: 4px; color: var(--muted); line-height: 1.35; }
.map-country-scope-summary { display: grid; gap: 4px; margin: 14px 0; padding: 12px 14px; border: 1px solid #2f5e7d; border-radius: 11px; background: #0b2032; }
.map-country-scope-summary strong { color: #72cbff; }
.map-country-scope-summary span { color: #bdd0df; font-size: .8rem; line-height: 1.4; }
.map-country-scope-summary.invalid { border-color: #ef626277; background: #5b182022; }
.map-country-scope-summary.invalid strong { color: #ff9e9e; }
.map-country-selection { margin: 0; padding: 13px; border: 1px solid var(--line); border-radius: 11px; }
.map-country-selection legend { padding: 0 7px; color: #dceaf5; font-size: .75rem; font-weight: 800; }
.map-country-choice-grid { max-height: 280px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; overflow: auto; padding: 2px; }
.map-country-choice-grid label { min-width: 0; display: flex; align-items: center; gap: 7px; padding: 7px 8px; border-radius: 7px; color: #cbd9e5; background: #081421; cursor: pointer; }
.map-country-choice-grid label:hover { background: #12283b; }
.map-country-choice-grid input { width: 15px; height: 15px; margin: 0; accent-color: var(--accent); }
.map-country-choice-grid label > span:last-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .72rem; }
.map-country-flag { width: 25px; height: 17px; display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; }
.map-country-flag-image { width: 25px; height: 17px; }
.map-appearance-settings { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 14px; padding: 14px; border: 1px solid var(--line); border-radius: 11px; background: #091725; }
.map-appearance-settings label { display: grid; gap: 7px; color: #cbd9e5; font-size: .76rem; font-weight: 750; }
.map-appearance-settings select { width: 100%; }
.map-sound-setting { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 11px; align-items: start; margin-top: 12px; padding: 13px 14px; border: 1px solid #31506b; border-radius: 11px; background: #091725; cursor: pointer; }
.map-sound-setting input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--accent); }
.map-sound-setting strong,.map-sound-setting small { display: block; }
.map-sound-setting strong { color: #edf6fc; font-size: .82rem; }
.map-sound-setting small { margin-top: 4px; color: var(--muted); font-size: .72rem; line-height: 1.4; }
.map-filter-icon-size-settings { margin: 14px 0 0; padding: 13px; border: 1px solid var(--line); border-radius: 11px; }
.map-filter-icon-size-settings legend { padding: 0 7px; color: #dceaf5; font-size: .75rem; font-weight: 800; }
.map-filter-icon-size-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.map-filter-icon-size-grid label { min-width: 0; display: grid; gap: 5px; padding: 8px; border-radius: 8px; color: #cbd9e5; background: #081421; font-size: .68rem; font-weight: 750; }
.map-filter-icon-size-grid select { width: 100%; min-width: 0; padding: 7px 8px; font-size: .7rem; }
.permanent-delete-warning { padding: 12px 14px; border: 1px solid #ef626266; border-radius: 11px; color: #ffc2c2; background: #6d1f291f; }
.avatar-dialog { width: min(680px, calc(100% - 28px)); }
.avatar-dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.avatar-dialog-heading h2 { margin-bottom: 6px; font-size: 1.55rem; }
.dialog-close { width: 38px; height: 38px; flex: 0 0 auto; border: 1px solid var(--line); border-radius: 10px; color: #dbe8f4; background: #091522; font-size: 1.6rem; line-height: 1; }
.avatar-source-preview { width: min(100%, 300px); aspect-ratio: 1; display: grid; place-items: center; overflow: hidden; margin: 18px auto; border: 2px dashed #2b4a65; border-radius: 24px; color: #7188a0; background: radial-gradient(circle, #18334a, #081421 72%); }
.avatar-source-preview img { width: 100%; height: 100%; object-fit: cover; }
.avatar-role-summary { display: grid; gap: 4px; margin: 14px 0; padding: 13px 15px; border: 1px solid #168ee355; border-radius: 12px; background: #168ee312; }
.avatar-role-summary strong { color: #77caff; font-size: .82rem; text-transform: uppercase; }
.avatar-role-summary span { color: #d6e7f4; }
.avatar-choice-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(165px, 1fr)); gap: 14px; }
.avatar-gamer-note { margin: 8px 0 16px; color: #8fa8bd; font-size: .8rem; line-height: 1.45; }
.consent-check { grid-template-columns: auto 1fr; align-items: flex-start; gap: 11px; padding: 12px; border: 1px solid var(--line); border-radius: 11px; background: #081421; font-weight: 500; line-height: 1.4; }
.consent-check input { width: 18px; height: 18px; margin: 2px 0 0; }
.avatar-ai-status { min-height: 45px; padding: 12px 14px; border: 1px solid #168ee355; border-radius: 10px; color: #b7ddf8; background: #168ee312; }
.avatar-ai-status.working { color: #ffe1a3; border-color: #f0a41766; background: #f0a41712; }
.avatar-ai-status.unavailable { color: #ffb3b3; border-color: #ef626255; background: #ef626212; }
.avatar-processing-note { margin-top: 16px; font-size: .82rem; }
.starter-profile-dialog { width: min(820px, calc(100% - 28px)); }
.starter-profile-card { display: grid; gap: 17px; }
.starter-profile-card > p { margin: 0; }
.starter-grant-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.starter-grant-summary > div { padding: 13px; border: 1px solid #168ee344; border-radius: 11px; background: #168ee30d; }
.starter-grant-summary span,.starter-grant-summary strong { display: block; }
.starter-grant-summary span { color: var(--muted); font-size: .72rem; }
.starter-grant-summary strong { margin-top: 5px; color: #dff2ff; font-size: .88rem; }
.starter-choice-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.starter-choice-grid label { min-width: 0; }
.starter-choice-grid small { display: block; min-height: 2.7em; margin-top: 6px; color: var(--muted); font-weight: 400; line-height: 1.35; }

.map-toolbar { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; padding: 14px 16px; }
.map-toolbar label { margin: 0; }
.map-search { min-width: min(100%, 260px); flex: 1 1 260px; }
.map-toggle { display: inline-flex; grid-template-columns: none; align-items: center; gap: 8px; min-height: 42px; padding: 0 9px; border: 1px solid var(--line); border-radius: 10px; background: #081421; white-space: nowrap; }
.map-toggle input { width: 17px; height: 17px; margin: 0; }
.map-toolbar .button.compact { margin: 0; align-self: end; }
.map-toolbar .status-pill { margin-left: auto; min-height: 42px; }
.community-map-shell { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 0; overflow: hidden; padding: 0; background: #040c16; }
.community-map-shell:fullscreen, .community-map-shell.map-fullscreen-fallback { width: 100vw; height: 100vh; max-width: none; margin: 0; border: 0; border-radius: 0; grid-template-columns: minmax(0, 1fr) minmax(260px, 320px); background: #040c16; }
.community-map-shell:fullscreen.map-detail-collapsed, .community-map-shell.map-fullscreen-fallback.map-detail-collapsed { grid-template-columns: minmax(0, 1fr); }
.community-map-shell.map-fullscreen-fallback { position: fixed; inset: 0; z-index: 2000; }
body.map-fullscreen-open { overflow: hidden; }
.community-map-shell:fullscreen .community-map-viewport, .community-map-shell.map-fullscreen-fallback .community-map-viewport { height: 100vh; min-height: 0; }
.community-map-shell:fullscreen .community-map-detail, .community-map-shell.map-fullscreen-fallback .community-map-detail { height: 100vh; overflow: auto; border-top: 0; border-left: 1px solid var(--line); }
.community-map-shell:fullscreen.map-detail-collapsed .community-map-detail, .community-map-shell.map-fullscreen-fallback.map-detail-collapsed .community-map-detail { display: none; }
.community-map-viewport { position: relative; min-width: 0; height: min(72vh, 780px); min-height: 560px; overflow: hidden; cursor: grab; user-select: none; touch-action: none; background: #484e66; outline: none; }
.community-map-viewport *, .community-map-viewport img { user-select: none; -webkit-user-select: none; -webkit-user-drag: none; }
.community-map-viewport:active { cursor: grabbing; }
.community-map-viewport:focus-visible { box-shadow: inset 0 0 0 3px #f0a417aa; }
.community-map-stage { position: absolute; inset: 0; transform-origin: 50% 68%; transform-style: preserve-3d; will-change: transform; transition: transform .14s linear; }
.community-map-viewport.navigation-3d { cursor: default; background: #07131f; }
.community-map-viewport.navigation-3d .community-map-stage { visibility: hidden; opacity: 0; pointer-events: none; }
.community-map-navigation-3d-view { position: absolute; inset: 0; z-index: 8; display: none; overflow: hidden; pointer-events: none; background: linear-gradient(180deg,#071927 0 19%,#7896a0 35%,#425347 58%,#18241d 100%); isolation: isolate; }
.community-map-viewport.navigation-3d .community-map-navigation-3d-view { display: block; }
.map-navigation-3d-sky { position: absolute; inset: 0 0 42%; background: radial-gradient(circle at 50% 82%,#d5edf2 0 3%,#87b3bf 22%,#254b60 62%,#071827 100%); }
.map-navigation-3d-camera { position: absolute; inset: 0; overflow: hidden; perspective: 980px; perspective-origin: 50% 18%; }
.map-navigation-3d-ground { position: absolute; left: 50%; top: 72%; width: 8192px; height: 8192px; overflow: hidden; transform-origin: 0 0; transform-style: preserve-3d; will-change: transform; background: #484e66; backface-visibility: hidden; }
.map-navigation-3d-ground > .community-map-world { left: 0; top: 0; transform: none !important; contain: layout paint style; }
.community-map-viewport.navigation-3d #communityMapCities,
.community-map-viewport.navigation-3d #communityMapCompanies,
.community-map-viewport.navigation-3d #communityMapPois,
.community-map-viewport.navigation-3d #communityMapSpeedCameras,
.community-map-viewport.navigation-3d #communityMapDrivers,
.community-map-viewport.navigation-3d #communityMapAccidents,
.community-map-viewport.navigation-3d #communityMapTrails { display: none; }
.map-navigation-3d-road-tiles { position: absolute; inset: 0; overflow: hidden; }
.map-navigation-3d-road-tile { position: absolute; display: block; max-width: none; object-fit: fill; image-rendering: auto; user-select: none; pointer-events: none; backface-visibility: hidden; contain: strict; }
.map-navigation-3d-route { position: absolute; inset: 0; z-index: 2; width: 8192px; height: 8192px; overflow: visible; }
.map-navigation-3d-route polyline { fill: none; vector-effect: non-scaling-stroke; stroke-linecap: round; stroke-linejoin: round; }
.map-navigation-3d-route .route-direction-casing { stroke: #001627d9; stroke-width: 5; }
.map-navigation-3d-route .route-direction-line { stroke: #25d7ff; stroke-width: 2; filter: drop-shadow(0 0 2px #00aef5); }
.map-navigation-3d-route .route-direction-flow { stroke: #e8fbff; stroke-width: 1; stroke-dasharray: 2 11; animation: map-navigation-3d-flow .75s linear infinite; }
@keyframes map-navigation-3d-flow { to { stroke-dashoffset: -13; } }
.map-navigation-3d-truck { position: absolute; left: 50%; top: 72%; z-index: 4; width: 48px; height: 62px; transform: translate(-50%,-50%); filter: drop-shadow(0 0 12px #00baffaa) drop-shadow(0 7px 7px #000b); }
.map-navigation-3d-truck::before { content: ""; position: absolute; inset: 5px 8px 4px; border: 2px solid #2ed7ff; border-radius: 9px 9px 6px 6px; background: linear-gradient(180deg,#f1fbff 0 24%,#188dcc 25% 58%,#eaf8ff 59%); box-shadow: inset 0 -10px 0 #0c5f91; }
.map-navigation-3d-truck::after { content: ""; position: absolute; left: 50%; top: -16px; width: 21px; height: 30px; clip-path: polygon(50% 0,100% 100%,50% 77%,0 100%); transform: translateX(-50%); background: #26d8ff; filter: drop-shadow(0 0 6px #0ab8ff); }
.map-navigation-3d-truck span::before,.map-navigation-3d-truck span::after { content: ""; position: absolute; bottom: 3px; z-index: 2; width: 8px; height: 15px; border-radius: 3px; background: #06111c; }.map-navigation-3d-truck span::before { left: 4px; }.map-navigation-3d-truck span::after { right: 4px; }
.map-navigation-3d-quality { position: absolute; left: 16px; bottom: 16px; z-index: 4; display: flex; align-items: center; gap: 8px; padding: 6px 9px; border: 1px solid #6edfff55; border-radius: 9px; color: #dff8ff; background: #06121ed9; box-shadow: 0 7px 20px #0008; font-size: .62rem; letter-spacing: .025em; }
.map-navigation-3d-quality b { color: #42ddff; font-size: .68rem; }
.community-map-viewport.navigation-3d::after { content: ""; position: absolute; inset: 0; z-index: 9; pointer-events: none; background: linear-gradient(180deg,#03101d82 0,transparent 23%,transparent 72%,#02091266 100%); }
.community-map-world { position: absolute; left: 0; top: 0; width: 8192px; height: 8192px; contain: layout paint style; transform-origin: 0 0; will-change: transform; background: #484e66; }
.community-map-road-tiles { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; overflow: hidden; pointer-events: none; }
.community-map-road-tile { position: absolute; display: block; max-width: none; object-fit: fill; image-rendering: auto; backface-visibility: hidden; contain: strict; pointer-events: none; user-select: none; }
.community-map-layer, .community-map-trails, .community-map-navigation { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.community-map-navigation { z-index: 4; pointer-events: none; }
.community-map-navigation polyline { fill: none; vector-effect: non-scaling-stroke; stroke-linecap: round; stroke-linejoin: round; }
.community-map-navigation .map-navigation-casing { display: none; }
.community-map-navigation .map-navigation-route { stroke: #23c9ff; stroke-width: 2.4; opacity: .96; }
.community-map-navigation .map-navigation-direction { display: none; }
.community-map-navigation .map-navigation-destination { fill: #f0a417; stroke: #fff7d5; stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.community-map-viewport.navigation-3d .community-map-navigation .map-navigation-route { stroke-width: 2; filter: drop-shadow(0 0 1px #001522); }
.community-map-navigation .map-navigation-waypoint circle { fill: #f0a417; stroke: #fff7d5; stroke-width: 2; vector-effect: non-scaling-stroke; filter: drop-shadow(0 0 5px #000b); }
.community-map-navigation .map-navigation-waypoint text { fill: #07111e; font-weight: 950; text-anchor: middle; }
.community-map-navigation .map-navigation-waypoint.destination circle { fill: #54e6b1; stroke: #eafff8; }
.map-navigation-waypoint-row.destination { border-color: #54e6b188; background: #0b2b27; }
.map-navigation-waypoint-row.destination > b { color: #06251e; background: #54e6b1; }
.community-map-trails { z-index: 5; pointer-events: none; }
.community-map-trails polyline { fill: none; stroke: #48bfff; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; opacity: .75; filter: drop-shadow(0 0 4px #168ee3); }
.community-map-cities { z-index: 3; pointer-events: none; }
.map-city-marker { position: absolute; left: 0; top: 0; display: block; }
.map-city-scale { position: relative; display: block; transform: translate(-50%, -50%) scale(var(--map-city-marker-scale, 1)); transform-origin: center; }
.map-city-dot { display: none; }
.map-city-label { position: absolute; left: 0; top: 0; transform: translate(-50%, -50%); padding: 0; color: #f5f5f7; background: transparent; text-shadow: 0 1px 2px #272a3a, 1px 0 2px #272a3a, -1px 0 2px #272a3a, 0 -1px 2px #272a3a; font-size: 11px; font-weight: 850; line-height: 1.2; white-space: nowrap; }
.map-city-marker[data-city-rank="major"] .map-city-label { color: #fff; font-size: 13px; font-weight: 950; }
.community-map-world[data-city-detail="overview"] .map-city-marker:not([data-city-rank="major"]),
.community-map-world[data-city-detail="regional"] .map-city-marker[data-city-rank="local"] { display: none; }
.map-driver-marker, .map-company-marker, .map-poi-marker, .map-photo-marker { position: absolute; left: 0; top: 0; z-index: 6; }
.map-driver-marker { will-change: left,top; }
.map-company-marker, .map-poi-marker, .map-photo-marker { transition: left .2s linear, top .2s linear; }
.map-driver-marker { opacity: 1; }
.community-map-accidents { z-index: 8; pointer-events: none; }
.map-accident-marker { position: absolute; left: 0; top: 0; z-index: 8; pointer-events: auto; }
.map-accident-signal { --alert-glow: #ff263b; position: relative; display: block; width: 42px; height: 39px; padding: 0; border: 0; color: #fff; background: transparent; filter: drop-shadow(0 4px 5px #000c); animation: map-alert-triangle-flash 1.05s ease-in-out infinite; cursor: pointer; }
.map-accident-signal:hover,.map-accident-signal:focus-visible,.map-accident-marker.selected .map-accident-signal { transform: scale(1.16); outline: none; filter: drop-shadow(0 4px 5px #000c) drop-shadow(0 0 10px var(--alert-glow)); }
.map-accident-signal .map-alert-icon { width: 100%; height: 100%; display: block; }
.map-accident-signal .map-alert-icon img { width: 100%; height: 100%; display: block; object-fit: contain; image-rendering: auto; backface-visibility: hidden; }
.map-accident-signal[data-alert-type="congestion"] { --alert-glow: #ff8b36; }
.map-accident-signal[data-alert-type="police"] { --alert-glow: #388dff; }
.map-accident-signal[data-alert-type="v16"] { --alert-glow: #ffae18; }
.community-map-world[data-map-detail="overview"] .map-accident-signal { width: 31px; height: 29px; }
.community-map-world[data-map-detail="overview"] .map-driver-marker[data-v16="true"] .map-marker-scale::before { display: none; }
@keyframes map-alert-triangle-flash { 0%,100% { opacity: .72; filter: drop-shadow(0 4px 5px #000c) drop-shadow(0 0 1px var(--alert-glow)); } 50% { opacity: 1; filter: drop-shadow(0 4px 5px #000c) drop-shadow(0 0 7px var(--alert-glow)) drop-shadow(0 0 12px var(--alert-glow)); } }
.map-marker-scale { position: relative; transform: translate(-50%, -50%) scale(var(--map-marker-scale, 1)); transform-origin: center; }
.map-driver-marker .map-marker-scale { transform: translate(-50%, -50%) scale(var(--map-driver-marker-scale, var(--map-marker-scale, 1))); }
.map-poi-marker .map-marker-scale, .map-speed-camera-marker .map-marker-scale { transform: translate(-50%, -50%) scale(var(--map-marker-scale, 1)) scale(var(--map-filter-icon-factor, 1)); }
.map-driver-button, .map-company-button { display: grid; place-items: center; border: 0; padding: 0; color: white; background: transparent; filter: drop-shadow(0 5px 9px #000b); }
.map-truck-direction { position: absolute; left: 50%; top: 50%; width: 58px; height: 58px; margin: -29px; transform: rotate(var(--truck-heading, 0deg)); transition: transform .5s linear; }
.map-truck-direction::before { content: ""; position: absolute; left: 21px; top: -11px; width: 16px; height: 29px; clip-path: polygon(50% 0, 100% 100%, 50% 76%, 0 100%); background: var(--marker-color, #35c58a); filter: drop-shadow(0 0 5px var(--marker-color, #35c58a)); }
.map-driver-avatar { position: relative; z-index: 2; width: 43px; height: 43px; overflow: hidden; display: grid; place-items: center; border: 3px solid var(--marker-color, #35c58a); border-radius: 50%; color: #07111f; background: #dce9f5; font-weight: 900; box-shadow: 0 0 0 4px #07111ed9; }
.map-driver-avatar img { width: 100%; height: 100%; object-fit: cover; }
.map-driver-label, .map-company-label { position: absolute; left: 50%; top: calc(100% + 8px); transform: translateX(-50%); max-width: 190px; padding: 5px 8px; border: 1px solid #35516c; border-radius: 8px; color: #f4f8fb; background: #07121ee8; box-shadow: 0 5px 18px #0008; font-size: 12px; font-weight: 800; white-space: nowrap; }
.map-driver-label small { margin-left: 5px; color: #91d9ff; font-weight: 700; }
.map-driver-marker[data-state="Pause"] { --marker-color: #f0a417; }
.map-driver-marker[data-state="Rest"] { --marker-color: #168ee3; }
.map-driver-marker[data-state="OtherWork"] { --marker-color: #a57be8; }
.map-driver-marker[data-state="OffService"] { --marker-color: #7890a5; }
.map-driver-marker[data-connected="false"] { --marker-color: #718092; filter: grayscale(1); }
.map-driver-marker[data-connected="false"] .map-driver-button { filter: none; }
.map-driver-marker[data-connected="false"] .map-driver-avatar { box-shadow: none; }
.map-driver-marker[data-connected="false"] .map-truck-direction, .map-driver-marker[data-connected="false"] .map-driver-label { display: none; }
.map-driver-marker[data-speeding="true"] .map-driver-label small { color: #ff6e75; }
.map-driver-marker[data-v16="true"] .map-marker-scale::before { content: ""; position: absolute; left: 50%; top: 50%; z-index: 1; width: 53px; height: 53px; border: 4px solid #ffae18; border-radius: 50%; box-shadow: 0 0 12px 5px #ffae18cc; transform: translate(-50%,-50%); animation: map-v16-flash .72s ease-in-out infinite alternate; pointer-events: none; }
@keyframes map-v16-flash { from { opacity: .2; transform: translate(-50%,-50%) scale(.92); } to { opacity: 1; transform: translate(-50%,-50%) scale(1.08); } }
.map-speed-camera-marker { position: absolute; z-index: 7; }
.map-speed-camera-icon { display: grid; place-items: center; width: 22px; height: 28px; border-radius: 4px; filter: drop-shadow(0 3px 5px #000b); }
.map-speed-camera-icon img { display: block; width: 100%; height: 100%; object-fit: contain; image-rendering: auto; }
.map-company-marker { z-index: 4; }
.community-company-marker { width: 34px; height: 34px; margin: -17px 0 0 -17px; overflow: hidden; border: 2px solid #ffb31a; border-radius: 9px; padding: 2px; background: #081522; box-shadow: 0 0 10px #ffb31a88; cursor: pointer; }
.community-company-marker { transform: scale(var(--map-marker-scale)); transform-origin: center; }
.community-company-marker .map-marker-scale, .community-company-marker img { display: block; width: 100%; height: 100%; }
.community-company-marker img { object-fit: contain; }
.map-company-button { width: 96px; height: 72px; background: transparent; filter: drop-shadow(0 4px 5px #000d) drop-shadow(0 0 4px #f0a41788); }
.map-company-button img { width: 100%; height: 100%; object-fit: contain; }
.map-company-label { top: calc(100% + 7px); color: #ffd47e; border-color: #f0a41766; }
.community-map-world[data-map-detail="overview"] .map-company-marker { display: none; }
.map-poi-marker, .map-photo-marker { z-index: 4; }
.map-poi-button, .map-photo-button { display: grid; place-items: center; border: 0; padding: 0; color: #07111e; filter: drop-shadow(0 4px 7px #000c); cursor: pointer; }
.map-poi-button { width: var(--overlay-width, 32px); height: var(--overlay-height, 32px); border: 0; border-radius: 0; background: transparent; line-height: 1; }
.map-poi-icon { display: block; width: 100%; height: 100%; object-fit: contain; }
.community-map-world[data-enlarged-icons="true"] .map-poi-icon, .community-map-world[data-enlarged-icons="true"] .map-driver-avatar img { image-rendering: auto; backface-visibility: hidden; transform: translateZ(0); }
.map-poi-label { display: none !important; }
.map-photo-button { position: relative; width: 54px; height: 38px; overflow: hidden; border: 2px solid #fff; border-radius: 8px; background: #07111e; }
.map-photo-button img { width: 100%; height: 100%; object-fit: cover; }
.map-photo-button::after { content: "📷"; position: absolute; right: 2px; bottom: 1px; padding: 1px 3px; border-radius: 4px; background: #06111ddd; font-size: 10px; }
.map-photo-label { position: absolute; left: 50%; top: calc(100% + 6px); transform: translateX(-50%); max-width: 180px; padding: 4px 7px; border: 1px solid #7cbff166; border-radius: 7px; color: #e8f6ff; background: #07121ee8; font-size: 10px; font-weight: 800; white-space: nowrap; }
.map-official-photo { width: 100%; aspect-ratio: 16/9; display: block; object-fit: cover; border-radius: 11px; box-shadow: 0 8px 25px #0008; }
.map-photo-source { color: #84cfff; font-size: .74rem; }
.map-detail-overlay-icon { display: block; width: min(128px, 100%); max-height: 54px; margin: 0 0 12px; object-fit: contain; object-position: left center; filter: drop-shadow(0 4px 8px #0008); }
.map-empty { position: absolute; left: 50%; top: 24px; z-index: 8; transform: translateX(-50%); width: min(90%, 620px); padding: 12px 15px; border: 1px solid #f0a41755; border-radius: 11px; color: #ffd47e; text-align: center; background: #171208e8; pointer-events: none; }
.community-map-controls { position: absolute; right: 14px; top: 14px; z-index: 9; display: grid; gap: 6px; }
.community-map-controls button { width: 42px; height: 42px; border: 1px solid #35516c; border-radius: 10px; color: #edf4fb; background: #07121ee8; font-size: 1.25rem; font-weight: 900; box-shadow: 0 8px 22px #0007; }
.community-map-controls button:hover { border-color: var(--accent); background: #14253a; }
.community-map-controls button:disabled { opacity: .42; cursor: not-allowed; }
.community-map-controls button.active { color: #07111e; border-color: #5ef0b5; background: #5ef0b5; box-shadow: 0 0 0 3px #5ef0b533,0 8px 22px #0007; }
.community-map-controls button.icons-hidden { color: #ffbf4a; border-color: #f0a417; background: #2b210f; box-shadow: 0 0 0 3px #f0a41722,0 8px 22px #0007; }
.community-map-bottom-settings { position: absolute; right: 14px; bottom: 14px; z-index: 12; width: 42px; height: 42px; padding: 0; border: 1px solid #35516c; border-radius: 10px; color: #edf4fb; background: #07121ee8; font-size: 1.25rem; font-weight: 900; box-shadow: 0 8px 22px #0007; }
.community-map-bottom-settings:hover { border-color: var(--accent); background: #14253a; }
.community-map-bottom-settings.active { color: #07111e; border-color: #5ef0b5; background: #5ef0b5; box-shadow: 0 0 0 3px #5ef0b533,0 8px 22px #0007; }
.community-map-controls .map-find-me svg,.community-map-controls .map-navigation-control svg { width: 25px; height: 25px; fill: currentColor; }
.community-map-controls .map-navigation-3d-control { display: grid; grid-template-columns: auto auto; place-content: center; gap: 1px; padding: 0 4px; }
.community-map-controls .map-navigation-3d-control span { font-size: .62rem; font-weight: 950; letter-spacing: -.03em; }
.community-map-controls .map-navigation-3d-control svg { width: 17px; height: 17px; fill: currentColor; }
.community-map-viewport.placing-navigation-point { cursor: crosshair; box-shadow: inset 0 0 0 3px #f0a417, inset 0 0 38px #f0a41733; }
.community-map-world[data-filtered-icons-visible="false"] .community-map-cities,
.community-map-world[data-filtered-icons-visible="false"] #communityMapCompanies,
.community-map-world[data-filtered-icons-visible="false"] #communityMapPois,
.community-map-world[data-filtered-icons-visible="false"] #communityMapSpeedCameras,
.community-map-world[data-filtered-icons-visible="false"] #communityMapDrivers { display: none; }
.community-map-controls .map-toggle-detail { display: none; }
.community-map-shell:fullscreen .community-map-controls .map-toggle-detail, .community-map-shell.map-fullscreen-fallback .community-map-controls .map-toggle-detail { display: block; }
.map-navigation-3d-hud { position: absolute; left: 50%; top: 18px; z-index: 13; transform: translateX(-50%); width: min(420px,calc(100% - 360px)); min-width: 260px; display: grid; grid-template-columns: 64px minmax(0,1fr); gap: 12px; align-items: center; padding: 10px 16px 10px 10px; border: 1px solid #4bd5ff88; border-radius: 16px; color: #eefaff; background: linear-gradient(135deg,#071522f2,#102d44ef); box-shadow: 0 10px 30px #000b,0 0 22px #19aaff33; pointer-events: none; }
.map-navigation-3d-hud > span:last-child,.map-navigation-3d-hud strong,.map-navigation-3d-hud small,.map-navigation-3d-hud em { min-width: 0; display: block; }.map-navigation-3d-hud strong { overflow: hidden; color: #fff; font-size: 1rem; text-overflow: ellipsis; white-space: nowrap; }.map-navigation-3d-hud small { margin-top: 3px; overflow: hidden; color: #91ccea; font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }.map-navigation-3d-hud em { width: fit-content; margin-top: 6px; padding: 2px 7px; border: 1px solid #62d8ff55; border-radius: 999px; color: #dff8ff; background: #0d3850cc; font-size: .62rem; font-style: normal; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.map-navigation-3d-arrow { width: 58px; height: 58px; display: grid; place-items: center; border: 1px solid #53dcff77; border-radius: 14px; background: #06121e; box-shadow: inset 0 0 18px #19aaff22; }
.map-navigation-3d-arrow svg { width: 43px; height: 43px; fill: #32d6ff; filter: drop-shadow(0 0 6px #19aaff); transform: rotate(var(--guidance-angle,0deg)); transition: transform .22s ease-out; }
.community-map-filters { position: absolute; left: 14px; top: 14px; z-index: 10; width: 304px; overflow: hidden; border: 1px solid #263f58; border-radius: 10px; color: #cbd9e5; background: #07121ef0; box-shadow: 0 8px 22px #0008; }
.community-map-filters:not([open]) { width: auto; }
.community-map-filters summary { padding: 7px 9px; color: #dceaf5; font-size: .66rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; cursor: pointer; list-style-position: inside; }
.community-map-filters[open] summary { border-bottom: 1px solid #ffffff0d; }
.community-map-filters > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px 7px; padding: 7px 8px 8px; }
.community-map-filters > div .map-filter-actions { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; margin-bottom: 3px; }
.map-filter-actions button { min-height: 27px; padding: 4px 6px; border: 1px solid #35516c; border-radius: 6px; color: #dceaf5; background: #102239; font-size: .58rem; font-weight: 800; }
.map-filter-actions button:hover { color: #07111e; border-color: var(--accent); background: var(--accent); }
.community-map-filters label { min-width: 0; display: flex; align-items: center; gap: 5px; padding: 3px 4px; border-radius: 6px; font-size: .61rem; white-space: nowrap; cursor: pointer; }
.community-map-filters label:hover { background: #ffffff0a; }
.community-map-filters input { width: 13px; height: 13px; margin: 0; accent-color: var(--accent); }
.map-filter-icon { flex: 0 0 17px; width: 17px; height: 17px; display: grid; place-items: center; color: #8fa5b9; font-size: .72rem; font-style: normal; line-height: 1; text-align: center; }
.map-filter-icon img { display: block; width: 17px; height: 17px; object-fit: contain; }
.map-filter-icon.connected { color: #35c58a; }.map-filter-icon.disconnected { color: #718092; }.map-filter-icon.cities { color: #f4f7fa; }.map-filter-icon.companies { color: #f0a417; }.map-filter-icon.fuel { color: #65d28f; }.map-filter-icon.services { color: #78bfff; }.map-filter-icon.garages { color: #d6a963; }.map-filter-icon.other { color: #b49be8; }.map-filter-icon.trails { color: #48bfff; }
.community-map-alert-panel { position: absolute; right: 70px; top: 14px; z-index: 10; border: 1px solid #3a5066; border-radius: 12px; color: #fff; background: #07121eef; box-shadow: 0 8px 24px #000a; }
.community-map-alert-panel summary { padding: 6px 9px; color: #bcd0e0; font-size: .66rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; cursor: pointer; list-style-position: inside; }
.community-map-alert-panel[open] summary { border-bottom: 1px solid #ffffff12; }
.community-map-alert-actions { display: flex; gap: 7px; padding: 7px; }
.community-map-alert-actions button { width: 56px; height: 56px; display: grid; place-items: center; padding: 5px; border: 2px solid #ff3d45; border-radius: 11px; color: #fff; background: #1d0a0def; box-shadow: 0 5px 15px #0009; }
.community-map-alert-actions button:nth-child(2) { border-color: #ff8b36; background: #211208ef; }
.community-map-alert-actions button:nth-child(3) { border-color: #ffb521; background: #271a05ef; }
.community-map-alert-actions button:nth-child(4) { border-color: #388dff; background: #07162aef; }
.community-map-alert-actions button:hover:not(:disabled) { transform: translateY(-2px); filter: brightness(1.15); }
.community-map-alert-actions button:disabled { opacity: .42; filter: grayscale(1); cursor: not-allowed; }
.community-map-alert-actions img { width: 44px; height: 44px; object-fit: contain; image-rendering: auto; }
.map-detail-next-radar { margin-top: 12px; display: flex; align-items: center; gap: 10px; padding: 9px 10px; border: 1px solid #375577; border-radius: 10px; background: #071522; }
.map-detail-next-radar img { width: 31px; height: 39px; object-fit: contain; }
.map-detail-next-radar span,.map-detail-next-radar small,.map-detail-next-radar strong,.map-detail-next-radar em { display: block; }
.map-detail-next-radar small { color: #8fa8bd; font-size: .67rem; text-transform: uppercase; }
.map-detail-next-radar strong { color: #fff; font-size: 1.08rem; }.map-detail-next-radar em { color: #ffb74e; font-size: .72rem; font-style: normal; }
.presence-mode-group + .presence-mode-group { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }
.presence-mode-group h3 { margin: 0 0 12px; color: #a9bfd2; font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; }
.community-map-legend { position: absolute; left: 14px; bottom: 14px; z-index: 9; display: flex; flex-wrap: wrap; gap: 8px 12px; max-width: calc(100% - 285px); padding: 9px 11px; border: 1px solid #263f58; border-radius: 10px; color: #aec0d1; background: #07121ee8; font-size: .72rem; box-shadow: 0 8px 22px #0007; pointer-events: none; }
.community-map-legend span { display: inline-flex; align-items: center; gap: 6px; }
.community-map-legend i { width: 9px; height: 9px; border-radius: 50%; background: #35c58a; box-shadow: 0 0 6px currentColor; }
.community-map-legend i.pause { background: #f0a417; }.community-map-legend i.rest { background: #168ee3; }.community-map-legend i.other-work { background: #a57be8; }.community-map-legend i.offline { background: #718092; }.community-map-legend i.accident { border-radius: 2px; background: #ff3038; }.community-map-legend i.congestion { border-radius: 2px; background: #ff8b36; }.community-map-legend i.police { border-radius: 2px; background: #388dff; }.community-map-legend i.v16 { background: #ffae18; }.community-map-legend i.company { border-radius: 2px; background: #f0a417; }.community-map-legend i.game-road { border-radius: 2px; background: #f5f5f5; box-shadow: 0 0 0 2px #484e66; }
.map-own-speed-limit { position: absolute; right: 68px; bottom: 14px; z-index: 11; width: 84px; display: grid; justify-items: center; gap: 3px; padding: 5px 5px 6px; border: 1px solid #ffffff4a; border-radius: 14px; background: #07121eef; box-shadow: 0 8px 24px #000b; pointer-events: none; transform-origin: center; }
.map-own-speed-limit img { display: block; width: 72px; height: 72px; object-fit: contain; filter: drop-shadow(0 2px 3px #0009); }
.map-own-speed-limit-current { min-width: 64px; padding: 2px 5px; border-radius: 999px; color: #f2f7fb; background: #0d2234; font-size: .66rem; font-weight: 900; line-height: 1.2; text-align: center; }
.map-own-speed-limit.speeding { border-color: #ff3e47; animation: map-own-speed-limit-flash .62s steps(2,end) infinite; }
.map-own-speed-limit.speeding .map-own-speed-limit-current { color: #fff; background: #c51f2a; }
.map-own-speed-limit.critical { box-shadow: 0 0 0 3px #ff273855,0 8px 24px #000b,0 0 22px #ff273899; }
@keyframes map-own-speed-limit-flash { 0%,100% { opacity: 1; transform: scale(1); } 50% { opacity: .38; transform: scale(1.045); } }
.community-map-detail { min-width: 0; height: min(72vh, 780px); min-height: 560px; overflow-y: auto; padding: 20px; border-left: 1px solid var(--line); background: linear-gradient(180deg, #111f31, #08131f); scrollbar-color: #34516a #08131f; }
.map-detail-placeholder { min-height: 220px; display: grid; align-content: center; gap: 8px; color: var(--muted); text-align: center; }
.map-detail-placeholder strong { color: #eef5fb; }
.map-detail-back { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 14px; padding: 6px 0; border: 0; color: #8fcdf5; background: transparent; font-size: .76rem; font-weight: 800; }
.map-detail-back:hover,.map-detail-back:focus-visible { color: #ffd47e; }
.map-directory-heading h2 { margin: 3px 0 4px; }.map-directory-heading p { margin: 0; color: var(--muted); font-size: .76rem; }
.map-directory-group { margin-top: 20px; }.map-directory-group + .map-directory-group { padding-top: 17px; border-top: 1px solid #ffffff12; }
.map-directory-group h3 { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 9px; color: #c4d6e6; font-size: .72rem; letter-spacing: .07em; text-transform: uppercase; }
.map-directory-group h3 span { min-width: 24px; padding: 2px 7px; border-radius: 999px; color: #07131f; text-align: center; background: #49d59d; font-size: .65rem; }.map-directory-group.disconnected h3 span { color: #d9e3eb; background: #485b6c; }
.map-directory-list { display: grid; gap: 7px; }
.map-directory-user { width: 100%; display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 8px; border: 1px solid #274158; border-radius: 10px; color: #edf5fb; text-align: left; background: #081724; }
.map-directory-user:hover,.map-directory-user:focus-visible { border-color: #f0a417aa; background: #102338; transform: translateX(2px); }
.map-directory-user .map-driver-avatar { width: 42px; height: 42px; }.map-directory-user-copy { min-width: 0; }.map-directory-user-copy strong,.map-directory-user-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.map-directory-user-copy small { margin-top: 3px; color: #9fb3c5; font-size: .66rem; }.map-directory-user-copy small i { display: inline-block; width: 7px; height: 7px; margin-right: 5px; border-radius: 50%; background: #718092; }
.map-connection-mode { width: max-content; max-width: 100%; display: inline-flex; align-items: center; gap: 6px; margin: 1px 0 6px; padding: 4px 8px; border: 1px solid #168ee355; border-radius: 999px; color: #9fd7ff; background: #168ee315; font-size: .69rem; font-weight: 850; line-height: 1; }
.map-connection-mode svg { width: 16px; height: 16px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.map-connection-mode.convoy { color: #65e4a9; border-color: #35c58a77; background: #35c58a18; box-shadow: 0 0 10px #35c58a20; }
.map-connection-mode.individual { color: #82cfff; border-color: #168ee366; background: #168ee318; }
.map-connection-mode.offline { color: #91a2b2; border-color: #71809255; background: #71809214; }
.map-connection-mode.compact { gap: 4px; margin: 0 0 2px; padding: 2px 6px; font-size: .59rem; }
.map-connection-mode.compact svg { width: 13px; height: 13px; }
.map-driver-picker-copy { min-width: 0; display: block; }
.map-directory-user.state-driving small i { background: #35c58a; }.map-directory-user.state-pause small i { background: #f0a417; }.map-directory-user.state-rest small i { background: #168ee3; }.map-directory-user.state-other small i { background: #a57be8; }
.map-directory-arrow { color: #718da5; font-size: 1.35rem; line-height: 1; }.map-directory-empty { padding: 12px; border: 1px dashed #30475b; border-radius: 9px; color: var(--muted); text-align: center; font-size: .72rem; }
.map-active-alerts { margin-top: 22px; padding-top: 18px; border-top: 1px solid #ffffff18; }
.map-active-alert-heading { display: grid; gap: 3px; margin-bottom: 10px; }
.map-active-alert-heading strong { display: inline-flex; align-items: center; gap: 6px; color: #f3f8fc; font-size: .92rem; }
.map-active-alert-heading small { color: var(--muted); font-size: .66rem; }
.map-active-alert-list { display: grid; gap: 9px; }
.map-active-alert-card { --alert-glow: #ff263b; width: 100%; display: grid; grid-template-columns: 54px minmax(0,1fr); gap: 10px; align-items: start; padding: 10px; border: 1px solid color-mix(in srgb,var(--alert-glow) 62%,#263f58); border-radius: 11px; color: #eef6fb; text-align: left; background: linear-gradient(135deg,color-mix(in srgb,var(--alert-glow) 9%,#081522),#081522 56%); box-shadow: 0 6px 18px #0005; animation: map-active-alert-flash 1.05s ease-in-out infinite; }
.map-active-alert-card:hover,.map-active-alert-card:focus-visible,.map-active-alert-card.selected { border-color: color-mix(in srgb,var(--alert-glow) 88%,#fff); background: linear-gradient(135deg,color-mix(in srgb,var(--alert-glow) 18%,#0b1a28),#0b1a28 60%); outline: none; transform: translateX(2px); }
.map-active-alert-card.selected { box-shadow: 0 0 0 2px color-mix(in srgb,var(--alert-glow) 42%,transparent),0 8px 22px #0007; }
.map-active-alert-card[data-alert-type="congestion"] { --alert-glow: #ff8b36; }
.map-active-alert-card[data-alert-type="police"] { --alert-glow: #388dff; }
.map-active-alert-card[data-alert-type="v16"] { --alert-glow: #ffae18; }
.map-active-alert-icon { width: 54px; height: 49px; display: grid; place-items: center; }
.map-active-alert-icon img { width: 100%; height: 100%; display: block; object-fit: contain; }
.map-active-alert-copy,.map-active-alert-copy strong,.map-active-alert-copy small,.map-active-alert-copy > span { min-width: 0; display: block; }
.map-active-alert-copy > strong { color: color-mix(in srgb,var(--alert-glow) 72%,#fff); font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; }
.map-active-alert-copy > small { margin: 2px 0 4px; color: #fff; font-size: .72rem; font-weight: 850; }
.map-active-alert-copy > span { color: #abc0d1; font-size: .67rem; }
.map-active-alert-copy > span .map-inline-country-flag { margin-right: 3px; vertical-align: -4px; }
.map-active-alert-road { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 8px; align-items: center; margin-top: 8px; padding: 7px 8px; border: 1px solid #ffffff16; border-radius: 8px; background: #06111dcc; }
.map-active-alert-road strong,.map-active-alert-road small { display: block; }
.map-active-alert-road strong { color: #eaf5fc; font-size: .67rem; }
.map-active-alert-road small { margin-top: 2px; color: #91aabd; font-size: .61rem; }
.map-alert-road-icon { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 7px; color: #fff; background: #168ee3; }
.map-alert-road-icon.secondary { background: #626f7c; }
.map-alert-road-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
@keyframes map-active-alert-flash { 0%,100% { box-shadow: 0 6px 18px #0005,0 0 0 0 color-mix(in srgb,var(--alert-glow) 0%,transparent); } 50% { box-shadow: 0 6px 18px #0007,0 0 0 3px color-mix(in srgb,var(--alert-glow) 28%,transparent); } }
.map-alert-detail { --alert-glow: #ff263b; }
.map-alert-detail[data-alert-type="congestion"] { --alert-glow: #ff8b36; }.map-alert-detail[data-alert-type="police"] { --alert-glow: #388dff; }.map-alert-detail[data-alert-type="v16"] { --alert-glow: #ffae18; }
.map-alert-detail-heading { display: grid; grid-template-columns: 74px minmax(0,1fr); gap: 13px; align-items: center; padding: 12px; border: 1px solid color-mix(in srgb,var(--alert-glow) 60%,#284158); border-radius: 13px; background: linear-gradient(135deg,color-mix(in srgb,var(--alert-glow) 13%,#081522),#081522); }
.map-alert-detail-heading h2 { margin: 3px 0; color: color-mix(in srgb,var(--alert-glow) 72%,#fff); }.map-alert-detail-heading p { margin: 0; color: #eef6fb; font-weight: 800; }
.map-alert-detail-icon { width: 74px; height: 68px; display: grid; place-items: center; }.map-alert-detail-icon img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 0 8px color-mix(in srgb,var(--alert-glow) 45%,transparent)); }
.map-alert-detail-location { display: grid; gap: 3px; margin: 12px 0; padding: 10px 12px; border: 1px solid #ffffff18; border-radius: 10px; background: #071522; }.map-alert-detail-location strong { display: inline-flex; align-items: center; gap: 6px; color: #f4f8fb; }.map-alert-detail-location small { color: #9eb4c6; }
.map-alert-detail-road { display: grid; grid-template-columns: 40px minmax(0,1fr); gap: 10px; align-items: center; margin-bottom: 13px; padding: 9px 10px; border: 1px solid #ffffff18; border-radius: 10px; background: #06111dcc; }.map-alert-detail-road span:last-child { min-width: 0; display: grid; gap: 2px; }.map-alert-detail-road small,.map-alert-detail-road em { color: #91aabd; font-size: .68rem; font-style: normal; }.map-alert-detail-road strong { color: #eef6fb; font-size: .78rem; }
.map-alert-focus { width: 100%; margin-top: 12px; }
.map-detail-driver { display: grid; gap: 15px; }
.map-detail-driver-head { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 12px; align-items: center; }
.map-detail-driver-head .map-driver-avatar { width: 64px; height: 64px; }
.map-detail-driver-head h2 { margin: 0 0 3px; overflow-wrap: anywhere; }
.map-detail-driver-head p { margin: 0; }
.map-detail-profile-link { width: 100%; display: grid; grid-template-columns: 64px minmax(0,1fr); gap: 12px; align-items: center; margin: -7px 0 7px; padding: 7px; border: 0; color: inherit; text-align: left; background: transparent; }
.map-detail-profile-link .map-driver-avatar { width: 64px; height: 64px; }
.map-detail-profile-copy { min-width: 0; display: block; }.map-detail-profile-copy h2 { margin: 0 0 3px; overflow-wrap: anywhere; }
.map-detail-profile-link:hover .map-driver-avatar, .map-detail-profile-link:focus-visible .map-driver-avatar { border-color: var(--accent); }
.map-detail-driver-head .map-driver-avatar.offline, .map-detail-profile-link .map-driver-avatar.offline, .map-driver-picker-item .map-driver-avatar.offline, .map-directory-user .map-driver-avatar.offline { border-color: #718092; filter: grayscale(1); box-shadow: none; opacity: 1; }
.map-detail-presence { display: inline-flex; align-items: center; gap: 6px; color: #cbd8e4; }
.map-detail-presence i { width: 10px; height: 10px; border-radius: 50%; background: #718092; }
.map-detail-presence > img { width: 14px; height: 14px; object-fit: contain; filter: brightness(0) invert(1); border-radius: 3px; }
.map-detail-presence.state-driving i { background: #35c58a; }.map-detail-presence.state-pause i { background: #f0a417; }.map-detail-presence.state-rest i { background: #168ee3; }.map-detail-presence.state-other i { background: #a57be8; }
.map-detail-location { display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 9px; align-items: center; margin: 13px 0; padding: 10px 11px; border: 1px solid #168ee344; border-radius: 11px; background: #081827; }
.map-detail-location .map-location-flag { width: 36px; height: 24px; }
.map-detail-location .map-inline-country-flag { width: 36px; height: 24px; }
.map-detail-location strong, .map-detail-location small { display: block; }
.map-detail-location small { margin-top: 2px; color: var(--muted); font-size: .7rem; }
.map-detail-location.unavailable { border-color: var(--line); filter: saturate(.4); }
.map-detail-speed { padding: 15px; border: 1px solid #168ee355; border-radius: 13px; text-align: center; background: #168ee313; }
.map-detail-speed strong { display: block; color: #79d0ff; font-size: 2rem; }.map-detail-speed span { color: var(--muted); font-size: .75rem; text-transform: uppercase; letter-spacing: .1em; }
.map-detail-speed.speeding { border-color: #ff5964aa; background: #ff596419; }.map-detail-speed.speeding strong,.speeding-text { color: #ff6e75 !important; }
.map-detail-route-flags { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: 8px; align-items: center; margin-bottom: 9px; padding: 10px; border: 1px solid #ffffff14; border-radius: 11px; background: #07131f; }
.map-detail-route-link { width: 100%; color: inherit; text-align: left; font: inherit; cursor: pointer; transition: none; }
.map-detail-route-link:hover,.map-detail-route-link:focus-visible { border-color: #f0a41799; outline: none; background: #0b1a28; box-shadow: 0 0 0 3px #f0a41718; transform: none; }
.map-detail-route-flags span { min-width: 0; }.map-detail-route-flags small,.map-detail-route-flags strong { display: block; }.map-detail-route-flags small { color: var(--muted); font-size: .64rem; text-transform: uppercase; }.map-detail-route-flags strong { margin-top: 4px; overflow-wrap: anywhere; font-size: .77rem; }.map-detail-route-flags i { color: var(--accent); font-style: normal; }
.map-detail-route-company-logo { min-height: 68px; display: flex !important; align-items: center; justify-content: flex-start; margin-top: 8px; }
.map-detail-route-company-logo img { width: 78px; height: 68px; object-fit: contain; image-rendering: auto; filter: drop-shadow(0 3px 5px #0008); }
.map-detail-route-flags > span:last-child .map-detail-route-company-logo { justify-content: flex-end; }
.map-detail-cargo-card { width: 100%; display: grid; grid-template-columns: 86px minmax(0,1fr); gap: 12px; align-items: center; margin-bottom: 9px; padding: 10px; border: 1px solid #ffffff14; border-radius: 11px; color: #eef6fd; text-align: left; background: #07131f; }
.map-detail-cargo-card > img { width: 82px; height: 64px; object-fit: contain; }
.map-detail-cargo-card > span,.map-detail-cargo-card small,.map-detail-cargo-card strong,.map-detail-cargo-card em { min-width: 0; display: block; }
.map-detail-cargo-card small { color: var(--muted); font-size: .64rem; font-style: normal; text-transform: uppercase; }
.map-detail-cargo-card strong { margin-top: 4px; overflow-wrap: anywhere; font-size: .86rem; }
.map-detail-cargo-card em { width: fit-content; margin-top: 7px; padding: 3px 8px; border: 1px solid #f0a41766; border-radius: 999px; color: #ffd66f; background: #f0a41714; font-size: .69rem; font-style: normal; font-weight: 850; }
.map-detail-job-speed { display: grid; gap: 4px; margin-bottom: 9px; padding: 12px 13px; border: 1px solid #ffffff24; border-radius: 11px; background: linear-gradient(145deg,#0a1724,#06111d); }
.map-detail-job-speed span { color: #9eb0bf; font-size: .65rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.map-detail-job-speed strong { color: #f4f8fb; font-size: 1.35rem; }
.map-detail-job-speed small { color: #91aabd; font-size: .68rem; }
.map-detail-job-speed.race { border-color: #ff596499; background: linear-gradient(145deg,#2a0c13,#100911); box-shadow: inset 0 0 22px #ff30381a; animation: map-race-warning-pulse 1s ease-in-out infinite alternate; }
.map-detail-job-speed.race strong,.map-detail-job-speed.race small { color: #ff6e75; }
@keyframes map-race-warning-pulse { from { box-shadow: inset 0 0 15px #ff303812,0 0 0 #ff596400; } to { box-shadow: inset 0 0 28px #ff30382b,0 0 15px #ff596438; } }
.map-detail-live-payment { display: grid; gap: 7px; margin-bottom: 9px; padding: 13px; border: 1px solid #2acb8f55; border-radius: 11px; background: linear-gradient(145deg,#092119,#06111d); box-shadow: inset 0 0 24px #1caa7410; }
.map-detail-live-payment > span { color: #9eb9ac; font-size: .65rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.map-detail-live-payment > strong { font-size: 1.55rem; }
.map-detail-live-payment > div { display: grid; gap: 4px; padding-top: 7px; border-top: 1px solid #ffffff10; }
.map-detail-live-payment small { display: flex; justify-content: space-between; gap: 10px; color: var(--muted); font-size: .69rem; }
.map-detail-live-payment b { color: #e7f0f7; font-weight: 750; }
.map-detail-navigation { display: grid; grid-template-columns: 13px minmax(0,1fr); gap: 10px; align-items: center; padding: 11px 12px; border: 1px solid #168ee366; border-radius: 11px; background: linear-gradient(145deg,#071d31,#06111d); }
.map-detail-navigation > i { width: 11px; height: 11px; border-radius: 50%; background: #f0a417; box-shadow: 0 0 9px #f0a417; animation: map-navigation-status-pulse 1s ease-in-out infinite alternate; }
.map-detail-navigation span,.map-detail-navigation strong,.map-detail-navigation small { min-width: 0; display: block; }
.map-detail-navigation strong { color: #dff5ff; font-size: .76rem; }
.map-detail-navigation small { margin-top: 2px; overflow-wrap: anywhere; color: #8eb0c8; font-size: .66rem; }
.map-detail-navigation.ready > i { background: #19aaff; box-shadow: 0 0 10px #19aaff; }
.map-detail-navigation.unavailable { border-color: #ff596455; background: #210b12; }
.map-detail-navigation.unavailable > i { background: #ff5964; box-shadow: none; animation: none; }
@keyframes map-navigation-status-pulse { to { opacity: .35; transform: scale(.72); } }
.map-detail-list { display: grid; gap: 0; margin: 0; }
.map-detail-list div { display: grid; grid-template-columns: 1fr auto; gap: 12px; padding: 9px 0; border-bottom: 1px solid #ffffff0d; }
.map-detail-list dt { color: var(--muted); }.map-detail-list dd { margin: 0; color: #edf4fb; text-align: right; font-weight: 750; }
.map-detail-profile { width: 100%; }
.map-driver-picker h2 { margin-bottom: 5px; }.map-driver-picker > p { margin-top: 0; color: var(--muted); }
.map-driver-picker-list { display: grid; gap: 8px; margin-top: 16px; }
.map-driver-picker-item { width: 100%; display: grid; grid-template-columns: 45px minmax(0,1fr); gap: 11px; align-items: center; padding: 9px; border: 1px solid var(--line); color: #eef5fb; text-align: left; background: #091724; }
.map-driver-picker-item .map-driver-avatar { width: 45px; height: 45px; }.map-driver-picker-item strong { overflow-wrap: anywhere; }
.map-privacy-note { margin: 13px 3px 0; font-size: .78rem; text-align: center; }

@media (max-width: 1350px) {
  .portal.profile-with-awards { grid-template-columns: 246px minmax(0, 1fr); }
  .awards-sidebar { grid-column: 2; position: static; }
  .user-profile-with-sidebar .public-profile-layout { grid-template-columns: minmax(160px, .65fr) minmax(0, 1.35fr); gap: 18px; }
  .user-profile-with-sidebar .public-profile-avatar { min-height: 270px; }
  .user-profile-with-sidebar .public-profile-info h2 { overflow-wrap: anywhere; font-size: clamp(1.9rem, 4vw, 3rem); }
  .delivery-profit-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .event-track { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1100px) {
  .portal.user-profile-with-sidebar { grid-template-columns: 246px minmax(0, 1fr); }
  .user-profile-sidebar { grid-column: 2; position: static; }
  .metric-grid { grid-template-columns: repeat(2, 1fr); }
  .two-columns { grid-template-columns: 1fr; }
  .event-admin-layout { grid-template-columns: 1fr; }
  .company-admin-layout { grid-template-columns: 1fr; }
  .fleet-summary, .fleet-cards { grid-template-columns: repeat(2, 1fr); }
  .garage-location-summary, .economy-expense-grid { grid-template-columns: repeat(2, 1fr); }
  .economy-chart-grid { grid-template-columns: 1fr; }
  .delivery-profit-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .delivery-history-finance { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .community-map-shell { grid-template-columns: 1fr; }
  .community-statistics-chart-heading { align-items: flex-start; flex-direction: column; }
  .statistics-chart-totals { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .community-map-detail { height: auto; min-height: 0; overflow: visible; border-left: 0; border-top: 1px solid var(--line); }
  .map-detail-driver { grid-template-columns: minmax(220px, .8fr) minmax(280px, 1.2fr); align-items: start; }
  .garage-vehicle-layout { grid-template-columns: 1fr; }
  .garage-vehicle-information { border-right: 0; border-bottom: 1px solid #ffffff12; }
}
@media (max-width: 820px) {
  main { padding: 18px; }
  .event-ai-preview { grid-template-columns: 1fr; }
  .portal, .portal.profile-with-awards, .portal.user-profile-with-sidebar { grid-template-columns: 1fr; }
  .sidebar { position: static; overflow-x: auto; padding: 9px; }
  .awards-sidebar, .user-profile-sidebar { grid-column: 1; }
  .user-profile-sidebar { position: static; }
  .profile-context-nav { grid-template-columns: repeat(4, minmax(150px, 1fr)); overflow-x: auto; }
  .profile-context-nav button { min-width: 180px; }
  .sidebar nav { display: flex; width: max-content; }
  .sidebar .nav-title { display: none !important; }
  .sidebar nav button { width: auto; white-space: nowrap; }
  .auth-grid { grid-template-columns: 1fr; }
  .page-heading { min-height: 0; }
  .driver-stats > div { grid-template-columns: 1fr 1fr; }
  .event-hero { grid-template-columns: 1fr; }
  .public-profile-layout { grid-template-columns: 1fr; }
  .profile-hero-card { grid-template-columns: 160px minmax(0, 1fr); }
  .profile-avatar-frame { width: 160px; border-radius: 22px; }
  .insurance-office-profile { grid-template-columns: minmax(180px, 240px) minmax(0, 1fr); }
  .garage-vehicle-grid { grid-template-columns: 1fr; }
  .garage-vehicle-carousel { padding-inline: 35px; }
  .garage-carousel-arrow { width: 29px; height: 54px; font-size: 1.9rem; }
  .garage-carousel-counter { right: 35px; }
  .community-map-shell:fullscreen, .community-map-shell.map-fullscreen-fallback { grid-template-columns: 1fr; }
  .community-map-shell:fullscreen .community-map-detail, .community-map-shell.map-fullscreen-fallback .community-map-detail { display: none; }
}
@media (max-width: 560px) {
  .delivery-admin-controls { align-items: stretch; flex-direction: column; }
  .delivery-admin-actions { display: grid; grid-template-columns: 1fr; }
  .delivery-admin-actions .button { width: 100%; }
  .dgt-ticket-header { grid-template-columns: 105px 1fr; }
  .dgt-ticket-header img { width: 100px; height: auto; }
  .dgt-ticket-reference { grid-column: 1/-1; }
  .dgt-ticket-grid { grid-template-columns: 1fr; }
  .dgt-ticket-payment-action { align-items: stretch; flex-direction: column; }
  .dgt-ticket-payment-action small { max-width: none; }
  .topbar { align-items: flex-start; }
  #sessionUser { display: none !important; }
  .metric-grid, .details-grid { grid-template-columns: 1fr; }
  .fleet-summary, .fleet-cards { grid-template-columns: 1fr; }
  .garage-location-summary, .economy-expense-grid { grid-template-columns: 1fr; }
  .garage-vehicle-carousel { padding-inline: 25px; }
  .garage-carousel-counter { right: 25px; }
  .garage-vehicle-head { align-items: flex-start; padding: 13px; }
  .garage-vehicle-title { align-items: flex-start; }
  .garage-vehicle-title > span { width: 43px; height: 43px; }
  .garage-vehicle-title img { width: 34px; height: 34px; }
  .garage-vehicle-layout .fleet-details.compact { grid-template-columns: 1fr; }
  .garage-vehicle-information, .garage-diagnostics { padding: 14px; }
  .garage-diagnostics-head { grid-template-columns: 42px minmax(0,1fr); }
  .garage-diagnostics-vehicle { width: 42px; height: 42px; }
  .garage-diagnostics-vehicle img { width: 34px; height: 34px; }
  .garage-diagnostics-totals { grid-column: 1/-1; justify-content: flex-start; text-align: left; }
  .garage-diagnostic-columns, .garage-diagnostic-row { grid-template-columns: minmax(82px,.85fr) minmax(76px,1fr) minmax(86px,1fr); gap: 7px; }
  .garage-diagnostic-columns, .garage-diagnostic-row { padding-inline: 8px; }
  .garage-diagnostic-component { gap: 5px; }
  .garage-diagnostic-component > span { width: 27px; height: 27px; }
  .garage-diagnostic-component img { width: 24px; height: 24px; }
  .garage-diagnostic-component strong { font-size: .64rem; }
  .garage-diagnostic-value > span { display: block; }
  .garage-diagnostic-value small, .garage-diagnostic-value strong { display: block; }
  .profile-context-nav { grid-template-columns: 1fr; overflow: visible; }
  .profile-context-nav button { min-width: 0; }
  .selected-user-context.profile-context-with-mail { grid-template-columns: 46px minmax(0,1fr) 40px; }
  .selected-user-context.profile-context-with-mail .profile-side-avatar { width: 46px; height: 46px; }
  .profile-mail-button { width: 40px; height: 40px; }
  .inbox-message summary { padding: 13px 12px; }
  .inbox-message-body { padding: 0 12px 13px; }
  .dgt-payment-form { grid-template-columns: 1fr; }
  .mail-reply-form { grid-template-columns: 1fr; }
  .mail-attachment { grid-template-columns: 78px minmax(0,1fr); }
  .mail-attachment-preview { width: 78px; height: 58px; }
  .mail-attachment .button { grid-column: 1 / -1; width: 100%; }
  .mail-compose-dialog { width: calc(100% - 16px); max-height: calc(100dvh - 16px); border-radius: 14px; }
  .mail-compose-card { max-height: calc(100dvh - 16px); padding: 18px; }
  .mail-compose-recipient-grid { grid-template-columns: 1fr; gap: 0; }
  .mail-compose-card textarea { min-height: 150px; }
  .delivery-profit-grid { grid-template-columns: 1fr; }
  .delivery-history-card-head { align-items: flex-start; flex-direction: column; }
  .delivery-history-completed { justify-items: start; text-align: left; }
  .delivery-history-route { grid-template-columns: 1fr; }
  .delivery-history-route-arrow { justify-self: center; transform: rotate(90deg); }
  .delivery-history-trip, .delivery-history-finance { grid-template-columns: 1fr; }
  .delivery-history-cargo { grid-template-columns: 68px minmax(0,1fr); }
  .delivery-history-cargo-image { width: 68px; height: 54px; }
  .delivery-history-cargo img { width: 58px; height: 44px; }
  .delivery-cargo-title { align-items: flex-start; gap: 9px; }
  .delivery-cargo-title > img { width: 66px; height: 52px; }
  .delivery-route-companies { grid-template-columns: 1fr; text-align: center; }
  .delivery-route-companies span:last-child { text-align: center; }
  .economy-chart-row { grid-template-columns: 86px minmax(70px, 1fr) 92px; gap: 8px; }
  .event-carousel { padding: 0 34px; }
  .event-track { grid-template-columns: 1fr; }
  .community-events-grid, .company-grid { grid-template-columns: 1fr; }
  .company-card { grid-template-columns: 110px minmax(0, 1fr); gap: 12px; padding: 13px; }
  .company-card-logo { width: 110px; border-radius: 14px; }
  .event-route { grid-template-columns: 1fr; }
  .event-route-arrow { justify-self: center; transform: rotate(90deg); }
  .event-hero-info-heading { grid-template-columns: minmax(0, 1fr) 84px; gap: 12px; }
  .event-detail-cargo-logo { width: 64px; height: 64px; }
  .event-detail-cargo-card { padding: 7px 6px; }
  .event-detail-cargo-card .event-detail-cargo-logo { width: 48px; height: 48px; }
  .carousel-arrow { width: 30px; height: 48px; }
  .carousel-footer { flex-direction: column; align-items: center; gap: 3px; }
  .page-heading { flex-direction: column; }
  .filters, .dialog-actions { flex-direction: column; }
  .filters select { width: 100%; }
  .button { width: 100%; }
  td .button { width: auto; }
  .public-profile-stats { grid-template-columns: 1fr; }
  .public-users-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .profile-hero-card { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .profile-hero-meta { justify-content: center; }
  .my-profile-presence { margin-inline: auto; }
  .profile-avatar-frame { width: min(78vw, 230px); }
  .avatar-dialog-card { padding: 20px; }
  .avatar-choice-grid { grid-template-columns: 1fr; }
  .starter-choice-grid,.starter-grant-summary { grid-template-columns: 1fr; }
  .openai-setting-meta { grid-template-columns: 1fr; }
  .company-profile { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .company-profile-logo { width: min(75vw, 345px); }
  .company-profile-meta { justify-content: center; }
  .company-location-fields { grid-template-columns: 1fr; }
  .job-offers-layout { grid-template-columns: 1fr; }
  .job-offer-card header { grid-template-columns: 64px minmax(0,1fr); }
  .job-offer-company-logo { width: 64px; }
  .job-offer-card header > strong { grid-column: 1 / -1; text-align: left; }
  .job-offer-card dl { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .company-map-selection-banner { min-width: calc(100% - 24px); flex-wrap: wrap; }
  .insurance-office-profile { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .office-profile-logo-frame { width: min(72vw, 280px); }
  .office-side-context { grid-template-columns: 64px minmax(0, 1fr); gap: 11px; }
  .office-side-logo { width: 64px; height: 64px; padding: 8px; border-radius: 14px; }
  .insurance-company-card { grid-template-columns: 110px minmax(0, 1fr); gap: 12px; padding: 13px; }
  .insurance-company-logo { width: 110px; border-radius: 14px; }
  .insurance-company-meta { grid-template-columns: 1fr; }
  .community-map-viewport { height: 62vh; min-height: 430px; }
  .map-toolbar { align-items: stretch; }
  .map-toolbar .status-pill { width: 100%; margin-left: 0; }
  .community-map-filters { left: 8px; top: 8px; width: min(304px,calc(100% - 68px)); }
  .map-settings-dialog { width: calc(100% - 16px); max-height: calc(100dvh - 16px); }
  .map-settings-card { max-height: calc(100dvh - 16px); padding: 18px; }
  .map-country-mode-list { grid-template-columns: 1fr; }
  .map-country-mode-list label:first-child { grid-column: auto; }
  .map-navigation-dialog { width: calc(100% - 16px); max-height: calc(100dvh - 16px); }
  .map-navigation-card { max-height: calc(100dvh - 16px); padding: 18px; }
  .map-navigation-mode-list { grid-template-columns: 1fr; }
  .map-navigation-voice-picker { grid-template-columns: 1fr; }.map-navigation-voice-picker .button { width: 100%; }
  .map-navigation-waypoints-heading { align-items: stretch; flex-direction: column; }
  .map-navigation-waypoints-heading > div:last-child { justify-content: stretch; }.map-navigation-waypoints-heading > div:last-child button { flex: 1; }
  .map-country-choice-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .map-appearance-settings { grid-template-columns: 1fr; }
  .map-filter-icon-size-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .community-map-alert-panel { right: 58px; top: 8px; }
  .map-navigation-3d-hud { top: auto; bottom: 72px; min-width: 0; width: min(340px,calc(100% - 92px)); grid-template-columns: 50px minmax(0,1fr); padding: 8px 12px 8px 8px; }
  .map-navigation-3d-arrow { width: 46px; height: 46px; }.map-navigation-3d-arrow svg { width: 34px; height: 34px; }
  .community-map-alert-actions { gap: 4px; padding: 5px; }
  .community-map-alert-actions button { width: 43px; height: 43px; padding: 4px; }
  .community-map-alert-actions img { width: 34px; height: 34px; }
  .map-own-speed-limit { right: 60px; bottom: 8px; width: 68px; padding: 4px; }
  .map-own-speed-limit img { width: 58px; height: 58px; }
  .map-own-speed-limit-current { min-width: 54px; font-size: .58rem; }
  .community-map-legend { left: 8px; right: auto; bottom: 8px; max-width: calc(100% - 66px); padding: 6px 8px; }
  .community-map-bottom-settings { right: 8px; bottom: 8px; width: 42px; height: 42px; }
  .map-detail-driver { grid-template-columns: 1fr; }
  .community-map-legend { justify-content: center; }
  .map-driver-label { display: none; }
  .user-data-page, .economy-chart-grid, .economy-chart-card, .economy-table, .table-wrap { min-width: 0; max-width: 100%; }
  .page-heading > .lock-label { width: 100%; min-height: 0; padding: 0; background: transparent; overflow-wrap: anywhere; }
  .economy-chart-row { grid-template-columns: 1fr; gap: 6px; }
  .economy-chart-row > strong { text-align: left; }
  .community-statistics-chart-card { padding-left: 38px; padding-right: 12px; }
  .community-statistics-chart { min-height: 285px; }
  .community-statistics-chart svg { min-width: 620px; }
  .statistics-period-tabs { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .statistics-period-tabs button { width: 100%; min-width: 0; }
  .statistics-range-navigation { grid-template-columns: 34px minmax(0,1fr) 34px; gap: 6px; }
  .statistics-range-arrow { width: 34px; height: 34px; }
  .statistics-range-center { flex-direction: column; gap: 5px; }
  .statistics-range-center > p { width: 100%; white-space: normal; }
  .statistics-range-center label { width: min(100%,180px); }
  .statistics-participation { width: 90px; }
  .statistics-chart-totals { grid-template-columns: 1fr; }
}
@media print { body * { visibility: hidden !important; } #dgtDocumentDialog,#dgtDocumentDialog * { visibility: visible !important; } #dgtDocumentDialog { position: absolute; inset: 0; border: 0; width: 100%; max-width: none; } .no-print { display: none !important; } .dgt-ticket { box-shadow: none; } }
@media (max-width: 390px) { .public-users-grid { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .tax-employee-card { align-items: stretch; flex-direction: column; }.tax-employee-card > div { justify-items: start; text-align: left; }.company-tax-identity { grid-template-columns: 1fr; }.company-tax-identity > .company-profile-logo { width: min(230px,100%); }.company-tax-identity dl { grid-template-columns: 1fr; } }
/* Mercado comunitario de camiones y remolques */
.vehicle-market-panel{margin-top:1.25rem}.vehicle-market-filters{display:flex;flex-wrap:wrap;gap:.45rem}.vehicle-market-filters button{border:1px solid #2b4661;background:#0a1827;color:#a9bfd5;border-radius:999px;padding:.48rem .8rem;cursor:pointer}.vehicle-market-filters button.active{border-color:#f6a800;background:#3a2b08;color:#ffd36d}.vehicle-market-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:1rem;margin-top:1rem}.vehicle-market-card{border:1px solid #28445f;background:linear-gradient(145deg,#102238,#091727);border-radius:16px;padding:1rem;display:flex;flex-direction:column;gap:1rem;box-shadow:0 12px 28px #0004}.vehicle-market-card-head{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:.85rem;align-items:center}.vehicle-market-card-logo{width:72px;height:72px;border-radius:12px;background:#071321;border:1px solid #28445f;display:grid;place-items:center;overflow:hidden}.vehicle-market-card-logo img{width:82%;height:82%;object-fit:contain}.vehicle-market-card-logo span{font-size:2rem}.vehicle-market-card h3{margin:.35rem 0 .15rem;font-size:1.1rem}.vehicle-market-seller{padding:0;border:0;background:none;color:#80b9e9;text-align:left;cursor:pointer}.vehicle-market-seller:hover{text-decoration:underline}.vehicle-market-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.vehicle-market-details span{border:1px solid #203b55;border-radius:10px;padding:.65rem;color:#8fa9c3;font-size:.78rem}.vehicle-market-details strong{display:block;margin-top:.18rem;color:#eef7ff;font-size:.95rem}.vehicle-market-price{display:flex;justify-content:space-between;align-items:end;border-top:1px solid #203b55;padding-top:.85rem}.vehicle-market-price span{color:#91abc4}.vehicle-market-price strong{font-size:1.45rem;color:#56dfac}.vehicle-market-actions{display:flex;align-items:center;gap:.65rem;min-height:42px}.market-transaction-card{opacity:.88}.vehicle-market-note{margin-top:1rem}.vehicle-market-dialog .dialog-card{width:min(620px,calc(100vw - 2rem))}.vehicle-market-dialog-preview{display:flex;align-items:center;gap:1rem;border:1px solid #29455f;background:#091727;border-radius:12px;padding:1rem;margin:.85rem 0}.vehicle-market-preview-logo{width:74px;height:74px;display:grid;place-items:center;background:#06111e;border-radius:10px;flex:none}.vehicle-market-preview-logo img{width:84%;height:84%;object-fit:contain}.vehicle-market-dialog-preview>div:last-of-type{display:flex;flex-direction:column;gap:.28rem;min-width:0}.vehicle-market-dialog-preview small{color:#9db2c8}.vehicle-market-dialog-price{margin-left:auto;color:#55dfac;font-size:1.35rem;white-space:nowrap}.market-status-active{color:#5ce4af}.market-status-sellerpending,.market-status-buyerpending{color:#ffc65c}.market-status-completed{color:#73baff}.market-status-cancelled{color:#9aaabd}@media(max-width:720px){.vehicle-market-grid{grid-template-columns:1fr}.vehicle-market-card-head{grid-template-columns:62px minmax(0,1fr)}.vehicle-market-card-logo{width:62px;height:62px}.vehicle-market-card-head>.status-pill{grid-column:1/-1;justify-self:start}.vehicle-market-filters{margin-top:.6rem}.vehicle-market-details{grid-template-columns:1fr 1fr}}
/* Mercado de piezas y garaje de despiece */
.vehicle-market-mode{display:flex;gap:8px;margin:0 0 18px;padding:6px;width:max-content;max-width:100%;border:1px solid #29435d;border-radius:16px;background:#081522;overflow:auto}.vehicle-market-mode button{border:0;border-radius:11px;padding:10px 16px;color:#9fb6ca;background:transparent;font-weight:800;white-space:nowrap;cursor:pointer}.vehicle-market-mode button.active{color:#07131f;background:linear-gradient(135deg,#ffb000,#ffd15a);box-shadow:0 8px 24px #ffad0030}.salvage-market-head{align-items:end}.salvage-market-head label{min-width:280px;color:#9eb4c9;font-size:.82rem}.salvage-market-head select{display:block;width:100%;margin-top:5px}.salvage-category-filters{margin:2px 0 18px}.salvage-parts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:16px}.salvage-part-card{display:grid;grid-template-columns:132px minmax(0,1fr);min-height:300px;border:1px solid #254058;border-radius:18px;overflow:hidden;background:linear-gradient(145deg,#10243a,#091625);box-shadow:0 18px 42px #020a1280}.salvage-part-card:hover{border-color:#ffb000;transform:translateY(-2px);transition:.2s ease}.salvage-part-visual{position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 46%,#1e5170,#091523 70%);border-right:1px solid #274359}.salvage-part-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(#37d6ff16 1px,transparent 1px),linear-gradient(90deg,#37d6ff16 1px,transparent 1px);background-size:16px 16px;transform:perspective(300px) rotateX(48deg) scale(1.4)}.salvage-part-visual img,.salvage-inventory-icon img,.salvage-preview-icon img{position:relative;z-index:1;max-width:88%;max-height:120px;object-fit:contain;filter:drop-shadow(0 9px 14px #000b)}.salvage-part-symbol{position:relative;z-index:1;display:block;width:72px;height:72px;border:7px solid #50dcff;border-radius:18px;filter:drop-shadow(0 0 9px #29d9ff99)}.salvage-symbol-engine:before,.salvage-symbol-transmission:before,.salvage-symbol-chassis:before,.salvage-symbol-body:before,.salvage-symbol-wheels:before{content:"";position:absolute;inset:18px;background:#50dcff;border-radius:5px}.salvage-symbol-transmission{transform:rotate(45deg);border-radius:50%}.salvage-symbol-chassis{height:24px;border-radius:7px}.salvage-symbol-body{border-radius:36px 12px 12px}.salvage-symbol-wheels{border-radius:50%;border-width:12px}.salvage-symbol-wheels:before{border-radius:50%;background:#0a1927}.salvage-scan-mini{position:absolute;z-index:2;left:0;right:0;height:2px;background:#7df4ff;box-shadow:0 0 14px 5px #24d8ff;animation:salvage-scan 2.7s linear infinite}.salvage-part-main{display:flex;flex-direction:column;padding:18px;min-width:0}.salvage-part-title{display:flex;gap:12px;justify-content:space-between;align-items:start}.salvage-part-title h3,.salvage-inventory-card h3{margin:6px 0 2px;overflow-wrap:anywhere}.salvage-history-card{opacity:.8}.salvage-garage-panel{overflow:hidden}.salvage-workshop{display:grid;grid-template-columns:minmax(420px,1.6fr) minmax(220px,.7fr);gap:18px;margin-bottom:20px}.salvage-scanner{position:relative;min-height:350px;border:1px solid #24506b;border-radius:20px;overflow:hidden;background:radial-gradient(ellipse at 50% 90%,#14506d 0,#0a1b2a 53%,#06111b 100%);box-shadow:inset 0 0 70px #02101c,0 20px 50px #02091199}.salvage-scanner:before{content:"";position:absolute;left:-20%;right:-20%;bottom:-28%;height:66%;background:linear-gradient(#34d9ff25 1px,transparent 1px),linear-gradient(90deg,#34d9ff25 1px,transparent 1px);background-size:34px 25px;transform:perspective(260px) rotateX(58deg)}.salvage-truck-shape{position:absolute;left:13%;right:12%;top:25%;height:50%;filter:drop-shadow(0 0 15px #23d8ff80)}.salvage-cab,.salvage-body{position:absolute;border:3px solid #54e6ff;background:#33d6ff1c}.salvage-cab{left:0;bottom:16%;width:28%;height:58%;clip-path:polygon(22% 0,100% 0,100% 100%,0 100%,0 35%)}.salvage-body{left:30%;right:2%;bottom:22%;height:57%}.salvage-wheel{position:absolute;bottom:2%;width:14%;aspect-ratio:1;border:7px solid #4de4ff;border-radius:50%;background:#07131f}.wheel-one{left:11%}.wheel-two{left:53%}.wheel-three{right:4%}.salvage-scanner>button{position:absolute;z-index:4;left:var(--x);top:var(--y);transform:translate(-50%,-50%);border:1px solid #56eaff;border-radius:999px;padding:5px 9px;color:#c8f8ff;background:#061421df;box-shadow:0 0 0 5px #22d7ff1e,0 0 17px #24d9ff66;font-size:.72rem;font-weight:900;cursor:pointer}.salvage-scanner>button:hover,.salvage-scanner>button.active{color:#0c1720;background:#ffb000;border-color:#ffd56c;box-shadow:0 0 22px #ffae00}.salvage-scan-beam{position:absolute;z-index:3;left:0;right:0;height:3px;background:#65f2ff;box-shadow:0 0 24px 8px #20d4ff80;animation:salvage-scan 4s ease-in-out infinite}.salvage-scan-caption{position:absolute;z-index:4;left:20px;bottom:15px;color:#7ceeff;font-size:.72rem;letter-spacing:.17em;font-weight:900}.salvage-scan-caption span{display:inline-block;width:8px;height:8px;border-radius:50%;background:#4cff9d;box-shadow:0 0 10px #4cff9d;animation:salvage-pulse 1s infinite}.salvage-garage-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px}.salvage-garage-summary>div{display:flex;flex-direction:column;padding:15px;border:1px solid #264159;border-radius:15px;background:#091827}.salvage-garage-summary span{color:#94acc1;font-size:.78rem}.salvage-garage-summary strong{font-size:1.45rem;color:#fff}.salvage-inventory-card{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px;border:1px solid #263f56;border-radius:17px;background:linear-gradient(145deg,#102338,#091624);box-shadow:0 12px 30px #02091080}.salvage-inventory-card:hover{border-color:#38d9ff}.salvage-inventory-card small{display:block;color:#94abc0}.salvage-inventory-icon{position:relative;display:grid;place-items:center;min-height:100px;border-radius:14px;background:radial-gradient(circle,#174663,#081522)}.salvage-inventory-icon .salvage-part-symbol{transform:scale(.62)}.salvage-condition-ring{position:absolute;inset:8px;border-radius:50%;border:2px dashed #2edcf5;opacity:.45;animation:salvage-rotate 10s linear infinite}.salvage-bars{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.salvage-bars label{font-size:.72rem;color:#9db1c3}.salvage-bars label span{float:right}.salvage-bars i{display:block;height:5px;margin-top:5px;border-radius:5px;background:#05101a;overflow:hidden}.salvage-bars b{display:block;height:100%;background:linear-gradient(90deg,#17976d,#48f0ac)}.salvage-bars .damage b{background:linear-gradient(90deg,#ffb000,#ff5865)}.salvage-inventory-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch;min-width:105px}.salvage-warning{display:flex;flex-direction:column;gap:5px;padding:14px;border:1px solid #ad3946;border-radius:13px;background:#47162180;color:#ffc5ca}.confirm-check{display:flex!important;align-items:center;gap:9px}.confirm-check input{width:auto!important}.salvage-preview-icon{background:#0b2033}.salvage-preview-icon .salvage-part-symbol{transform:scale(.55)}
@keyframes salvage-scan{0%{top:7%}50%{top:90%}100%{top:7%}}@keyframes salvage-pulse{50%{opacity:.25;transform:scale(.7)}}@keyframes salvage-rotate{to{transform:rotate(360deg)}}
@media(max-width:900px){.salvage-workshop{grid-template-columns:1fr}.salvage-scanner{min-height:300px}.salvage-parts-grid{grid-template-columns:1fr}.salvage-market-head{align-items:stretch}.salvage-market-head label{min-width:0}.salvage-inventory-card{grid-template-columns:82px 1fr}.salvage-inventory-actions{grid-column:1/-1;flex-direction:row}.salvage-part-card{grid-template-columns:95px 1fr}}@media(max-width:560px){.salvage-part-card{grid-template-columns:1fr}.salvage-part-visual{min-height:120px;border-right:0;border-bottom:1px solid #274359}.salvage-inventory-card{grid-template-columns:1fr}.salvage-bars{grid-template-columns:1fr}.salvage-garage-summary{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.company-logo-editor-grid{grid-template-columns:1fr}.company-editor-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px)}.company-editor-form{max-height:calc(100dvh - 18px)}}
.company-transport-fieldset{margin:0;padding:14px;border:1px solid #29445e;border-radius:14px;background:#081725}.company-transport-fieldset legend{padding:0 7px;color:#d8e9f8;font-weight:800}.company-transport-fieldset legend small{margin-left:6px;color:#8faac2;font-weight:500}.company-transport-tabs{display:flex;flex-wrap:wrap;gap:8px}.company-transport-tabs label{position:relative;cursor:pointer}.company-transport-tabs input{position:absolute;opacity:0;pointer-events:none}.company-transport-tabs span,.company-transport-summary div span{display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;border:1px solid #2a4964;border-radius:999px;color:#a8bfd4;background:#0a1928;font-weight:750}.company-transport-tabs input:checked+span{border-color:#f5aa00;color:#08131d;background:linear-gradient(135deg,#ffae00,#ffd36a);box-shadow:0 7px 18px #ffad0029}.company-profile-simple{align-items:start}.company-profile-simple .company-profile-logo{align-self:start}.company-profile-simple-copy{display:grid;gap:8px;align-self:start}.company-profile-simple-copy h2,.company-profile-simple-copy p{margin:0}.company-profile-simple-copy h2{font-size:clamp(1.65rem,3vw,2.6rem)}.company-profile-simple-copy p:first-of-type{font-size:1.18rem;color:#eaf5ff}.company-profile-simple-copy p:last-of-type{color:#96b2ca}.company-transport-summary{margin-top:20px;padding-top:18px;border-top:1px solid #29435b}.company-transport-summary>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.company-owner-line{display:flex;justify-content:space-between;gap:16px;margin-top:18px;padding:14px 16px;border:1px solid #26634f;border-radius:13px;background:#0c2c23;color:#aeeed4}.company-owner-line strong{color:#55e0aa}
/* Texto escrito por usuarios: conserva párrafos y líneas en blanco en formularios y vistas. */
textarea{white-space:pre-wrap;tab-size:4}.view p,.dialog-card p,.job-offer-card dd,.mail-message-body,.user-entered-text{white-space:pre-line;overflow-wrap:anywhere}
.work-offer-mode{display:flex;gap:8px;margin:0 0 16px}.work-offer-mode button{padding:10px 16px;border:1px solid #29465f;border-radius:999px;background:#071522;color:#9db9ce;font-weight:800;cursor:pointer}.work-offer-mode button.active{border-color:#f6aa00;background:#f6aa00;color:#091522}
.job-offer-main-image{float:left;width:160px;height:160px;margin:17px 0 0 17px;object-fit:cover;border:1px solid #29465f;border-radius:13px}.job-vehicle-requirement{margin:12px 0;padding:13px;border:1px solid #29465f;border-radius:13px}.job-vehicle-requirement .disabled{opacity:.42;pointer-events:none}.job-vehicle-photo{grid-column:1/-1}.job-vehicle-card{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;align-items:center}.job-vehicle-card img{width:90px;height:90px;object-fit:cover;border-radius:12px;background:#071522}.personal-work-scopes{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0;padding:13px;border:1px solid #29465f;border-radius:13px}.personal-work-scopes label{display:flex;align-items:center;gap:7px}.personal-offer-card{padding:18px;border:1px solid #29465f;border-radius:16px;background:linear-gradient(145deg,#13263a,#081622)}.personal-offer-card header{display:flex;align-items:center;gap:12px}.personal-offer-card header img,.personal-offer-card header .avatar-fallback{width:54px;height:54px;border-radius:14px}.personal-offer-card h3,.personal-offer-card p{margin:8px 0}.personal-offer-card footer{display:flex;justify-content:flex-end;margin-top:12px}.personal-offer-scopes{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.personal-offer-scopes span{padding:5px 9px;border-radius:999px;background:#0b1c2b;color:#9fc9e4;font-size:.75rem}.company-applications-head{margin-top:28px;padding-top:22px;border-top:1px solid #29465f}.company-applications-list{display:grid;gap:12px}.company-applications-list article{padding:14px;border:1px solid #29465f;border-radius:13px;background:#081725}.company-applications-list article>div{display:flex;align-items:center;gap:10px}.company-applications-list img,.company-applications-list .avatar-fallback{width:45px;height:45px;border-radius:11px}.company-applications-list span{display:grid}.company-applications-list p{white-space:pre-wrap;overflow-wrap:anywhere}.company-applications-list footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.application-status{margin-top:3px;color:#ffc45c;font-size:.72rem}.application-status.accepted{color:#5ae5ab}
.material-listing-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0;padding:16px;border:1px solid #2b4b65;border-radius:15px;background:#081725}.material-listing-form .wide{grid-column:1/-1}.material-market-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.material-card-grid{display:grid;gap:12px}.material-card{display:grid;grid-template-columns:68px minmax(0,1fr);gap:13px;padding:14px;border:1px solid #29465f;border-radius:14px;background:#091725}.material-card>img{width:68px;height:68px;object-fit:contain;border-radius:12px;background:#06121e}.material-card h4,.material-card p{margin:0 0 6px}.material-card footer{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.material-state{color:#5aebb1;font-weight:800}
@media(max-width:850px){.material-listing-form{grid-template-columns:1fr}.material-listing-form .wide{grid-column:auto}.material-market-columns{grid-template-columns:1fr}}

/* Depósito de combustible de la empresa */
.company-garage-empty{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:24px;min-height:240px;padding:28px}.company-garage-empty h2,.company-garage-empty p{margin:6px 0 14px}.company-garage-empty p{max-width:780px;color:#9bb5cc;line-height:1.65}.company-garage-empty-icon{display:grid;place-items:center;width:112px;height:112px;border:1px solid #24506d;border-radius:28px;background:radial-gradient(circle at 35% 30%,#144a68,#081725 72%);font-size:3.5rem;box-shadow:inset 0 0 30px #1fb9ff14,0 18px 35px #0006}
.company-fuel-depot{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(360px,1.2fr);gap:34px;align-items:center;padding:32px;border:1px solid #26516b;border-radius:24px;background:radial-gradient(circle at 10% 10%,#123b55 0,#0c1e2f 34%,#081522 82%);overflow:hidden;box-shadow:0 20px 55px #0006,inset 0 1px #ffffff0d}.company-fuel-depot.pending{filter:saturate(.72)}
.fuel-depot-visual{position:relative;display:grid;place-items:center;min-height:300px;padding:28px}.fuel-depot-shell{position:relative;width:min(100%,380px);height:230px;border:9px solid #8297a6;border-radius:52px 52px 34px 34px;background:linear-gradient(90deg,#07111a 0 5%,#263d4a 8%,#0d1c27 17% 83%,#263d4a 92%,#07111a 95%);box-shadow:inset 0 0 0 5px #c6d0d46b,inset 0 0 35px #000,0 28px 42px #0008;overflow:hidden}.fuel-depot-shell:before{content:"";position:absolute;z-index:4;left:12%;right:12%;top:19px;height:16px;border-radius:50%;background:linear-gradient(#d6dfe4,#536b79);box-shadow:0 0 0 5px #0a1720,0 4px 8px #0008}.fuel-depot-shell:after{content:"";position:absolute;z-index:5;right:22px;top:72px;width:11px;height:105px;border-radius:8px;background:linear-gradient(#36eeaf,#e4f7eb 50%,#ffad16);box-shadow:0 0 10px #4bffc388}.fuel-depot-liquid{position:absolute;left:5%;right:5%;bottom:4%;height:var(--fuel-level);max-height:91%;border-radius:10px 10px 24px 24px;background:linear-gradient(180deg,#ffe36b 0,#f7b418 25%,#bb6810 100%);box-shadow:0 -8px 22px #ffd84c88,inset 0 12px 22px #fff5a53b;transition:height 1.4s cubic-bezier(.2,.8,.2,1)}.fuel-depot-liquid span{position:absolute;left:-12%;top:-9px;width:124%;height:20px;border-radius:50%;background:#ffe06c;opacity:.75;animation:fuel-wave 4s ease-in-out infinite}.fuel-depot-liquid span+span{top:-5px;opacity:.35;animation-delay:-2s;animation-duration:5.5s}.fuel-depot-gauge{position:absolute;z-index:6;inset:0;display:grid;place-content:center;text-align:center;text-shadow:0 3px 10px #000}.fuel-depot-gauge b{font-size:3.2rem;color:#f8fcff}.fuel-depot-gauge small{font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:#d2e5f2}.fuel-depot-feet{display:flex;justify-content:space-between;width:min(75%,280px)}.fuel-depot-feet i{display:block;width:52px;height:24px;background:linear-gradient(90deg,#354c59,#a3b2ba,#354c59);clip-path:polygon(10% 0,90% 0,100% 100%,0 100%)}
.fuel-depot-liquid.empty{display:none}.company-fuel-depot.fuel-petrol .fuel-depot-liquid{background:linear-gradient(180deg,#b9efff,#4abbd7 35%,#176787);box-shadow:0 -8px 22px #8be4ff88,inset 0 12px 22px #e5fbff4d}.company-fuel-depot.fuel-petrol .fuel-depot-liquid span{background:#b9efff}.company-fuel-depot.fuel-fuel_oil .fuel-depot-liquid{background:linear-gradient(180deg,#7e5b3e,#473021 40%,#18100c);box-shadow:0 -8px 20px #c1935d55,inset 0 12px 22px #ffd19726}.company-fuel-depot.fuel-fuel_oil .fuel-depot-liquid span{background:#8b6849}
.fuel-depot-summary{display:grid;gap:14px}.fuel-depot-summary h2{margin:4px 0 0;font-size:clamp(1.7rem,3vw,2.7rem)}.fuel-depot-summary p{margin:0;max-width:760px;color:#9fb8cc;line-height:1.65}.fuel-depot-main-reading{display:flex;align-items:end;gap:15px;margin-top:8px}.fuel-depot-main-reading strong{font-size:clamp(2.2rem,5vw,4.3rem);line-height:1;color:#50e6ae}.fuel-depot-main-reading strong small{font-size:.42em}.fuel-depot-main-reading span{padding-bottom:8px;color:#91abc1;font-weight:750}.fuel-depot-progress{height:18px;border:1px solid #23465d;border-radius:999px;background:#06121d;overflow:hidden;box-shadow:inset 0 4px 10px #0008}.fuel-depot-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d8850b,#ffd349 60%,#fff0a1);box-shadow:0 0 18px #ffc53199;transition:width 1.3s ease}.status-pill.online i,.status-pill.pending i{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:#4be1a8;box-shadow:0 0 10px #4be1a8}.status-pill.pending i{background:#ffad18;box-shadow:0 0 10px #ffad18}
.fuel-depot-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}.fuel-depot-metrics article{display:grid;gap:6px;min-height:128px;padding:20px;border:1px solid #243f55;border-radius:18px;background:linear-gradient(145deg,#0c1e2f,#081522);box-shadow:inset 0 1px #ffffff08}.fuel-depot-metrics span,.fuel-depot-metrics small{color:#91aec5}.fuel-depot-metrics strong{font-size:1.55rem;color:#eef9ff}.fuel-depot-history{margin-top:18px;padding:26px;border:1px solid #243f55;border-radius:20px;background:#0a1928}.fuel-depot-history td:first-child>span:not(.fuel-movement-icon){display:inline-grid;gap:3px;vertical-align:middle}.fuel-depot-history td small{display:block;color:#91abc0}.fuel-movement-icon{display:inline-grid;place-items:center;width:38px;height:38px;margin-right:10px;border:1px solid #2d5b78;border-radius:11px;background:#0c2739;color:#84d9ff;font-weight:900}.fuel-movement-icon.delivery{color:#55e1a8}.fuel-movement-icon.refuel{color:#ffbd38}.fuel-movement-icon.installation{color:#a6b9c8}
@keyframes fuel-wave{0%,100%{transform:translateX(-1.5%) rotate(-1deg)}50%{transform:translateX(1.5%) rotate(1deg)}}
@media(max-width:980px){.company-fuel-depot{grid-template-columns:1fr}.fuel-depot-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.company-fuel-depot{padding:18px}.fuel-depot-visual{min-height:230px;padding:8px}.fuel-depot-shell{height:190px}.fuel-depot-metrics{grid-template-columns:1fr}.company-garage-empty{grid-template-columns:1fr}.fuel-depot-history{padding:16px}}
/* Company sale controls and extended company profile. */
.company-sale-fieldset{display:grid;gap:12px;margin:0;padding:15px;border:1px solid #29445e;border-radius:14px;background:#081725}.company-sale-fieldset legend{padding:0 7px;color:#d8e9f8;font-weight:800}.company-sale-switch{display:flex!important;align-items:center;gap:12px;padding:12px;border:1px solid #28465f;border-radius:12px;background:#0a1928;cursor:pointer}.company-sale-switch input{width:20px;height:20px;accent-color:#f5aa00}.company-sale-switch span,.company-sale-switch strong,.company-sale-switch small{display:block}.company-sale-switch small{margin-top:3px;color:#8faac2}.company-sale-fieldset label.disabled{opacity:.5}.company-sale-fieldset label.disabled input{pointer-events:none}.company-profile-description{max-width:900px;white-space:pre-wrap;color:#c5d9e9!important;line-height:1.65}.company-profile-facts{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px;margin:12px 0 0}.company-profile-facts>div{padding:13px 15px;border:1px solid #29445e;border-radius:12px;background:#081725}.company-profile-facts dt{margin-bottom:5px;color:#82a7c3;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.company-profile-facts dd{margin:0;color:#edf7ff;font-weight:750}.company-profile-facts dd img{width:28px;height:18px;margin-right:7px;object-fit:cover;vertical-align:middle}.company-card-copy>strong{margin-top:20px!important}.company-card-copy>small{font-size:.92rem}
@media(max-width:700px){.company-profile-facts{grid-template-columns:1fr}}
.raw-material-listing-form{align-items:start}.raw-material-listing-form>label small{display:block;margin-top:.4rem;color:#83a1c4;line-height:1.35}.raw-material-cargo-details{display:grid;grid-template-columns:130px 1fr;gap:1.1rem;align-items:center;padding:1rem;border:1px solid #29445f;border-radius:18px;background:#081726}.raw-material-official-icon{width:120px;height:120px;object-fit:contain;padding:.65rem;border-radius:16px;background:#06111e}.raw-material-cargo-details h3{margin:.25rem 0 .7rem;font-size:1.25rem}.raw-material-cargo-details dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:0}.raw-material-cargo-details dl div{padding:.65rem;border-radius:10px;background:#0d2134}.raw-material-cargo-details dt{color:#83a1c4;font-size:.75rem}.raw-material-cargo-details dd{margin:.2rem 0 0;font-weight:800}.raw-material-trailers{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.8rem}.raw-material-trailers span{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .55rem;border:1px solid #29445f;border-radius:999px;font-size:.78rem}.raw-material-trailers img{width:24px;height:24px;object-fit:contain}.raw-material-image-builder{display:grid;grid-template-columns:minmax(180px,260px) 1fr auto;gap:1rem;align-items:end;padding:1rem;border:1px solid #1e6e67;border-radius:18px;background:linear-gradient(135deg,#09202b,#0c1827)}.raw-material-image-builder legend{padding:0 .5rem;color:#55e8c3;font-weight:900}.raw-material-image-preview{min-height:150px;display:grid;place-items:center;text-align:center;border:1px dashed #376078;border-radius:14px;overflow:hidden;color:#83a1c4}.raw-material-image-preview img{width:100%;aspect-ratio:1;object-fit:cover}.raw-material-image-preview span{padding:.65rem}.raw-material-commercial{position:relative;aspect-ratio:1;overflow:hidden;border-radius:16px;background:#06111e}.raw-material-commercial>img:first-child{width:100%;height:100%;object-fit:cover}.raw-material-cargo-badge{position:absolute;right:.65rem;bottom:.65rem;width:64px!important;height:64px!important;object-fit:contain!important;padding:.35rem;border:1px solid #29445f;border-radius:12px;background:#071422e8}.raw-material-company-line{display:flex;align-items:center;gap:.6rem;margin:.7rem 0}.raw-material-company-line img{width:48px!important;height:48px!important;object-fit:contain!important;border-radius:10px;background:#071422;padding:.3rem}.raw-material-company-line span{font-weight:800}.raw-material-company-line small{display:block;font-weight:400}.warehouse-page{display:grid;gap:1.1rem}.warehouse-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.warehouse-summary article{padding:1rem;border:1px solid #29445f;border-radius:16px;background:#0c1d30}.warehouse-summary span,.warehouse-summary small{display:block;color:#83a1c4}.warehouse-summary strong{display:block;margin:.35rem 0;color:#55e8c3;font-size:1.35rem}.warehouse-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(390px,1fr));gap:1rem}.warehouse-card{display:grid;grid-template-columns:145px 1fr;gap:1.1rem;padding:1rem;border:1px solid #29445f;border-radius:20px;background:#0c1d30}.warehouse-product-image{position:relative;display:grid;place-items:center;min-height:145px;border-radius:16px;background:#06111e}.warehouse-product-image img{width:125px;height:125px;object-fit:contain}.warehouse-product-image span{position:absolute;left:.5rem;right:.5rem;bottom:.5rem;padding:.3rem;border-radius:8px;background:#071422e8;text-align:center;font-size:.72rem}.warehouse-card h2{margin:.2rem 0}.warehouse-card p{color:#8db0d2}.warehouse-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.warehouse-card dl div{padding:.55rem;border-radius:9px;background:#081726}.warehouse-card dt{font-size:.72rem;color:#83a1c4}.warehouse-card dd{margin:.2rem 0 0;font-weight:800}
@media(max-width:900px){.raw-material-image-builder{grid-template-columns:1fr}.warehouse-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.warehouse-grid{grid-template-columns:1fr}}@media(max-width:560px){.raw-material-cargo-details,.warehouse-card{grid-template-columns:1fr}.raw-material-cargo-details dl,.warehouse-summary{grid-template-columns:1fr}.warehouse-product-image{min-height:120px}}
.payroll-page{display:grid;gap:18px}.payroll-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.payroll-chart-panel{overflow:hidden}.payroll-bar-chart{height:250px;display:flex;align-items:flex-end;gap:12px;overflow-x:auto;padding:18px 4px 2px}.payroll-bar-item{min-width:84px;display:grid;grid-template-rows:170px auto auto;gap:6px;text-align:center}.payroll-bar-track{height:170px;border-radius:12px;background:#061522;display:flex;align-items:flex-end;overflow:hidden}.payroll-bar-track span{display:block;width:100%;min-height:3px;border-radius:10px 10px 0 0;background:linear-gradient(180deg,#48d9a5,#2398e5);box-shadow:0 0 20px rgba(72,217,165,.35)}.payroll-bar-item strong{font-size:.9rem}.payroll-bar-item small{color:var(--muted)}.payroll-rate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.payroll-rate-grid span{display:flex;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--border);border-radius:12px;background:#071727}.payroll-rate-grid b{color:var(--muted)}.payroll-history td small,.payroll-history td strong{display:block}.employment-contract-form{width:min(960px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto}.contract-party-summary{display:flex;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--border);border-radius:14px;background:#071727}.contract-party-summary strong{font-size:1.15rem}.contract-party-summary span{color:var(--muted);text-align:right}.contract-fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.contract-agreement-field{grid-column:1/-1}.employment-contract-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.employment-contract-preview div{padding:13px;border:1px solid var(--border);border-radius:12px;background:#071727}.employment-contract-preview span,.employment-contract-preview strong{display:block}.employment-contract-preview span{color:var(--muted);font-size:.82rem}.employment-contract-preview strong{margin-top:5px}.employment-contract-preview .highlight{border-color:#1e8e68;background:#08241f}.employment-contract-preview .highlight.cost{border-color:#d38c16;background:#251a08}.employment-contract-preview>small{grid-column:1/-1;color:var(--muted)}
.payroll-economy-breakdown{margin-top:18px}.employee-contract-summary{color:#55e8c3!important;margin-top:.25rem}
@media(max-width:900px){.payroll-metrics,.payroll-rate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.employment-contract-preview{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.payroll-metrics,.payroll-rate-grid,.contract-fields-grid,.employment-contract-preview{grid-template-columns:1fr}.contract-agreement-field{grid-column:auto}.contract-party-summary{flex-direction:column}.contract-party-summary span{text-align:left}}
