/* ==========================================================
   MRĄGOWO BUS • APEX 12.0 • PREMIUM UX SYSTEM
   Warstwa wizualna bez ingerencji w logikę modułów.
   ========================================================== */

:root{
  --mb12-bg:#03111b;
  --mb12-bg-2:#061a26;
  --mb12-surface:#082333;
  --mb12-surface-2:#0b2d3e;
  --mb12-surface-3:#0d3446;
  --mb12-card:rgba(8,35,51,.82);
  --mb12-card-solid:#082333;
  --mb12-border:rgba(104,205,244,.16);
  --mb12-border-strong:rgba(104,205,244,.28);
  --mb12-text:#eefaff;
  --mb12-muted:#8baab7;
  --mb12-muted-2:#668897;
  --mb12-accent:#27b7ee;
  --mb12-accent-2:#67e1b1;
  --mb12-danger:#ff8fa3;
  --mb12-warning:#ffdc79;
  --mb12-success:#70e3b3;
  --mb12-shadow:0 22px 60px rgba(0,0,0,.28);
  --mb12-shadow-soft:0 12px 34px rgba(0,0,0,.18);
  --mb12-radius-xs:9px;
  --mb12-radius-sm:12px;
  --mb12-radius:17px;
  --mb12-radius-lg:23px;
  --mb12-radius-xl:30px;
  --mb12-blur:18px;
  --mb12-topbar-h:66px;
  color-scheme:dark;
}

html[data-mb-theme="light"]{
  --mb12-bg:#f3f8fb;
  --mb12-bg-2:#e9f2f7;
  --mb12-surface:#ffffff;
  --mb12-surface-2:#f7fbfd;
  --mb12-surface-3:#edf6fa;
  --mb12-card:rgba(255,255,255,.88);
  --mb12-card-solid:#ffffff;
  --mb12-border:rgba(20,98,133,.12);
  --mb12-border-strong:rgba(20,98,133,.22);
  --mb12-text:#0b2330;
  --mb12-muted:#5f7986;
  --mb12-muted-2:#79909b;
  --mb12-accent:#098ec8;
  --mb12-accent-2:#1e9f75;
  --mb12-danger:#c5475e;
  --mb12-warning:#a36c00;
  --mb12-success:#14825d;
  --mb12-shadow:0 22px 60px rgba(25,72,92,.13);
  --mb12-shadow-soft:0 12px 34px rgba(25,72,92,.09);
  color-scheme:light;
}

html{scroll-behavior:smooth}
body.mb12-page{
  background:
    radial-gradient(circle at 10% -10%,rgba(39,183,238,.13),transparent 30%),
    radial-gradient(circle at 90% 0,rgba(103,225,177,.09),transparent 28%),
    var(--mb12-bg)!important;
  color:var(--mb12-text)!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  transition:background-color .24s ease,color .24s ease;
}
body.mb12-page *{box-sizing:border-box}
body.mb12-page ::selection{background:rgba(39,183,238,.28);color:var(--mb12-text)}
body.mb12-page::-webkit-scrollbar{width:10px;height:10px}
body.mb12-page::-webkit-scrollbar-track{background:transparent}
body.mb12-page::-webkit-scrollbar-thumb{background:rgba(105,177,207,.26);border-radius:999px;border:2px solid transparent;background-clip:padding-box}

body.mb12-page a,
body.mb12-page button,
body.mb12-page input,
body.mb12-page select,
body.mb12-page textarea{
  font:inherit;
}
body.mb12-page a,
body.mb12-page button{
  -webkit-tap-highlight-color:transparent;
}
body.mb12-page button,
body.mb12-page [role="button"],
body.mb12-page a{
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease,
    background-color .18s ease,
    color .18s ease,
    opacity .18s ease;
}
body.mb12-page button:not(:disabled):active,
body.mb12-page a:active{transform:translateY(1px) scale(.99)}
body.mb12-page button:focus-visible,
body.mb12-page a:focus-visible,
body.mb12-page input:focus-visible,
body.mb12-page textarea:focus-visible,
body.mb12-page select:focus-visible{
  outline:3px solid rgba(39,183,238,.25)!important;
  outline-offset:2px!important;
}

