/* =========================================================
   DJSpace.cz 1.3.0 — světlý produkční design
   Moderní SaaS prostředí v původní magenta/fialové paletě
   ========================================================= */

:root{
  --light-bg:#f7f7fb;
  --light-bg-2:#fcfbfd;
  --light-surface:#ffffff;
  --light-surface-soft:#fbf9fc;
  --light-surface-accent:#fff6fb;
  --light-text:#1b1720;
  --light-text-strong:#100d14;
  --light-muted:#746d7a;
  --light-muted-2:#9a929f;
  --light-border:#e9e4ed;
  --light-border-strong:#ddd5e2;
  --light-accent:#e40888;
  --light-accent-2:#9a20c8;
  --light-accent-3:#6e28d9;
  --light-accent-soft:rgba(228,8,136,.075);
  --light-purple-soft:rgba(110,40,217,.07);
  --light-shadow:0 16px 44px rgba(37,23,48,.075);
  --light-shadow-soft:0 7px 24px rgba(37,23,48,.055);
  --light-success:#1d8a55;
  --light-success-soft:#eaf8f0;
  --light-warning:#9b6815;
  --light-warning-soft:#fff7e7;
  --light-danger:#b42d55;
  --light-danger-soft:#fff0f4;
}

html{color-scheme:light}
body.public-page,
body.app-page,
body.public-body{
  background:
    radial-gradient(circle at 92% 3%,rgba(218,80,190,.095),transparent 24rem),
    radial-gradient(circle at 7% 23%,rgba(119,62,219,.045),transparent 28rem),
    var(--light-bg);
  color:var(--light-text);
}
body.public-page::before,
body.app-page::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background-image:linear-gradient(rgba(118,95,130,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(118,95,130,.018) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.45),transparent 70%);
}
body.public-page,
body.app-page{--bg:var(--light-bg);--panel:var(--light-surface);--ink:var(--light-text);--muted:var(--light-muted);--line:var(--light-border);--soft:var(--light-surface-soft);--dark:var(--light-text-strong);--accent:var(--light-accent);--accent-2:var(--light-accent-2);--accent-3:var(--light-accent-3);--shadow:var(--light-shadow)}

body.public-page a,
body.app-page a,
body.public-body a{color:inherit}
body.public-page p,
body.app-page p,
body.public-body p{color:var(--light-text)}
body.public-page .muted,
body.app-page .muted,
body.public-body .muted{color:var(--light-muted)!important}
body.public-page h1,body.public-page h2,body.public-page h3,body.public-page h4,
body.app-page h1,body.app-page h2,body.app-page h3,body.app-page h4,
body.public-body h1,body.public-body h2,body.public-body h3,body.public-body h4{color:var(--light-text-strong)}

/* Logo pro světlé pozadí */
.public-brand img,.sidebar-brand img,.footer-brand img{filter:none!important}

