/*
 * DJSpace.cz — CONTROL design system
 * Version 1.1 / app 1.6.3
 * Standalone production theme. No legacy theme CSS is imported.
 * Hybrid control-desk layout: dark navigation, light work surface, restrained DJSpace magenta cue.
 */

:root {
  color-scheme: light;
  --nova-canvas: #f4f3f1;
  --nova-canvas-2: #eceae7;
  --nova-paper: #ffffff;
  --nova-paper-soft: #faf9f7;
  --nova-paper-tint: #f3f1ee;
  --nova-ink: #18202a;
  --nova-ink-2: #394452;
  --nova-muted: #5b6573;
  --nova-muted-2: #7c8592;
  --nova-line: #d9d7d3;
  --nova-line-strong: #c5c1bc;
  --nova-blue: #8a1f72;
  --nova-blue-2: #6f175b;
  --nova-blue-soft: #f8eaf4;
  --nova-violet: #4e4b68;
  --nova-violet-soft: #eeedf4;
  --nova-green: #16835f;
  --nova-green-soft: #e8f7f1;
  --nova-orange: #d66a22;
  --nova-orange-soft: #fff0e5;
  --nova-gold: #a8700f;
  --nova-gold-soft: #fff6d9;
  --nova-red: #c23f52;
  --nova-red-soft: #ffedf0;
  --nova-cyan: #157f9e;
  --nova-cyan-soft: #e6f7fb;
  --nova-sidebar: 264px;
  --nova-topbar: 68px;
  --nova-r-sm: 8px;
  --nova-r: 12px;
  --nova-r-lg: 18px;
  --nova-shadow-sm: 0 5px 16px rgba(19, 24, 31, .055);
  --nova-shadow: 0 14px 36px rgba(19, 24, 31, .085);
  --nova-shadow-lg: 0 24px 60px rgba(19, 24, 31, .13);
  --nova-font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

* { box-sizing: border-box; }
html { min-height: 100%; scroll-behavior: smooth; background: var(--nova-canvas); }
body {
  min-width: 0;
  min-height: 100vh;
  margin: 0;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 88% 0%, rgba(110,80,200,.07), transparent 28rem),
    radial-gradient(circle at 4% 16%, rgba(36,87,214,.06), transparent 30rem),
    var(--nova-canvas);
  color: var(--nova-ink);
  font: 15px/1.55 var(--nova-font);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body, button, input, select, textarea { font-family: var(--nova-font); }
img { max-width: 100%; height: auto; }
svg { vertical-align: middle; }
a { color: var(--nova-blue); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--nova-blue-2); }
button, a { -webkit-tap-highlight-color: transparent; }
button, input, select, textarea { font: inherit; }
[hidden], .is-hidden { display: none !important; }
.sr-only { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important; }
.skip-link { position:fixed;left:16px;top:-80px;z-index:10000;padding:10px 14px;border-radius:10px;background:var(--nova-ink);color:#fff;transition:top .2s ease; }
.skip-link:focus { top:12px; }
.hp-field { position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important; }

h1,h2,h3,h4,h5,p { margin-top:0; }
h1,h2,h3,h4,h5 { color:var(--nova-ink);line-height:1.15;letter-spacing:-.025em; }
h1 { font-size:clamp(30px,3.1vw,48px);margin-bottom:12px; }
h2 { font-size:clamp(22px,2vw,30px);margin-bottom:10px; }
h3 { font-size:18px;margin-bottom:8px; }
p { color:var(--nova-ink-2); }
small,.muted { color:var(--nova-muted); }
code { overflow-wrap:anywhere;padding:3px 7px;border:1px solid var(--nova-line);border-radius:8px;background:var(--nova-paper-tint);color:var(--nova-ink-2);font-size:.9em; }
.break-all { overflow-wrap:anywhere;word-break:break-word; }

.ui-icon { width:19px;height:19px;flex:0 0 auto; }
.eyebrow,.section-kicker {
  display:inline-flex;align-items:center;gap:7px;margin-bottom:8px;color:var(--nova-blue);font-size:10px;font-weight:850;letter-spacing:.13em;text-transform:uppercase;
}
.eyebrow > span { width:22px;height:2px;border-radius:2px;background:currentColor; }

/* ======================== APP SHELL ======================== */
.app-shell { min-height:100vh;display:grid;grid-template-columns:var(--nova-sidebar) minmax(0,1fr); }
.app-sidebar {
  position:fixed;inset:0 auto 0 0;z-index:150;width:var(--nova-sidebar);display:flex;flex-direction:column;padding:20px 14px 16px;border-right:1px solid var(--nova-line);background:rgba(255,255,255,.96);box-shadow:2px 0 20px rgba(18,33,61,.025);backdrop-filter:blur(18px);
}
.sidebar-brand { display:block;padding:5px 10px 17px;text-decoration:none; }
.sidebar-brand img { display:block;width:185px;max-height:58px;object-fit:contain;object-position:left center; }
.sidebar-nav { min-height:0;display:flex;flex-direction:column;gap:3px;overflow-y:auto;padding:2px 2px 8px;scrollbar-width:none; }
.sidebar-nav::-webkit-scrollbar { display:none; }
.sidebar-nav a {
  min-height:43px;display:flex;align-items:center;gap:11px;padding:9px 11px;border:1px solid transparent;border-radius:11px;color:#53627b;text-decoration:none;font-size:13.5px;font-weight:680;transition:.16s ease;
}
.sidebar-nav a:hover { background:#f3f6fb;color:var(--nova-ink);transform:translateX(2px); }
.sidebar-nav a:focus-visible { outline:3px solid rgba(36,87,214,.18);outline-offset:1px; }
.sidebar-nav a .ui-icon { width:18px;height:18px;color:#74829a; }
.sidebar-nav a:hover .ui-icon { color:var(--nova-blue); }
.sidebar-nav a > span { min-width:0;display:flex;align-items:center;gap:6px; }
.sidebar-nav a[href*="today"],.sidebar-nav a[href*="dnes-hraju"] { color:var(--nova-blue-2);background:var(--nova-blue-soft);font-weight:800; }
.sidebar-nav a[href*="forum"],.sidebar-nav a[href*="djs"],.sidebar-nav a[href*="friends"],.sidebar-nav a[href*="messages"] { border-left:2px solid rgba(110,80,200,.18); }
.nav-plan-tag,.nav-count-badge { display:inline-flex;align-items:center;justify-content:center;min-width:20px;padding:2px 6px;border-radius:99px;background:var(--nova-violet-soft);color:var(--nova-violet);font-size:8px;font-weight:900;letter-spacing:.04em; }
.nav-plan-free { background:var(--nova-green-soft);color:var(--nova-green); }
.nav-count-badge { background:var(--nova-red);color:#fff;font-size:9px; }
.nav-count-badge.is-friend { background:var(--nova-violet); }
.sidebar-bottom { margin-top:auto;padding-top:10px;border-top:1px solid var(--nova-line); }
.sidebar-logout { min-height:40px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--nova-line);border-radius:11px;background:#fff;color:var(--nova-muted);text-decoration:none;font-weight:700; }
.sidebar-logout:hover { border-color:#f0c5cc;background:var(--nova-red-soft);color:var(--nova-red); }
.sidebar-bottom > small { display:block;margin-top:8px;text-align:center;font-size:9px; }

.app-main { min-width:0;grid-column:2;padding:18px 22px 24px; }
.app-topbar {
  position:sticky;top:12px;z-index:110;min-height:var(--nova-topbar);display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 auto 12px;padding:9px 11px 9px 17px;border:1px solid rgba(215,224,237,.96);border-radius:15px;background:rgba(255,255,255,.94);box-shadow:var(--nova-shadow-sm);backdrop-filter:blur(18px);
}
.sidebar-toggle { display:none; }
.mobile-back-button { display:none!important; }
.app-topbar-title { min-width:0;display:flex;flex-direction:column; }
.app-topbar-title span { color:var(--nova-ink);font-size:17px;font-weight:850;letter-spacing:-.02em; }
.app-topbar-title small { margin-top:1px;font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase; }
.app-topbar-actions { min-width:0;display:flex;align-items:center;gap:8px; }
.topbar-bell { position:relative;width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--nova-line);border-radius:11px;background:#fff;color:var(--nova-ink-2);text-decoration:none; }
.topbar-bell:hover { border-color:#c8d6ed;background:var(--nova-blue-soft);color:var(--nova-blue); }
.topbar-bell b { position:absolute;right:-4px;top:-4px;min-width:18px;height:18px;display:grid;place-items:center;padding:0 4px;border:2px solid #fff;border-radius:99px;background:var(--nova-red);color:#fff;font-size:9px; }
.user-chip { max-width:235px;display:flex;align-items:center;gap:9px;padding:4px 10px 4px 4px;border:1px solid var(--nova-line);border-radius:12px;background:#fff;color:var(--nova-ink);text-decoration:none; }
.user-avatar { width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;background:var(--nova-violet-soft);color:var(--nova-violet);font-size:11px;font-weight:900; }
.user-chip > span:last-child { min-width:0; }
.user-chip strong,.user-chip small { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2; }
.user-chip strong { font-size:11px; }
.user-chip small { max-width:145px;margin-top:3px;font-size:8px; }
.admin-theme-shortcut { white-space:nowrap; }
.continuous-improvement-strip { max-width:1680px;margin:0 auto 14px;padding:8px 13px;border:1px solid #e8ddbd;border-radius:10px;background:#fffaf0;color:#71571c;font-size:10px;line-height:1.45; }
.continuous-improvement-strip strong { color:#5d4510; }
.continuous-improvement-strip a { color:#805d0b;font-weight:800; }

.admin-subnav { max-width:1680px;display:flex;flex-wrap:wrap;gap:5px;margin:0 auto 15px;padding:7px;border:1px solid var(--nova-line);border-radius:13px;background:#fff;box-shadow:var(--nova-shadow-sm); }
.admin-subnav a { flex:0 1 auto;padding:7px 9px;border-radius:8px;color:var(--nova-muted);text-decoration:none;font-size:10.5px;font-weight:720;white-space:nowrap; }
.admin-subnav a:hover { background:var(--nova-paper-tint);color:var(--nova-ink); }
.admin-subnav a.is-active { background:var(--nova-blue);color:#fff;box-shadow:0 5px 13px rgba(36,87,214,.17); }
.page.app-content { width:100%;max-width:1680px;margin:0 auto;padding:0; }
.app-footer { max-width:1680px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin:22px auto 0;padding:16px 2px 4px;border-top:1px solid var(--nova-line);color:var(--nova-muted);font-size:9px; }
.app-footer a { color:var(--nova-muted);text-decoration:none; }
.app-footer a:hover { color:var(--nova-blue); }

/* ======================== BASIC UI ======================== */
.page-head,.dashboard-heading { display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:12px 0 20px; }
.page-head > div,.dashboard-heading > div { min-width:0; }
.page-head h1,.dashboard-heading h1 { margin-bottom:7px; }
.page-head p,.dashboard-heading p { max-width:820px;margin-bottom:0;color:var(--nova-muted); }
.actions,.inline-actions,.settings-menu-actions,.forum-settings-actions,.public-actions,.today-actions,.transfer-decision-actions,.next-event-actions { display:flex;align-items:center;flex-wrap:wrap;gap:8px; }

.card,.stat-card,.inline-card,.soft-panel,.metric-card,.billing-plan,.admin-tile {
  min-width:0;border:1px solid var(--nova-line);border-radius:var(--nova-r);background:var(--nova-paper);box-shadow:var(--nova-shadow-sm);
}
.card { padding:20px; }
.card-head,.section-head-inline,.section-head { display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px; }
.card-head h2,.card-head h3,.section-head h2,.section-head h3 { margin-bottom:0; }
.card-head p { margin:5px 0 0; }
.card-head > a { font-size:11px;font-weight:800;text-decoration:none; }
.narrow-card { max-width:780px;margin-inline:auto; }
.wide-card { width:100%; }
.divider { height:1px;margin:18px 0;background:var(--nova-line); }

.btn,button.btn {
  min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 14px;border:1px solid var(--nova-line-strong);border-radius:10px;background:#fff;color:var(--nova-ink-2);font-weight:760;text-decoration:none;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease;
}
.btn:hover { transform:translateY(-1px);border-color:#b8c6db;color:var(--nova-ink);box-shadow:0 6px 16px rgba(32,48,80,.07); }
.btn:focus-visible { outline:3px solid rgba(36,87,214,.18);outline-offset:2px; }
.btn:disabled { opacity:.55;cursor:not-allowed;transform:none;box-shadow:none; }
.btn-primary,.btn:not(.btn-ghost):not(.btn-soft):not(.btn-danger):not(.btn-light)[type="submit"] { border-color:var(--nova-blue);background:var(--nova-blue);color:#fff;box-shadow:0 8px 18px rgba(36,87,214,.18); }
.btn-primary:hover { border-color:var(--nova-blue-2);background:var(--nova-blue-2);color:#fff; }
.btn-ghost,.btn-soft,.btn-light { border-color:var(--nova-line);background:var(--nova-paper-soft);color:var(--nova-ink-2); }
.btn-ghost:hover,.btn-soft:hover,.btn-light:hover { background:var(--nova-blue-soft);border-color:#cdd9f6;color:var(--nova-blue-2); }
.btn-danger { border-color:#efc7ce;background:var(--nova-red-soft);color:var(--nova-red); }
.btn-small { min-height:34px;padding:6px 10px;border-radius:9px;font-size:11px; }
.btn-lg { min-height:48px;padding:11px 19px;border-radius:12px;font-size:15px; }

.badge,.status-pill,.tag,.feature-tag { display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:99px;background:var(--nova-paper-tint);color:var(--nova-ink-2);font-size:9px;font-weight:850;white-space:nowrap; }
.badge-active,.badge-approved,.badge-confirmed,.is-paid,.badge-success { background:var(--nova-green-soft);color:var(--nova-green); }
.badge-pending,.badge-warning,.is-open { background:var(--nova-orange-soft);color:var(--nova-orange); }
.badge-danger,.is-overdue,.overdue { background:var(--nova-red-soft);color:var(--nova-red); }
.badge-free { background:var(--nova-blue-soft);color:var(--nova-blue); }

.flash,.alert,.notice,.readonly-banner { margin:0 0 14px;padding:13px 15px;border:1px solid var(--nova-line);border-radius:11px;background:#fff;color:var(--nova-ink-2);box-shadow:var(--nova-shadow-sm);overflow-wrap:anywhere; }
.flash-success,.alert-success { border-color:#c7eadb;background:var(--nova-green-soft);color:#176347; }
.flash-error,.alert-error { border-color:#efc7ce;background:var(--nova-red-soft);color:#963344; }
.flash-warning { border-color:#efd7b7;background:var(--nova-orange-soft);color:#8f481b; }
.flash-info,.readonly-banner { border-color:#d4def5;background:var(--nova-blue-soft);color:#294c9d; }
.readonly-banner strong { color:#173c91; }

.grid-2,.grid-3,.compact-grid,.stats-grid,.admin-kpi-grid,.commission-summary-grid,.subscription-summary-grid,.dashboard-grid,.dashboard-primary-grid,.dashboard-secondary-grid,.dashboard-bottom-grid,.quick-action-grid,.subscription-plans,.pricing-grid,.showcase-grid,.process-grid,.new-reasons-grid,.feature-grid,.admin-metrics-grid,.admin-dashboard-lower-grid,.admin-quick-grid,.mfa-setup-grid,.signature-proof-grid,.invoice-logo-previews,.legal-document-cards { display:grid;gap:14px; }
.grid-2,.dashboard-secondary-grid,.dashboard-bottom-grid,.admin-dashboard-lower-grid,.mfa-setup-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.grid-3,.process-grid,.showcase-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.stats-grid,.admin-kpi-grid,.admin-metrics-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.feature-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.stat-card,.admin-kpi,.metric-card { padding:17px; }
.stat-card small,.admin-kpi small,.metric-card small { display:block;margin-bottom:6px;color:var(--nova-muted);font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase; }
.stat-card strong,.admin-kpi strong,.metric-card strong,.viz-stat-value { display:block;color:var(--nova-ink);font-size:25px;line-height:1.05; }
.stat-card em { display:block;margin-top:5px;color:var(--nova-muted);font-size:10px;font-style:normal; }

/* ======================== FORMS ======================== */
.form-grid { display:grid;gap:14px; }
.form-row { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.form-row-3 { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px; }
.form-inline,.inline-form,.filters,.admin-filter-row,.inline-search { display:flex;align-items:end;flex-wrap:wrap;gap:9px; }
label,.field-label { color:var(--nova-ink-2);font-size:11px;font-weight:730; }
.field { min-width:0; }
input:not([type="checkbox"]):not([type="radio"]),select,textarea {
  width:100%;min-height:42px;margin-top:5px;padding:9px 11px;border:1px solid var(--nova-line-strong);border-radius:9px;outline:0;background:#fff;color:var(--nova-ink);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
textarea { min-height:112px;resize:vertical; }
input:focus,select:focus,textarea:focus { border-color:#829de8;box-shadow:0 0 0 3px rgba(36,87,214,.11); }
input::placeholder,textarea::placeholder { color:#9aa5b6; }
input:disabled,select:disabled,textarea:disabled { background:#f0f2f5;color:#8993a3; }
input[type="checkbox"],input[type="radio"] { accent-color:var(--nova-blue); }
.check,.privacy-check,.terms-check,.consumer-start-check { display:flex;align-items:flex-start;gap:8px;color:var(--nova-ink-2);font-weight:520;line-height:1.45; }
.check input,.privacy-check input,.terms-check input,.consumer-start-check input { margin-top:3px; }
.checkbox-grid,.checkboxes { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
.datetime-field { min-width:0; }

/* ======================== TABLES ======================== */
.table-wrap { width:100%;overflow-x:auto;border:1px solid var(--nova-line);border-radius:13px;background:#fff;box-shadow:var(--nova-shadow-sm);scrollbar-width:none;-webkit-overflow-scrolling:touch; }
.table-wrap::-webkit-scrollbar { display:none; }
table { width:100%;border-collapse:collapse;background:#fff;color:var(--nova-ink-2); }
th,td { padding:11px 12px;border-bottom:1px solid #e9edf3;text-align:left;vertical-align:top;overflow-wrap:anywhere; }
th { background:#f6f8fb;color:#718097;font-size:9px;font-weight:850;letter-spacing:.055em;text-transform:uppercase; }
tbody tr:last-child td { border-bottom:0; }
tbody tr:hover { background:#fbfcfe; }
.pagination,.forum-pagination,.dj-catalog-pagination { display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:6px;margin-top:16px; }
.pagination a,.pagination span,.forum-pagination a,.forum-pagination span,.dj-catalog-pagination a,.dj-catalog-pagination span { min-width:34px;height:34px;display:grid;place-items:center;padding:0 9px;border:1px solid var(--nova-line);border-radius:9px;background:#fff;color:var(--nova-ink-2);text-decoration:none;font-size:11px;font-weight:750; }

/* ======================== LISTS / EMPTY ======================== */
.compact-list,.detail-list,.attachment-list,.panel-stack,.stack { display:grid;gap:8px; }
.compact-list > a,.detail-list > div,.attachment-item,.rental-item-row,.recipient-list > * { min-width:0;padding:11px 12px;border:1px solid #e5eaf2;border-radius:10px;background:#fbfcfe;color:var(--nova-ink);overflow-wrap:anywhere; }
.compact-list > a { display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;text-decoration:none; }
.empty-state,.empty { padding:24px;border:1px dashed #cbd5e3;border-radius:13px;background:#fafbfd;color:var(--nova-muted);text-align:center; }
.empty-state.spacious { min-height:250px;display:grid;place-items:center;align-content:center;gap:10px; }

/* ======================== USER DASHBOARD ======================== */
.dashboard-heading { margin-top:10px; }
.dashboard-stats { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px; }
.dashboard-stats .stat-card { position:relative;overflow:hidden; }
.dashboard-stats .stat-card::after { content:"";position:absolute;right:-18px;bottom:-28px;width:72px;height:72px;border-radius:50%;background:var(--nova-blue-soft); }
.dashboard-stats .stat-card:nth-child(2)::after { background:var(--nova-green-soft); }
.dashboard-stats .stat-card:nth-child(3)::after { background:var(--nova-violet-soft); }
.dashboard-stats .stat-card:nth-child(4)::after { background:var(--nova-gold-soft); }
.dashboard-primary-grid { grid-template-columns:minmax(0,1.55fr) minmax(280px,.7fr);margin-bottom:14px; }
.dashboard-secondary-grid,.dashboard-bottom-grid { margin-bottom:14px; }
.dashboard-agenda,.income-card,.today-dashboard-card,.quick-actions-card,.onboarding-card,.free-dashboard-card { padding:20px; }
.agenda-list,.quick-action-list { display:grid;gap:8px; }
.agenda-item,.quick-action-list a { min-width:0;padding:11px 12px;border:1px solid #e7ebf2;border-radius:10px;background:#fbfcfe;color:var(--nova-ink);text-decoration:none; }
.income-total { margin:8px 0 15px;color:var(--nova-ink);font-size:32px;font-weight:850;letter-spacing:-.04em; }
.bar-chart { min-height:160px;display:flex;align-items:end;gap:8px;padding-top:12px; }
.bar-column { flex:1;min-width:12px;border-radius:6px 6px 2px 2px;background:var(--nova-blue-soft); }
.today-date { color:var(--nova-blue);font-weight:850; }

/* ======================== ADMIN DASHBOARD ======================== */
.admin-dashboard-pro-hero { display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:10px 0 17px;padding:24px;border:1px solid #d9e1ee;border-radius:20px;background:#fff;box-shadow:var(--nova-shadow); }
.admin-dashboard-pro-hero h1 { margin-bottom:6px; }
.admin-dashboard-pro-status { display:flex;align-items:center;gap:8px;color:var(--nova-green);font-size:11px;font-weight:800; }
.admin-dashboard-pro-status::before { content:"";width:8px;height:8px;border-radius:50%;background:var(--nova-green);box-shadow:0 0 0 4px var(--nova-green-soft); }
.admin-metrics-grid { grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:14px; }
.admin-metrics-grid .stat-card,.admin-kpi-grid .stat-card { padding:16px; }
.admin-metric-icon { width:36px;height:36px;display:grid;place-items:center;margin-bottom:12px;border-radius:10px;background:var(--nova-blue-soft);color:var(--nova-blue); }
.admin-metrics-grid > *:nth-child(2n) .admin-metric-icon { background:var(--nova-violet-soft);color:var(--nova-violet); }
.admin-metrics-grid > *:nth-child(3n) .admin-metric-icon { background:var(--nova-green-soft);color:var(--nova-green); }
.admin-metrics-grid > *:nth-child(5n) .admin-metric-icon { background:var(--nova-gold-soft);color:var(--nova-gold); }
.admin-activity-list { display:grid;gap:8px; }
.admin-activity-item { display:grid;grid-template-columns:9px minmax(0,1fr);gap:11px;align-items:start;padding:11px 12px;border:1px solid #e6eaf1;border-radius:10px;background:#fbfcfe;color:var(--nova-ink-2);text-decoration:none;overflow-wrap:anywhere; }
.activity-dot { width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--nova-blue);box-shadow:0 0 0 3px var(--nova-blue-soft); }
.admin-activity-item small { display:block;margin-top:3px;font-size:9px; }
.admin-quick-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.admin-quick-grid a { padding:13px;border:1px solid #e5eaf1;border-radius:11px;background:#fbfcfe;color:var(--nova-ink);text-decoration:none; }
.admin-quick-grid strong,.admin-quick-grid small { display:block; }
.admin-quick-grid small { margin-top:3px; }

/* ======================== EVENT PAGES ======================== */
.event-tabs,.section-tabs,.rental-tabs,.tabs { display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;padding:6px;border:1px solid var(--nova-line);border-radius:11px;background:#fff; }
.event-tabs a,.section-tabs a,.rental-tabs a,.tabs a { padding:7px 10px;border-radius:8px;color:var(--nova-muted);text-decoration:none;font-size:11px;font-weight:750; }
.event-tabs a:hover,.section-tabs a:hover,.rental-tabs a:hover,.tabs a:hover,.event-tabs a.is-active,.section-tabs a.is-active,.rental-tabs a.is-active { background:var(--nova-blue-soft);color:var(--nova-blue-2); }
.event-tab-section,.event-type-section,.event-collapsible { margin-bottom:14px;padding:18px;border:1px solid var(--nova-line);border-radius:var(--nova-r);background:#fff;box-shadow:var(--nova-shadow-sm); }
.event-collapsible > summary { cursor:pointer;color:var(--nova-ink);font-weight:800; }
.event-collapsible-body { padding-top:14px; }
.event-filters-desktop { display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px; }
.event-filters-mobile { display:none; }
.event-filter-menu { display:grid;gap:6px;margin-top:8px; }
.event-floating-save { position:sticky;bottom:12px;z-index:80;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:10px 12px;border:1px solid #d7e0ed;border-radius:13px;background:rgba(255,255,255,.95);box-shadow:var(--nova-shadow);backdrop-filter:blur(12px); }
.event-autosave-status { display:flex;align-items:center;gap:6px;color:var(--nova-muted);font-size:10px; }
.event-autosave-dot { width:7px;height:7px;border-radius:50%;background:var(--nova-green); }
.quick-action-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.quick-invoice-card,.payment-without-invoice-card,.transfer-status-card,.transfer-decision-card { padding:16px;border:1px solid var(--nova-line);border-radius:13px;background:#fff; }

/* ======================== SETTINGS ======================== */
.settings-grid { display:grid;gap:13px; }
.settings-card,.settings-menu-card { display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:15px;padding:17px; }
.settings-card-icon { width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:var(--nova-blue-soft);color:var(--nova-blue); }
.settings-card:nth-child(3n) .settings-card-icon { background:var(--nova-violet-soft);color:var(--nova-violet); }
.settings-card:nth-child(4n) .settings-card-icon { background:var(--nova-green-soft);color:var(--nova-green); }
.settings-card h2 { margin-bottom:4px;font-size:17px; }
.settings-card p { margin:0;color:var(--nova-muted);font-size:12px; }
.settings-menu-card { display:block; }
.settings-menu-head { display:flex;align-items:center;gap:12px;margin-bottom:15px; }
.settings-menu-options { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px; }
.settings-menu-section { grid-column:1/-1;padding-top:8px;color:var(--nova-muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em; }
.settings-menu-section small { display:block;margin-top:2px;text-transform:none;letter-spacing:0; }
.settings-menu-option { display:grid;grid-template-columns:auto 35px minmax(0,1fr);align-items:center;gap:9px;padding:10px;border:1px solid #e5eaf2;border-radius:10px;background:#fbfcfe; }
.settings-menu-option-icon { width:35px;height:35px;display:grid;place-items:center;border-radius:9px;background:#fff;color:var(--nova-blue); }
.settings-menu-option-copy strong,.settings-menu-option-copy small { display:block; }
.settings-menu-option-copy small { margin-top:2px;font-size:9px; }
.settings-menu-actions { margin-top:13px; }
.settings-menu-note { margin:12px 0 0;padding:10px;border-radius:9px;background:var(--nova-paper-tint);font-size:10px; }
.premium-locked-card { background:#fafbfc;opacity:.86; }
.premium-lock-icon { color:var(--nova-gold); }

/* ======================== SOCIAL / DJ CATALOG ======================== */
.dj-catalog-search,.catalog-search-card { margin-bottom:14px;padding:14px;border:1px solid var(--nova-line);border-radius:13px;background:#fff;box-shadow:var(--nova-shadow-sm); }
.dj-catalog-search-field { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px; }
.dj-catalog-grid { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px; }
.dj-card { min-width:0;overflow:hidden;border:1px solid var(--nova-line);border-radius:14px;background:#fff;box-shadow:var(--nova-shadow-sm); }
.dj-card-photo,.dj-card-placeholder { aspect-ratio:4/3;width:100%;display:grid;place-items:center;background:var(--nova-paper-tint);overflow:hidden; }
.dj-card-photo img { width:100%;height:100%;object-fit:cover;transition:transform .3s ease; }
.dj-card:hover .dj-card-photo img { transform:scale(1.025); }
.dj-card-placeholder { color:var(--nova-muted-2);font-weight:850; }
.dj-card-content { padding:13px; }
.dj-card-content h2,.dj-card-content h3 { margin-bottom:5px;font-size:15px; }
.dj-card-region { margin-bottom:6px;color:var(--nova-blue);font-size:10px;font-weight:750; }
.dj-card-excerpt { display:-webkit-box;overflow:hidden;-webkit-line-clamp:5;-webkit-box-orient:vertical;min-height:0;margin-bottom:9px;color:var(--nova-muted);font-size:10px;line-height:1.45; }
.dj-card-styles { display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:10px;color:var(--nova-muted);font-size:9px; }
.dj-card-actions { display:flex;flex-wrap:wrap;gap:6px; }
.dj-card-actions .btn { flex:1 1 auto;min-height:32px;padding:5px 7px;font-size:9px; }
.social-section { margin-bottom:16px; }
.social-list { display:grid;gap:8px; }
.social-person { display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px;border:1px solid #e5eaf2;border-radius:11px;background:#fff; }
.social-avatar,.forum-avatar { width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:var(--nova-violet-soft);color:var(--nova-violet);overflow:hidden;font-weight:850; }
.social-avatar img,.forum-avatar img { width:100%;height:100%;object-fit:cover; }
.social-person-copy strong,.social-person-copy small { display:block; }
.friend-state { color:var(--nova-muted);font-size:10px; }

.messages-layout { display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.55fr);gap:14px;min-height:560px; }
.conversation-list,.conversation-panel { min-width:0;border:1px solid var(--nova-line);border-radius:14px;background:#fff;box-shadow:var(--nova-shadow-sm); }
.conversation-list { padding:8px; }
.conversation-list > a { display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;border-radius:10px;color:var(--nova-ink);text-decoration:none; }
.conversation-list > a:hover { background:var(--nova-paper-tint); }
.message-count { min-width:20px;height:20px;display:grid;place-items:center;border-radius:99px;background:var(--nova-blue);color:#fff;font-size:9px;font-weight:850; }
.conversation-panel { display:flex;flex-direction:column;min-height:560px; }
.conversation-header { padding:14px 16px;border-bottom:1px solid var(--nova-line); }
.message-stream { flex:1;display:flex;flex-direction:column;gap:8px;padding:16px;overflow-y:auto;scrollbar-width:none; }
.message-stream::-webkit-scrollbar { display:none; }
.message-stream > * { max-width:78%;padding:9px 11px;border-radius:12px;background:var(--nova-paper-tint);color:var(--nova-ink-2);overflow-wrap:anywhere; }
.message-stream > *.is-outgoing { align-self:flex-end;background:var(--nova-blue);color:#fff; }
.message-composer { padding:12px;border-top:1px solid var(--nova-line); }
.message-composer-footer { display:flex;justify-content:flex-end;margin-top:7px; }

/* ======================== FORUM ======================== */
.forum-page-head { align-items:flex-end; }
.forum-notification-settings,.forum-composer,.forum-thread { margin-bottom:13px;padding:17px;border:1px solid var(--nova-line);border-radius:14px;background:#fff;box-shadow:var(--nova-shadow-sm); }
.forum-composer-head,.forum-author-row,.comment-head { display:flex;align-items:center;gap:10px; }
.forum-wall { display:grid;gap:12px; }
.forum-author-copy strong,.forum-author-copy small { display:block; }
.forum-thread-meta { color:var(--nova-muted);font-size:9px; }
.forum-post-body { margin:13px 0;color:var(--nova-ink-2);overflow-wrap:anywhere; }
.forum-post-actions,.forum-reply-actions { display:flex;align-items:center;flex-wrap:wrap;gap:8px; }
.forum-text-action { padding:0;border:0;background:none;color:var(--nova-blue);font-weight:750;cursor:pointer; }
.forum-replies { display:grid;gap:8px;margin-top:12px;padding-left:18px;border-left:2px solid #e7ecf4; }
.forum-reply { padding:11px;border-radius:10px;background:#f8fafc; }
.forum-reply-line { display:grid;grid-template-columns:36px minmax(0,1fr);gap:9px; }
.forum-like-form button { border:0;background:transparent;color:var(--nova-muted);font-weight:750;cursor:pointer; }
.forum-like-form button:hover,.forum-like-form .is-active { color:var(--nova-red); }
.forum-image-grid,.profile-gallery,.profile-gallery-admin { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px; }
.forum-image-link,.public-gallery-card { overflow:hidden;border-radius:10px;background:var(--nova-paper-tint); }
.forum-image-link img,.public-gallery-card img { width:100%;height:100%;aspect-ratio:1/1;object-fit:cover; }

/* ======================== RENTAL / INVOICES ======================== */
.rental-kpis { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px; }
.rental-equipment-thumb,.rental-item-photo-preview,.rental-order-item-photo { overflow:hidden;border-radius:9px;background:var(--nova-paper-tint); }
.rental-equipment-thumb img,.rental-item-photo-preview img,.rental-order-item-photo img { width:100%;height:100%;object-fit:cover; }
.rental-item-row { display:grid;grid-template-columns:55px minmax(0,1fr) auto;gap:10px;align-items:center; }
.rental-item-total,.invoice-item-total { text-align:right;font-weight:800; }
.invoice-editor,.invoice-status-card,.invoice-design-settings,.vat-settings-card,.payment-box,.subscription-payment-box,.invoice-revisions { padding:17px;border:1px solid var(--nova-line);border-radius:14px;background:#fff;box-shadow:var(--nova-shadow-sm); }
.invoice-edit-items { display:grid;gap:8px; }
.invoice-edit-item { display:grid;grid-template-columns:minmax(0,1fr) repeat(3,minmax(100px,.3fr));gap:8px;align-items:end;padding:10px;border:1px solid #e7ebf2;border-radius:10px;background:#fbfcfe; }
.invoice-editor-total { display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:14px;font-size:18px;font-weight:850; }
.invoice-logo-previews { grid-template-columns:repeat(2,minmax(0,1fr)); }
.invoice-color-grid { display:flex;flex-wrap:wrap;gap:8px; }
.invoice-color-choice { display:flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid var(--nova-line);border-radius:9px; }
.invoice-color-swatch { width:20px;height:20px;border-radius:6px;border:1px solid rgba(0,0,0,.08); }
.subscription-summary-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.subscription-plans { grid-template-columns:repeat(2,minmax(0,1fr)); }
.subscription-order-card,.billing-legal-form { padding:17px;border:1px solid var(--nova-line);border-radius:14px;background:#fff; }
.subscription-qr img { display:block;max-width:220px;margin:auto; }

/* ======================== PUBLIC / LANDING ======================== */
.public-shell { min-height:100vh; }
.public-topbar { position:sticky;top:0;z-index:120;max-width:1420px;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 auto;padding:10px 22px;border-bottom:1px solid rgba(221,228,238,.9);background:rgba(255,255,255,.92);backdrop-filter:blur(18px); }
.public-brand { display:block; }
.public-brand img { display:block;width:190px;max-height:52px;object-fit:contain;object-position:left center; }
.public-nav { display:flex;align-items:center;gap:20px; }
.public-nav > a:not(.btn) { color:var(--nova-ink-2);text-decoration:none;font-size:12px;font-weight:720; }
.public-nav > a:not(.btn):hover { color:var(--nova-blue); }
.nav-toggle { display:none; }
.public-content { max-width:1420px;margin:0 auto;padding:0 22px 50px; }
.hero { min-height:620px;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(480px,.98fr);align-items:center;gap:54px;padding:70px 0 55px; }
.hero h1 { max-width:680px;font-size:clamp(44px,5.2vw,78px);line-height:.98;letter-spacing:-.055em; }
.hero h1 em { color:var(--nova-blue);font-style:normal; }
.hero-copy > p { max-width:650px;margin-bottom:22px;color:#58667d;font-size:17px; }
.hero-actions { display:flex;flex-wrap:wrap;gap:9px;margin-bottom:17px; }
.hero-points { display:flex;flex-wrap:wrap;gap:8px 14px;color:var(--nova-muted);font-size:10px;font-weight:700; }
.hero-visual { position:relative;min-height:500px; }
.visual-glow { position:absolute;inset:8% 4% 12% 5%;border-radius:50%;background:radial-gradient(circle,rgba(36,87,214,.16),rgba(110,80,200,.08) 45%,transparent 72%);filter:blur(24px); }
.dashboard-preview { position:absolute;left:0;right:5%;top:7%;display:grid;grid-template-columns:64px minmax(0,1fr);min-height:360px;overflow:hidden;border:1px solid #dfe5ee;border-radius:20px;background:#fff;box-shadow:var(--nova-shadow-lg);transform:rotate(-1.2deg); }
.preview-sidebar { display:flex;flex-direction:column;align-items:center;gap:13px;padding:18px 10px;background:#16213a; }
.preview-sidebar img { width:31px; }
.preview-sidebar i { width:28px;height:7px;border-radius:9px;background:rgba(255,255,255,.17); }
.preview-main { padding:18px; }
.preview-top { display:flex;justify-content:space-between;align-items:center;margin-bottom:18px; }
.preview-top b { width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--nova-violet-soft);color:var(--nova-violet); }
.preview-stats { display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px; }
.preview-stats > div { padding:11px;border-radius:10px;background:#f5f7fb; }
.preview-stats small,.preview-stats strong { display:block; }
.preview-stats small { font-size:8px; }
.preview-stats strong { margin-top:4px;font-size:17px; }
.preview-grid { display:grid;grid-template-columns:1.15fr .85fr;gap:10px; }
.preview-list,.preview-chart { min-height:180px;padding:12px;border:1px solid #e7ebf2;border-radius:11px; }
.preview-list h4 { font-size:11px; }
.preview-list p { margin:7px 0;font-size:8px; }
.preview-chart { position:relative;display:flex;align-items:end;gap:5px;overflow:hidden; }
.preview-chart span { width:12%;border-radius:5px 5px 0 0;background:var(--nova-blue-soft); }
.preview-chart span:nth-child(1){height:27%}.preview-chart span:nth-child(2){height:40%}.preview-chart span:nth-child(3){height:52%}.preview-chart span:nth-child(4){height:65%}.preview-chart span:nth-child(5){height:78%}
.preview-chart svg { position:absolute;inset:20% 7% 15%;width:86%;height:65%;fill:none;stroke:var(--nova-blue);stroke-width:4; }
.phone-preview { position:absolute;right:0;bottom:0;width:185px;min-height:320px;padding:18px 12px;border:5px solid #16213a;border-radius:28px;background:#fff;box-shadow:var(--nova-shadow-lg);transform:rotate(3deg); }
.phone-notch { width:64px;height:12px;margin:-12px auto 15px;border-radius:0 0 10px 10px;background:#16213a; }
.phone-preview h4 { font-size:12px; }
.phone-event { margin-top:9px;padding:9px;border-radius:10px;background:#f4f6fa; }
.phone-event small,.phone-event strong,.phone-event span { display:block; }
.phone-event small { color:var(--nova-blue);font-size:7px; }
.phone-event strong { margin:2px 0;font-size:8px; }
.phone-event span { color:var(--nova-muted);font-size:7px; }
.trust-strip { display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px 18px;margin-bottom:55px;padding:13px 18px;border:1px solid var(--nova-line);border-radius:12px;background:#fff;color:var(--nova-muted);font-size:10px;font-weight:760; }
.trust-strip i { width:4px;height:4px;border-radius:50%;background:var(--nova-blue); }
.landing-section { padding:65px 0; }
.section-heading { max-width:780px;margin:0 auto 30px;text-align:center; }
.section-heading p { color:var(--nova-muted); }
.feature-card,.reason-card,.process-grid article,.showcase-card,.pricing-card { padding:22px;border:1px solid var(--nova-line);border-radius:16px;background:#fff;box-shadow:var(--nova-shadow-sm); }
.feature-card:hover,.reason-card:hover { border-color:#cbd7eb;box-shadow:var(--nova-shadow); }
.feature-icon { width:42px;height:42px;display:grid;place-items:center;margin-bottom:14px;border-radius:11px;background:var(--nova-blue-soft);color:var(--nova-blue);font-size:20px;font-weight:800; }
.feature-card:nth-child(3n+2) .feature-icon { background:var(--nova-violet-soft);color:var(--nova-violet); }
.feature-card:nth-child(3n) .feature-icon { background:var(--nova-green-soft);color:var(--nova-green); }
.feature-card-featured { border-color:#ccd8ef; }
.features-all-link { margin-top:18px;text-align:center; }
.process-grid article > span { width:34px;height:34px;display:grid;place-items:center;margin-bottom:13px;border-radius:10px;background:var(--nova-blue);color:#fff;font-weight:900; }
.showcase-title { display:flex;justify-content:space-between;gap:12px;margin-bottom:15px; }
.showcase-title span { font-weight:850; }
.showcase-title small { text-align:right; }
.invoice-showcase,.rental-showcase,.forum-showcase { padding:14px;border-radius:12px;background:var(--nova-paper-tint); }
.invoice-showcase { display:flex;justify-content:space-between;align-items:center; }
.invoice-showcase small,.invoice-showcase strong,.invoice-showcase span { display:block; }
.invoice-showcase b { color:var(--nova-green); }
.venue-row { display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;margin-top:9px;padding:9px;border-top:1px solid var(--nova-line); }
.venue-row > b { width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:var(--nova-blue-soft);color:var(--nova-blue); }
.venue-row strong,.venue-row small { display:block; }
.venue-row em { color:var(--nova-muted);font-size:9px;font-style:normal; }
.pricing-grid { max-width:920px;margin:auto;grid-template-columns:repeat(2,minmax(0,1fr)); }
.pricing-card { position:relative; }
.pricing-card-plus { border-color:#bdcbee;box-shadow:var(--nova-shadow); }
.pricing-ribbon { position:absolute;right:14px;top:14px;padding:5px 8px;border-radius:99px;background:var(--nova-blue);color:#fff;font-size:8px;font-weight:850; }
.pricing-kicker { color:var(--nova-muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.07em; }
.pricing-price { display:flex;align-items:end;gap:7px;margin:16px 0; }
.pricing-price strong { font-size:34px;letter-spacing:-.04em; }
.pricing-price span { padding-bottom:5px;color:var(--nova-muted);font-size:10px; }
.pricing-card ul { padding-left:18px;color:var(--nova-ink-2);font-size:12px; }
.pricing-card li { margin:7px 0; }
.landing-cta { display:flex;align-items:center;justify-content:space-between;gap:30px;margin:30px 0 50px;padding:34px;border:1px solid #ccd8ef;border-radius:22px;background:var(--nova-blue-soft); }
.landing-cta > div { max-width:760px; }
.registration-wrap { display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.75fr);gap:42px;align-items:center;padding:65px 0 20px; }
.registration-benefits { display:grid;gap:7px;color:var(--nova-ink-2);font-size:11px;font-weight:700; }
.registration-card { padding:25px;box-shadow:var(--nova-shadow); }

/* Homepage DJ carousel */
.home-dj-showcase-head { display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:18px; }
.home-dj-showcase-head .section-heading { margin:0;text-align:left; }
.home-dj-carousel-controls { display:flex;gap:7px; }
.home-dj-carousel-button { width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--nova-line);border-radius:10px;background:#fff;color:var(--nova-ink);cursor:pointer; }
.home-dj-carousel-shell { overflow:hidden; }
.home-dj-carousel-track { display:flex;gap:12px;transition:transform .35s ease; }
.home-dj-profile-card { flex:0 0 calc((100% - 48px)/5);min-width:0;overflow:hidden;border:1px solid var(--nova-line);border-radius:14px;background:#fff;box-shadow:var(--nova-shadow-sm); }
.home-dj-profile-photo,.home-dj-profile-placeholder { aspect-ratio:4/3;background:var(--nova-paper-tint);overflow:hidden; }
.home-dj-profile-photo img { width:100%;height:100%;object-fit:cover; }
.home-dj-profile-placeholder { display:grid;place-items:center;color:var(--nova-muted);font-weight:850; }
.home-dj-profile-body { padding:12px; }
.home-dj-profile-body h3 { font-size:14px; }
.home-dj-profile-region { color:var(--nova-blue);font-size:9px;font-weight:750; }
.home-dj-profile-summary { display:-webkit-box;overflow:hidden;-webkit-line-clamp:4;-webkit-box-orient:vertical;color:var(--nova-muted);font-size:9px; }
.home-dj-profile-link { font-size:9px;font-weight:850;text-decoration:none; }
.home-dj-showcase-foot { margin-top:14px;color:var(--nova-muted);font-size:11px;text-align:center; }

.public-footer { max-width:1420px;display:grid;grid-template-columns:1.3fr .7fr 1fr;gap:30px;margin:0 auto;padding:38px 22px;border-top:1px solid var(--nova-line);color:var(--nova-muted); }
.public-footer > div:not(.footer-copy) { display:flex;flex-direction:column;gap:7px; }
.public-footer a { color:var(--nova-muted);text-decoration:none;font-size:10px; }
.public-footer strong { margin-bottom:4px;color:var(--nova-ink); }
.footer-brand img { width:180px; }
.footer-brand p { max-width:380px;font-size:10px; }
.footer-copy { grid-column:1/-1;padding-top:15px;border-top:1px solid var(--nova-line);font-size:9px; }

/* ======================== PUBLIC PROFILES / LEGAL / LOGIN ======================== */
.public-profile,.public-hero,.legal-page-wrap,.login-box,.mfa-login-card,.contract-public-card,.unsubscribe-card,.error-recovery-card { max-width:980px;margin:24px auto;padding:22px;border:1px solid var(--nova-line);border-radius:18px;background:#fff;box-shadow:var(--nova-shadow-sm); }
.public-hero { display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;align-items:center; }
.public-photo-wrap,.public-photo-placeholder { width:180px;aspect-ratio:1/1;overflow:hidden;border-radius:18px;background:var(--nova-paper-tint); }
.public-photo-wrap img { width:100%;height:100%;object-fit:cover; }
.public-photo-placeholder { display:grid;place-items:center;color:var(--nova-muted);font-weight:850; }
.public-sections { display:grid;gap:13px; }
.legal-content { max-width:880px;margin:auto;color:var(--nova-ink-2); }
.legal-content h2,.legal-content h3 { margin-top:24px; }
.legal-note,.features-notice,.features-maintenance-note { padding:13px;border-left:3px solid var(--nova-blue);border-radius:0 10px 10px 0;background:var(--nova-blue-soft); }
.login-page { min-height:calc(100vh - 160px);display:grid;place-items:center;padding:35px 0; }
.login-box,.mfa-login-card { width:min(100%,480px);padding:28px; }
.login-brand { text-align:center;margin-bottom:18px; }
.login-brand img { width:190px; }
.login-links { display:flex;justify-content:space-between;gap:10px;margin-top:14px;font-size:10px; }

/* ======================== FUNCTIONALITY CATALOG ======================== */
.features-hero { padding:35px 0 20px;text-align:center; }
.features-summary { display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:15px; }
.features-toc { display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin:14px 0 30px; }
.features-toc a { padding:6px 9px;border:1px solid var(--nova-line);border-radius:99px;background:#fff;text-decoration:none;font-size:10px;font-weight:750; }
.features-catalog { display:grid;gap:20px; }
.features-section { padding:20px;border:1px solid var(--nova-line);border-radius:16px;background:#fff; }
.features-section > h2 { display:flex;align-items:center;justify-content:space-between; }
.features-count { color:var(--nova-muted);font-size:10px; }
.features-list { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px; }
.features-list > * { padding:11px;border:1px solid #e7ebf2;border-radius:10px;background:#fbfcfe; }

/* ======================== COOKIE ======================== */
.cookie-consent { position:fixed;left:18px;right:18px;bottom:18px;z-index:9990;max-width:980px;margin:auto;padding:15px;border:1px solid var(--nova-line);border-radius:15px;background:rgba(255,255,255,.98);box-shadow:var(--nova-shadow-lg); }
.cookie-banner-copy { margin-bottom:10px; }
.cookie-banner-copy p { margin-bottom:0;font-size:11px; }
.cookie-banner-actions { display:flex;flex-wrap:wrap;gap:7px; }
.cookie-modal { position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:18px;background:rgba(20,32,51,.45); }
.cookie-modal-card { width:min(100%,650px);max-height:86vh;overflow-y:auto;padding:22px;border-radius:18px;background:#fff;box-shadow:var(--nova-shadow-lg);scrollbar-width:none; }
.cookie-modal-card::-webkit-scrollbar { display:none; }
.cookie-modal-close { float:right;border:0;background:none;font-size:22px;cursor:pointer; }
.cookie-category { display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--nova-line); }
.cookie-switch { display:flex;align-items:center;gap:7px; }
.cookie-modal-actions { display:flex;flex-wrap:wrap;gap:7px;margin-top:14px; }

/* ======================== THEME ADMIN ======================== */
.theme-switch-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px; }
.theme-choice-card { position:relative;padding:20px; }
.theme-choice-card.is-active { border-color:#aebfe9;box-shadow:0 0 0 3px rgba(36,87,214,.08),var(--nova-shadow); }
.theme-state-badge { display:inline-flex;margin:14px 0 7px;padding:4px 7px;border-radius:99px;background:var(--nova-paper-tint);color:var(--nova-muted);font-size:8px;font-weight:900;letter-spacing:.08em; }
.theme-choice-card.is-active .theme-state-badge { background:var(--nova-green-soft);color:var(--nova-green); }
.theme-preview { position:relative;height:190px;overflow:hidden;border:1px solid var(--nova-line);border-radius:13px;background:#f3f5f9; }
.theme-preview .preview-side { position:absolute;left:0;top:0;bottom:0;width:22%;background:#fff;border-right:1px solid #dfe4ec; }
.theme-preview .preview-top { position:absolute;left:25%;right:4%;top:8%;height:18%;border-radius:9px;background:#fff; }
.theme-preview i { position:absolute;top:32%;width:20%;height:25%;border-radius:8px;background:#fff; }
.theme-preview i:nth-of-type(1){left:26%}.theme-preview i:nth-of-type(2){left:49%}.theme-preview i:nth-of-type(3){left:72%}
.theme-preview-classic { background:#f8f3fa; }
.theme-preview-classic .preview-side { background:#fbfbfc; }
.theme-preview-classic .preview-top { background:linear-gradient(90deg,#ef0a85,#7522d6); }
.theme-preview-nova { background:#f4f6fa; }
.theme-preview-nova .preview-side { background:#fff; }
.theme-preview-nova .preview-top { background:#fff;border:1px solid #dfe5ee; }
.theme-preview-nova i:nth-of-type(1){background:#eaf0ff}.theme-preview-nova i:nth-of-type(2){background:#f0ecff}.theme-preview-nova i:nth-of-type(3){background:#e8f7f1}
.theme-safety-card { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px; }

/* ======================== MISC MODULES ======================== */
.mfa-qr img { max-width:240px;display:block;margin:auto; }
.mfa-backup-codes { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px; }
.mfa-backup-codes code { display:block;padding:9px;text-align:center; }
.meta-box,.legal-meta { padding:12px;border:1px solid var(--nova-line);border-radius:10px;background:var(--nova-paper-tint); }
.danger-zone,.danger-zone-card,.danger-card { border-color:#efc7ce!important;background:#fffafb!important; }
.backup-password-once { padding:15px;border:1px solid #ead6a4;border-radius:12px;background:var(--nova-gold-soft); }
.backup-password-value { display:block;margin-top:8px;padding:10px;border-radius:9px;background:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all; }
.update-backup-row { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--nova-line);border-radius:10px;background:#fbfcfe; }
.update-info { padding:12px;border-radius:10px;background:var(--nova-blue-soft); }
.profile-gallery { grid-template-columns:repeat(4,minmax(0,1fr)); }
.viewer-image-page { min-height:100vh;background:#101827; }
.viewer-toolbar { display:flex;justify-content:space-between;align-items:center;padding:12px;color:#fff; }
.viewer-image-wrap { display:grid;place-items:center;min-height:80vh;padding:20px; }
.viewer-image-wrap img { max-height:82vh;object-fit:contain; }

/* ======================== RESPONSIVE ======================== */
@media (max-width: 1320px) {
  .admin-metrics-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .dj-catalog-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .home-dj-profile-card { flex-basis:calc((100% - 36px)/4); }
}

@media (max-width: 1120px) {
  :root { --nova-sidebar:224px; }
  .app-main { padding-inline:16px; }
  .stats-grid,.admin-kpi-grid,.admin-metrics-grid,.dashboard-stats,.rental-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dj-catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .hero { grid-template-columns:1fr;min-height:auto;padding-top:55px; }
  .hero-copy { max-width:800px; }
  .hero-visual { min-height:510px;max-width:760px;width:100%;margin:auto; }
  .home-dj-profile-card { flex-basis:calc((100% - 24px)/3); }
}

@media (max-width: 980px) {
  .app-shell { display:block; }
  .app-sidebar { width:min(290px,86vw);transform:translateX(-105%);transition:transform .2s ease;box-shadow:var(--nova-shadow-lg); }
  body.sidebar-open .app-sidebar { transform:translateX(0); }
  body.sidebar-open::after { content:"";position:fixed;inset:0;z-index:140;background:rgba(20,32,51,.35); }
  .app-main { padding:10px 12px 20px; }
  .app-topbar { top:8px;min-height:58px;margin-bottom:10px;padding:7px 8px; }
  .sidebar-toggle { width:39px;height:39px;display:grid;place-items:center;border:1px solid var(--nova-line);border-radius:10px;background:#fff;color:var(--nova-ink);cursor:pointer; }
  .mobile-back-button { display:inline-flex!important; }
  .app-topbar-title { margin-right:auto; }
  .admin-theme-shortcut { display:none; }
  .admin-subnav { gap:4px; }
  .dashboard-primary-grid,.messages-layout,.registration-wrap { grid-template-columns:1fr; }
  .conversation-panel { min-height:500px; }
  .grid-3,.process-grid,.showcase-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .theme-safety-card { grid-template-columns:1fr; }
}

@media (max-width: 760px) {
  body { font-size:14px; }
  h1 { font-size:31px; }
  h2 { font-size:23px; }
  .app-main { padding:8px 9px 18px; }
  .app-topbar { border-radius:12px; }
  .app-topbar-title small { display:none; }
  .app-topbar-title span { font-size:14px; }
  .user-chip { max-width:44px;padding:3px; }
  .user-chip > span:last-child { display:none; }
  .topbar-bell { width:38px;height:38px; }
  .app-topbar-actions .btn-primary:not(.free-feature-btn) { width:38px;min-width:38px;padding:0;font-size:0; }
  .app-topbar-actions .btn-primary .ui-icon { margin:0; }
  .continuous-improvement-strip { margin-bottom:10px;font-size:9px; }
  .admin-subnav { display:flex;flex-wrap:wrap;overflow:visible;border-radius:11px;padding:5px; }
  .admin-subnav a { padding:6px 8px;font-size:9px; }
  .page-head,.dashboard-heading,.admin-dashboard-pro-hero { align-items:flex-start;flex-direction:column;margin:9px 0 15px; }
  .page-head .actions,.dashboard-heading .actions { width:100%; }
  .page-head .actions .btn,.dashboard-heading .actions .btn { flex:1 1 auto; }
  .grid-2,.grid-3,.compact-grid,.dashboard-secondary-grid,.dashboard-bottom-grid,.admin-dashboard-lower-grid,.mfa-setup-grid,.subscription-plans,.pricing-grid,.showcase-grid,.process-grid,.theme-switch-grid { grid-template-columns:1fr; }
  .stats-grid,.admin-kpi-grid,.admin-metrics-grid,.dashboard-stats,.rental-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-metrics-grid .stat-card { padding:13px; }
  .feature-grid,.features-list { grid-template-columns:1fr; }
  .form-row,.form-row-3,.checkbox-grid,.checkboxes,.settings-menu-options { grid-template-columns:1fr; }
  .settings-card { grid-template-columns:40px minmax(0,1fr);align-items:start; }
  .settings-card > .btn,.settings-card > .actions { grid-column:1/-1;width:100%; }
  .settings-card > .btn { justify-self:stretch; }
  .settings-card-icon { width:40px;height:40px; }
  .event-filters-desktop { display:none!important; }
  .event-filters-mobile { display:block!important;margin-bottom:12px; }
  .event-filters-mobile > summary { list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px;border:1px solid var(--nova-line);border-radius:12px;background:#fff;box-shadow:var(--nova-shadow-sm);cursor:pointer; }
  .event-filters-mobile > summary::-webkit-details-marker { display:none; }
  .event-filter-menu { padding:8px;border:1px solid var(--nova-line);border-radius:11px;background:#fff; }
  .event-filter-menu .btn { justify-content:flex-start;width:100%; }
  .table-wrap { border-radius:11px; }
  table { min-width:650px; }
  th,td { padding:9px 10px; }
  .invoice-edit-item { grid-template-columns:1fr 1fr; }
  .invoice-edit-item > :first-child { grid-column:1/-1; }
  .dj-catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:9px; }
  .dj-card-content { padding:10px; }
  .dj-card-actions { flex-direction:column; }
  .dj-card-actions .btn { width:100%; }
  .home-dj-showcase-head { align-items:flex-start;flex-direction:column; }
  .home-dj-profile-card { flex-basis:calc((100% - 12px)/2); }
  .forum-replies { padding-left:10px; }
  .forum-image-grid,.profile-gallery,.profile-gallery-admin { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .message-stream > * { max-width:90%; }
  .event-floating-save { bottom:8px;align-items:stretch;flex-direction:column; }
  .event-floating-save .btn { width:100%; }
  .quick-action-grid { grid-template-columns:1fr; }
  .public-topbar { min-height:62px;padding:8px 14px; }
  .public-brand img { width:165px; }
  .nav-toggle { width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--nova-line);border-radius:10px;background:#fff; }
  .public-nav { position:absolute;left:12px;right:12px;top:66px;display:none;flex-direction:column;align-items:stretch;gap:3px;padding:10px;border:1px solid var(--nova-line);border-radius:13px;background:#fff;box-shadow:var(--nova-shadow); }
  .public-nav.is-open,.public-nav.open { display:flex; }
  .public-nav > a { padding:9px 10px; }
  .public-content { padding:0 14px 35px; }
  .hero { gap:25px;padding:42px 0 30px; }
  .hero h1 { font-size:clamp(39px,12vw,58px); }
  .hero-copy > p { font-size:15px; }
  .hero-actions .btn { width:100%; }
  .hero-visual { min-height:390px; }
  .dashboard-preview { right:0;min-height:290px;grid-template-columns:48px minmax(0,1fr); }
  .preview-sidebar { padding-inline:6px; }
  .preview-main { padding:11px; }
  .preview-stats { grid-template-columns:1fr 1fr; }
  .preview-stats > div:nth-child(3) { display:none; }
  .preview-grid { grid-template-columns:1fr; }
  .preview-chart { display:none; }
  .phone-preview { width:150px;min-height:260px; }
  .landing-section { padding:43px 0; }
  .landing-cta { align-items:flex-start;flex-direction:column;padding:24px; }
  .landing-cta .btn { width:100%; }
  .registration-wrap { padding-top:45px; }
  .public-footer { grid-template-columns:1fr;padding:28px 14px; }
  .footer-copy { grid-column:1; }
  .public-hero { grid-template-columns:1fr;text-align:center; }
  .public-photo-wrap,.public-photo-placeholder { margin:auto; }
  .cookie-consent { left:9px;right:9px;bottom:9px; }
  .theme-preview { height:155px; }
}

@media (max-width: 480px) {
  .app-topbar-actions { gap:5px; }
  .app-topbar-actions .btn-ghost.mobile-back-button span { display:none; }
  .app-topbar-actions .btn-ghost.mobile-back-button { width:38px;padding:0; }
  .stats-grid,.admin-kpi-grid,.admin-metrics-grid,.dashboard-stats,.rental-kpis { grid-template-columns:1fr 1fr;gap:8px; }
  .stat-card,.admin-kpi,.metric-card { padding:13px; }
  .stat-card strong,.admin-kpi strong,.metric-card strong { font-size:21px; }
  .dj-catalog-grid { grid-template-columns:1fr 1fr; }
  .dj-card-excerpt { -webkit-line-clamp:4; }
  .home-dj-profile-card { flex-basis:82%; }
  .message-stream { padding:10px; }
  .social-person { grid-template-columns:38px minmax(0,1fr); }
  .social-person > .actions { grid-column:1/-1; }
  .mfa-backup-codes { grid-template-columns:1fr; }
}

@media print {
  .app-sidebar,.app-topbar,.continuous-improvement-strip,.admin-subnav,.app-footer,.btn,.actions,.cookie-consent,.cookie-modal,.no-print,.print-hidden { display:none!important; }
  .app-shell,.app-main { display:block!important;padding:0!important;margin:0!important; }
  body { background:#fff!important;color:#000!important; }
  .card,.table-wrap { box-shadow:none!important;border-color:#bbb!important; }
}

/* Current module indication is driven by app.js using the .active class. */
.sidebar-nav a.active { background:#edf2ff;color:var(--nova-blue-2);font-weight:800; }
.sidebar-nav a.active .ui-icon { color:var(--nova-blue); }

/* ======================== MODULE COMPLETENESS ======================== */
.lead { color:var(--nova-muted);font-size:16px;line-height:1.65; }
.nice-list { margin:10px 0;padding-left:20px;color:var(--nova-ink-2); }
.nice-list li { margin:6px 0; }
.tags { display:flex;flex-wrap:wrap;gap:6px; }
.public-catalog-action,.contract-send-box,.marketing-consent-box,.mailing-compliance-note,.order-legal-summary,.rental-availability-note,.compact-premium-lock { padding:12px 14px;border:1px solid var(--nova-line);border-radius:11px;background:var(--nova-paper-tint); }
.readonly-allowed { opacity:1!important;pointer-events:auto!important; }
.free-feature-form { min-width:0; }
.vat-price-grid,.quick-vat-grid,.quick-invoice-grid,.invoice-mode-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
.vat-price-grid-2 { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
.vat-price-inline { display:flex;align-items:center;gap:8px; }

.transfer-alert-stack { display:grid;gap:9px;margin-bottom:13px; }
.transfer-dashboard-banner { display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;border:1px solid #d9e2f5;border-radius:12px;background:var(--nova-blue-soft); }
.transfer-dashboard-icon { width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#fff;color:var(--nova-blue); }
.transfer-dashboard-copy strong,.transfer-dashboard-copy small,.transfer-dashboard-kicker { display:block; }
.transfer-dashboard-kicker { color:var(--nova-blue);font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase; }
.transfer-dashboard-actions { justify-content:flex-end; }
.transfer-dashboard-banner.is-incoming { border-color:#d8d0f1;background:var(--nova-violet-soft); }

.admin-dashboard-panel { padding:20px; }
.admin-profile-toolbar { display:flex;align-items:center;flex-wrap:wrap;gap:8px; }
.admin-profile-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px; }
.admin-profile-card { min-width:0;padding:14px;border:1px solid var(--nova-line);border-radius:13px;background:#fff;box-shadow:var(--nova-shadow-sm); }
.admin-profile-card-head { display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;align-items:center; }
.admin-profile-avatar { width:48px;height:48px;overflow:hidden;border-radius:12px;background:var(--nova-paper-tint); }
.admin-profile-avatar img { width:100%;height:100%;object-fit:cover; }
.admin-profile-badges { display:flex;flex-wrap:wrap;gap:5px;margin-top:8px; }
.profile-completion { height:6px;overflow:hidden;margin-top:10px;border-radius:99px;background:#e9edf3; }
.profile-completion > * { height:100%;background:var(--nova-green); }
.admin-delete-stats,.admin-user-delete-summary { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0; }
.admin-delete-stats > *,.admin-user-delete-summary > * { padding:10px;border-radius:9px;background:var(--nova-paper-tint); }
.admin-delete-confirm-form,.danger-confirm-form { padding:13px;border:1px solid #efc7ce;border-radius:11px;background:var(--nova-red-soft); }
.onboarding-admin-grid { display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);gap:14px; }
.placeholder-list { display:flex;flex-wrap:wrap;gap:6px; }
.placeholder-list code { font-size:9px; }
.subscription-admin-page { display:grid;gap:14px; }
.subscription-admin-settings,.subscription-admin-orders,.subscription-admin-licenses { padding:18px;border:1px solid var(--nova-line);border-radius:14px;background:#fff;box-shadow:var(--nova-shadow-sm); }

.public-inquiry-card { margin-top:14px;padding:17px;border:1px solid var(--nova-line);border-radius:14px;background:#fff;box-shadow:var(--nova-shadow-sm); }
.price-range { display:inline-flex;padding:5px 9px;border-radius:99px;background:var(--nova-gold-soft);color:var(--nova-gold);font-size:10px;font-weight:850; }
.admin-preview-banner { margin-bottom:12px;padding:9px 12px;border:1px solid #e8d8a7;border-radius:10px;background:var(--nova-gold-soft);color:#76540e;font-size:10px;font-weight:750; }
/* Profile editor thumbnails must stay previews, never full-size content. */
.profile-preview {
  display:block;
  width:160px;
  height:160px;
  max-width:100%;
  padding:0;
  overflow:hidden;
  object-fit:cover;
  object-position:center;
  border:1px solid var(--nova-line);
  border-radius:14px;
  background:var(--nova-paper-soft);
  box-shadow:var(--nova-shadow-sm);
}
.legal-profile-fields { display:grid;gap:10px; }
.profile-legal-footer { margin-top:22px;padding-top:16px;border-top:1px solid var(--nova-line);color:var(--nova-muted);font-size:10px; }
/* Editable profile gallery: each image is a contained thumbnail card. */
.gallery-delete { position:absolute;right:6px;top:6px; }
.profile-gallery-admin .gallery-delete {
  position:relative;
  right:auto;
  top:auto;
  display:block;
  min-width:0;
  overflow:hidden;
  padding:0;
  border:1px solid var(--nova-line);
  border-radius:11px;
  background:#fff;
  box-shadow:var(--nova-shadow-sm);
  cursor:pointer;
}
.profile-gallery-admin .gallery-delete > input[type="checkbox"] {
  position:absolute;
  top:8px;
  right:8px;
  z-index:2;
  width:20px;
  height:20px;
  margin:0;
  accent-color:#8a1f72;
}
.profile-gallery-admin .gallery-delete > img {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center;
  background:var(--nova-paper-soft);
}
.profile-gallery-admin .gallery-delete > span {
  display:block;
  min-width:0;
  padding:8px 10px;
  overflow:hidden;
  color:var(--nova-ink-2);
  font-size:10px;
  font-weight:700;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.document-logo-preview { max-width:240px;padding:10px;border:1px solid var(--nova-line);border-radius:10px;background:#fff; }
.invoice-logo-sources { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }

.forum-settings-copy { min-width:0; }
.forum-notification-form,.forum-reply-form,.forum-delete-form { margin-top:10px; }
.forum-form-footer,.forum-check-row { display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap; }
.forum-reply-toggle,.forum-delete-toggle { border:0;background:transparent;color:var(--nova-blue);font-weight:750;cursor:pointer; }
.forum-reply-content { min-width:0;overflow-wrap:anywhere; }
.forum-reply-actions.is-inline { display:inline-flex; }

.contract-public-wrap { max-width:980px;margin:25px auto; }
.contract-logo-line { display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--nova-line); }
.contract-text { color:var(--nova-ink-2);line-height:1.7; }
.contract-sign-form,.contract-resend-form,.legal-accept-form { margin-top:14px;padding:14px;border:1px solid var(--nova-line);border-radius:12px;background:var(--nova-paper-tint); }
.sms-otp-panel { display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;margin-top:12px;padding:14px;border:1px solid #d9e2f5;border-radius:12px;background:var(--nova-blue-soft); }
.sms-otp-icon { width:44px;height:44px;display:grid;place-items:center;border-radius:11px;background:#fff;color:var(--nova-blue); }
.sms-code-form { display:flex;gap:8px;align-items:end;margin-top:10px; }
.sms-code-input { max-width:190px;font-size:20px!important;letter-spacing:.18em;text-align:center; }

.event-form-with-floating-save { padding-bottom:10px; }
.event-new-customer,.event-services-list,.music-collapsible { margin-top:12px;padding:13px;border:1px solid var(--nova-line);border-radius:11px;background:var(--nova-paper-soft); }
.event-service-row { display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--nova-line); }
.event-service-row:last-child { border-bottom:0; }
.wedding-start-choice { display:flex;align-items:center;gap:10px;flex-wrap:wrap; }
.wedding-start-switch { display:inline-flex;align-items:center;gap:7px; }
.legacy-venue-details { padding:11px;border-radius:10px;background:var(--nova-paper-tint); }

.accounting-export-form { display:flex;align-items:end;flex-wrap:wrap;gap:9px; }
.mfa-backup-card { padding:15px;border:1px solid #ead9a7;border-radius:12px;background:var(--nova-gold-soft); }
.mfa-secret { display:block;margin:8px 0;padding:9px;border-radius:9px;background:#fff;word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }
.today-card { padding:18px;border:1px solid var(--nova-line);border-radius:14px;background:#fff;box-shadow:var(--nova-shadow-sm); }
.today-event-content { min-width:0; }
.today-event-content h2 { margin-bottom:5px; }

.rental-equipment-photo-editor { display:grid;grid-template-columns:180px minmax(0,1fr);gap:14px;align-items:start; }
.rental-photo-placeholder { aspect-ratio:4/3;display:grid;place-items:center;border:1px dashed var(--nova-line-strong);border-radius:11px;background:var(--nova-paper-tint);color:var(--nova-muted); }
.rental-equipment-cell { display:grid;grid-template-columns:44px minmax(0,1fr);gap:9px;align-items:center; }
.rental-order-editor,.rental-item-list { display:grid;gap:9px; }
.rental-order-item-main { display:grid;grid-template-columns:60px minmax(0,1fr) auto;gap:10px;align-items:center; }
.rental-paid-check { display:flex;align-items:center;gap:7px; }

.reason-badge { display:inline-flex;padding:4px 7px;border-radius:99px;background:var(--nova-blue-soft);color:var(--nova-blue);font-size:8px;font-weight:850; }
.reason-invoices .reason-badge { background:var(--nova-green-soft);color:var(--nova-green); }
.reason-rental .reason-badge { background:var(--nova-orange-soft);color:var(--nova-orange); }
.reason-forum .reason-badge { background:var(--nova-violet-soft);color:var(--nova-violet); }
.landing-new-reasons,.pricing-section,.process-section,.showcase-section { position:relative; }
.pricing-yearly { color:var(--nova-muted);font-size:10px; }
.rental-overdue { color:var(--nova-red)!important; }
.registration-copy { min-width:0; }

.features-back { margin-top:18px;text-align:center; }
.feature-item-head { display:flex;align-items:center;justify-content:space-between;gap:10px; }
.cookie-table { width:100%; }
.legal-version-list { display:grid;gap:7px; }
.subscription-page,.subscription-head { min-width:0; }
.subscription-document { max-width:980px;margin:20px auto; }
.billing-price { color:var(--nova-blue);font-size:26px;font-weight:850; }

.invoice-editor-submit { position:sticky;bottom:10px;z-index:60;padding:10px;border:1px solid var(--nova-line);border-radius:12px;background:rgba(255,255,255,.95);box-shadow:var(--nova-shadow);backdrop-filter:blur(12px); }
.invoice-item-description { min-width:0; }
.invoice-viewer-toolbar { display:flex;align-items:center;justify-content:space-between;gap:10px; }

.viewer-toolbar-title { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.dj-catalog-empty { grid-column:1/-1; }
.compact-dj-catalog { align-items:stretch; }
.compact-dj-card { height:100%; }
.event-filter-chevron { transition:transform .15s ease; }
details[open] .event-filter-chevron { transform:rotate(180deg); }

@media (max-width:980px){
  .admin-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-admin-grid{grid-template-columns:1fr}.rental-equipment-photo-editor{grid-template-columns:1fr}.rental-equipment-photo-editor>*:first-child{max-width:260px}.transfer-dashboard-banner{grid-template-columns:40px minmax(0,1fr)}.transfer-dashboard-actions{grid-column:1/-1;justify-content:flex-start}
}
@media (max-width:760px){
  .vat-price-grid,.quick-vat-grid,.quick-invoice-grid,.invoice-mode-grid,.vat-price-grid-2,.invoice-logo-sources,.admin-delete-stats,.admin-user-delete-summary{grid-template-columns:1fr}.admin-profile-grid{grid-template-columns:1fr}.sms-code-form{align-items:stretch;flex-direction:column}.sms-code-input{max-width:none}.rental-order-item-main{grid-template-columns:48px minmax(0,1fr)}.rental-order-item-main>*:last-child{grid-column:1/-1}.event-service-row{grid-template-columns:auto minmax(0,1fr)}.event-service-row>*:last-child{grid-column:2}.accounting-export-form>*{flex:1 1 100%}
}

/* ======================== 1.4.53 MENU ORDER + CLIENT FILES ======================== */
.settings-menu-options[data-menu-sortable]{display:grid;gap:10px}
.settings-menu-option[data-menu-item]{display:grid;grid-template-columns:28px 34px 40px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--nova-line);border-radius:13px;background:var(--nova-paper);transition:.18s ease}
.settings-menu-option[data-menu-item]:hover{border-color:#c9d5e7;box-shadow:var(--nova-shadow-sm)}
.settings-menu-option[data-menu-item].is-dragging{opacity:.55;border-color:var(--nova-violet);box-shadow:0 12px 30px rgba(110,80,200,.13)}
.settings-menu-option[data-menu-item].is-moved{border-color:var(--nova-blue);box-shadow:0 0 0 3px rgba(36,87,214,.09)}
.settings-menu-drag{color:var(--nova-muted-2);font-size:20px;line-height:1;cursor:grab;user-select:none;text-align:center}
.settings-menu-visible-toggle{display:grid;place-items:center;margin:0}.settings-menu-visible-toggle input{width:20px;height:20px;margin:0;accent-color:var(--nova-blue)}
.settings-menu-option-copy{min-width:0}.settings-menu-option-copy strong,.settings-menu-option-copy small,.settings-menu-option-copy em{display:block}.settings-menu-option-copy small{margin-top:2px;color:var(--nova-muted)}.settings-menu-option-copy em{margin-top:5px;color:var(--nova-muted-2);font-size:10px;font-style:normal;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.settings-menu-order-actions{display:flex;gap:6px}.settings-menu-order-actions .btn{min-width:38px;padding-left:8px;padding-right:8px}
.client-attachments-card .client-attachment-upload{margin-top:12px}.client-upload-limits{margin:-2px 0 4px}.client-attachment-list-wrap{margin-top:22px;padding-top:18px;border-top:1px solid var(--nova-line)}.client-attachment-group+.client-attachment-group{margin-top:18px}.client-attachment-group h4{margin-bottom:9px}
.client-attachments-card .attachment-item,.client-files-for-dj .attachment-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.client-attachments-card .attachment-item>span,.client-files-for-dj .attachment-item>span{min-width:0;overflow-wrap:anywhere}.client-attachments-card .attachment-item strong,.client-attachments-card .attachment-item small,.client-files-for-dj .attachment-item strong,.client-files-for-dj .attachment-item small{display:block}.client-attachments-card .attachment-item small,.client-files-for-dj .attachment-item small{margin-top:3px;color:var(--nova-muted)}
@media(max-width:760px){.settings-menu-option[data-menu-item]{grid-template-columns:24px 30px 36px minmax(0,1fr);gap:8px;padding:11px 12px}.settings-menu-order-actions{grid-column:1/-1;justify-content:flex-end;padding-top:3px}.settings-menu-order-actions .btn{min-height:36px;min-width:46px}.settings-menu-drag{display:none}.client-attachments-card .attachment-item,.client-files-for-dj .attachment-item{grid-template-columns:1fr;align-items:stretch}.client-attachments-card .attachment-item .btn,.client-files-for-dj .attachment-item .btn{width:100%}}


/* ======================== CONTROL PRODUCTION OVERRIDES / 1.6.0 ======================== */
:root{
  --control-nav:#11151c;--control-nav-2:#171c24;--control-nav-line:#2a303a;--control-nav-text:#d8dee8;
  --control-nav-muted:#9aa5b3;--control-cue:#8a1f72;--control-cue-dark:#6f175b;--control-cue-soft:#f8eaf4;
  --control-success:#176a4d;--control-warning:#8d5800;--control-danger:#a52e43;--control-info:#245b82;
}
html{background:#f4f3f1;color-scheme:light}
body{background:#f4f3f1;color:var(--nova-ink);overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(244,243,241,.92) 260px,#f4f3f1 520px)}
a{color:var(--control-cue-dark)}a:hover{color:#571047}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid rgba(138,31,114,.28);outline-offset:2px}

/* Dark fixed navigation / light work surface */
.app-sidebar{background:var(--control-nav);border-right:1px solid var(--control-nav-line);box-shadow:6px 0 24px rgba(12,16,21,.08);padding:18px 14px 14px}
.sidebar-brand{padding:2px 8px 16px;border-bottom:1px solid var(--control-nav-line)}
.sidebar-brand img{width:172px;max-height:52px}
.sidebar-nav{gap:14px;padding:16px 0 10px;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.sidebar-nav::-webkit-scrollbar{display:none}
.sidebar-nav-group{display:flex;flex-direction:column;gap:3px}.sidebar-group-label{padding:5px 10px;color:#778392;font-size:9px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.sidebar-nav a{min-height:40px;border-radius:8px;color:var(--control-nav-text);font-size:13px;font-weight:660}.sidebar-nav a .ui-icon{color:#98a4b4}.sidebar-nav a:hover{transform:none;background:var(--control-nav-2);color:#fff}.sidebar-nav a:hover .ui-icon{color:#fff}
.sidebar-nav a[href*="today"],.sidebar-nav a[href*="dnes-hraju"]{background:transparent;color:var(--control-nav-text);font-weight:660}
.sidebar-nav a[aria-current="page"],.sidebar-nav a.is-active{position:relative;background:#1b2029;color:#fff;border-color:#303743}.sidebar-nav a[aria-current="page"]::before,.sidebar-nav a.is-active::before{content:"";position:absolute;left:-14px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:#d22a9e}
.sidebar-bottom{border-color:var(--control-nav-line)}.sidebar-bottom small{color:#7e8998}.sidebar-logout-form{margin:0}.sidebar-logout{width:100%;background:transparent;border-color:#303743;color:#b8c1cd}.sidebar-logout:hover{background:#24161f;border-color:#563046;color:#ffdbeF}
.nav-plan-tag{background:#302231;color:#f3a8dc}.nav-count-badge{background:#b52f51;color:#fff}

.app-main{padding:0;min-width:0;background:transparent}
.app-topbar{top:0;min-height:70px;margin:0;padding:10px clamp(18px,2.4vw,34px);border:0;border-bottom:1px solid #dedbd6;border-radius:0;background:rgba(250,249,247,.96);box-shadow:none;backdrop-filter:blur(16px)}
.app-context-kicker{display:block;color:#7b7480;font-size:9px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.app-topbar-title strong{display:block;color:var(--nova-ink);font-size:16px}.app-topbar-title>span:not(.app-context-kicker){font-size:16px}
.app-topbar-actions{margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.user-chip,.topbar-bell{background:#fff;border-color:#d9d7d3}.user-avatar{background:#f5e7f1;color:#7d1b67}
.continuous-improvement-strip{max-width:none;margin:0;padding:7px clamp(18px,2.4vw,34px);border:0;border-bottom:1px solid #e7e3de;border-radius:0;background:#f4f0eb;color:#655f59;font-size:11px}.continuous-improvement-strip strong{color:#403a35}.continuous-improvement-strip a{color:#6f175b}
.page.app-content{max-width:1580px;padding:28px clamp(18px,2.4vw,34px) 54px}.app-footer{max-width:1580px;padding-left:clamp(18px,2.4vw,34px);padding-right:clamp(18px,2.4vw,34px)}

/* Admin navigation wraps by group and never creates horizontal scrollbars */
.admin-subnav{max-width:none;margin:0;padding:10px clamp(18px,2.4vw,34px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;border:0;border-bottom:1px solid #e2dfda;border-radius:0;background:#fff;box-shadow:none;overflow:visible}
.admin-subnav-group{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:5px 7px;border:1px solid #ebe8e4;border-radius:9px;background:#faf9f7}.admin-subnav-group>span{flex:1 0 100%;padding:0 5px 3px;color:#6b6470;font-size:8px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.admin-subnav a{white-space:normal;padding:6px 8px;line-height:1.25}.admin-subnav a.is-active{background:#252b34;color:#fff;box-shadow:none}

/* Components: high-contrast neutral surfaces */
.card,.inline-card,.quick-invoice-card,.stat-card,.transfer-dashboard-banner,.today-card{border-color:#d9d7d3;background:#fff;box-shadow:0 3px 12px rgba(17,21,28,.045)}
.card{border-radius:12px}.card:hover{box-shadow:0 6px 18px rgba(17,21,28,.055)}
.card p,.inline-card p,.stat-card p,.today-card p{color:var(--nova-ink-2)}
.btn{border-radius:8px;box-shadow:none}.btn-primary,.btn:not(.btn-ghost):not(.btn-light):not(.btn-soft):not(.btn-danger){background:var(--control-cue);border-color:var(--control-cue);color:#fff}.btn-primary:hover,.btn:not(.btn-ghost):not(.btn-light):not(.btn-soft):not(.btn-danger):hover{background:var(--control-cue-dark);border-color:var(--control-cue-dark);color:#fff}.btn-ghost,.btn-light,.btn-soft{background:#fff;border-color:#cfcac4;color:#252d37}.btn-ghost:hover,.btn-light:hover,.btn-soft:hover{background:#f1efec;border-color:#bdb7b0;color:#151b22}.btn-danger{background:#fff;border-color:#d9a6ae;color:#932b3d}.btn-danger:hover{background:#fff0f2;border-color:#b83b50;color:#7d1f30}
.badge,.status-pill,.reason-badge{font-weight:800}.badge-paid,.badge-success{background:#e8f5ef;color:#145f45}.badge-cancelled{background:#fbe9ec;color:#8a2638}
.flash{border-radius:9px;border:1px solid #d6d1cb;background:#fff;color:#252d37}.flash-success,.alert-success{background:#eaf6f0;border-color:#b8dfcd;color:#145f45}.flash-error,.alert-error{background:#fff0f2;border-color:#e7b7bf;color:#8a2638}
.card-tone-success{border-color:#b7dccb!important;background:#f1faf6!important}.card-tone-info{border-color:#bfd3e3!important;background:#f2f7fb!important}

/* Typography and data density */
h1,h2,h3,h4,h5{color:#18202a}.page-head h1,.dashboard-heading h1{font-size:clamp(27px,2.6vw,39px)}.page-head p,.dashboard-heading p,.muted,small{color:#5b6573}
.eyebrow,.section-kicker{color:var(--control-cue-dark)}
code{background:#f2f0ed;border-color:#d6d2cc;color:#303945}
hr{border:0;border-top:1px solid #dedbd6}

/* Forms: explicit text/background pairing so browser/theme inheritance cannot make labels unreadable */
label,.field-label,legend{color:#28313c;font-weight:700}input,select,textarea{max-width:100%;border:1px solid #c9c5bf!important;background:#fff!important;color:#17202a!important;box-shadow:none!important}input::placeholder,textarea::placeholder{color:#646d78!important;opacity:1}input:disabled,select:disabled,textarea:disabled{background:#eeece9!important;color:#60676f!important;border-color:#d9d5d0!important;opacity:1}input:focus,select:focus,textarea:focus{border-color:#8a1f72!important;box-shadow:0 0 0 3px rgba(138,31,114,.11)!important}.check,.checkboxes label{color:#303945}.check input[type="checkbox"],.check input[type="radio"]{accent-color:#8a1f72}
select option{background:#fff;color:#17202a}

/* Tables and dense lists */
.table-wrap{max-width:100%;overflow-x:auto;border-radius:10px;scrollbar-color:#bcb6af #f0eeeb}table{width:100%;border-collapse:collapse;background:#fff;color:#202833}th{background:#f0eeeb;color:#4d5663;font-size:11px;letter-spacing:.03em;text-transform:none}th,td{border-bottom:1px solid #e2dfda;padding:11px 12px;vertical-align:top}tbody tr:hover{background:#faf8f6}td a{font-weight:700}
.compact-list>a,.compact-list>div,.agenda-item{border-bottom-color:#e2dfda}.empty,.empty-state{color:#5b6573;background:#faf9f7;border-color:#dedad5}

/* Mobile app navigation */
.studio-mobile-nav{display:none}.mobile-back-button{display:none!important}

/* Public shell and marketing pages */
.public-shell{min-height:100vh;background:#f7f6f4}.public-topbar{position:sticky;top:0;z-index:120;display:flex;align-items:center;gap:20px;min-height:76px;padding:11px clamp(18px,4vw,54px);border-bottom:1px solid #dedbd6;background:rgba(255,255,255,.96);backdrop-filter:blur(16px)}.public-brand{display:flex;align-items:center}.public-brand img{display:block;width:210px;max-height:52px;object-fit:contain}.public-nav{margin-left:auto;display:flex;align-items:center;gap:8px}.public-nav>a:not(.btn){padding:9px 10px;color:#353e49;font-weight:700;text-decoration:none}.public-nav>a:not(.btn):hover{color:#6f175b}.nav-toggle{display:none;border:1px solid #d4d0ca;background:#fff;color:#252d37;border-radius:8px;padding:8px}.nav-login{border-left:1px solid #dedbd6;margin-left:4px;padding-left:16px!important}.public-content{width:100%;max-width:1380px;margin:0 auto;padding:0 clamp(18px,4vw,54px)}.public-footer{border-top:1px solid #dedbd6;background:#eeece8;color:#4f5863}.public-footer a{color:#454e59}.footer-brand p{color:#5b6573}

.home-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);gap:44px;align-items:center;padding:72px 0 52px}.home-hero .hero-copy h1{font-size:clamp(42px,5.6vw,76px);letter-spacing:-.047em;max-width:760px}.home-hero .hero-copy p{font-size:17px;max-width:700px;color:#46515e}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.hero-points{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.hero-points span{padding:7px 10px;border:1px solid #d7d2cc;border-radius:999px;background:#fff;color:#535c67;font-size:12px;font-weight:700}
.hero-surface{display:grid;gap:12px;padding:16px;border:1px solid #d7d2cc;border-radius:16px;background:#fff;box-shadow:0 24px 50px rgba(22,26,32,.09)}.hero-surface-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:4px 4px 12px;border-bottom:1px solid #e0dcd7;color:#68616c;font-size:10px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.hero-surface-head b{color:#252d37}.hero-workflow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.hero-workflow>div,.hero-module-card,.hero-kpi-row>div{border:1px solid #e0dcd7;border-radius:10px;background:#f8f7f5}.hero-workflow>div{padding:13px}.hero-workflow small{display:block;color:#74185f;font-size:9px;font-weight:900;letter-spacing:.08em}.hero-workflow strong{display:block;margin-top:7px;color:#1d252f}.hero-workflow span{display:block;margin-top:5px;color:#5f6874;font-size:12px}.hero-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hero-module-card{padding:14px}.hero-module-card small{display:block;color:#74185f;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.hero-module-card strong{display:block;margin:7px 0 5px}.hero-module-card p{margin:0;color:#5d6672;font-size:13px}.hero-kpi-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.hero-kpi-row>div{padding:12px}.hero-kpi-row strong{display:block;margin-bottom:5px;font-size:13px}.hero-kpi-row span{display:block;color:#626b77;font-size:12px}
.trust-strip{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:11px;margin:0 -54px;padding:15px 54px;border-top:1px solid #dfdcd7;border-bottom:1px solid #dfdcd7;background:#efede9;color:#5d6671;font-size:10px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.trust-strip i{width:3px;height:3px;border-radius:50%;background:#9a929a}
.landing-section{padding:62px 0}.section-heading{max-width:850px;margin-bottom:28px}.section-heading p{font-size:16px;color:#505b68}.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.feature-card,.home-module-card,.process-grid article,.pricing-card{border:1px solid #d9d5cf;border-radius:12px;background:#fff;box-shadow:none}.home-module-card{padding:19px}.home-module-card p{margin-bottom:13px}.module-points{display:grid;gap:7px;padding:0;margin:0;list-style:none}.module-points li{position:relative;padding-left:15px;color:#56616e;font-size:13px}.module-points li::before{content:"";position:absolute;left:0;top:.56em;width:6px;height:6px;border-radius:50%;background:#8a1f72}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.process-grid article{padding:19px}.process-grid article>span{width:32px;height:32px;display:grid;place-items:center;margin-bottom:13px;border-radius:8px;background:#252b34;color:#fff;font-weight:900}.process-grid p{margin:0;color:#5b6573}.process-note{margin-top:15px;color:#5b6573}.pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:960px}.pricing-card{display:flex;flex-direction:column;gap:13px;padding:22px}.pricing-card-primary{border-color:#a66a96;background:#fbf4f9;box-shadow:inset 0 3px 0 #8a1f72}.pricing-kicker,.pricing-ribbon{display:inline-flex;align-self:flex-start;padding:5px 8px;border-radius:999px;background:#f0eeeb;color:#4d5661;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.pricing-ribbon{background:#f2ddea;color:#691550}.pricing-card h3{margin:0}.pricing-card p{margin:0}.pricing-price{display:flex;align-items:end;gap:7px}.pricing-price strong{font-size:37px;color:#18202a}.pricing-price span,.pricing-yearly{color:#59636f}.pricing-list{display:grid;gap:8px;padding:0;margin:0;list-style:none}.pricing-list li{position:relative;padding-left:15px;color:#2e3742}.pricing-list li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:#8a1f72}.registration-wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(350px,.95fr);gap:30px;align-items:start;padding:30px 0 70px}.registration-copy p{color:#4f5a67}.registration-benefits{display:grid;gap:9px;margin-top:18px}.registration-benefits span{padding:11px 13px;border:1px solid #d9d5cf;border-radius:9px;background:#fff;color:#303945}.registration-card{padding:23px}

/* Cookie layer – explicit colors and stacking */
.is-hidden{display:none!important}body.cookie-modal-open{overflow:hidden}.cookie-consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:9990;max-width:980px;margin:auto}.cookie-banner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:end;padding:17px 18px;border:1px solid #343b46;border-radius:12px;background:#171c24;box-shadow:0 18px 46px rgba(9,12,16,.32);color:#eef1f5}.cookie-banner-copy strong{display:block;margin-bottom:6px;color:#fff}.cookie-banner-copy p{margin:0;color:#d5dbe4}.cookie-banner-copy a{display:inline-block;margin-top:8px;color:#ffb8e4}.cookie-banner-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.cookie-banner .btn-ghost{background:transparent;border-color:#596370;color:#fff}.cookie-consent-error{grid-column:1/-1;margin:0;padding:9px 11px;border:1px solid #8e4551;border-radius:8px;background:#3a1c23;color:#ffdce2}.cookie-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:16px;background:rgba(15,18,23,.64);backdrop-filter:blur(5px)}.cookie-modal-card{width:min(100%,720px);max-height:min(86vh,900px);overflow:auto;padding:22px;border:1px solid #d7d2cc;border-radius:14px;background:#fff;box-shadow:0 24px 70px rgba(12,15,19,.24);color:#222a34}.cookie-modal-card>p,.cookie-category p{color:#58626f}.cookie-modal-close{display:grid;place-items:center;width:38px;height:38px;margin-left:auto;border:1px solid #d2cec8;border-radius:8px;background:#fff;color:#252d37;font-size:21px;cursor:pointer}.cookie-category{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-top:1px solid #e1ddd8}.cookie-switch input{width:20px;height:20px;accent-color:#8a1f72}.cookie-modal-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid #e1ddd8}

/* Public DJ profile + fullscreen viewers */
.public-body{margin:0;background:#f4f3f1}.public-profile{width:min(1180px,calc(100% - 36px));margin:34px auto 60px}.public-hero{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:center;padding:26px;border:1px solid #d8d4ce;border-radius:14px;background:#fff}.public-photo-wrap{aspect-ratio:1;border-radius:11px;overflow:hidden;background:#ece9e5}.public-photo-wrap img{width:100%;height:100%;object-fit:cover}.public-photo-placeholder{width:100%;height:100%;display:grid;place-items:center;background:#252b34;color:#fff;font-size:52px;font-weight:900}.public-actions{display:flex;flex-wrap:wrap;gap:8px}.public-sections{margin-top:14px}.public-gallery-card,.public-inquiry-card{margin-top:14px}.profile-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.profile-gallery figure{margin:0}.profile-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:9px}.profile-gallery figcaption{margin-top:5px;color:#5b6573;font-size:12px}.profile-legal-footer{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid #d9d5cf}.admin-preview-banner{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;background:#252b34;color:#fff}.admin-preview-banner .btn{border-color:#666f7c;background:#fff;color:#222a34}
.viewer-image-page{margin:0;min-height:100vh;background:#11151c;color:#fff}.viewer-toolbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;padding:10px 14px;background:#171c24;border-bottom:1px solid #303743}.viewer-toolbar .btn{background:#fff!important;border-color:#fff!important;color:#1c232c!important}.viewer-toolbar-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#eef1f5}.viewer-image-wrap{min-height:calc(100vh - 62px);display:grid;place-items:center;padding:14px}.viewer-image-wrap img{display:block;max-width:100%;max-height:calc(100vh - 92px);object-fit:contain}

/* Theme administration */
.theme-switch-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.theme-choice-card{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr) auto;gap:18px;align-items:center}.theme-choice-card.is-active{border-color:#b87ca8;box-shadow:inset 3px 0 0 #8a1f72}.theme-choice-card.is-disabled{opacity:.72;background:#f3f1ee}.theme-choice-card.is-disabled form{display:none}.theme-state-badge{display:inline-flex;width:max-content;padding:5px 8px;border-radius:999px;background:#eeeae6;color:#58515a;font-size:9px;font-weight:900;letter-spacing:.08em}.theme-choice-card.is-active .theme-state-badge{background:#f2ddea;color:#691550}.theme-preview{height:122px;border:1px solid #cfcac4;border-radius:10px;overflow:hidden;background:#f6f5f2}.theme-preview-control{position:relative;background:#f4f3f1}.theme-preview-control .preview-side{position:absolute;inset:0 auto 0 0;width:29%;background:#11151c}.theme-preview-control .preview-top{position:absolute;left:29%;right:0;top:0;height:25%;background:#fff;border-bottom:1px solid #d9d5cf}.theme-preview-control i{position:absolute;left:35%;height:16%;border:1px solid #ddd8d2;border-radius:5px;background:#fff}.theme-preview-control i:nth-of-type(1){top:36%;width:27%}.theme-preview-control i:nth-of-type(2){top:36%;left:66%;width:27%}.theme-preview-control i:nth-of-type(3){top:60%;width:58%}.theme-safety-card code{display:block;margin-top:10px}.appearance-page-head{align-items:center}

/* Studio-era classes that still occur in markup */
.tab-nav,.event-detail-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;padding:6px;border:1px solid #d9d5cf;border-radius:10px;background:#fff}.tab-nav a,.event-detail-tabs a{padding:7px 10px;border-radius:7px;color:#4d5663;font-weight:750}.tab-nav a.is-active,.event-detail-tabs a.is-active{background:#252b34;color:#fff}.contract-document,.invoice-document,.client-portal-document{background:#fff;color:#202833}.update-history-row,.update-file-list{color:#303945}.update-backup-delete-form{margin:0}.bar-value{color:#555f6b}.done{color:#176a4d}.is-danger{--attention:#a52e43}.is-warning{--attention:#8d5800}.is-money{--attention:#8a1f72}.studio-attention-card{position:relative}.studio-attention-card::before{content:"";position:absolute;left:-1px;top:14px;bottom:14px;width:3px;background:var(--attention,#245b82)}

/* Print */
@media print{.app-sidebar,.app-topbar,.admin-subnav,.continuous-improvement-strip,.app-footer,.studio-mobile-nav,.cookie-consent,.cookie-modal,.no-print{display:none!important}.app-shell{display:block}.app-main{display:block}.page.app-content{max-width:none;padding:0}.card{box-shadow:none}.invoice-document,.contract-document{border:0!important;box-shadow:none!important}}

/* Responsive QA targets: desktop 1440+, tablet 768-1100, phone <=760 */
@media(max-width:1180px){.admin-subnav{grid-template-columns:repeat(2,minmax(0,1fr))}.home-hero{grid-template-columns:1fr}.hero-surface{max-width:900px}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-workflow,.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.registration-wrap{grid-template-columns:1fr}.profile-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.app-shell{display:block}.app-sidebar{position:fixed;left:0;top:0;bottom:0;width:min(310px,88vw);transform:translateX(-105%);transition:transform .18s ease;z-index:500}.app-sidebar.is-open,.app-sidebar[data-open="true"]{transform:translateX(0)}.app-main{min-width:0}.sidebar-toggle{display:grid;place-items:center;width:40px;height:40px;border:1px solid #d5d1cb;border-radius:8px;background:#fff;color:#252d37}.app-topbar{padding-inline:14px}.app-topbar-actions .admin-theme-shortcut{display:none}.user-chip>span:last-child{display:none}.user-chip{padding:3px}.continuous-improvement-strip{padding-inline:14px}.page.app-content{padding:20px 14px 92px}.admin-subnav{grid-template-columns:1fr 1fr;padding:8px 14px}.studio-mobile-nav{position:fixed;left:10px;right:10px;bottom:10px;z-index:390;display:grid;grid-template-columns:repeat(5,1fr);padding:5px;border:1px solid #d4d0ca;border-radius:13px;background:rgba(255,255,255,.97);box-shadow:0 12px 32px rgba(16,20,26,.15);backdrop-filter:blur(16px)}.studio-mobile-nav a,.studio-mobile-nav button{min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;border:0;background:transparent;color:#515b67;text-decoration:none;font-size:9px}.studio-mobile-nav .ui-icon{width:18px;height:18px}.app-footer{padding-bottom:82px}.public-topbar{padding-inline:16px}.public-brand img{width:188px}.nav-toggle{display:grid;place-items:center;margin-left:auto}.public-nav{position:absolute;left:12px;right:12px;top:calc(100% + 6px);display:none;flex-direction:column;align-items:stretch;padding:10px;border:1px solid #d7d2cc;border-radius:12px;background:#fff;box-shadow:0 16px 40px rgba(15,19,24,.14)}.public-nav.is-open,.public-nav[data-open="true"]{display:flex}.public-nav a{width:100%}.nav-login{border-left:0;margin-left:0;padding-left:10px!important}.public-content{padding-inline:16px}.trust-strip{margin-inline:-16px;padding-inline:16px;justify-content:flex-start}.cookie-banner{grid-template-columns:1fr}.cookie-banner-actions{justify-content:stretch}.cookie-banner-actions .btn{flex:1 1 160px}.public-hero{grid-template-columns:190px minmax(0,1fr)}.theme-choice-card{grid-template-columns:1fr}.theme-choice-card form{justify-self:start}}
@media(max-width:680px){h1{font-size:clamp(27px,9vw,37px)}.page-head,.dashboard-heading{display:grid;grid-template-columns:1fr;gap:12px}.page-head .actions,.dashboard-heading .actions{width:100%}.grid-2,.grid-3,.stats-grid,.dashboard-grid,.dashboard-primary-grid,.dashboard-secondary-grid,.dashboard-bottom-grid,.quick-invoice-grid,.quick-action-grid,.showcase-grid,.compact-grid{grid-template-columns:1fr!important}.admin-subnav{grid-template-columns:1fr}.admin-subnav-group{padding:6px}.app-topbar-actions>.btn{display:none}.app-topbar-title strong{font-size:14px}.continuous-improvement-strip{font-size:10px}.feature-grid,.hero-workflow,.hero-module-grid,.hero-kpi-row,.process-grid,.pricing-grid{grid-template-columns:1fr}.home-hero{padding-top:42px}.home-hero .hero-copy h1{font-size:clamp(36px,12vw,52px)}.landing-section{padding:42px 0}.registration-wrap{padding-bottom:34px}.public-hero{grid-template-columns:1fr;padding:18px}.public-photo-wrap{max-width:240px}.profile-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.form-row,.form-row-3{grid-template-columns:1fr!important}.table-wrap{margin-inline:-2px}.cookie-consent{left:10px;right:10px;bottom:10px}.cookie-banner{padding:14px}.cookie-modal{padding:10px}.cookie-modal-card{padding:17px}.cookie-category{flex-direction:column;gap:8px}.cookie-modal-actions .btn{flex:1 1 100%}}
@media(max-width:430px){.public-brand img{width:164px}.studio-mobile-nav{left:6px;right:6px;bottom:6px}.profile-gallery{grid-template-columns:1fr}.hero-points{display:grid}.hero-points span{text-align:center}.actions>.btn,.public-actions>.btn,.public-actions>form{flex:1 1 100%}.public-actions>form .btn{width:100%}}

/* Coverage additions found by the 1.6.0 page-class audit */
.admin-metrics-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px;margin-bottom:18px}.admin-metric-card{min-width:0;display:grid;grid-template-columns:40px minmax(0,1fr);gap:11px;align-items:center;padding:15px;border:1px solid #d9d5cf;border-radius:11px;background:#fff;color:#252d37;text-decoration:none;box-shadow:0 3px 12px rgba(17,21,28,.045)}.admin-metric-card:hover{border-color:#c5bec0;background:#fcfbfa}.admin-metric-card.is-wide{grid-column:span 2}.admin-metric-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:9px;background:#f5e7f1;color:#7a1964}.admin-metric-icon .ui-icon{width:19px;height:19px}.admin-metric-card.is-green .admin-metric-icon{background:#eaf6f0;color:#176a4d}.admin-metric-card.is-orange .admin-metric-icon{background:#fff2e7;color:#995215}.admin-metric-card.is-gold .admin-metric-icon{background:#fff5dc;color:#805b0b}.admin-metric-card.is-red .admin-metric-icon{background:#fff0f2;color:#9a2a3d}.admin-metric-card.is-violet .admin-metric-icon{background:#eeedf4;color:#4e4b68}.admin-metric-copy{min-width:0}.admin-metric-copy small,.admin-metric-copy strong,.admin-metric-copy>span{display:block}.admin-metric-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#68727f;font-size:9px;font-weight:850;letter-spacing:.055em;text-transform:uppercase}.admin-metric-copy strong{margin:3px 0 2px;color:#18202a;font-size:clamp(20px,1.6vw,28px);line-height:1.08;overflow-wrap:anywhere}.admin-metric-copy>span{color:#69727d;font-size:10px;line-height:1.35}
.onboarding-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:13px}.onboarding-step{min-height:46px;display:flex;align-items:center;gap:9px;padding:10px 11px;border:1px solid #d9d5cf;border-radius:9px;background:#fff;color:#303945;text-decoration:none;font-weight:750}.onboarding-step span{display:grid;place-items:center;min-width:34px;height:24px;padding:0 6px;border-radius:6px;background:#eeeae6;color:#635d67;font-size:9px;font-weight:900}.onboarding-step.done{border-color:#b8ddcc;background:#f3faf6;color:#145f45}.onboarding-step.done span{background:#176a4d;color:#fff}
.health-card{border-left:4px solid #a8a29b}.health-ok{border-left-color:#2c7b5e}.health-warning{border-left-color:#b3720f}.health-error{border-left-color:#b73a50}
.message-stream{flex:1 1 auto;display:flex;flex-direction:column;gap:9px;padding:14px 0}.message-bubble{width:fit-content;max-width:min(78%,720px);padding:10px 12px;border-radius:13px;overflow-wrap:anywhere}.message-bubble.is-mine{align-self:flex-end;border-bottom-right-radius:4px;background:#70205f;color:#fff}.message-bubble.is-theirs{align-self:flex-start;border-bottom-left-radius:4px;background:#eeece9;color:#252d37}.message-bubble small{display:block;margin-top:4px;color:inherit;opacity:.78;font-size:10px}.forum-like-button{min-height:34px;display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid #d7d2cc;border-radius:999px;background:#fff;color:#5a6470;cursor:pointer}.forum-like-button:hover{border-color:#c5bec0;background:#f5f2f0;color:#6f175b}.free-plan-banner{background:#f3faf6!important;border-color:#b8ddcc!important;color:#345d4e!important}.free-plan-banner strong{color:#174f3c!important}.social-bell{position:relative;text-decoration:none}.sidebar-nav-system{margin-top:auto}.event-filter-option{color:#303945}.settings-notification-card{scroll-margin-top:94px}.venue-catalog-grid .card{align-content:start}.studio-control-heading{color:#18202a}.subscription-badge{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;background:#f2ddea;color:#681550;font-size:9px;font-weight:850}
@media(max-width:1180px){.admin-metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-metric-card.is-wide{grid-column:span 1}}
@media(max-width:680px){.admin-metrics-grid,.onboarding-grid{grid-template-columns:1fr}.message-bubble{max-width:90%}}

@media (max-width: 430px) {
  .profile-preview { width:132px;height:132px; }
}

/* ======================== 1.6.1 MOBILE + TABLET QA ========================
 * Fixes iOS/Chromium dynamic bottom browser UI overlapping the mobile dock
 * and tightens responsive behaviour on 320–430 px phones and 768–1024 px tablets.
 */
:root {
  --djsp-visual-bottom: 0px;
  --djsp-mobile-nav-height: 68px;
  --djsp-mobile-nav-clearance: 0px;
}

html, body { max-width:100%; }
body { -webkit-text-size-adjust:100%; text-size-adjust:100%; }

/* 1.6.2 desktop-safe cleanup:
 * - cookie consent wrapper itself must stay visually neutral; only the inner
 *   .cookie-banner panel carries the card styling.
 * - an empty consent wrapper must never leave a floating white bar.
 */
.cookie-consent {
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.cookie-consent:empty { display:none !important; }

@media (max-width: 1180px) {
  .app-main,.page.app-content,.app-topbar,.continuous-improvement-strip,.admin-subnav,.app-footer { max-width:100%; }
  .card,.inline-card,.today-card,.stat-card,.admin-metric-card,.settings-card,.forum-thread,.forum-composer { overflow-wrap:anywhere; }
  .actions,.inline-actions,.today-actions,.next-event-actions,.public-actions { min-width:0; }
  .actions > *,.inline-actions > *,.today-actions > *,.next-event-actions > *,.public-actions > * { min-width:0; }
  .public-content .trust-strip { margin-inline:calc(-1 * clamp(18px,4vw,54px));padding-inline:clamp(18px,4vw,54px); }
}

@media (max-width: 980px) {
  html, body { overflow-x:clip; }
  .app-main { width:100%; min-width:0; }
  .app-topbar { width:100%; }
  .app-topbar-title { min-width:0; overflow:hidden; }
  .app-topbar-title strong,.app-topbar-title > span { display:block;max-width:min(58vw,480px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
  .admin-subnav-group { min-width:0; }
  .admin-subnav a { max-width:100%;overflow-wrap:anywhere;word-break:normal; }
  html.djsp-mobile-context .app-sidebar { padding-bottom:calc(16px + max(env(safe-area-inset-bottom), var(--djsp-visual-bottom))); }
}

@media (max-width: 900px) {
  html.djsp-mobile-context {
    --djsp-mobile-nav-clearance: calc(var(--djsp-mobile-nav-height) + 16px + max(env(safe-area-inset-bottom), var(--djsp-visual-bottom)));
  }

  html:not(.djsp-mobile-context) .studio-mobile-nav {
    display:none !important;
    opacity:0;
    pointer-events:none;
  }

  html.djsp-mobile-context .studio-mobile-nav {
    display:grid;
    left:10px;
    right:10px;
    bottom:calc(8px + max(env(safe-area-inset-bottom), var(--djsp-visual-bottom)));
    min-height:var(--djsp-mobile-nav-height);
    padding:6px;
    overflow:visible;
    isolation:isolate;
    transform:translateZ(0);
    -webkit-transform:translateZ(0);
  }
  .studio-mobile-nav a,.studio-mobile-nav button {
    position:relative;
    z-index:1;
    min-width:0;
    min-height:54px;
    justify-content:center;
    gap:4px;
    padding:6px 3px;
    border-radius:9px;
    color:#3f4854;
    font-size:10px;
    font-weight:760;
    line-height:1.1;
    overflow:hidden;
  }
  .studio-mobile-nav a:hover,.studio-mobile-nav button:hover,
  .studio-mobile-nav a:focus-visible,.studio-mobile-nav button:focus-visible {
    background:#f2efec;
    color:#6f175b;
    outline:none;
  }
  .studio-mobile-nav .ui-icon { width:19px;height:19px;flex:0 0 auto; }
  .studio-mobile-nav span {
    position:relative;
    z-index:2;
    display:block!important;
    width:100%;
    max-width:100%;
    overflow:hidden;
    color:inherit;
    text-align:center;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  html.djsp-mobile-context .page.app-content { padding-bottom:calc(26px + var(--djsp-mobile-nav-clearance)); }
  html.djsp-mobile-context .app-footer { padding-bottom:calc(18px + var(--djsp-mobile-nav-clearance)); }
  html.djsp-mobile-context .event-floating-save,html.djsp-mobile-context .invoice-editor-submit { bottom:calc(var(--djsp-mobile-nav-clearance) + 4px); }
  html.djsp-mobile-context body.app-page .cookie-consent { bottom:calc(var(--djsp-mobile-nav-clearance) + 8px); }

  .table-wrap { max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain; }
  .table-wrap table { margin:0; }
  input,select,textarea,.btn { max-width:100%; }
  .public-content .trust-strip { margin-inline:-16px;padding-inline:16px; }
  .public-footer { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .public-footer .footer-copy { grid-column:1/-1; }
}

@media (max-width: 680px) {
  .card,.today-card,.inline-card,.forum-thread,.forum-composer { padding:16px; }
  .today-actions,.next-event-actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
  .today-actions .btn,.next-event-actions .btn { width:100%;min-width:0;padding-inline:9px; }
  .page-head h1,.dashboard-heading h1 { overflow-wrap:anywhere; }
  .continuous-improvement-strip { line-height:1.5; }
  .public-footer { grid-template-columns:1fr; }
  .public-footer .footer-copy { grid-column:1; }
}


@media (max-width: 430px) {
  .studio-mobile-nav { left:7px;right:7px; }
  .app-topbar { gap:8px; }
  .app-topbar-title strong,.app-topbar-title > span { max-width:50vw; }
  .card,.today-card,.inline-card,.forum-thread,.forum-composer { padding:14px; }
}

@media (max-width: 350px) {
  .today-actions,.next-event-actions { grid-template-columns:1fr; }
  .studio-mobile-nav a,.studio-mobile-nav button { font-size:9px;padding-inline:2px; }
  .studio-mobile-nav .ui-icon { width:18px;height:18px; }
}

@media (max-width: 900px) and (max-height: 520px) and (orientation: landscape) {
  :root { --djsp-mobile-nav-height:54px; }
  .studio-mobile-nav { padding:4px; }
  .studio-mobile-nav a,.studio-mobile-nav button { min-height:42px;flex-direction:row;gap:4px;font-size:9px; }
  .studio-mobile-nav .ui-icon { width:16px;height:16px; }
}


/* ======================== 1.6.4 OFFLINE PWA ======================== */
.offline-status-chip{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 9px;border:1px solid #d4d0ca;border-radius:9px;background:#fff;color:#4b5561;text-decoration:none;font-size:10px;font-weight:850;white-space:nowrap}.offline-status-chip.is-ready{border-color:#badacc;background:#eef8f3;color:#09664d}.offline-status-chip.is-offline{border-color:#d3bfd0;background:#f8eff5;color:#71175c}.offline-status-chip.is-error{border-color:#e2b9bd;background:#fff1f2;color:#9f2833}.offline-status-chip.is-syncing{opacity:.7}.offline-control-grid{align-items:stretch}.offline-control-card{display:flex;gap:16px}.offline-control-card>.settings-card-icon{flex:0 0 auto}.offline-control-card>div:last-child{min-width:0;flex:1}.offline-status-list{margin-top:14px}.offline-control-actions{margin-top:15px}.offline-check-list{margin:12px 0 18px;padding-left:20px}.offline-check-list li+li{margin-top:7px}.offline-security-note{margin-top:18px}.offline-security-note p{max-width:920px}.offline-control-card [data-network-state].is-offline{color:#941d78}
@media(max-width:1180px){.app-topbar-actions .offline-status-chip{max-width:110px;overflow:hidden;text-overflow:ellipsis}}
@media(max-width:900px){.app-topbar-actions .offline-status-chip{display:none}.offline-control-card{padding:18px}}
@media(max-width:680px){.offline-control-card{display:block}.offline-control-card>.settings-card-icon{margin-bottom:12px}.offline-control-actions{display:grid;grid-template-columns:1fr}.offline-control-actions>.btn{width:100%}}


/* ======================== 1.6.5 EVENT COLLABORATION ======================== */
.collaboration-list{display:grid;gap:10px;margin:14px 0}.collaboration-item{display:flex;align-items:center;justify-content:space-between;gap:14px}.collaboration-item>div{min-width:0}.collaboration-item small{display:block;margin-top:3px;overflow-wrap:anywhere}.collaboration-add-form{margin-top:14px;max-width:680px}.collaboration-card .badge{white-space:nowrap}@media(max-width:680px){.collaboration-item{align-items:stretch;flex-direction:column}.collaboration-item form,.collaboration-item .btn{width:100%}}


/* ======================== 1.7.1 CUSTOMER FEEDBACK ======================== */
.profile-gallery-editor{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:14px}
.profile-gallery-card{min-width:0;overflow:hidden;border:1px solid #ddd8d1;border-radius:12px;background:#fff}
.profile-gallery-card>img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#f3f1ee}
.profile-gallery-card-body{display:grid;gap:9px;padding:10px}
.profile-gallery-card-body>span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#5b6470}
.profile-gallery-card-body form,.profile-gallery-card-body .btn{width:100%}
.gallery-upload-status{min-height:20px;font-size:11px;color:#5b6470;overflow-wrap:anywhere}
.gallery-upload-status.is-progress{color:#5d4a00}.gallery-upload-status.is-success{color:#086348}.gallery-upload-status.is-error{color:#9d2631}
.ares-lookup-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.ares-lookup-row .btn{white-space:nowrap}
.ares-status{display:block;min-height:18px;margin-top:5px;font-size:10px;color:#5b6470;overflow-wrap:anywhere}
.ares-status.is-success{color:#086348}.ares-status.is-error{color:#9d2631}.ares-status.is-progress{color:#5d4a00}
.invoice-numbering-settings{display:grid;gap:10px;padding:14px;border:1px solid #ddd8d1;border-radius:12px;background:#fbfaf8}
.invoice-numbering-settings>legend{padding:0 6px;font-weight:850;color:#222a34}
.invoice-numbering-settings [data-invoice-numbering-continuous],.invoice-numbering-settings [data-invoice-numbering-monthly]{padding:10px;border-radius:9px;background:#fff}
@media(max-width:560px){.ares-lookup-row{grid-template-columns:1fr}.ares-lookup-row .btn{width:100%}.profile-gallery-editor{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:360px){.profile-gallery-editor{grid-template-columns:1fr}}