body.mb12-page input,
body.mb12-page textarea,
body.mb12-page select{
  background:color-mix(in srgb,var(--mb12-bg) 74%,var(--mb12-surface) 26%)!important;
  border-color:var(--mb12-border)!important;
  color:var(--mb12-text)!important;
  box-shadow:none!important;
}
body.mb12-page input::placeholder,
body.mb12-page textarea::placeholder{color:var(--mb12-muted-2)!important}
body.mb12-page input:hover,
body.mb12-page textarea:hover,
body.mb12-page select:hover{border-color:var(--mb12-border-strong)!important}
body.mb12-page input:focus,
body.mb12-page textarea:focus,
body.mb12-page select:focus{
  border-color:var(--mb12-accent)!important;
  box-shadow:0 0 0 3px rgba(39,183,238,.10)!important;
}

.mb12-theme-toggle,
.mb12-to-top,
.mb12-sidebar-toggle{
  position:fixed;
  z-index:9998;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border:1px solid var(--mb12-border-strong);
  border-radius:14px;
  background:color-mix(in srgb,var(--mb12-card-solid) 88%,transparent);
  color:var(--mb12-text);
  box-shadow:var(--mb12-shadow-soft);
  backdrop-filter:blur(var(--mb12-blur));
  -webkit-backdrop-filter:blur(var(--mb12-blur));
  cursor:pointer;
}
.mb12-theme-toggle{right:16px;bottom:16px}
.mb12-to-top{right:16px;bottom:68px;opacity:0;pointer-events:none;transform:translateY(6px)}
.mb12-to-top.show{opacity:1;pointer-events:auto;transform:none}
.mb12-sidebar-toggle{left:14px;bottom:16px;display:none}
.mb12-theme-toggle:hover,.mb12-to-top:hover,.mb12-sidebar-toggle:hover{
  transform:translateY(-2px);
  border-color:var(--mb12-accent);
}

.mb12-loading-line{
  position:fixed;left:0;top:0;height:2px;width:0;z-index:10000;
  background:linear-gradient(90deg,var(--mb12-accent),var(--mb12-accent-2));
  box-shadow:0 0 16px rgba(39,183,238,.55);
  transition:width .35s ease,opacity .25s ease;
  pointer-events:none;
}
.mb12-loading-line.active{width:78%}
.mb12-loading-line.done{width:100%;opacity:0}

body.mb12-page.mb12-enter{
  animation:mb12PageIn .34s ease both;
}
@keyframes mb12PageIn{
  from{opacity:.35;transform:translateY(4px)}
  to{opacity:1;transform:none}
}

/* ==========================================================
   BUSINESS DASHBOARD
   ========================================================== */