/* ---------- Veřejná navigace ---------- */
.public-shell{min-height:100vh;background:transparent}
.public-topbar{
  height:78px;
  position:sticky;
  top:0;
  z-index:100;
  display:flex;
  align-items:center;
  padding:0 clamp(18px,4vw,58px);
  background:rgba(255,255,255,.92);
  border-bottom:1px solid rgba(221,213,226,.86);
  box-shadow:0 8px 28px rgba(40,23,50,.045);
  backdrop-filter:blur(20px) saturate(1.3);
}
.public-brand{display:flex;align-items:center}
.public-brand img{width:235px;max-height:58px;object-fit:contain;object-position:left center}
.public-nav{gap:24px}
.public-nav>a{color:#504957;font-size:13px;font-weight:720}
.public-nav>a:hover{color:var(--light-accent);text-decoration:none}
.public-nav .nav-login{color:#29232f;border:1px solid var(--light-border-strong);background:#fff;border-radius:12px;padding:10px 16px;box-shadow:0 4px 14px rgba(34,20,43,.035)}
.public-nav .nav-login:hover{border-color:rgba(228,8,136,.35);background:#fff8fc}
.nav-toggle,.sidebar-toggle{border:1px solid var(--light-border-strong);background:#fff;color:#342d39;box-shadow:0 5px 16px rgba(37,23,48,.05)}
.public-content{max-width:1460px;padding:0 clamp(18px,4vw,58px) 86px}

/* ---------- Tlačítka ---------- */
body.public-page .btn,
body.app-page .btn,
body.public-body .btn{
  color:#fff;
  border-color:transparent;
  background:linear-gradient(135deg,#ef138f 0%,#b51ac1 54%,#7628dc 100%);
  box-shadow:0 11px 25px rgba(189,19,166,.18);
}
body.public-page .btn:hover,
body.app-page .btn:hover,
body.public-body .btn:hover{
  color:#fff;
  transform:translateY(-1px);
  background:linear-gradient(135deg,#f8299e 0%,#c42ece 54%,#8439e5 100%);
  box-shadow:0 15px 32px rgba(189,19,166,.25);
}
body.public-page .btn-ghost,
body.app-page .btn-ghost,
body.public-body .btn-ghost{
  color:#342d39;
  background:#fff;
  border-color:var(--light-border-strong);
  box-shadow:0 6px 18px rgba(37,23,48,.055);
}
body.public-page .btn-ghost:hover,
body.app-page .btn-ghost:hover,
body.public-body .btn-ghost:hover{color:var(--light-accent);background:#fff8fc;border-color:rgba(228,8,136,.32)}
body.public-page .btn-danger,
body.app-page .btn-danger{background:linear-gradient(135deg,#bb3158,#e24a71);color:#fff}

/* ---------- Frontpage ---------- */
.hero-djspace{min-height:635px;padding:64px 0 60px;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);gap:44px}
.hero-djspace::before{left:-18vw;right:-18vw;bottom:3%;height:72%;background:radial-gradient(ellipse at 25% 80%,rgba(231,23,151,.075),transparent 52%),radial-gradient(ellipse at 77% 43%,rgba(119,50,218,.085),transparent 50%)}
.hero-djspace::after{content:"";position:absolute;right:-5%;top:3%;width:360px;height:360px;border-radius:50%;border:42px solid rgba(196,47,190,.045);box-shadow:inset 0 0 0 18px rgba(113,43,213,.025),0 0 80px rgba(217,48,186,.04);z-index:-1}
.eyebrow{color:#6d6573}
.hero-copy h1{color:#111014;letter-spacing:-.052em}
.hero-copy h1 em{background:linear-gradient(100deg,#e70888 4%,#b41ac1 54%,#7528da 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-copy>p{color:#655e6b;font-size:17px}
.hero-points{color:#6f6775}
.hero-points span{display:inline-flex;align-items:center;gap:7px}
.hero-points span::first-letter{color:var(--light-accent)}
.visual-glow{background:radial-gradient(circle,rgba(230,18,145,.16),rgba(111,35,205,.07) 48%,transparent 70%);filter:blur(33px)}
.dashboard-preview{
  background:linear-gradient(145deg,#fff,#faf8fc);
  border-color:rgba(201,181,210,.82);
  box-shadow:0 35px 75px rgba(45,26,56,.17),0 0 45px rgba(204,20,153,.06);
}
.preview-sidebar{background:#faf8fc;border-color:var(--light-border);box-shadow:inset -8px 0 20px rgba(43,24,54,.018)}
.preview-sidebar i{background:#e8e2eb}
.preview-sidebar i:first-of-type{background:linear-gradient(90deg,var(--light-accent),var(--light-accent-3));box-shadow:0 0 12px rgba(228,8,136,.2)}
.preview-main{color:var(--light-text)}
.preview-top{color:var(--light-text-strong)}
.preview-top b{color:#fff}
.preview-stats div,.preview-list,.preview-chart{background:#fff;border-color:var(--light-border);box-shadow:0 6px 20px rgba(38,22,48,.035)}
.preview-stats small{color:#817987}.preview-stats strong{color:#17121b}
.preview-list h4{color:#17121b}.preview-list p{color:#746d7a;border-color:var(--light-border)}.preview-list p b{color:#be187f}
.preview-chart span{border-color:rgba(124,99,135,.12)}
.phone-preview{background:linear-gradient(180deg,#fff,#faf8fc);border-color:#26202b;box-shadow:0 28px 55px rgba(42,23,51,.25),0 0 0 1px rgba(221,30,156,.3);color:#18131c}
.phone-notch{background:#211b25}
.phone-event{background:#fff;border-color:var(--light-border);box-shadow:0 5px 16px rgba(38,22,48,.035)}
.phone-event small,.phone-event span{color:#7a7280}
.trust-strip{border-color:var(--light-border);background:rgba(255,255,255,.8);color:#554e5b;box-shadow:var(--light-shadow-soft)}
.section-heading h2{color:#161219}.section-heading p{color:#746d7a}
.feature-card,.process-grid article,.showcase-card{
  background:rgba(255,255,255,.96);
  border-color:var(--light-border);
  box-shadow:var(--light-shadow-soft);
}
.feature-card:hover,.process-grid article:hover,.showcase-card:hover{border-color:rgba(228,8,136,.25);box-shadow:0 18px 44px rgba(61,34,73,.095);transform:translateY(-3px)}
.feature-card::after{background:radial-gradient(circle,rgba(228,8,136,.075),transparent 68%)}
.feature-icon{background:linear-gradient(145deg,rgba(232,12,143,.09),rgba(113,37,211,.065));border-color:rgba(228,8,136,.17);box-shadow:none}
.feature-card h3,.process-grid h3,.showcase-title span{color:#1b1720}
.feature-card p,.process-grid p,.showcase-title small{color:#746d7a}
.process-section::before{background:radial-gradient(circle at center,rgba(126,39,198,.055),transparent 46%)}
.profile-mock,.portal-mock,.venue-row{background:#fbf9fc!important;border-color:var(--light-border)!important;color:var(--light-text)!important}
.profile-mock h3,.portal-mock h3,.venue-row strong{color:var(--light-text-strong)!important}
.profile-mock p,.portal-mock p,.venue-row small{color:var(--light-muted)!important}
.profile-photo{background:linear-gradient(135deg,#ea168f,#7928d9);color:#fff}
.tags span,.tag{background:#f3edf6;color:#5d5364;border:1px solid #e7deeb}
.portal-mock li{border-color:var(--light-border)!important;color:#4f4855!important}.portal-mock li b{color:var(--light-success)!important}
.signature{color:#865099!important;border-color:#ead9ee!important;background:#fff!important}
.registration-wrap{border-top-color:var(--light-border)}
.registration-copy h2{color:#151118}.registration-copy p{color:#6e6674}.registration-benefits span{color:#423a48;background:#fff;border:1px solid var(--light-border);box-shadow:0 5px 17px rgba(37,23,48,.035)}
.registration-card{background:#fff!important;border-color:var(--light-border)!important;box-shadow:0 20px 55px rgba(56,31,67,.1)!important}
.landing-cta{box-shadow:0 24px 55px rgba(159,16,148,.22)}

/* ---------- Veřejná patička a obsahové stránky ---------- */
.public-footer{background:#fff;border-color:var(--light-border);box-shadow:0 -5px 22px rgba(39,23,49,.03)}
.public-footer strong{color:#2c2631}.public-footer a,.public-footer p{color:#746d7a}.public-footer a:hover{color:var(--light-accent)}.footer-copy{border-color:var(--light-border);color:#98909e}
.public-page:not(:has(.hero-djspace)) .public-content{padding-top:38px}
.public-page .narrow-card,.public-page .wide-card,
.legal-page{background:#fff!important;color:var(--light-text)!important;border-color:var(--light-border)!important;box-shadow:var(--light-shadow)!important}
.legal-page h1,.legal-page h2,.legal-page h3,.legal-page h4{color:var(--light-text-strong)!important}
.legal-page h2{border-color:var(--light-border)!important;color:#28212d!important}
.legal-page p,.legal-page li,.legal-page dd{color:#554e5b!important}.legal-page strong{color:#161219!important}.legal-page .muted{color:var(--light-muted)!important}.legal-page a{color:var(--light-accent)!important}

/* ---------- Přihlášená aplikace ---------- */
.app-shell{grid-template-columns:248px minmax(0,1fr)}
.app-sidebar{
  background:rgba(255,255,255,.97);
  border-right:1px solid var(--light-border);
  box-shadow:12px 0 34px rgba(46,28,58,.045);
}
.sidebar-brand{border-color:var(--light-border);padding-top:2px}
.sidebar-brand img{width:210px;height:58px}
.sidebar-nav a{color:#665e6c}
.sidebar-nav a:hover{background:#fff5fb;color:#b3117c;text-decoration:none}
.sidebar-nav a.active,.sidebar-nav a[aria-current="page"]{background:linear-gradient(100deg,#ed168f,#a71ec4 55%,#7629dc);color:#fff;box-shadow:0 10px 24px rgba(190,20,162,.18)}
.sidebar-bottom{border-color:var(--light-border)}
.sidebar-promo{background:linear-gradient(145deg,#fff4fa,#f8f2ff);border-color:rgba(220,24,148,.15);color:#2f2734;box-shadow:0 7px 19px rgba(48,28,59,.045)}
.sidebar-promo small{color:#817987}.sidebar-logout{color:#776f7d}.sidebar-logout:hover{color:var(--light-danger)}.sidebar-bottom>small{color:#a29aa7}
.nav-plan-tag{border-color:rgba(228,8,136,.2);background:rgba(228,8,136,.07);color:#b7157b}.nav-plan-free{border-color:rgba(31,148,115,.2);background:rgba(31,148,115,.07);color:#257c61}
.app-main{background:transparent}
.app-topbar{
  height:74px;
  background:rgba(255,255,255,.91);
  border-color:var(--light-border);
  box-shadow:0 7px 25px rgba(37,23,48,.04);
  backdrop-filter:blur(20px) saturate(1.25);
}
.app-topbar-title>span{color:#1d1721}.app-topbar-title>small{color:#8a828f}
.topbar-bell{background:#fff;border-color:var(--light-border);color:#6f6775;box-shadow:0 4px 12px rgba(38,22,48,.035)}
.user-chip{color:#221c26}.user-chip small{color:#8d8592}.user-avatar{color:#fff;box-shadow:0 8px 22px rgba(207,18,158,.18)}
.app-content{padding-top:30px}
.app-footer{background:rgba(255,255,255,.72);border-color:var(--light-border);color:#847c89}.app-footer a{color:#665e6c}.app-footer a:hover{color:var(--light-accent)}
.dashboard-heading h1,.page-head h1{color:#17131b}.dashboard-heading p,.page-head p{color:#6f6775}

/* ---------- Karty, panely, formuláře ---------- */
body.app-page .card,
body.public-page .card,
body.public-body .card{
  background:#fff;
  color:var(--light-text);
  border-color:var(--light-border);
  box-shadow:var(--light-shadow-soft);
}
body.app-page .card:hover,body.public-page .card:hover,body.public-body .card:hover{border-color:#dfd6e3}
body.app-page .card h1,body.app-page .card h2,body.app-page .card h3,body.app-page .card h4,
body.public-page .card h1,body.public-page .card h2,body.public-page .card h3,body.public-page .card h4,
body.public-body .card h1,body.public-body .card h2,body.public-body .card h3,body.public-body .card h4{color:var(--light-text-strong)}
.section-kicker{color:#c01382}
body.app-page .soft-panel,
body.app-page .checkbox-grid,
body.app-page .recipient-list,
body.app-page .invoice-logo-preview,
body.app-page .gallery-delete,
body.app-page .inline-card,
body.app-page .attachment-item,
body.app-page .quick-invoice-card,
body.app-page .event-new-customer,
body.app-page form .grid-2>.soft-panel,
body.public-page .soft-panel,
body.public-body .soft-panel{
  background:var(--light-surface-soft)!important;
  color:var(--light-text)!important;
  border-color:var(--light-border)!important;
  box-shadow:none!important;
}
body.app-page .soft-panel::before{background:linear-gradient(90deg,transparent,rgba(228,8,136,.58),rgba(111,40,216,.48),transparent)!important;opacity:.55}
body.app-page .soft-panel h1,body.app-page .soft-panel h2,body.app-page .soft-panel h3,body.app-page .soft-panel h4,
body.app-page .checkbox-grid h3,body.app-page .recipient-list h3{color:var(--light-text-strong)!important}
body.app-page .soft-panel p,body.app-page .soft-panel li,body.app-page .soft-panel .muted,body.app-page .event-new-customer>p{color:var(--light-muted)!important}
label,body.app-page label,body.public-page label,body.public-body label{color:#423a48!important}
label small,body.app-page label small,body.public-page label small,body.public-body label small{color:#8c8491!important}
input,textarea,select,
body.app-page .soft-panel input,body.app-page .soft-panel textarea,body.app-page .soft-panel select,
body.app-page .recipient-list input,body.app-page .recipient-list textarea,body.app-page .recipient-list select{
  background:#fff!important;
  color:#211b25!important;
  border-color:#dcd4e0!important;
  box-shadow:0 1px 0 rgba(255,255,255,.9),inset 0 1px 2px rgba(39,23,49,.025)!important;
}
input:hover,textarea:hover,select:hover{border-color:#cfc3d5!important}
input:focus,textarea:focus,select:focus,
body.app-page .soft-panel input:focus,body.app-page .soft-panel textarea:focus,body.app-page .soft-panel select:focus{
  border-color:rgba(228,8,136,.55)!important;
  box-shadow:0 0 0 4px rgba(228,8,136,.085)!important;
}
input::placeholder,textarea::placeholder,
body.app-page .soft-panel input::placeholder,body.app-page .soft-panel textarea::placeholder{color:#a29aa7!important;opacity:1}
select option{background:#fff;color:#211b25}
input[type="file"]{background:#fbf9fc!important}
.check{color:#4c4452!important}.check:hover{color:#2c2631!important}.check input{accent-color:var(--light-accent)}
code{background:#f1ecf4;color:#3d3343;border:1px solid #e5dce9}
hr{border-color:var(--light-border)}

/* ---------- Tabulky, seznamy a stavy ---------- */
.table-wrap{background:#fff;border:1px solid var(--light-border);box-shadow:none}
th,td{border-color:var(--light-border)}
th{color:#817987;background:#fbf9fc}
td{color:#49414f}td strong{color:#17131b}td small{color:#8b8390}.table-wrap tr:hover td{background:#fff9fc}
.badge{background:#f1edf3;color:#554e5b;border:1px solid #e4dce8}
.badge-confirmed,.badge-deposit_paid,.badge-paid,.badge-played,.badge-played_paid,.badge-active,.badge-approved{background:var(--light-success-soft);color:#236f4b;border-color:#cfeadc}
.badge-cancelled,.badge-handed_over,.badge-rejected,.badge-blocked{background:var(--light-danger-soft);color:#a53252;border-color:#f0ced8}
.badge-pending,.badge-warning,.badge-waiting_deposit,.badge-invoiced,.badge-new{background:var(--light-warning-soft);color:#8d641c;border-color:#eedfb8}
.badge-free,.subscription-free{background:#eaf8f5!important;color:#277866!important;border-color:#cce9e1!important}
.chip{background:#fff;border-color:var(--light-border);color:#5f5665}.chip:hover{border-color:rgba(228,8,136,.3);color:var(--light-accent)}.chip.active{background:linear-gradient(135deg,#e80d8b,#8e23d3);color:#fff;border-color:transparent}
.flash,.readonly-banner{background:#fff;border-color:var(--light-border);color:#463e4b;box-shadow:0 6px 18px rgba(39,23,49,.04)}
.flash-success{background:var(--light-success-soft);color:#226d49;border-color:#cce9d9}.flash-error{background:var(--light-danger-soft);color:#a12e50;border-color:#f0cdd8}.flash-warning{background:var(--light-warning-soft);color:#8c651e;border-color:#eddfbc}.flash-info{background:#f5effd;color:#68429b;border-color:#e1d2f2}
.readonly-banner,.free-plan-banner{background:linear-gradient(135deg,#f4fbf9,#fff7fb);border-color:#d6eee6;color:#4d665f}.readonly-banner a{color:var(--light-accent)}.free-plan-banner strong{color:#244b40}

/* ---------- Dashboard ---------- */
.stat-card{background:#fff;color:var(--light-text);border:1px solid var(--light-border);box-shadow:var(--light-shadow-soft);position:relative;overflow:hidden}
.stat-card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#ed0f8e,#9e20ca,#7428dc)}
.stat-card small{color:#7d7582}.stat-card strong{color:#17131b}.stat-card em{color:#8d8592}.stat-icon{background:#fff2fa!important;color:#d20c83!important;border:1px solid #f2d6e7!important}
.onboarding-step{background:#fbf9fc;border-color:var(--light-border);color:#5f5665}.onboarding-step:hover{background:#fff5fb;border-color:rgba(228,8,136,.2)}.onboarding-step.done{color:#877f8c}
.agenda-item,.quick-action-list a,.compact-list>a{color:#322a37;border-color:var(--light-border)}
.agenda-item:hover,.quick-action-list a:hover,.compact-list>a:hover{background:#fff8fc;text-decoration:none}
.agenda-item strong,.quick-action-list span,.compact-list strong{color:#28212d}
.agenda-item small,.quick-action-list small,.compact-list small{color:#857d8a}
.agenda-item em{color:#a52678}.income-total{color:#17131b}.income-total small,.bar-column small,.bar-value{color:#89818e}
.bar-chart{border-color:var(--light-border)}
.today-date{background:linear-gradient(145deg,#fff0f8,#f3edff);border-color:#edd7e8}.today-date b{color:#251e2a}.today-date span{color:#b11a79}
.quick-action-list b{background:#fff0f8;color:#ce0a82;border:1px solid #f1d8e8}
.empty-state{color:#837b88}
.free-dashboard-card{background:linear-gradient(135deg,#f2fbf8,#fff5fb)!important;border-color:#d7eee7!important}.free-dashboard-card h2{color:#1d2d28!important}.free-dashboard-card p{color:#60746e!important}
.free-dashboard-card::after{background:radial-gradient(circle,rgba(228,8,136,.1),transparent 68%)}
.premium-locked-card{background:linear-gradient(145deg,#fff,#fbf8fd)!important;border-color:#eadbe8!important}.premium-locked-card h2{color:#211a25!important}.premium-locked-card p{color:#746b78!important}

/* ---------- Eventy a aplikační komponenty ---------- */
.event-tabs{background:rgba(255,255,255,.92);border-color:var(--light-border);box-shadow:0 8px 22px rgba(39,23,49,.055)}
.event-tabs a{color:#716976}.event-tabs a:hover{background:#fff0f8;color:#c30b7e;text-decoration:none}
.event-tabs a.active,.event-tabs a[aria-current="page"]{background:linear-gradient(135deg,#ed0f8e,#8627d6);color:#fff}
.today-card{background:linear-gradient(145deg,#fff5fb,#f5f0ff)!important}
.attachment-item{color:#4e4653}.attachment-item small{color:#88808d}
.detail-list dt{color:#6d6573}.detail-list dd{color:#2f2834}

/* ---------- Předplatné ---------- */
.subscription-summary-card{background:#fff!important}
.billing-plan{color:var(--light-text);background:linear-gradient(150deg,#fff,#fbf9fd);border-color:var(--light-border);box-shadow:var(--light-shadow-soft)}
.billing-plan::before{background:linear-gradient(90deg,transparent,#ec0b8d,#8d24dc,transparent)}
.billing-plan::after{background:radial-gradient(circle,rgba(126,30,215,.07),transparent 68%)}
.billing-plan-yearly{border-color:rgba(228,8,136,.25);box-shadow:0 18px 45px rgba(65,34,75,.08),0 0 30px rgba(224,9,138,.035)}
.billing-plan h2,.billing-price strong{color:#1b1720}.billing-price span,.billing-plan .price-note{color:#7b7380}
.plan-ribbon{background:linear-gradient(135deg,#fff0f8,#f4edff);border-color:#ead8e8;color:#aa1b77}
.subscription-payment-box{color:var(--light-text);background:linear-gradient(145deg,#fff,#fbf8fd);border-color:#ead5e6;box-shadow:var(--light-shadow)}
.subscription-payment-box::before{background:radial-gradient(circle at 90% 20%,rgba(146,32,224,.065),transparent 32%)}
.subscription-payment-box h2,.subscription-payment-box strong{color:#1c1721}.subscription-payment-box p{color:#5f5764}.subscription-payment-box .muted{color:#827a87}
.subscription-qr{box-shadow:0 13px 32px rgba(49,27,59,.12);border-color:#e3dce6}
.subscription-history-card .table-wrap,.subscription-admin-page .table-wrap{background:#fff;border-color:var(--light-border)}
.subscription-badge{background:#f3eef5;border-color:#e4dce8;color:#5d5462;box-shadow:none}.subscription-active,.subscription-trial,.subscription-manual,.subscription-referral{background:var(--light-success-soft);border-color:#cfe8da;color:#27704d}.subscription-expired{background:var(--light-danger-soft);border-color:#f0d0da;color:#a83253}.subscription-admin{background:#fff0f8;border-color:#f0d5e7;color:#ad1a76}

/* ---------- SMS podpis ---------- */
.sms-otp-panel{background:linear-gradient(135deg,#fff1f9,#f5efff);border-color:#ead2e6;box-shadow:0 14px 36px rgba(65,34,75,.07)}
.sms-otp-panel h3{color:#241e29}.sms-otp-panel p{color:#6f6775}
.signature-proof-grid p{background:#fbf9fc;border-color:var(--light-border);color:#4f4754}

/* ---------- Veřejné DJ profily ---------- */
body.public-body{min-height:100vh}
.public-profile{color:var(--light-text)}
.public-hero{background:linear-gradient(135deg,#fff,#faf7fc);border-color:var(--light-border);box-shadow:var(--light-shadow)}
.public-hero h1{color:#17131b}.public-hero .lead{color:#4f4855}.public-hero .muted{color:var(--light-muted)!important}
.public-photo-wrap img,.public-photo-placeholder{background:#f3edf6;color:#322a37;border:1px solid var(--light-border)}
.public-sections .card{background:#fff;color:var(--light-text);border-color:var(--light-border)}
.public-sections .card p,.public-sections .card li{color:#554e5b}.public-sections .card a{color:#b20d78}.price-range{color:#861cb0}
.public-inquiry-card,.public-gallery-card{background:#fff!important;color:var(--light-text)!important;border-color:var(--light-border)!important}
.public-footer.public-footer{background:transparent;box-shadow:none}

/* ---------- Admin a technické přehledy ---------- */
.admin-tile{background:#fff!important}.admin-tile:hover{border-color:rgba(228,8,136,.25)!important;box-shadow:0 14px 34px rgba(58,31,69,.08)!important}
.health-card{background:#fff!important}.health-ok{border-left-color:var(--light-success)!important}.health-warning{border-left-color:#d29526!important}.health-error{border-left-color:var(--light-danger)!important}

/* ---------- Responzivita ---------- */
@media(max-width:1180px){
  .hero-djspace{grid-template-columns:1fr 1fr;gap:28px}.public-brand img{width:215px}.app-shell{grid-template-columns:220px}.sidebar-brand img{width:184px}
}
@media(max-width:900px){
  .public-nav{background:rgba(255,255,255,.98);border-color:var(--light-border);box-shadow:0 18px 46px rgba(37,23,48,.13)}
  .public-nav>a{color:#514957}.hero-djspace{grid-template-columns:1fr}.app-sidebar{background:#fff}.sidebar-open .app-sidebar{box-shadow:25px 0 70px rgba(35,20,44,.2)}.sidebar-open::after{background:rgba(42,27,49,.3)}
}
@media(max-width:680px){
  .public-topbar{height:70px}.public-brand img{width:178px}.hero-djspace::after{display:none}.hero-copy h1{font-size:43px}.card{border-radius:16px}.app-content{padding-top:20px}.stat-card{padding:18px}
}

/* Vynucený kontrast pro všechny běžné textové prvky uvnitř světlých ploch */
body.app-page .card :where(p,li,dd,dt,span:not(.badge):not(.btn):not(.stat-icon):not(.user-avatar):not(.nav-plan-tag)),
body.public-page .card :where(p,li,dd,dt,span:not(.badge):not(.btn)),
body.public-body .card :where(p,li,dd,dt,span:not(.badge):not(.btn)){color:inherit}
body.app-page .card a:not(.btn),body.public-page .card a:not(.btn),body.public-body .card a:not(.btn){color:#a30e72}
body.app-page .card a:not(.btn):hover,body.public-page .card a:not(.btn):hover,body.public-body .card a:not(.btn):hover{color:#d70885}

/* ---------- Ceník na titulní stránce a trial ---------- */
.pricing-section{position:relative}
.pricing-section::before{content:"";position:absolute;inset:8% 10% auto;height:280px;background:radial-gradient(circle,rgba(224,8,136,.08),transparent 68%);pointer-events:none;z-index:-1}
.pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:960px;margin:32px auto 0}
.pricing-card{position:relative;display:flex;flex-direction:column;min-height:100%;padding:30px;border:1px solid var(--light-border);border-radius:24px;background:#fff;box-shadow:var(--light-shadow-soft);overflow:hidden}
.pricing-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#ed0f8e,#9821d1,#7229dc)}
.pricing-card-plus{border-color:rgba(220,15,137,.25);box-shadow:0 24px 58px rgba(72,37,83,.12)}
.pricing-kicker{display:block;margin-bottom:8px;color:#9a2676!important;font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.pricing-card h3{margin:0;color:#1b1720;font-size:26px}
.pricing-price{display:flex;align-items:flex-end;gap:8px;margin:18px 0 6px}
.pricing-price strong{color:#17131b;font-size:42px;line-height:1}
.pricing-price span{padding-bottom:4px;color:#7b7380!important}
.pricing-yearly{margin:0 0 12px;color:#756d7a!important}
.pricing-yearly strong{color:#9821c8}
.pricing-card ul{display:grid;gap:10px;margin:18px 0 26px;padding:0;list-style:none}
.pricing-card li{position:relative;padding-left:25px;color:#544c59!important}
.pricing-card li::before{content:"✓";position:absolute;left:0;color:#d50b85;font-weight:900}
.pricing-card .btn{align-self:flex-start;margin-top:auto}
.pricing-ribbon{position:absolute;right:18px;top:18px;padding:7px 11px;border:1px solid #efd1e5;border-radius:999px;background:linear-gradient(135deg,#fff0f8,#f4edff);color:#a81475!important;font-size:12px;font-weight:800}
.trial-callout{display:flex;align-items:center;gap:18px;margin:0 0 22px;padding:18px 20px;border:1px solid #ead7e6;border-radius:18px;background:linear-gradient(135deg,#fff4fa,#f5efff);box-shadow:var(--light-shadow-soft)}
.trial-callout strong{flex:0 0 auto;color:#a30d72;font-size:18px}
.trial-callout span{color:#655d69}
@media(max-width:760px){.pricing-grid{grid-template-columns:1fr}.pricing-card{padding:24px}.pricing-ribbon{position:static;align-self:flex-start;margin-bottom:12px}.trial-callout{align-items:flex-start;flex-direction:column;gap:6px}}
