:root{--bg:#f3f3f3;--panel:#fff;--ink:#141414;--muted:#6b6b6b;--line:#ddd;--soft:#ededed;--dark:#1d1d1d;--danger:#8f1d1d;--success:#1c6b38;--warn:#8a6116;--radius:18px;--shadow:0 18px 50px rgba(0,0,0,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}.topbar{position:sticky;top:0;z-index:10;background:rgba(20,20,20,.96);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:14px clamp(16px,4vw,42px);box-shadow:0 12px 35px rgba(0,0,0,.18)}.brand{display:flex;gap:10px;align-items:center;font-weight:800;letter-spacing:.4px}.brand small{color:#aaa;font-size:12px}.brand-mark{background:#fff;color:#111;border-radius:10px;padding:6px 8px}.nav{display:flex;gap:18px;align-items:center}.nav a{color:#eee;font-size:14px}.nav-toggle{display:none;background:#333;color:#fff;border:0;border-radius:10px;padding:8px 10px}.page{max-width:1240px;margin:0 auto;padding:30px clamp(14px,3vw,28px) 60px}.footer{display:flex;justify-content:space-between;gap:18px;color:#777;padding:28px clamp(16px,4vw,42px);font-size:13px}.hero{display:grid;grid-template-columns:1.3fr .7fr;gap:28px;align-items:center;min-height:440px;padding:60px 0}.eyebrow{text-transform:uppercase;letter-spacing:.15em;color:#777;font-size:12px;font-weight:800}.hero h1,.page-head h1{font-size:clamp(34px,5vw,64px);line-height:1.02;margin:10px 0 18px}.hero p,.page-head p,.lead{font-size:18px;color:#595959;line-height:1.55}.hero-actions,.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.hero-panel{background:#222;color:#fff;border-radius:28px;padding:24px;box-shadow:var(--shadow);display:grid;gap:14px}.mini-stat{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:18px}.mini-stat strong{display:block;font-size:22px}.mini-stat span{display:block;color:#bbb;margin-top:6px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.narrow-card{max-width:720px;margin:24px auto}.wide-card{max-width:980px;margin:24px auto}.install-page{display:flex;align-items:center;min-height:100vh}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:22px 0}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:22px 0}.features .card h3{margin-top:0}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin:28px 0}.page-head h1{font-size:42px;margin-bottom:6px}.page-head p{margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#111;color:#fff;border:1px solid #111;border-radius:999px;padding:12px 18px;font-weight:700;cursor:pointer;text-decoration:none}.btn:hover{text-decoration:none;background:#333}.btn-ghost{background:#fff;color:#111;border-color:#bbb}.btn-small{padding:7px 11px;font-size:13px}.btn-danger{background:var(--danger);border-color:var(--danger)}.form-grid{display:grid;gap:15px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:grid;gap:7px;font-weight:700;color:#222}label small{font-weight:400;color:#777}input,textarea,select{width:100%;border:1px solid #ccc;background:#fff;border-radius:14px;padding:12px 13px;font:inherit;color:#111}textarea{resize:vertical}.check{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:10px;font-weight:600}.check input{width:auto}.hp-field{position:absolute;left:-9999px}.flash{padding:13px 15px;border-radius:14px;margin:14px 0;border:1px solid #ddd;background:#fff}.flash-success{border-color:#bde5c8;background:#edfff2;color:var(--success)}.flash-error{border-color:#e6bbbb;background:#fff1f1;color:var(--danger)}.flash-warning{border-color:#ead6a7;background:#fff8e9;color:var(--warn)}.flash-info{border-color:#c8d8ef;background:#f1f6ff;color:#1f4f83}.muted{color:var(--muted)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:22px 0}.stat-card{background:#111;color:#fff;border-radius:22px;padding:22px;box-shadow:var(--shadow)}.stat-card span{color:#bbb}.stat-card strong{display:block;font-size:40px;margin-top:8px}.card-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid #e5e5e5;padding:13px;vertical-align:top}th{text-transform:uppercase;font-size:12px;color:#666;letter-spacing:.08em}td small{display:block;color:#777;margin-top:5px}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eee;color:#333;font-size:12px;font-weight:800}.badge-confirmed,.badge-deposit_paid,.badge-played,.badge-played_paid,.badge-invoiced,.badge-active{background:#eaf8ef;color:#176537}.badge-waiting_deposit,.badge-new{background:#f2f2f2;color:#333}.badge-cancelled,.badge-handed_over{background:#fff1f1;color:#8b2020}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.chip{padding:8px 12px;border-radius:999px;background:#fff;border:1px solid #ddd;color:#444}.chip.active{background:#111;color:#fff;border-color:#111}.detail-list{display:grid;grid-template-columns:150px 1fr;gap:12px}.detail-list dt{font-weight:800;color:#555}.stack{flex-direction:column;align-items:flex-start}.form-inline{display:flex;gap:10px}.form-inline input{max-width:360px}.inline-actions{display:flex;gap:6px;flex-wrap:wrap}.inline-actions select{width:auto;padding:7px 10px}.admin-tile{text-decoration:none}.admin-tile:hover{text-decoration:none;border-color:#999;transform:translateY(-1px)}.profile-preview{width:160px;height:160px;object-fit:cover;border-radius:28px;border:1px solid #ddd}.public-body{background:#101010;color:#fff}.public-profile{max-width:1100px;margin:0 auto;padding:34px 18px}.public-hero{display:grid;grid-template-columns:280px 1fr;gap:34px;align-items:center;background:linear-gradient(135deg,#1a1a1a,#2b2b2b);border:1px solid #363636;border-radius:34px;padding:34px;box-shadow:0 20px 70px rgba(0,0,0,.35)}.public-hero h1{font-size:clamp(40px,7vw,84px);line-height:1;margin:8px 0}.public-photo-wrap img,.public-photo-placeholder{width:260px;height:260px;border-radius:34px;object-fit:cover;background:#fff;color:#111;display:grid;place-items:center;font-size:72px;font-weight:900}.public-sections .card{background:#181818;color:#fff;border-color:#333}.public-sections .muted,.public-hero .muted{color:#bbb}.public-actions{display:flex;gap:10px;flex-wrap:wrap}.price-range{font-size:24px;font-weight:900}.public-footer{text-align:center;margin:30px;color:#aaa}.public-footer a{color:#aaa}code{background:#eee;color:#111;padding:2px 5px;border-radius:6px}hr{border:0;border-top:1px solid #e5e5e5;margin:20px 0}@media(max-width:900px){.hero,.grid-2,.grid-3,.public-hero{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}.nav{display:none;position:absolute;left:0;right:0;top:60px;background:#1d1d1d;flex-direction:column;align-items:flex-start;padding:16px 28px}.nav.open{display:flex}.nav-toggle{display:block}.page-head{align-items:flex-start;flex-direction:column}.public-photo-wrap img,.public-photo-placeholder{width:100%;height:260px}}@media(max-width:560px){.stats-grid,.form-row{grid-template-columns:1fr}.form-inline{flex-direction:column}.footer{flex-direction:column}.card{padding:18px}.hero{padding:28px 0}.page{padding-top:18px}.topbar{padding:12px 14px}}
.badge-pending{background:#fff8e9;color:#8a6116}.badge-approved{background:#eaf8ef;color:#176537}.badge-rejected{background:#fff1f1;color:#8b2020}.badge-private{background:#f2f2f2;color:#333}.recipient-list{max-height:320px;overflow:auto;border:1px solid #e5e5e5;border-radius:16px;padding:12px;background:#fafafa}.dj-card-photo,.dj-card-placeholder{width:100%;height:220px;object-fit:cover;border-radius:18px;background:#111;color:#fff;display:grid;place-items:center;font-size:56px;font-weight:900;margin-bottom:14px}.dj-card h2{margin-bottom:4px}.btn[disabled]{opacity:.5;cursor:not-allowed}.page-head form{margin:0}

.footer a{color:#555;font-weight:700}.footer a:hover{color:#111}
.soft-panel{background:#f8f8f8;border:1px solid #e2e2e2;border-radius:18px;padding:18px;display:grid;gap:13px}.compact-grid{gap:14px}.inline-card{background:#fafafa;border:1px solid #e6e6e6;border-radius:16px;padding:16px;display:grid;gap:10px}.inline-card h3,.inline-card h4,.soft-panel h3{margin:0}.special-section{display:grid;gap:15px}.checkbox-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;background:#fafafa;border:1px solid #e5e5e5;border-radius:16px;padding:12px}.check-inside{align-content:end}.tags{display:flex;gap:8px;flex-wrap:wrap}.tag{display:inline-flex;border-radius:999px;background:#111;color:#fff;padding:8px 12px;font-size:13px;font-weight:800}.attachment-list{display:grid;gap:8px}.attachment-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e5e5e5;border-radius:14px;padding:10px;background:#fafafa}.attachment-item span{flex:1}.attachment-item form{margin:0}.attachment-item small{color:#777}.event-section-title{margin-top:28px}@media(max-width:760px){.checkbox-grid{grid-template-columns:1fr}.attachment-item{align-items:flex-start;flex-direction:column}.soft-panel{padding:14px}}
.quick-invoice-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:12px 0 10px}.quick-invoice-card{background:#f8f8f8;border:1px solid #e2e2e2;border-radius:18px;padding:16px;display:grid;gap:11px}.quick-invoice-card h3{margin:0}.muted-link{color:#666;font-size:13px;font-weight:700}.muted-link:hover{color:#111}@media(max-width:760px){.quick-invoice-grid{grid-template-columns:1fr}}

.event-new-customer{align-content:start}.event-new-customer label{width:100%}.event-new-customer .check{margin-top:2px}.event-new-customer input,.event-new-customer textarea{min-height:auto}
.nice-list{line-height:1.7;margin:0;padding-left:22px}.nice-list li{margin:6px 0}.badge-warning,.badge-blocked{background:#fff8e9;color:#8a6116}.badge-critical{background:#fff1f1;color:#8b2020}.badge-info{background:#f1f6ff;color:#1f4f83}.stat-card small{display:block;color:#bbb;margin-top:8px}.seo-note{font-size:13px;color:#666}

/* DJSpace.cz branding */
.brand-image{gap:12px;text-decoration:none;min-width:0}.brand-image:hover{text-decoration:none}.brand-logo{display:block;height:44px;width:auto;max-width:260px;background:#fff;border-radius:14px;padding:6px 10px;box-shadow:0 8px 24px rgba(0,0,0,.22)}.brand-image small{align-self:center;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:4px 8px;color:#cfcfcf;font-size:11px;letter-spacing:.05em;text-transform:uppercase}@media(max-width:760px){.brand-logo{height:36px;max-width:190px;padding:5px 8px;border-radius:12px}.brand-image{gap:8px}.brand-image small{font-size:10px;padding:3px 7px}}@media(max-width:420px){.brand-logo{height:32px;max-width:160px}.brand-image small{display:none}}

/* DJSpace.cz - smlouvy */
.badge-draft{background:#f2f2f2;color:#333}.badge-sent{background:#fff8e9;color:#8a6116}.badge-signed{background:#eaf8ef;color:#176537}.contract-send-box{margin-top:14px}.contract-public-wrap{max-width:980px;margin:20px auto}.contract-public-card{padding:clamp(18px,4vw,36px)}.contract-logo-line img{height:54px;width:auto;max-width:280px;margin-bottom:18px}.contract-text{background:#fafafa;border:1px solid #e5e5e5;border-radius:18px;padding:20px;line-height:1.65;white-space:normal}.contract-sign-form .check{align-items:flex-start;line-height:1.45}.contract-sign-form .check input{margin-top:4px}.brand-image small{display:none!important}@media(max-width:760px){.contract-logo-line img{height:40px;max-width:220px}.contract-public-card{padding:16px}}

/* DJSpace.cz - faktury a příplatkové služby */
.invoice-logo-preview{display:grid;gap:10px;background:#fafafa;border:1px solid #e5e5e5;border-radius:16px;padding:14px}.invoice-logo-preview img{max-width:220px;max-height:90px;object-fit:contain;background:#fff;border:1px solid #eee;border-radius:12px;padding:8px}.event-services-list{display:grid;gap:12px}.event-service-row{background:#fbfbfb}.event-service-row .check strong{font-size:16px}.invoice-freeze-note{font-size:13px;color:#666}.invoice-freeze-note strong{color:#111}

.legal-page {
    max-width: 980px;
    margin: 0 auto;
    line-height: 1.72;
}
.legal-page h1 { margin-bottom: .25rem; }
.legal-page h2 {
    margin-top: 2rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(0,0,0,.08);
}
.legal-page p { color: #242424; }
.terms-check {
    grid-column: 1 / -1;
    align-items: flex-start;
    line-height: 1.55;
}
.terms-check input { margin-top: .3rem; }


/* DJSpace.cz - licence a registrace */
.subscription-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#f1f1f1;border:1px solid #ddd;font-size:.85rem;font-weight:700;color:#222}
.subscription-active,.subscription-trial,.subscription-manual,.subscription-referral{background:#eef9f0;border-color:#bfe7c7;color:#145c24}.subscription-expired{background:#fff4f4;border-color:#f0b8b8;color:#8a1f1f}.subscription-admin{background:#f3f3f3;border-color:#ccc;color:#333}
.readonly-banner{margin:0 auto 18px;max-width:1180px;padding:14px 18px;border:1px solid #f0caca;background:#fff7f7;border-radius:16px;color:#5f1d1d}.readonly-banner a{font-weight:800;color:#111}.billing-plan{border:1px solid #e1e1e1;border-radius:20px;padding:22px;background:#fff}.billing-plan strong{font-size:2rem;display:block;margin:.25rem 0}.billing-plan .price-note{color:#666}.payment-box{border:1px dashed #aaa;background:#fafafa;border-radius:18px;padding:18px}.invite-card{background:linear-gradient(135deg,#fff,#f3f3f3)}
body.readonly-mode form[method="post"]:not(.billing-form):not(.readonly-allowed) button[type="submit"],body.readonly-mode form[method="post"]:not(.billing-form):not(.readonly-allowed) input[type="submit"]{opacity:.45;cursor:not-allowed;filter:grayscale(1);pointer-events:none}
body.readonly-mode a.btn[href*="event_form"],body.readonly-mode a.btn[href*="customer_form"],body.readonly-mode a.btn[href*="venue_form"],body.readonly-mode a.btn[href*="invoice_create"],body.readonly-mode a.btn[href*="invoice_send"],body.readonly-mode a.btn[href*="invoice_cancel"],body.readonly-mode a.btn[href*="services"],body.readonly-mode a.btn[href*="mailing"],body.readonly-mode a.btn[href*="sablona-smlouvy"],body.readonly-mode a.btn[href*="smlouva"]{opacity:.45;cursor:not-allowed;filter:grayscale(1);pointer-events:none}

.subscription-payment-box{display:flex;justify-content:space-between;gap:22px;align-items:center}.subscription-qr{min-width:148px;text-align:center;background:#fff;border:1px solid #ddd;border-radius:18px;padding:12px}.subscription-qr img{display:block;width:124px;height:124px;margin:0 auto 8px}.subscription-qr span{display:block;color:#555;font-weight:800;font-size:.85rem}@media(max-width:720px){.subscription-payment-box{display:block}.subscription-qr{margin-top:16px}}

/* DJSpace.cz - UX, klientský portál, PWA a provoz */
.onboarding-card{background:linear-gradient(135deg,#fff,#f6f6f6)}.onboarding-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.onboarding-step{display:flex;align-items:center;gap:10px;border:1px solid #e2e2e2;background:#fff;border-radius:16px;padding:12px 14px;font-weight:800;text-decoration:none}.onboarding-step span{display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:#eee}.onboarding-step.done{border-color:#c7e7ce;background:#f0fff4;color:#155d27}.onboarding-step.done span{background:#1c6b38;color:#fff}.quick-action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.event-tabs{position:sticky;top:74px;z-index:8;display:flex;gap:8px;overflow:auto;background:rgba(243,243,243,.95);backdrop-filter:blur(8px);border:1px solid #e1e1e1;border-radius:999px;padding:8px;margin:10px 0 22px}.event-tabs a{white-space:nowrap;border-radius:999px;padding:9px 13px;background:#fff;border:1px solid #ddd;font-weight:800;font-size:13px}.event-tabs a:hover{background:#111;color:#fff;text-decoration:none}.event-tab-section{scroll-margin-top:140px}.today-card{background:linear-gradient(135deg,#111,#3b3b3b);color:#fff}.today-card .lead,.today-card .muted{color:#d4d4d4}.today-actions{display:flex;gap:10px;flex-wrap:wrap}.today-card .btn-ghost{background:#fff;color:#111}.profile-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.profile-gallery figure{margin:0}.profile-gallery img{width:100%;height:180px;object-fit:cover;border-radius:18px;border:1px solid #333}.profile-gallery figcaption{color:#bbb;font-size:13px;margin-top:5px}.public-inquiry-card,.public-gallery-card{margin-top:22px;background:#181818!important;color:#fff!important;border-color:#333!important}.public-inquiry-card input,.public-inquiry-card textarea,.public-inquiry-card select{background:#fff;color:#111}.health-card{border-left:6px solid #bbb}.health-ok{border-left-color:#1c6b38}.health-warning{border-left-color:#8a6116}.health-error{border-left-color:#8f1d1d}.client-code{font-size:1.2rem;letter-spacing:.08em}.event-tabs::-webkit-scrollbar{height:0}.public-sections{margin-top:22px}@media(max-width:900px){.onboarding-grid,.quick-action-grid,.profile-gallery{grid-template-columns:1fr}.event-tabs{top:60px;border-radius:18px}.event-tabs a{font-size:12px}.today-actions .btn{width:100%}}
.profile-gallery-admin{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.gallery-delete{background:#fafafa;border:1px solid #e5e5e5;border-radius:14px;padding:8px}.gallery-delete img{width:70px;height:54px;object-fit:cover;border-radius:10px}@media(max-width:720px){.profile-gallery-admin{grid-template-columns:1fr}}

/* =========================================================
   DJSpace.cz 1.2.0 — production visual system
   Modern DJ / electronic SaaS theme
   ========================================================= */
:root{
  --bg:#08070c;
  --bg-2:#0d0a12;
  --panel:#121019;
  --panel-2:#17131f;
  --panel-3:#1e1728;
  --ink:#f7f4fa;
  --muted:#a9a2b2;
  --muted-2:#756d7e;
  --line:rgba(255,255,255,.09);
  --line-strong:rgba(227,17,145,.28);
  --soft:rgba(255,255,255,.055);
  --dark:#08070c;
  --accent:#e0098a;
  --accent-2:#8f24d7;
  --accent-3:#5d1fc0;
  --accent-soft:rgba(224,9,138,.13);
  --danger:#e64a6f;
  --success:#43c779;
  --warn:#d78945;
  --radius:18px;
  --radius-lg:26px;
  --shadow:0 24px 70px rgba(0,0,0,.35);
  --glow:0 0 0 1px rgba(224,9,138,.14),0 22px 60px rgba(113,13,116,.17);
}
html{scroll-behavior:smooth;background:var(--bg)}
body{min-height:100vh;background:
 radial-gradient(circle at 8% 0%,rgba(224,9,138,.11),transparent 28rem),
 radial-gradient(circle at 92% 8%,rgba(105,31,199,.11),transparent 32rem),
 linear-gradient(180deg,#09070d 0%,#0a080f 55%,#07060a 100%);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:15px;line-height:1.55}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 75%)}
a{color:#f0b8dc;transition:.2s ease}a:hover{color:#fff;text-decoration:none}
::selection{background:rgba(224,9,138,.65);color:#fff}
.ui-icon{width:20px;height:20px;flex:0 0 20px}

/* Public shell */
.public-shell{min-height:100vh;overflow:hidden}
.public-topbar{height:82px;max-width:1480px;margin:0 auto;padding:0 clamp(18px,4vw,56px);display:flex;align-items:center;gap:34px;position:relative;z-index:40}
.public-brand{display:block;flex:0 0 auto}
.public-brand img{display:block;width:250px;max-height:64px;object-fit:contain;object-position:left center;filter:drop-shadow(0 8px 18px rgba(224,9,138,.12))}
.public-nav{margin-left:auto;display:flex;align-items:center;gap:28px}
.public-nav>a{font-size:14px;font-weight:650;color:#d8d3dc;white-space:nowrap}
.public-nav>a:hover{color:#fff}
.public-nav .nav-login{border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:10px 16px}
.nav-toggle,.sidebar-toggle{display:none;border:1px solid var(--line);background:var(--panel);color:#fff;border-radius:12px;padding:9px;cursor:pointer}
.public-content{max-width:1480px;margin:0 auto;padding:0 clamp(18px,4vw,56px) 90px}

/* Buttons */
.btn{min-height:44px;border:1px solid rgba(255,255,255,.13);border-radius:12px;padding:11px 17px;background:linear-gradient(180deg,#1d1923,#131018);color:#fff;font-weight:750;letter-spacing:.01em;box-shadow:0 8px 25px rgba(0,0,0,.16);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}
.btn:hover{transform:translateY(-1px);color:#fff;border-color:rgba(239,36,164,.45);background:#211827;box-shadow:0 12px 28px rgba(0,0,0,.24),0 0 22px rgba(224,9,138,.12)}
.btn-primary,.btn:not(.btn-ghost):not(.btn-danger){border-color:rgba(255,255,255,.09);background:linear-gradient(135deg,#ec087f 0%,#a411bc 52%,#681bd1 100%);box-shadow:0 12px 34px rgba(181,10,142,.28)}
.btn-primary:hover,.btn:not(.btn-ghost):not(.btn-danger):hover{background:linear-gradient(135deg,#fc148e 0%,#b61bc7 52%,#7624df 100%);box-shadow:0 14px 38px rgba(220,9,138,.36)}
.btn-ghost{background:rgba(255,255,255,.035);color:#f4eff7;border-color:rgba(255,255,255,.16)}
.btn-danger{background:linear-gradient(135deg,#9a2146,#dc365f);border-color:#d43a61}
.btn-small{min-height:36px;padding:8px 13px;font-size:13px}
.btn-lg{min-height:52px;padding:14px 23px;border-radius:14px;font-size:15px}
.actions,.hero-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

/* Landing hero */
.hero-djspace{min-height:650px;display:grid;grid-template-columns:minmax(0,.88fr) minmax(560px,1.12fr);gap:52px;align-items:center;padding:78px 0 74px;position:relative}
.hero-djspace::before{content:"";position:absolute;left:-18vw;right:-18vw;bottom:0;height:52%;background:radial-gradient(ellipse at 32% 100%,rgba(225,8,134,.18),transparent 54%),radial-gradient(ellipse at 72% 100%,rgba(90,27,202,.17),transparent 55%);pointer-events:none;z-index:-1}
.eyebrow{display:flex;align-items:center;gap:10px;color:#d6cbdc;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:800}
.eyebrow span{display:inline-block;width:34px;height:2px;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--accent-2))}
.hero-copy h1{font-size:clamp(48px,5.3vw,82px);line-height:.99;letter-spacing:-.052em;margin:18px 0 24px;max-width:760px}
.hero-copy h1 em{font-style:normal;background:linear-gradient(100deg,#ff1591 5%,#bd1bc3 54%,#8231eb 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-copy>p{font-size:18px;line-height:1.68;color:#bbb3c2;max-width:670px;margin-bottom:30px}
.hero-points{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:28px;color:#aaa2b1;font-size:13px}
.hero-points span::first-letter{color:#f51a9a}
.hero-visual{height:510px;position:relative;perspective:1100px}
.visual-glow{position:absolute;width:80%;height:58%;left:8%;top:22%;border-radius:50%;background:radial-gradient(circle,rgba(225,8,139,.34),rgba(110,23,197,.13) 47%,transparent 70%);filter:blur(35px)}
.dashboard-preview{position:absolute;left:0;top:34px;width:88%;height:420px;display:grid;grid-template-columns:74px 1fr;background:linear-gradient(145deg,rgba(23,19,31,.98),rgba(10,8,14,.98));border:1px solid rgba(247,36,169,.34);border-radius:24px;box-shadow:0 45px 90px rgba(0,0,0,.55),0 0 45px rgba(205,13,145,.13);overflow:hidden;transform:rotateY(-7deg) rotateX(2deg)}
.preview-sidebar{background:rgba(5,4,8,.9);border-right:1px solid var(--line);padding:18px 14px;display:flex;flex-direction:column;align-items:center;gap:22px}
.preview-sidebar img{width:46px;height:46px;border-radius:13px}
.preview-sidebar i{width:32px;height:7px;background:rgba(255,255,255,.11);border-radius:99px}.preview-sidebar i:first-of-type{background:linear-gradient(90deg,var(--accent),var(--accent-2));box-shadow:0 0 14px rgba(224,9,138,.5)}
.preview-main{padding:22px 22px 26px;min-width:0}.preview-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;font-size:18px;font-weight:800}.preview-top b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-3));font-size:11px}
.preview-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.preview-stats div{min-height:78px;border:1px solid var(--line);background:rgba(255,255,255,.035);border-radius:13px;padding:12px}.preview-stats small{display:block;color:#aaa1b0;font-size:9px}.preview-stats strong{display:block;margin-top:8px;font-size:19px}
.preview-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:13px;margin-top:13px;height:235px}.preview-list,.preview-chart{border:1px solid var(--line);border-radius:14px;padding:15px;background:rgba(255,255,255,.025);overflow:hidden}.preview-list h4{font-size:12px;margin:0 0 14px}.preview-list p{font-size:10px;color:#a7a0ad;padding:11px 0;margin:0;border-top:1px solid rgba(255,255,255,.06)}.preview-list p b{display:inline-block;color:#f2c4e1;margin-right:7px}.preview-chart{position:relative;display:flex;align-items:flex-end;gap:15px;padding:20px 15px 28px}.preview-chart span{flex:1;height:100%;border-left:1px dashed rgba(255,255,255,.07)}.preview-chart svg{position:absolute;inset:24px 12px 32px;width:calc(100% - 24px);height:calc(100% - 56px);overflow:visible}.preview-chart polyline{fill:none;stroke:#ee1798;stroke-width:4;filter:drop-shadow(0 0 5px rgba(238,23,152,.65))}
.phone-preview{position:absolute;right:0;bottom:8px;width:185px;height:360px;border:7px solid #19151e;border-radius:34px;background:linear-gradient(180deg,#15101d,#09080d);box-shadow:0 32px 60px rgba(0,0,0,.65),0 0 0 1px rgba(239,28,162,.45);padding:28px 13px 14px;transform:rotate(4deg)}
.phone-notch{position:absolute;top:7px;left:50%;transform:translateX(-50%);width:64px;height:14px;background:#050407;border-radius:20px}.phone-preview h4{font-size:13px;margin:0 0 18px}.phone-event{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px;margin-bottom:10px;background:rgba(255,255,255,.035)}.phone-event small,.phone-event span{display:block;color:#948b9b;font-size:8px}.phone-event strong{display:block;font-size:10px;line-height:1.4;margin:4px 0}
.trust-strip{margin:0 -18px 92px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025);padding:18px 26px;display:flex;align-items:center;justify-content:center;gap:22px;color:#c9c1cd;font-size:13px}.trust-strip i{width:4px;height:4px;background:var(--accent);border-radius:50%;box-shadow:0 0 12px var(--accent)}

/* Landing sections */
.landing-section{padding:82px 0}.section-heading{text-align:center;max-width:790px;margin:0 auto 42px}.section-heading .eyebrow{justify-content:center}.section-heading h2{font-size:clamp(32px,4vw,52px);letter-spacing:-.035em;line-height:1.1;margin:12px 0}.section-heading p{color:var(--muted);font-size:17px;margin:0}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.feature-card{min-height:250px;padding:25px 22px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,rgba(25,20,33,.82),rgba(12,10,16,.9));box-shadow:0 15px 40px rgba(0,0,0,.16);position:relative;overflow:hidden;transition:.22s ease}.feature-card::after{content:"";position:absolute;inset:auto -35% -70% 35%;height:170px;background:radial-gradient(circle,rgba(224,9,138,.18),transparent 68%);pointer-events:none}.feature-card:hover{transform:translateY(-4px);border-color:rgba(237,24,159,.34);box-shadow:var(--glow)}.feature-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;border:1px solid rgba(235,23,158,.28);background:linear-gradient(145deg,rgba(234,13,143,.17),rgba(104,28,203,.12));color:#fa2aa6;font-size:27px;margin-bottom:21px;box-shadow:inset 0 0 18px rgba(229,11,143,.07)}.feature-card h3{font-size:17px;margin:0 0 9px}.feature-card p{font-size:13px;color:#a9a1af;line-height:1.65;margin:0}
.process-section{position:relative}.process-section::before{content:"";position:absolute;inset:10% -25vw;background:radial-gradient(circle at center,rgba(120,25,184,.1),transparent 45%);z-index:-1}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.process-grid article{position:relative;min-height:210px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.025);padding:30px 30px 28px}.process-grid article>span{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:2px solid #e5199b;color:#ff4ab7;font-size:20px;font-weight:900;box-shadow:0 0 25px rgba(225,15,145,.18)}.process-grid h3{font-size:20px;margin:22px 0 8px}.process-grid p{color:var(--muted);margin:0}.process-grid article:not(:last-child)::after{content:"→";position:absolute;right:-19px;top:50%;color:#d41b99;font-size:22px;z-index:2}
.showcase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.showcase-card{border:1px solid var(--line);border-radius:22px;background:linear-gradient(155deg,#17131e,#0d0b11);padding:22px;box-shadow:0 20px 50px rgba(0,0,0,.2)}.showcase-title{margin-bottom:18px}.showcase-title span{display:block;font-size:18px;font-weight:850}.showcase-title small{color:#8e8695}.profile-mock{display:grid;grid-template-columns:90px 1fr;gap:16px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:15px;background:rgba(255,255,255,.025)}.profile-photo{height:90px;border-radius:14px;display:grid;place-items:center;background:radial-gradient(circle at 50% 25%,#d323a8,#4f176e 55%,#130c1c);font-size:24px;font-weight:950}.profile-mock h3{margin:0}.profile-mock p{color:#aaa1af;font-size:12px;margin:2px 0 9px}.profile-mock strong{color:#ee38ad;font-size:12px;letter-spacing:.08em}.tags{display:flex;gap:6px;flex-wrap:wrap}.tags span,.tag{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);border-radius:99px;padding:4px 8px;font-size:10px;color:#c7becb}.profile-numbers{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.profile-numbers span{border:1px solid var(--line);border-radius:13px;padding:12px;color:#938a99;font-size:10px}.profile-numbers b{display:block;color:#fff;font-size:18px}.venue-row{display:grid;grid-template-columns:34px 1fr auto;gap:11px;align-items:center;border-top:1px solid var(--line);padding:15px 0}.venue-row>b{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--accent),var(--accent-2))}.venue-row strong,.venue-row small{display:block}.venue-row small{color:#928a98;font-size:11px}.venue-row em{font-style:normal;color:#f238ad;font-size:11px}.portal-mock{border:1px solid var(--line);border-radius:16px;padding:18px;background:rgba(255,255,255,.025)}.portal-mock h3{margin:0}.portal-mock>p{color:#8f8795;font-size:12px}.portal-mock ul{list-style:none;padding:0;margin:18px 0}.portal-mock li{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:10px 0;font-size:12px}.portal-mock li b{color:#5bd58a;font-size:10px}.signature{border:1px dashed rgba(234,37,161,.4);border-radius:12px;padding:15px;text-align:center;color:#e1a6ce;font-style:italic}
.landing-cta{margin:70px 0 100px;padding:38px 46px;border-radius:26px;background:linear-gradient(110deg,#e8067f,#a914bd 55%,#5d1bd2);display:flex;align-items:center;justify-content:space-between;gap:30px;box-shadow:0 30px 65px rgba(154,8,135,.33);position:relative;overflow:hidden}.landing-cta::after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.2);border-radius:50%;right:-190px;top:-190px}.landing-cta h2{font-size:34px;margin:7px 0}.landing-cta p{margin:0;color:rgba(255,255,255,.82)}.landing-cta .eyebrow{color:#fff}.landing-cta .btn{background:rgba(10,7,15,.35);border-color:rgba(255,255,255,.5);min-width:190px;position:relative;z-index:1}
.registration-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center;padding:50px 0 110px;max-width:1120px;margin:0 auto}.registration-copy h2{font-size:44px;line-height:1.08;letter-spacing:-.035em;margin:12px 0 18px}.registration-copy p{color:var(--muted);font-size:17px}.registration-benefits{display:grid;gap:10px;margin-top:26px;color:#c9c1cd}.registration-card{padding:30px!important}.registration-card h3{font-size:24px;margin-top:0}.terms-check a{text-decoration:underline}
.public-footer{max-width:1480px;margin:0 auto;border-top:1px solid var(--line);padding:50px clamp(18px,4vw,56px) 34px;display:grid;grid-template-columns:1.6fr .7fr .9fr;gap:45px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.013))}.public-footer>div:not(.footer-copy){display:flex;flex-direction:column;gap:9px}.public-footer strong{margin-bottom:4px}.public-footer a,.public-footer p{color:#918996;font-size:13px}.footer-brand img{width:250px;max-height:70px;object-fit:contain;object-position:left center}.footer-brand p{max-width:390px}.footer-copy{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;color:#716a76;font-size:12px}

/* Logged-in app shell */
.app-page{overflow-x:hidden}
.app-shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}
.app-sidebar{position:sticky;top:0;height:100vh;padding:21px 14px 18px;background:rgba(6,5,9,.97);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:50;box-shadow:10px 0 40px rgba(0,0,0,.16)}
.sidebar-brand{display:block;padding:3px 5px 24px;border-bottom:1px solid var(--line);margin-bottom:13px}.sidebar-brand img{display:block;width:205px;height:58px;object-fit:contain;object-position:left center}
.sidebar-nav{display:flex;flex-direction:column;gap:3px;overflow-y:auto;padding:3px 0 12px;scrollbar-width:thin}.sidebar-nav a{display:flex;align-items:center;gap:12px;min-height:43px;padding:9px 12px;border-radius:11px;color:#bbb4c0;font-size:13px;font-weight:650}.sidebar-nav a:hover{background:rgba(255,255,255,.045);color:#fff}.sidebar-nav a.active,.sidebar-nav a[aria-current="page"]{background:linear-gradient(90deg,rgba(229,7,136,.95),rgba(129,17,191,.82));color:#fff;box-shadow:0 9px 24px rgba(201,8,142,.22)}.sidebar-nav .ui-icon{width:18px;height:18px}
.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:12px;display:grid;gap:7px}.sidebar-promo{display:flex;gap:10px;padding:12px;border-radius:13px;background:linear-gradient(145deg,rgba(224,9,138,.11),rgba(88,24,182,.1));border:1px solid rgba(224,9,138,.17);color:#fff}.sidebar-promo span{display:grid}.sidebar-promo strong{font-size:12px}.sidebar-promo small{font-size:9px;color:#a99eaf}.sidebar-logout{display:flex;align-items:center;gap:10px;padding:9px 12px;color:#918997;font-size:12px}.sidebar-bottom>small{color:#625b67;font-size:10px;padding:0 12px}
.app-main{min-width:0;display:flex;flex-direction:column;min-height:100vh}.app-topbar{height:74px;position:sticky;top:0;z-index:35;background:rgba(9,7,13,.88);backdrop-filter:blur(17px);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 clamp(18px,3vw,40px);gap:15px}.app-topbar-title{display:grid}.app-topbar-title>span{font-weight:850}.app-topbar-title>small{color:#7f7784;font-size:10px}.app-topbar-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.topbar-bell{display:grid;place-items:center;width:39px;height:39px;border:1px solid var(--line);border-radius:12px;color:#aba3b1}.user-chip{display:flex;align-items:center;gap:10px;color:#fff}.user-chip>span:last-child{display:grid;line-height:1.25}.user-chip strong{font-size:12px}.user-chip small{color:#817986;font-size:9px}.user-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#ec0c8c,#6e21d7);font-size:11px;font-weight:900;box-shadow:0 0 20px rgba(223,8,137,.22)}
.app-content{max-width:1580px;width:100%;margin:0 auto;padding:32px clamp(18px,3vw,40px) 60px}.app-footer{display:flex;justify-content:space-between;gap:20px;padding:24px clamp(18px,3vw,40px);border-top:1px solid var(--line);color:#6f6874;font-size:11px}

/* Shared app components */
.card{background:linear-gradient(145deg,rgba(23,19,30,.94),rgba(13,11,17,.96));color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 15px 45px rgba(0,0,0,.16);padding:22px}.card:hover{border-color:rgba(255,255,255,.12)}
.narrow-card,.wide-card{margin-top:24px}.page-head,.dashboard-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin:5px 0 25px}.page-head h1,.dashboard-heading h1{font-size:clamp(32px,4vw,50px);line-height:1.05;letter-spacing:-.04em;margin:8px 0}.page-head p,.dashboard-heading p{color:var(--muted);margin:0;max-width:800px}.page-head .actions,.dashboard-heading .actions{justify-content:flex-end}
.card h1,.card h2,.card h3,.card h4{color:#fbf8fd}.card h2{font-size:19px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.card-head h2{margin:0}.section-kicker{display:block;color:#db2b9e;text-transform:uppercase;letter-spacing:.13em;font-size:9px;font-weight:850;margin-bottom:4px}.muted,.card .muted{color:var(--muted)}
.grid-2,.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin:17px 0}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin:17px 0}.compact-grid{gap:12px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.stat-card{position:relative;min-height:142px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(145deg,#17131e,#0e0c12);padding:21px;overflow:hidden;box-shadow:none}.stat-card::after{content:"";position:absolute;width:110px;height:110px;right:-45px;top:-50px;background:radial-gradient(circle,rgba(226,7,139,.18),transparent 68%)}.stat-card .stat-icon{color:#ed1598;font-size:20px}.stat-card small,.stat-card>span:not(.stat-icon){display:block;color:#a69eac;font-size:11px}.stat-card strong{display:block;font-size:31px;line-height:1.1;letter-spacing:-.035em;margin:13px 0 7px;color:#fff}.stat-card em{display:block;font-style:normal;color:#77707c;font-size:10px}
.badge{display:inline-flex;align-items:center;min-height:25px;border:1px solid rgba(255,255,255,.1);border-radius:99px;padding:4px 9px;background:rgba(255,255,255,.05);color:#d3cbd7;font-size:10px}.badge-confirmed,.badge-paid,.badge-played_paid,.badge-signed,.badge-approved{color:#6ce098;border-color:rgba(67,199,121,.27);background:rgba(67,199,121,.09)}.badge-cancelled,.badge-rejected{color:#f27b98;border-color:rgba(230,74,111,.27);background:rgba(230,74,111,.09)}
.flash,.readonly-banner{border-radius:13px;padding:13px 15px;border:1px solid var(--line);background:var(--panel);margin:12px 0}.flash-success{border-color:rgba(67,199,121,.3);background:rgba(67,199,121,.09);color:#89e4a9}.flash-error{border-color:rgba(230,74,111,.35);background:rgba(230,74,111,.09);color:#f493a9}.flash-warning{border-color:rgba(215,137,69,.35);background:rgba(215,137,69,.1);color:#e9b17d}.flash-info{border-color:rgba(180,30,170,.28);background:rgba(180,30,170,.1);color:#e2a9dc}.readonly-banner{border-color:rgba(215,137,69,.35);color:#dfb180}

/* Forms */
.form-grid{display:grid;gap:14px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}label{display:grid;gap:7px;color:#d8d1dc;font-weight:700;font-size:13px}label small{font-weight:450;color:#807987}input,textarea,select{width:100%;border:1px solid rgba(255,255,255,.12);background:#0e0c12;color:#f5f1f7;border-radius:11px;padding:11px 12px;font:inherit;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.015);transition:.18s ease}input:focus,textarea:focus,select:focus{border-color:rgba(236,25,157,.6);box-shadow:0 0 0 3px rgba(224,9,138,.1)}input::placeholder,textarea::placeholder{color:#625b68}.check{display:flex;align-items:flex-start;gap:9px}.check input{width:auto;margin-top:3px;accent-color:var(--accent)}select option{background:#17131e}.hp-field{position:absolute;left:-9999px}

/* Tables and lists */
.table-wrap{overflow:auto;border-radius:12px}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid rgba(255,255,255,.065);padding:12px 10px;vertical-align:top}th{color:#817986;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}td{color:#d4cdd8;font-size:12px}td strong{color:#fff}td small{display:block;color:#77707c;margin-top:3px}.table-wrap tr:hover td{background:rgba(255,255,255,.018)}
.inline-card,.attachment-item,.quick-invoice-card{border:1px solid var(--line);background:rgba(255,255,255,.025);border-radius:13px;padding:14px}.attachment-list{display:grid;gap:8px}.attachment-item{display:flex;align-items:center;gap:10px}.attachment-item span{flex:1}.tags{display:flex;gap:7px;flex-wrap:wrap}

/* Dashboard */
.dashboard-stats{margin-bottom:17px}.onboarding-card{margin:17px 0}.onboarding-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:15px}.onboarding-step{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:rgba(255,255,255,.025);border-radius:11px;padding:11px;color:#b6aeba;font-size:11px}.onboarding-step span{color:#e328a3;font-size:15px}.onboarding-step.done{color:#8b8390;opacity:.78}.onboarding-step.done span{color:var(--success)}
.dashboard-primary-grid{grid-template-columns:1.05fr .95fr}.dashboard-secondary-grid{grid-template-columns:1.25fr .75fr}.dashboard-bottom-grid{grid-template-columns:1fr 1fr}.dashboard-grid{margin:17px 0}.agenda-list{margin-top:14px}.agenda-item{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:14px;padding:12px 4px;border-top:1px solid var(--line);color:#fff}.agenda-item:first-child{border-top:0}.agenda-item:hover{background:rgba(255,255,255,.02)}.agenda-item time{display:grid;text-align:center;line-height:1}.agenda-item time b{font-size:22px}.agenda-item time span{font-size:9px;color:#e1229c;text-transform:uppercase;margin-top:4px}.agenda-item div{display:grid}.agenda-item strong{font-size:13px}.agenda-item small{color:#827a88;font-size:10px}.agenda-item em{font-style:normal;color:#e8b2d5;font-size:11px}.income-total{font-size:30px;font-weight:900;margin:24px 0 15px}.income-total small{display:block;color:#77707c;font-size:10px;font-weight:500}.bar-chart{height:205px;display:flex;align-items:flex-end;gap:12px;border-bottom:1px solid var(--line);padding:8px 4px 0}.bar-column{height:100%;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;position:relative}.bar-column i{display:block;width:min(42px,72%);height:var(--bar-height);min-height:4px;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,#f0199b,#8c24db);box-shadow:0 0 16px rgba(224,9,138,.18)}.bar-column small{font-size:9px;color:#716a77;padding:8px 0}.bar-value{position:absolute;top:0;font-size:8px;color:#9e95a4;white-space:nowrap}.today-event-content{display:grid;grid-template-columns:90px 1fr;gap:20px;align-items:center;margin-top:18px}.today-date{height:90px;border-radius:18px;display:grid;place-items:center;align-content:center;background:linear-gradient(145deg,rgba(232,10,141,.22),rgba(97,26,196,.2));border:1px solid rgba(232,10,141,.23)}.today-date b{font-size:33px;line-height:1}.today-date span{text-transform:uppercase;color:#e9bbdb;font-size:10px;margin-top:5px}.quick-action-list{display:grid;margin-top:10px}.quick-action-list a{display:flex;gap:12px;align-items:center;padding:12px 4px;border-top:1px solid var(--line);color:#fff}.quick-action-list a:first-child{border-top:0}.quick-action-list b{display:grid;place-items:center;width:33px;height:33px;border-radius:10px;background:rgba(226,9,140,.1);color:#f02aa4}.quick-action-list span{display:grid;font-size:12px;font-weight:700}.quick-action-list small{color:#77707c;font-size:9px;font-weight:450}.compact-list{display:grid;margin-top:10px}.compact-list>a{display:grid;grid-template-columns:82px 1fr;gap:12px;padding:11px 0;border-top:1px solid var(--line);color:#fff}.compact-list>a:first-child{border-top:0}.compact-list time{color:#e629a5;font-size:11px}.compact-list span{display:grid}.compact-list strong{font-size:11px}.compact-list small{color:#756e7a;font-size:9px}.empty-state{padding:35px 10px;text-align:center;color:#847c89}

/* Event detail and application pages */
.event-tabs{position:sticky;top:88px;z-index:20;display:flex;gap:5px;overflow:auto;border:1px solid var(--line);border-radius:14px;background:rgba(13,10,17,.92);backdrop-filter:blur(14px);padding:6px;margin-bottom:16px}.event-tabs a{white-space:nowrap;border-radius:9px;padding:9px 13px;color:#9a929f;font-size:11px;font-weight:700}.event-tabs a:hover{background:rgba(232,12,143,.1);color:#fff}.event-tab-section{scroll-margin-top:155px}.event-summary,.event-info-grid{border-color:var(--line)}.quick-invoice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quick-invoice-card{display:grid;gap:12px}.quick-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.today-card{background:linear-gradient(145deg,rgba(224,9,138,.14),rgba(88,24,183,.13))!important}.profile-gallery img,.public-gallery img{border-color:var(--line)}
.public-inquiry-card,.public-gallery-card{background:linear-gradient(145deg,#17131e,#0d0b11)!important;color:#fff!important;border-color:var(--line)!important}.health-card{border-left-width:4px}.health-ok{border-left-color:var(--success)}.health-warning{border-left-color:var(--warn)}.health-error{border-left-color:var(--danger)}

/* Public content pages */
.public-page:not(:has(.hero-djspace)) .public-content{padding-top:35px}.public-page .narrow-card,.public-page .wide-card{background:linear-gradient(145deg,#17131e,#0d0b11)}

/* Read only */


/* Responsive */
@media(max-width:1180px){
  .public-brand img{width:215px}.public-nav{gap:17px}.hero-djspace{grid-template-columns:1fr 1fr;gap:25px}.hero-copy h1{font-size:56px}.phone-preview{width:155px;height:320px}.feature-grid{grid-template-columns:repeat(2,1fr)}.showcase-grid{grid-template-columns:1fr 1fr}.showcase-grid>article:last-child{grid-column:1/-1}.app-shell{grid-template-columns:220px}.sidebar-brand img{width:180px}.dashboard-primary-grid,.dashboard-secondary-grid{grid-template-columns:1fr}}
@media(max-width:900px){
  .public-topbar{height:72px}.public-brand img{width:205px}.nav-toggle,.sidebar-toggle{display:grid;place-items:center}.public-nav{display:none;position:absolute;left:18px;right:18px;top:70px;flex-direction:column;align-items:stretch;gap:4px;border:1px solid var(--line);border-radius:16px;background:rgba(12,9,16,.98);padding:12px;box-shadow:var(--shadow)}.public-nav.open{display:flex}.public-nav>a{padding:10px}.hero-djspace{grid-template-columns:1fr;padding-top:45px}.hero-copy{text-align:center}.hero-copy .eyebrow,.hero-actions,.hero-points{justify-content:center}.hero-copy>p{margin-left:auto;margin-right:auto}.hero-visual{height:430px;max-width:720px;width:100%;margin:auto}.trust-strip{flex-wrap:wrap}.process-grid{grid-template-columns:1fr}.process-grid article:not(:last-child)::after{content:"↓";top:auto;right:50%;bottom:-23px}.showcase-grid,.registration-wrap{grid-template-columns:1fr}.registration-wrap{gap:35px}.landing-cta{align-items:flex-start;flex-direction:column}.public-footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.app-shell{display:block}.app-sidebar{position:fixed;left:0;top:0;bottom:0;width:260px;transform:translateX(-105%);transition:.22s ease}.sidebar-open .app-sidebar{transform:translateX(0);box-shadow:30px 0 80px rgba(0,0,0,.6)}.sidebar-open::after{content:"";position:fixed;inset:0;background:rgba(0,0,0,.58);z-index:45}.app-topbar-title{display:none}.app-topbar-actions .topbar-bell{display:none}.event-tabs{top:84px}.onboarding-grid{grid-template-columns:1fr 1fr}.stats-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){
  .public-content,.app-content{padding-left:14px;padding-right:14px}.public-brand img{width:180px}.hero-djspace{padding:30px 0 55px}.hero-copy h1{font-size:43px}.hero-copy>p{font-size:15px}.hero-actions .btn{width:100%}.hero-visual{height:320px}.dashboard-preview{width:94%;height:280px;grid-template-columns:48px 1fr;border-radius:17px}.preview-sidebar{padding:10px 6px;gap:14px}.preview-sidebar img{width:34px;height:34px}.preview-sidebar i{width:23px}.preview-main{padding:13px}.preview-stats div{padding:8px;min-height:58px}.preview-stats small{font-size:7px}.preview-stats strong{font-size:13px}.preview-grid{height:150px}.phone-preview{width:105px;height:230px;border-width:4px;border-radius:23px;padding:24px 7px 8px}.phone-event{padding:7px}.phone-event:nth-of-type(3){display:none}.trust-strip{margin-bottom:50px}.feature-grid,.showcase-grid,.stats-grid,.grid-2,.grid-3,.dashboard-grid,.form-row,.quick-invoice-grid,.quick-action-grid{grid-template-columns:1fr}.landing-section{padding:52px 0}.feature-card{min-height:auto}.section-heading h2{font-size:33px}.landing-cta{margin:40px 0 65px;padding:28px 24px}.landing-cta h2{font-size:28px}.registration-copy h2{font-size:34px}.public-footer{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-copy{grid-column:1}.app-topbar{padding:0 14px}.app-topbar-actions .btn{font-size:0;width:40px;padding:0}.app-topbar-actions .btn .ui-icon{margin:0}.user-chip>span:last-child{display:none}.dashboard-heading{align-items:flex-start;flex-direction:column}.dashboard-heading .actions{width:100%}.dashboard-heading .btn{flex:1}.onboarding-grid{grid-template-columns:1fr}.today-event-content{grid-template-columns:1fr}.today-date{width:90px}.bar-chart{gap:6px}.agenda-item{grid-template-columns:43px 1fr auto}.event-tabs{top:78px}.page-head{align-items:flex-start;flex-direction:column}.page-head .actions{justify-content:flex-start}.card{padding:17px}.app-footer{flex-direction:column;gap:6px}.profile-gallery{grid-template-columns:1fr 1fr}}

/* =========================================================
   DJSpace.cz 1.2.1 — contrast hotfix
   Legal content + legacy light form panels in the dark theme
   ========================================================= */

/* Obchodní podmínky a další delší právní texty */
.legal-page{
  max-width:980px;
  margin:0 auto;
  color:#ddd6e2;
  background:linear-gradient(145deg,rgba(25,20,32,.98),rgba(12,10,16,.99));
  border-color:rgba(255,255,255,.11);
  box-shadow:0 24px 70px rgba(0,0,0,.32),0 0 0 1px rgba(224,9,138,.035);
  line-height:1.78;
}
.legal-page h1,
.legal-page h2,
.legal-page h3,
.legal-page h4{color:#fff}
.legal-page h1{letter-spacing:-.035em}
.legal-page h2{
  margin-top:2.15rem;
  padding-top:1.15rem;
  border-top:1px solid rgba(255,255,255,.09);
  color:#f8f3fb;
}
.legal-page p,
.legal-page li,
.legal-page dd{color:#d5ceda}
.legal-page strong{color:#fff}
.legal-page .muted{color:#aaa2b2!important}
.legal-page a{
  color:#ff58bd;
  text-decoration:underline;
  text-decoration-color:rgba(255,88,189,.42);
  text-underline-offset:3px;
}
.legal-page a:hover{color:#d998ff;text-decoration-color:currentColor}
.legal-page code{background:#0c0a10;color:#f5d9ec;border:1px solid rgba(255,255,255,.1)}
.legal-page hr{border-color:rgba(255,255,255,.09)}

/* Starší světlé bloky formulářů převedené do aktuálního dark designu */
.app-page .soft-panel,
.app-page .checkbox-grid,
.app-page .recipient-list,
.app-page .invoice-logo-preview,
.app-page .gallery-delete{
  position:relative;
  color:#e9e3ed;
  background:linear-gradient(145deg,rgba(27,22,35,.97),rgba(14,11,18,.99));
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 14px 38px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.018);
}
.app-page .soft-panel{overflow:hidden}
.app-page .soft-panel::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--accent),var(--accent-2),transparent);
  opacity:.7;
}
.app-page .soft-panel h1,
.app-page .soft-panel h2,
.app-page .soft-panel h3,
.app-page .soft-panel h4,
.app-page .checkbox-grid h3,
.app-page .recipient-list h3{color:#fff}
.app-page .soft-panel p,
.app-page .soft-panel li,
.app-page .soft-panel .muted,
.app-page .event-new-customer>p{color:#aaa2b2}
.app-page .soft-panel label,
.app-page .checkbox-grid label{color:#dcd5e1}
.app-page .soft-panel label small,
.app-page .checkbox-grid label small{color:#918998}
.app-page .soft-panel input,
.app-page .soft-panel textarea,
.app-page .soft-panel select,
.app-page .recipient-list input,
.app-page .recipient-list textarea,
.app-page .recipient-list select{
  color:#f7f3f9;
  background:#0c0a10;
  border-color:rgba(255,255,255,.13);
}
.app-page .soft-panel input::placeholder,
.app-page .soft-panel textarea::placeholder{color:#746b79;opacity:1}
.app-page .soft-panel input:focus,
.app-page .soft-panel textarea:focus,
.app-page .soft-panel select:focus{
  border-color:rgba(239,31,165,.66);
  box-shadow:0 0 0 3px rgba(224,9,138,.12),0 0 22px rgba(224,9,138,.08);
}
.app-page .checkbox-grid .check{border-radius:10px;padding:8px 10px}
.app-page .checkbox-grid .check:hover{background:rgba(255,255,255,.035)}

/* Formulář eventu: nové místo a nový klient musí být jasně čitelné */
.app-page .event-new-customer,
.app-page form .grid-2>.soft-panel{
  align-content:start;
  border-color:rgba(232,30,157,.18);
}
.app-page form .grid-2>.soft-panel>h3{
  margin-bottom:2px;
  font-size:17px;
  letter-spacing:-.01em;
}
.app-page form .grid-2>.soft-panel>label{margin-top:1px}

/* Další historicky světlé obsahové boxy */
.contract-text{
  color:#d9d2de;
  background:linear-gradient(145deg,#17131e,#0d0b11);
  border-color:rgba(255,255,255,.1);
}
.contract-text h1,.contract-text h2,.contract-text h3,.contract-text strong{color:#fff}
.contract-text a{color:#ff58bd}
.app-page .invoice-logo-preview img{
  background:#fff;
  border-color:rgba(255,255,255,.13);
}
.app-page .gallery-delete{background:rgba(255,255,255,.025)}

@media(max-width:760px){
  .legal-page{padding:19px;line-height:1.7}
  .legal-page h1{font-size:30px}
  .legal-page h2{font-size:18px}
  .app-page .soft-panel{padding:15px}
}

/* =========================================================
   DJSpace.cz 1.2.3 — after-audit hardening
   Předplatné a licence v jednotném dark/neon designu
   ========================================================= */
.subscription-page,
.subscription-admin-page{display:grid;gap:18px}
.subscription-page>.page-head,
.subscription-admin-page>.page-head{margin-bottom:0}
.subscription-page .subscription-head{padding:2px 0 4px}
.subscription-page .subscription-head>div:first-child{max-width:760px}
.subscription-page .subscription-head h1{background:linear-gradient(100deg,#fff 15%,#f5b9df 58%,#bd79ff 100%);-webkit-background-clip:text;background-clip:text;color:transparent}

.subscription-summary-grid,
.subscription-plans{margin:0}
.subscription-summary-card{position:relative;overflow:hidden;min-height:175px}
.subscription-summary-card::after{content:"";position:absolute;width:180px;height:180px;right:-75px;top:-95px;border-radius:50%;background:radial-gradient(circle,rgba(225,9,140,.18),transparent 68%);pointer-events:none}
.subscription-summary-card h2{margin-top:0}
.subscription-summary-card>p:last-child{margin-bottom:0}

.subscription-plans{align-items:stretch}
.billing-plan{position:relative;display:flex;flex-direction:column;min-height:305px;overflow:hidden;color:#e9e2ed;background:linear-gradient(150deg,rgba(30,24,39,.98),rgba(13,10,17,.99));border:1px solid rgba(255,255,255,.105);border-radius:22px;padding:25px;box-shadow:0 18px 50px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.025)}
.billing-plan::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,transparent,#ec0b8d,#8d24dc,transparent);opacity:.86}
.billing-plan::after{content:"";position:absolute;right:-90px;bottom:-120px;width:250px;height:250px;border-radius:50%;background:radial-gradient(circle,rgba(126,30,215,.18),transparent 68%);pointer-events:none}
.billing-plan-yearly{border-color:rgba(238,25,158,.32);box-shadow:0 20px 58px rgba(0,0,0,.28),0 0 34px rgba(224,9,138,.09)}
.billing-plan h2{position:relative;z-index:1;color:#fff;font-size:21px;margin:2px 0 13px}
.billing-price{position:relative;z-index:1;display:flex;align-items:flex-end;gap:9px;margin:3px 0 13px}
.billing-price strong{display:block;color:#fff;font-size:clamp(34px,4vw,48px);line-height:1;letter-spacing:-.045em;margin:0}
.billing-price span{color:#8e8593;font-size:13px;padding-bottom:5px}
.billing-plan .price-note{position:relative;z-index:1;color:#a69daa;line-height:1.55;margin:0 0 23px}
.billing-plan .billing-form{position:relative;z-index:1;margin-top:auto}
.billing-plan .billing-form .btn{width:100%;min-height:48px}
.plan-ribbon{align-self:flex-start;position:relative;z-index:2;display:inline-flex;margin:-3px 0 12px;padding:5px 9px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:linear-gradient(135deg,rgba(235,9,137,.24),rgba(110,29,205,.24));color:#ffc5e9;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}

.subscription-payment-box{position:relative;overflow:hidden;display:flex;justify-content:space-between;gap:28px;align-items:center;color:#e4dce8;background:linear-gradient(145deg,rgba(27,21,35,.98),rgba(12,9,16,.99));border:1px solid rgba(236,21,154,.25);border-radius:22px;padding:24px;box-shadow:0 18px 55px rgba(0,0,0,.25),0 0 32px rgba(224,9,138,.06)}
.subscription-payment-box::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 90% 20%,rgba(146,32,224,.12),transparent 32%)}
.subscription-payment-box>div{position:relative;z-index:1}
.subscription-payment-box h2{margin-top:0;color:#fff}
.subscription-payment-box p{color:#cbc2d0}
.subscription-payment-box strong{color:#fff}
.subscription-payment-box .muted{color:#9d94a3}
.subscription-qr{position:relative;z-index:1;min-width:174px;text-align:center;background:#fff;border:1px solid rgba(255,255,255,.62);border-radius:18px;padding:13px;box-shadow:0 16px 38px rgba(0,0,0,.32)}
.subscription-qr img{display:block;width:146px;height:146px;margin:0 auto 8px;border-radius:5px}
.subscription-qr span{display:block;color:#302b33;font-weight:850;font-size:12px}

.subscription-history-card{margin-top:0}
.subscription-history-card h2{margin-top:0}
.subscription-history-card .table-wrap,
.subscription-admin-page .table-wrap{border:1px solid rgba(255,255,255,.07);background:rgba(0,0,0,.12)}
.subscription-history-card tbody tr:last-child td,
.subscription-admin-page tbody tr:last-child td{border-bottom:0}

.subscription-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.055);color:#ddd5e2;font-size:12px;font-weight:800;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.subscription-active,.subscription-trial,.subscription-manual,.subscription-referral{background:rgba(67,199,121,.105);border-color:rgba(67,199,121,.27);color:#92e5ae}
.subscription-expired{background:rgba(230,74,111,.1);border-color:rgba(230,74,111,.28);color:#f39ab0}
.subscription-admin{background:rgba(224,9,138,.1);border-color:rgba(224,9,138,.26);color:#f3a8d7}
.readonly-banner{border-color:rgba(215,137,69,.32);background:rgba(215,137,69,.085);color:#e4ba92}
.readonly-banner a{color:#ffd3eb;font-weight:850}

.subscription-admin-settings,
.subscription-admin-orders,
.subscription-admin-licenses{margin:0}
.subscription-admin-settings .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}
.subscription-admin-settings .form-grid>.check,
.subscription-admin-settings .form-grid>.btn{grid-column:1/-1}
.subscription-admin-page .inline-actions{gap:7px}
.subscription-admin-page .btn-small{white-space:nowrap}
.subscription-admin-page td .subscription-badge{margin-top:1px}

@media(max-width:760px){
  .subscription-admin-settings .form-grid{grid-template-columns:1fr}
  .subscription-admin-settings .form-grid>.check,
  .subscription-admin-settings .form-grid>.btn{grid-column:auto}
  .subscription-payment-box{display:block;padding:19px}
  .subscription-qr{width:max-content;max-width:100%;margin:18px auto 0}
  .billing-plan{min-height:270px;padding:21px}
}


/* DJSpace.cz 1.2.4 — SMS OTP podpis smlouvy */
.sms-otp-panel{display:flex;align-items:center;gap:16px;padding:18px;margin:18px 0;border:1px solid rgba(255,31,166,.32);border-radius:18px;background:linear-gradient(135deg,rgba(255,0,139,.12),rgba(115,31,255,.10));box-shadow:0 18px 48px rgba(0,0,0,.22)}
.sms-otp-panel h3{margin:0 0 4px;color:#fff}.sms-otp-panel p{margin:0}
.sms-otp-icon{display:grid;place-items:center;flex:0 0 62px;height:62px;border-radius:18px;background:linear-gradient(135deg,#ff008b,#7427ff);color:#fff;font-size:.82rem;font-weight:800;letter-spacing:.08em;box-shadow:0 10px 30px rgba(255,0,139,.28)}
.sms-code-form{max-width:520px}.sms-code-input{font-size:2rem!important;letter-spacing:.38em;text-align:center;font-variant-numeric:tabular-nums;font-weight:800;padding-left:calc(.38em + 14px)!important}
.contract-resend-form{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.contract-resend-form small{max-width:360px}
.signature-proof-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.signature-proof-grid p{margin:0;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.035)}
@media(max-width:640px){.sms-otp-panel{align-items:flex-start}.sms-otp-icon{flex-basis:48px;height:48px;border-radius:14px}.signature-proof-grid{grid-template-columns:1fr}.sms-code-input{font-size:1.6rem!important;letter-spacing:.28em}}


/* DJSpace 1.2.5 – bezplatný veřejný profil + placené organizační nástroje */
.subscription-free{background:rgba(47,187,168,.11);border-color:rgba(47,187,168,.28);color:#8be3d6}
.nav-plan-tag{display:inline-flex;margin-left:auto;padding:2px 6px;border-radius:999px;border:1px solid rgba(237,26,156,.3);background:rgba(237,26,156,.1);color:#f0a4d4;font-size:8px;font-weight:900;letter-spacing:.07em;line-height:1.25}
.nav-plan-free{border-color:rgba(47,187,168,.3);background:rgba(47,187,168,.1);color:#8be3d6}
.sidebar-nav a span{display:flex;align-items:center;gap:7px;min-width:0;flex:1}
.free-plan-banner{background:linear-gradient(135deg,rgba(47,187,168,.1),rgba(224,9,138,.07));border-color:rgba(47,187,168,.26);color:#c8ece6}
.free-plan-banner strong{color:#fff}
.free-dashboard-card{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,rgba(21,32,34,.98),rgba(25,13,29,.98));border-color:rgba(47,187,168,.24);overflow:hidden;position:relative}
.free-dashboard-card:after{content:"";position:absolute;width:260px;height:260px;right:-100px;top:-120px;border-radius:50%;background:radial-gradient(circle,rgba(224,9,138,.22),transparent 68%);pointer-events:none}
.free-dashboard-card>div{position:relative;z-index:1}.free-dashboard-card h2{margin:.25rem 0 .5rem;color:#fff}.free-dashboard-card p{max-width:760px;color:#c9c1ce}.free-dashboard-card .actions{justify-content:flex-end;flex-wrap:wrap;min-width:300px}
.premium-locked-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:260px;background:linear-gradient(145deg,rgba(25,18,31,.98),rgba(12,10,16,.99));border-color:rgba(224,9,138,.2);position:relative;overflow:hidden}
.premium-locked-card:after{content:"";position:absolute;width:240px;height:240px;right:-90px;bottom:-130px;border-radius:50%;background:radial-gradient(circle,rgba(147,54,225,.18),transparent 70%);pointer-events:none}
.premium-locked-card>*{position:relative;z-index:1}.premium-lock-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#e0098a,#7a24da);color:#fff;font-size:25px;box-shadow:0 10px 30px rgba(224,9,138,.22)}
.premium-locked-card h2{margin:14px 0 6px}.premium-locked-card p{color:#bcb3c2;max-width:680px}.compact-premium-lock{min-height:auto;display:flex;flex-direction:row;align-items:center;gap:16px}.compact-premium-lock h2{margin:0 0 4px}.compact-premium-lock .premium-lock-icon{flex:0 0 42px;width:42px;height:42px}
.badge-free{border-color:rgba(47,187,168,.28)!important;background:rgba(47,187,168,.1)!important;color:#8be3d6!important}
body.free-tier-mode .free-feature-btn,body.free-tier-mode .free-feature-form button,body.free-tier-mode form.readonly-allowed button,body.free-tier-mode .public-catalog-action{opacity:1!important;filter:none!important;pointer-events:auto!important;cursor:pointer!important}
body.free-tier-mode .free-feature-form input,body.free-tier-mode .free-feature-form textarea,body.free-tier-mode .free-feature-form select{opacity:1!important;filter:none!important}
body.free-tier-mode .premium-nav{opacity:.82}
body.free-tier-mode .premium-nav:hover{opacity:1}
@media(max-width:850px){.free-dashboard-card{display:block}.free-dashboard-card .actions{justify-content:flex-start;min-width:0;margin-top:16px}.compact-premium-lock{align-items:flex-start}.nav-plan-tag{font-size:7px;padding:2px 5px}}


/* v1.4.19 – právní dokumenty, objednávky a tisk dokladů */
.billing-plan{cursor:pointer}.billing-plan input{margin-right:.55rem}.contract-snapshot-view,.subscription-document{max-width:980px;margin-inline:auto}.subscription-document table{width:100%;border-collapse:collapse}.subscription-document th,.subscription-document td{padding:.7rem;border:1px solid var(--border,#ddd);text-align:left;vertical-align:top}.legal-template{padding:1rem;border:1px solid var(--border,#ddd);border-radius:12px;background:rgba(127,127,127,.06)}
@media print{
  .app-sidebar,.app-topbar,.topbar,.app-footer,.public-header,.public-footer,.cookie-banner,.print-hidden{display:none!important}
  body,.app-shell,.app-main,.app-content,.public-shell{background:#fff!important;color:#000!important;display:block!important;min-height:0!important}
  .card,.legal-content{box-shadow:none!important;border:0!important;max-width:none!important;margin:0!important;padding:0!important}
  a{color:#000!important;text-decoration:none!important}.subscription-document table{break-inside:avoid}
}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100000;background:#fff;color:#111;padding:.75rem 1rem;border:2px solid currentColor;border-radius:8px}.skip-link:focus{top:1rem}
:focus-visible{outline:3px solid currentColor;outline-offset:3px}