body.mb12-mode-business.business-os .bo-wrap{
  max-width:1500px!important;
  padding:18px!important;
}
body.mb12-mode-business .bo-top{
  position:sticky;
  top:10px;
  z-index:90;
  margin-bottom:14px!important;
  padding:10px 12px!important;
  border:1px solid var(--mb12-border)!important;
  border-radius:18px!important;
  background:color-mix(in srgb,var(--mb12-card-solid) 82%,transparent)!important;
  box-shadow:var(--mb12-shadow-soft)!important;
  backdrop-filter:blur(var(--mb12-blur));
}
body.mb12-mode-business .bo-brand span{
  font-weight:900!important;
  letter-spacing:-.02em;
}
body.mb12-mode-business .bo-shell{
  gap:14px!important;
  align-items:start!important;
}
body.mb12-mode-business .bo-sidebar{
  position:sticky;
  top:88px;
  border:1px solid var(--mb12-border)!important;
  border-radius:20px!important;
  background:color-mix(in srgb,var(--mb12-card-solid) 90%,transparent)!important;
  box-shadow:var(--mb12-shadow-soft)!important;
  overflow:hidden;
}
body.mb12-mode-business .bo-sidebar>label{
  padding:14px 14px 9px!important;
  color:var(--mb12-muted)!important;
  font-size:10px!important;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:900;
}
body.mb12-mode-business .bo-place-select{
  margin-top:7px!important;
  border-radius:12px!important;
}
body.mb12-mode-business .bo-nav{
  display:grid!important;
  gap:4px!important;
  padding:6px 8px 10px!important;
}
body.mb12-mode-business .bo-tab{
  width:100%!important;
  min-height:40px;
  border:1px solid transparent!important;
  border-radius:11px!important;
  background:transparent!important;
  color:var(--mb12-muted)!important;
  text-align:left!important;
  font-weight:800!important;
  padding:9px 10px!important;
}
body.mb12-mode-business .bo-tab:hover{
  background:rgba(39,183,238,.07)!important;
  border-color:var(--mb12-border)!important;
  color:var(--mb12-text)!important;
}
body.mb12-mode-business .bo-tab.active{
  background:linear-gradient(135deg,rgba(39,183,238,.18),rgba(103,225,177,.09))!important;
  border-color:rgba(39,183,238,.28)!important;
  color:var(--mb12-text)!important;
  box-shadow:inset 3px 0 0 var(--mb12-accent);
}
body.mb12-mode-business .bo-content{
  min-width:0;
}
body.mb12-mode-business .bo-card,
body.mb12-mode-business .bo-panel .sp107-card,
body.mb12-mode-business .bo-panel .hp110-editor,
body.mb12-mode-business .bo-panel .sh111-editor,
body.mb12-mode-business .bo-panel .ba113-card,
body.mb12-mode-business .bo-panel .lod109-card,
body.mb12-mode-business .bo-panel [class*="-card"]{
  border-color:var(--mb12-border)!important;
  box-shadow:var(--mb12-shadow-soft);
}
body.mb12-mode-business .bo-card{
  background:color-mix(in srgb,var(--mb12-card-solid) 94%,transparent)!important;
  border-radius:20px!important;
}
body.mb12-mode-business .bo-card h1,
body.mb12-mode-business .bo-card h2,
body.mb12-mode-business .bo-panel h1,
body.mb12-mode-business .bo-panel h2{
  letter-spacing:-.035em!important;
}
body.mb12-mode-business .bo-kicker{
  color:var(--mb12-accent)!important;
  font-weight:900!important;
  letter-spacing:.14em!important;
}
body.mb12-mode-business .bo-btn,
body.mb12-mode-business .bo-btn-secondary,
body.mb12-mode-business .sp107-btn,
body.mb12-mode-business .hp110-btn,
body.mb12-mode-business .sh111-btn{
  border-radius:11px!important;
}
body.mb12-mode-business .bo-btn{
  background:linear-gradient(135deg,var(--mb12-accent),#1798cf)!important;
  color:#00131c!important;
  border-color:transparent!important;
  box-shadow:0 8px 22px rgba(39,183,238,.16)!important;
}
body.mb12-mode-business .bo-btn-secondary{
  background:color-mix(in srgb,var(--mb12-surface-2) 82%,transparent)!important;
  border-color:var(--mb12-border)!important;
  color:var(--mb12-text)!important;
}
body.mb12-mode-business .bo-stat-grid>*{
  border-radius:15px!important;
  border:1px solid var(--mb12-border)!important;
  background:var(--mb12-surface-2)!important;
}

/* Branżowe moduły w panelu */
body.mb12-mode-business .sp107-hero,
body.mb12-mode-business .hp110-hero,
body.mb12-mode-business .sh111-hero,
body.mb12-mode-business .ba113-hero,
body.mb12-mode-business .lod109-hero,
body.mb12-mode-business [class$="-hero"][class*="sp"],
body.mb12-mode-business [class$="-hero"][class*="hp"],
body.mb12-mode-business [class$="-hero"][class*="sh"]{
  border-color:var(--mb12-border)!important;
  background:
    radial-gradient(circle at 10% 10%,rgba(39,183,238,.14),transparent 38%),
    linear-gradient(135deg,var(--mb12-surface-2),color-mix(in srgb,var(--mb12-surface-2) 84%,#153d38 16%))!important;
  box-shadow:var(--mb12-shadow-soft)!important;
}
body.mb12-mode-business .sp107-nav,
body.mb12-mode-business .hp110-tabs button,
body.mb12-mode-business .sh111-tabs button,
body.mb12-mode-business .ba113-period button{
  border-radius:10px!important;
}

/* ==========================================================
   PUBLIC BUSINESS PROFILE
   ========================================================== */

body.mb12-mode-public.business-public{
  background:
    radial-gradient(circle at 50% -10%,rgba(39,183,238,.12),transparent 34%),
    var(--mb12-bg)!important;
}
body.mb12-mode-public .bp-wrap{
  max-width:1240px!important;
  padding:18px!important;
}
body.mb12-mode-public .bp-nav{
  position:sticky;
  top:10px;
  z-index:80;
  padding:10px 12px!important;
  border:1px solid var(--mb12-border)!important;
  border-radius:17px!important;
  background:color-mix(in srgb,var(--mb12-card-solid) 82%,transparent)!important;
  box-shadow:var(--mb12-shadow-soft)!important;
  backdrop-filter:blur(var(--mb12-blur));
}
body.mb12-mode-public .bp-hero{
  border:1px solid var(--mb12-border)!important;
  border-radius:28px!important;
  overflow:hidden!important;
  box-shadow:var(--mb12-shadow)!important;
  background:var(--mb12-card-solid)!important;
}
body.mb12-mode-public .bp-hero-media:after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 24%,rgba(3,17,27,.74));
  pointer-events:none;
}
body.mb12-mode-public .bp-hero-copy{
  position:relative;
  z-index:2;
}
body.mb12-mode-public .bp-hero h1{
  letter-spacing:-.045em!important;
  text-wrap:balance;
}
body.mb12-mode-public .bp-pill{
  border-color:var(--mb12-border)!important;
  background:rgba(6,25,37,.68)!important;
  backdrop-filter:blur(12px);
}
html[data-mb-theme="light"] body.mb12-mode-public .bp-pill{
  background:rgba(255,255,255,.72)!important;
}
body.mb12-mode-public .bp-section{
  margin-top:18px!important;
}
body.mb12-mode-public .bp-card,
body.mb12-mode-public .bp-menu-item,
body.mb12-mode-public .bp-file{
  border-color:var(--mb12-border)!important;
  border-radius:18px!important;
  box-shadow:var(--mb12-shadow-soft)!important;
}
body.mb12-mode-public .bp-btn{
  border-radius:11px!important;
}
body.mb12-mode-public .bp-btn:not(.alt){
  background:linear-gradient(135deg,var(--mb12-accent),#1594cd)!important;
  color:#00131c!important;
}

/* ==========================================================
   CUSTOMER CENTER
   ========================================================== */

body.mb12-mode-customer.cc112-page .cc112-wrap{
  max-width:1240px!important;
}
body.mb12-mode-customer .cc112-nav{
  position:sticky;
  top:10px;
  z-index:70;
  border:1px solid var(--mb12-border)!important;
  border-radius:16px!important;
  background:color-mix(in srgb,var(--mb12-card-solid) 84%,transparent)!important;
  box-shadow:var(--mb12-shadow-soft)!important;
  backdrop-filter:blur(var(--mb12-blur));
}
body.mb12-mode-customer .cc112-hero{
  border-color:var(--mb12-border)!important;
  border-radius:28px!important;
  box-shadow:var(--mb12-shadow)!important;
  background:
    radial-gradient(circle at 10% 10%,rgba(39,183,238,.15),transparent 38%),
    linear-gradient(135deg,var(--mb12-surface-2),#143a38)!important;
}
body.mb12-mode-customer .cc112-shortcuts a,
body.mb12-mode-customer .cc112-list>article,
body.mb12-mode-customer .cc112-next>*{
  border-color:var(--mb12-border)!important;
  box-shadow:var(--mb12-shadow-soft)!important;
  border-radius:17px!important;
}
body.mb12-mode-customer .cc112-shortcuts a:hover{
  transform:translateY(-2px);
  border-color:var(--mb12-accent)!important;
}
body.mb12-mode-customer .cc112-tools{
  position:sticky;
  top:78px;
  z-index:50;
  padding:10px!important;
  border:1px solid var(--mb12-border)!important;
  border-radius:15px!important;
  background:color-mix(in srgb,var(--mb12-card-solid) 86%,transparent)!important;
  backdrop-filter:blur(var(--mb12-blur));
}

/* ==========================================================
   PUBLIC MODULE PAGES
   ========================================================== */

body.mb12-mode-module .hp110-public-wrap,
body.mb12-mode-module .sh111-public-wrap,
body.mb12-mode-module [class*="lod"][class*="wrap"],
body.mb12-mode-module [class*="sp"][class*="wrap"]{
  max-width:1220px!important;
}
body.mb12-mode-module .hp110-public-nav,
body.mb12-mode-module .sh111-public-nav,
body.mb12-mode-module .lodpub-nav,
body.mb12-mode-module .sp107-public-nav{
  position:sticky;
  top:10px;
  z-index:70;
  padding:10px 12px!important;
  border:1px solid var(--mb12-border)!important;
  border-radius:16px!important;
  background:color-mix(in srgb,var(--mb12-card-solid) 84%,transparent)!important;
  box-shadow:var(--mb12-shadow-soft)!important;
  backdrop-filter:blur(var(--mb12-blur));
}
body.mb12-mode-module .hp110-public-hero,
body.mb12-mode-module .sh111-public-hero,
body.mb12-mode-module .lodpub-hero,
body.mb12-mode-module .sp107-public-hero{
  border-color:var(--mb12-border)!important;
  border-radius:28px!important;
  box-shadow:var(--mb12-shadow)!important;
  background:
    radial-gradient(circle at 8% 0,rgba(39,183,238,.13),transparent 36%),
    linear-gradient(135deg,var(--mb12-surface-2),#183c3a)!important;
}
body.mb12-mode-module .hp110-hub-card,
body.mb12-mode-module .sh111-hub-card,
body.mb12-mode-module .sh111-public-product,
body.mb12-mode-module .lodhub-card,
body.mb12-mode-module .lodpub-card{
  border-color:var(--mb12-border)!important;
  box-shadow:var(--mb12-shadow-soft)!important;
  background:color-mix(in srgb,var(--mb12-card-solid) 96%,transparent)!important;
}
body.mb12-mode-module .sh111-public-cart,
body.mb12-mode-module .hp110-booking-main,
body.mb12-mode-module .hp110-booking-side,
body.mb12-mode-module .sh111-checkout-panel,
body.mb12-mode-module .sh111-status-panel{
  border-color:var(--mb12-border)!important;
  box-shadow:var(--mb12-shadow-soft)!important;
}
body.mb12-mode-module .sh111-catbar button.active,
body.mb12-mode-module .hp110-public-list button.active{
  box-shadow:0 0 0 3px rgba(39,183,238,.11)!important;
}

/* ==========================================================
   ANALYTICS
   ========================================================== */

body.mb12-mode-business .ba113-card,
body.mb12-mode-business .ba113-stat{
  border-color:var(--mb12-border)!important;
  background:color-mix(in srgb,var(--mb12-card-solid) 96%,transparent)!important;
}
body.mb12-mode-business .ba113-stat:hover,
body.mb12-mode-business .ba113-card:hover{
  border-color:var(--mb12-border-strong)!important;
}
body.mb12-mode-business .ba113-chart{
  filter:drop-shadow(0 10px 20px rgba(0,0,0,.12));
}

/* ==========================================================
   LIGHT THEME COMPATIBILITY
   ========================================================== */

html[data-mb-theme="light"] body.mb12-page{
  color:var(--mb12-text)!important;
}
html[data-mb-theme="light"] body.mb12-page .bo-card,
html[data-mb-theme="light"] body.mb12-page .bp-card,
html[data-mb-theme="light"] body.mb12-page .hp110-hub-card,
html[data-mb-theme="light"] body.mb12-page .sh111-hub-card,
html[data-mb-theme="light"] body.mb12-page .sh111-public-product,
html[data-mb-theme="light"] body.mb12-page .ba113-card,
html[data-mb-theme="light"] body.mb12-page .ba113-stat{
  color:var(--mb12-text)!important;
}
html[data-mb-theme="light"] body.mb12-page [style*="#061923"],
html[data-mb-theme="light"] body.mb12-page [style*="#082"],
html[data-mb-theme="light"] body.mb12-page [style*="#071"]{
  color:var(--mb12-text)!important;
}

/* ==========================================================
   MOBILE BUSINESS PANEL
   ========================================================== */

@media(max-width:900px){
  .mb12-sidebar-toggle{display:grid}
  body.mb12-mode-business .bo-wrap{padding:10px!important}
  body.mb12-mode-business .bo-top{top:6px}
  body.mb12-mode-business .bo-shell{
    display:block!important;
  }
  body.mb12-mode-business .bo-sidebar{
    position:fixed!important;
    left:10px!important;
    top:74px!important;
    bottom:70px!important;
    width:min(320px,calc(100vw - 20px))!important;
    z-index:9996!important;
    transform:translateX(calc(-100% - 24px));
    transition:transform .24s ease;
    overflow:auto!important;
  }
  body.mb12-mode-business.mb12-sidebar-open .bo-sidebar{
    transform:none;
  }
  body.mb12-mode-business.mb12-sidebar-open:after{
    content:'';
    position:fixed;
    inset:0;
    z-index:9995;
    background:rgba(0,0,0,.48);
    backdrop-filter:blur(4px);
  }
  body.mb12-mode-business .bo-content{
    width:100%!important;
  }
  body.mb12-mode-business .bo-actions{
    gap:5px!important;
  }
  body.mb12-mode-business .bo-top .bo-btn-secondary{
    display:none!important;
  }
  .ba113-stats{grid-template-columns:repeat(2,1fr)!important}
}

@media(max-width:620px){
  body.mb12-page{
    --mb12-radius-lg:19px;
  }
  body.mb12-mode-business .bo-wrap,
  body.mb12-mode-public .bp-wrap,
  body.mb12-mode-module .hp110-public-wrap,
  body.mb12-mode-module .sh111-public-wrap{
    padding:9px!important;
  }
  body.mb12-mode-business .bo-card,
  body.mb12-mode-public .bp-card{
    border-radius:16px!important;
  }
  .mb12-theme-toggle{right:10px;bottom:10px}
  .mb12-to-top{right:10px;bottom:62px}
  .mb12-sidebar-toggle{left:10px;bottom:10px}
  body.mb12-mode-public .bp-nav,
  body.mb12-mode-customer .cc112-nav,
  body.mb12-mode-module .hp110-public-nav,
  body.mb12-mode-module .sh111-public-nav{
    top:6px;
  }
  body.mb12-mode-customer .cc112-tools{
    top:68px;
  }
  .ba113-stats{grid-template-columns:1fr!important}
}

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