/* PickupBooker - okviri koje MudBlazor nema: bocni meni, gornja i donja traka, prijava, kartice.
   Boje teme su u PbTheme.cs (plava iz puta, crvena iz pina, tamnoplavi meni). */
:root {
    --pb-navy: #12152B;
    --pb-blue: #1A5FD6;
    --pb-blue-soft: rgba(26, 95, 214, .10);
    --pb-red: #E5232A;
    --pb-side-w: 272px;
    --pb-side-w-mini: 76px;
    --pb-top-h: 64px;
    /* Donja traka (telefon): i u svetloj temi tamnoplavo staklo - jasno se odvaja od svetle strane. */
    --glass-fill: linear-gradient(180deg, rgba(36,42,82,.93), rgba(18,21,43,.9)); /* skoro puna - promena strane ispod se ne vidi kroz traku (treptanje) */
    --glass-filter: blur(6px) saturate(1.4) brightness(.7);
    --glass-edge: rgba(255, 255, 255, .22);
    --glass-shine: rgba(255, 255, 255, .30);
    --tab-on: rgba(255, 255, 255, .18);
    --tab-on-text: #FFFFFF;
    --tab-text: #D9DCEA;
}
/* Polja, liste za izbor, skrol trake: prate temu aplikacije, ne tamni rezim telefona. */
html { color-scheme: light; }
html.pb-dark { color-scheme: dark; }
.pb-dark {
    --pb-blue-soft: rgba(79, 139, 255, .14);
    --glass-fill: linear-gradient(180deg, rgba(255,255,255,.20), rgba(255,255,255,.07));
    --glass-filter: blur(30px) saturate(2) brightness(1.06);
    --glass-edge: rgba(255, 255, 255, .20);
    --glass-shine: rgba(255, 255, 255, .34);
    --tab-on: rgba(255, 255, 255, .18);
    --tab-on-text: #FFFFFF;
    --tab-text: #E3E3EA;
}

html, body { height: 100%; margin: 0; font-family: 'Inter', 'Segoe UI', Roboto, Arial, sans-serif; background: var(--mud-palette-background, #F2F4F9); }
a { color: inherit; }
h1:focus, h1:focus-visible, [tabindex="-1"]:focus { outline: none; }

/* ---------- Ucitavanje ---------- */
.pb-boot { position: fixed; inset: 0; z-index: 3000; display: flex; align-items: center; justify-content: center; background: #F2F4F9; }
.pb-dark .pb-boot { background: #0E1022; }
.pb-boot-box { position: relative; width: 92px; height: 92px; display: flex; align-items: center; justify-content: center; }
.pb-boot-box img { width: 50px; height: 50px; object-fit: contain; }
.pb-boot-ring { position: absolute; inset: 0; border-radius: 50%; border: 3px solid rgba(26, 95, 214, .16); border-top-color: var(--pb-red); animation: pb-spin .8s linear infinite; }
@keyframes pb-spin { to { transform: rotate(360deg); } }
.pb-center { min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 24px 16px; }

/* ---------- Okvir (MudLayout kao FM) ---------- */
.pb-user-name { max-width: 200px; }
.mud-badge-root.pb-badge-center { display: inline-flex; align-items: center; justify-content: center; line-height: 0; }
.mud-badge-root.pb-badge-center .mud-badge-wrapper { line-height: 0; }
.mud-badge.pb-badge-small { min-width: 16px; height: 16px; padding: 0 4px; font-size: .62rem; line-height: 16px; inset: auto auto calc(100% - 10px) calc(100% - 10px) !important; }

/* ---------- Donja traka (telefon) - kao MM ---------- */
.tabbar { display: none; position: fixed; left: 50%; transform: translateX(-50%); width: calc(100% - 24px); max-width: 560px; bottom: calc(10px + env(safe-area-inset-bottom)); z-index: 1300;
    gap: 2px; padding: 6px; border-radius: 34px; background: var(--glass-fill); -webkit-backdrop-filter: var(--glass-filter); backdrop-filter: var(--glass-filter);
    border: 1px solid var(--glass-edge); box-shadow: 0 10px 34px rgba(0,0,0,.30), inset 0 1px 0 var(--glass-shine); }
.tabbar .tab { flex: 1; position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; padding: 7px 2px 6px; border: 0; border-radius: 28px;
    background: transparent; color: var(--tab-text); font: inherit; font-size: 11px; font-weight: 600; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.tabbar .tab.on { background: var(--tab-on); color: var(--tab-on-text); box-shadow: inset 0 1px 0 var(--glass-shine); }
/* "Vodeno" staklo (kao Liquid Glass): rub koji se preliva, unutrasnji sjaj; izabrana kartica je sjajna kap. */
.tabbar { isolation: isolate; box-shadow: 0 10px 34px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.34), inset 0 -1px 0 rgba(255,255,255,.08), inset 0 0 22px rgba(255,255,255,.06) !important; }
.tabbar::before { content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px; pointer-events: none; z-index: 0;
    background: linear-gradient(135deg, rgba(255,255,255,.60), rgba(255,255,255,.06) 38%, rgba(255,255,255,.04) 62%, rgba(255,255,255,.40));
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite: exclude; }
.tabbar .tab { z-index: 1; }
.tabbar .tab.on { background: linear-gradient(180deg, rgba(255,255,255,.28), rgba(255,255,255,.10)); color: var(--tab-on-text);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.50), inset 0 -1px 0 rgba(255,255,255,.10), 0 3px 10px rgba(0,0,0,.18); }

/* Telefon (kao FM): meni klizi preko stranice, zaglavlje zbijenije; donja traka kao MM, sadrzaj ima mesta iznad nje. */
@media (max-width: 599px) {
    .tabbar { display: flex; }
    .mud-drawer.mud-drawer-mini { display: none; }
    .mud-layout .mud-main-content { margin-left: 0 !important; }
    .mud-layout .mud-appbar { left: 0 !important; width: 100% !important; margin-left: 0 !important; }
    .mud-appbar .mud-toolbar { padding-left: 8px; padding-right: 4px; gap: 0; }
    .mud-appbar .mud-icon-button { padding: 8px; }
    .mud-appbar .pb-user-name { display: none !important; }
    .mud-main-content .mud-typography-h4 { font-size: 1.65rem; line-height: 1.2; }
    .pb-main { padding-bottom: calc(110px + env(safe-area-inset-bottom)) !important; }
    .mud-xs-table table { width: 100%; }
    /* Redovi tabele na telefonu su kartice - vidi kraj fajla (Tabele na telefonu). */
    .mud-dialog { max-width: calc(100vw - 16px) !important; margin: 8px !important; }
    html, body { overflow-x: clip; }
}

/* ---------- Strane ---------- */
.mud-typography-h4 { font-family: 'Manrope', 'Inter', sans-serif; }
/* Tabele (kao FM): zaglavlje izdvojeno bojom, okvir sa zaobljenim uglovima. */
.mud-table-head .mud-table-cell { background-color: var(--mud-palette-background-gray); font-weight: 700; color: var(--mud-palette-text-primary); }
.mud-table-container { border-radius: 12px; overflow: hidden; }
@media (max-width: 959px) { .mud-table-container { overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; } }
.pb-page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 20px; }
.pb-page-head h1 { margin: 0; font-family: 'Manrope', 'Inter', sans-serif; font-size: 28px; font-weight: 800; letter-spacing: -.01em; color: var(--mud-palette-text-primary); }
.pb-page-head p { margin: 4px 0 0; color: var(--mud-palette-text-secondary); font-size: 14.5px; }
.pb-page-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.pb-section-title { margin: 28px 0 12px; font-size: 13px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--mud-palette-text-secondary); }
.pb-card { padding: 22px; border-radius: 16px !important; border: 1px solid var(--mud-palette-lines-default); }
.pb-empty { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 40px 16px; border-radius: 16px !important; border: 1px dashed var(--mud-palette-lines-default);
    color: var(--mud-palette-text-secondary); text-align: center; }
.pb-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.pb-form-row.is-3 { grid-template-columns: 1fr 1fr 1fr; }
.pb-form-row.is-4 { grid-template-columns: 1fr 1fr 1fr 1fr; }
.pb-form-section { margin: 14px 0 10px; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--mud-palette-text-secondary); }
@media (max-width: 599px) {
    .pb-form-row, .pb-form-row.is-3, .pb-form-row.is-4 { grid-template-columns: 1fr; gap: 0; margin-bottom: 0; }
    .pb-form-row > * { margin-bottom: 12px; }
        .pb-card { padding: 16px; }
}
.pb-big-btn { height: 50px; border-radius: 14px !important; font-weight: 700 !important; }
.pb-tabs .mud-tabs-tabbar { border-radius: 14px; }
.pb-tabs .mud-tabs-panels { padding-top: 16px; }

/* Pocetna korisnika: baner sa brzim zahtevom, brzi izbori u boji, dve kolone (moji prevozi | sledece preuzimanje, poruke, savet). */
.pb-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); align-items: center; gap: 32px; padding: 32px; border-radius: 22px; overflow: hidden; overflow: clip; color: #fff;
    background: radial-gradient(700px circle at 85% 20%, rgba(229, 35, 42, .35), transparent 55%), linear-gradient(135deg, #12152B 0%, #16307A 60%, #1A5FD6 120%); }
.pb-hero-deco { position: absolute; left: 44%; top: 50%; width: 260px; opacity: .14; pointer-events: none; transform: translate(-50%, -50%) rotate(-10deg); }
.pb-hero-main { position: relative; }
.pb-hero h1 { margin: 6px 0 8px; font-family: 'Manrope', 'Inter', sans-serif; font-size: 34px; font-weight: 800; line-height: 1.15; }
.pb-hero p { margin: 0 0 20px; max-width: 520px; color: rgba(255, 255, 255, .8); }
.pb-hero-hello { font-size: 14px; font-weight: 600; color: rgba(255, 255, 255, .75); }
.pb-hero-trust { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 22px; }
.pb-hero-trust span { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: rgba(255, 255, 255, .85); }
.pb-hero-trust .mud-icon-root { color: #7FE0B0; }
/* Brz zahtev (varijanta A): staklo na baneru; odakle i dokle kao ruta, ispod kada i dugme. */
.pb-hero-quick { position: relative; display: flex; flex-direction: column; gap: 6px; width: 100%; max-width: 440px; justify-self: end; padding: 12px 16px 16px; border-radius: 18px;
    background: rgba(255, 255, 255, .09); border: 1px solid rgba(255, 255, 255, .18); color: #fff;
    -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14); }
.pb-hq-route { display: flex; gap: 12px; }
.pb-hq-line { flex: none; width: 14px; display: flex; flex-direction: column; align-items: center; padding: 30px 0 18px; }
.pb-hq-line i { flex: none; width: 12px; height: 12px; border-radius: 50%; }
.pb-hq-line i.is-from { border: 3px solid #8DB8FF; }
.pb-hq-line i.is-to { background: #FF7A7F; box-shadow: 0 0 0 3px rgba(255, 122, 127, .25); }
.pb-hq-line b { flex: 1; margin: 4px 0; border-left: 2px dotted rgba(255, 255, 255, .45); }
.pb-hq-stops { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.pb-hq-stops .pb-hq-field { border-bottom: 1px solid rgba(255, 255, 255, .16); padding-bottom: 4px; }
.pb-hq-bottom { display: flex; align-items: flex-end; gap: 14px; }
.pb-hq-bottom .pb-hq-field { flex: 1; min-width: 0; }
.pb-hq-bottom .pb-hq-go { flex: none; margin-bottom: 4px; }
/* Polja na staklu: beli tekst, svetle oznake i ikonice (ista u svetloj i tamnoj temi). */
.pb-hero-quick .mud-input, .pb-hero-quick .mud-input input { color: #fff !important; }
.pb-hero-quick .mud-input input::placeholder { color: rgba(255, 255, 255, .5) !important; opacity: 1; }
.pb-hero-quick .mud-input-label { color: rgba(255, 255, 255, .72) !important; }
.pb-hero-quick .mud-input-adornment .mud-icon-root { color: rgba(255, 255, 255, .8) !important; }
.pb-hero-quick .mud-input-adornment .mud-primary-text { color: #8DB8FF !important; }
.pb-hero-quick .mud-input-adornment .mud-secondary-text { color: #FF7A7F !important; }
.pb-hq-field .mud-input.mud-input-underline::before, .pb-hq-field .mud-input.mud-input-underline::after { display: none; }
.pb-hq-go { height: 42px !important; min-height: 0 !important; padding: 0 20px !important; font-size: 13.5px !important; border-radius: 12px !important; white-space: nowrap; }
@media (max-width: 1199px) { .pb-hero { grid-template-columns: 1fr; } .pb-hero-quick { max-width: none; justify-self: stretch; } .pb-hero-deco { left: auto; right: -20px; top: 40px; transform: rotate(-10deg); } }
@media (max-width: 699px) {
    .pb-hero { padding: 22px 18px 18px; gap: 18px; } .pb-hero h1 { font-size: 26px; } .pb-hero-trust { margin-top: 16px; }
    .pb-hero-deco { display: none; }
    .pb-hq-bottom { flex-direction: column; align-items: stretch; gap: 10px; }
    .pb-hq-bottom .pb-hq-go { flex: none; }
}

.pb-quick { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
@media (max-width: 899px) { .pb-quick { grid-template-columns: 1fr 1fr; } }
.pb-quick-card { position: relative; display: flex; flex-direction: column; gap: 4px; padding: 16px; border-radius: 16px; text-decoration: none; background: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-lines-default); transition: transform .15s, box-shadow .15s, border-color .15s; }
.pb-quick-card:hover { transform: translateY(-2px); border-color: var(--pb-blue); box-shadow: 0 10px 24px rgba(26, 95, 214, .12); }
.pb-quick-card span { width: 44px; height: 44px; border-radius: 14px; display: flex; align-items: center; justify-content: center; margin-bottom: 8px; }
.pb-quick-card.is-blue span { background: rgba(26, 95, 214, .12); color: #1A5FD6; }
.pb-quick-card.is-amber span { background: rgba(233, 162, 31, .16); color: #B97A0B; }
.pb-quick-card.is-green span { background: rgba(30, 158, 106, .13); color: #1E9E6A; }
.pb-quick-card.is-violet span { background: rgba(124, 92, 255, .14); color: #7C5CFF; }
.pb-dark .pb-quick-card.is-blue span { color: #7FB0FF; }
.pb-dark .pb-quick-card.is-amber span { color: #F5C45E; }
.pb-dark .pb-quick-card.is-green span { color: #5EE0A8; }
.pb-dark .pb-quick-card.is-violet span { color: #B9A6FF; }
.pb-quick-card b { font-size: 15px; color: var(--mud-palette-text-primary); }
.pb-quick-card small { color: var(--mud-palette-text-secondary); font-size: 12.5px; padding-right: 18px; }
.pb-quick-go { position: absolute; right: 14px; bottom: 14px; color: var(--mud-palette-text-disabled); transition: transform .15s, color .15s; }
.pb-quick-card:hover .pb-quick-go { color: var(--mud-palette-primary); transform: translateX(3px); }

.pb-home-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; align-items: start; }
@media (max-width: 1099px) { .pb-home-grid { grid-template-columns: minmax(0, 1fr); } }
.pb-home-side { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; padding-top: 34px; position: sticky; top: 84px; }
@media (max-width: 1099px) { .pb-home-side { padding-top: 0; position: static; } }
.pb-side-card { padding: 16px; border-radius: 16px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); }
.pb-side-head { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; font-size: 14px; font-weight: 800; color: var(--mud-palette-text-primary); }
.pb-side-head .mud-icon-root { color: var(--mud-palette-primary); }
.pb-side-link { font-size: 13px; font-weight: 700; color: var(--mud-palette-primary); text-decoration: none; }
.pb-side-empty { margin: 0; font-size: 13px; line-height: 1.5; color: var(--mud-palette-text-secondary); }
.pb-side-card.is-tip { background: linear-gradient(135deg, rgba(233, 162, 31, .10), rgba(233, 162, 31, .03)); border-color: rgba(233, 162, 31, .30); }
.pb-side-card.is-tip .pb-side-head .mud-icon-root { color: #E9A21F; }
.pb-side-card.is-tip p { margin: 0; font-size: 13px; line-height: 1.55; color: var(--mud-palette-text-primary); }
.pb-next { display: flex; gap: 12px; padding: 8px 0; text-decoration: none; color: inherit; border-top: 1px solid var(--mud-palette-lines-default); }
.pb-next:first-of-type { border-top: 0; padding-top: 0; }
.pb-next-status { margin-top: 3px; font-size: 11.5px; font-weight: 700; color: var(--mud-palette-primary); }
.pb-side-count { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: #E5232A; color: #fff; font-size: 11px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; }
.pb-next-date { flex: none; width: 52px; height: 56px; border-radius: 14px; display: flex; flex-direction: column; align-items: center; justify-content: center; background: var(--pb-blue-soft); color: var(--mud-palette-primary); }
.pb-next-date b { font-size: 20px; line-height: 1; }
.pb-next-date small { font-size: 11px; font-weight: 700; text-transform: uppercase; }
.pb-next-main { display: flex; flex-direction: column; min-width: 0; }
.pb-next-main b { font-size: 14px; color: var(--mud-palette-text-primary); }
.pb-next-main small { font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-chat-row { display: flex; align-items: center; gap: 10px; padding: 8px 0; text-decoration: none; color: inherit; border-top: 1px solid var(--mud-palette-lines-default); }
.pb-chat-row:first-of-type { border-top: 0; }
.pb-chat-av { flex: none; width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 800; background: var(--pb-blue-soft); color: var(--mud-palette-primary); }
.pb-chat-row div { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.pb-chat-row b { font-size: 13.5px; color: var(--mud-palette-text-primary); }
.pb-chat-row small { font-size: 12.5px; color: var(--mud-palette-text-secondary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pb-chat-row em { font-style: normal; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: #E5232A; color: #fff; font-size: 11px; font-weight: 800; display: flex; align-items: center; justify-content: center; }

.pb-how { padding: 22px; border-radius: 18px; background: var(--mud-palette-surface); border: 1px dashed var(--mud-palette-lines-inputs); text-align: center; }
.pb-how-title { font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--mud-palette-text-secondary); margin-bottom: 16px; }
.pb-how-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 699px) { .pb-how-steps { grid-template-columns: 1fr; text-align: left; } .pb-how-step { flex-direction: row !important; align-items: flex-start !important; gap: 12px !important; } .pb-how-step > div { display: flex; flex-direction: column; } }
.pb-how-step { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.pb-how-step > div { display: flex; flex-direction: column; gap: 4px; }
.pb-how-step b { font-size: 14.5px; color: var(--mud-palette-text-primary); }
.pb-how-step small { font-size: 12.5px; line-height: 1.45; color: var(--mud-palette-text-secondary); }
.pb-how-ico { position: relative; flex: none; width: 52px; height: 52px; border-radius: 16px; display: flex; align-items: center; justify-content: center; background: var(--pb-blue-soft); color: var(--mud-palette-primary); }
.pb-how-ico i { position: absolute; top: -6px; right: -6px; width: 20px; height: 20px; border-radius: 50%; font-style: normal; font-size: 11px; font-weight: 800; display: flex; align-items: center; justify-content: center;
    background: #E5232A; color: #fff; border: 2px solid var(--mud-palette-surface); }

/* Brojevi i koraci (prevoznik, administracija) */
.pb-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 1099px) { .pb-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pb-stat, .pb-stat > div { min-width: 0; }
@media (max-width: 599px) {
    .pb-stats { gap: 10px; }
    .pb-stat { flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px; }
    .pb-stat-icon { width: 38px; height: 38px; border-radius: 12px; }
    .pb-stat-value { font-size: 16px; line-height: 1.25; overflow-wrap: anywhere; }
}
.pb-stat { display: flex; align-items: center; gap: 14px; padding: 18px; border-radius: 16px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); text-decoration: none; }
.pb-stat-icon { width: 46px; height: 46px; flex: none; border-radius: 14px; display: flex; align-items: center; justify-content: center; color: var(--c);
    background: color-mix(in srgb, var(--c) 13%, transparent); }
.pb-stat-value { font-family: 'Manrope', 'Inter', sans-serif; font-size: 20px; font-weight: 800; color: var(--mud-palette-text-primary); }
.pb-stat-label { font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-steps { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 799px) { .pb-steps { grid-template-columns: 1fr; } }
.pb-step { display: flex; gap: 14px; align-items: flex-start; padding: 16px; border-radius: 16px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); text-decoration: none; }
.pb-step .mud-icon-root { color: var(--mud-palette-primary); margin-top: 2px; }
.pb-step.is-done .mud-icon-root { color: var(--mud-palette-success); }
.pb-step b { display: block; font-size: 15px; }
.pb-step small { color: var(--mud-palette-text-secondary); font-size: 13px; }

/* Vozila */
.pb-vehicles { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.pb-vehicle { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 16px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); }
.pb-vehicle.is-off { opacity: .6; }
.pb-vehicle-icon { width: 46px; height: 46px; flex: none; border-radius: 14px; display: flex; align-items: center; justify-content: center; background: var(--pb-blue-soft); color: var(--mud-palette-primary); }
.pb-vehicle-main { flex: 1; min-width: 0; }
.pb-vehicle-main b { display: block; font-size: 15px; }
.pb-vehicle-main small { color: var(--mud-palette-text-secondary); font-size: 13px; }
.pb-plate { display: inline-block; margin-top: 4px; padding: 1px 8px; border-radius: 6px; border: 1.5px solid var(--mud-palette-text-primary); font-size: 12px; font-weight: 700; letter-spacing: .06em; }

/* Administracija */
.pb-filters { display: grid; grid-template-columns: 1fr 220px; gap: 12px; margin-bottom: 14px; }
@media (max-width: 599px) { .pb-filters { grid-template-columns: 1fr; } }
.pb-table { border-radius: 16px !important; border: 1px solid var(--mud-palette-lines-default); overflow: hidden; }
.mud-table-head .mud-table-cell { background-color: var(--mud-palette-background-gray); font-weight: 700; }

/* "Vise" (telefon) */
/* Vise: slika na sredini, ispod ime i prezime, pa mejl i uloga. */
.pb-more-user { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 2px; padding: 22px 16px 18px; border-radius: 18px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); }
.pb-more-user .pb-more-av { width: 84px; height: 84px; font-size: 30px; font-weight: 700; margin-bottom: 10px; box-shadow: 0 6px 18px -6px rgba(26, 95, 214, .55); }
.pb-more-user b { display: block; font-size: 18px; font-weight: 800; }
.pb-more-user small { color: var(--mud-palette-text-secondary); font-size: 13.5px; overflow-wrap: anywhere; }
.pb-more-photo { position: relative; display: inline-flex; margin-bottom: 10px; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.pb-more-photo input[type=file] { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.pb-more-photo .pb-more-av { margin-bottom: 0; }
.pb-more-photo.is-busy .pb-more-av { opacity: .6; }
.pb-more-cam { position: absolute; right: -2px; bottom: -2px; width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
    background: var(--mud-palette-primary); color: #fff; border: 3px solid var(--mud-palette-surface); box-shadow: 0 2px 6px rgba(15, 26, 61, .25); }
.pb-more-cam .mud-icon-root { font-size: 16px; }
.pb-more-role { margin-top: 8px; padding: 3px 11px; border-radius: 99px; background: var(--pb-blue-soft); color: var(--mud-palette-primary); font-size: 12px; font-weight: 700; }
.pb-more-group { margin: 20px 6px 8px; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--mud-palette-text-secondary); }
.pb-more-list { border-radius: 18px; overflow: hidden; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); }
.pb-more-item { display: flex; align-items: center; gap: 14px; width: 100%; padding: 14px 16px; border: 0; background: transparent; font: inherit; font-size: 15px; text-align: left; text-decoration: none;
    color: var(--mud-palette-text-primary); cursor: pointer; border-bottom: 1px solid var(--mud-palette-lines-default); }
.pb-more-item:last-child { border-bottom: 0; }
.pb-more-item .mud-icon-root { color: var(--mud-palette-primary); }
.pb-more-item span { flex: 1; }
.pb-more-item .pb-more-chev { color: var(--mud-palette-text-disabled); }
.pb-more-item.is-danger, .pb-more-item.is-danger .mud-icon-root { color: var(--mud-palette-error); }
.pb-more-version { margin: 18px 0 6px; text-align: center; font-size: 12px; color: var(--mud-palette-text-disabled); }
.pb-photo-row { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }

/* ---------- Faza 1: zakazivanje, zahtevi, ponude, rezervacije, poruke ---------- */
.pb-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }

/* Zakazi prevoz: koraci sa brojem levo */
/* Objavi prevoz (predlog A): vremenska linija koraka levo, kartica "Vasa objava" desno (racunar); na telefonu dugme dole. */
.pb-post { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; align-items: start; max-width: 1240px; }
.pb-post-side { position: sticky; top: 84px; }
@media (max-width: 1099px) { .pb-post { grid-template-columns: 1fr; } .pb-post-side { display: none; } }
.pb-book { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.pb-book-step { position: relative; display: flex; gap: 16px; padding: 20px; border-radius: 18px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); }
.pb-book-num { position: relative; z-index: 1; width: 36px; height: 36px; flex: none; border-radius: 50%; display: flex; align-items: center; justify-content: center;
    background: var(--pb-blue-soft); color: var(--mud-palette-primary); }
.pb-book-num.is-from { background: var(--mud-palette-primary); color: #fff; }
.pb-book-num.is-to { background: #E5232A; color: #fff; }
/* Tackasta linija od koraka do koraka (kroz razmak izmedju kartica). */
/* Linija samo unutar koraka (od broja do dna kartice) - ne izlazi iz kartice. */
.pb-book-step:not(:has(.is-last))::after { content: ""; position: absolute; left: 37px; top: 62px; bottom: 18px; border-left: 2px dotted var(--mud-palette-lines-inputs); z-index: 0; }
.pb-book-body { flex: 1; min-width: 0; }
.pb-book-body h3 { margin: 6px 0 14px; font-family: 'Manrope', 'Inter', sans-serif; font-size: 18px; font-weight: 800; color: var(--mud-palette-text-primary); }
.pb-book-submit { display: none; }
/* Dugme "Objavi" na kraju forme (ne lebdi preko polja). */
@media (max-width: 1099px) { .pb-book-submit { display: block; margin-top: 6px; } }
@media (max-width: 599px) { .pb-book-step { padding: 16px 14px; gap: 12px; } .pb-book-num { width: 30px; height: 30px; } .pb-book-step:not(:has(.is-last))::after { left: 28px; top: 52px; bottom: 16px; } }

.pb-post-card { padding: 18px; border-radius: 18px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); box-shadow: 0 12px 30px rgba(18, 21, 43, .08); }
.pb-post-title { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--mud-palette-text-secondary); }
.pb-post-title .mud-icon-root { color: #E5232A; }
.pb-post-route { display: flex; gap: 12px; }
.pb-post-route .pb-hq-line { padding: 22px 0 14px; }
.pb-post-route .pb-hq-line b { border-left-color: var(--mud-palette-lines-inputs); }
.pb-post-stops { flex: 1; min-width: 0; display: grid; gap: 10px; }
.pb-post-stops small { display: block; font-size: 11.5px; color: var(--mud-palette-text-secondary); }
.pb-post-stops b { display: block; font-size: 16px; font-weight: 800; color: var(--mud-palette-text-primary); }
.pb-post-stops b.is-empty { font-weight: 500; color: var(--mud-palette-text-disabled); }
.pb-post-stops span { font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-post-rows { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; margin: 14px 0 16px; padding-top: 12px; border-top: 1px solid var(--mud-palette-lines-default); }
.pb-post-rows div { display: flex; align-items: center; gap: 10px; font-size: 13.5px; color: var(--mud-palette-text-primary); }
.pb-post-rows .mud-icon-root { color: var(--mud-palette-primary); }
.pb-post-note { display: flex; gap: 8px; margin-top: 12px; font-size: 12px; line-height: 1.45; color: var(--mud-palette-text-secondary); }
.pb-post-note .mud-icon-root { flex: none; font-size: 16px; }
.pb-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.pb-chip { display: inline-flex; align-items: center; gap: 6px; padding: 7px 13px; border-radius: 999px; border: 1.5px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-surface); color: var(--mud-palette-text-primary); font: inherit; font-size: 13.5px; font-weight: 600; cursor: pointer; transition: all .15s; }
.pb-chip:hover { border-color: var(--pb-blue); }
.pb-chip.is-on { border-color: var(--pb-blue); background: var(--pb-blue-soft); color: var(--mud-palette-primary); }
.pb-seg { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 14px; }
.pb-seg button { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 12px 8px; border-radius: 12px; border: 1.5px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-surface); color: var(--mud-palette-text-primary); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.pb-seg button.is-on { border-color: var(--pb-blue); background: var(--pb-blue-soft); color: var(--mud-palette-primary); }
@media (max-width: 599px) { .pb-seg { grid-template-columns: 1fr; } }
.pb-hint { display: flex; gap: 8px; align-items: center; padding: 10px 12px; border-radius: 12px; background: var(--pb-blue-soft); color: var(--mud-palette-text-secondary); font-size: 13.5px; }
.pb-photos { display: flex; flex-wrap: wrap; gap: 10px; }
.pb-photo { position: relative; width: 92px; height: 92px; border-radius: 12px; overflow: hidden; background: var(--mud-palette-background-gray); display: block; }
.pb-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pb-photo button { position: absolute; top: 4px; right: 4px; width: 24px; height: 24px; border-radius: 50%; border: 0; background: rgba(0,0,0,.6); color: #fff; font-size: 16px; line-height: 1; cursor: pointer; }
.pb-photo-add { width: 92px; height: 92px; border-radius: 12px; border: 2px dashed var(--mud-palette-lines-default); background: transparent; color: var(--mud-palette-primary);
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }

/* Zahtev u listi */
.pb-req { display: flex; gap: 14px; align-items: center; padding: 14px 16px; border-radius: 16px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default);
    text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.pb-req:hover { border-color: var(--pb-blue); box-shadow: 0 8px 20px rgba(26, 95, 214, .08); }
.pb-req-icon { width: 46px; height: 46px; flex: none; border-radius: 14px; display: flex; align-items: center; justify-content: center; background: var(--pb-blue-soft); color: var(--mud-palette-primary); }
.pb-req-main { flex: 1; min-width: 0; }
.pb-req-route { display: flex; align-items: center; gap: 6px; font-family: 'Manrope', 'Inter', sans-serif; font-size: 16.5px; font-weight: 800; color: var(--mud-palette-text-primary); }
.pb-req-meta { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 4px; font-size: 13px; color: var(--mud-palette-text-secondary); }
.pb-req-meta span { display: inline-flex; align-items: center; gap: 4px; }
.pb-req-desc { margin-top: 4px; font-size: 13px; color: var(--mud-palette-text-disabled); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pb-req-side { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; text-align: right; flex: none; }
.pb-req-side b { font-size: 15px; color: var(--mud-palette-text-primary); }
.pb-req-side small { font-size: 12px; color: var(--mud-palette-text-secondary); }
.pb-req-offers { color: var(--pb-red) !important; }
@media (max-width: 599px) {
    .pb-req { flex-wrap: wrap; padding: 14px; }
    .pb-req-icon { width: 40px; height: 40px; }
    .pb-req-side { width: 100%; flex-direction: row; align-items: center; justify-content: space-between; border-top: 1px solid var(--mud-palette-lines-default); padding-top: 8px; }
}

/* Detalji zahteva */
.pb-detail-route { display: grid; gap: 14px; position: relative; padding-left: 4px; }
.pb-detail-point { display: flex; gap: 12px; }
.pb-detail-point i { width: 14px; height: 14px; flex: none; margin-top: 4px; border-radius: 50%; border: 3px solid var(--pb-blue); }
.pb-detail-point i.is-to { border-color: var(--pb-red); background: var(--pb-red); }
.pb-detail-point small { display: block; font-size: 11.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--mud-palette-text-secondary); }
.pb-detail-point b { display: block; font-size: 16px; }
.pb-detail-point span { font-size: 14px; color: var(--mud-palette-text-secondary); }
.pb-detail-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; margin: 18px 0 6px; padding: 14px; border-radius: 14px; background: var(--mud-palette-background-gray); }
.pb-detail-grid small { display: block; font-size: 12px; color: var(--mud-palette-text-secondary); }
.pb-detail-grid b { font-size: 14.5px; }
.pb-detail-desc { margin: 14px 0; white-space: pre-wrap; line-height: 1.55; }
.pb-job { display: grid; grid-template-columns: 1.3fr 1fr; gap: 14px; align-items: start; }
.pb-offer-form h3 { margin: 0 0 14px; font-family: 'Manrope', 'Inter', sans-serif; font-size: 18px; font-weight: 800; }
@media (max-width: 1099px) { .pb-job { grid-template-columns: 1fr; } }

/* Ponude */
.pb-offers { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.pb-offer { padding: 16px; border-radius: 16px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); }
.pb-offer.is-accepted { border: 2px solid var(--mud-palette-success); }
.pb-offer.is-off { opacity: .65; }
.pb-offer-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.pb-offer-head b { font-size: 16px; }
.pb-offer-head small { display: block; font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-offer-price { font-family: 'Manrope', 'Inter', sans-serif; font-size: 22px; font-weight: 800; color: var(--mud-palette-primary); white-space: nowrap; }
.pb-offer-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin-top: 8px; font-size: 13px; }
.pb-offer-meta span { display: inline-flex; align-items: center; gap: 4px; }
.pb-offer-msg { margin: 10px 0 0; padding: 10px 12px; border-radius: 12px; background: var(--mud-palette-background-gray); font-size: 14px; font-style: italic; }
.pb-stars { color: #F5A524; font-weight: 700; letter-spacing: 1px; }

/* Rezervacija */
.pb-booking { padding: 16px; border-radius: 16px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); }
.pb-booking-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.pb-booking-sub { margin-top: 2px; font-size: 13.5px; color: var(--mud-palette-text-secondary); }
.pb-booking-sub b { color: var(--mud-palette-text-primary); }
.pb-booking-info { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; margin-top: 10px; font-size: 13.5px; color: var(--mud-palette-text-secondary); }
.pb-booking-info div { display: flex; gap: 8px; align-items: flex-start; }
.pb-booking-contact { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 10px; font-size: 14px; }
.pb-booking-contact span, .pb-booking-contact a { display: inline-flex; align-items: center; gap: 6px; }
.pb-booking-contact a { color: var(--mud-palette-primary); font-weight: 700; text-decoration: none; }
.pb-booking-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; }
.pb-track { display: grid; grid-template-columns: repeat(4, 1fr); margin: 16px 0 6px; }
.pb-track-step { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; font-size: 12px; color: var(--mud-palette-text-disabled); }
.pb-track-step i { position: relative; z-index: 1; width: 16px; height: 16px; border-radius: 50%; background: var(--mud-palette-surface); border: 3px solid var(--mud-palette-lines-default); }
.pb-track-step::before { content: ""; position: absolute; top: 7px; left: -50%; width: 100%; height: 3px; background: var(--mud-palette-lines-default); }
.pb-track-step:first-child::before { display: none; }
.pb-track-step.is-done { color: var(--mud-palette-text-primary); font-weight: 600; }
.pb-track-step.is-done i { border-color: var(--mud-palette-success); background: var(--mud-palette-success); }
.pb-track-step.is-done::before { background: var(--mud-palette-success); }
.pb-track-step small { font-size: 11px; color: var(--mud-palette-text-secondary); font-weight: 400; }

/* Poruke: lista levo, razgovor desno (na telefonu jedno pa drugo) */
.pb-chat { display: grid; grid-template-columns: 340px 1fr; height: calc(100vh - var(--mud-appbar-height) - 64px); min-height: 460px; border-radius: 18px; overflow: hidden;
    background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); }
.pb-chat-list { border-right: 1px solid var(--mud-palette-lines-default); overflow-y: auto; }
.pb-chat-title { padding: 16px 18px; font-family: 'Manrope', 'Inter', sans-serif; font-size: 20px; font-weight: 800; border-bottom: 1px solid var(--mud-palette-lines-default); }
.pb-chat-empty { padding: 24px 18px; color: var(--mud-palette-text-secondary); font-size: 14px; text-align: center; }
.pb-chat-item { display: flex; gap: 10px; align-items: flex-start; padding: 12px 16px; text-decoration: none; border-bottom: 1px solid var(--mud-palette-lines-default); }
.pb-chat-item:hover { background: var(--mud-palette-action-default-hover); }
.pb-chat-item.is-on { background: var(--pb-blue-soft); }
.pb-chat-item-main { flex: 1; min-width: 0; }
.pb-chat-item-top { display: flex; justify-content: space-between; gap: 8px; }
.pb-chat-item-top b { font-size: 14.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pb-chat-item-top small, .pb-chat-route { font-size: 11.5px; color: var(--mud-palette-text-secondary); white-space: nowrap; }
.pb-chat-preview { font-size: 13px; color: var(--mud-palette-text-secondary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pb-chat-badge { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: var(--pb-red); color: #fff; font-size: 11px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; }
.pb-chat-thread { display: flex; flex-direction: column; min-width: 0; min-height: 0; }
.pb-chat-placeholder { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; color: var(--mud-palette-text-disabled); }
.pb-chat-head { display: flex; align-items: center; gap: 8px; padding: 12px 16px; border-bottom: 1px solid var(--mud-palette-lines-default); }
.pb-chat-head b { display: block; font-size: 15.5px; }
.pb-chat-head a { font-size: 12.5px; color: var(--mud-palette-primary); text-decoration: none; }
.pb-chat-messages { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 8px; background: var(--mud-palette-background-gray); }
.pb-msg { max-width: 76%; align-self: flex-start; padding: 9px 13px; border-radius: 16px 16px 16px 4px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); }
.pb-msg div { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 14.5px; }
.pb-msg small { display: block; margin-top: 2px; font-size: 10.5px; color: var(--mud-palette-text-secondary); text-align: right; }
.pb-msg.is-mine { align-self: flex-end; border-radius: 16px 16px 4px 16px; background: var(--pb-blue); border-color: var(--pb-blue); color: #fff; }
.pb-msg.is-mine small { color: rgba(255, 255, 255, .75); }
.pb-chat-send { display: flex; gap: 8px; align-items: flex-end; padding: 10px 12px; border-top: 1px solid var(--mud-palette-lines-default); }
.pb-chat-send .mud-input-control { margin: 0; }
@media (max-width: 959px) {
    .pb-chat { grid-template-columns: minmax(0, 1fr); height: calc(100svh - 64px - 150px - env(safe-area-inset-bottom)); border-radius: 16px; }
    .pb-chat.has-thread .pb-chat-list { display: none; }
    .pb-chat:not(.has-thread) .pb-chat-thread { display: none; }
    .pb-chat-list { border-right: 0; }
}

/* ---------- Prijava, registracija, lozinka ---------- */
.pb-auth-page { min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; padding: 16px; box-sizing: border-box;
    background-color: #F2F4F9;
    background-image: radial-gradient(900px circle at 10% 6%, rgba(26, 95, 214, .14), transparent 55%), radial-gradient(800px circle at 92% 94%, rgba(229, 35, 42, .10), transparent 55%); }
.pb-dark .pb-auth-page { background-color: #0E1022; }
/* 3D: forma "lebdi" - slojevite senke i tanak svetao rub. */
.pb-auth-stage { position: relative; width: 100%; max-width: 980px; }
.pb-auth-stage.is-wide { max-width: 1060px; }
.pb-auth-shell { position: relative; z-index: 1; width: 100%; max-width: 980px; min-height: 600px; display: flex; overflow: hidden; border-radius: 24px; background: var(--mud-palette-surface, #fff);
    border: 1px solid rgba(255, 255, 255, .7);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), 0 2px 4px rgba(18, 21, 43, .06), 0 12px 24px rgba(18, 21, 43, .10), 0 32px 64px rgba(18, 21, 43, .16), 0 60px 120px rgba(18, 21, 43, .14); }
.pb-dark .pb-auth-shell { border-color: rgba(255, 255, 255, .08);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 2px 4px rgba(0, 0, 0, .3), 0 12px 24px rgba(0, 0, 0, .35), 0 32px 64px rgba(0, 0, 0, .45), 0 60px 120px rgba(0, 0, 0, .4); }
.pb-auth-theme { position: fixed; top: 16px; right: 16px; z-index: 5; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--mud-palette-lines-default); cursor: pointer;
    display: flex; align-items: center; justify-content: center; background: var(--mud-palette-surface); color: var(--mud-palette-text-primary); box-shadow: 0 4px 14px rgba(18, 21, 43, .12); }
.pb-auth-shell.is-wide { max-width: 1060px; }
.pb-auth-brand { flex: 0 0 42%; position: relative; display: flex; flex-direction: column; justify-content: space-between; gap: 32px; padding: 40px; color: #fff; overflow: hidden;
    background: radial-gradient(520px circle at 90% 10%, rgba(229, 35, 42, .38), transparent 60%), linear-gradient(160deg, #12152B 0%, #12152B 40%, #1A5FD6 160%); }
.pb-auth-logo { display: flex; align-items: center; gap: 12px; text-decoration: none; font-family: 'Manrope', 'Inter', sans-serif; font-size: 22px; font-weight: 800; color: #fff; }
.pb-auth-logo img { width: 46px; height: 46px; }
.pb-auth-brand h2 { margin: 0; font-family: 'Manrope', 'Inter', sans-serif; font-size: 30px; line-height: 1.2; font-weight: 800; }
.pb-auth-brand p { margin: 14px 0 0; color: rgba(255, 255, 255, .78); font-size: 14.5px; line-height: 1.55; }
.pb-auth-points { display: grid; gap: 14px; margin-top: 26px; }
.pb-auth-point { display: flex; align-items: center; gap: 12px; font-size: 14px; font-weight: 500; }
.pb-auth-point > span { width: 38px; height: 38px; flex: none; border-radius: 12px; display: flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, .12); }
.pb-auth-copy { font-size: 12px; color: rgba(255, 255, 255, .5); }
.pb-auth-form { flex: 1; display: flex; flex-direction: column; justify-content: center; padding: 48px 52px; }
.pb-auth-mobile-logo { display: none; align-items: center; justify-content: center; gap: 10px; margin-bottom: 24px; text-decoration: none; font-family: 'Manrope', 'Inter', sans-serif; font-size: 22px; font-weight: 800; color: var(--mud-palette-text-primary); }
.pb-auth-mobile-logo img { width: 44px; height: 44px; }
.pb-auth-title { margin: 0; font-family: 'Manrope', 'Inter', sans-serif; font-size: 30px; font-weight: 800; color: var(--mud-palette-text-primary); }
.pb-auth-lead { margin: 6px 0 24px; color: var(--mud-palette-text-secondary); font-size: 14.5px; }
.pb-auth-done { display: flex; flex-direction: column; align-items: center; text-align: center; }
.pb-legal { font-size: 12px; color: var(--mud-palette-text-disabled, #9CA3AF); text-align: center; }
.pb-legal a { color: inherit; }
.pb-choice { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 20px; }
.pb-choice-card { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 16px; border-radius: 16px; border: 2px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-surface); font: inherit; text-align: left; cursor: pointer; color: var(--mud-palette-text-primary); transition: border-color .15s, background .15s; }
.pb-choice-card .mud-icon-root { color: var(--mud-palette-primary); margin-bottom: 4px; }
.pb-choice-card b { font-size: 15px; }
.pb-choice-card span { font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-choice-card.is-on { border-color: var(--mud-palette-primary); background: var(--pb-blue-soft); }
.pb-choice-card, .pb-reg-back, .pb-auth-theme { -webkit-tap-highlight-color: transparent; }
/* Google dugme i razdelnik "ili mejlom". */
.pb-google { margin: 4px 0 18px; }
.pb-gbtn { position: relative; display: block; width: 100%; padding: 0; cursor: pointer; font: inherit; -webkit-tap-highlight-color: transparent; height: 52px; border-radius: 14px; border: 1px solid var(--mud-palette-lines-inputs); background: var(--mud-palette-surface);
    transition: background .15s, border-color .15s; overflow: hidden; }
.pb-gbtn:hover { background: var(--mud-palette-action-default-hover); border-color: var(--mud-palette-text-secondary); }
.pb-gbtn-face { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 12px; pointer-events: none;
    font-size: 15px; font-weight: 600; color: var(--mud-palette-text-primary); }
.pb-gbtn:disabled { cursor: default; }
.pb-or { display: flex; align-items: center; gap: 12px; margin-top: 18px; font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-or::before, .pb-or::after { content: ""; flex: 1; height: 1px; background: var(--mud-palette-lines-default); }
/* Pravila lozinke (cekiraju se dok se kuca) i ikonica "Proverite mejl". */
.pb-pass-rules.is-always { margin: 12px 0 4px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.pb-pass-rules.is-always div { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-pass-rules.is-always .mud-icon-root { font-size: 18px; }
.pb-pass-rules.is-always .is-ok { color: var(--mud-palette-success); font-weight: 600; }
.pb-done-ico { width: 72px; height: 72px; margin: 0 auto 14px; border-radius: 22px; display: flex; align-items: center; justify-content: center; background: rgba(26, 95, 214, .12); color: #1A5FD6; }
.pb-done-ico .mud-icon-root { font-size: 38px; }
.pb-auth-done .pb-reg-note { display: flex; gap: 12px; margin-top: 18px; padding: 14px; border-radius: 14px; background: rgba(26, 95, 214, .08); font-size: 13px; line-height: 1.45; }
.pb-auth-done .pb-reg-note .mud-icon-root { flex: none; color: var(--mud-palette-primary); }
/* Ikonica izbora naloga (stil C): glavna ikonica na mekoj plocici + mala znacka u uglu (pin lokacije / ruta). */
.pb-pick-ico { position: relative; flex: none; width: 48px; height: 48px; border-radius: 14px; display: flex; align-items: center; justify-content: center; margin-bottom: 6px; }
.pb-pick-ico.is-blue { background: rgba(26, 95, 214, .12); color: #1A5FD6; }
.pb-pick-ico.is-red { background: rgba(229, 35, 42, .10); color: #C42B26; }
.pb-dark .pb-pick-ico.is-blue { background: rgba(91, 155, 255, .16); color: #8DB8FF; }
.pb-dark .pb-pick-ico.is-red { background: rgba(255, 107, 107, .14); color: #FF8F8B; }
.pb-choice-card .pb-pick-ico > .mud-icon-root { margin: 0; color: inherit !important; font-size: 26px; }
.pb-pick-badge { position: absolute; right: -5px; bottom: -5px; width: 22px; height: 22px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
    border: 2px solid var(--mud-palette-surface); color: #fff; }
.pb-pick-ico.is-blue .pb-pick-badge { background: #E5232A; }
.pb-pick-ico.is-red .pb-pick-badge { background: #1A5FD6; }
.pb-choice-card .pb-pick-badge .mud-icon-root { margin: 0; font-size: 13px; color: #fff !important; }
/* Telefon: kao mobilna aplikacija (Moj Trenutak) - cista pozadina, logo na sredini, bez kartice.
   Registracija: traka sa korakom gore, dugme "Nastavi" zalepljeno dole. Racunar ostaje kartica na sredini. */
.pb-reg-head, .pb-reg-progress, .pb-reg-actions { display: none; }
@media (max-width: 799px) {
    .pb-auth-page { position: relative; padding: calc(24px + env(safe-area-inset-top)) 24px calc(16px + env(safe-area-inset-bottom)); gap: 0; justify-content: center;
        background: var(--mud-palette-surface) !important; background-image: none !important; overflow: hidden; }
    .pb-auth-stage, .pb-auth-stage.is-wide { position: relative; z-index: 1; max-width: 460px; }
    .pb-auth-shell, .pb-auth-shell.is-wide, .pb-dark .pb-auth-shell { max-width: none; min-height: 0; border: 0 !important; border-radius: 0; box-shadow: none !important; background: transparent !important; }
    .pb-auth-brand { display: none; }
    .pb-auth-form { padding: 0; }
    .pb-auth-mobile-logo { display: flex; flex-direction: column; gap: 6px; margin: 0 0 26px; font-size: 22px; }
    .pb-auth-mobile-logo img { width: 84px; height: 84px; }
    .pb-auth-title { font-size: 28px; }
    .pb-auth-title, .pb-auth-lead { text-align: center; }
    .pb-legal { position: relative; z-index: 1; margin-top: 18px; }
    .pb-auth-theme { position: absolute; top: calc(12px + env(safe-area-inset-top)); right: 12px; box-shadow: none; }
    .pb-big-btn { min-height: 52px; border-radius: 14px !important; }

    /* Registracija u koracima */
    .pb-auth-page.is-steps { justify-content: flex-start; padding: env(safe-area-inset-top) 0 0; }
    .pb-auth-page.is-steps .pb-auth-stage { max-width: none; flex: 1; display: flex; }
    .pb-auth-page.is-steps .pb-auth-shell, .pb-auth-page.is-steps .pb-auth-form, .pb-auth-page.is-steps .pb-auth-form > div { flex: 1; display: flex; flex-direction: column; }
    .pb-auth-page.is-steps .pb-legal, .pb-auth-page.is-steps .pb-auth-theme { display: none; }
    .pb-reg.is-phone { flex: 1; display: flex; flex-direction: column; }
    .pb-reg.is-phone .pb-reg-step { display: none; }
    .pb-reg.is-phone .pb-reg-step.is-on { display: block; }
    .pb-reg-head { display: flex; align-items: center; gap: 6px; padding: 10px 10px 8px; }
    .pb-reg-back { width: 40px; height: 40px; border: 0; border-radius: 50%; background: transparent; color: var(--mud-palette-text-primary); display: flex; align-items: center; justify-content: center; cursor: pointer; }
    .pb-reg-title { display: flex; flex-direction: column; min-width: 0; padding-left: 4px; }
    .pb-reg-title b { font-family: 'Manrope', 'Inter', sans-serif; font-size: 19px; font-weight: 800; color: var(--mud-palette-text-primary); }
    .pb-reg-title span { font-size: 12.5px; font-weight: 600; color: var(--mud-palette-text-secondary); }
    .pb-reg-progress { display: block; height: 4px; margin: 0 16px; border-radius: 99px; overflow: hidden; background: var(--pb-blue-soft, rgba(26, 95, 214, .15)); }
    .pb-reg-progress i { display: block; height: 100%; border-radius: 99px; background: var(--mud-palette-primary); transition: width .25s ease; }
    .pb-reg.is-phone .pb-reg-body { flex: 1; padding: 16px 16px 12px; }
    .pb-reg-hint { margin: 0 0 16px; font-size: 14px; color: var(--mud-palette-text-secondary); }
    .pb-reg-actions { display: block; position: sticky; bottom: 0; padding: 12px 16px calc(14px + env(safe-area-inset-bottom)); background: var(--mud-palette-surface); border-top: 1px solid var(--mud-palette-lines-default); }
    .pb-reg.is-phone .pb-choice { grid-template-columns: 1fr; }

    /* Korak 1: moderne kartice izbora - ikonica na pločici sa prelivom, prednosti kao "pilule", izabrana kartica sa senkom i kvačicom */
    .pb-reg.is-phone .pb-choice { gap: 12px; }
    .pb-reg.is-phone .pb-choice-card { position: relative; flex-direction: row; align-items: flex-start; gap: 14px; padding: 16px 16px 14px; border-radius: 20px;
        border: 1.5px solid var(--mud-palette-lines-default); background: var(--mud-palette-surface); transition: border-color .15s, box-shadow .15s, transform .1s; }
    .pb-reg.is-phone .pb-choice-card:active { transform: scale(.99); }
    .pb-reg.is-phone .pb-choice-card.is-on { border-color: var(--mud-palette-primary);
        background: linear-gradient(135deg, rgba(26, 95, 214, .08), rgba(26, 95, 214, .02)); box-shadow: 0 10px 28px rgba(26, 95, 214, .18); }
    .pb-reg.is-phone .pb-pick-ico { margin-bottom: 0; }
    .pb-pick-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; padding-right: 22px; }
    .pb-pick-main > b { font-size: 16px; font-weight: 800; color: var(--mud-palette-text-primary); }
    .pb-pick-main ul { margin: 10px 0 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 6px; }
    .pb-pick-main li { display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px 4px 7px; border-radius: 99px; font-size: 12px; font-weight: 600;
        background: rgba(30, 158, 106, .10); color: #178555; }
    .pb-dark .pb-pick-main li { background: rgba(52, 211, 153, .12); color: #5EE0A8; }
    .pb-pick-main li .mud-icon-root { font-size: 14px; margin: 0; color: inherit !important; }
    .pb-pick-check { position: absolute; top: 14px; right: 14px; width: 22px; height: 22px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
        border: 1.5px solid var(--mud-palette-lines-inputs); background: var(--mud-palette-surface); transition: background .15s, border-color .15s; }
    .pb-pick-check .mud-icon-root { font-size: 15px; margin: 0; color: transparent !important; }
    .pb-choice-card.is-on .pb-pick-check { background: var(--mud-palette-primary); border-color: var(--mud-palette-primary); }
    .pb-choice-card.is-on .pb-pick-check .mud-icon-root { color: #fff !important; }

    /* "Zasto PickupBooker" - bez okvira: obojene ikonice sa kratkim opisom */
    .pb-why { margin-top: 26px; display: grid; gap: 16px; padding: 0 2px; }
    .pb-why-title { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--mud-palette-text-secondary); }
    .pb-why-row { display: flex; align-items: center; gap: 14px; }
    .pb-why-row b { display: block; font-size: 14.5px; font-weight: 700; color: var(--mud-palette-text-primary); }
    .pb-why-row small { display: block; margin-top: 1px; font-size: 13px; line-height: 1.4; color: var(--mud-palette-text-secondary); }
    .pb-why-ico { flex: none; width: 42px; height: 42px; border-radius: 14px; display: flex; align-items: center; justify-content: center; }
    .pb-why-ico .mud-icon-root { margin: 0; }
    .pb-why-ico.is-blue { background: rgba(26, 95, 214, .12); color: #1A5FD6; }
    .pb-why-ico.is-green { background: rgba(30, 158, 106, .12); color: #1E9E6A; }
    .pb-why-ico.is-violet { background: rgba(124, 92, 255, .14); color: #7C5CFF; }
    .pb-dark .pb-why-ico.is-blue { color: #7FB0FF; }
    .pb-dark .pb-why-ico.is-green { color: #5EE0A8; }
    .pb-dark .pb-why-ico.is-violet { color: #B9A6FF; }

    /* Korak 2 i 3: grupe polja sa naslovom, napomene i kartica sa informacijom */
    .pb-reg-group { margin: 4px 0 2px; display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--mud-palette-text-secondary); }
    .pb-reg-group .mud-icon-root { font-size: 18px; color: var(--mud-palette-primary); }
    .pb-reg.is-phone .pb-form-row { gap: 0; margin-bottom: 0; }
    .pb-reg.is-phone .mud-input-control { margin-bottom: 6px; }
    .pb-reg-note { display: flex; gap: 12px; margin-top: 20px; padding: 14px; border-radius: 14px; background: var(--pb-blue-soft, rgba(26, 95, 214, .1)); font-size: 13px; line-height: 1.45; color: var(--mud-palette-text-primary); }
    .pb-reg-note .mud-icon-root { flex: none; color: var(--mud-palette-primary); }
    .pb-pass-rules { margin: 14px 0 4px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
    .pb-pass-rules div { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--mud-palette-text-secondary); }
    .pb-pass-rules .mud-icon-root { font-size: 18px; }
    .pb-pass-rules .is-ok { color: var(--mud-palette-success); font-weight: 600; }
}
@media (max-width: 459px) { .pb-choice { gap: 10px; } .pb-choice-card { padding: 12px; } }
@media (max-width: 339px) { .pb-choice { grid-template-columns: 1fr; } }

.pb-legal-page { max-width: 760px; margin: 0 auto; padding: 32px 18px 60px; color: var(--mud-palette-text-primary); line-height: 1.65; }
.pb-legal-page .pb-auth-mobile-logo { justify-content: flex-start; }

.mud-overlay-scrim { background-color: rgba(18, 21, 43, .45) !important; backdrop-filter: blur(6px) !important; -webkit-backdrop-filter: blur(6px) !important; }
#blazor-error-ui { position: fixed; bottom: 0; left: 0; right: 0; padding: 12px 16px; background: #fff3cd; z-index: 4000; box-shadow: 0 -1px 4px rgba(0, 0, 0, .2); }
#blazor-error-ui[hidden] { display: none; }
#blazor-error-ui .reload { margin-left: 8px; }

/* ---------- Vodic kroz stranu (pbTour) ---------- */
.pb-tour { position: fixed; inset: 0; z-index: 2500; }
.pb-tour-block { position: fixed; inset: 0; }
.pb-tour-spot { position: fixed; border-radius: 14px; box-shadow: 0 0 0 9999px rgba(18, 21, 43, .64), 0 0 0 3px #fff inset; pointer-events: none;
    transition: left .25s, top .25s, width .25s, height .25s; }
.pb-tour-bubble { position: fixed; width: min(360px, calc(100vw - 16px)); padding: 16px 18px 14px; border-radius: 16px; background: #fff; color: #1D2135;
    box-shadow: 0 18px 50px rgba(18, 21, 43, .35); font-family: inherit; transition: left .25s, top .25s; }
.pb-tour-bubble::after { content: ""; position: absolute; left: calc(var(--pb-arrow-x, 50%) - 9px); bottom: -9px; width: 18px; height: 18px; background: #fff; transform: rotate(45deg); border-radius: 3px; }
.pb-tour-bubble.is-below::after { bottom: auto; top: -9px; }
.pb-tour-step { font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #1A5FD6; margin-bottom: 4px; }
.pb-tour-title { font-size: 1.08rem; font-weight: 800; margin-bottom: 4px; }
.pb-tour-text { font-size: .9rem; line-height: 1.45; color: #55586a; }
.pb-tour-actions { position: relative; z-index: 1; display: flex; align-items: center; gap: 6px; margin-top: 14px; }
.pb-tour-actions button { border: none; cursor: pointer; font: inherit; font-size: .85rem; font-weight: 700; border-radius: 10px; padding: 8px 14px; white-space: nowrap; }
.pb-tour-next { background: #1A5FD6; color: #fff; }
.pb-tour-next:hover { background: #154fb3; }
.pb-tour-back { background: #EAF0FC; color: #1A5FD6; }
.pb-tour-skip { background: transparent; color: #8A8FA8; padding: 8px 4px !important; }

/* ---------- Pomoc strane ---------- */
.pb-help-link { display: inline-flex; align-items: center; gap: 5px; margin-top: 6px; padding: 0; border: 0; background: transparent; font: inherit; font-size: 13.5px; font-weight: 700;
    color: var(--mud-palette-primary); cursor: pointer; }
.pb-help-link:hover { text-decoration: underline; }
.pb-hero .pb-help-link { color: rgba(255, 255, 255, .85); margin: 0; }
.pb-hero-actions { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.pb-chat-title { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.pb-chat-title .pb-help-link { margin: 0; font-family: 'Inter', sans-serif; font-size: 12.5px; }
.pb-help-intro { margin: 0 0 14px; color: var(--mud-palette-text-secondary); }
.pb-help-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.pb-help-item { display: flex; gap: 12px; align-items: flex-start; }
.pb-help-item > span { width: 34px; height: 34px; flex: none; border-radius: 10px; display: flex; align-items: center; justify-content: center; background: var(--pb-blue-soft); color: var(--mud-palette-primary); }
.pb-help-item b { display: block; font-size: 14.5px; }
.pb-help-item p { margin: 2px 0 0; font-size: 13.5px; line-height: 1.5; color: var(--mud-palette-text-secondary); }

/* ---------- Dijalozi po vrsti (info, upozorenje, brisanje, uspeh) ---------- */
.pb-dialog { border-radius: 18px !important; overflow: hidden; }
.pb-dialog .mud-dialog-title { padding: 18px 22px 10px; border-top: 4px solid var(--pb-kind, #1A5FD6); }
.pb-dialog-info { --pb-kind: #1A5FD6; --pb-kind-soft: rgba(26, 95, 214, .12); }
.pb-dialog-warning { --pb-kind: #E9A21F; --pb-kind-soft: rgba(233, 162, 31, .15); }
.pb-dialog-delete { --pb-kind: #D93025; --pb-kind-soft: rgba(217, 48, 37, .12); }
.pb-dialog-success { --pb-kind: #1E9E6A; --pb-kind-soft: rgba(30, 158, 106, .13); }
.pb-dialog-title { display: flex; align-items: center; gap: 12px; }
.pb-dialog-title b { font-family: 'Manrope', 'Inter', sans-serif; font-size: 18px; font-weight: 800; }
.pb-dialog-kicker { font-size: 11.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--pb-kind); }
.pb-dialog-icon { width: 42px; height: 42px; flex: none; border-radius: 12px; display: flex; align-items: center; justify-content: center; background: var(--pb-kind-soft); color: var(--pb-kind); }
.pb-dialog-text { margin: 0; line-height: 1.55; white-space: pre-line; }

.pb-chat-back { display: none !important; }
@media (max-width: 959px) { .pb-chat-back { display: inline-flex !important; } }

/* Meni: izabrana stavka - samo zaobljena leva linija (kao zagrada), senka koja bledi udesno, bez okvira. */
.mud-drawer .mud-nav-link {
    margin: 2px 8px;
    width: auto;
    border-radius: 10px;
    border: 0 solid transparent;
    border-left-width: 3px;
}
.mud-drawer .mud-nav-link.active {
    background: linear-gradient(90deg, rgba(124, 92, 255, .24) 0%, rgba(124, 92, 255, .08) 55%, rgba(124, 92, 255, 0) 100%) !important;
    border-left-color: #9B7BFF;
    color: #B9A6FF !important;
    font-weight: 400 !important;
}
.mud-drawer .mud-nav-link.active .mud-nav-link-text { font-weight: 400 !important; }
.mud-drawer .mud-nav-link.active .mud-nav-link-icon { color: #B9A6FF !important; }
.mud-drawer.mud-drawer--closed .mud-nav-link { margin: 2px 6px; }

/* Telefon: gornja traka - logo levo, zvonce desno, odmaknuto od ivice. */
.pb-appbar-phone .mud-toolbar { padding-left: 16px !important; padding-right: 12px !important; }

/* Zvonce: meni se otvara odmah, bez providnog prelaza (na telefonu je izgledalo kao treptaj). */
.pb-notif-pop { transition: none !important; animation: none !important; }
.pb-notif-pop.mud-popover-open { opacity: 1 !important; background: var(--mud-palette-surface) !important; }

/* ---------- Uslovi korišćenja i politika privatnosti (kao FM LegalShell) ---------- */
.lg-page { min-height: 100vh; min-height: 100svh; padding: 32px 16px 48px; box-sizing: border-box; background-color: #F2F4F9;
    background-image: radial-gradient(900px circle at 10% 6%, rgba(26, 95, 214, .12), transparent 55%), radial-gradient(800px circle at 92% 94%, rgba(229, 35, 42, .08), transparent 55%); }
.pb-dark .lg-page { background-color: #0E1022; background-image: none; }
.lg-bar { display: none; }
.lg-card { max-width: 860px; margin: 0 auto; background: var(--mud-palette-surface); border-radius: 20px; padding: 32px clamp(18px, 5vw, 56px) 28px;
    border: 1px solid var(--mud-palette-lines-default); box-shadow: 0 2px 4px rgba(18, 21, 43, .05), 0 18px 48px rgba(18, 21, 43, .10); }
.pb-dark .lg-card { box-shadow: 0 18px 48px rgba(0, 0, 0, .4); }
.lg-top { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 26px; }
.lg-brand { display: flex; align-items: center; gap: 10px; text-decoration: none; font-family: 'Manrope', 'Inter', sans-serif; font-size: 20px; font-weight: 800; color: var(--mud-palette-text-primary); }
.lg-brand img { width: 40px; height: 40px; }
.lg-brand em { font-style: normal; color: #E5232A; }
.lg-switch { display: inline-flex; gap: 4px; padding: 4px; border-radius: 14px; background: var(--mud-palette-background-gray); }
.lg-switch a { padding: 8px 14px; border-radius: 10px; font-size: 13.5px; font-weight: 600; text-decoration: none; color: var(--mud-palette-text-secondary); white-space: nowrap; }
.lg-switch a.on { background: var(--mud-palette-surface); color: var(--mud-palette-primary); box-shadow: 0 1px 4px rgba(18, 21, 43, .12); }
.lg-card h1 { margin: 0; font-family: 'Manrope', 'Inter', sans-serif; font-size: 32px; font-weight: 800; color: var(--mud-palette-text-primary); }
.lg-date { margin: 4px 0 20px; color: var(--mud-palette-text-secondary); font-size: .9rem; }
.lg-prose { color: var(--mud-palette-text-primary); font-size: 1rem; line-height: 1.7; }
.lg-prose h2 { font-family: 'Manrope', 'Inter', sans-serif; font-size: 1.15rem; font-weight: 800; margin: 28px 0 8px; color: var(--mud-palette-text-primary); }
.lg-prose p { margin: 0 0 10px; }
.lg-prose ul { margin: 0 0 12px; padding-left: 22px; }
.lg-prose li { margin-bottom: 6px; }
.lg-prose a { color: var(--mud-palette-primary); }
.lg-prose .lg-note { padding: 12px 16px; border-left: 4px solid var(--mud-palette-primary); background: var(--pb-blue-soft, rgba(26, 95, 214, .08)); border-radius: 0 10px 10px 0; margin: 0 0 16px; font-size: .92rem; }
.lg-foot { margin-top: 32px; padding-top: 16px; border-top: 1px solid var(--mud-palette-lines-default); display: flex; flex-direction: column; gap: 4px; font-size: .85rem; color: var(--mud-palette-text-secondary); }
.lg-foot a { color: var(--mud-palette-primary); }
.lg-back-btn { margin-top: 20px; display: inline-flex; align-items: center; gap: 6px; padding: 8px 16px; border-radius: 12px; border: 1px solid var(--mud-palette-lines-inputs);
    background: transparent; color: var(--mud-palette-primary); font: inherit; font-weight: 600; cursor: pointer; }

/* Telefon: kao mobilna aplikacija - traka gore (nazad, naslov), prekidac dokumenata, tekst preko celog ekrana. */
@media (max-width: 799px) {
    .lg-page { padding: 0; background: var(--mud-palette-surface) !important; background-image: none !important; }
    .lg-bar { display: flex; align-items: center; gap: 6px; position: sticky; top: 0; z-index: 5; padding: calc(8px + env(safe-area-inset-top)) 10px 8px;
        background: var(--mud-palette-surface); border-bottom: 1px solid var(--mud-palette-lines-default); }
    .lg-bar b { font-family: 'Manrope', 'Inter', sans-serif; font-size: 18px; font-weight: 800; color: var(--mud-palette-text-primary); }
    .lg-back { width: 40px; height: 40px; border: 0; border-radius: 50%; background: transparent; color: var(--mud-palette-text-primary); display: flex; align-items: center; justify-content: center; cursor: pointer; -webkit-tap-highlight-color: transparent; }
    .lg-card { max-width: none; border: 0; border-radius: 0; box-shadow: none !important; padding: 14px 18px calc(28px + env(safe-area-inset-bottom)); background: transparent; }
    .lg-top { margin-bottom: 18px; }
    .lg-brand { display: none; }
    .lg-switch { display: flex; width: 100%; }
    .lg-switch a { flex: 1; text-align: center; padding: 10px 8px; }
    .lg-card h1 { display: none; }
    .lg-date { margin-top: 0; }
    .lg-prose { font-size: 15px; line-height: 1.65; }
    .lg-prose h2 { font-size: 16px; margin-top: 24px; }
    .lg-back-btn { display: none; }
}

/* MudBlazor padajuce liste i kalendar u stilu aplikacije: zaobljeno, meka senka, tanak rub; stavke liste zaobljene. */
/* Senka i zaobljenje samo na spoljnom okviru; unutrasnji papir (kalendar) bez sopstvene ostre senke. */
.mud-popover { border-radius: 14px !important; border: 1px solid var(--mud-palette-lines-default);
    box-shadow: 0 14px 34px rgba(18, 21, 43, .16), 0 2px 6px rgba(18, 21, 43, .08) !important; }
.pb-dark .mud-popover { box-shadow: 0 14px 34px rgba(0, 0, 0, .5) !important; }
.mud-popover .mud-paper { border-radius: 14px !important; box-shadow: none !important; }

.mud-popover .mud-list { padding: 6px !important; }
.mud-popover .mud-list-item { border-radius: 10px; }
.mud-picker-calendar-header-switch { font-weight: 700; }
.mud-picker-calendar-day.mud-selected { box-shadow: 0 4px 10px rgba(26, 95, 214, .35); }

/* Izbor mesta: naziv i ispod opstina, okrug. */
.pb-place-pop .mud-list-item { padding-top: 6px !important; padding-bottom: 6px !important; }
.pb-place-item { display: flex; flex-direction: column; line-height: 1.25; }
.pb-place-item b { font-size: 14.5px; font-weight: 600; color: var(--mud-palette-text-primary); }
.pb-place-item small { font-size: 12px; color: var(--mud-palette-text-secondary); }
.pb-place-none { padding: 10px 14px; font-size: 13px; color: var(--mud-palette-text-secondary); }

/* ================= Javni sajt (pickupbooker.com) ================= */
.pub { min-height: 100vh; display: flex; flex-direction: column; background: var(--mud-palette-background); color: var(--mud-palette-text-primary); }
.pub-head { position: sticky; top: 0; z-index: 50; background: color-mix(in srgb, var(--mud-palette-surface) 88%, transparent);
    -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-bottom: 1px solid var(--mud-palette-lines-default); }
.pub-head-in { max-width: 1240px; margin: 0 auto; padding: 10px 20px; display: flex; align-items: center; gap: 24px; }
.pub-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; font-family: 'Manrope', 'Inter', sans-serif; font-size: 20px; font-weight: 800; color: var(--mud-palette-text-primary); }
.pub-logo img { width: 36px; height: 36px; }
.pub-logo em { font-style: normal; color: #E5232A; }
.pub-nav { display: flex; gap: 4px; }
.pub-nav a, .pub-nav-phone a { padding: 8px 14px; border-radius: 10px; font-size: 14.5px; font-weight: 600; text-decoration: none; color: var(--mud-palette-text-secondary); white-space: nowrap; }
.pub-nav a:hover { color: var(--mud-palette-text-primary); background: var(--mud-palette-action-default-hover); }
.pub-nav a.active, .pub-nav-phone a.active { color: var(--mud-palette-primary); background: var(--pb-blue-soft); }
.pub-actions { margin-left: auto; display: flex; align-items: center; gap: 6px; }
.pub-register { border-radius: 12px !important; }
.pub-login-ico, .pub-register-ico { display: none !important; }
.pub-user { display: flex; align-items: center; gap: 10px; padding: 4px 8px 4px 4px; border: 1px solid var(--mud-palette-lines-default); border-radius: 99px; background: var(--mud-palette-surface);
    cursor: pointer; font: inherit; color: var(--mud-palette-text-primary); -webkit-tap-highlight-color: transparent; }
/* Slika naloga: zaobljen kvadrat kao svuda (ne krug); dugme oko nje prati isti oblik. */
.pub-user img, .pub-user-av { width: 32px; height: 32px; border-radius: 9px; object-fit: cover; }
.pub-user { border-radius: 13px !important; }
.pub-user-av { display: flex; align-items: center; justify-content: center; background: var(--mud-palette-primary); color: #fff; font-size: 13px; font-weight: 800; }
.pub-user-name { font-size: 14px; font-weight: 600; }
.pub-nav-phone { display: none; }
.pub-main { flex: 1; width: 100%; max-width: 1240px; margin: 0 auto; padding: 24px 20px 48px; box-sizing: border-box; }
@media (max-width: 899px) {
    .pub-head-in { padding: 8px 14px; gap: 10px; }
    .pub-nav, .pub-user-name, .pub-user-chev { display: none !important; }
    .pub-login, .pub-register { display: none !important; }
    .pub-login-ico, .pub-register-ico { display: inline-flex !important; width: 40px; height: 40px; }
    .pub-register-ico { background: var(--mud-palette-primary) !important; color: #fff !important; box-shadow: 0 4px 12px rgba(26, 95, 214, .32); }
    .pub-user { padding: 2px; border: 0; background: transparent; }
    .pub-nav-phone { display: flex; gap: 4px; overflow-x: auto; padding: 0 10px 8px; scrollbar-width: none; }
    .pub-nav-phone::-webkit-scrollbar { display: none; }
    .pub-main { padding: 16px 14px 40px; }
}
@media (max-width: 420px) { .pub-theme { display: none !important; } .pub-logo span { font-size: 18px; } }

.pub-hero { margin-bottom: 8px; }
.pub-hero-alt { border-color: rgba(255, 255, 255, .45) !important; color: #fff !important; border-radius: 12px !important; }
.pub-sec { margin-top: 36px; }
.pub-sec-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 14px; flex-wrap: wrap; }
.pub-sec-head h2, .pub-page-head h1 { margin: 0; font-family: 'Manrope', 'Inter', sans-serif; font-size: 24px; font-weight: 800; }
.pub-sec-head p, .pub-page-head p { margin: 4px 0 0; color: var(--mud-palette-text-secondary); font-size: 14.5px; }
.pub-page-head { margin-bottom: 18px; }
.pub-page-head h1 { font-size: 30px; }
.pub-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.pub-grid.is-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pub-grid.is-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1099px) { .pub-grid, .pub-grid.is-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 699px) { .pub-grid, .pub-grid.is-4, .pub-grid.is-3 { grid-template-columns: 1fr; } }
.pub-empty, .pub-muted { color: var(--mud-palette-text-secondary); font-size: 14px; }
.pub-empty { padding: 22px; border-radius: 16px; border: 1px dashed var(--mud-palette-lines-inputs); text-align: center; }
.pub-count { margin: 6px 0 12px; font-size: 13.5px; font-weight: 600; color: var(--mud-palette-text-secondary); }

.pub-filters { display: grid; grid-template-columns: 1.3fr 1.3fr 1fr 1fr 1fr; gap: 12px; padding: 12px 16px 14px; margin-bottom: 14px; border-radius: 16px;
    background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); }
@media (max-width: 999px) { .pub-filters { grid-template-columns: 1fr 1fr; } }
@media (max-width: 599px) { .pub-filters { grid-template-columns: 1fr; gap: 4px; } }

.pub-req, .pub-car, .pub-tier-card, .pub-box { padding: 16px; border-radius: 16px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); }
.pub-req { display: flex; flex-direction: column; gap: 12px; transition: box-shadow .15s, border-color .15s; }
.pub-req:hover, .pub-car:hover { border-color: var(--pb-blue); box-shadow: 0 10px 24px rgba(26, 95, 214, .10); }
.pub-req-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.pub-req-cargo { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 99px; background: var(--pb-blue-soft); color: var(--mud-palette-primary); font-size: 12.5px; font-weight: 700; }
.pub-req-age { font-size: 12px; color: var(--mud-palette-text-secondary); }
.pub-req-route { display: flex; gap: 12px; }
.pub-req-route .pb-hq-line { padding: 6px 0; }
.pub-req-route .pb-hq-line b { border-left-color: var(--mud-palette-lines-inputs); }
.pub-req-stops { display: grid; gap: 10px; min-width: 0; }
.pub-req-stops b { display: block; font-size: 16px; font-weight: 800; }
.pub-req-stops small { display: block; font-size: 12px; color: var(--mud-palette-text-secondary); }
.pub-req-tags { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 13px; color: var(--mud-palette-text-secondary); }
.pub-req-tags span { display: inline-flex; align-items: center; gap: 5px; }
.pub-req-tags .mud-icon-root { color: var(--mud-palette-primary); font-size: 17px; }
.pub-req-foot { margin-top: auto; padding-top: 10px; border-top: 1px solid var(--mud-palette-lines-default); display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.pub-req-offers { font-size: 12.5px; font-weight: 600; color: var(--mud-palette-text-secondary); }

.pub-car { display: flex; flex-direction: column; gap: 10px; text-decoration: none; color: inherit; transition: box-shadow .15s, border-color .15s; }
.pub-car.is-premium { border-color: rgba(233, 162, 31, .55); background: linear-gradient(160deg, rgba(233, 162, 31, .08), transparent 60%), var(--mud-palette-surface); }
.pub-car-top { display: flex; align-items: center; gap: 12px; }
.pub-car-av { flex: none; width: 44px; height: 44px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-weight: 800; background: var(--pb-blue-soft); color: var(--mud-palette-primary); }
.pub-car-av.is-big { width: 72px; height: 72px; border-radius: 22px; font-size: 24px; }
.pub-car-name { min-width: 0; }
.pub-car-name b { display: block; font-size: 15.5px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pub-car-name small { font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pub-car-stats { display: flex; gap: 14px; font-size: 13px; color: var(--mud-palette-text-secondary); }
.pub-car-stats span { display: inline-flex; align-items: center; gap: 4px; }
.pub-star { color: #E9A21F !important; }
.pub-car-veh { display: flex; flex-wrap: wrap; gap: 6px; }
.pub-car-veh span { padding: 3px 9px; border-radius: 99px; font-size: 12px; background: var(--mud-palette-background-gray); color: var(--mud-palette-text-secondary); }

.pub-tier { align-self: flex-start; display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px; border-radius: 99px; font-size: 12.5px; font-weight: 700; }
.pub-tier .mud-icon-root { font-size: 16px; }
.pub-tier.is-classic { background: var(--mud-palette-background-gray); color: var(--mud-palette-text-secondary); }
.pub-tier.is-verified { background: rgba(30, 158, 106, .12); color: #178555; }
.pub-tier.is-premium { background: rgba(233, 162, 31, .16); color: #A86A00; }
.pb-dark .pub-tier.is-verified { color: #5EE0A8; }
.pb-dark .pub-tier.is-premium { color: #F5C45E; }
.pub-tier-card { display: flex; flex-direction: column; gap: 10px; }
.pub-tier-card p { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--mud-palette-text-secondary); }

.pub-how2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 799px) { .pub-how2 { grid-template-columns: 1fr; } }
.pub-how2-col { padding: 20px; border-radius: 18px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); display: flex; flex-direction: column; gap: 14px; }
.pub-how2-col h3 { margin: 0; display: flex; align-items: center; gap: 10px; font-family: 'Manrope', 'Inter', sans-serif; font-size: 18px; font-weight: 800; }
.pub-how2-col h3 .mud-icon-root { color: var(--mud-palette-primary); }
.pub-step { display: flex; gap: 12px; }
.pub-step i { flex: none; width: 28px; height: 28px; border-radius: 50%; font-style: normal; font-weight: 800; font-size: 13px; display: flex; align-items: center; justify-content: center; background: var(--pb-blue-soft); color: var(--mud-palette-primary); }
.pub-step b { display: block; font-size: 14.5px; }
.pub-step small { font-size: 13px; color: var(--mud-palette-text-secondary); }
.pub-how2-col .mud-button-root { align-self: flex-start; border-radius: 12px !important; }

.pub-prof { display: flex; align-items: center; gap: 18px; padding: 22px; border-radius: 20px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); margin-bottom: 16px; flex-wrap: wrap; }
.pub-prof.is-premium { border-color: rgba(233, 162, 31, .55); background: linear-gradient(160deg, rgba(233, 162, 31, .10), transparent 55%), var(--mud-palette-surface); }
.pub-prof-main { flex: 1; min-width: 240px; }
.pub-prof-main h1 { margin: 0 0 8px; font-family: 'Manrope', 'Inter', sans-serif; font-size: 26px; font-weight: 800; }
.pub-prof-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; font-size: 13.5px; color: var(--mud-palette-text-secondary); }
.pub-prof-meta > span:not(.pub-tier) { display: inline-flex; align-items: center; gap: 5px; }
.pub-prof-cta { border-radius: 12px !important; }
.pub-prof-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.pub-prof-grid > div { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
@media (max-width: 899px) { .pub-prof-grid { grid-template-columns: 1fr; } }
.pub-box h3 { margin: 0 0 12px; font-family: 'Manrope', 'Inter', sans-serif; font-size: 17px; font-weight: 800; }
.pub-pre { white-space: pre-line; margin: 0; font-size: 14.5px; line-height: 1.6; }
.pub-review { padding: 10px 0; border-top: 1px solid var(--mud-palette-lines-default); }
.pub-review:first-of-type { border-top: 0; padding-top: 0; }
.pub-review-top { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.pub-review-top b { font-size: 14px; }
.pub-review-top small { font-size: 12px; color: var(--mud-palette-text-secondary); }
.pub-review p { margin: 6px 0 0; font-size: 14px; line-height: 1.5; }
.pub-stars { color: #E9A21F; letter-spacing: 1px; }
.pub-stars i { font-style: normal; color: var(--mud-palette-lines-inputs); }
.pub-veh { display: flex; gap: 12px; padding: 10px 0; border-top: 1px solid var(--mud-palette-lines-default); }
.pub-veh:first-of-type { border-top: 0; padding-top: 0; }
.pub-veh .mud-icon-root { color: var(--mud-palette-primary); }
.pub-veh b { display: block; font-size: 14px; }
.pub-veh small { font-size: 12.5px; color: var(--mud-palette-text-secondary); }

.pub-foot { border-top: 1px solid var(--mud-palette-lines-default); background: var(--mud-palette-surface); }
.pub-foot-in { max-width: 1240px; margin: 0 auto; padding: 28px 20px 14px; display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.pub-foot-in p { margin: 8px 0 0; max-width: 360px; font-size: 13.5px; color: var(--mud-palette-text-secondary); }
.pub-foot-links { display: grid; grid-template-columns: repeat(2, auto); gap: 8px 28px; align-content: start; }
.pub-foot-links a { font-size: 14px; color: var(--mud-palette-text-secondary); text-decoration: none; }
.pub-foot-links a:hover { color: var(--mud-palette-primary); }
.pub-foot-copy { max-width: 1240px; margin: 0 auto; padding: 0 20px 22px; font-size: 12.5px; color: var(--mud-palette-text-disabled); }
.pub-foot-copy a { color: inherit; }

/* Vrsta prevoznika (registracija, Google dopuna, Postani prevoznik). */
.pb-kind { margin-bottom: 10px; }
.pb-reg-note { display: flex; gap: 12px; margin-top: 20px; padding: 14px; border-radius: 14px; background: var(--pb-blue-soft, rgba(26, 95, 214, .1)); font-size: 13px; line-height: 1.45; color: var(--mud-palette-text-primary); }
.pb-reg-note .mud-icon-root { flex: none; color: var(--mud-palette-primary); }

/* ---- Javna naslovna: baner preko cele sirine (fotografija), pretraga preko donje ivice, kratko o platformi ---- */
.pub { overflow-x: clip; }
.pub-hero2 { position: relative; margin: -24px calc(50% - 50vw) 0; min-height: 520px; display: flex; align-items: center; color: #fff;
             background-color: #0F1A3D; background-image: linear-gradient(90deg, rgba(8, 16, 48, .86) 0%, rgba(8, 16, 48, .62) 34%, rgba(8, 16, 48, .12) 58%, rgba(8, 16, 48, 0) 70%), url('../img/hero-web.webp');
             background-size: cover; background-position: center 18%; }
.pub-hero2-in { width: 100%; max-width: 1240px; margin: 0 auto; padding: 56px 20px 150px; box-sizing: border-box; }
.pub-hero2-kicker { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: rgba(255, 255, 255, .82); }
.pub-hero2-kicker::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #E5232A; }
.pub-hero2 h1 { margin: 0 0 14px; max-width: 560px; font-family: 'Manrope', 'Inter', sans-serif; font-size: 44px; font-weight: 800; line-height: 1.04; letter-spacing: -.025em; }
.pub-hero2 p { margin: 0; max-width: 460px; font-size: 16px; line-height: 1.6; color: rgba(255, 255, 255, .84); }
.pub-hero2-cta { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin-top: 30px; }
.pub-hero2-btn { height: 52px; padding: 0 26px !important; border-radius: 14px !important; font-weight: 700 !important; text-transform: none !important; }
.pub-hero2-link { display: inline-flex; align-items: center; gap: 6px; color: #fff; font-weight: 700; text-decoration: none; border-bottom: 1.5px solid rgba(255, 255, 255, .35); padding-bottom: 2px; }
.pub-hero2-link:hover { border-bottom-color: #fff; }

.pub-search { position: relative; z-index: 5; max-width: 1080px; margin: -96px auto 0; background: #fff; border-radius: 20px; padding: 14px 10px 10px;
              border: 1.5px solid rgba(229, 35, 42, .28); box-shadow: 0 0 0 6px rgba(229, 35, 42, .07), 0 22px 60px rgba(15, 26, 61, .18); }
.pub-search-head { display: flex; align-items: center; gap: 12px; padding: 0 10px 12px; margin-bottom: 4px; border-bottom: 1px solid rgba(15, 26, 61, .07); }
.pub-search-ico { flex: none; width: 34px; height: 34px; border-radius: 10px; display: flex; align-items: center; justify-content: center; background: rgba(229, 35, 42, .10); color: #E5232A; }
.pub-search-head b { display: block; font-family: 'Manrope', 'Inter', sans-serif; font-size: 16px; font-weight: 800; color: #0F1A3D; }
.pub-search-head small { display: block; font-size: 13px; color: #6B7194; }
.pub-search-row { display: grid; grid-template-columns: 1fr 1fr 210px auto; align-items: center; padding-left: 0; }
.pub-search-f { padding: 0 18px; min-width: 0; }
.pub-search-f + .pub-search-f { border-left: 1px solid rgba(15, 26, 61, .10); }
.pub-search-f .mud-input-control { margin: 0; }
.pub-search-f .mud-input.mud-input-underline::before, .pub-search-f .mud-input.mud-input-underline::after { border-bottom: 0 !important; }
.pub-search-go { height: 58px; padding: 0 30px !important; border-radius: 13px !important; font-weight: 700 !important; font-size: 16px !important; text-transform: none !important; }

.pub-facts { max-width: 1080px; margin: 34px auto 6px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.pub-fact { display: flex; align-items: flex-start; gap: 14px; }
.pub-fact-ico { flex: none; width: 44px; height: 44px; border-radius: 12px; display: flex; align-items: center; justify-content: center; background: var(--pb-blue-soft); color: var(--mud-palette-primary); }
.pub-fact b { display: block; font-size: 15px; color: var(--mud-palette-text-primary); }
.pub-fact small { display: block; margin-top: 2px; font-size: 13.5px; line-height: 1.45; color: var(--mud-palette-text-secondary); }
/* "Sta je PickupBooker" na naslovnoj: tamna kartica, tri reda (ko trazi, ko vozi, usputni) i dugme ka /o-platformi. */
.pub-about2 { position: relative; overflow: hidden; max-width: 1080px; margin: 26px auto 0; padding: 22px 18px; border-radius: 22px; box-sizing: border-box; color: #fff;
              background: radial-gradient(circle at 100% 0, rgba(59, 130, 246, .45), transparent 55%), radial-gradient(circle at 0 100%, rgba(229, 35, 42, .28), transparent 50%), linear-gradient(135deg, #1B2A6B, #12152B 75%); }
.pub-about2-head span { display: flex; align-items: center; gap: 8px; font-size: 11.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #FF8A8E; }
.pub-about2-head span::before { content: ''; width: 20px; height: 2px; border-radius: 2px; background: currentColor; }
.pub-about2-head h2 { margin: 8px 0 0; font: 800 21px/1.25 Manrope, Inter, sans-serif; letter-spacing: -.01em; color: #fff; }
.pub-about2-points { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; margin: 18px 0; }
.pub-about2-points > div { display: flex; align-items: flex-start; gap: 12px; }
.pub-about2-points .mud-icon-root { flex: none; width: 38px; height: 38px; padding: 8px; box-sizing: border-box; border-radius: 11px; background: rgba(255, 255, 255, .1); color: #9CC0FF; }
.pub-about2-points p { margin: 0; min-width: 0; }
.pub-about2-points b { display: block; font-size: 14.5px; color: #fff; }
.pub-about2-points small { display: block; font-size: 13px; line-height: 1.4; color: rgba(255, 255, 255, .72); }
.pub-about2-go { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; border-radius: 12px; background: #fff; color: #12152B;
                 font-weight: 700; font-size: 15px; text-decoration: none; transition: transform .15s, box-shadow .15s; }
.pub-about2-go:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(0, 0, 0, .25); }
@media (min-width: 600px) {
    .pub-about2 { padding: 30px 32px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 22px 32px; }
    .pub-about2-head h2 { font-size: 26px; max-width: 620px; }
    .pub-about2-points { grid-column: 1 / -1; grid-row: 2; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 0; }
    .pub-about2-go { grid-column: 2; grid-row: 1; padding: 0 22px; }
}

@media (max-width: 900px) {
    .pub-search-row { grid-template-columns: 1fr 1fr; gap: 4px 0; }
    .pub-search-f.is-date { border-left: 0; }
    .pub-search-go { grid-column: 1 / -1; width: 100%; }
}
@media (max-width: 640px) {
    /* Telefon: igla na slici gore, tekst ispod nje na tamnom prelivu (slika ide u punoj sirini od vrha). */
    .pub-hero2 { margin-top: -24px; min-height: 0; align-items: flex-end; background-color: #0B1438;
                 background-image: linear-gradient(180deg, rgba(11, 20, 56, 0) 0, rgba(11, 20, 56, .14) 0, rgba(11, 20, 56, .18) 190px, rgba(11, 20, 56, .8) 300px, #0B1438 395px), url('../img/hero-tel.webp');
                 background-size: 100% auto; background-position: center top; background-repeat: no-repeat; }
    .pub-hero2-in { padding: 236px 16px 118px; }
    .pub-hero2 h1 { font-size: 28px; margin-bottom: 10px; }
    .pub-hero2 p { font-size: 14.5px; }
    .pub-hero2-cta { gap: 16px; margin-top: 22px; }
    .pub-search { margin-top: -88px; border-radius: 18px; padding: 12px 8px 8px; }
    .pub-search-row { grid-template-columns: 1fr; }
    .pub-search-head small { font-size: 12px; }
    .pub-search-f { padding: 0 8px; }
    .pub-search-f + .pub-search-f { border-left: 0; border-top: 1px solid rgba(15, 26, 61, .08); }
    .pub-facts { grid-template-columns: 1fr; gap: 14px; margin-top: 24px; }
}

/* Meni naloga u zaglavlju javnog sajta */
.pub-menu-head { padding: 12px 16px 10px; min-width: 220px; }
.pub-menu-head b { display: block; font-size: 14.5px; color: var(--mud-palette-text-primary); }
.pub-menu-head span { display: block; font-size: 12.5px; color: var(--mud-palette-text-secondary); }

/* ---- Prijava kao dijalog (javni sajt) ---- */
.pb-login-dlg { border-radius: 22px !important; overflow: hidden; }
.pb-login-dlg .mud-dialog-title { padding: 10px 10px 0 !important; }
.pb-login-top { display: flex; justify-content: space-between; align-items: center; }
.pb-login-body { padding: 0 32px 30px !important; }
.pb-login-title { margin: 0 0 6px; font-family: 'Manrope', 'Inter', sans-serif; font-size: 26px; font-weight: 800; letter-spacing: -.015em; color: var(--mud-palette-text-primary); }
.pb-login-lead { margin: 0 0 22px; font-size: 14.5px; color: var(--mud-palette-text-secondary); }
.pb-login-mail { display: flex; align-items: center; gap: 10px; width: 100%; margin: 10px 0 14px; padding: 8px 12px 8px 8px; border: 1px solid var(--mud-palette-lines-default);
                 border-radius: 99px; background: transparent; cursor: pointer; font: inherit; color: var(--mud-palette-text-primary); text-align: left; }
.pb-login-mail:hover { border-color: var(--mud-palette-primary); }
.pb-login-av { flex: none; width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--mud-palette-primary); color: #fff; font-size: 13px; font-weight: 800; }
.pb-login-mail-txt { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; font-weight: 600; }
.pb-login-mail-edit { font-size: 13px; font-weight: 700; color: var(--mud-palette-primary); }
.pb-login-err { margin-bottom: 12px; padding: 10px 12px; border-radius: 10px; background: rgba(229, 35, 42, .08); color: #C81E25; font-size: 13.5px; font-weight: 600; }
.pb-login-foot { margin: 20px 0 0; text-align: center; font-size: 14px; color: var(--mud-palette-text-secondary); }
.pb-login-foot a { font-weight: 700; color: var(--mud-palette-primary); text-decoration: none; }
@media (max-width: 600px) { .pb-login-body { padding: 0 20px 24px !important; } }

/* ---- Kod sa mejla (Google prijava): 6 kvadratica ---- */
.pb-code { text-align: center; }
.pb-code-ico { width: 60px; height: 60px; margin: 4px auto 16px; border-radius: 18px; display: flex; align-items: center; justify-content: center; background: var(--pb-blue-soft); color: var(--mud-palette-primary); }
.pb-code-ico .mud-icon-root { font-size: 30px; }
.pb-code-title { margin: 0 0 8px; font-family: 'Manrope', 'Inter', sans-serif; font-size: 25px; font-weight: 800; letter-spacing: -.015em; color: var(--mud-palette-text-primary); }
.pb-code-lead { margin: 0 0 24px; font-size: 14.5px; line-height: 1.55; color: var(--mud-palette-text-secondary); }
.pb-code-lead b { color: var(--mud-palette-text-primary); word-break: break-all; }
.pb-otp { display: flex; justify-content: center; gap: 10px; }
.pb-otp input { width: 50px; height: 60px; box-sizing: border-box; border: 1.5px solid var(--mud-palette-lines-inputs); border-radius: 12px; background: var(--mud-palette-surface);
                text-align: center; font-family: 'Manrope', 'Inter', sans-serif; font-size: 26px; font-weight: 800; color: var(--mud-palette-text-primary); outline: none;
                caret-color: var(--mud-palette-primary); transition: border-color .15s, box-shadow .15s; }
.pb-otp input:focus { border-color: var(--mud-palette-primary); box-shadow: 0 0 0 4px var(--pb-blue-soft); }
.pb-otp input.is-full { border-color: color-mix(in srgb, var(--mud-palette-primary) 55%, transparent); }
.pb-otp.is-error input { border-color: #E5232A; animation: pb-otp-shake .35s; }
.pb-otp.is-busy input { opacity: .6; }
@keyframes pb-otp-shake { 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }
.pb-code-msg { min-height: 22px; margin: 10px 0 14px; font-size: 13.5px; font-weight: 600; }
.pb-code-msg .is-error { color: #C81E25; }
.pb-code-msg .is-ok { color: #1E9E5A; }
.pb-code-resend { margin-top: 18px; font-size: 14px; color: var(--mud-palette-text-secondary); }
.pb-code-wait { font-weight: 600; color: var(--mud-palette-text-primary); font-variant-numeric: tabular-nums; }
.pb-link-btn { padding: 0; border: 0; background: none; font: inherit; font-weight: 700; color: var(--mud-palette-primary); cursor: pointer; }
.pb-link-btn:disabled { opacity: .5; cursor: default; }
.pb-code-hint { margin-top: 4px; font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-code-other { display: inline-flex; align-items: center; gap: 6px; margin-top: 22px; padding: 6px 10px; border: 0; border-radius: 8px; background: none; font: inherit;
                 font-size: 13.5px; font-weight: 600; color: var(--mud-palette-text-secondary); cursor: pointer; }
.pb-code-other:hover { background: var(--mud-palette-action-default-hover); color: var(--mud-palette-text-primary); }
@media (max-width: 400px) { .pb-otp { gap: 7px; } .pb-otp input { width: 44px; height: 54px; font-size: 23px; } }
.pb-code-resume { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; padding: 12px 14px; border-radius: 12px; background: var(--pb-blue-soft);
                  color: var(--mud-palette-text-primary); font-size: 13.5px; text-decoration: none; }
.pb-code-resume span { flex: 1; }
.pb-code-resume .mud-icon-root { color: var(--mud-palette-primary); }

.pub-login, .pub-register, .pb-login-dlg .mud-button-root, .pb-code .mud-button-root { text-transform: none !important; }

/* Naslovna: providno zaglavlje preko banera (dok se strana ne skroluje) */
.pub.is-home .pub-head { position: fixed; left: 0; right: 0; transition: background-color .2s, border-color .2s, box-shadow .2s; }
html:not(.pub-scrolled) .pub.is-home .pub-head { background: transparent; border-bottom-color: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; }
html:not(.pub-scrolled) .pub.is-home .pub-logo span { color: #fff; text-shadow: 0 1px 8px rgba(8, 16, 48, .35); }
html:not(.pub-scrolled) .pub.is-home .pub-nav a, html:not(.pub-scrolled) .pub.is-home .pub-nav-phone a { color: rgba(255, 255, 255, .88); }
html:not(.pub-scrolled) .pub.is-home .pub-nav a:hover { color: #fff; background: rgba(255, 255, 255, .12); }
html:not(.pub-scrolled) .pub.is-home .pub-login,
html:not(.pub-scrolled) .pub.is-home .pub-actions .mud-icon-button:not(.pub-register-ico) { color: #fff !important; }
html:not(.pub-scrolled) .pub.is-home .pub-user { background: rgba(255, 255, 255, .12); border-color: rgba(255, 255, 255, .35); color: #fff; }
.pub-scrolled .pub.is-home .pub-head { box-shadow: 0 6px 24px rgba(15, 26, 61, .08); }
.pub.is-home .pub-hero2-in { padding-top: 120px; }
@media (max-width: 640px) {
    /* Telefon: niži baner - cela pretraga (sa dugmetom Traži) staje na prvi ekran. */
    .pub.is-home .pub-hero2 { background-image: linear-gradient(180deg, #0B1438 0, rgba(11, 20, 56, .55) 70px, rgba(11, 20, 56, .12) 130px, rgba(11, 20, 56, .25) 190px, rgba(11, 20, 56, .85) 270px, #0B1438 345px), url('../img/hero-tel.webp');
                              background-size: 100% auto; background-position: center -20px; }
    .pub.is-home .pub-hero2-in { padding-top: 205px; padding-bottom: 104px; }
    .pub.is-home .pub-hero2 h1 { font-size: 25px; margin-bottom: 6px; }
    .pub.is-home .pub-hero2 p { font-size: 13.5px; line-height: 1.5; }
}

/* ================= Usputni prevoz: putevi, krediti, provera vozaca ================= */
/* Dijalog objave puta */
.pb-trip-route { display: flex; flex-direction: column; gap: 2px; }
.pb-trip-via { display: flex; align-items: center; gap: 6px; padding-left: 14px; border-left: 2px dotted var(--mud-palette-lines-default); margin-left: 10px; }
.pb-trip-via > :first-child { flex: 1; min-width: 0; }
.pb-trip-add { align-self: flex-start; margin: 2px 0 2px 18px !important; text-transform: none !important; }

/* Lista puteva */
.pb-trips { display: flex; flex-direction: column; gap: 12px; }
.pb-trip { border-radius: 16px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); overflow: hidden; }
/* Otkazan / prosao put: bledi samo sadrzaj, dugme Obrisi iz liste ostaje jasno (nije iskljuceno). */
.pb-trip.is-off > *:not(.pb-hide-row) { opacity: .6; }
.pb-trip-head { display: flex; gap: 14px; align-items: stretch; padding: 16px; }
.pb-trip-line { flex: none; width: 12px; display: flex; flex-direction: column; align-items: center; padding: 6px 0; }
.pb-trip-line i { flex: none; width: 11px; height: 11px; border-radius: 50%; }
.pb-trip-line i.is-from { border: 3px solid var(--mud-palette-primary); }
.pb-trip-line i.is-to { background: var(--pb-red); }
.pb-trip-line b { flex: 1; margin: 3px 0; border-left: 2px dotted var(--mud-palette-lines-default); }
.pb-trip-main { flex: 1; min-width: 0; }
.pb-trip-cities { display: flex; align-items: center; gap: 6px; font-family: 'Manrope', 'Inter', sans-serif; font-size: 17px; font-weight: 800; color: var(--mud-palette-text-primary); }
.pb-trip-via-list { margin-top: 2px; font-size: 13px; color: var(--mud-palette-text-secondary); }
.pb-trip-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 8px; font-size: 13px; color: var(--mud-palette-text-secondary); }
.pb-trip-meta span { display: inline-flex; align-items: center; gap: 4px; }
.pb-trip-side { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.pb-trip-side .mud-button-root { text-transform: none !important; border-radius: 10px !important; }
.pb-trip-matches { padding: 14px 16px 16px; border-top: 1px solid var(--mud-palette-lines-default); background: var(--mud-palette-background-gray); }
.pb-trip-none { font-size: 14px; color: var(--mud-palette-text-secondary); }
.pb-trip-asked { display: flex; align-items: center; gap: 6px; margin: 4px 0 -4px 4px; font-size: 12.5px; font-weight: 700; color: var(--pb-red); }
@media (max-width: 640px) {
    .pb-trip-head { flex-wrap: wrap; }
    .pb-trip-main { flex-basis: calc(100% - 26px); }
    .pb-trip-side { width: 100%; justify-content: flex-start; padding-left: 26px; }
}

/* Pitanje korisnika na strani zahteva (prevoznik) */
.pb-asked { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; padding: 12px 14px; border-radius: 14px; background: rgba(229, 35, 42, .07); }
.pb-asked > .mud-icon-root { color: var(--pb-red); }
.pb-asked div { flex: 1; display: flex; flex-direction: column; font-size: 13.5px; }
.pb-asked span { color: var(--mud-palette-text-secondary); font-size: 13px; }

/* Korisnik: vozaci koji idu tom rutom */
.pb-ontrip { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.pb-ontrip-card { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; padding: 16px; border-radius: 16px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); }
.pb-ontrip-card .mud-button-root { text-transform: none !important; border-radius: 10px !important; margin-top: 4px; }
.pb-ontrip-who { display: flex; align-items: center; gap: 10px; }
.pb-ontrip-av { width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--pb-blue-soft); color: var(--mud-palette-primary); font-weight: 800; }
.pb-ontrip-who b { display: block; font-size: 14.5px; }
.pb-ontrip-who small { font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-ontrip-route { display: flex; align-items: center; gap: 6px; font-weight: 800; color: var(--mud-palette-text-primary); }
.pb-ontrip-meta { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-ontrip-meta span { display: inline-flex; align-items: center; gap: 4px; }

/* Krediti */
.pb-credit-top { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 12px; }
.pb-credit-balance, .pb-credit-stat { display: flex; flex-direction: column; gap: 2px; padding: 18px; border-radius: 16px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); }
.pb-credit-balance { background: linear-gradient(135deg, #1A2E6B, #0F1A3D); border: 0; color: #fff; }
.pb-credit-balance span, .pb-credit-stat span { font-size: 12.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; opacity: .75; }
.pb-credit-balance b { font-family: 'Manrope', 'Inter', sans-serif; font-size: 34px; font-weight: 800; line-height: 1.1; }
.pb-credit-balance.is-minus b { color: #FF9AA0; }
.pb-credit-balance small { font-size: 13px; opacity: .8; }
.pb-credit-stat b { font-family: 'Manrope', 'Inter', sans-serif; font-size: 26px; font-weight: 800; color: var(--mud-palette-text-primary); }
.pb-credit-stat small { font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-credit-packages { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; }
.pb-credit-pack { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 18px; border-radius: 16px; cursor: pointer; text-align: left; font: inherit;
                  background: var(--mud-palette-surface); border: 1.5px solid var(--mud-palette-lines-default); color: var(--mud-palette-text-primary); transition: border-color .15s, transform .15s; }
.pb-credit-pack:hover { border-color: var(--mud-palette-primary); transform: translateY(-1px); }
.pb-credit-pack.is-best { border-color: var(--mud-palette-primary); box-shadow: 0 0 0 4px var(--pb-blue-soft); }
.pb-credit-pack em { position: absolute; top: -10px; right: 14px; padding: 2px 10px; border-radius: 99px; background: var(--pb-red); color: #fff; font-size: 11.5px; font-style: normal; font-weight: 800; }
.pb-credit-pack b { font-family: 'Manrope', 'Inter', sans-serif; font-size: 22px; font-weight: 800; }
.pb-credit-pack span { font-size: 14px; font-weight: 700; color: var(--mud-palette-primary); }
.pb-credit-pack small { font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-credit-pay { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.pb-credit-pay-how { display: flex; flex-direction: column; margin-top: 4px; font-size: 13.5px; color: var(--mud-palette-text-secondary); }
.pb-credit-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 10px; padding: 16px !important; }
.pb-credit-row > div:first-child { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pb-credit-row small { font-size: 13px; color: var(--mud-palette-text-secondary); }
.pb-credit-row-side { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; flex: none; }
.pb-credit-history { padding: 4px 18px !important; }
.pb-credit-entry { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--mud-palette-lines-default); }
.pb-credit-entry:last-child { border-bottom: 0; }
.pb-credit-entry > div:first-child { display: flex; flex-direction: column; min-width: 0; }
.pb-credit-entry small { font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-credit-amount { display: flex; flex-direction: column; align-items: flex-end; font-weight: 800; white-space: nowrap; }
.pb-credit-amount.is-plus { color: #1E9E5A; }
.pb-credit-amount.is-minus { color: var(--mud-palette-text-primary); }
.pb-credit-amount small { font-weight: 500; }
@media (max-width: 700px) {
    .pb-credit-top { grid-template-columns: 1fr 1fr; }
    .pb-credit-balance { grid-column: 1 / -1; }
    .pb-credit-row, .pb-credit-pay { flex-direction: column; align-items: stretch; }
    .pb-credit-row-side { flex-direction: row; align-items: center; }
}

/* Provera vozaca (fizicko lice) */
.pb-license { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
.pb-license-head { display: flex; gap: 12px; align-items: flex-start; }
.pb-license-head b { display: block; font-size: 15.5px; }
.pb-license-head small { display: block; font-size: 13.5px; color: var(--mud-palette-text-secondary); line-height: 1.45; }
.pb-license-ico { flex: none; width: 42px; height: 42px; border-radius: 12px; display: flex; align-items: center; justify-content: center; background: var(--pb-blue-soft); color: var(--mud-palette-primary); }
.pb-license-terms { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--mud-palette-text-secondary); }
.pb-license-terms .mud-icon-root { color: #1E9E5A; }
.pb-license-img { display: block; margin-bottom: 8px; border-radius: 12px; overflow: hidden; border: 1px solid var(--mud-palette-lines-default); }
.pb-license-img img { display: block; width: 100%; max-height: 360px; object-fit: contain; background: #111; }

/* Pravna dokumenta - pet kartica u prekidacu */
.lg-switch { flex-wrap: wrap; }
@media (max-width: 760px) {
    .lg-switch { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
    .lg-switch::-webkit-scrollbar { display: none; }
    .lg-switch a { flex: none; }
}
.pb-license-upgrade { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; width: 100%; padding-top: 12px; border-top: 1px solid var(--mud-palette-lines-default); font-size: 13px; color: var(--mud-palette-text-secondary); }
.pb-license-upgrade span { flex: 1; min-width: 200px; }
.pb-license-upgrade .mud-button-root { text-transform: none !important; }
.pb-report-msgs { display: flex; flex-direction: column; gap: 4px; margin-top: 8px; padding: 10px 12px; border-radius: 12px; background: var(--mud-palette-background-gray); font-size: 13px; }
.pb-offer-price.is-deal { font-size: 15px; color: var(--mud-palette-text-secondary); }

/* Uplatnica (IPS QR) */
.pb-slip { display: flex; gap: 22px; align-items: flex-start; }
.pb-slip-qr { flex: none; display: flex; flex-direction: column; align-items: center; gap: 6px; }
.pb-slip-qr img { width: 170px; height: 170px; border-radius: 12px; border: 1px solid var(--mud-palette-lines-default); background: #fff; padding: 6px; }
.pb-slip-qr span { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; color: var(--mud-palette-text-secondary); }
.pb-slip-rows { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.pb-slip-row { display: grid; grid-template-columns: 92px 1fr auto; align-items: center; gap: 8px; min-height: 40px; border-bottom: 1px solid var(--mud-palette-lines-default); }
.pb-slip-row:last-child { border-bottom: 0; }
.pb-slip-row span { font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-slip-row b { font-size: 14px; overflow-wrap: break-word; color: var(--mud-palette-text-primary); }
@media (max-width: 600px) { .pb-slip { flex-direction: column; align-items: stretch; } .pb-slip-qr img { width: 200px; height: 200px; } .pb-slip-row { grid-template-columns: 96px 1fr auto; } }
.pb-pay-dlg { border-radius: 20px !important; }
.pb-credit-ref { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 12px; padding: 12px 14px; border-radius: 12px; background: var(--pb-blue-soft); font-size: 13.5px; }
.pb-credit-ref .mud-icon-root { color: var(--mud-palette-primary); margin-top: 1px; }
.pb-invoice-side { display: flex; align-items: center; gap: 8px; white-space: nowrap; }

/* Administrator - uplate po pozivu na broj */
.pb-pay-find { display: flex; gap: 12px; align-items: center; max-width: 520px; }
.pb-pay-find > :first-child { flex: 1; }
.pb-pay-client { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--mud-palette-lines-default); }
.pb-pay-client-head { display: flex; align-items: center; gap: 12px; }
.pb-pay-client-head > div { flex: 1; min-width: 0; }
.pb-pay-client-head b { display: block; font-size: 16px; }
.pb-pay-client-head small { font-size: 13px; color: var(--mud-palette-text-secondary); }
.pb-pay-facts { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 12px; font-size: 14px; color: var(--mud-palette-text-secondary); }
.pb-pay-facts b { color: var(--mud-palette-text-primary); }
.pb-pay-list { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; }
.pb-pay-list small { width: 100%; font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-pay-chip { padding: 6px 12px; border-radius: 99px; border: 1px solid var(--mud-palette-lines-default); background: var(--mud-palette-surface); font: inherit; font-size: 13px; cursor: pointer; color: var(--mud-palette-text-primary); }
.pb-pay-chip:hover { border-color: var(--mud-palette-primary); color: var(--mud-palette-primary); }
.pb-pay-old { font-size: 12.5px; color: var(--mud-palette-text-secondary); }

/* ---- Mapa puta ---- */
.pb-map { position: relative; width: 100%; border-radius: 14px; overflow: hidden; background: #EEF2F8; border: 1px solid var(--mud-palette-lines-default); }
.pb-map-fallback { position: absolute; inset: 0; display: none; align-items: center; justify-content: center; gap: 8px; font-size: 13.5px; color: var(--mud-palette-text-secondary); }
.pb-map.is-failed .pb-map-fallback { display: flex; }
.pb-map .maplibregl-ctrl-attrib { font-size: 10px; }
.pb-map .maplibregl-ctrl-group { border-radius: 10px !important; box-shadow: 0 2px 8px rgba(15, 26, 61, .15) !important; }
.pb-mk { width: 14px; height: 14px; border-radius: 50%; box-shadow: 0 0 0 3px #fff, 0 2px 8px rgba(15, 26, 61, .35); position: relative; }
.pb-mk.is-from { background: #1A5FD6; }
.pb-mk.is-via { width: 10px; height: 10px; background: #fff; box-shadow: 0 0 0 2.5px #1A5FD6, 0 1px 4px rgba(15, 26, 61, .3); }
.pb-mk.is-to { background: #E5232A; }
.pb-mk.is-pickup, .pb-mk.is-dropoff { width: 12px; height: 12px; border-radius: 4px; transform: rotate(45deg); margin-bottom: 4px; }
.pb-mk.is-pickup { background: #E5232A; }
.pb-mk.is-dropoff { background: #F5A623; }
.pb-mk span { position: absolute; left: 50%; bottom: 20px; transform: translateX(-50%); padding: 3px 8px; border-radius: 8px; background: #0F1A3D; color: #fff;
              font-size: 11.5px; font-weight: 700; white-space: nowrap; box-shadow: 0 4px 10px rgba(15, 26, 61, .25); pointer-events: none; }
.pb-trip-map { position: relative; margin-top: 12px; }
.pb-trip-map-loading { position: absolute !important; left: 0; right: 0; top: 0; z-index: 2; }
.pb-route-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 8px; margin-top: 10px; }
.pb-route-option { display: flex; flex-direction: column; gap: 2px; align-items: flex-start; padding: 10px 12px; border-radius: 12px; cursor: pointer; text-align: left; font: inherit;
                   border: 1.5px solid var(--mud-palette-lines-default); background: var(--mud-palette-surface); color: var(--mud-palette-text-primary); }
.pb-route-option b { font-size: 13.5px; }
.pb-route-option span { font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-route-option.is-on { border-color: #1A5FD6; box-shadow: 0 0 0 3px var(--pb-blue-soft); }
.pb-trip-matches .pb-map { margin-bottom: 12px; }
.pb-ontrip-maplink { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; }
.pb-ontrip-map { margin-top: 12px; }
.pb-ontrip-map small { display: block; margin-top: 6px; font-size: 12.5px; color: var(--mud-palette-text-secondary); }

/* Telefon: Prijava i Registracija - dva kruga iste velicine, malo razmaknuta. */
@media (max-width: 899px) {
    .pub-actions { gap: 10px; }
    .pub-login-ico { background: var(--pb-blue-soft) !important; color: var(--mud-palette-primary) !important; border: 1px solid rgba(26, 95, 214, .18) !important; }
    html:not(.pub-scrolled) .pub.is-home .pub-login-ico { background: rgba(255, 255, 255, .14) !important; color: #fff !important; border-color: rgba(255, 255, 255, .35) !important;
                                                         -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
}

/* Providno zaglavlje preko slike: tamni prelaz iza trake i senka ispod teksta - linkovi se citaju i preko svetlog neba. */
html:not(.pub-scrolled) .pub.is-home .pub-head { background: linear-gradient(180deg, rgba(8, 14, 40, .9) 0%, rgba(8, 14, 40, .72) 55%, rgba(8, 14, 40, 0) 100%) border-box; border-bottom-width: 0; }
html:not(.pub-scrolled) .pub.is-home .pub-nav a,
html:not(.pub-scrolled) .pub.is-home .pub-nav-phone a,
html:not(.pub-scrolled) .pub.is-home .pub-logo span,
html:not(.pub-scrolled) .pub.is-home .pub-login { text-shadow: 0 1px 2px rgba(0, 0, 0, .55), 0 2px 10px rgba(8, 14, 40, .6); }
html:not(.pub-scrolled) .pub.is-home .pub-nav-phone a { color: #fff; font-weight: 700; }
html:not(.pub-scrolled) .pub.is-home .pub-actions .mud-icon-root { filter: drop-shadow(0 1px 3px rgba(0, 0, 0, .5)); }

/* Telefon: bez naslova i teksta u baneru - slika, pa odmah pretraga; jaca senka iza gornje trake. */
@media (max-width: 640px) {
    .pub.is-home .pub-hero2 h1, .pub.is-home .pub-hero2 p { display: none; }
    /* Ista visina kao kad je tekst bio tu - slika se vidi do pretrage. */
    .pub.is-home .pub-hero2-in { padding-top: 330px; padding-bottom: 104px; }
    .pub.is-home .pub-hero2 { background-image: linear-gradient(180deg, rgba(8, 14, 40, .92) 0, rgba(8, 14, 40, .78) 90px, rgba(8, 14, 40, .45) 150px, rgba(8, 14, 40, .15) 205px, rgba(11, 20, 56, .05) 250px, rgba(11, 20, 56, .08) 300px, rgba(11, 20, 56, .7) 385px, #0B1438 440px), url('../img/hero-tel.webp'); }
}

/* Dugme Trazi: gradijent, meka senka u boji, blago podizanje na prelaz. */
.pub-search-go {
    background: linear-gradient(135deg, #3F7BF0 0%, #2A5BD7 55%, #2149B8 100%) !important;
    box-shadow: 0 10px 22px -8px rgba(42, 91, 215, .65), inset 0 1px 0 rgba(255, 255, 255, .22) !important;
    letter-spacing: .3px; transition: transform .15s ease, box-shadow .15s ease, filter .15s ease !important;
}
.pub-search-go:hover { transform: translateY(-1px); filter: brightness(1.06); box-shadow: 0 14px 26px -8px rgba(42, 91, 215, .75), inset 0 1px 0 rgba(255, 255, 255, .25) !important; }
.pub-search-go:active { transform: translateY(0); box-shadow: 0 6px 14px -6px rgba(42, 91, 215, .6) !important; }
.pub-search-go .mud-button-icon-start .mud-icon-root { font-size: 22px !important; }
@media (max-width: 640px) { .pub-search-go { height: 54px; border-radius: 14px !important; } }

/* Zvonce na naslovni (prijavljen): belo preko banera, kao ostala dugmad u zaglavlju. */
html:not(.pub-scrolled) .pub.is-home .pub-actions .mud-button-root:not(.pub-login):not(.pub-register) { color: #fff !important; }
html:not(.pub-scrolled) .pub.is-home .pub-actions .mud-button-root .mud-icon-root { filter: drop-shadow(0 1px 6px rgba(8, 16, 48, .55)); }

/* ================= Poruke na telefonu: bez okvira, razgovor kao pravi cet (pozadina sa sarom, oblacici) ================= */
:root { --pb-chat-wall: #EBEEF5; --pb-chat-in: #FFFFFF; --pb-chat-head: rgba(255, 255, 255, .94);
    --pb-chat-pattern: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180' fill='none' stroke='%231A5FD6' stroke-opacity='.11' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 24h30a4 4 0 0 1 4 4v15a4 4 0 0 1-4 4H37l-9 7v-7h-6a4 4 0 0 1-4-4V28a4 4 0 0 1 4-4z'/%3E%3Cpath d='M128 18c-7 0-12 5-12 12 0 9 12 20 12 20s12-11 12-20c0-7-5-12-12-12z'/%3E%3Ccircle cx='128' cy='30' r='4'/%3E%3Cpath d='M76 92l14-7 14 7v16l-14 7-14-7z'/%3E%3Cpath d='M76 92l14 7 14-7M90 99v16'/%3E%3Cpath d='M18 124h26v18H18zM44 130h9l6 6v6H44'/%3E%3Ccircle cx='26' cy='144' r='3'/%3E%3Ccircle cx='51' cy='144' r='3'/%3E%3Cpath d='M138 128l5 5 11-12'/%3E%3Ccircle cx='66' cy='60' r='2.5'/%3E%3Ccircle cx='160' cy='86' r='2'/%3E%3Cpath d='M104 46l3 3m-3 0l3-3M150 160l3 3m-3 0l3-3'/%3E%3C/svg%3E"); }
.pb-dark { --pb-chat-wall: #0E1022; --pb-chat-in: #23263A; --pb-chat-head: rgba(22, 24, 40, .94); }
.pb-dark .pb-chat-thread { --pb-chat-pattern: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180' fill='none' stroke='%23FFFFFF' stroke-opacity='.06' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 24h30a4 4 0 0 1 4 4v15a4 4 0 0 1-4 4H37l-9 7v-7h-6a4 4 0 0 1-4-4V28a4 4 0 0 1 4-4z'/%3E%3Cpath d='M128 18c-7 0-12 5-12 12 0 9 12 20 12 20s12-11 12-20c0-7-5-12-12-12z'/%3E%3Ccircle cx='128' cy='30' r='4'/%3E%3Cpath d='M76 92l14-7 14 7v16l-14 7-14-7z'/%3E%3Cpath d='M76 92l14 7 14-7M90 99v16'/%3E%3Cpath d='M18 124h26v18H18zM44 130h9l6 6v6H44'/%3E%3Ccircle cx='26' cy='144' r='3'/%3E%3Ccircle cx='51' cy='144' r='3'/%3E%3Cpath d='M138 128l5 5 11-12'/%3E%3C/svg%3E"); }

@media (max-width: 959px) {
    /* Lista razgovora: bez kartice, redovi preko cele sirine. */
    .pb-chat { border: 0; border-radius: 0; background: transparent; height: auto; min-height: 0; overflow: visible; }
    .pb-chat-list { overflow: visible; }
    .pb-chat-title { padding: 2px 2px 10px; border-bottom: 0; font-size: 24px; }
    .pb-chat-empty { padding: 48px 12px; }
    .pb-chat-item { align-items: center; gap: 12px; padding: 12px 2px; border-bottom: 1px solid var(--mud-palette-lines-default); }
    .pb-chat-item:last-child { border-bottom: 0; }
    .pb-chat-item .mud-avatar { width: 50px; height: 50px; font-size: 19px; font-weight: 700; flex: none; }
    .pb-chat-item-top b { font-size: 16px; }
    .pb-chat-preview { font-size: 14px; margin-top: 1px; }

    /* Otvoren razgovor: ceo ekran izmedju gornje trake i donjeg menija. */
    .pb-chat.has-thread { position: fixed; top: var(--mud-appbar-height); left: 0; right: 0; bottom: 0; z-index: 1200; display: flex; }
    .pb-chat.has-thread .pb-chat-thread { flex: 1; background-color: var(--pb-chat-wall); background-image: var(--pb-chat-pattern); background-size: 180px 180px; }
    .pb-chat-head { padding: 8px 10px 8px 4px; background: var(--pb-chat-head); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid var(--mud-palette-lines-default); }
    .pb-chat-head b { font-size: 16px; }
    .pb-chat-head a { display: block; max-width: 62vw; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .pb-chat-messages { background: transparent; padding: 14px 10px; gap: 5px; }
    .pb-msg { max-width: 82%; padding: 7px 11px 5px; border: 0; border-radius: 16px 16px 16px 5px; background: var(--pb-chat-in); box-shadow: 0 1px 1.5px rgba(15, 26, 61, .12); }
    .pb-msg div { font-size: 15px; line-height: 1.4; }
    .pb-msg.is-mine { border-radius: 16px 16px 5px 16px; background: linear-gradient(135deg, #3F7BF0, #1A5FD6); box-shadow: 0 2px 6px -2px rgba(26, 95, 214, .5); }
    .pb-chat-messages .pb-chat-empty { align-self: center; margin: 20px auto; padding: 6px 14px; border-radius: 10px; background: var(--pb-chat-in); font-size: 13px; box-shadow: 0 1px 1.5px rgba(15, 26, 61, .1); }

    /* Polje za poruku: kapsula i okruglo dugme, iznad donjeg menija. */
    .pb-chat-send { align-items: center; padding: 8px 10px calc(104px + env(safe-area-inset-bottom)); border-top: 0; background: transparent; }
    .pb-chat-send .mud-input-control { flex: 1; }
    .pb-chat-send .mud-input { padding: 4px 16px; min-height: 46px; border-radius: 23px; background: var(--pb-chat-in); box-shadow: 0 1px 2px rgba(15, 26, 61, .14); }
    .pb-chat-send .mud-input input { font-size: 16px; }
    .pb-chat-send .mud-input.mud-input-underline::before, .pb-chat-send .mud-input.mud-input-underline::after { display: none; }
    .pb-chat-send .mud-icon-button { width: 46px; height: 46px; flex: none; border-radius: 50%; box-shadow: 0 4px 12px -4px rgba(26, 95, 214, .6); }
}

/* Broj telefona u objavi (kao na oglasnicima) */
.pb-showphone { margin-top: 14px; border-radius: 14px; border: 1px solid var(--mud-palette-lines-default); background: var(--mud-palette-background-gray); transition: background-color .15s, border-color .15s; }
.pb-showphone.is-on { background: var(--pb-blue-soft); border-color: rgba(26, 95, 214, .25); }
.pb-showphone-row { display: flex; align-items: center; gap: 12px; padding: 10px 6px 10px 12px; cursor: pointer; -webkit-tap-highlight-color: transparent; user-select: none; }
.pb-showphone-ico { width: 36px; height: 36px; flex: none; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--mud-palette-surface); color: var(--mud-palette-text-secondary); }
.pb-showphone.is-on .pb-showphone-ico { background: var(--mud-palette-primary); color: #fff; }
.pb-showphone-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.pb-showphone-txt b { font-size: 14.5px; color: var(--mud-palette-text-primary); }
.pb-showphone-txt small { font-size: 12.5px; color: var(--mud-palette-text-secondary); line-height: 1.35; }
.pb-showphone-sw { margin: 0 !important; flex: none; pointer-events: none; }
.pb-showphone-warn { display: flex; gap: 8px; align-items: flex-start; margin: 4px 0 0; padding: 9px 11px; border-radius: 10px; background: rgba(245, 158, 11, .12); color: #9A5B00; font-size: 12.5px; line-height: 1.45; }
.pb-dark .pb-showphone-warn { color: #F5C45E; }
.pb-showphone-warn .mud-icon-root { flex: none; margin-top: 1px; font-size: 17px; }
.pb-phone-box { display: flex; align-items: center; gap: 12px; margin: 14px 0 4px; padding: 12px 14px; border-radius: 14px; text-decoration: none; color: inherit;
    background: var(--pb-blue-soft); border: 1px solid rgba(26, 95, 214, .18); }
.pb-phone-ico { width: 40px; height: 40px; flex: none; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--mud-palette-primary); color: #fff; }
.pb-phone-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.pb-phone-txt small { font-size: 12px; color: var(--mud-palette-text-secondary); }
.pb-phone-txt b { font-size: 19px; font-weight: 800; letter-spacing: .3px; color: var(--mud-palette-text-primary); }
.pb-phone-call { padding: 7px 14px; border-radius: 99px; background: var(--mud-palette-primary); color: #fff; font-size: 13px; font-weight: 700; }
.pub-req-phone { display: flex; align-items: center; gap: 6px; margin-top: 10px; padding: 8px 10px; border-radius: 10px; background: #EEF3FE; text-decoration: none; color: #1A5FD6; }
.pub-req-phone small { color: #5B6478; font-size: 12px; }
.pub-req-phone b { margin-left: auto; font-size: 15px; font-weight: 800; color: #12152B; letter-spacing: .2px; }

/* Obavestenja (snackbar): gore na sredini, zaobljena, traka na dnu se smanjuje dok obavestenje ne nestane. */
.mud-snackbar-location-top-center { top: calc(12px + env(safe-area-inset-top)) !important; }
.mud-snackbar { position: relative; overflow: hidden; border-radius: 14px !important; min-width: min(340px, calc(100vw - 24px)); box-shadow: 0 12px 32px -10px rgba(15, 26, 61, .45) !important; }
.mud-snackbar::after { content: ""; position: absolute; left: 0; bottom: 0; height: 4px; width: 100%; background: rgba(255, 255, 255, .7); transform-origin: left center; animation: pb-snack-bar 4.4s linear forwards; }
.mud-snackbar:hover::after { animation-play-state: paused; }
@keyframes pb-snack-bar { from { transform: scaleX(1); } to { transform: scaleX(0); } }

/* Objava: izbor kao kartice sa ikonicom (vrsta mesta, sta se prevozi). */
.pb-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; margin-bottom: 14px; }
.pb-tile { position: relative; display: flex; align-items: center; gap: 10px; padding: 9px 12px 9px 9px; border-radius: 14px; border: 1.5px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-surface); color: var(--mud-palette-text-primary); font: inherit; font-size: 13.5px; font-weight: 600; text-align: left; line-height: 1.25; cursor: pointer;
    -webkit-tap-highlight-color: transparent; transition: border-color .15s, background-color .15s, box-shadow .15s, transform .1s; }
.pb-tile:hover { border-color: rgba(26, 95, 214, .5); }
.pb-tile:active { transform: scale(.98); }
.pb-tile-ico { width: 36px; height: 36px; flex: none; border-radius: 11px; display: flex; align-items: center; justify-content: center; background: var(--mud-palette-background-gray); color: var(--mud-palette-text-secondary); transition: background-color .15s, color .15s; }
.pb-tile-ico .mud-icon-root { font-size: 20px; }
.pb-tile.is-on { border-color: var(--pb-blue); background: var(--pb-blue-soft); color: var(--mud-palette-primary); box-shadow: 0 6px 16px -10px rgba(26, 95, 214, .7); }
.pb-tile.is-on .pb-tile-ico { background: var(--mud-palette-primary); color: #fff; }
.pb-tile.is-on::after { content: ""; position: absolute; top: 6px; right: 6px; width: 8px; height: 8px; border-radius: 50%; background: var(--mud-palette-primary); }
@media (max-width: 599px) { .pb-tiles { grid-template-columns: 1fr 1fr; } }

/* Prekidaci u formi objave poravnati sa poljima (MudSwitch ima unutrasnji razmak levo). */
.pb-book .mud-switch { margin-left: -9px; }

/* Objava na telefonu: koraci 1-5 bez okvira, traka napretka gore, Nazad / Dalje dole. */
.pb-wiz-top, .pb-wiz-nav { display: none; }
@media (max-width: 599px) {
    .pb-wiz-top { display: block; position: sticky; top: var(--mud-appbar-height); z-index: 6; margin: -4px -12px 6px; padding: 10px 16px 12px;
        background: var(--mud-palette-background); }
    .pb-wiz-meta { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
    .pb-wiz-meta span { font-size: 12.5px; font-weight: 700; color: var(--mud-palette-primary); text-transform: uppercase; letter-spacing: .6px; }
    .pb-wiz-meta b { font-family: 'Manrope', 'Inter', sans-serif; font-size: 15px; font-weight: 800; color: var(--mud-palette-text-primary); }
    .pb-wiz-bar { display: grid; grid-template-columns: repeat(5, 1fr); gap: 5px; }
    .pb-wiz-bar i { height: 6px; border-radius: 99px; background: var(--mud-palette-lines-default); position: relative; overflow: hidden; }
    .pb-wiz-bar i::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(90deg, #3F7BF0, #1A5FD6); transform: scaleX(0); transform-origin: left; transition: transform .35s ease; }
    .pb-wiz-bar i.is-done::after, .pb-wiz-bar i.is-on::after { transform: scaleX(1); }
    .pb-wiz-bar i.is-on::after { opacity: .55; }

    .pb-book .pb-book-step { display: none; padding: 4px 2px 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
    .pb-book .pb-book-step::after { display: none; }
    .pb-book .pb-book-num { display: none; }
    .pb-book .pb-book-body h3 { display: none; }
    .pb-book.is-step-1 .pb-book-step[data-step="1"], .pb-book.is-step-2 .pb-book-step[data-step="2"], .pb-book.is-step-3 .pb-book-step[data-step="3"],
    .pb-book.is-step-4 .pb-book-step[data-step="4"], .pb-book.is-step-5 .pb-book-step[data-step="5"] { display: flex; animation: pb-wiz-in .25s ease; }
    @keyframes pb-wiz-in { from { opacity: 0; transform: translateX(14px); } to { opacity: 1; transform: none; } }

    .pb-book .pb-book-submit { display: none !important; }
    .pb-wiz-nav { display: flex; gap: 10px; margin-top: 18px; }
    .pb-wiz-nav .mud-button-root { height: 52px; border-radius: 14px !important; text-transform: none !important; font-weight: 700 !important; font-size: 16px !important; }
    .pb-wiz-back { flex: 0 0 38%; }
    .pb-wiz-next { flex: 1; box-shadow: 0 10px 22px -10px rgba(26, 95, 214, .7) !important; }
}

/* Kartice izbora: ikonica i tekst uvek od levog ruba (ne centrirano). */
.pb-tile { justify-content: flex-start !important; text-align: left !important; }
.pb-tile > span:last-child { flex: 1; min-width: 0; text-align: left; }
.pb-book .mud-switch { gap: 4px; }

/* Slike robe: crveno X za uklanjanje. */
.pb-photo button { display: flex; align-items: center; justify-content: center; padding: 0; width: 26px; height: 26px; background: #E5232A; border: 2px solid #fff; box-shadow: 0 2px 6px rgba(0, 0, 0, .3); }
.pb-photo button .mud-icon-root { font-size: 15px; color: #fff; }

/* Slike: dugme-slicica i pregled preko celog ekrana (slajder). */
button.pb-photo { padding: 0; border: 0; cursor: pointer; }
.pb-viewer { position: fixed; inset: 0; z-index: 2000; background: rgba(6, 9, 22, .94); display: flex; flex-direction: column; outline: none; animation: pb-viewer-in .18s ease; touch-action: pan-y; }
@keyframes pb-viewer-in { from { opacity: 0; } to { opacity: 1; } }
.pb-viewer-top { display: flex; align-items: center; justify-content: space-between; padding: calc(10px + env(safe-area-inset-top)) 12px 6px 18px; color: rgba(255, 255, 255, .85); font-size: 14px; font-weight: 700; }
.pb-viewer-close { width: 42px; height: 42px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .12); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.pb-viewer-stage { flex: 1; min-height: 0; display: flex; align-items: center; justify-content: center; padding: 8px 12px; }
.pb-viewer-stage img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 10px; box-shadow: 0 20px 60px rgba(0, 0, 0, .5); user-select: none; -webkit-user-drag: none; }
.pb-viewer-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 46px; height: 46px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .14); color: #fff;
    display: flex; align-items: center; justify-content: center; cursor: pointer; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.pb-viewer-nav .mud-icon-root { font-size: 30px; }
.pb-viewer-nav.is-prev { left: 12px; }
.pb-viewer-nav.is-next { right: 12px; }
.pb-viewer-dots { display: flex; justify-content: center; gap: 7px; padding: 10px 0 calc(18px + env(safe-area-inset-bottom)); }
.pb-viewer-dots i { width: 8px; height: 8px; border-radius: 99px; background: rgba(255, 255, 255, .35); cursor: pointer; transition: width .2s, background-color .2s; }
.pb-viewer-dots i.is-on { width: 22px; background: #fff; }
@media (max-width: 599px) { .pb-viewer-nav { width: 40px; height: 40px; background: rgba(255, 255, 255, .1); } .pb-viewer-nav.is-prev { left: 6px; } .pb-viewer-nav.is-next { right: 6px; } }

/* Status objave: tacka + tekst. */
.pb-status { display: inline-flex; align-items: center; gap: 7px; font-size: 13.5px; font-weight: 700; color: var(--mud-palette-text-secondary); white-space: nowrap; }
.pb-status i { width: 9px; height: 9px; border-radius: 50%; background: #9AA3B5; flex: none; }
.pb-status.is-open { color: #12A150; }
.pb-status.is-open i { background: #16B35A; box-shadow: 0 0 0 4px rgba(22, 179, 90, .16); animation: pb-status-pulse 2s ease-in-out infinite; }
@keyframes pb-status-pulse { 50% { box-shadow: 0 0 0 7px rgba(22, 179, 90, 0); } }
.pb-status.is-booked { color: var(--mud-palette-primary); }
.pb-status.is-booked i { background: var(--mud-palette-primary); }
.pb-status.is-completed { color: #12A150; }
.pb-status.is-completed i { background: #12A150; }
.pb-status.is-cancelled, .pb-status.is-expired, .pb-status.is-deleted { color: var(--mud-palette-text-secondary); }
.pb-req-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; }
.pb-req-actions .pb-status { margin-right: 6px; }
.pb-req-actions .mud-button-root { text-transform: none !important; border-radius: 10px !important; font-weight: 700 !important; }

/* Kartica objave (korisnik): telefon - jedna ispod druge; racunar - mreza kartica. */
.pb-oc-grid { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); }
@media (max-width: 599px) { .pb-oc-grid { grid-template-columns: 1fr; } }
.pb-oc { position: relative; display: flex; flex-direction: column; gap: 12px; padding: 16px 16px 12px; border-radius: 18px; text-decoration: none; color: inherit; overflow: hidden;
    background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); box-shadow: 0 1px 2px rgba(15, 26, 61, .04);
    transition: border-color .15s, box-shadow .15s, transform .15s; -webkit-tap-highlight-color: transparent; }
.pb-oc::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: #C3CAD8; }
.pb-oc.is-open::before { background: linear-gradient(180deg, #22C46B, #12A150); }
.pb-oc.is-booked::before { background: var(--mud-palette-primary); }
.pb-oc:hover { border-color: rgba(26, 95, 214, .45); box-shadow: 0 12px 28px -14px rgba(26, 95, 214, .45); transform: translateY(-1px); }
.pb-oc:active { transform: scale(.99); }
.pb-oc.is-cancelled, .pb-oc.is-expired, .pb-oc.is-completed { opacity: .82; }

.pb-oc-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.pb-oc-cargo { display: inline-flex; align-items: center; gap: 9px; min-width: 0; font-size: 13px; font-weight: 700; color: var(--mud-palette-text-secondary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pb-oc-ico { width: 34px; height: 34px; flex: none; border-radius: 11px; display: flex; align-items: center; justify-content: center; background: var(--pb-blue-soft); color: var(--mud-palette-primary); }
.pb-oc-ico .mud-icon-root { font-size: 19px; }

.pb-oc-route { display: flex; gap: 12px; }
.pb-oc-line { flex: none; width: 14px; display: flex; flex-direction: column; align-items: center; padding: 6px 0; }
.pb-oc-line i { flex: none; width: 12px; height: 12px; border-radius: 50%; }
.pb-oc-line i.is-from { border: 3px solid var(--mud-palette-primary); }
.pb-oc-line i.is-to { background: #E5232A; box-shadow: 0 0 0 3px rgba(229, 35, 42, .18); }
.pb-oc-line b { flex: 1; min-height: 14px; margin: 3px 0; border-left: 2px dotted var(--mud-palette-lines-inputs); }
.pb-oc-stops { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.pb-oc-stops div { display: flex; flex-direction: column; line-height: 1.2; }
.pb-oc-stops b { font-family: 'Manrope', 'Inter', sans-serif; font-size: 18px; font-weight: 800; color: var(--mud-palette-text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pb-oc-stops small { margin-top: 2px; font-size: 12.5px; color: var(--mud-palette-text-secondary); }

.pb-oc-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.pb-oc-tags span { display: inline-flex; align-items: center; gap: 5px; padding: 5px 10px; border-radius: 99px; background: var(--mud-palette-background-gray); font-size: 12.5px; font-weight: 600; color: var(--mud-palette-text-primary); }
.pb-oc-tags .mud-icon-root { font-size: 15px; color: var(--mud-palette-text-secondary); }
.pb-oc-desc { font-size: 13.5px; color: var(--mud-palette-text-secondary); line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.pb-oc-foot { display: flex; align-items: center; gap: 10px; margin-top: 2px; padding-top: 10px; border-top: 1px dashed var(--mud-palette-lines-default); }
.pb-oc-num { font-size: 12.5px; font-weight: 700; color: var(--mud-palette-text-disabled); }
.pb-oc-offers { margin-left: auto; font-size: 13px; font-weight: 600; color: var(--mud-palette-text-secondary); }
.pb-oc-offers.has { padding: 4px 11px; border-radius: 99px; background: #E5232A; color: #fff; font-weight: 700; box-shadow: 0 4px 12px -4px rgba(229, 35, 42, .6); }
.pb-oc-offers.has b { font-weight: 800; }
.pb-oc-chev { color: var(--mud-palette-text-disabled); font-size: 22px !important; }
.pb-oc-foot .pb-oc-num + .pb-oc-chev { margin-left: auto; }

/* Moje objave - zbijene kartice (kao oglasi): slicica levo, podaci desno, dugmad dole. */
.pb-mr-tabs { display: flex; gap: 4px; margin: 4px 0 12px; border-bottom: 1px solid var(--mud-palette-lines-default); overflow-x: auto; scrollbar-width: none; }
.pb-mr-tabs::-webkit-scrollbar { display: none; }
.pb-mr-tabs button { position: relative; flex: none; display: inline-flex; align-items: center; gap: 6px; padding: 10px 14px 11px; border: 0; background: none; font: inherit; font-size: 15px; font-weight: 600;
    color: var(--mud-palette-text-secondary); cursor: pointer; -webkit-tap-highlight-color: transparent; }
.pb-mr-tabs button.is-on { color: var(--mud-palette-primary); font-weight: 800; }
.pb-mr-tabs button.is-on::after { content: ""; position: absolute; left: 10px; right: 10px; bottom: -1px; height: 3px; border-radius: 3px 3px 0 0; background: var(--mud-palette-primary); }
.pb-mr-tabs em { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; font-style: normal; font-size: 11.5px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center;
    background: var(--pb-blue-soft); color: var(--mud-palette-primary); }
.pb-mr-count { margin: 0 2px 10px; font-size: 13.5px; color: var(--mud-palette-text-secondary); }
.pb-mr-empty { padding: 36px 12px; text-align: center; color: var(--mud-palette-text-secondary); font-size: 14px; }
.pb-mr-list { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(420px, 1fr)); }
@media (max-width: 599px) { .pb-mr-list { grid-template-columns: 1fr; } }

.pb-mr { position: relative; padding: 10px; border-radius: 16px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); }
.pb-mr-body { display: flex; gap: 12px; text-decoration: none; color: inherit; padding-right: 30px; -webkit-tap-highlight-color: transparent; }
.pb-mr-thumb { position: relative; width: 92px; height: 92px; flex: none; border-radius: 12px; overflow: hidden; display: flex; align-items: center; justify-content: center;
    background: var(--pb-blue-soft); color: var(--mud-palette-primary); }
.pb-mr-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pb-mr-thumb .mud-icon-root { font-size: 38px; }
.pb-mr-thumb em { position: absolute; right: 5px; bottom: 5px; padding: 1px 6px; border-radius: 6px; background: rgba(0, 0, 0, .6); color: #fff; font-style: normal; font-size: 11px; font-weight: 700; }
.pb-mr-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.pb-mr-route { font-family: 'Manrope', 'Inter', sans-serif; font-size: 16px; font-weight: 800; color: var(--mud-palette-text-primary); line-height: 1.25;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pb-mr-meta { display: flex; align-items: center; gap: 5px; font-size: 13px; color: var(--mud-palette-text-secondary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pb-mr-meta .mud-icon-root { font-size: 15px; flex: none; }
.pb-mr-status { display: flex; align-items: center; gap: 10px; margin-top: 3px; }
.pb-mr-status .pb-status { font-size: 13px; }
.pb-mr-offers { font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-mr-offers.has { padding: 2px 9px; border-radius: 99px; background: #E5232A; color: #fff; font-weight: 800; }
.pb-mr-menu { position: absolute; top: 4px; right: 2px; }
.pb-mr-actions { display: flex; align-items: center; gap: 8px; margin-top: 10px; }
.pb-mr-gap { flex: 1; }
.pb-mr-btn { text-transform: none !important; border-radius: 10px !important; font-weight: 700 !important; font-size: 13.5px !important; box-shadow: none !important; padding: 5px 14px !important; }
.pb-mr-btn.is-soft { background: var(--mud-palette-background-gray) !important; color: var(--mud-palette-text-primary) !important; }
.pb-mr-btn.is-soft:hover { background: var(--mud-palette-lines-default) !important; }
.pb-mr.is-cancelled .pb-mr-thumb, .pb-mr.is-expired .pb-mr-thumb, .pb-mr.is-completed .pb-mr-thumb { filter: grayscale(.6); opacity: .8; }

/* Dugmad na kartici objave: iste sirine, ikonica i boja po radnji. */
.pb-mr-actions { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 8px; }
.pb-mr-btn { justify-content: center; height: 38px; padding: 0 10px !important; }
.pb-mr-btn .mud-button-icon-start { margin-right: 5px; }
.pb-mr-btn .mud-button-icon-start .mud-icon-root { font-size: 18px; }
.pb-mr-btn.is-edit { background: var(--pb-blue-soft) !important; color: var(--mud-palette-primary) !important; }
.pb-mr-btn.is-pause { background: rgba(245, 158, 11, .14) !important; color: #B26A00 !important; }
.pb-mr-btn.is-play { background: rgba(22, 179, 90, .14) !important; color: #0E8A44 !important; }
.pb-dark .pb-mr-btn.is-pause { color: #F5C45E !important; }
.pb-dark .pb-mr-btn.is-play { color: #5EE0A8 !important; }
.pb-mr-btn.is-main { box-shadow: 0 6px 14px -8px rgba(26, 95, 214, .8) !important; }
.pb-mr-btn.is-main em { margin-left: 6px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: #E5232A; color: #fff; font-style: normal; font-size: 11px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; }

/* Tri tacke na kartici i donji panel sa radnjama. */
.pb-mr-more { position: absolute; top: 6px; right: 4px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: transparent; color: var(--mud-palette-text-secondary);
    display: flex; align-items: center; justify-content: center; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.pb-mr-more:hover, .pb-mr-more:active { background: var(--mud-palette-background-gray); }
.pb-sheet-back { position: fixed; inset: 0; z-index: 1600; background: rgba(10, 14, 32, .45); display: flex; align-items: flex-end; justify-content: center; animation: pb-viewer-in .15s ease; }
.pb-sheet { width: 100%; max-width: 520px; padding: 8px 14px calc(14px + env(safe-area-inset-bottom)); border-radius: 22px 22px 0 0; background: var(--mud-palette-surface);
    box-shadow: 0 -12px 40px rgba(10, 14, 32, .25); animation: pb-sheet-up .22s cubic-bezier(.2, .8, .2, 1); }
@keyframes pb-sheet-up { from { transform: translateY(100%); } to { transform: none; } }
.pb-sheet-grip { display: block; width: 40px; height: 5px; margin: 0 auto 10px; border-radius: 3px; background: var(--mud-palette-lines-inputs); }
.pb-sheet-head { display: flex; flex-direction: column; gap: 2px; padding: 4px 6px 12px; border-bottom: 1px solid var(--mud-palette-lines-default); margin-bottom: 6px; }
.pb-sheet-head b { font-family: 'Manrope', 'Inter', sans-serif; font-size: 17px; font-weight: 800; color: var(--mud-palette-text-primary); }
.pb-sheet-head small { font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-sheet-item { width: 100%; display: flex; align-items: center; gap: 14px; padding: 11px 6px; border: 0; border-radius: 12px; background: none; font: inherit; font-size: 15.5px; font-weight: 600;
    color: var(--mud-palette-text-primary); text-decoration: none; text-align: left; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.pb-sheet-item:active, .pb-sheet-item:hover { background: var(--mud-palette-background-gray); }
.pb-sheet-item > span { width: 38px; height: 38px; flex: none; border-radius: 12px; display: flex; align-items: center; justify-content: center; }
.pb-sheet-item > span .mud-icon-root { font-size: 21px; }
.pb-sheet-item .is-blue { background: var(--pb-blue-soft); color: var(--mud-palette-primary); }
.pb-sheet-item .is-amber { background: rgba(245, 158, 11, .14); color: #B26A00; }
.pb-sheet-item .is-green { background: rgba(22, 179, 90, .14); color: #0E8A44; }
.pb-sheet-item .is-red { background: rgba(229, 35, 42, .12); color: #E5232A; }
.pb-sheet-item.is-danger { color: #E5232A; }
.pb-sheet-cancel { width: 100%; margin-top: 8px; height: 48px; border: 0; border-radius: 14px; background: var(--mud-palette-background-gray); font: inherit; font-size: 15.5px; font-weight: 700;
    color: var(--mud-palette-text-primary); cursor: pointer; }
@media (min-width: 600px) { .pb-sheet-back { align-items: center; } .pb-sheet { border-radius: 20px; padding-bottom: 14px; } .pb-sheet-grip { display: none; } }
.pb-sheet-item { justify-content: flex-start !important; text-align: left !important; }

/* Javna strana objave (podeljen link). */
.pub-ad { display: grid; grid-template-columns: 1fr 320px; gap: 16px; align-items: start; max-width: 1040px; margin: 0 auto; }
.pub-ad-main, .pub-ad-side { padding: 20px; border-radius: 20px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); }
.pub-ad-main { display: flex; flex-direction: column; gap: 14px; }
.pub-ad-side { position: sticky; top: 90px; display: flex; flex-direction: column; gap: 10px; }
.pub-ad-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.pub-ad-route { display: flex; gap: 14px; }
.pub-ad-route .pb-oc-stops b { font-size: 24px; }
.pub-ad-desc { margin: 0; font-size: 15px; line-height: 1.6; white-space: pre-wrap; color: var(--mud-palette-text-primary); }
.pub-ad-foot { padding-top: 10px; border-top: 1px dashed var(--mud-palette-lines-default); font-size: 13px; color: var(--mud-palette-text-secondary); }
.pub-ad-side .pb-phone-box { margin: 0; }
.pub-ad-cta { text-transform: none !important; border-radius: 12px !important; font-weight: 700 !important; }
.pub-ad-closed { padding: 12px 14px; border-radius: 12px; background: var(--mud-palette-background-gray); font-size: 14px; color: var(--mud-palette-text-secondary); text-align: center; }
.pub-ad-more { text-align: center; font-size: 13.5px; font-weight: 600; color: var(--mud-palette-primary); text-decoration: none; padding: 4px; }
a.pub-req-route { text-decoration: none; color: inherit; }
@media (max-width: 860px) { .pub-ad { grid-template-columns: 1fr; } .pub-ad-side { position: static; } .pub-ad-main, .pub-ad-side { padding: 16px; } .pub-ad-route .pb-oc-stops b { font-size: 21px; } }

/* Objava (korisnik): status pa radnje kao jednake plocice (ikonica gore, tekst dole). */
.pb-req-actions { display: flex; flex-direction: column; align-items: stretch; gap: 10px; width: 100%; }
.pb-req-state { display: flex; }
.pb-req-tiles { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 8px; max-width: 460px; }
.pb-req-tile { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; padding: 10px 4px; border: 0; border-radius: 14px; font: inherit;
    font-size: 12.5px; font-weight: 700; text-decoration: none; cursor: pointer; -webkit-tap-highlight-color: transparent; transition: transform .1s, filter .15s; }
.pb-req-tile .mud-icon-root { font-size: 22px; }
.pb-req-tile:active { transform: scale(.96); }
.pb-req-tile:hover { filter: brightness(.97); }
.pb-req-tile.is-blue { background: var(--pb-blue-soft); color: var(--mud-palette-primary); }
.pb-req-tile.is-amber { background: rgba(245, 158, 11, .14); color: #B26A00; }
.pb-req-tile.is-green { background: rgba(22, 179, 90, .14); color: #0E8A44; }
.pb-req-tile.is-red { background: rgba(229, 35, 42, .10); color: #E5232A; }
.pb-dark .pb-req-tile.is-amber { color: #F5C45E; }
.pb-dark .pb-req-tile.is-green { color: #5EE0A8; }
/* Plocice radnji zauzimaju celu sirinu (telefon), na racunaru do 460 px desno u zaglavlju. */
.pb-page-head > .mud-stack:has(.pb-req-actions) { flex: 1 1 100%; }
@media (min-width: 900px) { .pb-page-head > .mud-stack:has(.pb-req-actions) { flex: 0 1 460px; } }
.pb-req-tiles { max-width: none; }
.pb-req-tile { min-height: 62px; font-size: 13px; }
div:has(> div > .pb-req-actions) { flex-wrap: wrap; }
div:has(> .pb-req-actions) { flex: 1 1 100%; }
.pb-req-actions .pb-req-tiles { width: 100%; }
@media (min-width: 900px) { div:has(> .pb-req-actions) { flex: 0 1 460px; } }

/* Pretraga prevoznika */
.pb-srch-head { padding: 14px 16px; border-radius: 18px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); margin-bottom: 14px; }
.pb-srch-head .pb-hq-route { display: flex; gap: 12px; }
.pb-srch-head .pb-oc-line { padding: 26px 0 22px; }
.pb-srch-head .pb-hq-stops { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.pb-srch-bottom { display: flex; align-items: flex-end; gap: 12px; margin-top: 6px; }
.pb-srch-bottom .mud-input-control { flex: 1; }
.pb-srch-go { height: 44px; border-radius: 12px !important; text-transform: none !important; font-weight: 700 !important; padding: 0 20px !important; }
.pb-srch-sum { margin: 2px 2px 6px; font-size: 14px; color: var(--mud-palette-text-secondary); }
.pb-srch-sum b { color: var(--mud-palette-text-primary); }
.pb-srch-list { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); }
@media (max-width: 599px) { .pb-srch-list { grid-template-columns: 1fr; } }
.pb-srch-card { display: flex; flex-direction: column; gap: 10px; padding: 14px; border-radius: 16px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); }
.pb-srch-card.is-premium { border-color: rgba(233, 162, 31, .55); background: linear-gradient(160deg, rgba(233, 162, 31, .08), transparent 55%), var(--mud-palette-surface); }
.pb-srch-top { display: flex; align-items: center; gap: 12px; }
.pb-srch-name { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.pb-srch-name b { font-family: 'Manrope', 'Inter', sans-serif; font-size: 16px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pb-srch-name small { font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-srch-actions { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 8px; }
.pb-srch-empty { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 30px 16px; text-align: center; color: var(--mud-palette-text-secondary); }
.pb-srch-empty b { color: var(--mud-palette-text-primary); }
.pb-srch-cta { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-top: 18px; padding: 16px; border-radius: 18px;
    background: linear-gradient(135deg, rgba(229, 35, 42, .08), rgba(26, 95, 214, .08)); border: 1px dashed var(--mud-palette-lines-inputs); }
.pb-srch-cta div { display: flex; flex-direction: column; gap: 2px; flex: 1; min-width: 200px; }
.pb-srch-cta > div > span { font-size: 13.5px; color: var(--mud-palette-text-secondary); }
@media (max-width: 599px) { .pb-srch-cta .mud-button-root { width: 100%; } }

/* Upit prevozniku - izbor objave */
.pb-ask-list { display: flex; flex-direction: column; gap: 8px; }
.pb-ask-empty { margin-bottom: 10px; padding: 10px 12px; border-radius: 12px; background: var(--mud-palette-background-gray); font-size: 13.5px; color: var(--mud-palette-text-secondary); }
.pb-ask-item { display: flex; align-items: center; gap: 12px; width: 100%; padding: 11px 12px; border-radius: 14px; border: 1.5px solid var(--mud-palette-lines-default); background: var(--mud-palette-surface);
    font: inherit; text-align: left !important; justify-content: flex-start !important; cursor: pointer; color: var(--mud-palette-text-primary); -webkit-tap-highlight-color: transparent; }
.pb-ask-item.is-on { border-color: var(--mud-palette-primary); background: var(--pb-blue-soft); }
.pb-ask-radio { width: 20px; height: 20px; flex: none; border-radius: 50%; border: 2px solid var(--mud-palette-lines-inputs); }
.pb-ask-item.is-on .pb-ask-radio { border: 6px solid var(--mud-palette-primary); }
.pb-ask-plus { width: 28px; height: 28px; flex: none; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #E5232A; color: #fff; }
.pb-ask-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.pb-ask-main b { font-size: 14.5px; }
.pb-ask-main small { font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-ask-item.is-new { border-style: dashed; }
.pb-srch-cta .mud-button-root { color: #fff !important; box-shadow: 0 8px 18px -10px rgba(229, 35, 42, .8) !important; }

/* Kada: ikonica u koloni tacaka (14 px), polje poravnato sa Odakle / Dokle; dugme Trazi je ugaseno dok nisu izabrana oba mesta. */
.pb-hq-when { flex: 1; min-width: 0; display: flex; align-items: flex-end; gap: 12px; }
.pb-hq-when-ico { flex: none; width: 14px; display: flex; justify-content: center; padding-bottom: 9px; }
.pb-hq-when-ico .mud-icon-root { font-size: 22px; margin: 0 -6px; color: rgba(255, 255, 255, .85); }
.pb-srch-head .pb-hq-when-ico .mud-icon-root { color: var(--mud-palette-text-secondary); }
.pb-hq-when .pb-hq-field, .pb-hq-when .mud-input-control { flex: 1; min-width: 0; }
.pb-hq-go.mud-button-disabled, .pb-srch-go.mud-button-disabled { opacity: .55; }
.pb-hero-quick .pb-hq-go.mud-button-disabled { background: rgba(255, 255, 255, .18) !important; color: rgba(255, 255, 255, .75) !important; }

/* Pretraga na telefonu: Trazi ispod datuma, preko cele sirine, umerene visine. */
@media (max-width: 599px) {
    .pb-srch-bottom { flex-direction: column; align-items: stretch; gap: 12px; }
    .pb-srch-go { width: 100%; height: 44px !important; font-size: 15px !important; }
}
.pb-own-phone { display: flex; align-items: flex-start; gap: 8px; margin: 12px 0 2px; padding: 10px 12px; border-radius: 12px; background: var(--mud-palette-background-gray); font-size: 13.5px; color: var(--mud-palette-text-secondary); }
.pb-own-phone b { color: var(--mud-palette-text-primary); }
.pb-own-phone .mud-icon-root { flex: none; margin-top: 1px; }

.pub-ad-note { display: flex; gap: 8px; align-items: flex-start; font-size: 12.5px; color: var(--mud-palette-text-secondary); line-height: 1.45; padding: 2px 4px; }
.pub-ad-note .mud-icon-root { flex: none; margin-top: 1px; }

/* Strane naloga: nazad na sajt */
.pb-auth-back { position: fixed; top: 16px; left: 16px; z-index: 5; display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 14px 0 10px; border-radius: 99px;
    border: 1px solid var(--mud-palette-lines-default); background: var(--mud-palette-surface); color: var(--mud-palette-text-primary); font-size: 13.5px; font-weight: 600; text-decoration: none;
    box-shadow: 0 4px 14px rgba(18, 21, 43, .12); }
@media (max-width: 599px) { .pb-auth-back { top: 10px; left: 10px; height: 36px; font-size: 13px; } }

/* Naslovna - prijavljen korisnik */
.pub-me { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; max-width: 1080px; margin: 18px auto 0; padding: 16px 18px; border-radius: 18px;
    background: linear-gradient(135deg, rgba(26, 95, 214, .10), rgba(229, 35, 42, .06)); border: 1px solid rgba(26, 95, 214, .22); }
.pub-me-av { width: 46px; height: 46px; flex: none; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #1A5FD6; color: #fff; font-weight: 800; }
.pub-me-txt { flex: 1; min-width: 200px; display: flex; flex-direction: column; }
.pub-me-txt b { font-family: 'Manrope', 'Inter', sans-serif; font-size: 17px; font-weight: 800; color: #12152B; }
.pub-me-txt small { font-size: 13.5px; color: #5B6478; }
.pub-me-btns { display: flex; gap: 8px; flex-wrap: wrap; }
.pub-me-btn { text-transform: none !important; border-radius: 12px !important; font-weight: 700 !important; height: 42px; }
@media (max-width: 640px) { .pub-me { margin: 14px 16px 0; } .pub-me-btns { width: 100%; } .pub-me-btn { flex: 1; } }
.pub-me-btn { white-space: nowrap; }
@media (max-width: 640px) { .pub-me-btn { padding: 0 10px !important; font-size: 13.5px !important; } .pub-me-btn .mud-button-icon-start, .pub-me-btn .mud-button-icon-end { margin-inline: 4px; } }

/* Telefon: "Nazad na sajt" u toku strane (gore levo, iznad sadrzaja) - ne lebdi preko naslova i koraka. */
@media (max-width: 599px) {
    .pb-auth-back { position: absolute; top: calc(10px + env(safe-area-inset-top)); left: 12px; box-shadow: none; height: 34px; }
    .pb-auth-page.is-steps .pb-auth-back { display: none; }
}

/* Donja traka: uvek ista, bez animacija i prelaza (ne ulece, ne menja velicinu). */
.tabbar .tab span { display: block; max-height: 16px; overflow: hidden; }
/* Malo manja (uvek ista): uza, nize kartice, manje ikonice i natpisi. */
/* Spustena nize (blize dnu ekrana, i dalje iznad crte za pocetni ekran na iPhone-u). */
.tabbar { width: calc(100% - 32px); max-width: 520px; padding: 5px; border-radius: 30px; bottom: calc(4px + env(safe-area-inset-bottom) * .5); }
.tabbar .tab { padding: 5px 2px 4px; gap: 1px; border-radius: 25px; font-size: 10.5px; }
.tabbar .tab .mud-icon-root { font-size: 1.3rem; }

/* Javni sajt, prijavljen korisnik (telefon): traka dole kao u aplikaciji; sadrzaj ima mesta iznad nje. */
.pub-tabbar .tab { text-decoration: none; }
@media (max-width: 599px) {
    body:has(.pub-tabbar) .pub-foot { padding-bottom: calc(100px + env(safe-area-inset-bottom)); }
}

/* Senka trake uz samu traku (velika senka se u Safariju sece ispod trake i pravi pojas). */
.tabbar { box-shadow: 0 4px 14px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.34), inset 0 -1px 0 rgba(255,255,255,.08), inset 0 0 22px rgba(255,255,255,.06) !important; }

.pub-req-mine { display: inline-flex; align-items: center; gap: 5px; margin-left: auto; margin-right: 4px; padding: 3px 10px; border-radius: 99px; background: rgba(22, 179, 90, .12); color: #0E8A44; font-size: 12.5px; font-weight: 700; }

/* Odjava na sajtu: traka klizne dole i nestane. */
.pub-tabbar.is-leaving { animation: pb-tab-out .32s cubic-bezier(.4, 0, 1, 1) forwards; pointer-events: none; }
@keyframes pb-tab-out { to { transform: translate(-50%, 140%); opacity: 0; } }

/* Kartice sa brojevima na telefonu: sve iste - ikonica levo, vrednost i natpis desno, poravnato levo (pravilo posle osnovnog .pb-stat). */
@media (max-width: 599px) {
    .pb-stats { gap: 10px; }
    .pb-stat { flex-direction: row; align-items: center; justify-content: flex-start; gap: 11px; padding: 13px 12px; text-align: left; min-height: 74px; }
    .pb-stat-icon { width: 40px; height: 40px; border-radius: 12px; }
    .pb-stat-icon .mud-icon-root { font-size: 21px; }
    .pb-stat > div { flex: 1; display: flex; flex-direction: column; align-items: flex-start; }
    .pb-stat-value { font-size: 15.5px; line-height: 1.2; overflow-wrap: normal; word-break: normal; }
    .pb-stat-label { font-size: 12px; margin-top: 2px; }
}

/* Skriveno polje za fajl lezi preko dugmeta - telefon (iOS) otvara meni "Slikaj / Biblioteka" kod dugmeta, ne u uglu strane. */
.mud-file-upload { position: relative; display: inline-block; }
.pb-file-input { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; opacity: 0; pointer-events: none; display: block !important; z-index: -1; }

/* Tabele na telefonu (MudTable - .mud-xs-table): svaki red je kartica - prvo polje je naslov, ostala u dve kolone
   (sitan natpis iznad vrednosti), radnje (polje bez natpisa) dole desno. */
@media (max-width: 599px) {
    .mud-xs-table .mud-table-body { border-top: 0; }
    .mud-xs-table .mud-table-body .mud-table-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 14px; padding: 12px 14px;
        border-bottom: 1px solid var(--mud-palette-table-lines); }
    .mud-xs-table .mud-table-body .mud-table-row:nth-child(even) { background: color-mix(in srgb, var(--mud-palette-background-gray) 55%, transparent); }
    .mud-xs-table .mud-table-row .mud-table-cell:last-child { border-bottom: 0; }
    .mud-xs-table .mud-table-body .mud-table-cell, .mud-xs-table.mud-table-dense .mud-table-body .mud-table-cell {
        display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 1px; padding: 0 !important; min-width: 0; font-size: 13.5px; overflow-wrap: anywhere; }
    .mud-xs-table .mud-table-body .mud-table-cell::before { padding: 0 !important; font-size: 10.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--mud-palette-text-secondary); }
    .mud-xs-table .mud-table-body .mud-table-cell:first-child { grid-column: 1 / -1; font-size: 15px; }
    .mud-xs-table .mud-table-body .mud-table-cell:first-child::before { display: none; }
    .mud-xs-table .mud-table-body .mud-table-cell:not([data-label]), .mud-xs-table .mud-table-body .mud-table-cell[data-label=""] {
        grid-column: 1 / -1; flex-direction: row; justify-content: flex-end; align-items: center; gap: 4px; margin-top: 2px; }
    .mud-xs-table .mud-table-body .mud-table-cell:not([data-label])::before, .mud-xs-table .mud-table-body .mud-table-cell[data-label=""]::before { display: none; }
    .mud-xs-table .mud-table-body .mud-table-cell > * { max-width: 100%; }
    .mud-xs-table .mud-table-pagination { font-size: 13px; }
    .mud-xs-table .mud-table-body .mud-table-cell, .mud-xs-table.mud-table-dense .mud-table-body .mud-table-cell { display: block; text-align: left !important; }
    .mud-xs-table .mud-table-body .mud-table-cell::before { display: block; margin-bottom: 1px; }
    .mud-xs-table .mud-table-body .mud-table-cell:not([data-label]), .mud-xs-table .mud-table-body .mud-table-cell[data-label=""] { display: flex; }
}

/* ================= Liste na telefonu umesto tabela (administracija) ================= */
.pb-mob { display: none; }
@media (max-width: 599px) {
    .pb-desk { display: none; }
    .pb-mob { display: block; }
}
.pb-mlist-bar { display: flex; align-items: flex-end; gap: 10px; margin-bottom: 8px; }
.pb-mlist-bar .mud-input-control { flex: 1; margin: 0; }
.pb-mlist-count { margin: 2px 4px 8px; font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-mlist-empty { padding: 28px 16px; text-align: center; color: var(--mud-palette-text-secondary); font-size: 14px; border-radius: 16px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); }
.pb-mlist { border-radius: 16px; overflow: hidden; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); }
.pb-mrow + .pb-mrow { border-top: 1px solid var(--mud-palette-lines-default); }
.pb-mrow.is-open { background: color-mix(in srgb, var(--pb-blue-soft) 60%, transparent); }
.pb-mrow-main { width: 100%; display: flex; align-items: center; gap: 11px; padding: 11px 10px 11px 12px; border: 0; background: none; font: inherit; color: inherit;
    text-align: left !important; justify-content: flex-start !important; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.pb-mrow-main:active { background: var(--mud-palette-action-default-hover); }
.pb-mrow-av { width: 40px; height: 40px; flex: none; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 800;
    color: var(--c); background: color-mix(in srgb, var(--c) 14%, transparent); }
.pb-mrow-av .mud-icon-root { font-size: 20px; }
.pb-mrow-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.pb-mrow-txt b { font-size: 14.5px; font-weight: 700; color: var(--mud-palette-text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pb-mrow-txt small { font-size: 12.5px; color: var(--mud-palette-text-secondary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pb-mrow-end { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 3px; max-width: 42%; }
.pb-mrow-end small { font-size: 11.5px; color: var(--mud-palette-text-secondary); white-space: nowrap; }
.pb-mrow-chev { flex: none; font-size: 20px !important; color: var(--mud-palette-text-disabled); transition: transform .2s; }
.pb-mrow.is-open .pb-mrow-chev { transform: rotate(180deg); }
.pb-mpill { padding: 2px 9px; border-radius: 99px; font-size: 11.5px; font-weight: 700; white-space: nowrap; background: var(--mud-palette-background-gray); color: var(--mud-palette-text-secondary); }
.pb-mpill.is-green { background: rgba(22, 179, 90, .14); color: #0E8A44; }
.pb-mpill.is-amber { background: rgba(245, 158, 11, .16); color: #B26A00; }
.pb-mpill.is-red { background: rgba(229, 35, 42, .12); color: #D21F26; }
.pb-mpill.is-blue { background: var(--pb-blue-soft); color: var(--mud-palette-primary); }
.pb-mamount { font-size: 14.5px; font-weight: 800; color: var(--mud-palette-text-primary); white-space: nowrap; }
.pb-mdue { color: #D21F26 !important; font-weight: 700; }
.pb-mclip { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pb-mrow-more { padding: 0 14px 12px 63px; animation: pb-viewer-in .15s ease; }
.pb-mkv { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px; }
.pb-mkv > div { min-width: 0; display: flex; flex-direction: column; }
.pb-mkv small { font-size: 10.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--mud-palette-text-secondary); }
.pb-mkv span { font-size: 13.5px; color: var(--mud-palette-text-primary); overflow-wrap: anywhere; }
.pb-mlong { margin: 0 0 10px; font-size: 13px; line-height: 1.45; overflow-wrap: anywhere; color: var(--mud-palette-text-primary); }
.pb-mact { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.pb-mact .mud-button-root { text-transform: none !important; border-radius: 10px !important; font-weight: 700 !important; }
.pb-mlist-more { display: block; width: 100%; margin-top: 10px; padding: 11px; border: 1px dashed var(--mud-palette-lines-inputs); border-radius: 14px; background: transparent;
    font: inherit; font-size: 14px; font-weight: 700; color: var(--mud-palette-primary); cursor: pointer; }
.pb-mrow-main { padding-right: 6px; gap: 10px; }
.pb-mrow-end { max-width: 36%; }
.pb-mrow-chev { margin-left: -4px; }

/* Provera naloga (prevoznik) */
.pb-verify-head { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 14px; }
.pb-verify-head > div { display: flex; flex-direction: column; gap: 3px; }
.pb-verify-head b { font-family: 'Manrope', 'Inter', sans-serif; font-size: 17px; font-weight: 800; }
.pb-verify-head small { font-size: 13px; color: var(--mud-palette-text-secondary); line-height: 1.45; }
.pb-verify-ico { width: 42px; height: 42px; flex: none; border-radius: 13px; display: flex; align-items: center; justify-content: center; background: rgba(22, 179, 90, .12); color: #12A150; }
.pb-verify-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.pb-verify-steps li { position: relative; display: flex; gap: 12px; padding: 0 0 18px; }
.pb-verify-steps li:not(:last-child)::before { content: ""; position: absolute; left: 15px; top: 34px; bottom: 4px; border-left: 2px dashed var(--mud-palette-lines-inputs); }
.pb-verify-steps li.is-done:not(:last-child)::before { border-left-style: solid; border-left-color: #16B35A; }
.pb-verify-num { width: 32px; height: 32px; flex: none; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 14px;
    background: var(--mud-palette-background-gray); color: var(--mud-palette-text-secondary); border: 2px solid var(--mud-palette-lines-inputs); }
.pb-verify-steps li.is-wait .pb-verify-num { border-color: #E9A21F; color: #B26A00; background: rgba(245, 158, 11, .12); }
.pb-verify-steps li.is-done .pb-verify-num { border-color: #16B35A; background: #16B35A; color: #fff; }
.pb-verify-num .mud-icon-root { font-size: 18px; }
.pb-verify-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; padding-top: 4px; }
.pb-verify-body > b { font-size: 15px; }
.pb-verify-body > small { font-size: 13px; color: var(--mud-palette-text-secondary); line-height: 1.45; }
.pb-verify-photo { display: flex; align-items: center; gap: 14px; margin-top: 6px; }
.pb-verify-photo .pb-more-photo { margin-bottom: 0; }
.pb-verify-av { width: 72px !important; height: 72px !important; }
.pb-verify-av .mud-icon-root { font-size: 34px; }
.pb-verify-hint { font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-verify-privacy { display: flex; gap: 8px; align-items: flex-start; margin: 6px 0 2px; padding: 10px 12px; border-radius: 12px; background: rgba(22, 179, 90, .08); border: 1px solid rgba(22, 179, 90, .25);
    font-size: 12.5px; line-height: 1.45; color: var(--mud-palette-text-primary); }
.pb-verify-privacy .mud-icon-root { flex: none; color: #12A150; margin-top: 1px; }
.pb-verify-consent .mud-typography, .pb-verify-consent span { font-size: 12.5px !important; line-height: 1.4; }
.pb-verify-body .mud-file-upload { margin-top: 4px; }
.pb-license-compare { margin-bottom: 10px; }
.pb-license-compare small { display: block; font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--mud-palette-text-secondary); margin-bottom: 4px; }
.pb-license-face { display: block; width: 120px; height: 120px; border-radius: 14px; overflow: hidden; background: var(--mud-palette-background-gray); }
.pb-license-face img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pb-license-face.is-empty { width: auto; height: auto; display: flex; align-items: center; gap: 8px; padding: 10px 12px; color: #D21F26; font-size: 13px; }

.pb-mact-sep { margin-top: 10px; padding-top: 10px; border-top: 1px dashed var(--mud-palette-lines-default); }

/* Potrebni prevozi - filteri: na racunaru svi u redu; na telefonu odakle/dokle + dugme "Filteri" za ostalo. */
.pub-f-more { display: contents; }
.pub-f-toggle { display: none; }
@media (max-width: 599px) {
    .pub-f-toggle { display: flex; align-items: center; gap: 6px; margin-top: 6px; padding: 9px 4px 2px; border: 0; background: none; font: inherit; font-size: 14px; font-weight: 700;
        color: var(--mud-palette-primary); cursor: pointer; -webkit-tap-highlight-color: transparent; }
    .pub-f-toggle em { min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--mud-palette-primary); color: #fff; font-style: normal; font-size: 11px; display: inline-flex; align-items: center; justify-content: center; }
    .pub-f-chev { margin-left: auto; transition: transform .2s; }
    .pub-f-toggle.is-open .pub-f-chev { transform: rotate(180deg); }
    .pub-f-more { display: none; }
    .pub-f-more.is-open { display: flex; flex-direction: column; gap: 4px; }
    .pub-page-head p { font-size: 13.5px; }
}

/* Dno sajta na telefonu: puno samo na naslovnoj; na ostalim stranama samo red © PickupBooker · Powered by SEAM. */
@media (max-width: 640px) {
    .pub:not(.is-home) .pub-foot-in { display: none; }
    .pub:not(.is-home) .pub-foot { padding-top: 14px; }
    .pub:not(.is-home) .pub-foot-copy { border-top: 0; margin-top: 0; padding-top: 0; text-align: center; }
}

/* Filteri (Potrebni prevozi, Prevoznici): isti crveni okvir kao pretraga na naslovnoj. */
.pub-filters { background: #fff; border: 1.5px solid rgba(229, 35, 42, .28); border-radius: 20px; box-shadow: 0 0 0 6px rgba(229, 35, 42, .07), 0 16px 40px rgba(15, 26, 61, .10); margin-bottom: 20px; }
/* Bez odvojenog oreola: jedna tanka crvena ivica i meka crvenkasta senka koja se stapa sa njom. */
.pub-filters { border: 1px solid rgba(229, 35, 42, .30); box-shadow: 0 1px 0 rgba(255, 255, 255, .8) inset, 0 12px 32px -14px rgba(229, 35, 42, .38), 0 4px 14px -6px rgba(15, 26, 61, .10); }
/* Pretraga na naslovnoj - isti okvir kao filteri (ivica + meka senka, bez odvojenog oreola). */
.pub-search { border: 1px solid rgba(229, 35, 42, .30); box-shadow: 0 1px 0 rgba(255, 255, 255, .8) inset, 0 18px 44px -16px rgba(229, 35, 42, .40), 0 10px 30px -10px rgba(15, 26, 61, .18); }

/* Profilne slike prevoznika (male, lenjo ucitane; kvadrat se popunjava bez razvlacenja). */
.pub-car-av, .pb-ontrip-av, .pb-offer-av { overflow: hidden; }
.pub-car-av img, .pb-ontrip-av img, .pb-offer-av img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pb-offer-av { flex: none; width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--pb-blue-soft); color: var(--mud-palette-primary); font-weight: 800; }
.pb-offer-head .pb-offer-av + div { flex: 1; min-width: 0; }
.pb-verify-body small.pb-verify-note { display: flex; gap: 6px; margin-top: 6px; padding: 8px 10px; border-radius: 10px; background: var(--pb-blue-soft); color: var(--mud-palette-primary); font-size: 12.5px; line-height: 1.4; }

/* Vozacka: prednja i zadnja strana (dva reda sa dugmetom). */
.pb-license-sides { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }
.pb-license-slot { position: relative; display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 12px; border: 1px dashed var(--mud-palette-lines-inputs); }
.pb-license-slot.is-sent { border-style: solid; border-color: rgba(22, 179, 90, .45); background: rgba(22, 179, 90, .06); }
.pb-license-slot-ico { flex: none; color: var(--mud-palette-primary); display: flex; }
.pb-license-slot.is-sent .pb-license-slot-ico { color: #12A150; }
.pb-license-slot-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.pb-license-slot-txt b { font-size: 14px; }
.pb-license-slot-txt small { font-size: 12px; color: var(--mud-palette-text-secondary); }
.pb-license-side { display: block; margin: 6px 0 4px; font-size: 12px; font-weight: 700; color: var(--mud-palette-text-secondary); }

/* Predlog izmene posle rezervacije i potvrda "prevoz obavljen". */
.pb-change-box, .pb-confirm-box { margin: 10px 0; padding: 12px 14px; border-radius: 14px; border: 1px solid rgba(26, 95, 214, .25); background: var(--pb-blue-soft); }
.pb-confirm-box { display: flex; flex-direction: column; gap: 2px; border-color: rgba(22, 179, 90, .3); background: rgba(22, 179, 90, .07); }
.pb-confirm-box b { font-size: 15px; }
.pb-confirm-box small { font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-change-head { display: flex; align-items: center; gap: 6px; color: var(--mud-palette-primary); }
.pb-change-head b { font-size: 14.5px; color: var(--mud-palette-text-primary); }
.pb-change-list { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.pb-change-list li { display: flex; flex-direction: column; font-size: 13.5px; }
.pb-change-list small { font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: var(--mud-palette-text-secondary); }
.pb-change-list s { color: var(--mud-palette-text-secondary); }
.pb-change-note { margin: 8px 0 0; font-size: 13px; font-style: italic; color: var(--mud-palette-text-secondary); }
.pb-change-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.pb-change-done { display: flex; align-items: flex-start; gap: 6px; margin: 8px 0; font-size: 13px; }
.pb-change-done.is-ok { color: #12A150; }
.pb-change-done.is-no { color: #B7791F; }
.pb-change-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pb-change-rules { display: flex; gap: 6px; align-items: flex-start; margin-top: 12px; font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-complaint-history { margin: 6px 0 0; padding-left: 18px; font-size: 12.5px; color: var(--mud-palette-text-secondary); }
/* Dugme za sliku vozacke: input preko celog dugmeta (iOS meni se otvara uz dugme). */
.pb-license-pick { position: relative; overflow: hidden; flex: none; display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 14px; border-radius: 10px;
    background: var(--mud-palette-primary); color: #fff; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; cursor: pointer; }
.pb-license-pick.is-text { background: transparent; color: var(--mud-palette-primary); }
.pb-license-pick.is-off { opacity: .45; cursor: default; }
.pb-license-pick input[type=file] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; font-size: 0; }
.pb-license-pick.is-off input[type=file] { pointer-events: none; }
.pb-photo-add { position: relative; overflow: hidden; cursor: pointer; }
.pb-photo-add input[type=file] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; font-size: 0; }

/* Profilna slika: tanak razmak u boji pozadine, blag prsten i mala senka - da slika ne izgleda zalepljeno. */
.pb-ph-ring { box-shadow: 0 0 0 2px var(--mud-palette-surface), 0 0 0 3.5px rgba(26, 95, 214, .28), 0 4px 12px -4px rgba(15, 26, 61, .35) !important; }

/* Dijalog preko celog ekrana na telefonu (Objavi put - veca mapa). */
@media (max-width: 600px) {
    .mud-dialog.pb-dialog-phone-full { width: 100vw !important; max-width: 100vw !important; height: 100dvh; max-height: 100dvh !important; margin: 0 !important; border-radius: 0 !important; }
    .mud-dialog.pb-dialog-phone-full .mud-dialog-content { flex: 1; overflow-y: auto; }
    .mud-dialog.pb-dialog-phone-full .mud-dialog-actions { padding-bottom: calc(12px + env(safe-area-inset-bottom)); }
    .pb-dialog-phone-full .pb-trip-map .pb-map { height: 46vh !important; min-height: 280px; }
}

/* Izbor rute (Objavi put): redovi sa kruzicem, izabrani uokviren plavo. */
.pb-route-list { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
.pb-route-row { display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px 14px; border-radius: 14px; border: 1.5px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-surface); font: inherit; text-align: left; cursor: pointer; color: inherit; transition: border-color .15s, background .15s; }
.pb-route-row.is-on { border-color: #1A5FD6; background: var(--pb-blue-soft); }
.pb-route-radio { flex: none; width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--mud-palette-lines-inputs); position: relative; }
.pb-route-row.is-on .pb-route-radio { border-color: #1A5FD6; }
.pb-route-row.is-on .pb-route-radio::after { content: ""; position: absolute; inset: 3px; border-radius: 50%; background: #1A5FD6; }
.pb-route-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.pb-route-txt b { font-size: 14px; line-height: 1.3; }
.pb-route-tag { align-self: flex-start; padding: 1px 8px; border-radius: 99px; background: rgba(22, 179, 90, .12); color: #12A150; font-size: 11px; font-weight: 700; }
.pb-route-meta { flex: none; display: flex; flex-direction: column; align-items: flex-end; }
.pb-route-meta b { font-size: 14px; }
.pb-route-meta small { font-size: 12px; color: var(--mud-palette-text-secondary); }
.pb-route-tip { display: flex; gap: 10px; margin-top: 12px; padding: 12px 14px; border-radius: 14px; background: rgba(233, 162, 31, .1); border: 1px solid rgba(233, 162, 31, .35); }
.pb-route-tip > .mud-icon-root { flex: none; color: #B7791F; }
.pb-route-tip > div { display: flex; flex-direction: column; gap: 2px; }
.pb-route-tip b { font-size: 14px; }
.pb-route-tip .pb-route-tip-txt { font-size: 13px; color: var(--mud-palette-text-secondary); line-height: 1.4; }

/* Objavi put: naslov sa ikonicom, dugmad u traci na dnu (na telefonu jednake sirine, Objavi sire). */
.pb-trip-dialog-sub { display: block; margin-top: 2px; font-size: 12.5px; font-weight: 400; color: var(--mud-palette-text-secondary); }
.pb-trip-dialog .mud-dialog-actions { padding: 12px 22px 16px; border-top: 1px solid var(--mud-palette-lines-default); background: var(--mud-palette-surface); }
.pb-trip-actions { display: flex; gap: 10px; width: 100%; justify-content: flex-end; }
.pb-trip-actions .mud-button-root { border-radius: 12px; min-height: 46px; padding: 0 22px; font-weight: 700; letter-spacing: .02em; }
.pb-trip-actions .mud-button-filled { box-shadow: 0 8px 18px -8px rgba(26, 95, 214, .7); }
@media (max-width: 600px) {
    .pb-trip-dialog .mud-dialog-actions { padding: 10px 16px calc(12px + env(safe-area-inset-bottom)); box-shadow: 0 -8px 20px -14px rgba(15, 26, 61, .35); }
    .pb-trip-actions .mud-button-root { flex: 1; padding: 0 12px; }
    .pb-trip-actions .mud-button-filled { flex: 1.6; }
}
/* Objavi put: potvrda (3,5 t) u blagom okviru i razmak do dugmadi na dnu. */
.pb-trip-dialog .mud-dialog-content { padding-bottom: 28px; }
.pb-trip-declare { display: flex; margin: 22px 0 0 !important; padding: 6px 12px 6px 4px; border-radius: 14px; background: var(--pb-blue-soft); border: 1px solid rgba(26, 95, 214, .18); }
.pb-trip-declare .mud-checkbox { align-items: flex-start; }

/* Tacna adresa ispod mesta (Objavi put) i dijalog sa mapom. */
.pb-point-row { display: flex; align-items: center; gap: 4px; margin: 4px 0 8px 36px; }
.pb-point-add, .pb-point-set { display: flex; align-items: center; gap: 6px; flex: 1; min-width: 0; padding: 7px 10px; border-radius: 10px; font: inherit; font-size: 13px; text-align: left; cursor: pointer; }
.pb-point-add { border: 1px dashed var(--mud-palette-lines-inputs); background: transparent; color: var(--mud-palette-primary); }
.pb-point-add small { margin-left: auto; font-size: 11px; color: var(--mud-palette-text-secondary); white-space: nowrap; }
.pb-point-set { border: 1px solid rgba(26, 95, 214, .3); background: var(--pb-blue-soft); color: var(--mud-palette-text-primary); font-weight: 600; }
.pb-point-set span, .pb-point-add span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pb-point-set .mud-icon-root, .pb-point-add .mud-icon-root { flex: none; color: var(--mud-palette-primary); }
.pb-point-search { position: relative; }
.pb-point-results { display: flex; flex-direction: column; margin: 6px 0 10px; border: 1px solid var(--mud-palette-lines-default); border-radius: 12px; overflow: hidden; }
.pb-point-result { display: flex; gap: 8px; align-items: flex-start; padding: 10px 12px; border: 0; border-bottom: 1px solid var(--mud-palette-lines-default); background: var(--mud-palette-surface); font: inherit; text-align: left; cursor: pointer; color: inherit; }
.pb-point-result:last-child { border-bottom: 0; }
.pb-point-result .mud-icon-root { color: var(--mud-palette-secondary); margin-top: 2px; }
.pb-point-result span { display: flex; flex-direction: column; }
.pb-point-result b { font-size: 14px; }
.pb-point-result small { font-size: 12px; color: var(--mud-palette-text-secondary); }
.pb-point-none { display: block; margin: 6px 0 10px; font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-point-map { height: 360px; margin-top: 8px; border-radius: 14px; overflow: hidden; }
.pb-point-current { display: flex; gap: 8px; align-items: flex-start; margin-top: 10px; padding: 10px 12px; border-radius: 12px; background: var(--pb-blue-soft); }
.pb-point-current span { display: flex; flex-direction: column; }
.pb-point-current b { font-size: 14px; }
.pb-point-current small { font-size: 12px; color: var(--mud-palette-text-secondary); }
.pb-point-dialog .mud-dialog-actions { padding: 12px 22px 16px; border-top: 1px solid var(--mud-palette-lines-default); }
.pb-pick-pin { width: 30px; height: 40px; background: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 32'%3E%3Cpath d='M12 0C5.4 0 0 5.4 0 12c0 9 12 20 12 20s12-11 12-20C24 5.4 18.6 0 12 0z' fill='%23E5232A'/%3E%3Ccircle cx='12' cy='12' r='4.5' fill='%23fff'/%3E%3C/svg%3E"); filter: drop-shadow(0 3px 4px rgba(15,26,61,.35)); cursor: grab; }
@media (max-width: 600px) {
    .pb-point-map { height: 48vh; }
    .pb-point-dialog .mud-dialog-actions { padding: 10px 16px calc(12px + env(safe-area-inset-bottom)); }
    .pb-point-row { margin-left: 30px; }
}
.pb-trip-addr { display: flex; gap: 4px; align-items: center; margin-top: 2px; font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-trip-addr .mud-icon-root { color: var(--mud-palette-primary); }

/* Administracija > Sistem: servisi za mape. */
.pb-maps-card { margin-bottom: 18px; padding: 14px 16px; border-radius: 16px; border: 1px solid var(--mud-palette-lines-default); background: var(--mud-palette-surface); }
.pb-maps-head { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.pb-maps-head > .mud-icon-root { color: var(--mud-palette-primary); }
.pb-maps-head > div { flex: 1; display: flex; flex-direction: column; }
.pb-maps-head b { font-size: 16px; }
.pb-maps-head small, .pb-maps-main small, .pb-maps-side small { font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-maps-row { display: flex; gap: 12px; align-items: flex-start; padding: 12px 0; border-top: 1px solid var(--mud-palette-lines-default); }
.pb-maps-dot { flex: none; width: 10px; height: 10px; margin-top: 6px; border-radius: 50%; background: #8E9BBA; }
.pb-maps-dot.is-ok { background: #16B35A; } .pb-maps-dot.is-warning { background: #E9A21F; } .pb-maps-dot.is-down { background: #D93025; }
.pb-maps-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.pb-maps-main b { font-size: 14px; } .pb-maps-main b small { font-weight: 400; }
.pb-maps-fallback { color: #B7791F !important; }
.pb-maps-side { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 3px; text-align: right; }
@media (max-width: 600px) { .pb-maps-row { flex-wrap: wrap; } .pb-maps-side { width: 100%; align-items: flex-start; text-align: left; padding-left: 22px; } }

.pb-point-result { width: 100%; justify-content: flex-start; }
.pb-point-result span { align-items: flex-start; text-align: left; }
.pb-point-wrong { color: #D93025; }

/* Oznaka svog puta / svoje firme u pretrazi. */
.pb-own-tag { display: inline-flex; align-items: center; margin-left: 6px; padding: 1px 9px; border-radius: 99px; background: rgba(22, 179, 90, .14); color: #12A150; font-size: 11.5px; font-weight: 800; vertical-align: 2px; }
.pb-srch-card.is-own { border-color: rgba(22, 179, 90, .45); }
.pb-trip-when { display: flex; align-items: center; gap: 6px; margin: 8px 0 2px; color: var(--mud-palette-primary); }
.pb-trip-when b { display: inline-block; font-size: 14.5px; color: var(--mud-palette-text-primary); }
.pb-trip-when b::first-letter { text-transform: uppercase; }
.pub-route-filters .pub-f.is-go { display: flex; align-items: flex-end; }

/* Kartica objave: upozorenje (termin blizu / prosao). */
.pb-mr-warn { display: flex; align-items: flex-start; gap: 5px; margin-top: 6px; padding: 6px 9px; border-radius: 10px; background: rgba(233, 162, 31, .12); color: #9A5B00; font-size: 12.5px; line-height: 1.35; }
.pb-mr-warn .mud-icon-root { flex: none; font-size: 16px; margin-top: 1px; }
.pub-search-hint { display: block; margin-top: 8px; text-align: center; font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pub-search-error { display: flex; align-items: center; gap: 5px; margin-top: 6px; font-size: 13px; font-weight: 600; color: #D93025; }
/* Naslovna (telefon): razmak izmedju polja Kada i dugmeta Trazi; i na Pocetnoj u aplikaciji. */
@media (max-width: 640px) { .pub-search-go { margin-top: 14px !important; } }
@media (max-width: 600px) { .pb-hq-bottom { gap: 14px; } .pb-hq-bottom .pb-hq-go { margin-top: 10px; } }

/* Saglasnost za telefon (objava, ponuda). */
.pb-consent-box { margin-top: 16px; padding: 6px 12px 6px 4px; border-radius: 14px; background: var(--pb-blue-soft); border: 1px solid rgba(26, 95, 214, .18); }
.pb-consent-box .mud-checkbox { align-items: flex-start; }
.pb-consent-box span { font-size: 13.5px; line-height: 1.45; }
.pb-consent-box small { display: block; margin: 0 0 6px 44px; color: #D93025; font-size: 12.5px; font-weight: 600; }
.pb-consent-box.is-error { border-color: rgba(217, 48, 37, .55); background: rgba(217, 48, 37, .05); }

/* Objava popunjena (dosta ponuda). */
.pb-full-box { display: flex; gap: 10px; margin: 0 0 12px; padding: 12px 14px; border-radius: 14px; background: rgba(22, 179, 90, .08); border: 1px solid rgba(22, 179, 90, .3); }
.pb-full-box > .mud-icon-root { flex: none; color: #12A150; }
.pb-full-box > div { display: flex; flex-direction: column; gap: 2px; }
.pb-full-box b { font-size: 14px; }
.pb-full-box span { font-size: 13px; color: var(--mud-palette-text-secondary); line-height: 1.4; }

/* Ocene kao na KP: pozitivne / negativne. */
.pb-score { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 700; vertical-align: middle; }
.pb-score > span { display: inline-flex; align-items: center; gap: 3px; }
.pb-score .mud-icon-root { font-size: 15px; }
.pb-score .is-pos { color: #12A150; }
.pb-score .is-neg { color: #D93025; }
.pb-score.is-none { font-weight: 500; color: var(--mud-palette-text-secondary); }
.pb-score-given { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; font-weight: 700; }
.pb-score-given.is-pos { color: #12A150; } .pb-score-given.is-neg { color: #D93025; }
.pb-prof-link { color: inherit; text-decoration: none; }
.pb-prof-link:hover b { text-decoration: underline; }

/* Profil prevoznika: slika u sredini, ime, oznake, brojke. */
.pb-prof { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; padding: 26px 16px 20px; margin-bottom: 16px; border-radius: 20px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); }
.pb-prof.is-premium { border-color: rgba(233, 162, 31, .6); box-shadow: 0 10px 30px -18px rgba(233, 162, 31, .8); }
.pb-prof-av { width: 112px; height: 112px; border-radius: 24px; display: flex; align-items: center; justify-content: center; overflow: hidden; font-size: 38px; font-weight: 800; background: var(--pb-blue-soft); color: var(--mud-palette-primary); }
.pb-prof-av img { width: 100%; height: 100%; object-fit: cover; }
.pb-prof h1 { margin: 6px 0 0; font-family: 'Manrope', 'Inter', sans-serif; font-size: 26px; font-weight: 800; }
.pb-prof-tags { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: center; font-size: 13.5px; color: var(--mud-palette-text-secondary); }
.pb-prof-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; width: 100%; max-width: 520px; margin-top: 8px; }
.pb-prof-stats > div { display: flex; flex-direction: column; align-items: center; gap: 1px; padding: 10px 4px; border-radius: 14px; background: var(--mud-palette-background); }
.pb-prof-stats .mud-icon-root { font-size: 20px; color: var(--mud-palette-primary); }
.pb-prof-stats .is-pos .mud-icon-root, .pb-prof-stats .is-pos b { color: #12A150; }
.pb-prof-stats .is-neg .mud-icon-root, .pb-prof-stats .is-neg b { color: #D93025; }
.pb-prof-stats b { font-size: 17px; }
.pb-prof-stats small { font-size: 11.5px; color: var(--mud-palette-text-secondary); }
.pb-prof-lock { display: flex; gap: 6px; align-items: flex-start; max-width: 520px; margin-top: 6px; font-size: 12.5px; color: var(--mud-palette-text-secondary); text-align: left; }
.pb-prof-cta { margin-top: 8px; border-radius: 12px !important; }
/* Ocene: naslov, ispod uvek u novom redu filteri (Sve / Pozitivne / Negativne) - manji, sa razmakom. */
.pb-rev-head { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; margin-bottom: 10px; }
.pb-rev-head h3 { margin: 0; }
.pb-rev-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.pb-rev-tabs button { padding: 4px 11px; border-radius: 99px; border: 1px solid var(--mud-palette-lines-default); background: transparent; font: inherit; font-size: 12.5px; line-height: 1.4; cursor: pointer; color: inherit; }
.pb-rev-tabs button.is-on { background: var(--pb-blue-soft); border-color: rgba(26, 95, 214, .4); color: var(--mud-palette-primary); font-weight: 700; }
.pb-rev-tabs em { font-style: normal; opacity: .7; margin-left: 2px; }
.pb-rev { padding: 12px 0; border-top: 1px solid var(--mud-palette-lines-default); }
.pb-rev-top { display: flex; align-items: flex-start; gap: 10px; }
.pb-rev-top > div { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.pb-rev-top b { font-size: 14px; }
.pb-rev-top small { font-size: 12px; color: var(--mud-palette-text-secondary); }
.pb-rev-ico { flex: none; width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.pb-rev-ico .mud-icon-root { font-size: 16px; }
.pb-rev.is-pos .pb-rev-ico { background: rgba(22, 179, 90, .13); color: #12A150; }
.pb-rev.is-neg .pb-rev-ico { background: rgba(217, 48, 37, .1); color: #D93025; }
.pb-rev p { margin: 6px 0 0 40px; font-size: 14px; line-height: 1.5; }
.pb-rev-reply { margin: 8px 0 0 40px; padding: 8px 12px; border-left: 3px solid var(--mud-palette-primary); border-radius: 0 10px 10px 0; background: var(--pb-blue-soft); }
.pb-rev-reply b { font-size: 12px; color: var(--mud-palette-primary); }
.pb-rev-reply p { margin: 2px 0 0; }
.pb-rev .mud-button-root { margin-left: 32px; }
.pb-rev-pick { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.pb-rev-opt { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 14px 10px; border-radius: 14px; border: 2px solid var(--mud-palette-lines-default); background: var(--mud-palette-surface); font: inherit; cursor: pointer; color: inherit; text-align: center; }
.pb-rev-opt .mud-icon-root { font-size: 28px; }
.pb-rev-opt small { font-size: 12px; color: var(--mud-palette-text-secondary); }
.pb-rev-opt.is-pos .mud-icon-root { color: #12A150; } .pb-rev-opt.is-neg .mud-icon-root { color: #D93025; }
.pb-rev-opt.is-pos.is-on { border-color: #16B35A; background: rgba(22, 179, 90, .08); }
.pb-rev-opt.is-neg.is-on { border-color: #D93025; background: rgba(217, 48, 37, .06); }
@media (max-width: 600px) { .pb-prof-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Kartica puta: traka sa radnjama (pitaju vas, prevozi usput, otkazi). */
.pb-trip-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--mud-palette-lines-default); }
.pb-trip-chip { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 12px; border: 1.5px solid rgba(26, 95, 214, .35); background: var(--mud-palette-surface); color: var(--mud-palette-primary); font: inherit; font-size: 13.5px; font-weight: 700; cursor: pointer; }
.pb-trip-chip.is-on { background: var(--pb-blue-soft); border-color: #1A5FD6; }
.pb-trip-chip.is-ask { border-color: rgba(229, 35, 42, .4); color: #C81E25; }
.pb-trip-chip.is-ask.is-on { background: rgba(229, 35, 42, .07); border-color: #E5232A; }
.pb-trip-chip em { font-style: normal; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 99px; background: #E5232A; color: #fff; font-size: 12px; display: inline-flex; align-items: center; justify-content: center; }
.pb-trip-cancel { margin-left: auto; }
.pb-trip-asked-head { margin-bottom: 8px; padding: 8px 12px; border-radius: 10px; background: rgba(229, 35, 42, .06); color: #9B1C20; font-size: 13px; }
/* Prevoznik: objava vise ne prima ponude - objasnjenje. */
.pb-closed-box { display: flex; gap: 10px; margin-bottom: 14px; padding: 14px 16px; border-radius: 16px; background: rgba(233, 162, 31, .1); border: 1px solid rgba(233, 162, 31, .4); }
.pb-closed-box > .mud-icon-root { flex: none; color: #B7791F; }
.pb-closed-box > div { display: flex; flex-direction: column; gap: 3px; align-items: flex-start; }
.pb-closed-box b { font-size: 15px; }
.pb-closed-box span { font-size: 14px; }
.pb-closed-box small { font-size: 12.5px; color: var(--mud-palette-text-secondary); line-height: 1.45; }

/* Kartica puta - traka: unutrasnji razmak kao kartica, dugmad iste sirine, "Otkazi put" ispod (centrirano, mala slova). */
.pb-trip-bar { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; margin: 0; padding: 12px 16px 14px; border-top: 1px solid var(--mud-palette-lines-default); }
.pb-trip-bar.has-ask { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.pb-trip-chip { justify-content: center; min-height: 44px; padding: 8px 10px; white-space: nowrap; }
.pb-trip-chip span { overflow: hidden; text-overflow: ellipsis; }
.pb-trip-bar .pb-trip-cancel { grid-column: 1 / -1; justify-self: center; margin: 0 !important; text-transform: none !important; font-weight: 600 !important; letter-spacing: 0 !important; }
.pb-trip-chip em.is-blue { background: #1A5FD6; }

/* Slike u objavi: jednaki kvadrati, po 3 u redu (dodir otvara pregled). */
.pb-photos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; max-width: 420px; }
.pb-photos .pb-photo { width: 100%; height: auto; aspect-ratio: 1 / 1; padding: 0; border: 0; cursor: pointer; }
.pb-photos .pb-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pb-photos .pb-photo-add { width: 100%; height: auto; aspect-ratio: 1 / 1; }
.pub-nav-phone.is-back a { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; }
/* Profil prevoznika: dve plocice (pozitivne / negativne), ostalo jedan red; na telefonu bez okvira (kao aplikacija). */
.pb-prof-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; max-width: 360px; }
.pb-prof-facts { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 16px; font-size: 13px; color: var(--mud-palette-text-secondary); }
.pb-prof-facts span { display: inline-flex; align-items: center; gap: 5px; }
.pb-prof-facts .mud-icon-root { color: var(--mud-palette-primary); }
@media (max-width: 600px) {
    .pb-prof-page .pb-prof, .pb-prof-page .pub-box { border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: transparent !important; margin: 0 -16px; padding-left: 16px; padding-right: 16px; }
    .pb-prof-page .pub-box { border-top: 8px solid var(--mud-palette-background-gray) !important; padding-top: 18px; padding-bottom: 18px; }
    .pb-prof-page .pub-prof-grid { gap: 0; }
    .pb-prof-page .pb-prof-stats > div { background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); }
}
/* Prijava: razlozi kao redovi sa ikonicom i kruzicem. */
.pb-rep-list { display: flex; flex-direction: column; gap: 8px; }
.pb-rep-row { display: flex; align-items: center; gap: 12px; width: 100%; padding: 11px 14px; border-radius: 14px; border: 1.5px solid var(--mud-palette-lines-default); background: var(--mud-palette-surface); font: inherit; font-size: 14px; text-align: left; color: inherit; cursor: pointer; }
.pb-rep-row.is-on { border-color: #E9A21F; background: rgba(233, 162, 31, .08); }
.pb-rep-ico { flex: none; width: 34px; height: 34px; border-radius: 10px; display: flex; align-items: center; justify-content: center; background: var(--mud-palette-background-gray); color: var(--mud-palette-text-secondary); }
.pb-rep-row.is-on .pb-rep-ico { background: rgba(233, 162, 31, .18); color: #B7791F; }
.pb-rep-txt { flex: 1; min-width: 0; font-weight: 600; line-height: 1.3; }
.pb-rep-row.is-on .pb-route-radio { border-color: #E9A21F; }
.pb-rep-row.is-on .pb-route-radio::after { content: ""; position: absolute; inset: 3px; border-radius: 50%; background: #E9A21F; }
.pb-credit-note > div { display: flex; flex-direction: column; align-items: flex-start; }
.pb-credit-note .mud-button-root { text-transform: none !important; font-weight: 700 !important; padding-left: 0 !important; }
/* Posao (ponuda): dugmad iste visine i zaobljenja; na telefonu bez okvira (kao mobilna aplikacija), dugmad jedno ispod drugog preko cele sirine. */
.pb-offer-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.pb-offer-actions .mud-button-root { border-radius: 12px !important; min-height: 46px; font-weight: 700 !important; letter-spacing: .02em; }
.pb-offer-actions .mud-button-filled { box-shadow: 0 8px 18px -8px rgba(26, 95, 214, .7) !important; }
@media (max-width: 600px) {
    .pb-job { display: block; }
    .pb-job .pb-card { border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: transparent !important; padding: 0 !important; margin: 0 0 4px; }
    .pb-job .pb-card + .pb-card, .pb-job .pb-offer-form { border-top: 8px solid var(--mud-palette-background-gray) !important; margin: 0 -16px !important; padding: 18px 16px 8px !important; }
    .pb-offer-actions { flex-direction: column; align-items: stretch; }
    .pb-offer-actions .mud-button-root { width: 100%; }
    .pb-offer-actions .mud-button-text { min-height: 36px; }
}
/* Ponuda: slika i ime zajedno levo, cena desno (slika je link na profil). */
.pb-offer-head { justify-content: flex-start !important; align-items: center !important; }
.pb-offer-head > a.pb-prof-link { flex: none; display: flex; }
.pb-offer-head > a.pb-prof-link + div { flex: 1; min-width: 0; text-align: left; }
.pb-offer-head > a.pb-prof-link + div + * { margin-left: auto; }
/* Ponuda (korisnik): Prihvati preko cele sirine, Odbij i Poruka ispod - jednaka dugmad. */
.pb-offer-btns { display: grid !important; grid-template-columns: 1fr 1fr; gap: 8px; }
.pb-offer-btns .mud-button-root { min-height: 42px; border-radius: 12px !important; text-transform: none !important; font-weight: 700 !important; letter-spacing: 0 !important; font-size: 14px !important; }
.pb-offer-btns .is-accept { grid-column: 1 / -1; min-height: 46px; box-shadow: 0 8px 18px -8px rgba(26, 95, 214, .7) !important; }
.pb-offer-btns > a, .pb-offer-btns > span { grid-column: 1 / -1; }
/* Prihvati ponudu: smirena zelena (ne jarka), bela slova. */
.pb-offer-btns .is-accept { background: #1E9E6A !important; color: #fff !important; box-shadow: 0 8px 18px -10px rgba(30, 158, 106, .75) !important; }
.pb-offer-btns .is-accept:hover { background: #198A5C !important; }
/* Telefon: deo bez okvira (ravno po pozadini, kao aplikacija) - npr. Detalji objave. */
@media (max-width: 600px) {
    .pb-flat-phone { border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: transparent !important; padding: 4px 0 0 !important; }
    .pb-flat-phone .pb-detail-facts, .pb-flat-phone .pb-req-facts { border-radius: 14px; }
}

/* Rezervacija: ko vozi (slika, ime i prezime, link na profil). */
.pb-booking-who { display: inline-flex; align-items: center; gap: 10px; color: inherit; text-decoration: none; }
.pb-booking-who > span { display: flex; flex-direction: column; line-height: 1.25; }
.pb-booking-who b { font-size: 15px; }
.pb-booking-who small { font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-booking-av { flex: none; width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; overflow: hidden; font-weight: 800; background: var(--pb-blue-soft); color: var(--mud-palette-primary); }
.pb-booking-av img { width: 100%; height: 100%; object-fit: cover; }
/* Rezervacija: radnje u tri reda. */
.pb-bk-actions { display: flex; flex-direction: column; gap: 10px; margin-top: 12px; }
.pb-bk-actions .mud-button-root { text-transform: none !important; letter-spacing: 0 !important; font-weight: 700 !important; border-radius: 12px !important; }
.pb-bk-main { width: 100%; min-height: 46px; }
.pb-bk-main.mud-button-filled { box-shadow: 0 8px 18px -8px rgba(26, 95, 214, .65) !important; }
span.pb-bk-main { justify-content: center; min-height: 0; }
.pb-bk-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 8px; }
.pb-bk-row:empty { display: none; }
.pb-bk-row .mud-button-root { min-height: 42px; }
.pb-bk-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-top: 8px; border-top: 1px solid var(--mud-palette-lines-default); }
.pb-bk-foot .pb-bk-cancel { margin-left: auto; }
/* Posao: razmak izmedju rezervacije i detalja. */
.pb-job-title { margin-top: 26px; }
/* Usput: dogovoreni prevozi na vrhu (kratka kartica + Detalji). */
.pb-booked-list { display: flex; flex-direction: column; gap: 8px; margin-bottom: 18px; }
.pb-booked { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 14px; background: var(--mud-palette-surface); border: 1.5px solid rgba(22, 179, 90, .4); }
.pb-booked-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.pb-booked-main b { font-size: 15px; }
.pb-booked-main small { display: flex; align-items: center; gap: 4px; font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-booked-btn { flex: none; border-radius: 10px !important; text-transform: none !important; font-weight: 700 !important; }
@media (max-width: 600px) { .pb-booked { flex-wrap: wrap; } .pb-booked-main { flex-basis: calc(100% - 110px); } .pb-booked-btn { width: 100%; } }
/* Prazna lista bez okvira kartice (ravno po pozadini). */
.pb-empty.pb-empty-flat { border: 0 !important; background: transparent !important; box-shadow: none !important; padding-top: 12px !important; }

/* Objavi put: preklapanje sa vec objavljenim putem. */
.pb-trip-clash { display: flex; gap: 10px; margin-top: 14px; padding: 12px 14px; border-radius: 14px; background: rgba(217, 48, 37, .07); border: 1px solid rgba(217, 48, 37, .4); color: var(--mud-palette-text-primary); }
.pb-trip-clash > .mud-icon-root { flex: none; color: #D93025; }
.pb-trip-clash > div { display: flex; flex-direction: column; gap: 2px; }
.pb-trip-clash b { color: #D93025; font-size: 14px; }
.pb-trip-clash span { font-size: 13px; line-height: 1.4; }
/* Rezervacija: ko vozi u svom redu (slika + ime sa razmakom), telefon ispod. */
.pb-booking-contact .pb-booking-who { display: flex !important; flex-basis: 100%; align-items: center; gap: 12px !important; color: var(--mud-palette-text-primary) !important; text-decoration: none !important; }
.pb-booking-contact .pb-booking-who b { color: var(--mud-palette-text-primary); }
.pb-booking-contact .pb-booking-av { width: 46px; height: 46px; }
/* Rezervacija: glavno dugme po koraku. */
.pb-bk-step.is-go { background: #1A5FD6 !important; color: #fff !important; box-shadow: 0 8px 18px -8px rgba(26, 95, 214, .7) !important; }
.pb-bk-step.is-pick { background: #E08A00 !important; color: #fff !important; box-shadow: 0 8px 18px -8px rgba(224, 138, 0, .7) !important; }
.pb-bk-step.is-done { background: #1E9E6A !important; color: #fff !important; box-shadow: 0 8px 18px -8px rgba(30, 158, 106, .7) !important; }
.pb-bk-step .mud-icon-root { font-size: 22px !important; }
/* Rezervacija: kontakt kao u telefonu (slika, ime, broj, okruglo dugme za poziv). */
.pb-contact { display: flex; align-items: center; gap: 12px; margin-top: 12px; padding: 10px 12px; border-radius: 14px; background: var(--mud-palette-background-gray); }
.pb-contact-who { flex: 1; min-width: 0; display: flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; }
.pb-contact-txt { min-width: 0; display: flex; flex-direction: column; line-height: 1.3; }
.pb-contact-txt b { font-size: 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pb-contact-txt small { font-size: 13px; color: var(--mud-palette-text-secondary); }
.pb-contact-call { flex: none; width: 46px; height: 46px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #1E9E6A; color: #fff !important; box-shadow: 0 6px 14px -6px rgba(30, 158, 106, .8); }
.pb-contact-call .mud-icon-root { font-size: 22px; }
/* Kontakt na rezervaciji - centrirano (slika, ime, broj kao pilula za poziv). */
.pb-contact { flex-direction: column; justify-content: center; text-align: center; gap: 8px !important; padding: 14px 12px !important; }
.pb-contact-who { flex-direction: column; gap: 6px !important; flex: none; }
.pb-contact-txt { align-items: center; }
.pb-contact-txt b { white-space: normal; font-size: 16px; }
.pb-contact-call { width: auto !important; height: 40px !important; padding: 0 16px; border-radius: 99px !important; gap: 6px; background: var(--pb-blue-soft) !important; color: var(--mud-palette-primary) !important; font-weight: 800; font-size: 15px; text-decoration: none; box-shadow: none !important; }
.pb-contact-call .mud-icon-root { font-size: 18px !important; }
/* Kontakt u jednom redu, centriran. */
.pb-booking-contact.is-center { justify-content: center; text-align: center; margin-top: 14px; }
.pb-booking-contact .pb-booking-who-sm { color: var(--mud-palette-text-primary) !important; font-weight: 600; gap: 8px !important; }
.pb-booking-av-sm { flex: none; width: 28px; height: 28px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; overflow: hidden; font-size: 11px; font-weight: 800; background: var(--pb-blue-soft); color: var(--mud-palette-primary); }
.pb-booking-av-sm img { width: 100%; height: 100%; object-fit: cover; }

/* Rezervacije: tabovi Potrebna isporuka / Isporučeno i kratki redovi isporučenih. */
.pb-bk-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; margin-bottom: 16px; border-radius: 14px; background: rgba(0,0,0,.05); }
.pb-bk-tabs button { display: flex; align-items: center; justify-content: center; gap: 6px; height: 40px; border: 0; border-radius: 11px; background: transparent; color: var(--mud-palette-text-secondary); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.pb-bk-tabs button span { min-width: 22px; padding: 1px 7px; border-radius: 999px; background: rgba(0,0,0,.07); font-size: 12px; }
.pb-bk-tabs button.is-on { background: var(--mud-palette-surface); color: var(--mud-palette-primary); box-shadow: 0 1px 3px rgba(0,0,0,.12); }
.pb-bk-tabs button.is-on span { background: var(--pb-blue-soft); }
.pb-done-sum { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 14px; }
.pb-done-sum > div { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: 12px; background: var(--pb-blue-soft); }
.pb-done-sum b { font-size: 15px; }
.pb-done-sum span { font-size: 12px; color: var(--mud-palette-text-secondary); }
.pb-done-list { display: flex; flex-direction: column; }
.pb-done-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 2px; border-bottom: 1px solid var(--mud-palette-lines-default); color: inherit; text-decoration: none; }
.pb-done-row:last-child { border-bottom: 0; }
.pb-done-row.is-cancelled { opacity: .55; }
.pb-done-main { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pb-done-main b { font-size: 14.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pb-done-main span { font-size: 13px; color: var(--mud-palette-text-secondary); }
.pb-done-side { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; flex: none; }
.pb-done-side b { font-size: 14px; white-space: nowrap; }
.pb-done-chip { padding: 2px 8px; border-radius: 999px; font-size: 12px; font-weight: 600; white-space: nowrap; }
.pb-done-chip.is-good { background: rgba(30,158,106,.12); color: #1E9E6A; }
.pb-done-chip.is-bad { background: rgba(217,48,37,.1); color: #D93025; }
.pb-done-chip.is-wait { background: rgba(224,138,0,.12); color: #B86E00; }
.pb-done-chip.is-grey { background: rgba(0,0,0,.07); color: var(--mud-palette-text-secondary); }
.pb-more-btn { margin-top: 12px; }
@media (max-width: 599px) { .pb-done-sum b { font-size: 13.5px; } }

/* Moji putevi: dogovori sa puta, Krenuo sam / Sve isporuceno, izmena puta. */
.pb-trip-deals { display: flex; align-items: center; gap: 8px; margin: 0 16px; padding: 10px 12px; border-radius: 12px; background: var(--pb-blue-soft); color: var(--mud-palette-text-primary); text-decoration: none; font-size: 14px; }
.pb-trip-deals > span { flex: 1; }
.pb-trip-deals > .mud-icon-root { color: var(--mud-palette-primary); }
.pb-trip-go { display: flex; flex-direction: column; gap: 6px; padding: 12px 16px 0; }
.pb-trip-go .mud-button-root { text-transform: none !important; letter-spacing: 0 !important; font-weight: 700 !important; border-radius: 12px !important; }
.pb-trip-go .mud-button-root.mud-button-disabled { background: rgba(0, 0, 0, .08) !important; color: var(--mud-palette-text-disabled) !important; box-shadow: none !important; }
.pb-trip-go-hint { font-size: 12.5px; line-height: 1.4; color: var(--mud-palette-text-secondary); text-align: center; }
.pb-trip-links { grid-column: 1 / -1; display: flex; justify-content: center; gap: 18px; }
.pb-trip-links .pb-trip-cancel { grid-column: auto; }

/* Dugme puta ne sme na ivicu kartice; "Vrati - nisam krenuo". */
.pb-trip-go:last-child { padding-bottom: 16px; }
.pb-trip-undo, .pb-bk-undo { align-self: center; text-transform: none !important; letter-spacing: 0 !important; font-weight: 600 !important; color: var(--mud-palette-text-secondary) !important; }

/* Isporuceno: strelica na kraju reda (vodi na detalje). */
.pb-done-row { gap: 10px; padding: 14px 2px; }
.pb-done-row:active { background: rgba(0,0,0,.03); }
.pb-done-main { flex: 1; }
.pb-done-go { flex: none; color: var(--mud-palette-text-disabled); }

/* Poruke: zavrsen posao - prepiska samo za pregled. */
.pb-chat-done { margin-left: 6px; padding: 1px 7px; border-radius: 999px; background: rgba(0,0,0,.07); color: var(--mud-palette-text-secondary); font-size: 11px; font-weight: 600; }
.pb-chat-closed { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 16px; border-top: 1px solid var(--mud-palette-lines-default); color: var(--mud-palette-text-secondary); font-size: 13.5px; text-align: center; }
@media (max-width: 599px) { .pb-chat-closed { padding-bottom: calc(110px + env(safe-area-inset-bottom)); border-top: 0; } }

/* Oceni prevoznika - zlatno dugme. */
.pb-bk-rate { background: #E3A400 !important; color: #fff !important; box-shadow: 0 8px 18px -8px rgba(227, 164, 0, .75) !important; }
/* Dugmad objave (Izmeni, Podeli, Otkazi, Obrisi) - iste male kocke, i kad je samo jedna. */
.pb-req-tiles { grid-auto-columns: minmax(0, 84px); }

/* Odgovor prevoznika na ocenu - nastavak razgovora (slika, ime, mehuric). */
.pb-rev-reply { position: relative; display: flex; gap: 10px; margin: 10px 0 0 40px; padding: 0; border: 0; border-radius: 0; background: none; }
.pb-rev-reply::before { content: ""; position: absolute; left: -22px; top: -6px; width: 14px; height: 22px; border-left: 2px solid var(--mud-palette-lines-default); border-bottom: 2px solid var(--mud-palette-lines-default); border-bottom-left-radius: 10px; }
.pb-rev-reply-av { flex: none; width: 30px; height: 30px; border-radius: 50%; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; background: var(--pb-blue-soft); color: var(--mud-palette-primary); font-size: 12px; font-weight: 700; }
.pb-rev-reply-av img { width: 100%; height: 100%; object-fit: cover; }
.pb-rev-reply-body { flex: 1; min-width: 0; padding: 8px 12px 10px; border-radius: 4px 14px 14px 14px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); }
.pb-rev-reply-head { display: flex; align-items: baseline; gap: 4px; flex-wrap: wrap; }
.pb-rev-reply-head b { font-size: 13px; color: var(--mud-palette-text-primary); }
.pb-rev-reply-head span { font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-rev-reply-head small { margin-left: auto; font-size: 12px; color: var(--mud-palette-text-secondary); }
.pb-rev-reply p { margin: 3px 0 0; font-size: 14px; line-height: 1.45; }

/* "Obrisi iz liste" - malo, crveno, na sredini. */
.pb-hide-row { display: flex; justify-content: center; margin: 14px 0 4px; }
.pb-hide-row.is-trip { margin: 0; padding: 4px 16px 10px; }
.pb-hide-row .mud-button-root { text-transform: none !important; letter-spacing: 0 !important; font-weight: 600 !important; }

/* Izmeni / Obrisi ispod sopstvenog odgovora na ocenu. */
.pb-rev-reply-acts { display: flex; gap: 14px; margin-top: 6px; }
.pb-rev-reply-acts button { display: inline-flex; align-items: center; gap: 4px; padding: 0; border: 0; background: none; color: var(--mud-palette-primary); font: inherit; font-size: 12.5px; font-weight: 600; cursor: pointer; }
.pb-rev-reply-acts button .mud-icon-root { font-size: 16px; }
.pb-rev-reply-acts button.is-del { color: #D93025; }

/* Opomena u porukama: kontakt sakriven (zuto) / ponovljeno (crveno). */
.pb-strike { display: flex; align-items: flex-start; gap: 8px; margin: 8px 12px 0; padding: 10px 12px; border-radius: 12px; background: rgba(245, 158, 11, .12); border: 1px solid rgba(245, 158, 11, .45); color: #8A5300; font-size: 13px; line-height: 1.4; }
.pb-strike.is-severe { background: rgba(217, 48, 37, .08); border-color: rgba(217, 48, 37, .45); color: #B3261E; }
.pb-strike > span { flex: 1; }
.pb-strike button { flex: none; padding: 0; border: 0; background: none; color: inherit; cursor: pointer; }
/* Firma: vozacka ulazi u rok za obnovu. */
.pb-license-renew { display: flex; gap: 6px; align-items: flex-start; margin-top: 8px; padding: 8px 10px; border-radius: 10px; background: rgba(245, 158, 11, .12); color: #8A5300; font-size: 13px; line-height: 1.4; }

/* Racunar: poruke na istoj pozadini sa sarom kao na telefonu. */
@media (min-width: 960px) {
    .pb-chat-messages { background-color: var(--pb-chat-wall); background-image: var(--pb-chat-pattern); background-size: 180px 180px; }
    .pb-chat { box-shadow: 0 10px 30px -18px rgba(20, 30, 70, .35); }
}
/* Racunar: status i dugmad objave u jednom redu desno, poravnati sa naslovom (ne vise u vazduhu). */
@media (min-width: 900px) {
    .pb-page-head > .mud-stack:has(.pb-req-actions), div:has(> .pb-req-actions) { flex: 0 0 auto; align-self: center; }
    .pb-req-actions { flex-direction: row; align-items: center; justify-content: flex-end; gap: 12px; width: auto; }
    .pb-req-actions .pb-req-tiles { width: auto; grid-auto-columns: auto; }
    .pb-req-tile { flex-direction: row; min-height: 40px; padding: 8px 14px; gap: 6px; border-radius: 12px; font-size: 13.5px; }
    .pb-req-tile .mud-icon-root { font-size: 19px; }
}

/* Izbor Firma / Fizicko lice: dve jednake kartice preko cele sirine, tekst u jednom redu. */
.pb-seg.pb-kind { grid-template-columns: 1fr 1fr; }
.pb-seg.pb-kind button { white-space: nowrap; min-height: 48px; padding: 10px 12px; }
@media (max-width: 599px) { .pb-seg.pb-kind { grid-template-columns: 1fr 1fr; } .pb-seg.pb-kind button { font-size: 13px; padding: 10px 6px; } }

/* ===== Naslovna: premium prevoznici (po 10, smenjuju se) ===== */
.pub-prem-ico { color: #E9A21F; vertical-align: -4px; margin-right: 6px; }
.pub-prem { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.pub-prem.is-rotating { animation: pubPremIn .5s ease; }
@keyframes pubPremIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.pub-prem-card { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 18px 10px 14px; border-radius: 16px; background: var(--mud-palette-surface);
    border: 1px solid rgba(233, 162, 31, .35); text-align: center; color: inherit; text-decoration: none; transition: transform .15s, box-shadow .15s; }
.pub-prem-card:hover { transform: translateY(-2px); box-shadow: 0 12px 26px -16px rgba(20, 30, 70, .45); }
.pub-prem-card b { font-size: 14.5px; line-height: 1.25; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.pub-prem-card small { font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pub-prem-av { width: 64px; height: 64px; border-radius: 50%; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; background: var(--pb-blue-soft);
    color: var(--mud-palette-primary); font-weight: 800; font-size: 20px; box-shadow: 0 0 0 3px rgba(233, 162, 31, .45); }
.pub-prem-av img { width: 100%; height: 100%; object-fit: cover; }
.pub-prem-dots { display: flex; gap: 6px; align-items: center; }
.pub-prem-dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 999px; background: var(--mud-palette-lines-default); cursor: pointer; transition: width .2s; }
.pub-prem-dots button.is-on { width: 22px; background: #E9A21F; }
@media (max-width: 1099px) { .pub-prem { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 699px) { .pub-prem { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } }

/* ===== Naslovna: nasi partneri ===== */
.pub-partners-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; }
.pub-partner { display: flex; align-items: center; justify-content: center; width: 170px; height: 84px; padding: 14px 18px; border-radius: 16px; background: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-lines-default); transition: transform .15s, box-shadow .15s; }
.pub-partner img { max-width: 100%; max-height: 100%; object-fit: contain; filter: grayscale(1); opacity: .75; transition: filter .2s, opacity .2s; }
.pub-partner:hover { transform: translateY(-2px); box-shadow: 0 12px 26px -16px rgba(20, 30, 70, .45); }
.pub-partner:hover img { filter: none; opacity: 1; }
@media (max-width: 699px) { .pub-partner { width: calc(50% - 7px); height: 72px; } }

/* ===== Futer (racunar i telefon) ===== */
.pub-foot { margin-top: 48px; border-top: 0; background: #12163A; color: rgba(255, 255, 255, .72); }
.pub-foot-in { max-width: 1240px; margin: 0 auto; padding: 40px 20px 26px; display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1fr); gap: 32px; }
.pub-foot .pub-logo span { color: #fff; }
.pub-foot-brand p { margin: 12px 0 0; max-width: 380px; font-size: 14px; line-height: 1.55; color: rgba(255, 255, 255, .66); }
.pub-foot-col { display: flex; flex-direction: column; gap: 10px; }
.pub-foot-col b { margin-bottom: 4px; color: #fff; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }
.pub-foot-col a { color: rgba(255, 255, 255, .72); font-size: 14px; text-decoration: none; }
.pub-foot-col a:hover { color: #fff; }
.pub-foot-copy { max-width: 1240px; margin: 0 auto; padding: 16px 20px 22px; display: flex; justify-content: space-between; gap: 10px; border-top: 1px solid rgba(255, 255, 255, .1);
    font-size: 12.5px; color: rgba(255, 255, 255, .5); }
.pub-foot-copy a { color: rgba(255, 255, 255, .75); }
@media (max-width: 699px) {
    .pub-foot-in { grid-template-columns: 1fr 1fr; gap: 24px 16px; padding: 30px 20px 20px; text-align: left; }
    .pub-foot-brand { grid-column: 1 / -1; text-align: center; }
    .pub-foot-brand p { margin-left: auto; margin-right: auto; }
    .pub-foot-copy { flex-direction: column; align-items: center; text-align: center; }
}

/* Administracija: partneri */
.pb-partner-logo-row { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 12px; }
.pb-partner-logo { width: 120px; height: 56px; object-fit: contain; padding: 6px; border-radius: 10px; border: 1px solid var(--mud-palette-lines-default); background: #fff; }
.pb-partner-list { display: flex; flex-direction: column; gap: 8px; }
.pb-partner-item { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 14px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); }
.pb-partner-item.is-off { opacity: .55; }
.pb-partner-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.pb-partner-txt small { color: var(--mud-palette-text-secondary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Lozinka: merac jacine (4 crtice) i pravila kao oznake koje pozelene. */
.pb-pass-meter { display: flex; align-items: center; gap: 10px; margin: 12px 0 2px; }
.pb-pass-bars { flex: 1; display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; }
.pb-pass-bars i { height: 6px; border-radius: 999px; background: var(--mud-palette-lines-default); transition: background .25s; }
.pb-pass-meter span { flex: none; min-width: 92px; text-align: right; font-size: 12.5px; font-weight: 700; color: var(--mud-palette-text-secondary); }
.pb-pass-meter.is-1 i:nth-child(-n+1) { background: #D93025; }
.pb-pass-meter.is-2 i:nth-child(-n+2) { background: #E08A00; }
.pb-pass-meter.is-3 i:nth-child(-n+3) { background: #C9A400; }
.pb-pass-meter.is-4 i { background: #1E9E6A; }
.pb-pass-meter.is-1 span { color: #D93025; } .pb-pass-meter.is-2 span { color: #E08A00; } .pb-pass-meter.is-3 span { color: #A88900; } .pb-pass-meter.is-4 span { color: #1E9E6A; }
.pb-pass-rules, .pb-pass-rules.is-always { display: flex !important; flex-wrap: wrap; gap: 6px !important; margin: 10px 0 6px !important; }
.pb-pass-rules div, .pb-pass-rules.is-always div { display: inline-flex; align-items: center; gap: 5px; padding: 5px 10px 5px 7px; border-radius: 999px; background: rgba(0, 0, 0, .05);
    color: var(--mud-palette-text-secondary); font-size: 12.5px; font-weight: 600; transition: background .2s, color .2s; }
.pb-pass-rules .mud-icon-root { font-size: 16px !important; }
.pb-pass-rules div.is-ok, .pb-pass-rules.is-always div.is-ok { background: rgba(30, 158, 106, .12); color: #1E9E6A; }
.pb-dark .pb-pass-rules div { background: rgba(255, 255, 255, .07); }

/* Vozilo: slika u dijalogu, u listi i na rezervaciji korisnika. */
.pb-veh-photo { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.pb-veh-photo-pick { position: relative; flex: none; width: 96px; height: 72px; border-radius: 14px; overflow: hidden; display: flex; align-items: center; justify-content: center;
    border: 1.5px dashed rgba(26, 95, 214, .45); background: var(--pb-blue-soft); color: var(--mud-palette-primary); cursor: pointer; }
.pb-veh-photo-pick.has-img { border-style: solid; border-color: var(--mud-palette-lines-default); }
.pb-veh-photo-pick img { width: 100%; height: 100%; object-fit: cover; }
.pb-veh-photo-pick input[type=file] { position: absolute; inset: 0; opacity: 0; cursor: pointer; font-size: 0; }
.pb-veh-photo-txt { display: flex; flex-direction: column; gap: 2px; }
.pb-veh-photo-txt b { font-size: 14px; }
.pb-veh-photo-txt small { font-size: 12.5px; line-height: 1.4; color: var(--mud-palette-text-secondary); }
.pb-vehicle-img { flex: none; width: 56px; height: 44px; border-radius: 10px; object-fit: cover; }
.pb-booking-vehicle { display: flex; align-items: center; gap: 12px; margin-top: 10px; padding: 8px; border-radius: 14px; background: var(--pb-blue-soft); color: inherit; text-decoration: none; }
.pb-booking-vehicle img { flex: none; width: 72px; height: 54px; border-radius: 10px; object-fit: cover; }
.pb-booking-vehicle span { display: flex; flex-direction: column; }
.pb-booking-vehicle b { font-size: 13.5px; }
.pb-booking-vehicle small { font-size: 12.5px; color: var(--mud-palette-text-secondary); }

/* Gornja traka: u kom nacinu radi nalog (prevoznik / korisnik). */
.pb-mode-pill { display: inline-flex; align-items: center; gap: 4px; padding: 3px 9px 3px 7px; border-radius: 999px; font-size: 12px; font-weight: 700; white-space: nowrap; }
.pb-mode-pill .mud-icon-root { font-size: 15px; }
.pb-mode-pill.is-carrier { background: var(--pb-blue-soft); color: var(--mud-palette-primary); }
.pb-mode-pill.is-customer { background: rgba(30, 158, 106, .12); color: #1E9E6A; }

/* Telefon: donja traka futera u jednom redu ("© 2026 PickupBooker · Powered by SEAM"). */
@media (max-width: 699px) {
    .pub-foot-copy { flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 2px 6px; padding-top: 12px; line-height: 1.4; }
    .pub-foot-copy span + span::before { content: "·"; margin-right: 6px; }
}

/* Telefon: futer zbijeniji - logo na sredini, manji razmaci, manje praznog mesta iznad trake. */
@media (max-width: 699px) {
    .pub-foot { margin-top: 32px; }
    .pub-foot-in { gap: 16px 16px; padding: 22px 20px 12px; }
    .pub-foot-brand .pub-logo { justify-content: center; margin: 0 auto; }
    .pub-foot-brand p { margin-top: 8px; font-size: 13px; }
    .pub-foot-col { gap: 7px; }
    .pub-foot-col b { margin-bottom: 2px; }
    .pub-foot-copy { padding: 10px 20px 12px; }
    body:has(.pub-tabbar) .pub-foot { padding-bottom: calc(78px + env(safe-area-inset-bottom)); }
}

/* Naslovna (racunar): tamna senka preko cele slike u baneru - tekst i pretraga se bolje vide. */
@media (min-width: 960px) {
    .pub-hero2::before { content: ""; position: absolute; inset: 0; background: rgba(8, 16, 48, .32); pointer-events: none; }
    .pub-hero2 > * { position: relative; z-index: 1; }
}

/* Racunar: senka zaglavlja se blago stapa sa slikom (bez ostre ivice) - tamnjenje nastavlja senka banera. */
@media (min-width: 960px) {
    html:not(.pub-scrolled) .pub.is-home .pub-head { background: linear-gradient(180deg, rgba(8, 14, 40, .5) 0%, rgba(8, 14, 40, .22) 60%, rgba(8, 14, 40, 0) 100%) border-box; }
    .pub-hero2::before { background: linear-gradient(180deg, rgba(8, 16, 48, .5) 0, rgba(8, 16, 48, .32) 200px, rgba(8, 16, 48, .32) 100%); }
}

/* Registracija: manje zaobljena; preko banera na naslovnoj - belo dugme sa tamnim tekstom. */
.pub-register { border-radius: 8px !important; }
html:not(.pub-scrolled) .pub.is-home .pub-register { background: #fff !important; color: #0F1A3D !important; box-shadow: 0 6px 16px -8px rgba(0, 0, 0, .45) !important; }
html:not(.pub-scrolled) .pub.is-home .pub-register:hover { background: #F1F4FA !important; }
/* Trazi: manji radijus. */
.pub-search-go { border-radius: 9px !important; }
@media (max-width: 640px) { .pub-search-go { border-radius: 9px !important; } }

/* Pretraga (naslovna, Potrebni prevozi, Prevoznici): manje zaobljeni okviri; Trazi isto dugme svuda. */
.pub-search { border-radius: 12px !important; }
.pub-filters { border-radius: 12px !important; }
.pub-search-go.is-sm { height: 44px; padding: 0 18px !important; font-size: 15px !important; }

/* ===== Reklame na javnom sajtu ===== */
.pb-ad { position: relative; display: block; overflow: hidden; border-radius: 10px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); animation: pbAdIn .4s ease; }
@keyframes pbAdIn { from { opacity: 0; } to { opacity: 1; } }
.pb-ad img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pb-ad-tag { position: absolute; top: 6px; right: 6px; padding: 1px 7px; border-radius: 6px; background: rgba(15, 26, 61, .62); color: #fff; font-size: 10.5px; font-weight: 700; letter-spacing: .03em; }
/* Siroki: racunar 970x90, telefon 320x100 (mesto ima tacan odnos - strana se ne trza). */
.pb-ad.is-wide { max-width: 970px; aspect-ratio: 970 / 90; margin: 0 auto; }
.pub-ad-wide { margin: 24px auto 4px !important; }
@media (max-width: 699px) { .pb-ad.is-wide { max-width: 320px; aspect-ratio: 320 / 100; } }
/* Kartica u listi 300x250 - u mrezi kao ostale kartice. */
.pb-ad.is-card { aspect-ratio: 300 / 250; align-self: start; max-width: 360px; width: 100%; justify-self: center; }
/* Bocni 160x600: fiksno levo i desno od sadrzaja (1240 px) - samo ekrani od 1640 px. */
.pb-ad-side { display: none; }
@media (min-width: 1640px) {
    .pb-ad-side { display: block; position: fixed; top: 110px; width: 160px; z-index: 4; }
    .pb-ad-side.is-left { left: calc(50% - 620px - 184px); }
    .pb-ad-side.is-right { right: calc(50% - 620px - 184px); }
    .pb-ad.is-side { width: 160px; aspect-ratio: 160 / 600; }
}

/* Administracija: reklame */
.pb-ads-list { display: flex; flex-direction: column; gap: 10px; }
.pb-ads-row { display: flex; align-items: center; gap: 14px; padding: 12px 14px; border-radius: 14px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); flex-wrap: wrap; }
.pb-ads-thumb { flex: none; width: 92px; height: 60px; border-radius: 8px; object-fit: contain; background: #F2F4F8; border: 1px solid var(--mud-palette-lines-default); }
.pb-ads-main { flex: 1; min-width: 220px; display: flex; flex-direction: column; gap: 2px; }
.pb-ads-main b { font-size: 14.5px; }
.pb-ads-main small { color: var(--mud-palette-text-secondary); font-size: 12.5px; }
.pb-ads-stats { display: flex; gap: 14px; font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-ads-stats b { color: var(--mud-palette-text-primary); font-size: 14px; }
.pb-ads-acts { display: flex; gap: 4px; flex-wrap: wrap; }
.pb-ad-state { padding: 2px 9px; border-radius: 999px; font-size: 12px; font-weight: 700; white-space: nowrap; }
.pb-ad-state.is-nacrt, .pb-ad-state.is-otkazana, .pb-ad-state.is-istekla { background: rgba(0, 0, 0, .07); color: var(--mud-palette-text-secondary); }
.pb-ad-state.is-ceka { background: rgba(224, 138, 0, .13); color: #B86E00; }
.pb-ad-state.is-zakazana { background: var(--pb-blue-soft); color: var(--mud-palette-primary); }
.pb-ad-state.is-aktivna { background: rgba(30, 158, 106, .13); color: #1E9E6A; }
.pb-ad-img-row { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 10px; }
.pb-ad-img-pick { display: flex; flex-direction: column; gap: 6px; }
.pb-ad-img-pick img { max-width: 260px; max-height: 120px; border-radius: 8px; border: 1px solid var(--mud-palette-lines-default); object-fit: contain; background: #F2F4F8; }
.pb-ad-stats-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.pb-ad-stats-table th, .pb-ad-stats-table td { padding: 6px 8px; border-bottom: 1px solid var(--mud-palette-lines-default); text-align: right; }
.pb-ad-stats-table th:first-child, .pb-ad-stats-table td:first-child { text-align: left; }


/* ===== Firma: kalendar ===== */
.pb-cal-nav { display: flex; align-items: center; gap: 6px; margin-bottom: 12px; }
.pb-cal-nav b { min-width: 150px; text-align: center; font-size: 15px; }
.pb-cal { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; }
.pb-cal-day { display: flex; flex-direction: column; gap: 6px; min-height: 160px; padding: 8px; border-radius: 12px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); }
.pb-cal-day.is-today { border-color: var(--mud-palette-primary); box-shadow: 0 0 0 1px var(--mud-palette-primary) inset; }
.pb-cal-head { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.pb-cal-head b { text-transform: capitalize; font-size: 13.5px; }
.pb-cal-head span { font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-cal-head small { margin-left: auto; padding: 1px 6px; border-radius: 6px; background: var(--pb-blue-soft); color: var(--mud-palette-primary); font-size: 11px; font-weight: 700; }
.pb-cal-head small.is-full { background: rgba(217, 48, 37, .1); color: #D93025; }
.pb-cal-none { font-size: 12px; color: var(--mud-palette-text-disabled); }
.pb-cal-job { display: flex; flex-direction: column; gap: 1px; padding: 6px 8px; border-radius: 9px; border-left: 3px solid #1A5FD6; background: var(--pb-blue-soft); color: inherit; text-decoration: none; font-size: 12.5px; }
.pb-cal-job b { font-size: 12.5px; line-height: 1.3; }
.pb-cal-job small { font-size: 11.5px; color: var(--mud-palette-text-secondary); }
.pb-cal-job.is-pickedup { border-left-color: #E08A00; background: rgba(224, 138, 0, .1); }
.pb-cal-job.is-delivered { border-left-color: #1E9E6A; background: rgba(30, 158, 106, .08); opacity: .75; }
.pb-cal-time { font-weight: 800; font-size: 12px; color: var(--mud-palette-primary); }
.pb-cal-warn { color: #B86E00 !important; font-weight: 700; }
@media (max-width: 959px) {
    .pb-cal { grid-template-columns: 1fr; }
    .pb-cal-day { min-height: 0; }
    .pb-cal-day.is-empty:not(.is-today) { display: none; }
}

/* ===== Firma: oblasti rada i tim ===== */
.pb-area-add { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) 130px auto; gap: 12px; align-items: end; margin-bottom: 16px; }
.pb-area-btn { height: 40px; text-transform: none !important; border-radius: 9px !important; }
@media (max-width: 599px) { .pb-area-add { grid-template-columns: 1fr 110px; } .pb-area-place, .pb-area-addr { grid-column: 1 / -1; } .pb-area-btn { grid-column: 1 / -1; } }
.pb-area-list { display: flex; flex-direction: column; gap: 8px; }
.pb-area-row { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 12px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); }
.pb-area-ico { flex: none; width: 36px; height: 36px; border-radius: 10px; display: flex; align-items: center; justify-content: center; background: var(--pb-blue-soft); color: var(--mud-palette-primary); }
.pb-area-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.pb-area-txt small { color: var(--mud-palette-text-secondary); font-size: 12.5px; overflow: hidden; text-overflow: ellipsis; }
.pb-team-invite { display: grid; grid-template-columns: minmax(0, 1fr) 160px auto; gap: 12px; align-items: end; }
.pb-team-invite .mud-button-root { height: 40px; text-transform: none !important; border-radius: 9px !important; }
@media (max-width: 599px) { .pb-team-invite { grid-template-columns: 1fr; } }
.pb-team-role { max-width: 130px; }
.pb-booking-assign { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 10px; font-size: 13.5px; color: var(--mud-palette-text-secondary); }
.pb-booking-assign .mud-button-root { text-transform: none !important; min-width: 0; }
.pb-invite-banner { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; padding: 12px 14px; border-radius: 14px; background: var(--pb-blue-soft); border: 1px solid rgba(26, 95, 214, .3); flex-wrap: wrap; }
.pb-invite-banner > .mud-icon-root { color: var(--mud-palette-primary); }
.pb-invite-banner > div:nth-child(2) { flex: 1; min-width: 200px; display: flex; flex-direction: column; }
.pb-invite-banner small { color: var(--mud-palette-text-secondary); }
.pb-invite-acts { display: flex; gap: 6px; }
.pb-invite-acts .mud-button-root { text-transform: none !important; }

/* Administracija: tabovi odvojeni od sadrzaja; partneri i reklame u tabelama. */
.pb-admin-tabs .mud-tabs-tabbar { border-radius: 12px; border: 1px solid var(--mud-palette-lines-default); }
.pb-admin-tabs .mud-tab { text-transform: none; font-weight: 700; letter-spacing: 0; }
.pb-partner-logo.is-sm { width: 84px; height: 40px; }
.pb-ads-thumb.is-lg { width: 100%; max-width: 280px; height: auto; max-height: 160px; margin-bottom: 8px; }
.pb-ad-pages { margin-top: 14px; }
.pb-ad-pages > div { display: flex; flex-wrap: wrap; gap: 4px 12px; }

/* Zahtevi (firma): prekidaci u jednom redu; Pretplata: 4 kartice u redu; dugmad bez velikih slova u listama tima/oblasti i kalendaru. */
.pb-filter-switches { display: flex; flex-wrap: wrap; gap: 4px 18px; align-items: center; }
@media (min-width: 960px) { .pb-credit-top:has(> :nth-child(4)) { grid-template-columns: 1.6fr 1fr 1fr 1fr; } }
.pb-area-row .mud-button-root, .pb-cal-nav .mud-button-root { text-transform: none !important; letter-spacing: 0 !important; font-weight: 700 !important; }

/* ===== Naslovna: nasi partneri - bez kutija, logotipi u redu (vise od 6 - klizna traka) ===== */
.pub-partners2 { padding: 34px 0 10px; border-top: 1px solid var(--mud-palette-lines-default); }
.pub-partners2-head { text-align: center; margin-bottom: 22px; }
.pub-partners2-head span { display: block; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--mud-palette-text-secondary); }
.pub-partners2-head p { margin: 4px 0 0; font-family: 'Manrope', 'Inter', sans-serif; font-size: 20px; font-weight: 800; color: var(--mud-palette-text-primary); }
.pub-partners2-strip { overflow: hidden; }
.pub-partners2-track { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 28px 56px; }
.pub-partner2 { display: flex; align-items: center; justify-content: center; height: 84px; flex: none; }
.pub-partner2 img { max-height: 76px; max-width: 220px; object-fit: contain; filter: grayscale(1); opacity: .6; transition: filter .25s, opacity .25s, transform .25s; }
.pub-partner2:hover img { filter: none; opacity: 1; transform: scale(1.04); }
.pub-partners2-strip.is-marquee { -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.pub-partners2-strip.is-marquee .pub-partners2-track { flex-wrap: nowrap; justify-content: flex-start; width: max-content; animation: pubMarquee 40s linear infinite; }
.pub-partners2-strip.is-marquee:hover .pub-partners2-track { animation-play-state: paused; }
@keyframes pubMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .pub-partners2-strip.is-marquee .pub-partners2-track { animation: none; flex-wrap: wrap; width: auto; justify-content: center; } }
@media (max-width: 699px) { .pub-partners2-track { gap: 22px 34px; } .pub-partner2 { height: 68px; } .pub-partner2 img { max-height: 60px; max-width: 170px; } .pub-partners2-head p { font-size: 18px; } }

/* Bocne reklame: kolona pored sadrzaja (od 1640 px), reklama je "sticky" - prati skrol i staje pre futera.
   Na naslovnoj kolona pocinje ispod banera sa slikom. Bez animacije pojavljivanja. */
.pub-body { position: relative; flex: 1; display: flex; flex-direction: column; }
.pb-ad-rail { display: none; }
@media (min-width: 1640px) {
    .pb-ad-rail { display: block; position: absolute; top: 24px; bottom: 48px; width: 160px; z-index: 2; }
    .pb-ad-rail.is-left { left: calc(50% - 620px - 184px); }
    .pb-ad-rail.is-right { right: calc(50% - 620px - 184px); }
    .pub.is-home .pb-ad-rail { top: 536px; }
    .pb-ad-rail-in { position: sticky; top: 96px; }
    .pb-ad.is-side { width: 160px; aspect-ratio: 160 / 600; animation: none; }
}

/* Naslovna: siroki baner ispod "Treba vam prevoz / Vozite", iznad partnera. */
.pub-ad-wide.is-home { margin: 36px auto 10px !important; }

/* Gornja traka: znacka nacina rada na slici (umesto posebnog dugmeta). */
.pb-user-avwrap { position: relative; display: inline-flex; flex: none; }
.pb-user-mode { position: absolute; right: -4px; bottom: -3px; width: 18px; height: 18px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
    border: 2px solid var(--mud-palette-appbar-background, #fff); color: #fff; }
.pb-user-mode .mud-icon-root { font-size: 11px; }
.pb-user-mode.is-carrier { background: #1A5FD6; }
.pb-user-mode.is-customer { background: #1E9E6A; }

/* Javni sajt: oblacic "Ovde ulazite u aplikaciju" ispod naloga gore desno. */
.pub-actions { position: relative; }
.pub-app-tip { position: absolute; top: calc(100% + 14px); right: 0; z-index: 30; width: 290px; display: flex; flex-direction: column; gap: 6px; padding: 14px 16px; border-radius: 14px;
    background: #fff; color: #0F1A3D; box-shadow: 0 18px 40px -12px rgba(8, 16, 48, .45); animation: pubTipIn .3s ease; }
.pub-app-tip::before { content: ""; position: absolute; top: -7px; right: 36px; width: 14px; height: 14px; background: #fff; transform: rotate(45deg); border-radius: 3px; }
.pub-app-tip b { font-size: 14.5px; }
.pub-app-tip span { font-size: 13px; line-height: 1.45; color: #4A5578; }
.pub-app-tip .mud-button-root { align-self: flex-end; text-transform: none !important; border-radius: 9px !important; }
@keyframes pubTipIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@media (max-width: 959px) { .pub-app-tip { display: none; } }

/* Zahtevi (firma): grad + filteri-oznake u jednom redu (telefon: ispod polja). */
.pb-filters:has(.pb-filter-chips) { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.pb-filters:has(.pb-filter-chips) > .mud-input-control { flex: 1 1 280px; max-width: 460px; margin: 0; }
.pb-filter-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.pb-filter-chips button { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 14px; border-radius: 999px; border: 1.5px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-surface); color: var(--mud-palette-text-primary); font: inherit; font-size: 13.5px; font-weight: 600; cursor: pointer; transition: background .15s, border-color .15s, color .15s; }
.pb-filter-chips button .mud-icon-root { font-size: 17px; color: var(--mud-palette-text-secondary); }
.pb-filter-chips button.is-on { border-color: var(--mud-palette-primary); background: var(--pb-blue-soft); color: var(--mud-palette-primary); }
.pb-filter-chips button.is-on .mud-icon-root { color: var(--mud-palette-primary); }
@media (max-width: 599px) { .pb-filters:has(.pb-filter-chips) > .mud-input-control { max-width: none; flex-basis: 100%; } }

/* ===== Kalendar: mesec preko cele strane ===== */
.pb-cal-nav b { min-width: 170px; text-transform: capitalize; }
.pb-cal-count { margin-left: auto; font-size: 13px; color: var(--mud-palette-text-secondary); }
.pb-calm { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.pb-calm-dow { padding: 2px 6px; font-size: 12px; font-weight: 700; color: var(--mud-palette-text-secondary); text-transform: uppercase; letter-spacing: .05em; }
.pb-calm-day { display: flex; flex-direction: column; gap: 4px; min-height: 118px; padding: 6px; border-radius: 10px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); min-width: 0; }
.pb-calm-day.is-out { opacity: .45; }
.pb-calm-day.is-today { border-color: var(--mud-palette-primary); box-shadow: 0 0 0 1px var(--mud-palette-primary) inset; }
.pb-calm-head { display: flex; align-items: center; justify-content: space-between; }
.pb-calm-head b { font-size: 13px; }
.pb-calm-day.is-today .pb-calm-head b { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: var(--mud-palette-primary); color: #fff; }
.pb-calm-head small { padding: 0 6px; border-radius: 6px; background: var(--pb-blue-soft); color: var(--mud-palette-primary); font-size: 11px; font-weight: 700; }
.pb-calm-head small.is-full { background: rgba(217, 48, 37, .1); color: #D93025; }
.pb-calm-job { position: relative; display: block; padding: 3px 6px; border-radius: 6px; border-left: 3px solid #1A5FD6; background: var(--pb-blue-soft); color: inherit; text-decoration: none; font-size: 11.5px; line-height: 1.3;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pb-calm-job span { font-weight: 800; color: var(--mud-palette-primary); }
.pb-calm-job.is-pickedup { border-left-color: #E08A00; background: rgba(224, 138, 0, .1); }
.pb-calm-job.is-delivered { border-left-color: #1E9E6A; background: rgba(30, 158, 106, .08); opacity: .75; }
.pb-calm-warn { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); width: 14px; height: 14px; border-radius: 50%; background: #E08A00; color: #fff; font-size: 10px; font-style: normal; font-weight: 800; display: flex; align-items: center; justify-content: center; }
.pb-calm-more { font-size: 11px; color: var(--mud-palette-text-secondary); padding-left: 4px; }
.pb-calm-phone { display: none; }
@media (max-width: 959px) {
    .pb-calm { display: none; }
    .pb-calm-phone { display: flex; flex-direction: column; gap: 8px; }
    .pb-cal-count { margin-left: 0; width: 100%; }
    .pb-cal-nav { flex-wrap: wrap; }
}

.pub-app-tip .mud-button-root, html:not(.pub-scrolled) .pub.is-home .pub-actions .pub-app-tip .mud-button-root { color: #fff !important; background: #1A5FD6 !important; }

/* Uputstvo "ulaz u aplikaciju": sve osim dugmeta sa imenom je zatamnjeno (kao vodic u aplikaciji). */
.pub-user.is-spot { position: relative; z-index: 61; box-shadow: 0 0 0 4px rgba(255, 255, 255, .9), 0 0 0 9999px rgba(8, 14, 40, .62) !important; border-radius: 999px; }
.pub-app-tip { z-index: 62; }

.pub-app-tip .mud-button-root .mud-button-label { color: #fff !important; font-size: 13.5px; font-weight: 700; }

/* Opasna zona (profil) i spisak u dijalogu brisanja naloga */
.pb-danger-zone { display:flex; align-items:center; gap:12px; padding:12px 14px; border:1px solid rgba(211,47,47,.35); border-radius:12px; background:rgba(211,47,47,.04); }
.pb-danger-zone-text { flex:1; display:flex; flex-direction:column; min-width:0; }
.pb-danger-zone-text b { color:#c62828; font-size:.92rem; }
.pb-danger-zone-text small { color:var(--mud-palette-text-secondary); font-size:.78rem; }
.pb-danger-list { margin:0; padding-left:18px; display:flex; flex-direction:column; gap:6px; font-size:.88rem; color:var(--mud-palette-text-secondary); }
@media (max-width:599px) { .pb-danger-zone { flex-direction:column; align-items:stretch; } }
.pb-audit-details { font-size:.8rem; color:var(--mud-palette-text-secondary); display:block; max-width:420px; word-break:break-word; }
@media (min-width: 600px) { .pb-audit-details { min-width: 260px; } }
.pb-contrib .pb-filter-chips button:disabled { opacity:.45; cursor:not-allowed; }

/* Ko nudi prevoz: fizicko lice - usputni prevoz / registrovani prevoznik */
.pb-ckind { display:inline-flex; align-self:flex-start; width:auto; align-items:center; gap:4px; padding:1px 8px 1px 6px; border-radius:99px; font-size:11.5px; font-weight:700; white-space:nowrap; vertical-align:middle; line-height:1.6; }
.pb-ckind .mud-icon-root { font-size:14px; }
.pb-ckind.is-ind { background:rgba(245,158,11,.14); color:#9A5B00; }
.pb-ckind.is-reg { background:rgba(26,95,214,.10); color:#1A4FB0; }
.pb-kind-note { font-size:12.5px; color:var(--mud-palette-text-secondary); margin:8px auto 0; max-width:520px; line-height:1.45; }

/* Moje ture na racunaru: radnje u jednom redu, mala dugmad (glavna radnja desno) */
@media (min-width: 600px) {
    .pb-trip-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px 16px 12px; border-top: 1px solid var(--mud-palette-lines-default); }
    .pb-trip-actions .pb-trip-bar { order: 1; flex: 1 1 auto; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; padding: 0; border-top: 0; }
    .pb-trip-actions .pb-trip-chip { min-height: 34px; padding: 5px 12px; font-size: 13px; }
    .pb-trip-actions .pb-trip-links { margin-left: auto; gap: 4px; }
    .pb-trip-actions .pb-trip-go { order: 2; flex: 0 0 auto; flex-direction: row; align-items: center; padding: 0; gap: 8px; }
    .pb-trip-actions .pb-trip-go .pb-bk-main { width: auto; min-height: 36px; padding: 6px 18px; font-size: 14px; }
    .pb-trip-actions .pb-trip-go .pb-bk-step .mud-icon-root { font-size: 18px !important; }
    .pb-trip-actions .pb-trip-go-hint { max-width: 260px; text-align: right; order: -1; }
    .pb-trip-actions .pb-trip-go:last-child { padding-bottom: 0; }
}

/* "Saljem..." preko ekrana (BusyService) */
.pb-busy { position: fixed; inset: 0; z-index: 3000; background: rgba(15, 23, 42, .28); display: flex; align-items: center; justify-content: center; }
.pb-busy-card { display: flex; align-items: center; gap: 14px; padding: 16px 22px; border-radius: 14px; background: var(--mud-palette-surface); box-shadow: 0 18px 50px -12px rgba(0, 0, 0, .35); font-weight: 700; font-size: 15px; }

/* Provera firme (admin) */
.pb-company-check { display: grid; grid-template-columns: 120px 1fr; gap: 16px; align-items: start; }
.pb-company-logo { width: 120px; height: 120px; border-radius: 14px; border: 1px solid var(--mud-palette-lines-default); display: flex; align-items: center; justify-content: center; overflow: hidden; background: #fff; }
.pb-company-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.pb-company-logo.is-empty { flex-direction: column; gap: 6px; text-align: center; font-size: 11.5px; color: #C81E25; background: rgba(229, 35, 42, .05); padding: 8px; }
.pb-company-apr { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
@media (max-width: 599px) { .pb-company-check { grid-template-columns: 1fr; } }
.pb-trip-detail { margin-top: 8px; padding: 12px; border-radius: 12px; background: var(--mud-palette-background-gray); }
.pb-trip-meta.is-fleet { margin-top: 4px; color: var(--mud-palette-text-secondary); }

/* Lokacije preuzimanja, pretraga (lokacije i slobodna vozila), prikaz zauzetosti */
.pb-loc-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.pb-area-ico.is-loc { background: rgba(245, 158, 11, .14); color: #B26A00; }
.pb-srch-pickups { display: flex; flex-direction: column; gap: 4px; margin-top: 8px; }
.pb-srch-pickups span { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 600; color: #9A5B00; }
.pb-srch-free { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; padding: 3px 10px; border-radius: 99px; font-size: 12.5px; font-weight: 700; }
.pb-srch-free.is-free { background: rgba(22, 179, 90, .12); color: #0E8A44; }
.pb-srch-free.is-busy { background: rgba(229, 35, 42, .08); color: #C81E25; }
.pb-srch-time { max-width: 170px; }
.pb-avail-card { display: flex; align-items: center; gap: 14px; }
.pb-avail-card > div { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.pb-avail-card small { color: var(--mud-palette-text-secondary); font-size: 12.5px; line-height: 1.4; }
.pb-city-helper { display:block; font-size:12px; color: var(--mud-palette-text-secondary); margin-top: 2px; }
.pb-field-error { display:block; font-size:12px; color: var(--mud-palette-error); margin-top: 4px; }

/* Padajuce liste (izbor, predlozi mesta): skroluje samo lista, ne i okvir oko nje (bile su dve trake); tanka traka bez strelica. */
.mud-popover:has(> .mud-list) { overflow: hidden !important; }
.mud-popover .mud-list { scrollbar-width: thin; scrollbar-color: rgba(100, 116, 139, .45) transparent; }
.mud-popover .mud-list::-webkit-scrollbar { width: 6px; }
.mud-popover .mud-list::-webkit-scrollbar-thumb { background: rgba(100, 116, 139, .45); border-radius: 99px; }
.mud-popover .mud-list::-webkit-scrollbar-button { display: none; }

/* Pocetna firme: kontrolna tabla */
.pb-dash-setup { width: 100%; border: 0; font: inherit; text-align: left; cursor: pointer; display: flex; align-items: center; gap: 10px; padding: 10px 14px; margin-bottom: 14px; border-radius: 12px; background: rgba(245, 158, 11, .12); color: #8A5300; font-size: 13.5px; text-decoration: none; }
.pb-dash-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 18px 0 8px; }
.pb-dash-card { background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); border-radius: 14px; padding: 14px 16px; min-width: 0; }
.pb-dash-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.pb-dash-head b { font-size: 15px; }
.pb-dash-head a { font-size: 13px; font-weight: 600; color: var(--mud-palette-primary); text-decoration: none; }
.pb-dash-empty { font-size: 13px; color: var(--mud-palette-text-secondary); padding: 10px 0; }
.pb-dash-row { display: flex; align-items: center; gap: 12px; padding: 9px 4px; border-top: 1px solid var(--mud-palette-lines-default); color: inherit; text-decoration: none; }
.pb-dash-row:first-of-type { border-top: 0; }
a.pb-dash-row:hover { background: var(--mud-palette-background-gray); border-radius: 8px; }
.pb-dash-time { display: flex; flex-direction: column; align-items: center; min-width: 46px; }
.pb-dash-time b { font-size: 15px; }
.pb-dash-time small, .pb-dash-main small { font-size: 12px; color: var(--mud-palette-text-secondary); }
.pb-dash-main { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.pb-dash-main b, .pb-dash-main small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pb-dash-dot { width: 10px; height: 10px; border-radius: 50%; flex: none; }
.pb-dash-dot.is-free { background: #16B35A; }
.pb-dash-dot.is-busy { background: #E9A21F; }
.pb-dash-state { font-size: 12.5px; font-weight: 600; color: var(--mud-palette-text-secondary); white-space: nowrap; }
.pb-dash-price { font-size: 14px; white-space: nowrap; }
@media (max-width: 899px) { .pb-dash-grid { grid-template-columns: 1fr; } }

/* Moje ture na telefonu: omotac radnji ne utice na raspored - sve kao pre (Krenuo sam preko cele sirine, ispod Usput i linkovi). */
@media (max-width: 599px) { .pb-trip-actions { display: contents; } }

/* Javni profil firme: grad, usluge, opis, kontakt i mreze */
.pb-prof-city { display: inline-flex; align-items: center; gap: 3px; padding: 1px 9px 1px 6px; border-radius: 99px; background: var(--mud-palette-background-gray); font-size: 12px; font-weight: 600; color: var(--mud-palette-text-secondary); }
.pb-prof-services { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 10px auto 0; max-width: 620px; }
.pb-prof-services span { padding: 3px 10px; border-radius: 99px; background: rgba(26, 95, 214, .08); color: #1A4FB0; font-size: 12.5px; font-weight: 600; }
.pb-prof-about { max-width: 620px; margin: 12px auto 0; font-size: 14.5px; line-height: 1.55; color: var(--mud-palette-text-primary); white-space: pre-line; text-align: center; }
.pb-prof-contact { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 18px; margin-top: 14px; font-size: 14px; font-weight: 600; }
.pb-prof-contact a, .pb-prof-contact span { display: inline-flex; align-items: center; gap: 6px; color: var(--mud-palette-text-primary); text-decoration: none; }
.pb-prof-contact a { color: var(--mud-palette-primary); }
.pb-prof-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 12px; }
.pb-prof-links a { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 99px; border: 1px solid var(--mud-palette-lines-default); font-size: 13px; font-weight: 600; color: var(--mud-palette-text-primary); text-decoration: none; }
.pb-prof-links a:hover { border-color: var(--mud-palette-primary); color: var(--mud-palette-primary); }
.pb-svc-chips { flex-wrap: wrap; }

/* Profil firme: odeljci jednake sirine, jedan sam - preko cele sirine; ocene bez ocena - kratko */
.pub-prof-grid.is-company { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pub-prof-grid.is-company > :only-child { grid-column: 1 / -1; }
.pub-prof-grid.is-company:empty { display: none; }
@media (max-width: 899px) { .pub-prof-grid.is-company { grid-template-columns: 1fr; } }
.pub-box.is-compact { padding-top: 14px; padding-bottom: 14px; }
.pub-box.is-compact .pb-rev-head { margin-bottom: 4px; }

/* Nova oblast rada: izbor (mesto / cela Srbija), mesto i adresa u redu, ispod poluprecnik i Dodaj */
.pb-area-new { margin-bottom: 16px; }
.pb-area-bottom { display: flex; align-items: flex-end; gap: 12px; margin-top: 4px; }
.pb-area-bottom .pb-area-radius { max-width: 180px; }
.pb-area-bottom .pb-area-btn { margin-left: auto; }
@media (max-width: 599px) { .pb-area-bottom .pb-area-radius { max-width: none; flex: 1; } }

/* Naslovna: izbor pretrage - prevoznici / potrebni prevozi */
.pub-search-mode { display: inline-flex; gap: 4px; padding: 3px; border-radius: 12px; background: var(--mud-palette-background-gray); margin-bottom: 4px; }
.pub-search-mode button { display: inline-flex; align-items: center; gap: 6px; border: 0; background: transparent; padding: 6px 12px; border-radius: 9px; font: inherit; font-size: 13.5px; font-weight: 700; color: var(--mud-palette-text-secondary); cursor: pointer; }
.pub-search-mode button.is-on { background: var(--mud-palette-surface); color: var(--mud-palette-primary); box-shadow: 0 1px 4px rgba(15, 23, 42, .12); }

/* Profil firme na racunaru: razmak izmedju delova, kartice iste visine; bez ocena - lep prazan prikaz */
@media (min-width: 601px) {
    .pb-prof-page > * + * { margin-top: 16px; }
    .pub-prof-grid.is-company { align-items: stretch; }
}
.pb-rev-empty { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 14px 8px 6px; text-align: center; color: var(--mud-palette-text-secondary); }
.pb-rev-empty .mud-icon-root { font-size: 34px; color: var(--mud-palette-primary); opacity: .55; }
.pb-rev-empty b { color: var(--mud-palette-text-primary); font-size: 14.5px; }
.pb-rev-empty small { font-size: 13px; }

/* Kartica prevoznika: nivo gore desno, izlazi iz okvira */
.pub-car { position: relative; overflow: visible; }
.pub-car-tier { position: absolute; top: -11px; right: 14px; z-index: 1; display: inline-flex; border-radius: 99px; background: var(--mud-palette-surface); box-shadow: 0 4px 12px -4px rgba(15, 23, 42, .28); }
.pub-car-tier .pub-tier { margin: 0; }

/* Kartica prevoznika: tri brojke (ocene, prevozi, na sajtu od) i link na profil */
.pub-car-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 4px; }
.pub-car-kpis > div { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; padding: 9px 4px; border-radius: 12px; background: var(--mud-palette-background-gray); text-align: center; min-width: 0; }
.pub-car-kpis b { font-size: 15px; font-weight: 800; display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.pub-car-kpis b span { display: inline-flex; align-items: center; gap: 3px; }
.pub-car-kpis b .is-pos { color: #16A34A; }
.pub-car-kpis b .is-neg { color: #DC2626; }
.pub-car-kpis .is-new b { color: var(--mud-palette-primary); }
.pub-car-kpis small { font-size: 11.5px; color: var(--mud-palette-text-secondary); }
.pub-car-more { display: inline-flex; align-items: center; gap: 4px; align-self: flex-end; font-size: 13px; font-weight: 700; color: var(--mud-palette-primary); }
@media (max-width: 599px) { .pub-search-mode button { white-space: nowrap; font-size: 12.5px; padding: 6px 9px; gap: 4px; } }

/* Naslovna pretraga: izbor na sredini, ispod ikonica i tekst u jednom redu */
.pub-search-head.is-modes { flex-direction: column; align-items: center; gap: 8px; text-align: center; }
.pub-search-head.is-modes .pub-search-mode { margin-bottom: 0; }
.pub-search-sub { display: inline-flex; align-items: center; gap: 8px; }
.pub-search-sub .pub-search-ico { width: 26px; height: 26px; border-radius: 8px; }
.pub-search-head.is-modes .pub-search-error { margin-top: 0; justify-content: center; }

/* Naslovna pretraga: levo ikonica i tekst, dugmad na sredini (isti red); na telefonu dugmad gore, tekst ispod levo */
.pub-search-head.is-modes { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; text-align: left; }
.pub-search-head.is-modes .pub-search-sub { grid-column: 1; grid-row: 1; justify-self: start; }
.pub-search-head.is-modes .pub-search-mode { grid-column: 2; grid-row: 1; }
.pub-search-head.is-modes .pub-search-error { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; }
@media (max-width: 599px) {
    .pub-search-head.is-modes { grid-template-columns: 1fr; }
    .pub-search-head.is-modes .pub-search-mode { grid-column: 1; grid-row: 1; justify-self: center; }
    .pub-search-head.is-modes .pub-search-sub { grid-column: 1; grid-row: 2; }
    .pub-search-head.is-modes .pub-search-error { grid-row: 3; }
}
.pub-search-mode { padding: 2px; border-radius: 10px; } .pub-search-mode button { padding: 3px 11px; border-radius: 8px; font-size: 13px; } .pub-search-mode button .mud-icon-root { font-size: 17px; }
/* Nivo na kartici: vise desno i gore (odvojen od imena), blagi okvir u boji slova */
.pub-car-tier { top: -14px; right: 6px; }
.pub-car-tier .pub-tier { border: 1px solid color-mix(in srgb, currentColor 40%, transparent); }

/* Kartica prevoznika: brojke sa ikonicom (ikonica levo, broj i natpis desno) */
.pub-car-kpis > div { flex-direction: row; justify-content: flex-start; gap: 8px; padding: 8px 10px; text-align: left; }
.pub-kpi-ico { flex: none; width: 30px; height: 30px; border-radius: 9px; display: inline-flex; align-items: center; justify-content: center; }
.pub-kpi-ico .mud-icon-root { font-size: 17px; }
.pub-kpi-ico.is-new { background: rgba(26, 95, 214, .12); color: #1A5FD6; }
.pub-kpi-ico.is-pos { background: rgba(22, 163, 74, .12); color: #16A34A; }
.pub-kpi-ico.is-trips { background: rgba(245, 158, 11, .14); color: #B26A00; }
.pub-kpi-ico.is-since { background: rgba(124, 58, 237, .12); color: #7C3AED; }
.pub-kpi-txt { display: flex; flex-direction: column; min-width: 0; line-height: 1.2; }
.pub-kpi-txt b { font-size: 14.5px; }
.pub-kpi-txt b em { font-style: normal; color: #DC2626; font-weight: 700; }
.pub-kpi-txt small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pub-car-kpis .is-new + .pub-kpi-txt b { color: var(--mud-palette-primary); }
@media (max-width: 420px) { .pub-car-kpis > div { flex-direction: column; align-items: center; text-align: center; gap: 4px; padding: 8px 4px; } .pub-kpi-txt { align-items: center; } }

/* Kartica prevoznika: ocene, prevozi i od kada - jedan red, ikonica + tekst (bez kockica); tanji nivo */
.pub-car-facts { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 13px; color: var(--mud-palette-text-secondary); }
.pub-car-facts span { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.pub-car-facts .mud-icon-root { font-size: 17px; }
.pub-car-facts .is-new { color: #1A5FD6; }
.pub-car-facts .is-pos { color: #16A34A; }
.pub-car-facts .is-neg { color: #DC2626; margin-left: 4px; }
.pub-car-facts .is-trips { color: #B26A00; }
.pub-car-facts .is-since { color: #7C3AED; }
.pub-car-tier .pub-tier { padding-top: 1px !important; padding-bottom: 1px !important; font-size: 12px !important; line-height: 1.5; }
.pub-car-tier .pub-tier .mud-icon-root { font-size: 14px !important; }

/* Kartica prevoznika: verifikovan - zelen okvir oko slike i kvacica dole desno */
.pub-car-avwrap { position: relative; flex: none; display: inline-flex; border-radius: 16px; }
.pub-car-avwrap.is-verified > span:first-child { box-shadow: 0 0 0 2px var(--mud-palette-surface), 0 0 0 3.5px rgba(22, 163, 74, .38), 0 4px 12px -4px rgba(15, 26, 61, .35) !important; }
.pub-car-check { position: absolute; right: -6px; bottom: -6px; width: 20px; height: 20px; border-radius: 50%; background: var(--mud-palette-surface); display: inline-flex; align-items: center; justify-content: center; color: #16A34A; box-shadow: 0 1px 3px rgba(15, 23, 42, .2); }
.pub-car-check .mud-icon-root { font-size: 17px; }

/* Profil: oznake (nivo, vrsta, grad) iste visine; firma na racunaru u tri kolone */
.pb-prof-main, .pb-prof-side { display: contents; }
.pb-prof-tags > * { display: inline-flex !important; align-items: center; align-self: center !important; height: 26px; box-sizing: border-box; padding: 0 10px 0 8px !important; margin: 0 !important; border-radius: 99px; font-size: 12.5px !important; font-weight: 700; line-height: 1; }
.pb-prof-tags > * .mud-icon-root { font-size: 15px !important; }
@media (min-width: 600px) {
    .pb-prof.is-company { display: grid; grid-template-columns: auto minmax(0, 1fr) 280px; align-items: start; gap: 0 28px; padding: 28px; text-align: left; }
    .pb-prof.is-company .pb-prof-av { width: 128px; height: 128px; }
    .pb-prof.is-company .pb-prof-main { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; min-width: 0; }
    .pb-prof.is-company h1 { margin: 2px 0 0; }
    .pb-prof.is-company .pb-prof-tags, .pb-prof.is-company .pb-prof-services { justify-content: flex-start; }
    .pb-prof.is-company .pb-prof-services { margin: 6px 0 0; max-width: none; }
    .pb-prof.is-company .pb-prof-about { margin: 6px 0 0; max-width: none; text-align: left; }
    .pb-prof.is-company .pb-kind-note { margin: 4px 0 0; max-width: none; }
    .pb-prof.is-company .pb-prof-side { display: flex; flex-direction: column; gap: 12px; padding: 16px; border-radius: 16px; background: var(--mud-palette-background); }
    .pb-prof.is-company .pb-prof-stats { margin: 0; max-width: none; }
    .pb-prof.is-company .pb-prof-stats > div { background: var(--mud-palette-surface); }
    .pb-prof.is-company .pb-prof-facts { flex-direction: column; align-items: flex-start; gap: 6px; }
    .pb-prof.is-company .pb-prof-contact { flex-direction: column; align-items: flex-start; gap: 8px; margin: 0; padding-top: 12px; border-top: 1px solid var(--mud-palette-lines-default); }
    .pb-prof.is-company .pb-prof-contact a, .pb-prof.is-company .pb-prof-contact span { word-break: break-word; }
    .pb-prof.is-company .pb-prof-links { justify-content: flex-start; margin: 0; }
}
@media (min-width: 600px) and (max-width: 959px) {
    .pb-prof.is-company { grid-template-columns: auto minmax(0, 1fr); }
    .pb-prof.is-company .pb-prof-side { grid-column: 1 / -1; margin-top: 18px; }
}
/* Mreze firme: na racunaru levo ispod opisa, na telefonu dole (kao pre) */
.pb-prof-links.is-main { display: none; }
@media (min-width: 600px) {
    .pb-prof.is-company .pb-prof-links.is-main { display: flex; margin-top: 6px; }
    .pb-prof.is-company .pb-prof-links.is-side { display: none; }
}
/* Telefon: ocene samo lajk i broj, bez okvira i teksta */
@media (max-width: 599px) {
    .pb-prof-page .pb-prof-stats, .pb-prof-stats { display: flex !important; justify-content: center; gap: 28px; max-width: none; margin-top: 4px; }
    .pb-prof-page .pb-prof-stats > div, .pb-prof-stats > div { flex-direction: row; gap: 6px; padding: 0; border: 0 !important; background: transparent !important; }
    .pb-prof-stats small { display: none; }
}
/* Ture na racunaru: otkazan/prosao put - Obrisi iz liste desno u donjoj traci (kao radnje aktivnog puta) */
@media (min-width: 600px) {
    .pb-hide-row.is-trip { justify-content: flex-end; padding: 8px 16px 10px; border-top: 1px solid var(--mud-palette-lines-default); }
}

/* Oblasti i lokacije: tabovi sa brojem, dugme Dodaj desno, tabela (na telefonu kartice); dijalog oblasti */
.pb-seg2 { display: inline-flex; gap: 4px; padding: 4px; border-radius: 14px; background: var(--mud-palette-background-gray); }
.pb-seg2 button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 36px; padding: 0 14px; border: 0; border-radius: 10px; background: transparent; font: inherit; font-size: 13.5px; font-weight: 700; color: var(--mud-palette-text-secondary); cursor: pointer; }
.pb-seg2 button .mud-icon-root { font-size: 18px; }
.pb-seg2 button.is-on { background: var(--mud-palette-surface); color: var(--mud-palette-primary); box-shadow: 0 2px 8px -3px rgba(15, 26, 61, .25); }
.pb-seg2 button em { font-style: normal; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 99px; display: inline-flex; align-items: center; justify-content: center; font-size: 11.5px; background: rgba(26, 95, 214, .10); color: var(--mud-palette-primary); }
.pb-ob-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 8px; }
.pb-ob-add { border-radius: 12px !important; text-transform: none !important; font-weight: 700 !important; }
.pb-ob-sub { margin: 10px 0 14px; font-size: 13.5px; color: var(--mud-palette-text-secondary); }
.pb-ob-search { max-width: 360px; margin: 0 0 12px !important; }
.pb-ob-table { border-radius: 14px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); overflow: hidden; }
.pb-ob-th, .pb-ob-tr { display: grid; grid-template-columns: 36px minmax(140px, 1fr) minmax(0, 1.6fr) 150px 40px; align-items: center; gap: 14px; padding: 10px 14px; }
.pb-ob-th { padding-top: 9px; padding-bottom: 9px; background: var(--mud-palette-background); font-size: 11.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--mud-palette-text-secondary); }
.pb-ob-tr + .pb-ob-tr, .pb-ob-th + .pb-ob-tr { border-top: 1px solid var(--mud-palette-lines-default); }
.pb-ob-name { font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pb-ob-addr { font-size: 13px; color: var(--mud-palette-text-secondary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pb-ob-tag { justify-self: start; padding: 3px 10px; border-radius: 99px; background: rgba(26, 95, 214, .08); color: #1A4FB0; font-size: 12px; font-weight: 700; white-space: nowrap; }
.pb-ob-act { justify-self: end; }
.pb-ob-none { padding: 16px; text-align: center; font-size: 13px; color: var(--mud-palette-text-secondary); border-top: 1px solid var(--mud-palette-lines-default); }
.pb-ob-empty { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 32px 16px; text-align: center; border-radius: 14px; border: 1px dashed var(--mud-palette-lines-default); }
.pb-ob-empty .mud-icon-root { font-size: 34px; color: var(--mud-palette-primary); opacity: .7; }
.pb-ob-empty span { max-width: 460px; font-size: 13px; color: var(--mud-palette-text-secondary); }
.pb-area-dlg-row { display: grid; grid-template-columns: minmax(0, 1fr) 130px; gap: 12px; align-items: start; }
@media (max-width: 599px) {
    .pb-ob-bar { flex-direction: column; align-items: stretch; }
    .pb-ob-tabs { display: flex; }
    .pb-ob-tabs button { flex: 1; padding: 0 8px; font-size: 12.5px; }
    .pb-ob-tabs button .mud-icon-root { display: none; }
    .pb-ob-add { width: 100%; }
    .pb-ob-search { max-width: none; }
    .pb-ob-th { display: none; }
    .pb-ob-tr { grid-template-columns: 36px minmax(0, 1fr) auto; grid-template-areas: "ico name act" "ico addr act" "ico tag act"; gap: 2px 12px; padding: 12px; }
    .pb-ob-tr > .pb-area-ico { grid-area: ico; align-self: start; }
    .pb-ob-tr > .pb-ob-name { grid-area: name; white-space: normal; }
    .pb-ob-tr > .pb-ob-addr { grid-area: addr; white-space: normal; }
    .pb-ob-tr > .pb-ob-tag { grid-area: tag; margin-top: 4px; }
    .pb-ob-tr > .pb-ob-act { grid-area: act; }
    .pb-area-dlg-row { grid-template-columns: 1fr; }
}

/* Tim: clanovi i pozivi kao tabela; na telefonu kartice */
.pb-ob-table.is-team .pb-ob-th, .pb-ob-table.is-team .pb-ob-tr { grid-template-columns: 36px minmax(140px, 1fr) 150px minmax(0, 1.4fr) 90px 40px; }
.pb-ob-table.is-invites .pb-ob-th, .pb-ob-table.is-invites .pb-ob-tr { grid-template-columns: 36px minmax(160px, 1.4fr) 150px minmax(0, 1fr) 80px; }
.pb-ob-table + .pb-section-title { margin-top: 22px; }
.pb-ob-role .pb-team-role { margin: 0 !important; max-width: 140px; }
.pb-ob-jobs { font-size: 13px; color: var(--mud-palette-text-secondary); }
@media (max-width: 599px) {
    .pb-ob-table.is-team .pb-ob-tr, .pb-ob-table.is-invites .pb-ob-tr { grid-template-columns: 36px minmax(0, 1fr) auto; grid-template-areas: "ico name act" "ico addr act" "ico role act"; gap: 2px 12px; padding: 12px; }
    .pb-ob-tr > .pb-ob-role { grid-area: role; margin-top: 4px; }
    .pb-ob-tr > .pb-ob-jobs { display: none; }
}
@media (max-width: 599px) { .pb-ob-long { display: none; } }

/* Stranice ispod kratkih tabela (samo kad ima vise od 10 redova) */
.pb-pager { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-top: 10px; }
.pb-pager small { color: var(--mud-palette-text-secondary); font-size: 12.5px; }
@media (max-width: 599px) { .pb-pager { justify-content: center; } }
/* Strana Poziv u tim: firma i uloga iz poziva */
.pb-invite-card { display: flex; align-items: flex-start; gap: 12px; padding: 14px; border-radius: 14px; background: var(--pb-blue-soft); }
.pb-invite-card > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pb-invite-card b { font-size: 15px; }
.pb-invite-card small { font-size: 13px; color: var(--mud-palette-text-secondary); line-height: 1.45; }
.pb-invite-card small b { font-size: inherit; color: var(--mud-palette-text-primary); }
.pb-invite-card .pb-area-ico { background: var(--mud-palette-surface); }
/* Obavestenja na telefonu: dijalog (stanje, uputstvo po uredjaju) i veza u zvoncetu */
.pb-push-lead { margin: 0 0 12px; font-size: 13.5px; color: var(--mud-palette-text-secondary); line-height: 1.5; }
.pb-push-state { display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; border-radius: 14px; background: var(--mud-palette-background-gray); }
.pb-push-state > .mud-icon-root { flex: none; color: var(--mud-palette-text-secondary); }
.pb-push-state > div { display: flex; flex-direction: column; gap: 2px; }
.pb-push-state b { font-size: 14px; }
.pb-push-state small { font-size: 12.5px; color: var(--mud-palette-text-secondary); line-height: 1.45; }
.pb-push-state.is-on { background: rgba(22, 163, 74, .10); }
.pb-push-state.is-on > .mud-icon-root { color: #16A34A; }
.pb-push-state.is-blocked { background: rgba(217, 48, 37, .08); }
.pb-push-state.is-blocked > .mud-icon-root { color: #D93025; }
.pb-push-tabs { display: flex; }
.pb-push-tabs button { flex: 1; }
.pb-push-steps { margin: 12px 0 0; padding-left: 22px; display: flex; flex-direction: column; gap: 8px; font-size: 13.5px; line-height: 1.5; }
.pb-notif-push { display: flex; align-items: center; gap: 8px; width: 100%; padding: 10px 14px; border: 0; border-top: 1px solid var(--mud-palette-lines-default); background: rgba(var(--mud-palette-primary-rgb), .06); color: var(--mud-palette-primary); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; text-align: left; }
.pb-notif-push span { flex: 1; }
@media (max-width: 599px) { .pb-push-tabs button { padding: 0 6px; font-size: 12.5px; gap: 4px; } .pb-push-tabs button .mud-icon-root { display: none; } }
/* Meni naloga na javnom sajtu: kompaktan (kao u aplikaciji) */
.pub-user-pop .mud-menu-item { min-height: 0; padding: 7px 16px; }
.pub-user-pop .mud-menu-item .mud-menu-item-text, .pub-user-pop .mud-menu-item .mud-typography { font-size: 14px; }
.pub-user-pop .mud-menu-item .mud-icon-root { font-size: 20px; }
.pub-user-pop .pub-menu-head { padding: 10px 16px 8px; min-width: 200px; }
.pub-user-pop .pub-menu-head b { font-size: 14px; }
.pub-user-pop .pub-menu-head span { font-size: 12px; }
/* Meni naloga i zvonce: izlaze iz dugmeta - mala zaobljena strelica iste boje kao meni; okvir menija prati strelicu (gore pa dole) */
.pub-user-pop, .pb-user-pop, .pb-notif-pop { margin-top: 12px !important; overflow: visible !important; border-radius: 14px !important; }
.pub-user-pop::before, .pb-user-pop::before, .pb-notif-pop::before { content: ""; position: absolute; top: -7.5px; right: 24px; width: 13px; height: 13px; border-radius: 3px 0 0 0; background: var(--mud-palette-surface); transform: rotate(45deg); border-top: 1px solid var(--mud-palette-lines-default); border-left: 1px solid var(--mud-palette-lines-default); }
.pb-notif-pop::before { right: 18px; }
.pub-user-pop > *, .pb-user-pop > *, .pb-notif-pop > * { position: relative; z-index: 1; border-radius: 14px; }
/* Saglasnost: kvacica u ravni sa tekstom (na racunaru je tekst najcesce u jednom redu) */
@media (min-width: 600px) { .pb-consent-box .mud-checkbox { align-items: center; } .pb-consent-box .mud-checkbox > .mud-button-root { margin-top: 0 !important; } }
/* Dijalog adrese na mapi (racunar): dugmad kao u ostalim dijalozima - Otkazi kao tekst, Potvrdi obicne velicine, bez linije iznad */
@media (min-width: 600px) {
    .mud-dialog .pb-trip-actions { border-top: 0 !important; padding: 0 !important; gap: 8px; justify-content: flex-end; }
    .mud-dialog .pb-trip-actions .mud-button-root { min-height: 36px; padding: 6px 16px; border-radius: 10px; box-shadow: none; }
    .mud-dialog .pb-trip-actions .mud-button-outlined { border-color: transparent; }
}

/* Administracija -> Paketi: kartice iste strukture (naslov sa ikonicom, polja u mrezi, Sacuvaj desno) */
.pb-adm-card { margin-bottom: 18px; padding: 18px 20px; border-radius: 16px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); }
.pb-adm-head { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 14px; }
.pb-adm-head > div { display: flex; flex-direction: column; gap: 2px; }
.pb-adm-head b { font-family: 'Manrope', 'Inter', sans-serif; font-size: 17px; font-weight: 800; }
.pb-adm-head small { font-size: 13px; color: var(--mud-palette-text-secondary); line-height: 1.45; }
.pb-adm-ico { flex: none; width: 38px; height: 38px; border-radius: 11px; display: flex; align-items: center; justify-content: center; background: var(--pb-blue-soft); color: var(--mud-palette-primary); }
.pb-adm-label { font-size: 11.5px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--mud-palette-text-secondary); margin-bottom: 4px; }
.pb-adm-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 18px; }
.pb-adm-grid.is-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pb-adm-grid.is-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; }
.pb-adm-split { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 28px; }
.pb-adm-calc { padding: 12px 14px; border-radius: 12px; background: var(--mud-palette-background); align-self: start; }
.pb-adm-calc-row { display: flex; justify-content: space-between; padding: 7px 0; font-size: 13.5px; border-top: 1px solid var(--mud-palette-lines-default); }
.pb-adm-calc-row small { font-weight: 400; color: var(--mud-palette-text-secondary); }
.pb-adm-calc-row.is-muted { color: var(--mud-palette-text-secondary); }
.pb-adm-switch { padding-top: 8px; }
.pb-adm-switch small { display: block; font-size: 12px; color: var(--mud-palette-text-secondary); margin-top: -4px; }
.pb-adm-packs { display: flex; flex-direction: column; }
.pb-adm-pack { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 70px 36px; gap: 12px; align-items: center; padding: 2px 0; border-bottom: 1px solid var(--mud-palette-lines-default); }
.pb-adm-pack.is-head { font-size: 11.5px; font-weight: 700; color: var(--mud-palette-text-secondary); padding-bottom: 6px; }
.pb-adm-pack .mud-input-control { margin: 0 !important; }
.pb-adm-pack-n { font-size: 13px; color: var(--mud-palette-text-secondary); }
.pb-adm-foot { display: flex; justify-content: flex-end; margin-top: 14px; }
.pb-adm-foot .mud-button-root { min-width: 120px; border-radius: 10px; }
@media (max-width: 959px) { .pb-adm-split { grid-template-columns: 1fr; gap: 16px; } .pb-adm-grid.is-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pb-adm-grid.is-3 { grid-template-columns: 1fr; } }
@media (max-width: 599px) { .pb-adm-grid, .pb-adm-grid.is-4 { grid-template-columns: 1fr; } .pb-adm-foot .mud-button-root { width: 100%; } }
@media (max-width: 1279px) { .pb-adm-grid.is-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Ugovor posle probe: prozor preko cele aplikacije (pozadina zamucena, ne zatvara se) i strana Ugovor */
.pb-gate { position: fixed; inset: 0; z-index: 1600; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(15, 26, 61, .45); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.pb-gate-card { width: 100%; max-width: 720px; max-height: calc(100vh - 32px); display: flex; flex-direction: column; padding: 20px; border-radius: 18px; background: var(--mud-palette-surface); box-shadow: 0 24px 60px -20px rgba(0, 0, 0, .5); }
.pb-gate-head { display: flex; align-items: flex-start; gap: 12px; }
.pb-gate-head > div { display: flex; flex-direction: column; gap: 2px; }
.pb-gate-head b { font-family: 'Manrope', 'Inter', sans-serif; font-size: 18px; font-weight: 800; }
.pb-gate-head small { font-size: 13px; color: var(--mud-palette-text-secondary); line-height: 1.45; }
.pb-gate-ico { flex: none; width: 40px; height: 40px; border-radius: 12px; display: flex; align-items: center; justify-content: center; background: var(--pb-blue-soft); color: var(--mud-palette-primary); }
.pb-gate-text { margin: 14px 0 0; font-size: 14px; line-height: 1.55; }
.pb-gate-doc { margin-top: 14px; padding: 14px 16px; overflow-y: auto; flex: 1 1 auto; min-height: 140px; border-radius: 12px; border: 1px solid var(--mud-palette-lines-default); background: var(--mud-palette-background); font-size: 13.5px; line-height: 1.55; }
.pb-gate-doc h3 { margin: 0; font-size: 15px; font-weight: 800; }
.pb-gate-ver { color: var(--mud-palette-text-secondary); font-size: 12px; }
.pb-gate-doc h4 { margin: 12px 0 2px; font-size: 13.5px; font-weight: 800; }
.pb-gate-doc p { margin: 4px 0 0; }
.pb-gate-actions { display: flex; justify-content: flex-end; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.pb-gate-actions .pb-gate-pdf { margin-right: auto; }
@media (max-width: 599px) {
    .pb-gate { padding: 0; align-items: stretch; }
    .pb-gate-card { max-height: none; height: 100%; border-radius: 0; padding: 16px 14px calc(14px + env(safe-area-inset-bottom)); }
    .pb-gate-actions .mud-button-root { flex: 1 1 auto; }
    .pb-gate-actions .pb-gate-pdf { flex-basis: 100%; margin-right: 0; }
}
.pb-contract-top { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 14px 16px; margin-bottom: 14px; border-radius: 14px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); }
.pb-contract-top > div { display: flex; flex-direction: column; gap: 2px; flex: 1; min-width: 200px; }
.pb-contract-top small { font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-contract-pdf { border-radius: 10px !important; }
.pb-contract-doc { padding: 18px 20px; border-radius: 14px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); font-size: 14px; line-height: 1.6; }
.pb-contract-doc h2 { margin: 0 0 6px; font-size: 18px; font-weight: 800; }
.pb-contract-doc h3 { margin: 16px 0 4px; font-size: 14.5px; font-weight: 800; }
.pb-contract-doc p { margin: 4px 0 0; }
@media (max-width: 599px) { .pb-contract-pdf { width: 100%; } .pb-contract-doc { padding: 14px; } }

/* Admin: zabrane i povracaji - tekst zalbe i spisak otkazivanja */
.pb-case-text { margin: 6px 0 0; font-size: 13px; line-height: 1.45; }
.pb-case-list { margin: 6px 0 0; padding-left: 18px; font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-case-list li { margin: 2px 0; }

/* Admin tabele (racunar): obicna tabela, bez zakacene kolone i senke. */
@media (min-width: 600px) {
    .pb-adm-table td.pb-adm-wide { min-width: 300px; max-width: 460px; }
}

/* ---------- Admin: posecenost sajta ---------- */
.pb-site-kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
.pb-site-kpi { min-width: 0; padding: 14px; border-radius: 16px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); display: flex; flex-direction: column; gap: 2px; }
.pb-site-kpi small { display: flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--mud-palette-text-secondary); }
.pb-site-kpi b { font: 800 26px/1.15 Manrope, Inter, sans-serif; color: var(--mud-palette-text-primary); }
.pb-site-kpi span { font-size: 12.5px; line-height: 1.35; color: var(--mud-palette-text-secondary); overflow-wrap: anywhere; }
.pb-site-kpi span.is-warn, .pb-site-route-r.is-warn { color: var(--mud-palette-warning-darken, #B45309); font-weight: 600; }
.pb-site-kpi.is-live { background: linear-gradient(135deg, rgba(16, 185, 129, .12), rgba(16, 185, 129, .03)); border-color: rgba(16, 185, 129, .3); }
.pb-site-dot { width: 8px; height: 8px; border-radius: 50%; background: #10B981; box-shadow: 0 0 0 0 rgba(16, 185, 129, .5); animation: pb-site-pulse 1.8s infinite; }
@keyframes pb-site-pulse { 0% { box-shadow: 0 0 0 0 rgba(16, 185, 129, .5); } 70% { box-shadow: 0 0 0 8px rgba(16, 185, 129, 0); } 100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); } }
.pb-site-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.pb-site-card { min-width: 0; padding: 16px; border-radius: 16px !important; border: 1px solid var(--mud-palette-lines-default); }
.pb-site-head { margin-bottom: 12px; }
.pb-site-head b { display: block; font-size: 15px; color: var(--mud-palette-text-primary); }
.pb-site-head small { display: block; font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-site-empty { margin: 0; font-size: 13.5px; color: var(--mud-palette-text-secondary); }
.pb-site-row, .pb-site-funnel { margin-bottom: 10px; }
.pb-site-row > div, .pb-site-funnel > div { display: flex; align-items: baseline; gap: 8px; font-size: 13.5px; }
.pb-site-row span, .pb-site-funnel span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--mud-palette-text-primary); }
.pb-site-row b, .pb-site-funnel b { flex: none; font-weight: 700; }
.pb-site-funnel em { flex: none; width: 44px; text-align: right; font-style: normal; font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-site-row i, .pb-site-funnel i { display: block; height: 6px; margin-top: 4px; border-radius: 99px; background: linear-gradient(90deg, #3B82F6, #1A5FD6); min-width: 0; }
.pb-site-funnel i { height: 9px; }
.pb-site-sep { height: 1px; margin: 12px 0; background: var(--mud-palette-lines-default); }
.pb-site-route { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-top: 1px solid var(--mud-palette-lines-default); }
.pb-site-route:first-of-type { border-top: 0; }
.pb-site-route-name { flex: 1; min-width: 0; }
.pb-site-route-name b { display: block; font-size: 13.5px; overflow-wrap: anywhere; }
.pb-site-route-name small { font-size: 12px; color: var(--mud-palette-text-secondary); }
.pb-site-route-n { flex: none; font-weight: 700; font-size: 13.5px; }
.pb-site-route-r { flex: none; font-size: 12.5px; color: var(--mud-palette-text-secondary); text-align: right; }
@media (min-width: 600px) {
    .pb-site-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
    .pb-site-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pb-site-card.is-wide { grid-column: 1 / -1; }
}
@media (min-width: 1200px) {
    .pb-site-kpis { grid-template-columns: repeat(6, minmax(0, 1fr)); }
    .pb-site-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .pb-site-card.is-wide { grid-column: span 2; }
}

/* Kartica u listi vodi na profil: strelica dole desno (umesto dugmadi Profil / Posalji upit). */
a.pb-srch-card.is-link { position: relative; text-decoration: none; color: inherit; padding-bottom: 18px; transition: box-shadow .15s, border-color .15s, transform .15s; }
a.pb-srch-card.is-link[href]:hover { border-color: var(--mud-palette-primary); box-shadow: 0 10px 26px rgba(26, 95, 214, .12); }
.pb-card-go { position: absolute; right: 12px; bottom: 12px; width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
              background: var(--pb-blue-soft); color: var(--mud-palette-primary); transition: transform .15s, background .15s, color .15s; }
a:hover > .pb-card-go { transform: translateX(2px); background: var(--mud-palette-primary); color: #fff; }
.pub-car { padding-bottom: 50px; }
a.pb-srch-card.is-link .pb-oc-tags { padding-right: 40px; }

/* Profil: objavljene ture odmah ispod zaglavlja profila. */
.pb-prof-trips { margin: 14px 0; padding: 16px; border-radius: 18px; background: var(--mud-palette-surface); border: 1px solid rgba(26, 95, 214, .25);
                 box-shadow: 0 8px 24px rgba(26, 95, 214, .08); }
.pb-prof-trips-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.pb-prof-trips-head h3 { display: flex; align-items: center; gap: 8px; margin: 0; font: 800 17px Manrope, Inter, sans-serif; color: var(--mud-palette-text-primary); }
.pb-prof-trips-head h3 .mud-icon-root { color: var(--mud-palette-primary); }
.pb-prof-trips-head span { font-size: 12.5px; font-weight: 700; color: var(--mud-palette-primary); background: var(--pb-blue-soft); padding: 3px 10px; border-radius: 99px; }
.pb-prof-trip { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px 14px; align-items: center; padding: 14px 0; border-top: 1px solid var(--mud-palette-lines-default); }
.pb-prof-trip:first-child { border-top: 0; padding-top: 4px; }
.pb-prof-trip-when { width: 58px; border-radius: 14px; overflow: hidden; text-align: center; background: var(--mud-palette-surface); border: 1px solid rgba(26, 95, 214, .22); box-shadow: 0 2px 6px rgba(26, 95, 214, .08); }
.pb-prof-trip-when small { display: block; padding: 3px 0; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #fff; background: var(--mud-palette-primary); }
.pb-prof-trip-when b { display: block; padding: 6px 0 7px; font: 800 15px/1 Manrope, Inter, sans-serif; color: var(--mud-palette-text-primary); }
.pb-prof-trip-main { min-width: 0; }
.pb-prof-trip-main > b { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 6px; font: 800 16px/1.25 Manrope, Inter, sans-serif; color: var(--mud-palette-text-primary); }
.pb-prof-trip-arrow { font-size: 17px !important; color: var(--mud-palette-primary); }
.pb-prof-trip-meta { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 5px; }
.pb-prof-trip-meta span { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; color: var(--mud-palette-text-secondary); }
.pb-prof-trip-meta .mud-icon-root { font-size: 15px; color: var(--mud-palette-text-secondary); opacity: .8; }
.pb-prof-trip-ask { grid-column: 1 / -1; display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; border: 0; border-radius: 12px; cursor: pointer;
                    font: 700 14.5px Inter, sans-serif; color: var(--mud-palette-primary); background: var(--pb-blue-soft); transition: background .15s, color .15s; }
.pb-prof-trip-ask .mud-icon-root { font-size: 18px; }
.pb-prof-trip-ask:hover { background: var(--mud-palette-primary); color: #fff; }
@media (min-width: 600px) {
    .pb-prof-trips { padding: 18px 22px; }
    .pb-prof-trip { grid-template-columns: auto minmax(0, 1fr) auto; }
    .pb-prof-trip-ask { grid-column: auto; padding: 0 18px; }
}

/* Lista prevoznika kao oglasi na KP: slika levo, kratki redovi desno, ceo red je link. Racunar: dve kolone. */
.pb-kp-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; margin-bottom: 18px; }
.pb-kp-row { position: relative; display: flex; flex-direction: column; padding: 10px 10px 0; border-radius: 16px; background: var(--mud-palette-surface);
             border: 1px solid var(--mud-palette-lines-default); text-decoration: none; color: inherit; transition: border-color .15s, box-shadow .15s; }
.pb-kp-row[href]:hover { border-color: var(--mud-palette-primary); box-shadow: 0 8px 22px rgba(26, 95, 214, .1); }
.pb-kp-row.is-premium { border-color: rgba(233, 162, 31, .55); }
.pb-kp-row.is-own { border-color: rgba(22, 179, 90, .45); }
.pb-kp-av { flex: none; width: 84px; height: 84px; border-radius: 12px; overflow: hidden; display: flex; align-items: center; justify-content: center;
            background: linear-gradient(135deg, #2A6FE6, #1A5FD6); color: #fff; font: 800 24px Manrope, Inter, sans-serif; }
.pb-kp-av img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pb-kp-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.pb-kp-name { font-size: 15.5px; line-height: 1.25; color: var(--mud-palette-text-primary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pb-kp-kind { display: flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 600; color: var(--mud-palette-primary); }
.pb-kp-kind.is-ind { color: #B45309; }
.pb-kp-kind .mud-icon-root { font-size: 14px; }
.pb-kp-line { font-size: 13px; line-height: 1.35; color: var(--mud-palette-text-secondary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pb-kp-line.is-main { font-weight: 700; color: var(--mud-palette-text-primary); font-size: 13.5px; }
.pb-kp-top { display: flex; gap: 12px; padding-bottom: 10px; }
.pb-kp-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 2px 8px 0; border-top: 1px solid var(--mud-palette-lines-default); }
.pb-kp-score { width: 84px; flex: none; display: flex; align-items: center; justify-content: center; gap: 10px; font-size: 13px; font-weight: 700; }
.pb-kp-score > span { display: inline-flex; align-items: center; gap: 4px; }
.pb-kp-score .mud-icon-root { font-size: 16px; }
.pb-kp-score .is-pos { color: #16A34A; }
.pb-kp-score .is-neg { color: #DC2626; }
.pb-kp-go { display: flex; color: var(--mud-palette-primary); transition: transform .15s; }
.pb-kp-go .mud-icon-root { font-size: 20px; }
.pb-kp-row[href]:hover .pb-kp-go { transform: translateX(3px); }
@media (min-width: 600px) {
    .pb-kp-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}

/* Premium (rucno) u listi prevoznika: oznaka gore desno, malo izvan okvira reda. */
.pb-kp-row { overflow: visible; }
.pb-kp-tier { position: absolute; top: -9px; right: 10px; }
.pb-kp-tier .pub-tier { padding: 2px 8px; font-size: 11.5px; box-shadow: 0 2px 6px rgba(15, 23, 42, .12); background: #FFF6E0; }
.pb-kp-row.is-premium .pb-kp-name { padding-right: 70px; }
/* Slika profila kockasta (zaobljena) - kao u listi prevoznika. */
.pb-prof-avwrap { margin: 0 auto; border-radius: 24px; }
.pb-prof-avwrap .pub-car-check { right: -7px; bottom: -7px; width: 26px; height: 26px; }
.pb-prof-avwrap .pub-car-check .mud-icon-root { font-size: 22px; }
@media (min-width: 600px) {
    .pb-prof.is-company .pb-prof-avwrap { margin: 0; }
}

/* Premium (rucno): isti okvir i kvacica kao Verifikovan, ali u zlatnoj boji. */
.pub-car-avwrap.is-premium > span:first-child { box-shadow: 0 0 0 2px var(--mud-palette-surface), 0 0 0 3.5px rgba(233, 162, 31, .75), 0 4px 12px -4px rgba(15, 26, 61, .35) !important; }
.pub-car-avwrap.is-premium .pub-car-check { color: #E9A21F; }

/* Premium na naslovnoj: isti redovi kao u pretrazi; smena strana uz kratku animaciju. */
.pub-prem-list { margin-top: 14px; }
.pub-prem-list.is-rotating { animation: pubPremIn .5s ease; }
@media (min-width: 1100px) {
    .pub-prem-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Prevoznici: prekidac Ture / Firme iz mesta (sa brojem) i kratko objasnjenje ispod. */
.pb-view-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; margin: 4px 0 6px; border-radius: 14px; background: #E3ECFC; border: 1px solid rgba(26, 95, 214, .18); }
.pb-view-switch button { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 40px; border: 0; border-radius: 11px; background: transparent; cursor: pointer;
                         font: 700 14px Inter, sans-serif; color: var(--mud-palette-text-secondary); transition: background .15s, color .15s, box-shadow .15s; }
.pb-view-switch button .mud-icon-root { font-size: 18px; }
.pb-view-switch button em { font-style: normal; min-width: 22px; padding: 1px 7px; border-radius: 99px; font-size: 12px; background: rgba(15, 23, 42, .08); }
.pb-view-switch button:not(.is-on) { color: #1A4FB0; }
.pb-view-switch button:not(.is-on) em { background: rgba(26, 95, 214, .12); }
.pb-view-switch button.is-on { background: linear-gradient(135deg, #2F6BE0, #1A4FC4); color: #fff; box-shadow: 0 4px 12px -3px rgba(26, 79, 196, .55); }
.pb-view-switch button.is-on em { background: rgba(255, 255, 255, .22); color: #fff; }
.pb-view-switch button.is-empty:not(.is-on) { opacity: .55; }
.pb-view-info { display: flex; align-items: center; gap: 6px; margin: 0 0 12px; font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-view-info .mud-icon-root { font-size: 15px; flex: none; }
.pb-view-empty { margin: 0 0 14px; padding: 14px; border-radius: 14px; border: 1px dashed var(--mud-palette-lines-default); font-size: 13.5px; color: var(--mud-palette-text-secondary); text-align: center; }
@media (min-width: 600px) {
    .pb-view-switch { display: inline-grid; min-width: 380px; }
}

/* Profil na telefonu: slika levo, desno ime i oznake (vrsta, grad); sve ostalo (usluge, opis, ocene...) ispod, preko cele sirine. */
.pb-prof h1 { overflow-wrap: anywhere; }
@media (max-width: 599px) {
    .pb-prof { display: grid; grid-template-columns: 92px minmax(0, 1fr); align-items: center; gap: 6px 14px; padding: 18px 16px 16px; text-align: left; }
    .pb-prof > *, .pb-prof-main > *, .pb-prof-side > * { grid-column: 1 / -1; }
    .pb-prof .pb-prof-avwrap { grid-column: 1; grid-row: 1 / span 2; margin: 0; align-self: start; }
    .pb-prof .pb-prof-av { width: 92px; height: 92px; border-radius: 20px; font-size: 30px; }
    .pb-prof h1 { grid-column: 2; grid-row: 1; align-self: end; margin: 0; font-size: 20px; line-height: 1.2; }
    .pb-prof .pb-prof-tags { grid-column: 2; grid-row: 2; align-self: start; justify-content: flex-start; gap: 6px; }
    .pb-prof .pb-prof-tags > * { height: 24px; font-size: 11.5px !important; }
    .pb-prof .pb-prof-services { justify-content: flex-start; margin: 10px 0 0; }
    .pb-prof .pb-prof-about { text-align: left; margin: 8px 0 0; }
    .pb-prof .pb-kind-note { margin: 6px 0 0; max-width: none; }
    .pb-prof .pb-prof-stats { margin: 10px auto 0; }
}

/* Tura na profilu: kartica sa rutom kao linija od tacke do tacke (odakle plava, dokle crvena), datum desno, ispod vozilo i dugme. */
.pb-prof-trips-list { display: flex; flex-direction: column; gap: 10px; }
.pb-tr { padding: 14px; border-radius: 16px; background: var(--mud-palette-background); border: 1px solid var(--mud-palette-lines-default); }
.pb-tr-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.pb-tr-route { position: relative; min-width: 0; flex: 1; display: flex; flex-direction: column; gap: 16px; padding-left: 22px; }
.pb-tr-route::before { content: ''; position: absolute; left: 6px; top: 10px; bottom: 10px; border-left: 2px dashed rgba(26, 95, 214, .35); }
.pb-tr-stop { position: relative; min-width: 0; }
.pb-tr-stop i { position: absolute; left: -22px; top: 50%; width: 14px; height: 14px; margin-top: -7px; border-radius: 50%; box-sizing: border-box; background: var(--mud-palette-surface); }
.pb-tr-stop.is-from i { border: 4px solid var(--mud-palette-primary); }
.pb-tr-stop.is-to i { background: var(--pb-red); box-shadow: 0 0 0 3px rgba(229, 35, 42, .15); }
.pb-tr-stop.is-via i { left: -19px; width: 8px; height: 8px; margin-top: -4px; background: rgba(26, 95, 214, .45); }
.pb-tr-stop b { display: block; font: 800 16px/1.25 Manrope, Inter, sans-serif; color: var(--mud-palette-text-primary); overflow-wrap: anywhere; }
.pb-tr-stop small { display: block; font-size: 12.5px; color: var(--mud-palette-text-secondary); overflow-wrap: anywhere; }
.pb-tr-when { flex: none; text-align: right; padding: 6px 10px; border-radius: 12px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); }
.pb-tr-when b { display: block; font-size: 13.5px; color: var(--mud-palette-primary); white-space: nowrap; }
.pb-tr-when small { display: flex; align-items: center; justify-content: flex-end; gap: 3px; margin-top: 2px; font-size: 13px; font-weight: 700; color: var(--mud-palette-text-primary); }
.pb-tr-when small .mud-icon-root { font-size: 14px; color: var(--mud-palette-text-secondary); }
.pb-tr-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--mud-palette-lines-default); }
.pb-tr-veh { display: inline-flex; align-items: center; gap: 5px; min-width: 0; font-size: 13px; line-height: 1.35; color: var(--mud-palette-text-secondary); }
.pb-tr-veh .mud-icon-root { flex: none; font-size: 16px; }
/* Isto kao dugmad na profilu firme (KP): ravno, nisko, ikonica u liniji. */
.pb-tr-ask { flex: none; display: inline-flex; align-items: center; gap: 7px; height: 38px; padding: 0 14px; border: 0; border-radius: 8px; cursor: pointer;
             font: 600 14px Inter, sans-serif; color: #fff; background: #2F6FD3; transition: background .15s; }
.pb-tr-ask .mud-icon-root { font-size: 18px; }
.pb-tr-ask:hover { background: #255FBA; }
@media (min-width: 600px) {
    .pb-prof-trips-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Profil firme: dugmad kao na KP - ravna, niska, ikonica u liniji: plavo "Posaljite PB poruku" i tamno "Telefon" (odmah nudi poziv). */
.pb-prof-cta { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; width: 100%; max-width: 520px; margin: 14px auto 2px; }
.pb-prof-cta.is-single { grid-template-columns: minmax(0, 1fr); }
.pb-prof-msg, .pb-prof-phone { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 42px; padding: 0 16px; border: 0; border-radius: 8px;
                               cursor: pointer; font: 600 14.5px Inter, sans-serif; text-decoration: none; white-space: nowrap; transition: background .15s; }
.pb-prof-msg { color: #fff; background: #2F6FD3; }
.pb-prof-msg:hover { background: #255FBA; }
.pb-prof-phone { color: #fff; background: #2B3147; }
.pb-prof-phone:hover { background: #222738; }
.pb-prof-msg .mud-icon-root, .pb-prof-phone .mud-icon-root { font-size: 19px; }
.pb-prof-phone .mud-icon-root { color: #4ADE80; }
@media (min-width: 600px) {
    .pb-prof.is-company .pb-prof-cta { margin: 12px 0 0; max-width: 440px; }
}

/* Srce "omiljeni prevoznik": u listi pored strelice, na profilu gore desno (sa tekstom). */
.pb-fav { display: inline-flex; align-items: center; justify-content: center; gap: 4px; width: 34px; height: 34px; padding: 0; border: 0; border-radius: 50%;
          background: transparent; color: var(--mud-palette-text-secondary); cursor: pointer; transition: color .15s, background .15s, transform .15s; }
.pb-fav .mud-icon-root { font-size: 22px; }
.pb-fav:hover { background: rgba(229, 35, 42, .08); color: var(--pb-red); }
.pb-fav.is-on { color: var(--pb-red); }
.pb-fav:active { transform: scale(.9); }
.pb-kp-foot-end { display: inline-flex; align-items: center; gap: 4px; }
.pb-prof { position: relative; }
.pb-prof-fav { position: absolute; top: 12px; right: 12px; width: auto; height: 34px; padding: 0 12px 0 9px; border-radius: 99px; z-index: 1;
               background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); font: 600 13px Inter, sans-serif; }
.pb-prof-fav .mud-icon-root { font-size: 19px; }
.pb-prof-fav.is-on { border-color: rgba(229, 35, 42, .35); background: rgba(229, 35, 42, .06); }
@media (max-width: 599px) {
    /* Telefon: samo srce u krugu (bez teksta) - naziv ima mesta i ne podvlaci se pod dugme. */
    .pb-prof .pb-prof-fav { grid-column: auto; width: 38px; height: 38px; padding: 0; justify-content: center; top: 10px; right: 10px; }
    .pb-prof .pb-prof-fav span { display: none; }
    .pb-prof .pb-prof-fav .mud-icon-root { font-size: 21px; }
    .pb-prof h1 { padding-right: 40px; }
}

/* Javni sajt: zaglavlje se pri skrolovanju na dole skloni, na gore se vrati (pb.js - pbHeadScroll). */
.pub-head { transition: transform .25s ease, background-color .2s, border-color .2s, box-shadow .2s; will-change: transform; }
html.pub-head-hide .pub-head { transform: translateY(-100%); box-shadow: none; }
.pub.is-home .pub-head { transition: transform .25s ease, background-color .2s, border-color .2s, box-shadow .2s; }

/* Dijalog sa izborom (npr. Registracija / Prijava): X gore desno, dva dugmeta jednake sirine dole. */
.pb-dialog-title { position: relative; }
.pb-dialog-x { margin-left: auto !important; margin-right: -6px !important; }
.pb-dialog-split { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; width: 100%; padding: 0 8px 8px; }
.pb-dialog-split > .mud-button-root { margin: 0 !important; height: 42px; border-radius: 10px; text-transform: none; font-weight: 700; }

/* Strane firmi (Prevoznici): telefon - Prethodna / Strana X od N / Sledeca; racunar - brojevi strana. */
.pb-pager { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 18px 0 6px; }
.pb-pager button { display: inline-flex; align-items: center; justify-content: center; gap: 2px; height: 40px; border-radius: 10px; border: 1px solid rgba(26, 95, 214, .25);
                   background: var(--mud-palette-surface); color: var(--mud-palette-primary); font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.pb-pager button:disabled { opacity: .4; cursor: default; }
.pb-pg-nav { padding: 0 12px 0 8px; }
.pb-pg-nav:last-child { padding: 0 8px 0 12px; }
.pb-pg-num, .pb-pg-gap { display: none !important; }
.pb-pg-lbl { font-size: 14px; font-weight: 700; color: var(--mud-palette-text-secondary); }
@media (min-width: 600px) {
    .pb-pager { justify-content: center; gap: 6px; }
    .pb-pg-num { display: inline-flex !important; min-width: 40px; padding: 0 10px; }
    .pb-pg-num.is-on { background: linear-gradient(135deg, #2F6BE0, #1A4FC4); border-color: transparent; color: #fff; }
    .pb-pg-gap { display: inline-block !important; padding: 0 4px; color: var(--mud-palette-text-secondary); }
    .pb-pg-lbl { display: none; }
}

/* Vozilo na turi i u spisku vozila na profilu: slika vozila (ako postoji). */
.pb-tr-veh-img { flex: none; width: 44px; height: 32px; border-radius: 7px; object-fit: cover; border: 1px solid var(--mud-palette-lines-default); }
.pub-veh-img { flex: none; width: 56px; height: 40px; border-radius: 8px; object-fit: cover; border: 1px solid var(--mud-palette-lines-default); }

/* Pocetna firme: pregledi profila (brojevi i stubici za 30 dana). */
.pb-views { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.pb-views > div { display: flex; flex-direction: column; align-items: center; padding: 10px 4px; border-radius: 12px; background: var(--pb-blue-soft, #EAF1FE); }
.pb-views b { font-size: 22px; line-height: 1.1; color: var(--mud-palette-primary); }
.pb-views small { font-size: 12px; color: var(--mud-palette-text-secondary); }
.pb-views-bars { display: flex; align-items: flex-end; gap: 2px; height: 44px; margin: 12px 0 6px; }
.pb-views-bars i { flex: 1; min-width: 2px; border-radius: 3px 3px 0 0; background: rgba(26, 95, 214, .55); }
.pb-views-note { display: block; font-size: 12px; color: var(--mud-palette-text-secondary); }

/* Profil: prevozi i pregledi u redu sa ocenama i link "Posalji mejl" samo na telefonu. */
.pb-prof-facts .is-mail { display: none; align-items: center; gap: 5px; font-weight: 600; color: var(--mud-palette-primary); text-decoration: none; }
.pb-prof-stats > .is-extra { display: none !important; }
.pb-ellip { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* Telefon: jedan red brojeva bez okvira (ocene, prevozi, pregledi) sa tankim crtama izmedju, ispod samo "na sajtu od"; mejl u jednom redu. */
@media (max-width: 599px) {
    .pb-prof-page .pb-prof-stats, .pb-prof .pb-prof-stats, .pb-prof-stats { display: grid !important; grid-template-columns: none !important; grid-auto-columns: minmax(0, 1fr); grid-auto-flow: column; gap: 0 !important;
        width: 100%; max-width: none !important; margin: 12px 0 0 !important; padding: 10px 0 !important; border-top: 1px solid rgba(15, 23, 42, .10) !important; border-bottom: 1px solid rgba(15, 23, 42, .10) !important; }
    .pb-prof-page .pb-prof-stats > div, .pb-prof-stats > div { flex-direction: row !important; justify-content: center; align-items: center; gap: 6px !important; padding: 0 4px !important; border: 0 !important; background: transparent !important; }
    .pb-prof-page .pb-prof-stats > div + div, .pb-prof .pb-prof-stats > div + div, .pb-prof-stats > div + div { border-left: 1px solid rgba(15, 23, 42, .10) !important; }
    .pb-prof-stats > .is-extra { display: flex !important; }
    .pb-prof-stats .mud-icon-root { font-size: 18px; }
    .pb-prof-stats b { font-size: 16px; line-height: 1.2; }
    .pb-prof-stats .is-extra b { color: var(--mud-palette-text-primary); }
    .pb-prof-stats small { display: none !important; }
    .pb-prof-facts { margin-top: 8px; font-size: 12.5px; }
    .pb-prof-facts .is-dup { display: none; }
    .pb-prof-contact { justify-content: center; margin-top: 8px; font-size: 13px; }
    .pb-prof-contact a[href^="mailto:"] { display: none !important; }
    .pb-prof-facts .is-mail { display: inline-flex !important; }
}

/* Poruke: iskljuceno dugme Posalji (prazno polje) - puna boja, da se pozadina sa ikonicama ne vidi kroz njega. */
.pb-chat-send .mud-icon-button.mud-button-filled:disabled, .pb-chat-send .mud-icon-button.mud-disabled { background: #DCE1EA !important; color: #8A94A6 !important; opacity: 1 !important; box-shadow: none !important; }

/* Poruke: slika druge strane u listi i zaglavlju; kvacice - poslato (jedna), isporuceno (dve), procitano (dve svetloplave). */
.pb-chat-av { flex: none; width: 40px; height: 40px; border-radius: 50%; overflow: hidden; display: inline-flex; align-items: center; justify-content: center;
              background: var(--mud-palette-primary); color: #fff; font-weight: 700; font-size: 16px; }
.pb-chat-av img { width: 100%; height: 100%; object-fit: cover; }
.pb-chat-av.is-head { width: 36px; height: 36px; font-size: 14px; }
.pb-tick { font-size: 15px !important; margin-left: 3px; vertical-align: -3px; }
.pb-msg.is-mine .pb-tick.is-sent, .pb-msg.is-mine .pb-tick.is-delivered { color: rgba(255, 255, 255, .78); }
.pb-msg.is-mine .pb-tick.is-read { color: #8FE3FF; }

/* Poruke: obavestenja administracije ("PickupBooker", bez odgovora). */
.pb-chat-av.is-pb { background: #fff; border: 1px solid var(--mud-palette-lines-default); }
.pb-chat-av.is-pb img { object-fit: contain; padding: 5px; }
.pb-msg.is-pb { max-width: 92%; align-self: flex-start; }
.pb-msg.is-pb b { display: block; margin-bottom: 3px; font-size: 14.5px; }
.pb-bc-aud { display: flex; flex-wrap: wrap; gap: 0 18px; }

/* Prazno stanje (EmptyState) - isto svuda: ikonica (bez kruga), kratak naslov, jedna recenica, dugme. */
.pb-empty-state { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 28px 16px 22px; text-align: center; color: var(--mud-palette-text-secondary); }
.pb-empty-ico { display: inline-flex; margin-bottom: 2px; }
.pb-empty-ico .mud-icon-root { font-size: 40px; color: var(--mud-palette-primary); opacity: .6; }
.pb-empty-state b { color: var(--mud-palette-text-primary); font-size: 15.5px; }
.pb-empty-state small { max-width: 340px; font-size: 13.5px; line-height: 1.45; }
.pb-empty-act { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 10px; }
.pb-empty-state.is-compact { padding: 14px 10px 10px; gap: 4px; }
.pb-empty-state.is-compact .pb-empty-ico .mud-icon-root { font-size: 28px; }
.pb-empty-state.is-compact b { font-size: 14px; }
.pb-empty-state.is-compact small { font-size: 12.5px; }

/* Poruke: ime i slika prevoznika u zaglavlju vode na njegov profil. */
.pb-chat-head a.pb-chat-name { font-size: inherit; color: var(--mud-palette-text-primary); }
.pb-chat-prof { display: inline-flex; flex: none; }

/* Telefon: otvoren razgovor - bez donjeg menija (vraca se u listi poruka), polje za poruku do dna ekrana. */
@media (max-width: 599px) {
    body:has(.pb-chat.has-thread) .tabbar { display: none !important; }
    .pb-chat.has-thread .pb-chat-send { padding-bottom: calc(10px + env(safe-area-inset-bottom)); }
    .pb-chat.has-thread .pb-chat-closed { padding-bottom: calc(16px + env(safe-area-inset-bottom)); }
    /* Strana ispod razgovora se ne skroluje (inace ispod ostaje prazno belo). */
    html:has(.pb-chat.has-thread), body:has(.pb-chat.has-thread) { overflow: hidden; height: 100%; overscroll-behavior: none; }
    .pb-chat.has-thread .pb-chat-messages { overscroll-behavior: contain; }
}

/* Poruke: izbor vise razgovora - Odustani / Obrisi izabrane, kvadratici levo. */
.pb-chat-title-act { display: inline-flex; align-items: center; gap: 14px; }
.pb-sel-cancel { border: 0; background: transparent; padding: 4px 2px; font: 600 14px Inter, sans-serif; color: var(--mud-palette-primary); cursor: pointer; }
/* "Izaberi" kao zasebno dugme (kapsula), da se ne stapa sa "Kako se koristi". */
.pb-sel-start { display: inline-flex; align-items: center; gap: 5px; height: 32px; padding: 0 12px 0 9px; border: 1px solid var(--mud-palette-lines-default); border-radius: 99px;
                background: var(--mud-palette-surface); color: var(--mud-palette-text-primary); font: 600 13px Inter, sans-serif; cursor: pointer; }
.pb-sel-start .mud-icon-root { font-size: 18px; color: var(--mud-palette-primary); }
.pb-sel-cancel { color: var(--mud-palette-text-secondary); font-size: 15px; }
.pb-chat-title.is-select { display: flex; align-items: center; justify-content: space-between; }
.pb-sel-delete { display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 14px; border: 0; border-radius: 10px; background: #FDECEC; color: #C62828;
                 font: 700 14px Inter, sans-serif; cursor: pointer; }
.pb-sel-delete .mud-icon-root { font-size: 19px; }
.pb-sel-delete:disabled { opacity: .45; cursor: default; }
.pb-chat-item.is-pick { cursor: pointer; user-select: none; }
.pb-chat-item.is-picked { background: rgba(26, 95, 214, .07); }
.pb-pick-box { flex: none; display: inline-flex; align-self: center; }
.pb-pick-box .mud-icon-root { font-size: 24px; color: var(--mud-palette-text-secondary); }
.pb-chat-item.is-picked .pb-pick-box .mud-icon-root { color: var(--mud-palette-primary); }
.pb-chat-item { -webkit-touch-callout: none; }

/* Zahtevi u aplikaciji prevoznika: kartica kao na javnoj strani; desno dole moja ponuda ili budzet i "Posalji ponudu". */
a.pub-req.is-app { text-decoration: none; color: inherit; margin-bottom: 12px; }
.pub-req-desc { font-size: 13px; color: var(--mud-palette-text-secondary); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pub-req-my, .pub-req-budget { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; }
.pub-req-my b, .pub-req-budget b { font-size: 15px; font-weight: 800; }
.pub-req-budget small { font-size: 12px; color: var(--mud-palette-text-secondary); }
.pub-req-go { display: inline-flex; align-items: center; gap: 4px; height: 32px; padding: 0 12px; border-radius: 10px; background: var(--mud-palette-primary); color: #fff;
              font-size: 13px; font-weight: 700; white-space: nowrap; }
.pub-req-budget + .pub-req-go { margin-left: 0; }
.pub-req-offers + .pub-req-go { margin-left: auto; }
.pb-list > a.pub-req.is-app { margin-bottom: 0; }
.pub-req.is-app .pub-req-foot { flex-wrap: wrap; row-gap: 8px; }

/* Telefon: razgovori u beloj kartici (i jedan razgovor ne izgleda izgubljeno na praznoj strani). */
@media (max-width: 599px) {
    .pb-chat-items { padding: 2px 14px; border-radius: 16px; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); box-shadow: 0 2px 10px -6px rgba(15, 23, 42, .18); }
    .pb-chat-items .pb-chat-item { padding-left: 0; padding-right: 0; }
}

/* Objava (javno): Posalji ponudu / Posalji PB poruku jedno pored drugog; na telefonu deo sa dugmadima bez okvira. */
.pb-prof-cta.is-pair { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); max-width: none; margin: 0; }
.pb-prof-cta.is-pair .pb-prof-phone .mud-icon-root { color: #9CC2FF; }
@media (max-width: 599px) {
    .pb-prof-cta.is-pair > button { padding: 0 8px; gap: 6px; font-size: 13.5px; }
    .pb-prof-cta.is-pair .mud-icon-root { font-size: 17px; }
}
@media (max-width: 860px) {
    .pub-ad-side { padding: 4px 0 0 !important; border: 0; background: transparent; }
}

.pb-prof-cta.is-pair > button:disabled { opacity: .5; cursor: default; }

/* Cela aplikacija i sajt: bez "gumenog" povlacenja preko vrha i dna strane (na iPhone-u se inace vidi prazna pozadina iznad / ispod). */
html, body { overscroll-behavior-y: none; }

/* Objavi ponovo: stari datum je prosao. */
.pb-trip-past { display: flex; align-items: center; gap: 6px; margin-top: 6px; padding: 7px 10px; border-radius: 10px; background: #FFF4E5; color: #B45309; font-size: 13px; font-weight: 600; }
.pb-hide-row.is-trip { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; }

/* Ucitavanje liste (pretraga i dopuna pri skrolu) */
.pb-list-loader { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 34px 12px; color: var(--mud-palette-text-secondary); font-size: 13.5px; font-weight: 600; }
.pb-list-loader.is-sm { flex-direction: row; justify-content: center; padding: 18px 12px 26px; gap: 10px; }
.pb-ll-spin { width: 34px; height: 34px; border-radius: 50%; border: 3px solid rgba(26, 95, 214, .15); border-top-color: var(--mud-palette-primary); border-right-color: var(--mud-palette-secondary); animation: pb-ll-rot .8s linear infinite; }
.pb-list-loader.is-sm .pb-ll-spin { width: 22px; height: 22px; border-width: 2.5px; }
@keyframes pb-ll-rot { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .pb-ll-spin { animation-duration: 2s; } }

/* Prekidac Prevoznici / Ture: naziv i ispod sitno mesto (ili "na ovoj ruti") */
.pb-view-switch button .pb-vs-lbl { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; line-height: 1.15; }
.pb-view-switch button .pb-vs-lbl small { max-width: 110px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10.5px; font-weight: 600; opacity: .8; }

/* Nova pretraga preko starih rezultata: loader lebdi, ispod zatamnjeno (bez skakanja strane) */
.pb-res-busy { position: relative; height: 0; z-index: 5; }
.pb-res-busy .pb-list-loader { position: absolute; left: 50%; top: 8px; transform: translateX(-50%); padding: 8px 16px; border-radius: 99px; background: var(--mud-palette-surface); box-shadow: 0 6px 20px -6px rgba(15, 23, 42, .3); white-space: nowrap; }
.pb-res-busy ~ * { opacity: .4; pointer-events: none; transition: opacity .15s; }

/* Telefon, povlacenje preko dna: pozadina iste boje kao dno strane (bez sive praznine) */
@media (max-width: 599px) {
    html:has(.lg-page), html:has(.lg-page) body, html:has(.pb-auth-page), html:has(.pb-auth-page) body { background: var(--mud-palette-surface); }
    html.pb-at-bottom:has(.pub-foot), html.pb-at-bottom:has(.pub-foot) body { background: #12163A; }
}

/* Registracija, izbor Firma / Fizicko lice: ispod naziva zeleno "3 meseca besplatno" */
.pb-seg.pb-kind button .pb-kind-lbl { display: flex; flex-direction: column; align-items: flex-start; line-height: 1.2; }
.pb-seg.pb-kind button .pb-kind-lbl em { font-style: normal; font-size: 11.5px; font-weight: 700; color: #12A150; margin-top: 2px; }

/* Naziv PickupBooker svuda isto: "Pickup" u boji teksta (crno na svetlom, belo na tamnom), "Booker" crveno; font za znak */
.pb-wm { font-family: 'Poppins', 'Manrope', 'Inter', sans-serif; font-weight: 700; letter-spacing: -.02em; }
.pb-wm em { font-style: normal; color: #E5232A; }
.pb-dark .pb-wm em, .pub-foot .pb-wm em, .pb-auth-brand .pb-wm em, .pb-wm.is-dark em { color: #FF4D52; }

/* Linkovi u tekstu potvrde (uslovi, politika privatnosti) - vide se kao linkovi */
.mud-checkbox a { color: var(--mud-palette-primary); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }

/* Profil firme: srce "sacuvaj" - na racunaru gore desno sa tekstom, na telefonu kvadrat u redu sa "Posaljite PB poruku" / "Telefon". */
.pb-prof-fav-inline { display: none !important; }
@media (max-width: 599px) {
    .pb-prof.has-cta > .pb-prof-fav { display: none; }
    .pb-prof.has-cta h1 { padding-right: 0; }
    .pb-prof.has-cta .pb-prof-cta { grid-template-columns: minmax(0, 1fr); grid-auto-flow: column; grid-auto-columns: auto; }
    .pb-prof-fav-inline { display: inline-flex !important; align-items: center; justify-content: center; width: 42px; height: 42px; padding: 0; border-radius: 8px;
                          border: 1px solid var(--mud-palette-lines-default); background: var(--mud-palette-surface); }
    .pb-prof-fav-inline { order: 3; }
    .pb-prof-fav-inline .mud-icon-root { font-size: 22px; }
    .pb-prof-fav-inline.is-on { border-color: rgba(229, 35, 42, .35); background: rgba(229, 35, 42, .06); }
}

/* Dijalog: bez zakljucavanja skrola (na telefonu je vracalo stranu na vrh) - strana ostaje gde je bila. */
body.scroll-locked, body.scroll-locked-no-padding { overflow: visible !important; }

/* Plutajuca traka na sajtu: Odjava crvenom bojom */
.pub-tabbar .tab.is-logout, .pub-tabbar .tab.is-logout .mud-icon-root { color: #FF5A5F !important; }

/* Kartica prevoznika u aplikaciji: dugme "Posalji upit" u donjem redu, pored srca */
.pb-kp-ask { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 14px; margin-right: 4px; border: 0; border-radius: 10px; cursor: pointer;
             background: var(--mud-palette-primary); color: #fff; font: 700 13px Inter, sans-serif; box-shadow: 0 4px 12px -4px rgba(26, 95, 214, .5); }
.pb-kp-ask .mud-icon-root { font-size: 16px; }
.pb-kp-ask:active { transform: scale(.97); }

/* Pretraga: vreme bez natpisa - poravnato sa poljem datuma (dole) */
.pb-hq-when .pb-srch-time { align-self: flex-end; }

/* Liste prevoznika: oznaka "Premium partner" viri iznad kartice - dodatni razmak samo iznad tih kartica (ostale ostaju zbijene) */
@media (max-width: 599px) {
    .pb-kp-list > .pb-kp-row.is-premium { margin-top: 8px; }
    .pub-grid > :has(> .pub-car-tier) { margin-top: 10px; }
}

/* Slika prevoznika uvek prati oblik okvira (krug / zaobljen kvadrat) - iPhone ponekad ne odsece sliku samim okvirom. */
.pb-ph-ring img, .pb-chat-av img { border-radius: inherit; }

/* Donja traka: broj neprocitanih poruka na kartici "Poruke" */
.tabbar .tab .tab-badge { position: absolute; top: 3px; left: calc(50% + 6px); min-width: 18px; height: 18px; padding: 0 5px; box-sizing: border-box; border-radius: 99px;
                          display: inline-flex; align-items: center; justify-content: center; color: #fff; font: 700 11px/1 Inter, sans-serif; font-style: normal; text-shadow: 0 1px 1px rgba(120, 0, 0, .45);
                          background: radial-gradient(circle at 35% 28%, #FF8A8E 0%, #F23B41 38%, #C8141B 100%); /* 3D: svetlo gore levo, tamnije dole */
                          box-shadow: inset 0 1px 1px rgba(255, 255, 255, .55), inset 0 -2px 3px rgba(110, 0, 4, .35), 0 3px 8px -2px rgba(200, 20, 27, .7); pointer-events: none; }

/* Poruke: obavestenje da je prepiska zatvorena - kao i ranije, samo malo istaknuto (tamniji tekst, plava ikonica, blaga svetla podloga) */
.pb-chat-closed-box { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border-radius: 99px; background: rgba(26, 95, 214, .1); border: 1px solid rgba(26, 95, 214, .45);
                      color: var(--mud-palette-text-primary); font-weight: 600; }
.pb-dark .pb-chat-closed-box { background: rgba(110, 160, 255, .14); }
.pb-chat-closed-box .mud-icon-root { color: var(--mud-palette-primary); }

/* Slike svuda kao zaobljen kvadrat (kao kartice prevoznika): poruke (lista i zaglavlje) i "Vise" */
.pb-chat-av { border-radius: 10px !important; }
.pb-chat-av.is-head { border-radius: 9px !important; }
.pb-chat-av.is-pb { border-radius: 10px !important; }
.pb-chat-avwrap { border-radius: 10px; }
.pb-chat-avwrap .pub-car-check { right: -5px; bottom: -5px; width: 17px; height: 17px; }
.pb-chat-avwrap .pub-car-check .mud-icon-root { font-size: 15px; }
.pb-more-user .pb-more-av { border-radius: 22px !important; }
.pb-more-user .pb-more-av img { border-radius: inherit; }
.pb-av-bg { display: block; width: 100%; height: 100%; border-radius: inherit; background-size: cover; background-position: center; background-repeat: no-repeat; }

/* Podesavanje profila: dugmad za sliku u jednom redu, bez velikih slova */
.pb-photo-btn { white-space: nowrap; text-transform: none !important; font-weight: 600 !important; }

/* Poruke: slika sagovornika = ista kao na karticama prevoznika (pb-kp-av sa prstenom), samo manja */
.pb-kp-av.pb-chat-sm { width: 48px; height: 48px; border-radius: 12px; font-size: 16px; }
.pb-kp-av.pb-chat-sm.is-head { width: 44px; height: 44px; border-radius: 11px; font-size: 15px; }
.pb-chat-avwrap { border-radius: 12px; }
/* Telefon: pravilo za linkove u zaglavlju razgovora (skracivanje dugog imena, overflow: hidden) seklo je sliku, prsten i kvacicu - za sliku ne vazi */
.pb-chat-head a.pb-chat-prof { display: inline-flex; overflow: visible; max-width: none; white-space: normal; }
/* Zaglavlje razgovora: razmak izmedju slike i teksta; dugo ime u jednom redu sa "..." (ne gura dugmad) */
.pb-chat-head-txt { flex: 1; min-width: 0; margin-left: 6px; }
.pb-chat-head-txt b, .pb-chat-head-txt a, .pb-chat-head-txt > span { display: block; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Podesavanje profila: promena mejla (novi mejl -> kod -> potvrda) */
.pb-email-change-link { margin-top: 4px; font-size: 13px; }
.pb-email-change { padding: 12px 14px; border-radius: 14px; background: var(--pb-blue-soft, rgba(26, 95, 214, .08)); border: 1px solid rgba(26, 95, 214, .2); }
.pb-email-change-note { margin: 8px 0 4px; font-size: 13px; color: var(--mud-palette-text-secondary); line-height: 1.45; }
.pb-email-change-act { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px; margin-top: 8px; }
.pb-email-change-act .mud-button-root { text-transform: none !important; font-weight: 600; }
.pb-email-change-wait { margin-right: auto; font-size: 12.5px; color: var(--mud-palette-text-secondary); }

/* Telefon: ponude i ture na objavi kao karusel levo-desno - sledeca kartica viri da se vidi da ih ima jos */
@media (max-width: 599px) {
    .pb-carousel { display: flex !important; flex-direction: row !important; gap: 12px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory;
                   margin: 0 -16px; padding: 4px 16px 10px; scroll-padding: 0 16px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
    .pb-carousel::-webkit-scrollbar { display: none; }
    .pb-carousel > * { flex: 0 0 86%; max-width: 86%; min-width: 0; margin: 0 !important; scroll-snap-align: start; box-sizing: border-box; }
    .pb-car-dots { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 2px 0 14px; }
    .pb-car-dots button { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 99px; background: rgba(26, 95, 214, .25); transition: width .2s, background .2s; cursor: pointer; }
    .pb-car-dots button.on { width: 20px; background: var(--mud-palette-primary); }
    .pb-car-dots small { margin-left: 8px; font-size: 12px; color: var(--mud-palette-text-secondary); }
}

/* Slike prevoznika svuda kao zaobljen kvadrat (ponude, ture, kartice), ne krug */
.pb-offer-av, .pb-ontrip-av, .pub-car-av, .pb-booking-av-sm { border-radius: 12px !important; }
.pb-offer-av img, .pb-ontrip-av img, .pub-car-av img, .pb-booking-av-sm img { border-radius: inherit; }

/* Karusel ponuda / tura (telefon): manje natrpano - ime u jednom redu, cena ispod imena, poruka najvise 2 reda, manji razmaci */
@media (max-width: 599px) {
    .pb-carousel .pb-offer, .pb-carousel .pb-ontrip-card { padding: 14px; }
    .pb-carousel .pb-offer-av { width: 48px; height: 48px; }
    .pb-carousel .pb-offer-head { flex-wrap: wrap; row-gap: 6px; }
    .pb-carousel .pb-offer-head b, .pb-carousel .pb-ontrip-who b { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .pb-carousel .pb-offer-head > a.pb-prof-link + div + * { flex-basis: 100%; margin-left: 0 !important; font-size: 20px; }
    .pb-carousel .pb-offer-meta { margin-top: 6px; font-size: 12.5px; gap: 4px 12px; }
    .pb-carousel .pb-offer-msg { margin-top: 8px; padding: 8px 10px; font-size: 13px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
    .pb-carousel .pb-offer-btns { margin-top: 10px; gap: 6px; }
    .pb-carousel .pb-offer-btns .mud-button-root { min-height: 38px; font-size: 13.5px !important; }
    .pb-carousel .pb-offer-btns .is-accept { min-height: 42px; }
}

/* Idu tom rutom: kartica "Vidi sve" na kraju karusela, filteri cele liste, brojac umesto tackica */
.pb-ontrip-all { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; text-align: center; cursor: pointer; font: inherit;
                 border: 1.5px dashed rgba(26, 95, 214, .45) !important; background: var(--pb-blue-soft, rgba(26, 95, 214, .06)) !important; color: var(--mud-palette-primary); }
.pb-ontrip-all .mud-icon-root { font-size: 30px; }
.pb-ontrip-all b { font-size: 16px; }
.pb-ontrip-all span { font-size: 12.5px; color: var(--mud-palette-text-secondary); }
.pb-ontrip-filters { display: flex; flex-direction: column; gap: 8px; margin: 0 0 12px; }
.pb-ontrip-filters .pb-link-btn { align-self: flex-start; display: inline-flex; align-items: center; gap: 4px; font-size: 13px; }
.pb-chips-row { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
.pb-chips-row::-webkit-scrollbar { display: none; }
.pb-fchip { flex: none; padding: 6px 12px; border-radius: 99px; border: 1px solid var(--mud-palette-lines-default); background: var(--mud-palette-surface); font: 600 13px Inter, sans-serif; color: var(--mud-palette-text-primary); cursor: pointer; white-space: nowrap; }
.pb-fchip.is-on { background: var(--mud-palette-primary); border-color: var(--mud-palette-primary); color: #fff; }
.pb-car-count { font: 700 13px Inter, sans-serif; color: var(--mud-palette-text-secondary); }
.pb-car-count b { color: var(--mud-palette-primary); }
.pb-bk-row .pb-bk-cancel-full { grid-column: 1 / -1; }

/* Rezervacija: prevoznik - veca slika (zaobljen kvadrat), ime levo pa ispod "Firma / preduzetnik" */
.pb-booking-contact .pb-booking-who-sm { display: flex !important; align-items: center; gap: 12px !important; width: 100%; text-align: left; text-decoration: none; }
.pb-booking-contact .pb-booking-av-sm { width: 52px; height: 52px; font-size: 16px; }
.pb-booking-contact .pb-booking-who-txt { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 0; }
.pb-booking-contact .pb-booking-who-txt b { font-size: 15.5px; font-weight: 700; line-height: 1.25; overflow-wrap: anywhere; }
/* Rezervacija: dugmad dva po dva (Pozovi | PB poruka, Predlozi izmenu | Otkazi); ako je neparno - poslednje preko cele sirine */
.pb-bk-row.is-pairs { grid-template-columns: 1fr 1fr; }
.pb-bk-row.is-pairs > :last-child:nth-child(odd) { grid-column: 1 / -1; }
.pb-bk-row.is-pairs .mud-button-root { text-transform: none !important; font-weight: 700 !important; }
.pb-bk-cta { max-width: none; margin: 4px 0 8px; }

/* Detalji objave: telefon - ikonica u krugu, broj krupno, ispod sitno ko ga vidi */
.pb-own-phone { align-items: center !important; gap: 12px !important; padding: 12px 14px !important; background: var(--pb-blue-soft, rgba(26, 95, 214, .07)) !important; border: 1px solid rgba(26, 95, 214, .16); }
.pb-own-phone-ico { flex: none; width: 38px; height: 38px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; background: var(--mud-palette-primary); color: #fff; }
.pb-own-phone-ico .mud-icon-root { font-size: 20px; margin: 0 !important; }
.pb-own-phone-txt { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.pb-own-phone-txt small { font-size: 11.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--mud-palette-text-secondary); }
.pb-own-phone-txt b { font-size: 17px; font-weight: 800; letter-spacing: .01em; color: var(--mud-palette-text-primary); }
.pb-own-phone-txt em { display: inline-flex; align-items: center; gap: 4px; font-style: normal; font-size: 12px; color: var(--mud-palette-text-secondary); }
.pb-own-phone-txt em .mud-icon-root { font-size: 13px; margin: 0 !important; }
/* Predlozi izmenu i Otkazi: isto zaobljenje i visina kao Posaljite PB poruku i Telefon */
.pb-bk-row.is-pairs .mud-button-root { border-radius: 8px !important; min-height: 42px; height: 42px; font: 600 14.5px Inter, sans-serif !important; }

/* Poruke: sakriven kontakt / dogovor mimo aplikacije - sistemsko obavestenje na sredini (ne balon), i oznaka unutar poruke */
.pb-msg-sys { align-self: center; display: flex; align-items: flex-start; gap: 8px; max-width: 88%; padding: 9px 13px; border-radius: 12px;
              background: rgba(229, 35, 42, .07); border: 1px solid rgba(229, 35, 42, .25); color: #8A1C21; font-size: 13px; line-height: 1.4; }
.pb-msg-sys .mud-icon-root { flex: none; font-size: 17px; margin-top: 1px; color: #E5232A; }
.pb-msg-sys small { flex: none; align-self: flex-end; font-size: 10.5px; opacity: .7; white-space: nowrap; }
.pb-dark .pb-msg-sys { background: rgba(255, 90, 95, .1); border-color: rgba(255, 90, 95, .3); color: #FFB3B6; }
.pb-msg-hidden { display: inline-block; padding: 0 7px; margin: 0 2px; border-radius: 6px; background: rgba(229, 35, 42, .12); color: #B3171D; font-size: 12.5px; font-weight: 700; }
.pb-msg.is-mine .pb-msg-hidden { background: rgba(255, 255, 255, .22); color: #fff; }
/* Sistemsko obavestenje stoji na strani onoga ko je poslao (moje desno, tudje levo), oblika kao balon */
.pb-msg-sys { align-self: flex-start; max-width: 80%; border-radius: 16px 16px 16px 4px; }
.pb-msg-sys.is-mine { align-self: flex-end; border-radius: 16px 16px 4px 16px; }
/* Tekst preko cele sirine (vreme ispod desno, kao u balonu), manje providno */
.pb-msg-sys { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 8px; row-gap: 2px; background: #FCE3E4; border-color: rgba(229, 35, 42, .35); }
.pb-msg-sys > span { grid-column: 2; }
.pb-msg-sys > small { grid-column: 2; justify-self: end; }
.pb-dark .pb-msg-sys { background: #3A1E26; }
.pb-chat-preview-hidden { display: inline-flex; align-items: center; gap: 4px; color: #B3171D; font-style: italic; }
.pb-chat-preview-hidden .mud-icon-root { font-size: 15px; flex: none; }
/* Zaglavlje razgovora (prevoznik): slika i ime korisnika kao dugme "O korisniku" */
.pb-chat-prof-btn, .pb-chat-name-btn { padding: 0; border: 0; background: none; cursor: pointer; font: inherit; color: inherit; text-align: left; }
.pb-chat-name-btn { display: block; max-width: 100%; }
.pb-chat-name-btn b { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* Posle prelaza izmedju sajta i aplikacije: traka bez animacija i prelaza (ne trepne) */
.pb-tab-settle .tabbar, .pb-tab-settle .tabbar *, .pb-tab-settle .pub-head, .pb-tab-settle .pub-head * { transition: none !important; animation: none !important; }

/* Racunar: kartica-reklama u listi se ne prikazuje (samo telefon) - i kad se prozor rasiri posle ucitavanja. */
@media (min-width: 600px) {
    .pb-ad.is-card { display: none; }
}

/* Racunar, profil firme: "Sacuvaj" (srce) u redu sa "Posaljite PB poruku" / "Telefon" - gore desno je preklapalo ocene;
   mejl u bocnom delu prelazi u drugi red umesto da izlazi iz okvira. */
@media (min-width: 600px) {
    .pb-prof.has-cta > .pb-prof-fav { display: none; }
    .pb-prof.has-cta .pb-prof-cta { grid-template-columns: minmax(0, 1fr); grid-auto-flow: column; grid-auto-columns: auto; }
    .pb-prof.has-cta .pb-prof-fav-inline { display: inline-flex !important; align-items: center; justify-content: center; order: 3; width: 44px; min-height: 42px; align-self: stretch; padding: 0;
        border-radius: 8px; border: 1px solid var(--mud-palette-lines-default); background: var(--mud-palette-surface); }
    .pb-prof.has-cta .pb-prof-fav-inline .mud-icon-root { font-size: 22px; }
    .pb-prof.has-cta .pb-prof-fav-inline.is-on { border-color: rgba(229, 35, 42, .35); background: rgba(229, 35, 42, .06); }
    .pb-prof.is-company .pb-prof-side { min-width: 0; }
    .pb-prof.is-company .pb-prof-contact a { max-width: 100%; min-width: 0; align-items: flex-start; }
    .pb-prof.is-company .pb-prof-contact .pb-ellip { white-space: normal; overflow-wrap: anywhere; }
}

/* Profilna slika / logo pri podesavanju firme: zaobljen kvadrat kao svuda (ne krug). */
.pb-verify-av { border-radius: 18px !important; }
.pb-verify-av img { border-radius: inherit; }

/* Profil prevoznika dok se ucitava: zauzima ekran (futer ostaje dole, bez treptanja). */
.pb-prof-wait { min-height: calc(100vh - 140px); min-height: calc(100dvh - 140px); }

/* O platformi unutar sajta (prijavljen): sadrzaj preko cele sirine; dok se ne ucita - visina ekrana (futer ne skoci). */
.pb-about-host { display: block; width: 100%; min-height: 100vh; }
.pb-about-host.is-ready { min-height: 0; }
.pub-main:has(> .pb-about-host) { max-width: none; padding: 0; }

/* Racunar, naslovna: "Nikad lakse do prevoza." u jednom redu. */
@media (min-width: 600px) {
    .pub-hero2 h1 { max-width: none; }
    .pub-hero2 h1 br { display: none; }
}

/* O platformi unutar sajta (racunar): ista bela pozadina do futera (bez svetloplave trake iznad futera). */
@media (min-width: 760px) {
    .pub.is-about, .pub.is-about .pub-main { background: #fff; }
}
