/**
 * ZAPISLY - Light Premium SaaS
 * Дизайн в стиле Stripe/Linear/Framer
 * Никаких черных секций, только мягкий премиум
 */
:root {
    --bg-gradient-start: #f8faff;
    --bg-gradient-end: #f0f3fe;
    --card-bg: rgba(255, 255, 255, 0.9);
    --card-bg-solid: #ffffff;
    --card-blur: 12px;

    --primary-light: #e9eaff;
    --primary-soft: #d0d3ff;
    --primary-main: #6c5ce7;
    --primary-dark: #5b4bc4;
    --primary-gradient: linear-gradient(135deg, #6c5ce7 0%, #8b7bf7 100%);

    --gray-50: #fafbfc;
    --gray-100: #f5f7fa;
    --gray-200: #edf0f5;
    --gray-300: #e1e6ed;
    --gray-400: #c9d0da;
    --gray-500: #9aa4b5;
    --gray-600: #6b788b;
    --gray-700: #4a5568;
    --gray-800: #2d3748;
    --gray-900: #1a202c;

    --success-light: #e3f9ee;
    --success-main: #0ca678;
    --warning-light: #fff3e3;
    --warning-main: #f59f00;
    --error-light: #ffe9e9;
    --error-main: #e53e3e;
    --info-light: #e3f0ff;
    --info-main: #3b82f6;

    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.02), 0 1px 2px rgba(0, 0, 0, 0.02);
    --shadow-md: 0 8px 20px rgba(0, 0, 0, 0.02), 0 2px 6px rgba(0, 0, 0, 0.02);
    --shadow-lg: 0 16px 32px rgba(0, 0, 0, 0.02), 0 4px 12px rgba(0, 0, 0, 0.02);
    --shadow-xl: 0 24px 48px rgba(0, 0, 0, 0.03), 0 8px 16px rgba(0, 0, 0, 0.02);

    --transition-fast: 160ms cubic-bezier(0.2, 0, 0, 1);
    --transition-base: 240ms cubic-bezier(0.2, 0, 0, 1);
    --transition-slow: 320ms cubic-bezier(0.2, 0, 0, 1);

    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 16px;
    --radius-xl: 24px;
    --radius-full: 9999px;

    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 24px;
    --space-6: 32px;
    --space-7: 40px;
    --space-8: 48px;
    --space-9: 64px;
    --space-10: 80px;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html, body { height: 100%; }

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', Roboto, sans-serif;
    background: linear-gradient(135deg, var(--bg-gradient-start), var(--bg-gradient-end));
    color: var(--gray-800);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    min-height: 100vh;
}

.container { max-width: 1200px; margin: 0 auto; padding: 0 var(--space-5); }

h1,h2,h3,h4,h5,h6 { font-weight: 600; color: var(--gray-900); letter-spacing: -0.02em; }
h1 { font-size: clamp(2.5rem, 5vw, 3.5rem); line-height: 1.2; margin-bottom: var(--space-4); }
h2 { font-size: clamp(2rem, 4vw, 2.5rem); margin-bottom: var(--space-3); }
h3 { font-size: 1.5rem; margin-bottom: var(--space-2); }
p { color: var(--gray-600); font-size: 1.125rem; line-height: 1.6; }

a { color: inherit; }

.text-gradient {
    background: var(--primary-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-5);
    border-radius: var(--radius-md);
    font-weight: 500;
    font-size: 1rem;
    border: none;
    cursor: pointer;
    transition: all var(--transition-base);
    text-decoration: none;
    white-space: nowrap;
}
.btn:active { transform: translateY(1px); }

.btn-primary {
    background: var(--primary-gradient);
    color: white;
    box-shadow: 0 4px 12px rgba(108, 92, 231, 0.2);
}
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(108, 92, 231, 0.3); }

.btn-secondary {
    background: var(--card-bg-solid);
    color: var(--gray-700);
    border: 1px solid var(--gray-300);
    box-shadow: var(--shadow-sm);
}
.btn-secondary:hover { background: white; border-color: var(--gray-400); transform: translateY(-2px); box-shadow: var(--shadow-md); }

.btn-outline {
    background: transparent;
    color: var(--gray-700);
    border: 1px solid var(--gray-300);
}
.btn-outline:hover { background: white; border-color: var(--primary-main); color: var(--primary-main); transform: translateY(-2px); }

.btn-ghost {
    background: transparent;
    color: var(--gray-600);
}
.btn-ghost:hover { background: rgba(255, 255, 255, 0.8); color: var(--gray-900); }

.btn-large { padding: var(--space-4) var(--space-6); font-size: 1.125rem; }
.btn-small { padding: 6px 10px; font-size: 0.875rem; border-radius: var(--radius-sm); }
.btn-block { width: 100%; }
.btn:disabled { opacity: .5; cursor: not-allowed; transform: none !important; }

.card {
    background: var(--card-bg);
    backdrop-filter: blur(var(--card-blur));
    -webkit-backdrop-filter: blur(var(--card-blur));
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    box-shadow: var(--shadow-md);
    transition: all var(--transition-base);
}
.card-solid { background: var(--card-bg-solid); border: 1px solid var(--gray-200); }
.card:hover { transform: translateY(-4px); box-shadow: var(--shadow-xl); }

.navbar {
    position: sticky; top: 0; z-index: 50;
    background: rgba(255,255,255,0.75);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(255,255,255,0.6);
}
.navbar .container { display:flex; align-items:center; justify-content:space-between; height:72px; }
.logo { display:flex; align-items:center; gap: var(--space-2); font-weight:600; font-size:1.25rem; color: var(--gray-900); text-decoration:none; }
.logo-icon { width:32px; height:32px; background: var(--primary-gradient); border-radius: var(--radius-sm); display:flex; align-items:center; justify-content:center; color:#fff; font-weight:700; box-shadow: var(--shadow-sm); }

.nav-links { display:flex; gap: var(--space-6); list-style:none; }
.nav-links a { color: var(--gray-600); text-decoration:none; font-weight:500; transition: color var(--transition-fast); }
.nav-links a:hover, .nav-links a.active { color: var(--primary-main); }

.nav-actions { display:flex; gap: var(--space-3); align-items:center; }

.footer {
    background: rgba(255,255,255,0.55);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-top: 1px solid rgba(255,255,255,0.6);
    padding: var(--space-9) 0 var(--space-6);
    margin-top: var(--space-9);
}
.footer-grid { display:grid; grid-template-columns: 2fr repeat(3, 1fr); gap: var(--space-8); margin-bottom: var(--space-8); }
.footer-col h4 { color: var(--gray-800); font-size: 1rem; margin-bottom: var(--space-4); }
.footer-col ul { list-style:none; }
.footer-col li { margin-bottom: var(--space-2); }
.footer-col a { color: var(--gray-600); text-decoration:none; font-size: .9375rem; transition: color var(--transition-fast); }
.footer-col a:hover { color: var(--primary-main); }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; padding-top: var(--space-6); border-top: 1px solid rgba(255,255,255,0.6); }
.copyright { color: var(--gray-500); font-size: .875rem; }

.badge { display:inline-flex; align-items:center; padding: 2px 10px; border-radius: var(--radius-full); font-size: .75rem; font-weight: 500; }
.badge-success { background: var(--success-light); color: var(--success-main); }
.badge-info { background: var(--info-light); color: var(--info-main); }
.badge-warning { background: var(--warning-light); color: var(--warning-main); }
.badge-error { background: var(--error-light); color: var(--error-main); }

.hero { padding: var(--space-9) 0; min-height: 80vh; display:flex; align-items:center; }
.hero .container { display:grid; grid-template-columns: 1fr 1fr; gap: var(--space-8); align-items:center; }
.hero-content { max-width: 560px; }
.hero-badge { display:inline-flex; align-items:center; gap: var(--space-2); background: rgba(108,92,231,0.1); color: var(--primary-main); padding: var(--space-2) var(--space-3); border-radius: var(--radius-full); font-size:.875rem; font-weight:500; margin-bottom: var(--space-4); }
.hero-actions { display:flex; gap: var(--space-3); margin-top: var(--space-5); flex-wrap:wrap; }
.hero-stats { display:flex; gap: var(--space-6); margin-top: var(--space-6); flex-wrap:wrap; }
.stat-item { display:flex; flex-direction:column; }
.stat-value { font-size:2rem; font-weight:700; color: var(--gray-900); }
.stat-label { color: var(--gray-500); font-size:.875rem; }

.dashboard-preview { position:relative; }
.preview-card { background:#fff; border-radius: var(--radius-xl); padding: var(--space-5); box-shadow: var(--shadow-xl); border: 1px solid rgba(255,255,255,0.8); animation: float 6s ease-in-out infinite; }
@keyframes float { 0%,100%{transform:translateY(0);} 50%{transform:translateY(-10px);} }
.preview-header { display:flex; align-items:center; justify-content:space-between; margin-bottom: var(--space-4); }
.preview-dots{ display:flex; gap:6px; }
.preview-dot{ width:10px; height:10px; border-radius:50%; background: var(--gray-300); }
.preview-dot:nth-child(1){background:#ff5f56;} .preview-dot:nth-child(2){background:#ffbd2e;} .preview-dot:nth-child(3){background:#27c93f;}
.preview-stats{ display:grid; grid-template-columns: repeat(3,1fr); gap: var(--space-3); margin-bottom: var(--space-4); }
.preview-stat{ background: var(--gray-50); border-radius: var(--radius-md); padding: var(--space-3); }
.preview-stat-label{ font-size:.75rem; color: var(--gray-500); margin-bottom:4px; }
.preview-stat-value{ font-size:1.25rem; font-weight:600; color: var(--gray-900); }
.preview-calendar{ background: var(--gray-50); border-radius: var(--radius-md); padding: var(--space-3); }
.calendar-header{ display:flex; align-items:center; justify-content:space-between; margin-bottom: var(--space-3); font-size:.875rem; color: var(--gray-700); }
.calendar-weekdays{ display:grid; grid-template-columns: repeat(7,1fr); gap:4px; text-align:center; font-size:.75rem; color: var(--gray-500); margin-bottom:4px; }
.calendar-days{ display:grid; grid-template-columns: repeat(7,1fr); gap:4px; }
.calendar-day{ aspect-ratio:1; display:flex; align-items:center; justify-content:center; font-size:.875rem; color: var(--gray-700); border-radius: var(--radius-sm); transition: background var(--transition-fast); }
.calendar-day.has-event{ background: var(--primary-soft); color: var(--primary-dark); font-weight:500; }
.calendar-day:hover{ background: var(--gray-200); }

.features{ padding: var(--space-9) 0; background: rgba(255,255,255,0.35); }
.section-header{ text-align:center; max-width: 680px; margin: 0 auto var(--space-8); }
.section-header p{ font-size:1.25rem; }
.features-grid{ display:grid; grid-template-columns: repeat(auto-fit, minmax(280px,1fr)); gap: var(--space-5); }
.feature-card{ background:#fff; border-radius: var(--radius-lg); padding: var(--space-6); box-shadow: var(--shadow-md); border:1px solid var(--gray-200); transition: all var(--transition-base); }
.feature-card:hover{ transform: translateY(-4px); box-shadow: var(--shadow-xl); border-color: var(--primary-soft); }
.feature-icon{ width:48px; height:48px; background: var(--primary-gradient); border-radius: var(--radius-md); display:flex; align-items:center; justify-content:center; color:#fff; margin-bottom: var(--space-4); }
.feature-card p{ font-size:1rem; }

.how-it-works{ padding: var(--space-9) 0; }
.steps{ display:grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-5); }
.step{ text-align:center; position:relative; }
.step:not(:last-child)::after{ content:''; position:absolute; top:32px; right:-32px; width:64px; height:2px; background: var(--gray-300); background-image: linear-gradient(90deg, var(--gray-300) 50%, transparent 50%); background-size: 16px 2px; }
.step-number{ width:64px; height:64px; background:#fff; border:2px solid var(--primary-soft); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.5rem; font-weight:700; color: var(--primary-main); margin: 0 auto var(--space-4); box-shadow: var(--shadow-sm); }
.step p{ font-size:.9375rem; }

.pricing{ padding: var(--space-9) 0; background: rgba(255,255,255,0.35); }
.pricing-grid{ display:grid; grid-template-columns: repeat(2,1fr); gap: var(--space-6); max-width: 880px; margin: 0 auto; }
.pricing-card{ background:#fff; border-radius: var(--radius-xl); padding: var(--space-7); box-shadow: var(--shadow-lg); border: 1px solid var(--gray-200); position:relative; transition: all var(--transition-base); }
.pricing-card:hover{ transform: translateY(-4px); box-shadow: var(--shadow-xl); }
.pricing-card.featured{ border:2px solid var(--primary-main); transform: scale(1.03); }
.pricing-badge{ position:absolute; top:-12px; left:50%; transform: translateX(-50%); background: var(--primary-gradient); color:#fff; padding: var(--space-1) var(--space-3); border-radius: var(--radius-full); font-size:.75rem; font-weight:600; letter-spacing:.5px; }
.pricing-header{ text-align:center; margin-bottom: var(--space-5); }
.price{ font-size:3rem; font-weight:700; color: var(--gray-900); }
.price-period{ color: var(--gray-500); font-size:1rem; font-weight:400; }
.pricing-features ul{ list-style:none; }
.pricing-features li{ display:flex; align-items:center; gap: var(--space-2); padding: var(--space-2) 0; color: var(--gray-700); }
.pricing-features li::before{ content:'✓'; color: var(--success-main); font-weight:700; margin-right: var(--space-2); }
.pricing-features li.disabled{ color: var(--gray-400); }
.pricing-features li.disabled::before{ content:'✗'; color: var(--gray-400); }

.auth-page{ min-height: calc(100vh - 72px); display:flex; align-items:center; justify-content:center; padding: var(--space-5); }
.auth-container{ width:100%; max-width: 420px; }
.auth-card{ background:#fff; border-radius: var(--radius-xl); padding: var(--space-7); box-shadow: var(--shadow-xl); border:1px solid var(--gray-200); }
.auth-header{ text-align:center; margin-bottom: var(--space-6); }
.auth-header h1{ font-size:2rem; margin-bottom: var(--space-2); }
.auth-header p{ font-size:1rem; }

.form-group{ margin-bottom: var(--space-5); }
.form-group label{ display:block; margin-bottom: var(--space-2); color: var(--gray-700); font-weight:500; font-size:.9375rem; }
.input-wrapper{ position:relative; display:flex; align-items:center; }
.input-wrapper svg{ position:absolute; left: var(--space-3); color: var(--gray-400); transition: color var(--transition-fast); pointer-events:none; }
.input-wrapper input, .input-wrapper select, .input-wrapper textarea{
    width:100%;
    padding: var(--space-3) var(--space-3) var(--space-3) calc(var(--space-3)*2 + 20px);
    background:#fff; border:1px solid var(--gray-300); border-radius: var(--radius-md);
    color: var(--gray-900); font-size:1rem; transition: all var(--transition-fast);
}
.input-wrapper textarea{ min-height: 110px; resize: vertical; }
.input-wrapper input:focus, .input-wrapper select:focus, .input-wrapper textarea:focus{
    outline:none; border-color: var(--primary-main); box-shadow: 0 0 0 4px var(--primary-light);
}
.input-wrapper .field-compact{ padding-left: var(--space-3); }
.form-error{ margin-top: var(--space-1); color: var(--error-main); font-size:.875rem; min-height: 18px; }
.form-hint{ margin-top: var(--space-1); color: var(--gray-500); font-size:.75rem; }

.checkbox{ display:flex; align-items:center; gap: var(--space-2);  color: var(--gray-700); font-size:.9375rem; }
.checkbox input{ width:18px; height:18px; }

.dashboard-layout{ display:flex; min-height: calc(100vh - 72px); background: linear-gradient(135deg, var(--bg-gradient-start), var(--bg-gradient-end)); position:relative; }
.dashboard-layout::before{ content:''; position:absolute; inset:0; pointer-events:none; background: radial-gradient(800px 420px at 18% 10%, rgba(108,92,231,.12), transparent 62%), radial-gradient(760px 420px at 82% 28%, rgba(59,130,246,.10), transparent 62%); }
.sidebar{ width:280px; background: rgba(255,255,255,0.72); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border-right: 1px solid rgba(255,255,255,0.65); padding: var(--space-6) 0; box-shadow: var(--shadow-md); position:relative; z-index:1; }
.sidebar-header{ padding: 0 var(--space-5) var(--space-5); border-bottom: 1px solid rgba(255,255,255,0.6); }
.sidebar-nav{ padding: var(--space-4) 0; }
.sidebar-nav ul{ list-style:none; }
.nav-item{ margin-bottom: 2px; }
.nav-item a{ display:flex; align-items:center; gap: var(--space-3); padding: var(--space-3) var(--space-5); color: var(--gray-600); text-decoration:none; transition: all var(--transition-fast); position:relative; border-radius: 0; }
.nav-item:hover a{ background: rgba(255,255,255,0.5); color: var(--gray-900); }
.nav-item.active a{ background:#fff; color: var(--primary-main); box-shadow: var(--shadow-sm); }
.nav-item.active a::before{ content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background: var(--primary-gradient); }
.main-content{ flex:1; padding: var(--space-6); overflow-y:auto; position:relative; z-index:1; }
.content-header{ display:flex; align-items:center; justify-content:space-between; margin-bottom: var(--space-6); padding-bottom: var(--space-4); border-bottom: 1px solid rgba(255,255,255,0.75); }
.page-title{ font-size:1.75rem; color: var(--gray-900); letter-spacing:-0.02em; }

.stats-grid{ display:grid; grid-template-columns: repeat(auto-fit, minmax(240px,1fr)); gap: var(--space-5); margin-bottom: var(--space-6); }
.stat-card{ background:#fff; border-radius: var(--radius-lg); padding: var(--space-5); box-shadow: var(--shadow-md); border:1px solid var(--gray-200); display:flex; align-items:flex-start; justify-content:space-between; transition: all var(--transition-base); }
.stat-card:hover{ transform: translateY(-2px); box-shadow: var(--shadow-lg); }
.stat-icon{ width:48px; height:48px; background: var(--primary-light); border-radius: var(--radius-md); display:flex; align-items:center; justify-content:center; color: var(--primary-main); }
.stat-value{ font-size:2rem; font-weight:700; color: var(--gray-900); }

.table-container{ background:#fff; border-radius: var(--radius-lg); padding: var(--space-5); box-shadow: var(--shadow-md); border:1px solid var(--gray-200); overflow-x:auto; }
table{ width:100%; border-collapse: collapse; }
th{ text-align:left; padding: var(--space-3); color: var(--gray-600); font-weight:500; font-size:.875rem; border-bottom:1px solid var(--gray-200); }
td{ padding: var(--space-3); color: var(--gray-900); border-bottom:1px solid var(--gray-200); }
tr:last-child td{ border-bottom:none; }
tr:hover td{ background: var(--gray-50); }

.toast-container{ position:fixed; bottom: var(--space-6); right: var(--space-6); z-index:1000; display:flex; flex-direction:column; gap: var(--space-3); }
.toast{ background:#fff; border-radius: var(--radius-md); padding: var(--space-4); box-shadow: var(--shadow-lg); display:flex; align-items:flex-start; gap: var(--space-3); min-width: 280px; max-width: 420px; border-left:4px solid; animation: slideIn var(--transition-base);  }
.toast.success{ border-left-color: var(--success-main); }
.toast.error{ border-left-color: var(--error-main); }
.toast.warning{ border-left-color: var(--warning-main); }
.toast.info{ border-left-color: var(--info-main); }
.toast-title{ font-weight:600; color: var(--gray-900); margin-bottom:2px; font-size:.9375rem; }
.toast-message{ color: var(--gray-600); font-size:.875rem; }
@keyframes slideIn { from{ transform: translateX(16px); opacity:0; } to{ transform: translateX(0); opacity:1; } }

@keyframes fadeIn { from{ opacity:0; transform: translateY(10px);} to{ opacity:1; transform: translateY(0);} }
.fade-in { animation: fadeIn var(--transition-base); }

@media (max-width: 1024px){
  .hero .container{ grid-template-columns: 1fr; text-align:center; }
  .hero-content{ max-width: 100%; }
  .hero-actions{ justify-content:center; }
  .hero-stats{ justify-content:center; }
  .steps{ grid-template-columns: repeat(2, 1fr); }
  .step:not(:last-child)::after{ display:none; }
  .pricing-grid{ grid-template-columns: 1fr; }
  .pricing-card.featured{ transform:none; }
  .footer-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px){
  .nav-links{ display:none; }
  .steps{ grid-template-columns: 1fr; }
  .footer-grid{ grid-template-columns: 1fr; }
  .footer-bottom{ flex-direction:column; text-align:center; gap: var(--space-4); }
  .dashboard-layout{ flex-direction:column; }
  .sidebar{ width:100%; border-right:none; border-bottom: 1px solid rgba(255,255,255,0.6); padding: var(--space-4); }
  .stats-grid{ grid-template-columns: 1fr; }
}


/* Optional: alternative 'dusk' theme (still light, no black) */
html[data-theme="dusk"]{
  --bg-gradient-start:#eef0ff;
  --bg-gradient-end:#e8edff;
  --card-bg: rgba(255,255,255,0.86);
  --primary-main:#5a67d8;
  --primary-dark:#4c51bf;
  --primary-gradient: linear-gradient(135deg, #5a67d8 0%, #7c7ff3 100%);
}

/* ============================================
   PANEL POLISH (extra premium)
   ============================================ */

/* Sidebar user card (premium, no clipping, looks like a real product) */
.sidebar-user{
  display:flex;
  gap: var(--space-4);
  align-items:flex-start;
  padding: var(--space-4);
  margin: 0 var(--space-3) var(--space-4);
  border-radius: var(--radius-lg);
}
.sidebar-user.premium{
  position: relative;
  overflow: hidden;
  background: rgba(255,255,255,0.78);
  border: 1px solid rgba(108,92,231,0.12);
  box-shadow:
    0 18px 60px rgba(17, 24, 39, 0.08),
    0 1px 0 rgba(255,255,255,0.75) inset;
  backdrop-filter: blur(10px);
}
.sidebar-user.premium::before{
  content:"";
  position:absolute;
  inset: -1px;
  pointer-events:none;
  border-radius: inherit;
  background: linear-gradient(135deg,
    rgba(108,92,231,0.45),
    rgba(58,134,255,0.25),
    rgba(108,92,231,0.10)
  );
  opacity: .22;
}
.sidebar-user.premium::after{
  content:"";
  position:absolute;
  top:-40px;
  right:-40px;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, rgba(108,92,231,0.25), rgba(108,92,231,0));
  opacity: .75;
  pointer-events:none;
}
.user-avatar{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 800;
  letter-spacing: .02em;
  color: #fff;
  background: var(--primary-gradient);
  box-shadow:
    0 16px 34px rgba(108,92,231,0.26),
    0 1px 0 rgba(255,255,255,0.25) inset;
  flex: 0 0 auto;
}
.user-info{ min-width: 0; }
.user-name{
  font-weight: 800;
  color: var(--gray-900);
  line-height: 1.15;
  margin-bottom: 4px;
  word-break: break-word;
}

.user-row{
  display:flex;
  gap: var(--space-3);
  align-items:center;
  justify-content: space-between;
}
.user-badges{
  display:flex;
  gap: 8px;
  align-items:center;
  flex-wrap:wrap;
  flex: 0 0 auto;
}
.user-email{
  font-size: .86rem;
  color: var(--gray-600);
  margin-top: 2px;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.role-badge{
  display:inline-flex;
  align-items:center;
  height: 22px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .06em;
  border: 1px solid rgba(17,24,39,0.08);
  background: rgba(255,255,255,0.7);
  color: var(--gray-800);
}
.role-badge.role-user{ opacity: .9; }
.role-badge.role-admin{
  border-color: rgba(58,134,255,0.25);
  background: rgba(58,134,255,0.10);
  color: #2356c7;
}
.role-badge.role-superadmin{
  border-color: rgba(108,92,231,0.25);
  background: rgba(108,92,231,0.12);
  color: #4c2bd8;
}

/* Staff cards grid (previously had no base styles) */
.staff-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--space-4);
}
.staff-card{
  display:flex;
  gap: var(--space-4);
  align-items:flex-start;
  padding: var(--space-5);
  background: rgba(255,255,255,0.86);
  border: 1px solid rgba(108,92,231,0.10);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  transition: transform var(--transition-base);
}
.staff-avatar{
  width: 44px;
  height: 44px;
  border-radius: 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 800;
  color: #fff;
  background: linear-gradient(135deg, rgba(108,92,231,1) 0%, rgba(0,184,255,1) 100%);
  box-shadow: 0 14px 30px rgba(108,92,231,0.25);
  flex: 0 0 auto;
}
.staff-info{ min-width: 0; }
.staff-info h3{
  margin: 0 0 6px 0;
  font-size: 1.02rem;
  color: var(--gray-900);
  line-height: 1.2;
  overflow-wrap:anywhere;
}
.staff-position{ color: var(--gray-600); font-size: .875rem; margin-bottom: var(--space-4); }
.staff-card form{ margin-top: auto; }
.staff-card .btn{ padding-left: 14px; padding-right: 14px; }

/* Tables: make dense lists look cleaner */
.table-container table{ width:100%; border-collapse: collapse; }
.table-container thead th{ color: var(--gray-600); font-weight: 600; font-size: .875rem; padding: 12px 10px; border-bottom: 1px solid var(--gray-200); }
.table-container tbody td{ padding: 14px 10px; border-bottom: 1px solid rgba(226,232,240,0.7); color: var(--gray-900); vertical-align: middle; }
.table-container tbody tr:hover{ background: rgba(108,92,231,0.04); }
.table-container tbody tr:last-child td{ border-bottom: none; }

@media (max-width: 768px){
  .sidebar-user{ margin: 0 0 var(--space-4); }
  .staff-card{ padding: var(--space-4); }
}

/* Sidebar: nicer pills + breathing space */
.sidebar{ box-shadow: 0 18px 50px rgba(17, 24, 39, 0.04); }
.sidebar-nav .nav-item a{ border-radius: var(--radius-md); margin: 0 var(--space-3); }
.nav-item a{ border-radius: var(--radius-md); }
.nav-item.active a{ border: 1px solid rgba(108, 92, 231, 0.14); }
.nav-item.active a::before{ border-radius: 0 var(--radius-full) var(--radius-full) 0; }

/* Content: centered, cleaner header */
.main-content{ max-width: 1180px; margin: 0 auto; }
.content-header{ padding-bottom: var(--space-4); border-bottom: 1px solid rgba(255,255,255,0.65); }

/* Cards: slightly softer hover */
.stat-card:hover,
.service-card:hover,
.staff-card:hover{ transform: translateY(-3px); }

/* Ensure we never get harsh "black" blocks */
.btn-secondary{ background: rgba(255,255,255,0.92); }
.btn-outline{ background: rgba(255,255,255,0.55); }



/* Premium sidebar profile (clickable to settings) */
.sidebar-user-clickable{
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.sidebar-user-clickable:hover{
  transform: translateY(-1px);
  border-color: rgba(108,92,231,0.22);
  box-shadow:
    0 22px 70px rgba(17, 24, 39, 0.10),
    0 1px 0 rgba(255,255,255,0.75) inset;
}
.user-avatar-link{
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  color: inherit;
}
.user-subline{
  margin-top: 6px;
  display:flex;
  align-items:center;
  gap: 8px;
}
.user-subline .plan-badge{
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 999px;
  letter-spacing: .2px;
}


/* Public booking calendar states */
.calendar-day.selected{
  background: var(--primary-main);
  color: white;
  font-weight: 700;
}
.calendar-day:disabled{
  cursor: not-allowed;
}

/* --- App UI refresh --- */
.input-wrapper input,
.input,
textarea.input,
select.input {
  min-height: 50px;
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(255,255,255,0.86);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.65), 0 10px 24px rgba(15, 23, 42, 0.04);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.input-wrapper input:focus,
.input:focus,
textarea.input:focus,
select.input:focus {
  border-color: rgba(99,102,241,.55);
  box-shadow: 0 0 0 4px rgba(99,102,241,.12), 0 18px 36px rgba(79, 70, 229, .12);
  transform: translateY(-1px);
}
.quick-panel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;}
.quick-panel-card{display:flex;gap:14px;align-items:flex-start;padding:20px;border-radius:20px;text-decoration:none;color:inherit;background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.85);box-shadow:0 16px 38px rgba(15,23,42,.06);transition:.18s ease all;}
.quick-panel-card:hover{transform:translateY(-2px);box-shadow:0 20px 42px rgba(15,23,42,.09);}
.quick-panel-icon{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg, rgba(99,102,241,.14), rgba(59,130,246,.1));font-size:22px;flex:0 0 46px;}
.quick-panel-title{font-weight:700;color:var(--gray-900);}
.quick-panel-text{font-size:.94rem;color:var(--gray-600);margin-top:4px;line-height:1.45;}
.section-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap;margin-bottom:18px;}
.section-heading h3{margin:0 0 6px;}
.section-heading p{margin:0;color:var(--gray-600);}
.profile-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.compact-form-grid{gap:14px;}
.form-group-wide{grid-column:1 / -1;}
.form-actions-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
.form-hint{display:block;color:var(--gray-500);margin-top:8px;font-size:.92rem;}
.staff-card-compact{padding:22px;border-radius:22px;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.85);box-shadow:0 16px 38px rgba(15,23,42,.06);}
.staff-card-meta{display:grid;gap:6px;color:var(--gray-600);font-size:.94rem;margin-top:12px;}
.staff-card-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;}
.staff-profile-shell{display:grid;gap:20px;}
.staff-profile-hero{padding:28px !important;border-radius:26px;}
.staff-profile-head{display:flex;gap:20px;align-items:center;flex-wrap:wrap;}
.staff-profile-avatar{width:96px;height:96px;border-radius:26px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-size:32px;font-weight:700;box-shadow:0 20px 40px rgba(99,102,241,.24);}
.staff-profile-main{flex:1;min-width:240px;}
.staff-profile-topline{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.staff-contact-row{display:flex;gap:18px;flex-wrap:wrap;color:var(--gray-600);margin-top:10px;font-size:.95rem;}
.staff-profile-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px;}
.mini-stat{padding:16px 18px;border-radius:18px;background:rgba(248,250,252,.9);border:1px solid rgba(148,163,184,.16);}
.mini-stat span{display:block;color:var(--gray-500);font-size:.9rem;margin-bottom:6px;}
.mini-stat strong{font-size:1.25rem;color:var(--gray-900);}
.staff-profile-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.9fr);gap:20px;align-items:start;}
.staff-schedule-textarea{min-height:170px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;}
.staff-activity-list{display:grid;gap:12px;}
.activity-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px 16px;border-radius:18px;background:rgba(248,250,252,.9);border:1px solid rgba(148,163,184,.15);}
.activity-title{font-weight:700;color:var(--gray-900);}
.activity-meta{font-size:.9rem;color:var(--gray-500);margin-top:3px;}
.client-chat-grid{display:grid;gap:18px;}
.client-chat-card{padding:22px !important;border-radius:24px;}
.client-chat-card.is-active{box-shadow:0 20px 40px rgba(99,102,241,.12);border:1px solid rgba(99,102,241,.18);}
.client-chat-head{display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap;}
.client-chat-person{display:flex;gap:14px;align-items:center;}
.client-bubble-avatar{width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;box-shadow:0 16px 34px rgba(99,102,241,.22);}
.client-chat-name{font-size:1.04rem;font-weight:700;color:var(--gray-900);}
.client-chat-meta{font-size:.92rem;color:var(--gray-500);margin-top:4px;}
.client-chat-summary{display:flex;gap:18px;flex-wrap:wrap;margin:16px 0;color:var(--gray-600);font-size:.94rem;}
.client-thread-shell{margin-top:18px;border-radius:22px;padding:16px;background:linear-gradient(180deg, rgba(248,250,252,.92), rgba(241,245,249,.9));border:1px solid rgba(148,163,184,.14);}
.client-thread-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px;}
.client-thread-header h4{margin:0;}
.client-thread-list{display:grid;gap:10px;max-height:320px;overflow:auto;padding-right:4px;}
.chat-empty{padding:16px;border-radius:16px;background:rgba(255,255,255,.72);color:var(--gray-500);}
.chat-bubble{max-width:88%;padding:14px 16px;border-radius:18px;background:#fff;box-shadow:0 12px 26px rgba(15,23,42,.05);border:1px solid rgba(148,163,184,.14);}
.chat-bubble.own{margin-left:auto;background:linear-gradient(135deg, rgba(99,102,241,.12), rgba(59,130,246,.08));}
.chat-bubble-text{color:var(--gray-900);line-height:1.5;word-break:break-word;}
.chat-bubble-time{margin-top:8px;font-size:.82rem;color:var(--gray-500);}
.chat-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin-top:16px;}
.billing-shell{display:grid;gap:20px;}
.billing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start;}
.billing-method-card{padding:24px;border-radius:26px;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.85);box-shadow:0 18px 42px rgba(15,23,42,.06);}
.billing-method-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap;}
.billing-method-kicker{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-500);margin-bottom:8px;}
.billing-method-head h4{margin:0 0 6px;}
.billing-method-head p{margin:0;color:var(--gray-600);max-width:380px;line-height:1.5;}
.billing-price-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px;}
.billing-checkbox{display:flex;align-items:center;gap:10px;color:var(--gray-700);font-weight:600;}
.billing-inline-status{display:inline-flex;}
@media (max-width: 980px){
  .staff-profile-grid,.billing-grid{grid-template-columns:1fr;}
  .profile-form-grid{grid-template-columns:1fr;}
}
@media (max-width: 760px){
  .staff-profile-head{align-items:flex-start;}
  .staff-profile-stats{grid-template-columns:1fr;}
  .client-thread-shell{padding:14px;}
  .chat-compose{grid-template-columns:1fr;}
}


/* 2026-03-12 UI/UX production patch */
.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.quick-card{display:flex;gap:14px;align-items:flex-start;padding:18px;border:1px solid var(--gray-200);border-radius:18px;background:#fff;text-decoration:none;color:var(--gray-900);box-shadow:var(--shadow-sm);transition:.2s ease}
.quick-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--primary-soft)}
.quick-card strong{display:block;font-size:1rem;margin-bottom:4px}
.quick-card div span{display:block;color:var(--gray-600);font-size:.92rem;line-height:1.4}
.quick-icon{width:42px;height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-main),var(--accent-main));color:#fff;flex:0 0 42px}
.panel-form .form-group label,.profile-form-grid .form-group label{margin-bottom:8px;display:block;font-weight:600;color:var(--gray-700)}
.form-grid{display:grid !important;gap:16px;align-items:end}
.form-grid-services{grid-template-columns:minmax(220px,2fr) minmax(180px,1.2fr) minmax(130px,1fr) minmax(130px,1fr) minmax(190px,.9fr)}
.form-grid-staff{grid-template-columns:minmax(180px,1.2fr) minmax(160px,1fr) minmax(180px,1fr) minmax(170px,1fr) minmax(180px,1.3fr) minmax(180px,1.1fr) minmax(210px,.9fr)}
.form-grid-clients{grid-template-columns:minmax(200px,1.6fr) minmax(170px,1fr) minmax(200px,1.5fr) minmax(230px,1.8fr) minmax(210px,.9fr)}
.form-grid-bookings{grid-template-columns:minmax(190px,1.7fr) minmax(180px,1.6fr) minmax(180px,1.6fr) minmax(190px,1.5fr) minmax(220px,1.8fr) minmax(190px,.9fr)}
.form-submit{display:flex;align-items:flex-end;min-height:100%}
.form-submit .btn{width:100%;justify-content:center}
.input-wrapper input,.input-wrapper select,.input-wrapper textarea,.input{padding-left:16px !important}
input[type=file]{padding:12px 14px;background:#fff;border-radius:14px;border:1px solid var(--gray-300);width:100%}
.table-container .btn,.card .btn{white-space:nowrap}
.staff-card-meta,.staff-contact-row{display:flex;gap:12px;flex-wrap:wrap}
.staff-card-meta span,.staff-contact-row span{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:var(--gray-100);color:var(--gray-700);font-size:.88rem}
.staff-card-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.staff-profile-avatar{overflow:hidden}
.profile-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.form-group-wide{grid-column:1/-1}
.staff-schedule-textarea{min-height:160px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
details summary{list-style:none}
details summary::-webkit-details-marker{display:none}
details summary{display:inline-flex;align-items:center;gap:8px;padding:8px 0}
.table-container h3{margin-bottom:18px !important}
.empty-state{padding:28px;border:1px dashed var(--gray-300);border-radius:18px;background:rgba(255,255,255,.55)}
.badge{line-height:1.2}
@media (max-width: 1200px){.quick-grid,.form-grid-services,.form-grid-staff,.form-grid-clients,.form-grid-bookings,.profile-form-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}
@media (max-width: 760px){.quick-grid,.form-grid-services,.form-grid-staff,.form-grid-clients,.form-grid-bookings,.profile-form-grid{grid-template-columns:1fr !important}.content-header{align-items:flex-start}.quick-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.staff-card-actions,.form-actions-row{display:grid;grid-template-columns:1fr 1fr}}

/* 2026-03-12 hotfix layout */
.quick-grid{display:none !important;}
.form-grid-services,.form-grid-staff,.form-grid-clients,.form-grid-bookings{grid-template-columns:repeat(auto-fit,minmax(180px,1fr)) !important;}
.form-submit{grid-column:1/-1;justify-content:flex-start;}
.form-submit .btn{width:auto;min-width:190px;}
input[type=file]{max-width:100%;overflow:hidden;}
.panel-form,.profile-form-grid{overflow:visible;}
.services-grid .form-group,.profile-form-grid .form-group{min-width:0;}
.services-grid .input-wrapper,.profile-form-grid .input-wrapper{width:100%;}
.services-grid .input-wrapper input,.services-grid .input-wrapper select,.profile-form-grid .input-wrapper input,.profile-form-grid .input-wrapper select,.profile-form-grid textarea{width:100%;}
@media (max-width:760px){.form-submit .btn{width:100%;min-width:0;}}


/* 2026-03-12 UX cleanup */
.quick-panel-grid{display:none !important}
.form-grid-staff{grid-template-columns:repeat(6,minmax(0,1fr)) !important;align-items:end}
.form-grid-services{grid-template-columns:2fr 1.4fr 1fr 1fr auto !important;align-items:end}
.form-grid-clients{grid-template-columns:1.4fr 1fr 1.2fr 1.6fr auto !important;align-items:end}
.form-grid-bookings{grid-template-columns:1.25fr 1.15fr 1.15fr 1.1fr 1.4fr auto !important;align-items:end}
.form-group{min-width:0}
.form-submit{min-width:160px}
.form-submit .btn{height:52px}
.input-wrapper input,.input-wrapper select,.input-wrapper textarea,.input{
  min-height:52px;
  padding:14px 16px !important;
  border-radius:16px;
  line-height:1.2;
  font-size:15px;
}
.input-wrapper textarea{min-height:120px}
.input-wrapper input::placeholder,
.input-wrapper textarea::placeholder,
input::placeholder,
textarea::placeholder{color:transparent !important}
input[type=file]{
  padding:11px 12px !important;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media (max-width: 1200px){
  .form-grid-staff,.form-grid-services,.form-grid-clients,.form-grid-bookings{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .form-submit{grid-column:1/-1}
}
@media (max-width: 760px){
  .form-grid-staff,.form-grid-services,.form-grid-clients,.form-grid-bookings{grid-template-columns:1fr !important}
}


/* 2026-03-30 polish */
.logo-icon{
  font-size: 1.1rem;
  font-weight: 800;
  letter-spacing: -0.04em;
  border-radius: 10px;
}
.logo span:last-child{
  letter-spacing:-0.025em;
}
.page-shell .panel,
.card-solid,
.auth-card,
.feature-card,
.pricing-card{
  border-color: rgba(148,163,184,.20);
}
input[type="date"],
input[type="time"]{
  appearance:none;
  -webkit-appearance:none;
  min-height:52px;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(148,163,184,.28);
  color:#0f172a;
  padding:14px 16px;
}
input[type="date"]:focus,
input[type="time"]:focus{
  outline:none;
  border-color:#6c5ce7;
  box-shadow:0 0 0 4px rgba(108,92,231,.12);
}
.grid-2,
.profile-form-grid,
.services-grid,
.panel-form-grid{
  align-items:start;
}
.form-group,
.input-wrapper{
  width:100%;
}
.form-group label{
  line-height:1.35;
}
.input-wrapper input,
.input-wrapper select,
.input-wrapper textarea,
.input{
  width:100%;
}


/* v9 form polish */
.form-grid-staff,
.form-grid-services,
.form-grid-clients,
.form-grid-bookings,
.profile-form-grid{
  align-items:start !important;
}
.form-grid-staff .form-group,
.form-grid-services .form-group,
.form-grid-clients .form-group,
.form-grid-bookings .form-group,
.profile-form-grid .form-group{
  display:flex;
  flex-direction:column;
  gap:8px;
}
input[type=file]{
  min-height:52px;
  padding:10px 12px !important;
  border-radius:16px;
  background:#fff;
}
input[type=file]::file-selector-button{
  margin-right:12px;
  border:none;
  border-radius:12px;
  padding:10px 14px;
  background:linear-gradient(135deg,#6c5ce7,#8b7bf7);
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
img[alt="QR"]{
  display:block;
  background:linear-gradient(180deg, rgba(108,92,231,.08), rgba(139,123,247,.05));
  border:1px solid rgba(108,92,231,.14) !important;
  padding:10px;
}
#sub-qr-img{
  display:block;
  background:linear-gradient(180deg, rgba(108,92,231,.08), rgba(139,123,247,.05)) !important;
  border:1px solid rgba(108,92,231,.14) !important;
  padding:10px;
}


/* v10 flatter interface */
:root{
  --shadow-sm: 0 0 0 rgba(0,0,0,0);
  --shadow-md: 0 0 0 rgba(0,0,0,0);
  --shadow-lg: 0 0 0 rgba(0,0,0,0);
  --shadow-xl: 0 0 0 rgba(0,0,0,0);
}
.card, .card-solid, .auth-card, .table-container, .stat-card, .staff-card, .quick-card, .quick-panel-card, .billing-method-card, .feature-card, .pricing-card{
  box-shadow:none !important;
}
.btn-primary, .btn-secondary, .btn-outline, .btn{
  box-shadow:none !important;
  transform:none !important;
}
.btn-primary:hover, .btn-secondary:hover, .btn-outline:hover, .btn:hover, .card:hover, .stat-card:hover, .service-card:hover, .staff-card:hover, .quick-card:hover, .quick-panel-card:hover{
  box-shadow:none !important;
  transform:none !important;
}


/* v11 cleaner user menu */
.sidebar{
  background:#ffffff;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  border-right:1px solid #e8edf5;
  box-shadow:none;
}
.sidebar-user{
  margin:0 var(--space-4) var(--space-5);
  padding:16px;
  border:1px solid #e8edf5;
  border-radius:18px;
  background:#fbfcff;
  box-shadow:none;
}
.sidebar-user.premium::before,
.sidebar-user.premium::after{ display:none; }
.sidebar-nav{ padding-top:0; }
.nav-group-title{
  margin: 10px var(--space-4) 8px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#8a94a6;
}
.sidebar-nav ul{ margin-bottom:10px; }
.sidebar-nav .nav-item a{
  margin:0 var(--space-3);
  border-radius:14px;
  background:transparent;
  border:1px solid transparent;
  font-weight:700;
}
.sidebar-nav .nav-item.active a{
  background:#f3f0ff;
  border-color:#ddd6fe;
  color:#4c1d95;
  box-shadow:none;
}
.sidebar-nav .nav-item a:hover{
  background:#f8fafc;
  border-color:#e2e8f0;
}
.user-subline{ gap:8px; flex-wrap:wrap; }
.role-badge{ text-transform:none; }
.content-header{ align-items:flex-end; }
.page-title{ font-size:30px; letter-spacing:-0.02em; }
.quick-actions .btn{ min-width:0; }


/* v12 clearer owner navigation + booking preview */
.sidebar-nav .nav-item a{
  padding: 12px 14px;
  font-size: 15px;
}
.sidebar-nav .nav-item + .nav-item{ margin-top: 4px; }
.booking-preview-card{
  border:1px solid #e8edf5;
  background:#fff;
  border-radius:18px;
}
.booking-style-preview{
  --preview-surface:#f6f7ff;
  --preview-border:#ddd6fe;
  margin-top:16px;
  border-radius:18px;
  border:1px solid var(--preview-border);
  background:var(--preview-surface);
  padding:18px;
}
.preview-theme-indigo{ --preview-surface:#f5f7ff; --preview-border:#c7d2fe; }
.preview-theme-graphite{ --preview-surface:#f5f6fb; --preview-border:#cbd5e1; }
.preview-theme-violet{ --preview-surface:#f7f4ff; --preview-border:#ddd6fe; }
.booking-style-preview__top{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  flex-wrap:wrap;
}
.booking-style-preview__brand{
  display:inline-flex;
  gap:8px;
  align-items:center;
  font-size:13px;
  font-weight:800;
  color:#667085;
  margin-bottom:10px;
}
.booking-style-preview__brand span{
  width:28px;
  height:28px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--preview-accent, #6c5ce7);
  color:#fff;
}
.booking-style-preview__title{
  font-size:24px;
  line-height:1.15;
  font-weight:800;
  color:#172033;
}
.booking-style-preview__text{
  margin-top:8px;
  color:#667085;
  max-width:560px;
}
.booking-style-preview__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--preview-border);
  color:#4f46e5;
  font-weight:800;
}
.booking-style-preview__chips{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}
.booking-style-preview__chips span{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 12px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--preview-border);
  color:#49566a;
  font-size:14px;
}


/* v13 subtle button animations */
.btn, button, input[type="submit"], input[type="button"]{
  transition: transform .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease, opacity .18s ease;
}
.btn:hover, button:hover, input[type="submit"]:hover, input[type="button"]:hover{
  transform: translateY(-1px) scale(1.01) !important;
}
.btn:active, button:active, input[type="submit"]:active, input[type="button"]:active{
  transform: translateY(0) scale(.985) !important;
}
.nav-item a{ display:flex; align-items:center; gap:10px; }
.nav-emoji{ width:20px; text-align:center; font-size:16px; }
.booking-style-preview.preview-layout-stacked .booking-style-preview__top{ grid-template-columns:1fr; }
.booking-style-preview.preview-card-soft{ box-shadow: 0 10px 24px rgba(76, 94, 175, 0.10); }
.booking-style-preview.preview-card-flat{ box-shadow:none; border:1px solid rgba(108,92,231,.16); }

/* v14 polish */
.booking-pro-lock{grid-column:1/-1;display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:18px;border:1px dashed rgba(108,92,231,.32);background:rgba(108,92,231,.06);color:var(--gray-700)}
.booking-pro-lock__icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:rgba(108,92,231,.14);font-size:18px}
.staff-create-grid .form-group,.service-editor-card .form-group{margin-bottom:0}
.staff-editor-shell,.service-editor-card{border-radius:22px !important}
.service-editor-card{padding:20px;background:#fff;border:1px solid var(--gray-200)}
.service-editor-list{display:grid;gap:16px}
.form-grid-staff{align-items:end}
.input-wrapper input[type=file]{padding:10px 12px;height:48px;display:flex;align-items:center}
.preview-align-center .booking-style-preview__top,.preview-align-center .booking-style-preview__chips{text-align:center;justify-content:center}

/* booking customization controls */
.booking-customization-card{padding:20px;border:1px solid rgba(108,92,231,.14);background:rgba(108,92,231,.035);position:relative;overflow:hidden}
.booking-customization-card.is-locked{opacity:.88}
.booking-customization-card__top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.booking-customization-card__title{font-weight:800;color:var(--gray-900)}
.booking-customization-card__sub{margin-top:6px;color:var(--gray-600);font-size:.95rem;max-width:760px}
.choice-pills{display:flex;gap:10px;flex-wrap:wrap}.choice-pill{position:relative}.choice-pill input{position:absolute;opacity:0;pointer-events:none}.choice-pill span{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:18px;border:1px solid var(--gray-200);background:#fff;color:var(--gray-700);font-weight:700;cursor:pointer;transition:.18s ease}.choice-pill input:checked + span{border-color:rgba(108,92,231,.36);background:rgba(108,92,231,.08);color:var(--gray-900)}
.choice-icons{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px}.choice-icon-card{position:relative}.choice-icon-card input{position:absolute;opacity:0;pointer-events:none}.choice-icon-card__swatch{display:block;height:84px;border-radius:26px;border:1px solid var(--gray-200);background:#fff;position:relative;overflow:hidden}.choice-icon-card__swatch::before,.choice-icon-card__swatch::after{content:"";position:absolute;border-radius:20px}.choice-icon-card__swatch::before{inset:12px 12px auto 12px;height:26px;background:rgba(255,255,255,.8)}.choice-icon-card__swatch::after{left:12px;right:12px;bottom:12px;top:46px;background:rgba(255,255,255,.4)}.choice-icon-card__swatch--light{background:linear-gradient(180deg,#f8fafc,#e5e7eb)}.choice-icon-card__swatch--tint{background:linear-gradient(180deg,#eef2ff,#dbeafe)}.choice-icon-card__swatch--gradient{background:linear-gradient(135deg,#ede9fe,#dbeafe 48%,#ffffff)}.choice-icon-card__swatch--dark{background:linear-gradient(180deg,#374151,#111827)}.choice-icon-card__label{display:block;margin-top:8px;text-align:center;font-weight:700;color:var(--gray-700)}.choice-icon-card input:checked ~ .choice-icon-card__swatch{border-color:rgba(108,92,231,.42);box-shadow:0 0 0 3px rgba(108,92,231,.12)}
.choice-layout-grid{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:12px}.choice-layout-card{position:relative}.choice-layout-card input{position:absolute;opacity:0;pointer-events:none}.choice-layout-card__inner{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px;border-radius:20px;border:1px solid var(--gray-200);background:#fff;cursor:pointer}.choice-layout-card__inner span{display:grid;place-items:center;min-height:70px;border-radius:16px;background:var(--gray-50);border:1px solid var(--gray-200);font-weight:700;color:var(--gray-700);text-align:center;padding:6px}.choice-layout-card input:checked + .choice-layout-card__inner{border-color:rgba(108,92,231,.36);background:rgba(108,92,231,.04)}.choice-layout-card input:checked + .choice-layout-card__inner span:first-child{background:rgba(108,92,231,.10);border-color:rgba(108,92,231,.28);color:var(--gray-900)}
.toggle-grid{display:flex;gap:12px;flex-wrap:wrap}.toggle-chip{display:inline-flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;border:1px solid var(--gray-200);background:#fff;color:var(--gray-700);font-weight:600}
.field-hint{margin-top:8px;color:var(--gray-500);font-size:.88rem}.input-wrapper-file{padding:8px 12px}.input-wrapper-file input[type=file]{width:100%}
.booking-style-preview.preview-bg-light{background:linear-gradient(180deg,#f8fafc,#ffffff)}.booking-style-preview.preview-bg-tint{background:linear-gradient(180deg,var(--preview-bg,#eef2ff),#ffffff)}.booking-style-preview.preview-bg-gradient{background:linear-gradient(135deg,var(--preview-bg,#eef2ff),#ffffff 52%,rgba(108,92,231,.08))}.booking-style-preview.preview-bg-dark{background:linear-gradient(180deg,#1f2937,#111827);color:#f8fafc}.booking-style-preview.preview-bg-dark .booking-style-preview__title,.booking-style-preview.preview-bg-dark .booking-style-preview__text,.booking-style-preview.preview-bg-dark .booking-style-preview__brand{color:#f8fafc}
@media (max-width:900px){.choice-icons{grid-template-columns:repeat(2,minmax(120px,1fr))}.choice-layout-grid{grid-template-columns:1fr}}


/* v16 booking customization refresh */
.booking-customization-card{
  padding:24px;
  border:1px solid rgba(108,92,231,.14);
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(246,244,255,.98));
  border-radius:24px;
}
.booking-customization-card__top{
  padding-bottom:16px;
  border-bottom:1px solid rgba(108,92,231,.10);
}
.booking-customization-card__title{
  font-size:1.1rem;
  letter-spacing:-0.01em;
}
.booking-customization-card__sub{
  max-width:780px;
  line-height:1.55;
}
.compact-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.compact-form-grid .form-group{
  padding:18px;
  border-radius:22px;
  border:1px solid rgba(226,232,240,.95);
  background:rgba(255,255,255,.92);
}
.compact-form-grid .form-group-wide{
  grid-column:1/-1;
}
.choice-pill span{
  min-height:48px;
  border-radius:18px;
  padding:12px 18px;
}
.choice-pill input:checked + span{
  box-shadow:0 0 0 3px rgba(108,92,231,.08);
}
.choice-icons{
  grid-template-columns:repeat(4,minmax(110px,1fr));
  gap:14px;
}
.choice-icon-card__swatch{
  height:94px;
  border-radius:28px;
}
.choice-icon-card__swatch::before{inset:14px 14px auto 14px;height:24px;border-radius:16px}
.choice-icon-card__swatch::after{left:14px;right:14px;bottom:14px;top:44px;border-radius:18px}
.choice-icon-card__label{font-size:.92rem}
.choice-layout-card__inner{
  border-radius:24px;
  padding:14px;
}
.choice-layout-card__inner span{
  min-height:82px;
  border-radius:18px;
  font-size:.92rem;
}
.choice-layout-card input:checked + .choice-layout-card__inner{
  box-shadow:0 0 0 3px rgba(108,92,231,.08);
}
.toggle-grid{gap:10px}
.toggle-chip{
  min-height:52px;
  border-radius:18px;
  width:100%;
  justify-content:flex-start;
}
.range-control{
  border:1px solid rgba(226,232,240,.95);
  border-radius:22px;
  padding:16px;
  background:linear-gradient(180deg,#fff,#faf9ff);
}
.range-control.is-disabled{opacity:.65}
.range-control__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.range-control__meta{
  color:var(--gray-600);
  font-size:.92rem;
}
.range-control__value{
  display:inline-flex;
  align-items:flex-end;
  gap:6px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(108,92,231,.08);
  color:#3f2f8c;
  font-weight:800;
}
.range-control__value span{font-size:1.05rem;line-height:1}
.range-control__value small{font-size:.82rem;color:var(--gray-600);font-weight:700}
.range-control__input{
  -webkit-appearance:none;
  appearance:none;
  width:100%;
  height:14px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--primary-500) 0,var(--primary-500) var(--range-fill,26%),#e9e7ff var(--range-fill,26%),#e9e7ff 100%);
  outline:none;
}
.range-control__input::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  width:26px;
  height:26px;
  border-radius:50%;
  background:#fff;
  border:5px solid var(--primary-500);
  box-shadow:0 6px 18px rgba(108,92,231,.22);
  cursor:pointer;
}
.range-control__input::-moz-range-thumb{
  width:26px;
  height:26px;
  border-radius:50%;
  background:#fff;
  border:5px solid var(--primary-500);
  box-shadow:0 6px 18px rgba(108,92,231,.22);
  cursor:pointer;
}
.range-control__legend{
  margin-top:10px;
  display:flex;
  justify-content:space-between;
  color:var(--gray-500);
  font-size:.84rem;
}
.booking-style-preview{
  position:relative;
  overflow:hidden;
}
.booking-style-preview::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at top right, rgba(255,255,255,.5), transparent 38%);
  pointer-events:none;
}
.booking-style-preview__brand{
  gap:12px;
  margin-bottom:14px;
}
.booking-style-preview__brand-mark{
  width:56px;
  height:56px;
  border-radius:20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:var(--preview-accent, #6c5ce7);
  color:#fff;
  flex:0 0 auto;
  box-shadow:0 10px 24px rgba(76, 94, 175, 0.14);
}
.booking-style-preview__brand-mark img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.booking-style-preview__brand-mark > span{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.2rem;
  font-weight:800;
}
.booking-style-preview__brand-name{
  font-size:1rem;
  font-weight:800;
  color:#576176;
}
.booking-style-preview.preview-bg-dark .booking-style-preview__brand-name{color:#f8fafc}
@media (max-width:900px){
  .compact-form-grid{grid-template-columns:1fr}
  .choice-icons{grid-template-columns:repeat(2,minmax(120px,1fr))}
}

/* v17 customizer cleanup */
.booking-customizer-shell{display:grid;gap:18px}
.booking-customizer-section{border:1px solid rgba(108,92,231,.12);background:#fff;border-radius:24px;padding:20px}
.booking-customizer-section__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.booking-customizer-section__title{font-size:1rem;font-weight:800;color:var(--gray-900)}
.booking-customizer-section__text{margin-top:6px;color:var(--gray-600);font-size:.93rem;max-width:720px;line-height:1.5}
.booking-customizer-section__badge{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;background:rgba(108,92,231,.08);color:#4d3cb2;font-weight:800;font-size:.82rem}
.booking-customizer-grid{display:grid;gap:16px}
.booking-customizer-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.booking-customizer-section .form-group{padding:16px;border-radius:20px;border:1px solid var(--gray-200);background:linear-gradient(180deg,#fff,#fcfbff)}
.booking-customizer-section .form-group label{display:block;margin-bottom:10px}
.choice-scene-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.choice-scene-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--gray-200);border-radius:22px;background:#fff;cursor:pointer;min-width:0}
.choice-scene-card input{position:absolute;opacity:0;pointer-events:none}
.choice-scene-card__preview{display:grid;grid-template-rows:repeat(3,1fr);gap:8px;height:94px;padding:10px;border-radius:18px;border:1px solid rgba(226,232,240,.95);overflow:hidden}
.choice-scene-card__preview i{display:block;border-radius:999px;background:rgba(255,255,255,.8)}
.choice-scene-card__preview--light{background:linear-gradient(180deg,#f8fafc,#eef2f7)}
.choice-scene-card__preview--tint{background:linear-gradient(180deg,#eef2ff,#dbeafe)}
.choice-scene-card__preview--gradient{background:linear-gradient(135deg,#eef2ff,#ffffff 52%,#ddd6fe)}
.choice-scene-card__preview--dark{background:linear-gradient(180deg,#334155,#0f172a)}
.choice-scene-card__preview--dark i{background:rgba(255,255,255,.16)}
.choice-scene-card__title{font-weight:800;color:var(--gray-900)}
.choice-scene-card__text{font-size:.85rem;line-height:1.4;color:var(--gray-600)}
.choice-scene-card input:checked ~ .choice-scene-card__preview,
.choice-scene-card input:checked ~ .choice-scene-card__title,
.choice-scene-card input:checked ~ .choice-scene-card__text{ }
.choice-scene-card:has(input:checked){border-color:rgba(108,92,231,.42);box-shadow:0 0 0 3px rgba(108,92,231,.10)}
.input-wrapper-color{padding:8px 10px}
.input-color{width:100%;height:48px;padding:0;border:none;background:transparent}
.input-color::-webkit-color-swatch-wrapper{padding:0}.input-color::-webkit-color-swatch{border:none;border-radius:12px}.input-color::-moz-color-swatch{border:none;border-radius:12px}
.upload-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}
.upload-field__preview{width:68px;height:68px;border-radius:18px;border:1px solid var(--gray-200);background:#fff;display:grid;place-items:center;overflow:hidden;flex:0 0 auto}
.upload-field__preview img{width:100%;height:100%;object-fit:cover;display:block}
.booking-customizer-section .toggle-grid{display:grid;grid-template-columns:1fr}
.booking-customizer-section .choice-layout-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1100px){.choice-scene-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.booking-customizer-grid--2{grid-template-columns:1fr}.booking-customizer-section .choice-layout-grid{grid-template-columns:1fr}.upload-field{grid-template-columns:1fr}.choice-scene-grid{grid-template-columns:1fr}}

/* v18 customizer accordion + taller preview */
.booking-preview-card{
  padding:22px;
  border-radius:24px;
}
.booking-style-preview{
  min-height:300px;
  padding:26px;
  border-radius:24px;
}
.booking-style-preview__top{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) auto;
  align-items:start;
  gap:20px;
}
.booking-style-preview__title{font-size:32px;line-height:1.08;max-width:760px}
.booking-style-preview__text{font-size:15px;line-height:1.6;max-width:700px}
.booking-style-preview__chips{margin-top:22px}
.booking-customizer-intro{
  padding:16px 18px;
  border-radius:18px;
  border:1px solid rgba(108,92,231,.12);
  background:linear-gradient(180deg,#ffffff,#f8f7ff);
}
.booking-customizer-intro__title{font-size:1rem;font-weight:800;color:var(--gray-900)}
.booking-customizer-intro__text{margin-top:6px;color:var(--gray-600);line-height:1.55;font-size:.94rem;max-width:860px}
.booking-customizer-accordion{
  border:1px solid rgba(108,92,231,.12);
  background:#fff;
  border-radius:24px;
  overflow:hidden;
}
.booking-customizer-accordion + .booking-customizer-accordion{margin-top:2px}
.booking-customizer-accordion__summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:20px 22px;
  cursor:pointer;
  background:linear-gradient(180deg,#ffffff,#fbfaff);
}
.booking-customizer-accordion__summary::-webkit-details-marker{display:none}
.booking-customizer-accordion__summary:hover{background:linear-gradient(180deg,#ffffff,#f6f3ff)}
.booking-customizer-accordion__body{padding:0 22px 22px;border-top:1px solid rgba(108,92,231,.08)}
.booking-customizer-accordion__chevron{
  width:34px;height:34px;border-radius:12px;border:1px solid rgba(108,92,231,.12);
  display:grid;place-items:center;background:#fff;color:#5b4cc4;font-weight:800;font-size:18px;
  flex:0 0 auto;transition:transform .18s ease;
}
.booking-customizer-accordion[open] .booking-customizer-accordion__chevron{transform:rotate(180deg)}
.booking-customizer-section__head{margin-bottom:0;flex:1}
.booking-customizer-grid{padding-top:18px}
.choice-scene-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.choice-scene-card{padding:14px;border-radius:20px;min-width:0}
.choice-scene-card__preview{height:86px;padding:10px}
.choice-scene-card__title{font-size:.95rem}
.choice-scene-card__text{font-size:.82rem}
.choice-layout-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.choice-layout-card__inner{padding:14px;border-radius:18px}
.choice-layout-card__inner span{min-height:62px;font-size:.9rem}
.upload-field{grid-template-columns:minmax(0,1fr) 76px}
.upload-field__preview{width:76px;height:76px;border-radius:20px}
.booking-customizer-section .form-group{padding:18px;border-radius:18px}
@media (max-width:1100px){
  .booking-style-preview__top{grid-template-columns:1fr}
  .choice-layout-grid{grid-template-columns:1fr}
}
@media (max-width:900px){
  .booking-style-preview{min-height:240px;padding:20px}
  .booking-style-preview__title{font-size:26px}
  .choice-scene-grid{grid-template-columns:1fr}
  .booking-customizer-accordion__summary{padding:18px}
  .booking-customizer-accordion__body{padding:0 18px 18px}
}

/* v19 visual system pass: unified surfaces, forms, tables, empty states */
:root{
  --ui-surface:#ffffff;
  --ui-surface-soft:#fbfcff;
  --ui-surface-tint:#f7f5ff;
  --ui-border:#e6ebf3;
  --ui-border-strong:#d9deea;
  --ui-text:#162033;
  --ui-muted:#667085;
  --ui-accent:#6c5ce7;
  --ui-accent-soft:rgba(108,92,231,.08);
  --ui-radius-xl:24px;
  --ui-radius-lg:20px;
  --ui-radius-md:16px;
}

body{
  background:linear-gradient(180deg,#f7f9fd 0%, #f1f4fb 100%);
}

.page-shell{
  gap:24px;
}

.page-shell .panel,
.table-container,
.staff-card,
.service-editor-card,
.booking-preview-card,
.booking-customization-card,
.booking-customizer-accordion,
.stat-card,
.quick-card,
.quick-panel-card,
.card,
.card-solid{
  background:var(--ui-surface) !important;
  border:1px solid var(--ui-border) !important;
  border-radius:var(--ui-radius-xl) !important;
}

.page-shell .panel,
.table-container,
.booking-preview-card,
.booking-customization-card,
.card,
.card-solid{
  padding:24px;
}

.content-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding:0 4px;
  margin-bottom:24px;
}
.content-header > div:first-child{min-width:0}
.page-title{
  font-size:clamp(28px,2.4vw,34px);
  line-height:1.08;
  letter-spacing:-.03em;
  color:var(--ui-text);
  margin-bottom:8px;
}
.page-description,
.content-header p,
.booking-customization-card__sub,
.booking-customizer-intro__text,
.empty-state-description{
  color:var(--ui-muted) !important;
  font-size:15px;
  line-height:1.6;
}

.stat-card{
  min-height:138px;
  padding:22px;
  display:flex;
  justify-content:space-between;
  gap:16px;
}
.stat-card .stat-content h4{
  margin:0 0 10px;
  font-size:13px;
  line-height:1.35;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#7a8699;
  font-weight:800;
}
.stat-card .stat-value{
  font-size:30px;
  line-height:1.05;
  font-weight:800;
  color:var(--ui-text);
}
.stat-card .stat-change{
  margin-top:10px;
  font-size:14px;
  line-height:1.5;
  color:var(--ui-muted);
}
.stat-card .stat-icon{
  width:52px;
  height:52px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,#f7f5ff,#f2efff);
  color:#4d3cb2;
  font-size:22px;
  border:1px solid #e6e0ff;
  flex:0 0 auto;
}

.quick-panel-card,
.quick-card{
  align-items:flex-start;
  padding:20px;
}
.quick-panel-icon{
  background:linear-gradient(180deg,#f6f3ff,#eef2ff);
  border:1px solid #e4e2ff;
  border-radius:16px;
}
.quick-panel-title{font-size:16px;line-height:1.35}
.quick-panel-text{font-size:14px;line-height:1.55;color:var(--ui-muted)}

.panel-form,
.profile-form-grid,
.panel-form-grid{
  display:grid;
  gap:18px;
}
.form-group{
  min-width:0;
}
.form-group label{
  display:block;
  margin-bottom:10px;
  font-size:14px;
  line-height:1.35;
  font-weight:700;
  color:#435066;
}
.input-wrapper,
.input,
textarea,
select,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="date"],
input[type="time"]{
  border-radius:16px !important;
}
.input-wrapper{
  position:relative;
  border:1px solid var(--ui-border);
  background:var(--ui-surface-soft);
  transition:border-color .18s ease, background-color .18s ease;
}
.input-wrapper:focus-within{
  border-color:#c9c2ff;
  background:#fff;
  box-shadow:0 0 0 4px rgba(108,92,231,.08);
}
.input,
textarea,
select,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="date"],
input[type="time"]{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  min-height:52px;
  padding:14px 16px !important;
  color:var(--ui-text);
}
textarea{min-height:120px;resize:vertical}
input::placeholder,
textarea::placeholder{color:#9aa4b5 !important}

input[type=file]{
  min-height:54px;
  background:transparent !important;
  border:0 !important;
}
input[type=file]::file-selector-button{
  border-radius:14px;
  background:linear-gradient(180deg,#7c6af0,#6957e7);
  padding:10px 14px;
}

.btn,
.btn-primary,
.btn-secondary,
.btn-outline{
  min-height:46px;
  border-radius:16px !important;
  font-weight:700;
  letter-spacing:-.01em;
}
.btn-primary{
  background:linear-gradient(180deg,#7b68f0,#6856e6) !important;
}
.btn-secondary,
.btn-outline{
  background:#fff !important;
  border:1px solid var(--ui-border) !important;
  color:#49566a !important;
}

.table-container{
  overflow:hidden;
}
.table-container table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
}
.table-container thead th{
  font-size:12px;
  line-height:1.35;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-weight:800;
  color:#7a8699;
  background:#fafbff;
  padding:14px 16px;
  border-bottom:1px solid var(--ui-border);
}
.table-container tbody td,
.table-container tbody th{
  padding:16px;
  border-bottom:1px solid #eef2f7;
  vertical-align:top;
  color:#233044;
}
.table-container tbody tr:last-child td,
.table-container tbody tr:last-child th{
  border-bottom:none;
}
.table-container tbody tr:hover td,
.table-container tbody tr:hover th{
  background:#fcfdff;
}

.badge{
  border-radius:999px;
  font-weight:800;
  letter-spacing:0;
  padding:8px 12px;
}

.empty-state{
  padding:28px !important;
  border:1px dashed #d9deea !important;
  background:linear-gradient(180deg,#ffffff,#fbfcff) !important;
  border-radius:20px !important;
}
.empty-state-title{
  font-size:18px;
  line-height:1.3;
  font-weight:800;
  color:var(--ui-text);
  margin-bottom:8px;
}
.empty-state-description{
  font-size:14px;
}

.staff-card{
  padding:18px;
  gap:16px;
}
.staff-card-meta h4,
.service-editor-list h4{
  font-size:18px;
  line-height:1.25;
  color:var(--ui-text);
}
.staff-card-meta p,
.staff-card-meta small{
  font-size:14px;
  color:var(--ui-muted);
}
.staff-card-actions,
.form-actions-row{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.booking-customization-card__top,
.booking-customizer-intro,
.booking-customizer-accordion__summary,
.booking-customizer-accordion__body,
.booking-preview-card > div:first-child{
  max-width:100%;
}
.booking-customization-card{
  padding:24px;
  background:linear-gradient(180deg,#ffffff,#faf8ff) !important;
}
.booking-customizer-intro{
  border-radius:20px;
}
.booking-customizer-accordion{
  border-radius:22px !important;
}
.booking-customizer-accordion__summary{
  padding:22px 24px;
}
.booking-customizer-section__title{
  font-size:17px;
  line-height:1.25;
}
.booking-customizer-section__text{
  font-size:14px;
  line-height:1.55;
}
.booking-customizer-grid{
  padding-top:20px;
}
.choice-pills,
.toggle-grid{
  gap:12px;
}
.choice-pill span,
.toggle-chip{
  min-height:50px;
  border-radius:16px;
}
.choice-layout-card__inner,
.choice-scene-card,
.compact-form-grid .form-group,
.booking-customizer-section .form-group,
.range-control{
  border-radius:18px !important;
  border-color:var(--ui-border) !important;
  background:#fff !important;
}
.choice-scene-grid,
.choice-layout-grid{
  align-items:stretch;
}
.choice-layout-card__inner span{
  min-height:74px;
}
.upload-field__preview,
.booking-style-preview__brand-mark{
  border:1px solid var(--ui-border);
}

.booking-preview-card{
  padding:24px;
}
.booking-style-preview{
  min-height:340px;
  border-radius:24px;
  border:1px solid var(--ui-border-strong) !important;
}
.booking-style-preview__title{
  font-size:34px;
}
.booking-style-preview__chips span,
.booking-style-preview__badge{
  background:rgba(255,255,255,.88);
}

.sidebar-user,
.sidebar-nav .nav-item a{
  border-radius:16px;
}
.sidebar-nav .nav-item a{
  min-height:46px;
}

@media (max-width:900px){
  .page-shell .panel,
  .table-container,
  .booking-preview-card,
  .booking-customization-card,
  .card,
  .card-solid{padding:18px}
  .content-header{align-items:flex-start}
  .stat-card{min-height:auto}
  .booking-style-preview{min-height:260px}
  .booking-style-preview__title{font-size:28px}
}

/* v20 customizer mini-editor */
.booking-customizer-editor{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:22px;align-items:start}
.booking-customizer-workspace{display:grid;gap:14px;min-width:0}
.booking-customizer-preview-column{position:sticky;top:84px}
.booking-customizer-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:10px 12px;border:1px solid rgba(108,92,231,.12);background:linear-gradient(180deg,#fff,#faf8ff);border-radius:18px}
.booking-customizer-toolbar--secondary{padding:12px 14px;background:#fff}
.booking-toolbar-label{font-size:.83rem;font-weight:800;color:var(--gray-500);margin-right:4px}
.booking-nav-pill,.booking-preset-pill{appearance:none;border:1px solid var(--ui-border);background:#fff;color:var(--gray-800);border-radius:999px;padding:10px 14px;font-weight:700;font-size:.92rem;line-height:1;cursor:pointer;transition:.18s ease}
.booking-nav-pill:hover,.booking-preset-pill:hover{border-color:rgba(108,92,231,.28);color:#4d3cb2}
.booking-nav-pill.is-active,.booking-preset-pill:focus-visible{background:rgba(108,92,231,.1);border-color:rgba(108,92,231,.36);color:#4d3cb2;box-shadow:0 0 0 3px rgba(108,92,231,.08)}
.booking-preset-pill--ghost{background:linear-gradient(180deg,#fff,#f8fafc)}
.booking-preview-card{position:sticky;top:84px}
.booking-preview-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.booking-preview-meta span{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:rgba(108,92,231,.08);color:#5342b6;font-size:.84rem;font-weight:700}
.booking-customization-card__sub{max-width:760px}
.booking-customizer-accordion{scroll-margin-top:92px}
.booking-customizer-accordion[open]{box-shadow:0 10px 30px rgba(15,23,42,.04)}
.booking-customizer-accordion__summary{position:relative}
.booking-customizer-accordion__summary::after{content:"";position:absolute;inset:auto 22px 0 22px;height:1px;background:linear-gradient(90deg,rgba(108,92,231,0),rgba(108,92,231,.12),rgba(108,92,231,0));opacity:0;transition:.18s ease}
.booking-customizer-accordion[open] .booking-customizer-accordion__summary::after{opacity:1}
@media (max-width:1180px){.booking-customizer-editor{grid-template-columns:1fr}.booking-customizer-preview-column,.booking-preview-card{position:static}}
@media (max-width:720px){.booking-customizer-toolbar{padding:10px}.booking-nav-pill,.booking-preset-pill{width:100%;justify-content:center;text-align:center}.booking-preview-meta span{width:100%;justify-content:center}}


/* v21 public booking polish */
.booking-progress{gap:10px;flex-wrap:wrap}
.booking-progress .public-step{opacity:.68;transition:.18s ease}
.booking-progress .public-step.is-current{opacity:1;background:rgba(108,92,231,.12);color:#4d3cb2}
.booking-progress .public-step.is-done{opacity:1;background:rgba(34,197,94,.1);color:#166534}
.booking-selection-bar{display:grid;grid-template-columns:minmax(280px,1.05fr) minmax(280px,.95fr);gap:20px;align-items:center;padding:24px 26px}
.booking-selection-bar__eyebrow{font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6c5ce7}
.booking-selection-bar__title{margin:8px 0 10px;font-size:1.45rem;line-height:1.1}
.booking-selection-bar__text{margin:0;color:var(--gray-600);max-width:680px;line-height:1.6}
.booking-selection-bar__summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.booking-selection-pill{padding:14px 16px;border:1px solid rgba(108,92,231,.12);border-radius:18px;background:linear-gradient(180deg,#fff,#faf8ff)}
.booking-selection-pill span{display:block;font-size:.78rem;font-weight:700;color:var(--gray-500);margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em}
.booking-selection-pill strong{display:block;font-size:.95rem;line-height:1.35;color:var(--gray-900)}
.time-slots-skeleton{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-top:12px}
.time-slots-skeleton span{display:block;height:68px;border-radius:18px;background:linear-gradient(90deg,#f4f2ff 0%,#ebe7ff 50%,#f4f2ff 100%);background-size:200% 100%;animation:bookingShimmer 1.25s linear infinite}
@keyframes bookingShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.booking-note--rich{padding:16px 18px;border-radius:18px;background:rgba(108,92,231,.06);border:1px solid rgba(108,92,231,.12);color:var(--gray-700)}
.booking-assurance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.booking-assurance{padding:14px 16px;border-radius:18px;border:1px solid var(--gray-200);background:#fff}
.booking-assurance strong{display:block;font-size:.95rem;color:var(--gray-900);margin-bottom:6px}
.booking-assurance span{display:block;color:var(--gray-600);line-height:1.5;font-size:.92rem}
.booking-success--persist{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;padding:24px 26px;margin-top:22px;border:1px solid rgba(34,197,94,.18);background:linear-gradient(180deg,#f3fff7,#ffffff)}
.booking-success__content{display:grid;gap:10px}
.booking-success__title{font-size:1.2rem;font-weight:800;color:var(--gray-900)}
.booking-success__text,.booking-success__note{color:var(--gray-700);line-height:1.55}
.booking-success__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
#secContacts .grid-2 .form-group{background:linear-gradient(180deg,#fff,#fcfbff);border-radius:18px;padding:14px;border:1px solid var(--gray-200)}
#secContacts .input-wrapper{margin-top:8px}
#secContacts .input{background:#fff}
@media (max-width: 900px){
  .booking-selection-bar{grid-template-columns:1fr}
  .booking-selection-bar__summary{grid-template-columns:1fr}
  .booking-assurance-grid{grid-template-columns:1fr}
  .booking-success--persist{grid-template-columns:1fr}
}

.owner-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.owner-action-card{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;border:1px solid rgba(148,163,184,.16);border-radius:18px;text-decoration:none;color:inherit;background:rgba(15,23,42,.03);transition:transform .18s ease,border-color .18s ease,background .18s ease}
.owner-action-card:hover{transform:translateY(-1px);border-color:rgba(124,58,237,.28);background:rgba(124,58,237,.05)}
.owner-action-card.is-primary{background:linear-gradient(135deg, rgba(124,58,237,.14), rgba(59,130,246,.08));border-color:rgba(124,58,237,.22)}
.owner-action-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:rgba(124,58,237,.12);font-size:1.1rem;flex:0 0 auto}
.owner-action-card strong{display:block;font-size:.98rem;margin-bottom:4px}
.owner-action-card small{display:block;color:var(--gray-600);line-height:1.4}
.owner-alerts{display:grid;gap:12px}
.owner-alert-card{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:16px 18px;border-radius:18px;text-decoration:none;color:inherit;border:1px solid rgba(148,163,184,.16);background:rgba(15,23,42,.03)}
.owner-alert-card strong{display:block;margin-bottom:6px}
.owner-alert-card p{margin:0;color:var(--gray-600);line-height:1.5}
.owner-alert-card span:last-child{white-space:nowrap;font-weight:700;color:var(--gray-700)}
.owner-alert-card.is-warning{background:rgba(245,158,11,.08);border-color:rgba(245,158,11,.18)}
.owner-alert-card.is-info{background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.16)}
.team-load-list{display:grid;gap:12px}
.team-load-item{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px 16px;border-radius:18px;background:rgba(15,23,42,.03);border:1px solid rgba(148,163,184,.16)}
.team-load-item .muted,.team-load-meta small{color:var(--gray-600)}
.team-load-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right}
.focus-grid{display:grid;gap:12px}
.focus-card{padding:16px 18px;border-radius:18px;border:1px solid rgba(148,163,184,.16);background:linear-gradient(180deg, rgba(255,255,255,.55), rgba(248,250,252,.9))}
.focus-card span{display:block;color:var(--gray-600);font-size:.9rem;margin-bottom:10px}
.focus-card strong{display:block;font-size:1.8rem;line-height:1.1;margin-bottom:6px}
.focus-card small{display:block;color:var(--gray-600);line-height:1.45}
@media (max-width: 900px){
  .owner-actions-grid{grid-template-columns:1fr}
  .team-load-item,.owner-alert-card{flex-direction:column;align-items:flex-start}
  .team-load-meta{text-align:left;align-items:flex-start}
}

/* services + staff premium polish */
.entity-hero-card{background:linear-gradient(180deg,#ffffff,#f9f8ff)!important;border:1px solid rgba(123,104,240,.14)!important}
.entity-hero-card__head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;flex-wrap:wrap}
.entity-hero-card__badges{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.entity-editor-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:20px}
.entity-editor-card,.entity-side-tips{height:100%}
.entity-form-grid{display:grid;gap:14px}
.entity-form-grid--service{grid-template-columns:1.3fr 1.3fr .7fr .7fr auto;align-items:end}
.entity-form-grid--staff{grid-template-columns:1fr 1fr 1fr 1fr 1.1fr 1fr auto;align-items:end}
.entity-form-submit{display:flex;align-items:flex-end;height:100%}
.entity-side-tips{background:linear-gradient(180deg,#fbfaff,#ffffff)!important}
.entity-tip-list{display:grid;gap:12px}
.entity-tip-item{padding:16px 18px;border-radius:18px;border:1px solid rgba(148,163,184,.18);background:rgba(255,255,255,.9);display:grid;gap:6px}
.entity-tip-item strong{font-size:15px;color:var(--ui-text)}
.entity-tip-item span{font-size:14px;color:var(--ui-muted);line-height:1.55}
.entity-cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.entity-card{position:relative;padding:22px;border-radius:24px;border:1px solid rgba(148,163,184,.18);background:linear-gradient(180deg,#ffffff,#fcfbff);display:grid;gap:16px;min-width:0;overflow:hidden}
.entity-card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,rgba(123,104,240,.82),rgba(92,90,243,.22));opacity:.95}
.entity-card.tone-2::before{background:linear-gradient(90deg,rgba(59,130,246,.82),rgba(123,104,240,.2))}
.entity-card.tone-3::before{background:linear-gradient(90deg,rgba(16,185,129,.82),rgba(59,130,246,.18))}
.entity-card.tone-4::before{background:linear-gradient(90deg,rgba(236,72,153,.78),rgba(123,104,240,.18))}
.entity-card__head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.entity-card__identity{display:flex;gap:14px;align-items:center;min-width:0}
.entity-card__identity h4{margin:0 0 4px;font-size:18px;line-height:1.25;color:var(--ui-text)}
.entity-card__identity p{margin:0;color:var(--ui-muted);font-size:14px;line-height:1.55}
.entity-card__avatar{width:56px;height:56px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;color:#fff;background:linear-gradient(180deg,#7b68f0,#6856e6);flex:0 0 auto;overflow:hidden}
.entity-card__avatar--service{font-size:22px}
.entity-card__avatar--staff{background:linear-gradient(180deg,#8c7aff,#6f5ef0)}
.entity-chip-row{display:flex;gap:10px;flex-wrap:wrap}
.entity-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:999px;background:rgba(123,104,240,.10);color:#5d43df;font-size:13px;font-weight:700;border:1px solid rgba(123,104,240,.12);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.entity-chip--soft{background:rgba(148,163,184,.10);color:#5b6577;border-color:rgba(148,163,184,.16)}
.entity-metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.entity-metric-box{padding:14px 16px;border-radius:18px;background:#f8faff;border:1px solid rgba(148,163,184,.14);display:grid;gap:6px}
.entity-metric-box span{font-size:12px;line-height:1.4;text-transform:uppercase;letter-spacing:.06em;color:#7a8699;font-weight:700}
.entity-metric-box strong{font-size:17px;line-height:1.2;color:var(--ui-text)}
.entity-card__actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.entity-card__footer-note{font-size:13px;color:var(--ui-muted)}
.entity-details{border-top:1px solid rgba(148,163,184,.14);padding-top:14px}
.entity-details summary{list-style:none;cursor:pointer;font-weight:700;color:var(--ui-text);display:flex;align-items:center;justify-content:space-between}
.entity-details summary::-webkit-details-marker{display:none}
.entity-details summary::after{content:"▾";color:#8a93a7}
.entity-details[open] summary::after{transform:rotate(180deg)}
.entity-inline-form{display:grid;gap:14px;margin-top:14px}
.entity-inline-form__grid{display:grid;gap:12px}
.entity-inline-form__grid--service{grid-template-columns:1.3fr 1.3fr .7fr .7fr}
.staff-entity-grid .entity-card{min-height:320px}
.service-cards-grid .entity-card{min-height:355px}
@media (max-width: 1080px){.entity-editor-grid{grid-template-columns:1fr}.entity-form-grid--service,.entity-form-grid--staff,.entity-inline-form__grid--service{grid-template-columns:1fr 1fr}.entity-cards-grid{grid-template-columns:1fr}}
@media (max-width: 760px){.entity-form-grid--service,.entity-form-grid--staff,.entity-inline-form__grid--service,.entity-metrics-grid{grid-template-columns:1fr}.entity-card__head,.entity-card__actions,.entity-hero-card__head{flex-direction:column;align-items:stretch}.entity-chip{white-space:normal}}


/* v26 mobile preview in customizer */
.booking-preview-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.booking-device-switch{display:inline-flex;align-items:center;gap:8px;padding:6px;border:1px solid rgba(108,92,231,.12);background:linear-gradient(180deg,#fff,#faf8ff);border-radius:999px}
.booking-device-pill{appearance:none;border:none;background:transparent;color:var(--gray-600);border-radius:999px;padding:10px 14px;font-weight:800;font-size:.9rem;line-height:1;cursor:pointer;transition:.18s ease}
.booking-device-pill:hover{color:#4d3cb2;background:rgba(108,92,231,.08)}
.booking-device-pill.is-active{background:linear-gradient(180deg,rgba(108,92,231,.16),rgba(108,92,231,.1));color:#4d3cb2;box-shadow:inset 0 0 0 1px rgba(108,92,231,.16)}
.booking-style-preview-frame{margin-top:18px;display:flex;justify-content:center;transition:.22s ease}
.booking-style-preview-frame.preview-device-desktop{padding:0}
.booking-style-preview-frame.preview-device-desktop .booking-style-preview{width:100%;max-width:none}
.booking-style-preview-frame.preview-device-mobile{padding:8px 0 0}
.booking-style-preview-frame.preview-device-mobile .booking-style-preview{width:min(390px,100%);min-height:700px;border-radius:32px;padding:24px 20px 26px;box-shadow:0 18px 40px rgba(15,23,42,.10);border:1px solid rgba(15,23,42,.08);position:relative;overflow:hidden}
.booking-style-preview-frame.preview-device-mobile .booking-style-preview::before{content:"";position:absolute;top:12px;left:50%;transform:translateX(-50%);width:110px;height:18px;border-radius:999px;background:rgba(15,23,42,.10)}
.booking-style-preview-frame.preview-device-mobile .booking-style-preview__top{grid-template-columns:1fr;gap:18px;padding-top:18px}
.booking-style-preview-frame.preview-device-mobile .booking-style-preview__title{font-size:26px;max-width:none}
.booking-style-preview-frame.preview-device-mobile .booking-style-preview__text{font-size:14px;max-width:none}
.booking-style-preview-frame.preview-device-mobile .booking-style-preview__chips{display:grid;grid-template-columns:1fr;gap:10px}
.booking-style-preview-frame.preview-device-mobile .booking-style-preview__chips span{justify-content:flex-start;width:100%}
.booking-style-preview-frame.preview-device-mobile .booking-style-preview__badge{justify-self:flex-start}
@media (max-width:720px){.booking-preview-topbar{align-items:stretch}.booking-device-switch{width:100%;justify-content:space-between}.booking-device-pill{flex:1;text-align:center;padding:10px}.booking-style-preview-frame.preview-device-mobile .booking-style-preview{width:100%;min-height:560px;border-radius:24px}}

/* v27 richer customizer controls */
.booking-style-preview.preview-button-pill .booking-style-preview__chips span,
.booking-style-preview.preview-button-pill .booking-style-preview__badge{border-radius:999px}
.booking-style-preview.preview-button-rounded .booking-style-preview__chips span,
.booking-style-preview.preview-button-rounded .booking-style-preview__badge{border-radius:18px}
.booking-style-preview.preview-button-sharp .booking-style-preview__chips span,
.booking-style-preview.preview-button-sharp .booking-style-preview__badge{border-radius:10px}
.booking-style-preview.preview-density-compact{padding:20px;min-height:300px}
.booking-style-preview.preview-density-compact .booking-style-preview__title{font-size:30px}
.booking-style-preview.preview-density-compact .booking-style-preview__chips{margin-top:16px;gap:8px}
.booking-style-preview.preview-density-compact .booking-style-preview__chips span{padding:8px 12px;font-size:12px}
.booking-style-preview.preview-density-comfortable{padding:26px;min-height:340px}
.booking-style-preview.preview-density-airy{padding:34px;min-height:380px}
.booking-style-preview.preview-density-airy .booking-style-preview__title{font-size:36px;max-width:640px}
.booking-style-preview.preview-density-airy .booking-style-preview__text{font-size:16px;max-width:620px}
.booking-style-preview.preview-density-airy .booking-style-preview__chips{margin-top:26px;gap:12px}
.choice-pills{display:flex;flex-wrap:wrap}
.choice-pill span{padding-inline:14px}
.booking-preview-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.booking-preview-meta span{display:inline-flex;align-items:center;padding:8px 10px;border-radius:999px;background:#f6f7fb;border:1px solid var(--ui-border);font-size:12px;font-weight:700;color:#506075}


/* v28 QA pass: safer overflow, responsive controls, cleaner shells */
*,*::before,*::after{box-sizing:border-box;}
img,svg,video,canvas{max-width:100%;height:auto;}
.page-shell,.page-shell > *, .panel, .card, .card-solid, .table-container, .booking-customization-card, .booking-customizer-editor, .booking-customizer-workspace, .booking-customizer-preview-column, .booking-preview-card, .booking-customizer-toolbar, .booking-customizer-accordion, .booking-customizer-grid, .booking-selection-bar, .entity-card, .entity-card__head, .entity-card__identity, .content-header, .owner-actions-grid, .owner-alerts, .team-load-list, .focus-grid{min-width:0;}
.table-container{overflow:auto;}
.table-container table{min-width:0;}
.table-container th,.table-container td,.entity-card__identity h4,.entity-card__identity p,.booking-style-preview__title,.booking-style-preview__text,.booking-customizer-section__text,.choice-scene-card__title,.choice-scene-card__text,.choice-layout-card__inner span,.booking-preview-meta span,.badge,.entity-chip,.owner-alert-card p,.team-load-item strong,.team-load-item small,.focus-card small{overflow-wrap:anywhere;word-break:break-word;}
.choice-scene-grid,.choice-layout-grid,.owner-actions-grid,.entity-cards-grid,.entity-metrics-grid,.booking-selection-bar__summary{align-items:stretch;}
.choice-scene-card,.choice-layout-card__inner,.booking-selection-pill,.entity-metric-box,.focus-card,.owner-alert-card,.team-load-item{height:100%;}
.booking-customizer-toolbar,.booking-preview-topbar,.booking-device-switch,.booking-preview-meta{max-width:100%;}
.booking-device-switch{flex-wrap:wrap;}
.booking-device-pill,.booking-nav-pill,.booking-preset-pill{min-width:0;}
.upload-field,.booking-customizer-grid--2,.entity-editor-grid,.booking-customizer-editor,.booking-selection-bar,.booking-style-preview__top{min-width:0;}
.input-wrapper,.input,.choice-pill,.toggle-chip,.badge,.entity-chip{max-width:100%;}
@media (max-width: 1180px){.booking-preview-card{top:auto;}}
@media (max-width: 900px){.booking-selection-bar{grid-template-columns:1fr;}.booking-selection-bar__summary{grid-template-columns:1fr;}.entity-card__identity{align-items:flex-start;}.entity-card__avatar{width:52px;height:52px;}}
@media (max-width: 640px){.content-header,.booking-preview-topbar,.booking-style-preview__top,.entity-card__head,.owner-alert-card,.team-load-item{flex-direction:column;align-items:flex-start;}.booking-preview-meta span,.badge,.entity-chip{max-width:100%;white-space:normal;}.booking-device-switch{width:100%;justify-content:stretch;}.booking-device-pill{flex:1 1 140px;}.owner-action-card{padding:16px;}.table-container thead{display:none;}.table-container table,.table-container tbody,.table-container tr,.table-container td,.table-container th{display:block;width:100%;}.table-container tbody tr{padding:14px 0;border-bottom:1px solid #eef2f7;}.table-container tbody td,.table-container tbody th{padding:8px 0;border-bottom:none;}}

/* v29 customizer refinement */
.booking-customizer-workspace{
  display:grid;
  gap:18px;
  align-items:start;
}
.booking-customizer-accordion + .booking-customizer-accordion{margin-top:14px}
.booking-customizer-accordion{
  border:1px solid rgba(108,92,231,.12);
  background:linear-gradient(180deg,#ffffff,#fcfbff);
  border-radius:26px;
  box-shadow:0 10px 28px rgba(15,23,42,.04);
}
.booking-customizer-accordion__summary{
  padding:22px 24px;
  gap:18px;
}
.booking-customizer-accordion__side{
  display:flex;
  align-items:center;
  gap:12px;
  flex:0 0 auto;
}
.booking-customizer-section__mini{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
  max-width:380px;
}
.booking-customizer-section__mini span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(108,92,231,.08);
  color:#4d3cb2;
  font-weight:700;
  font-size:.82rem;
  white-space:normal;
  text-align:center;
  line-height:1.25;
}
.booking-customizer-accordion__body{
  padding:0 24px 24px;
}
.booking-customizer-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.booking-customizer-grid .form-group{
  min-width:0;
}
.choice-scene-grid,
.choice-layout-grid{
  display:grid;
  width:100%;
}
.choice-scene-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.choice-scene-card{
  min-width:0;
  width:100%;
  box-sizing:border-box;
  border-radius:22px;
}
.choice-scene-card__preview{
  width:100%;
  height:86px;
  box-sizing:border-box;
}
.choice-scene-card__title,
.choice-scene-card__text{
  overflow-wrap:anywhere;
}
.choice-layout-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.choice-layout-card__inner{
  min-width:0;
}
.choice-layout-card__inner span{
  overflow-wrap:anywhere;
}
.upload-field{
  display:grid;
  grid-template-columns:minmax(0,1fr) 84px;
  gap:14px;
  align-items:center;
}
.upload-field .input-wrapper,
.upload-field__preview{min-width:0}
.booking-customization-card__top{
  align-items:flex-start;
}
.booking-customizer-toolbar,
.booking-customizer-toolbar--secondary{
  flex-wrap:wrap;
}
.booking-nav-pill,
.booking-preset-pill{
  min-height:42px;
}
@media (max-width:1180px){
  .booking-customizer-accordion__summary{align-items:flex-start}
  .booking-customizer-accordion__side{width:100%;justify-content:space-between}
  .booking-customizer-section__mini{justify-content:flex-start;max-width:none}
}
@media (max-width:900px){
  .booking-customizer-grid,
  .choice-scene-grid,
  .choice-layout-grid,
  .upload-field{grid-template-columns:1fr}
  .booking-customizer-accordion__summary,
  .booking-customizer-accordion__body{padding-left:18px;padding-right:18px}
}


/* v30 customizer stability + better layout */
.booking-customizer-editor{align-items:start}
.booking-customizer-workspace,.booking-customizer-preview-column{min-width:0}
.booking-customizer-intro{padding:18px 20px;border-radius:22px}
.booking-customizer-accordion{overflow:hidden}
.booking-customizer-accordion__summary{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;cursor:default}
.booking-customizer-accordion__summary::-webkit-details-marker{display:none}
.booking-customizer-accordion__chevron{display:none}
.booking-customizer-section__head{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1 1 420px}
.booking-customizer-section__title{font-size:1.12rem;font-weight:800;line-height:1.2}
.booking-customizer-section__text{font-size:.95rem;line-height:1.6;max-width:720px}
.booking-customizer-section__badge{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 12px;border-radius:999px;background:rgba(108,92,231,.10);color:#5b49ca;font-weight:800;width:max-content}
.booking-customizer-accordion__side{margin-left:auto}
.booking-customizer-section__mini{gap:10px}
.booking-customizer-section__mini span{min-height:36px;padding:8px 12px;font-size:.8rem}
.booking-customizer-grid .form-group{padding:16px;border:1px solid rgba(108,92,231,.10);border-radius:20px;background:#fff}
.booking-customizer-grid .form-group>label{display:block;margin-bottom:10px;font-weight:800;color:#243248}
.booking-customizer-grid .field-hint,.booking-customizer-grid .form-hint{margin-top:8px;display:block;font-size:.86rem;line-height:1.5;color:#6b7a90}
.choice-scene-grid,.choice-layout-grid{align-items:stretch}
.choice-scene-card,.choice-layout-card{height:100%}
.choice-scene-card__text,.choice-layout-card__inner span{font-size:.86rem;line-height:1.45}
.upload-field{grid-template-columns:minmax(0,1fr) 96px}
.upload-field__preview{width:96px;height:96px;border-radius:20px;border:1px solid rgba(108,92,231,.12);background:#f8f8ff;display:flex;align-items:center;justify-content:center;overflow:hidden}
.upload-field__preview img{width:100%;height:100%;object-fit:cover}
@media (max-width:1440px){.booking-customizer-editor{grid-template-columns:1fr}.booking-customizer-preview-column,.booking-preview-card{position:static}.booking-customizer-preview-column{order:-1}}
@media (max-width:900px){.booking-customizer-section__head{flex-basis:100%}.booking-customizer-accordion__side{width:100%;justify-content:flex-start;margin-left:0}.booking-customizer-grid .form-group{padding:14px}}

/* v31 final customizer + form alignment */
.booking-customizer-editor{
  grid-template-columns:1fr !important;
  gap:20px;
}
.booking-customizer-preview-column,
.booking-preview-card{
  position:static !important;
}
.booking-customizer-preview-column{order:-1}
.booking-customizer-workspace{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.booking-customizer-accordion{
  display:block;
  border-radius:24px;
  overflow:hidden;
}
.booking-customizer-accordion__summary{
  cursor:pointer !important;
  min-height:104px;
  align-items:center !important;
}
.booking-customizer-accordion__side{
  margin-left:0;
  justify-content:space-between;
  width:100%;
}
.booking-customizer-accordion__chevron{
  display:grid !important;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:14px;
  border:1px solid rgba(108,92,231,.16);
  background:linear-gradient(180deg,#fff,#f7f4ff);
  color:#5b49ca;
  font-size:18px;
  font-weight:800;
  flex:0 0 auto;
  transition:transform .18s ease, background .18s ease, border-color .18s ease;
}
.booking-customizer-accordion[open] .booking-customizer-accordion__chevron{
  transform:rotate(180deg);
  background:linear-gradient(180deg,rgba(108,92,231,.12),rgba(108,92,231,.06));
  border-color:rgba(108,92,231,.24);
}
.booking-customizer-section__mini{
  max-width:none;
  flex:1 1 auto;
}
.booking-customizer-accordion__body{
  padding:0 22px 22px;
}
.booking-customizer-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.booking-customizer-grid .form-group{
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:10px;
}
.booking-customizer-grid .form-group .input-wrapper,
.booking-customizer-grid .form-group .toggle-grid,
.booking-customizer-grid .form-group .choice-pills,
.booking-customizer-grid .form-group .choice-scene-grid,
.booking-customizer-grid .form-group .choice-layout-grid,
.booking-customizer-grid .form-group .range-control{
  margin-top:auto;
}
.choice-scene-grid,
.choice-layout-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
}
.choice-scene-card,
.choice-layout-card{
  min-width:0;
}
.choice-scene-card{
  padding:14px;
  border-radius:22px;
}
.choice-scene-card__preview{
  height:88px;
}
.choice-scene-card__title,
.choice-scene-card__text,
.choice-layout-card__inner span,
.booking-customizer-section__text,
.booking-customizer-section__mini span{
  overflow-wrap:anywhere;
  word-break:break-word;
}
.choice-layout-card__inner{
  min-height:158px;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.choice-layout-card__inner span{
  writing-mode:horizontal-tb;
  text-orientation:mixed;
  min-height:110px;
  padding:12px 8px;
  font-size:.84rem;
}
.entity-editor-grid{
  grid-template-columns:1fr !important;
}
.entity-form-grid--service{
  grid-template-columns:1.25fr 1.35fr .8fr .8fr !important;
}
.entity-form-grid--staff{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:16px !important;
}
.entity-form-grid--staff > .form-group,
.entity-form-grid--service > .form-group{
  padding:16px;
  border:1px solid rgba(108,92,231,.10);
  border-radius:20px;
  background:linear-gradient(180deg,#fff,#fcfbff);
}
.entity-form-grid--staff > .form-group:nth-of-type(5),
.entity-form-grid--staff > .form-group:nth-of-type(6){
  grid-column:1 / -1;
}
.entity-form-grid--staff .form-submit,
.entity-form-grid--service .form-submit{
  grid-column:1 / -1;
}
.input-wrapper input,
.input-wrapper textarea,
.input-wrapper select{
  border-radius:16px;
  min-height:52px;
}
.input-wrapper-file{
  padding:12px 14px !important;
  border-radius:16px;
  min-height:56px;
}
.input-wrapper input[type=file]{
  padding:0;
  min-height:0;
  height:auto;
  border:none;
  background:transparent;
}
.input-wrapper input[type=file]::file-selector-button{
  margin-right:12px;
  border:none;
  border-radius:14px;
  padding:12px 16px;
  background:linear-gradient(180deg,#7b68f0,#6856e6);
  color:#fff;
  font-weight:800;
  cursor:pointer;
}
@media (max-width:1200px){
  .booking-customizer-workspace,
  .booking-customizer-grid,
  .choice-scene-grid,
  .choice-layout-grid,
  .entity-form-grid--service,
  .entity-form-grid--staff{
    grid-template-columns:1fr !important;
  }
}


/* v32 polish */
.entity-form-grid--staff{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}
.entity-form-grid--staff .form-group:nth-child(5),
.entity-form-grid--staff .form-group:nth-child(6){grid-column:span 2}
.entity-form-grid--staff .form-actions,
.entity-form-grid--staff > .btn,
.entity-form-grid--service > .btn{align-self:end}
.entity-form-grid--service{grid-template-columns:1.1fr 1.2fr .6fr .6fr auto;align-items:start}
.entity-form-grid .form-group{display:flex;flex-direction:column;gap:8px}
.entity-form-grid .input,.entity-form-grid textarea,.entity-form-grid select{min-height:52px;border-radius:18px;padding:14px 16px;background:#fcfdff;border:1px solid rgba(148,163,184,.26);transition:border-color .18s ease, box-shadow .18s ease, background .18s ease}
.entity-form-grid .input:focus,.entity-form-grid textarea:focus,.entity-form-grid select:focus{border-color:rgba(108,92,231,.45);box-shadow:0 0 0 4px rgba(108,92,231,.08);background:#fff}
.input-wrapper-file{position:relative;overflow:hidden;border-radius:18px;border:1px dashed rgba(108,92,231,.22);background:linear-gradient(180deg,#fff,#f8f7ff);min-height:52px;display:flex;align-items:center;padding:8px 12px}
.input-wrapper-file input[type=file]{width:100%;padding:0;border:none;background:transparent}
.input-wrapper-file::before{content:"Выберите файл";display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border-radius:14px;background:linear-gradient(135deg,#7c6df2,#6756e6);color:#fff;font-weight:800;margin-right:12px;white-space:nowrap;flex:0 0 auto}
.input-wrapper-file input[type=file]::file-selector-button{opacity:0;width:0;padding:0;margin:0;border:none}
.booking-customizer-editor{grid-template-columns:1fr;gap:18px}
.booking-customizer-preview-column{order:-1;position:static}
.booking-customizer-workspace{padding:22px;border:1px solid rgba(108,92,231,.12);background:linear-gradient(180deg,#ffffff,#faf8ff);border-radius:28px}
.booking-customizer-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.booking-customizer-accordion{border-radius:24px;border:1px solid rgba(108,92,231,.14);background:linear-gradient(180deg,#fff,#fcfbff);box-shadow:0 10px 35px rgba(108,92,231,.04)}
.booking-customizer-accordion__summary{padding:22px 22px 18px;align-items:flex-start;cursor:pointer}
.booking-customizer-accordion__chevron{display:inline-flex!important;width:40px;height:40px;border-radius:14px;align-items:center;justify-content:center;background:linear-gradient(180deg,#fff,#f4f0ff);border:1px solid rgba(108,92,231,.16);color:#6653e6;font-size:18px;font-weight:800;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.booking-customizer-accordion[open] .booking-customizer-accordion__chevron{transform:rotate(180deg)}
.booking-customizer-section__head{gap:10px}
.booking-customizer-section__title{font-size:1.18rem}
.booking-customizer-section__text{max-width:none;color:#64748b}
.booking-customizer-accordion__side{display:flex;align-items:center;gap:12px;margin-left:auto}
.booking-customizer-section__mini{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:min(100%,360px)}
.booking-customizer-section__mini span{min-height:40px;border-radius:14px;background:#f5f3ff;border:1px solid rgba(108,92,231,.12);display:flex;align-items:center;justify-content:center;text-align:center;padding:8px 12px;font-weight:700;color:#5b49ca}
.booking-customizer-accordion__body{padding:0 22px 22px}
.choice-scene-grid,.choice-layout-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.choice-scene-card,.choice-layout-card{padding:14px;border-radius:22px;border:1px solid rgba(148,163,184,.18);background:linear-gradient(180deg,#fff,#fcfbff);display:flex;flex-direction:column;gap:8px;min-width:0}
.choice-scene-card__title,.choice-layout-card__title{font-size:1rem;font-weight:800;line-height:1.2;display:block;margin-top:2px}
.choice-scene-card__text,.choice-layout-card__text{font-size:.88rem;line-height:1.45;color:#64748b;display:block}
.choice-layout-card__inner{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px;border-radius:18px;background:linear-gradient(180deg,#fff,#f7f5ff);border:1px solid rgba(108,92,231,.10)}
.choice-layout-card__col{min-height:92px;border-radius:14px;border:1px solid rgba(108,92,231,.12);background:#fff;display:flex;align-items:center;justify-content:center;padding:10px;text-align:center;font-size:.78rem;font-weight:800;color:#334155;writing-mode:horizontal-tb}
.choice-layout-card:has(input:checked),.choice-scene-card:has(input:checked){border-color:rgba(108,92,231,.36);box-shadow:0 0 0 4px rgba(108,92,231,.08)}
.range-control{padding:16px 18px;border-radius:20px;background:linear-gradient(180deg,#fff,#fbfaff);border:1px solid rgba(108,92,231,.10)}
.support-assistant{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;flex-wrap:wrap}
.support-bot{margin-top:18px;display:grid;gap:12px}
.support-bot__answer{min-height:96px;padding:16px 18px;border-radius:18px;border:1px solid rgba(108,92,231,.12);background:linear-gradient(180deg,#fff,#faf8ff);color:#475569;line-height:1.6}
.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.faq-item{border:1px solid rgba(108,92,231,.12);border-radius:20px;background:#fff;overflow:hidden}
.faq-item summary{cursor:pointer;list-style:none;padding:16px 18px;font-weight:800;color:#0f172a}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item__body{padding:0 18px 18px;color:#64748b;line-height:1.6}
@media (max-width:1100px){.entity-form-grid--staff,.entity-form-grid--service,.booking-customizer-grid--2,.choice-scene-grid,.choice-layout-grid,.faq-grid{grid-template-columns:1fr}.entity-form-grid--staff .form-group:nth-child(5),.entity-form-grid--staff .form-group:nth-child(6){grid-column:auto}.booking-customizer-section__mini{grid-template-columns:1fr;min-width:0}.booking-customizer-accordion__side{width:100%;margin-left:0;justify-content:space-between}}
@media (max-width:760px){.booking-customizer-workspace{padding:16px}.booking-customizer-accordion__summary,.booking-customizer-accordion__body{padding-left:16px;padding-right:16px}.choice-layout-card__inner{grid-template-columns:1fr}.choice-layout-card__col{min-height:54px}}


/* Support / Wiki chat polish */
.support-bot--chat{gap:14px}
.support-bot__head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.support-bot__title{font-weight:800;color:#14213d;font-size:1.05rem}
.support-bot__sub{color:var(--text-muted);font-size:.95rem;margin-top:4px}
.support-bot__chips{display:flex;flex-wrap:wrap;gap:10px}
.chip-button{border:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.chip-button:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(108,92,231,.12)}
.support-chat{display:grid;gap:10px;min-height:180px;max-height:320px;overflow:auto;padding:16px;border-radius:22px;border:1px solid rgba(108,92,231,.14);background:linear-gradient(180deg,#fff,#faf8ff)}
.support-chat__msg{max-width:85%;padding:12px 14px;border-radius:16px;line-height:1.55;word-break:break-word}
.support-chat__msg--bot{background:#f3f0ff;border:1px solid rgba(108,92,231,.12);color:#334155;justify-self:start}
.support-chat__msg--user{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;justify-self:end}
.support-chat__form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}
@media (max-width:720px){.support-chat__form{grid-template-columns:1fr}.support-chat__msg{max-width:100%}}

/* v34 customizer layout polish */
.booking-customizer-workspace{
  display:grid;
  gap:20px;
}
.booking-customizer-accordion{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.booking-customizer-accordion__summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:18px;
}
.booking-customizer-section__head{
  min-width:0;
}
.booking-customizer-section__title{
  margin:0;
  line-height:1.2;
}
.booking-customizer-section__text{
  font-size:.95rem;
  line-height:1.6;
  overflow-wrap:anywhere;
}
.booking-customizer-accordion__side{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.booking-customizer-section__mini{
  grid-template-columns:repeat(2,minmax(140px,1fr));
  max-width:420px;
  width:100%;
}
.booking-customizer-section__mini span{
  min-width:0;
  min-height:42px;
  white-space:normal;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.booking-customizer-accordion__body{
  display:grid;
  gap:18px;
}
.booking-customizer-grid{
  display:grid;
  gap:18px;
  align-items:start;
}
.booking-customizer-grid--2{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.booking-customizer-grid .form-group{
  min-width:0;
  height:100%;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.booking-customizer-grid .form-group > label{
  margin:0;
  line-height:1.2;
}
.choice-scene-grid,
.choice-layout-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}
.choice-scene-card,
.choice-layout-card{
  min-width:0;
  min-height:192px;
  justify-content:flex-start;
}
.choice-scene-card__preview{
  flex:0 0 auto;
}
.choice-scene-card__title,
.choice-scene-card__text,
.choice-layout-card__title,
.choice-layout-card__text{
  max-width:100%;
  overflow-wrap:anywhere;
}
.choice-scene-card__title{
  margin-top:4px;
}
.choice-scene-card__text{
  font-size:.9rem;
}
.choice-layout-card__inner{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  width:100%;
}
.choice-layout-card__inner span,
.choice-layout-card__col{
  writing-mode:horizontal-tb !important;
  text-orientation:mixed;
  white-space:normal;
  word-break:normal;
  overflow-wrap:anywhere;
}
.choice-layout-card__inner span{
  min-height:96px;
  border-radius:16px;
  border:1px solid rgba(108,92,231,.12);
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:12px 10px;
  font-size:.86rem;
  font-weight:800;
  color:#334155;
  line-height:1.25;
}
.upload-field{
  display:grid;
  gap:12px;
  min-width:0;
}
.upload-field__preview{
  align-self:flex-start;
  max-width:140px;
}
.range-control{
  gap:14px;
}
.range-control__labels,
.range-control__value{
  overflow-wrap:anywhere;
}
@media (max-width:1200px){
  .booking-customizer-accordion__summary{
    grid-template-columns:1fr;
  }
  .booking-customizer-accordion__side{
    width:100%;
    justify-content:space-between;
  }
  .booking-customizer-section__mini{
    max-width:none;
  }
}
@media (max-width:900px){
  .booking-customizer-grid--2,
  .choice-scene-grid,
  .choice-layout-grid{
    grid-template-columns:1fr;
  }
  .choice-scene-card,
  .choice-layout-card{
    min-height:unset;
  }
}
@media (max-width:640px){
  .booking-customizer-section__mini{
    grid-template-columns:1fr;
  }
  .choice-layout-card__inner{
    grid-template-columns:1fr;
  }
  .choice-layout-card__inner span{
    min-height:58px;
  }
}

/* Stage 1 pricing refresh */
.pricing-page__header{max-width:860px;margin-inline:auto}
.section-header--left{text-align:left;align-items:flex-start}
.pricing-grid--three{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1180px}
.pricing-grid--home{max-width:none}
.featured-soft{border:1.5px solid rgba(108,92,231,.24);box-shadow:0 18px 40px rgba(108,92,231,.08)}
.pricing-card{display:flex;flex-direction:column;gap:18px;min-height:100%}
.pricing-card .pricing-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.pricing-kicker{font-size:.8rem;font-weight:700;color:var(--primary-main);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}
.pricing-copy{margin:0;color:var(--gray-600);line-height:1.6;min-height:74px}
.pricing-features{flex:1}
.pricing-features ul{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.pricing-features li{position:relative;padding-left:22px;color:var(--gray-800);line-height:1.45}
.pricing-features li::before{content:'✓';position:absolute;left:0;top:0;color:var(--primary-main);font-weight:800}
.pricing-compare{margin:48px auto 0;max-width:1180px;padding:28px}
.pricing-note-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px}
.pricing-table-wrap{overflow:auto;border:1px solid var(--gray-200);border-radius:20px;background:#fff}
.pricing-table{width:100%;border-collapse:collapse;min-width:760px}
.pricing-table th,.pricing-table td{padding:16px 18px;border-bottom:1px solid var(--gray-200);text-align:center;vertical-align:middle}
.pricing-table th:first-child,.pricing-table td:first-child{text-align:left;font-weight:700;color:var(--gray-900);width:34%}
.pricing-table thead th{background:linear-gradient(180deg,#fbfbff,#f4f3ff);font-size:.95rem}
.pricing-table tbody tr:last-child td{border-bottom:none}
.pricing-table--compact{min-width:680px}
.pricing-table td:not(:first-child){font-weight:700;color:var(--gray-800)}
.pricing-card--start .pricing-badge,.pricing-card--start .badge{background:#fff4db;color:#8a5a00}
.plan-choice-card{padding:18px;border:1px solid var(--gray-200);border-radius:20px;background:linear-gradient(180deg,#fcfcff,#f6f5ff);margin-bottom:20px}
.plan-choice-card__title{font-weight:800;color:var(--gray-900);margin-bottom:12px}
.plan-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.plan-choice-option input{position:absolute;opacity:0;pointer-events:none}
.plan-choice-option__box{display:flex;flex-direction:column;gap:4px;padding:16px;border:1px solid var(--gray-200);border-radius:18px;background:#fff;cursor:pointer;transition:.2s border-color,.2s transform,.2s box-shadow;min-height:108px}
.plan-choice-option__box strong{font-size:1rem;color:var(--gray-900)}
.plan-choice-option__box small{font-weight:700;color:var(--primary-main)}
.plan-choice-option__box em{font-style:normal;color:var(--gray-600);line-height:1.45}
.plan-choice-option input:checked + .plan-choice-option__box{border-color:rgba(108,92,231,.55);box-shadow:0 0 0 3px rgba(108,92,231,.12);transform:translateY(-1px)}
.plan-switcher{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:22px}
.plan-switcher__item{border:1px solid var(--gray-200);border-radius:16px;padding:14px 16px;background:#fff;color:var(--gray-900);display:flex;flex-direction:column;gap:4px;text-align:left}
.plan-switcher__item.is-active{border-color:rgba(108,92,231,.55);box-shadow:0 0 0 3px rgba(108,92,231,.12)}
.billing-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.billing-plan-card{border:1px solid var(--gray-200);border-radius:24px;padding:22px;background:linear-gradient(180deg,#fff,#fafaff)}
.billing-plan-card.is-highlight{border-color:rgba(108,92,231,.48);box-shadow:0 0 0 3px rgba(108,92,231,.10)}
.billing-plan-card__head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}
.billing-plan-card__head h3{margin:0}
.billing-plan-list{margin:0 0 18px;padding:0;list-style:none;display:grid;gap:10px}
.billing-plan-list li{padding-left:18px;position:relative;color:var(--gray-700);line-height:1.45}
.billing-plan-list li::before{content:'•';position:absolute;left:0;color:var(--primary-main);font-weight:900}
.billing-actions{display:grid;gap:10px}
.plan-badge.start{background:#fff4db;color:#8a5a00;border-color:#f3d7a7}
@media (max-width: 980px){
  .pricing-grid--three,.pricing-note-grid,.billing-plan-grid,.plan-choice-grid,.plan-switcher{grid-template-columns:1fr}
  .pricing-copy{min-height:0}
}
.industry-choice-card{padding:18px;border:1px solid var(--gray-200);border-radius:20px;background:linear-gradient(180deg,#fcfcff,#f6f5ff);margin-bottom:20px}
.industry-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.industry-choice-option input{position:absolute;opacity:0;pointer-events:none}
.industry-choice-option__box{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--gray-200);border-radius:18px;background:#fff;cursor:pointer;transition:.2s border-color,.2s transform,.2s box-shadow;min-height:100px}
.industry-choice-option__box strong{font-size:1rem;color:var(--gray-900)}
.industry-choice-option__box small{font-style:normal;color:var(--gray-600);line-height:1.45}
.industry-choice-option input:checked + .industry-choice-option__box{border-color:rgba(108,92,231,.55);box-shadow:0 0 0 3px rgba(108,92,231,.12);transform:translateY(-1px)}
.industry-choice-preview{margin-top:14px;padding:16px;border:1px solid rgba(108,92,231,.12);border-radius:18px;background:#fff}
.industry-choice-preview__meta{display:flex;gap:10px;align-items:center;margin-bottom:8px;color:var(--gray-900)}
.industry-choice-preview__list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.industry-choice-preview__list span,.chip-soft{display:inline-flex;align-items:center;justify-content:center;padding:8px 10px;border-radius:999px;background:#f1edff;color:var(--primary-main);font-weight:700;font-size:.85rem}
.dashboard-sector-card{padding:18px;border:1px solid var(--gray-200);border-radius:24px;background:linear-gradient(180deg,#fff,#f8f7ff);margin-bottom:18px}
.dashboard-sector-card__head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}
.dashboard-sector-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.dashboard-sector-box{border:1px solid var(--gray-200);border-radius:18px;padding:14px;background:#fff}
.dashboard-sector-box h4{margin:0 0 6px;font-size:.95rem}
.dashboard-sector-box p{margin:0;color:var(--gray-600);line-height:1.45;font-size:.92rem}
@media (max-width:980px){.industry-choice-grid,.dashboard-sector-grid{grid-template-columns:1fr}}


.industry-starter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.industry-starter-card{border:1px solid var(--gray-200);box-shadow:none}.industry-template-list{display:grid;gap:12px}.industry-template-item{padding:14px 16px;border:1px solid var(--gray-200);border-radius:18px;background:var(--surface-0);display:grid;gap:6px}.industry-template-item strong{font-size:14px;color:var(--gray-900)}.industry-template-item span{font-size:13px;line-height:1.55;color:var(--gray-600)}.industry-choice-preview__hints .badge{white-space:normal;text-align:left}.industry-choice-preview__list span{white-space:normal}.booking-hero-meta .badge{white-space:normal} @media (max-width: 980px){.industry-starter-grid{grid-template-columns:1fr}}


/* ===== QA cleanup: customizer layout, forms and safe wrapping ===== */
.booking-customizer-accordion{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  align-items:start;
}
.booking-customizer-section{
  min-width:0;
  border:1px solid rgba(148,163,184,.16);
  border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,250,252,.94));
  overflow:hidden;
}
.booking-section-toggle{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:start;
}
.booking-section-toggle__main,
.booking-section-toggle__summary,
.booking-customization-card__sub,
.booking-preview-meta span,
.choice-scene-card__title,
.choice-scene-card__text,
.choice-layout-card__inner span,
.upload-field,
.upload-field__preview,
.field-hint{
  min-width:0;
}
.booking-section-toggle__summary{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}
.booking-section-toggle__main strong,
.booking-section-toggle__main span,
.booking-section-toggle__summary span{
  overflow-wrap:anywhere;
  word-break:break-word;
}
.booking-section-toggle__chevron{
  width:38px;
  height:38px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(108,92,231,.10);
  color:#5b45d6;
  border:1px solid rgba(108,92,231,.16);
  flex:0 0 auto;
}
.booking-customizer-grid,
.booking-customizer-grid--2,
.choice-scene-grid,
.choice-layout-grid{
  align-items:stretch;
}
.booking-customizer-grid--2,
.choice-scene-grid,
.choice-layout-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.choice-scene-card,
.choice-layout-card,
.choice-layout-card__inner,
.booking-selection-pill,
.booking-pro-lock,
.booking-preview-meta span,
.entity-card,
.entity-metric-box,
.team-load-item,
.focus-card,
.owner-alert-card{
  min-width:0;
}
.choice-scene-card,
.choice-layout-card__inner{
  height:100%;
}
.choice-scene-card__preview{
  height:88px;
}
.upload-field{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:start;
}
.upload-field__preview{
  width:96px;
  height:96px;
  border-radius:20px;
  overflow:hidden;
  border:1px solid rgba(148,163,184,.22);
  background:#fff;
}
.upload-field__preview img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.form-row{
  align-items:start;
}
.form-group,
.input-wrapper,
.input-wrapper-file,
.form-control,
.input,
textarea,
select{
  min-width:0;
}
.form-control,
.input,
textarea,
select{
  width:100%;
}
.modal-form .form-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
@media (max-width: 1180px){
  .booking-customizer-accordion,
  .booking-customizer-grid--2,
  .choice-scene-grid,
  .choice-layout-grid{
    grid-template-columns:1fr;
  }
  .booking-section-toggle{
    grid-template-columns:1fr;
  }
  .booking-section-toggle__summary{
    justify-content:flex-start;
  }
}
@media (max-width: 900px){
  .upload-field,
  .modal-form .form-row{
    grid-template-columns:1fr;
  }
}


/* Register industry cards */
.industry-choice-card--editor{margin-top:var(--space-5);display:grid;gap:14px}
.industry-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.industry-choice-option{position:relative;display:block}
.industry-choice-option input{position:absolute;opacity:0;pointer-events:none}
.industry-choice-option__box{display:flex;gap:14px;align-items:flex-start;padding:18px;border:1px solid var(--gray-200);border-radius:22px;background:linear-gradient(180deg,#fff,#fbfaff);cursor:pointer;transition:border-color .18s ease, transform .18s ease, box-shadow .18s ease;min-height:118px}
.industry-choice-option__emoji{width:44px;height:44px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;font-size:1.3rem;background:rgba(108,92,231,.10);flex:0 0 44px}
.industry-choice-option__content{display:grid;gap:5px;min-width:0}
.industry-choice-option__content strong{font-size:1rem;color:var(--gray-900)}
.industry-choice-option__content small{color:var(--gray-600);line-height:1.45}
.industry-choice-option__content em{font-style:normal;color:#5b4ac5;font-size:.84rem;line-height:1.45}
.industry-choice-option:has(input:checked) .industry-choice-option__box{border-color:rgba(108,92,231,.44);box-shadow:0 0 0 3px rgba(108,92,231,.10);transform:translateY(-1px)}
.industry-choice-preview{padding:18px;border-radius:22px;background:linear-gradient(180deg,#fff,#f8f6ff);border:1px solid rgba(108,92,231,.12)}
@media (max-width:860px){.industry-choice-grid{grid-template-columns:1fr}}

/* Billing prestige layout */
.billing-hero__content{display:grid;grid-template-columns:minmax(0,1.2fr) 280px;gap:20px;align-items:end}
.billing-hero h1{margin:0 0 8px;font-size:2rem}
.billing-hero p{margin:0;color:var(--gray-600);line-height:1.65}
.billing-hero__chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.billing-hero__stats{display:grid;gap:12px}
.billing-hero__stats > div{padding:16px;border-radius:18px;background:linear-gradient(180deg,#fff,#f8f7ff);border:1px solid rgba(108,92,231,.12)}
.billing-hero__stats strong{display:block;font-size:1.2rem;color:var(--gray-900)}
.billing-hero__stats span{display:block;margin-top:4px;color:var(--gray-600);font-size:.9rem}
.billing-page-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px}
.billing-side-card{display:grid;gap:14px}
.billing-check{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;border:1px solid var(--gray-200);background:#fff;cursor:pointer}
.billing-mini-list{display:grid;gap:12px;padding:0;margin:0;list-style:none}
.billing-mini-list li{display:grid;gap:4px;padding:12px 14px;border-radius:16px;background:linear-gradient(180deg,#fff,#fbfaff);border:1px solid rgba(108,92,231,.10)}
.billing-mini-list strong{color:var(--gray-900)}
.billing-mini-list span{color:var(--gray-600);font-size:.92rem;line-height:1.45}
.billing-dashboard-shell{display:grid;gap:18px}
.billing-dashboard-hero{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;flex-wrap:wrap}
.billing-dashboard-hero h3{margin:4px 0 8px}
.billing-dashboard-hero p{margin:0;color:var(--gray-600);line-height:1.65;max-width:760px}
.billing-dashboard-hero__aside{display:grid;gap:10px;justify-items:end}
.billing-dashboard-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.billing-dashboard-card{padding:18px;border-radius:20px;background:linear-gradient(180deg,#fff,#fbfaff);border:1px solid rgba(108,92,231,.12);display:grid;gap:6px}
.billing-dashboard-card strong{font-size:1.2rem;color:var(--gray-900)}
.billing-dashboard-card span{color:var(--gray-600);font-size:.92rem}
.billing-dashboard-planline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.billing-dashboard-planline__item{padding:18px;border-radius:18px;border:1px solid var(--gray-200);background:#fff;display:grid;gap:6px}
.billing-dashboard-planline__item span{font-weight:800;color:var(--gray-900)}
.billing-dashboard-planline__item small{color:var(--gray-600);line-height:1.5}
.billing-dashboard-planline__item--accent{border-color:rgba(108,92,231,.24);background:linear-gradient(180deg,#fff,#f7f4ff)}
@media (max-width:980px){.billing-page-grid,.billing-hero__content,.billing-dashboard-cards,.billing-dashboard-planline{grid-template-columns:1fr}.billing-dashboard-hero__aside{justify-items:start}}

/* Cleaner customizer cards */
.booking-customizer-accordion__summary{align-items:flex-start}
.booking-customizer-accordion__side{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;max-width:46%}
.booking-customizer-section__mini{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.booking-customizer-section__mini span{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#f4f1ff;border:1px solid rgba(108,92,231,.10);color:#5b4ac5;font-weight:700;font-size:.82rem;max-width:100%}
.choice-scene-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.choice-scene-card{height:auto;min-height:204px}
.choice-scene-card__title,.choice-scene-card__text{display:block}
.choice-scene-card__text{margin-top:2px}
.choice-layout-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.choice-layout-card__inner{padding:18px 14px}
.choice-layout-card__inner strong{writing-mode:initial !important;transform:none !important;display:block;font-size:.95rem;line-height:1.35;text-align:center}
@media (max-width:980px){.booking-customizer-accordion__side{max-width:100%;justify-content:flex-start}.choice-scene-grid,.choice-layout-grid{grid-template-columns:1fr}}


/* Register split layout refresh */
.auth-page--register{padding:var(--space-6)}
.auth-container--register{max-width:1180px}
.auth-card--register{padding:32px 32px 28px}
.auth-header--register{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;text-align:left;margin-bottom:24px}
.auth-plan-chip{align-self:flex-start}
.register-form{display:block}
.register-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,420px);gap:24px;align-items:start}
.register-main,.register-side{min-width:0}
.register-side{position:sticky;top:24px}
.register-password-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.register-checkbox{margin-bottom:var(--space-4)}
.register-login-link{margin-top:var(--space-4);font-size:.95rem}
.register-login-link a{color:var(--primary-main);text-decoration:none;font-weight:600}
.industry-choice-card--side{padding:22px;border-radius:28px;background:linear-gradient(180deg,#ffffff,#f7f5ff);box-shadow:0 18px 48px rgba(108,92,231,.08);border:1px solid rgba(108,92,231,.14)}
.industry-choice-card--side .plan-choice-card__title{font-size:1.05rem;font-weight:800;color:var(--gray-900);margin-bottom:14px}
.industry-choice-card--side .industry-choice-grid{grid-template-columns:1fr;gap:12px}
.industry-choice-card--side .industry-choice-option__box{min-height:0;padding:16px 16px 15px;border-radius:20px;box-shadow:none}
.industry-choice-card--side .industry-choice-preview{margin-top:4px}
.register-industry-hints{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
@media (max-width: 980px){
  .auth-container--register{max-width:760px}
  .register-layout{grid-template-columns:1fr}
  .register-side{position:static}
}
@media (max-width: 680px){
  .auth-card--register{padding:24px 18px 22px}
  .auth-header--register{flex-direction:column}
  .register-password-grid{grid-template-columns:1fr}
}


/* Industry-wide accents */
body.industry-theme-beauty{--primary-light:#efe7ff;--primary-soft:#dacbff;--primary-main:#7c3aed;--primary-dark:#6d28d9;--primary-gradient:linear-gradient(135deg,#7c3aed 0%,#a78bfa 100%);--bg-gradient-start:#faf7ff;--bg-gradient-end:#f3f0ff;}
body.industry-theme-sport{--primary-light:#dff8f3;--primary-soft:#b9efe4;--primary-main:#0f766e;--primary-dark:#115e59;--primary-gradient:linear-gradient(135deg,#0f766e 0%,#14b8a6 100%);--bg-gradient-start:#f2fbf9;--bg-gradient-end:#ecfaf7;}
body.industry-theme-food{--primary-light:#fff1e6;--primary-soft:#ffd7bf;--primary-main:#ea580c;--primary-dark:#c2410c;--primary-gradient:linear-gradient(135deg,#ea580c 0%,#fb923c 100%);--bg-gradient-start:#fff8f3;--bg-gradient-end:#fff1e8;}
body.industry-theme-education{--primary-light:#e8eeff;--primary-soft:#cad6ff;--primary-main:#2563eb;--primary-dark:#1d4ed8;--primary-gradient:linear-gradient(135deg,#2563eb 0%,#60a5fa 100%);--bg-gradient-start:#f4f8ff;--bg-gradient-end:#edf4ff;}
body.industry-theme-medical, body.industry-theme-health{--primary-light:#e6fbf4;--primary-soft:#c4f3e1;--primary-main:#059669;--primary-dark:#047857;--primary-gradient:linear-gradient(135deg,#059669 0%,#34d399 100%);--bg-gradient-start:#f2fcf8;--bg-gradient-end:#eafaf3;}
body.industry-theme-other{--primary-light:#ede9ff;--primary-soft:#d6ccff;--primary-main:#6d28d9;--primary-dark:#5b21b6;--primary-gradient:linear-gradient(135deg,#6d28d9 0%,#8b5cf6 100%);--bg-gradient-start:#f7f5ff;--bg-gradient-end:#efecff;}

/* Billing redesign */
.billing-hero{overflow:hidden;position:relative;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,255,255,.88));border:1px solid color-mix(in srgb,var(--primary-main) 14%, #e5e7eb);}
.billing-hero::after{content:'';position:absolute;inset:auto -80px -100px auto;width:280px;height:280px;border-radius:999px;background:radial-gradient(circle, color-mix(in srgb,var(--primary-main) 18%, transparent) 0%, transparent 68%);pointer-events:none;}
.billing-hero__content{grid-template-columns:minmax(0,1fr) 240px;align-items:stretch;}
.billing-hero__stats>div{background:linear-gradient(180deg,#fff, color-mix(in srgb,var(--primary-main) 4%, #ffffff));border-color:color-mix(in srgb,var(--primary-main) 12%, #e5e7eb);}
.billing-page-grid{grid-template-columns:minmax(0,1fr);gap:18px;}
.billing-page-main{display:grid;gap:18px;}
.billing-page-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;}
.billing-side-card{padding:20px;border-radius:24px;background:linear-gradient(180deg,#fff, color-mix(in srgb,var(--primary-main) 2%, #ffffff));border:1px solid color-mix(in srgb,var(--primary-main) 10%, #e5e7eb);}
.billing-plan-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;}
.billing-plan-card{display:grid;grid-template-rows:auto auto 1fr auto;gap:14px;padding:24px;border-radius:28px;background:linear-gradient(180deg,#fff, color-mix(in srgb,var(--primary-main) 3%, #ffffff));border:1px solid color-mix(in srgb,var(--primary-main) 10%, #e5e7eb);min-height:100%;}
.billing-plan-card p{font-size:1rem;line-height:1.65;margin:0;}
.billing-plan-card.is-highlight{border-color:color-mix(in srgb,var(--primary-main) 30%, #d9dced);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary-main) 10%, transparent);}
.billing-plan-card__head h3{font-size:1.65rem;letter-spacing:-.03em;}
.billing-plan-list li::before{color:var(--primary-main);}
.billing-actions .btn{min-height:48px;}
.billing-mini-list li{padding:14px 16px;border-radius:18px;background:linear-gradient(180deg,#fff, color-mix(in srgb,var(--primary-main) 2%, #ffffff));border:1px solid color-mix(in srgb,var(--primary-main) 10%, #e5e7eb);}
.billing-check{border-color:color-mix(in srgb,var(--primary-main) 10%, #e5e7eb);background:linear-gradient(180deg,#fff, color-mix(in srgb,var(--primary-main) 2%, #ffffff));}
#couponCode.input{border-radius:16px;}
@media (max-width:1100px){.billing-plan-grid{grid-template-columns:1fr;}.billing-page-side{grid-template-columns:1fr;}.billing-hero__content{grid-template-columns:1fr;}}


/* refreshed register / linkqr / billing */
.register-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:stretch!important}
.register-panel{box-shadow:0 18px 40px rgba(15,23,42,.05)}
.register-panel .form-group label{font-weight:700;color:var(--gray-800)}
.register-side-card{display:grid;gap:18px;height:100%}
.register-industry-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.register-industry-box{min-height:170px;justify-content:start}
.register-side-note{margin-top:auto}

.linkqr-page{display:grid;gap:20px}
.linkqr-hero{display:grid;grid-template-columns:minmax(0,1.2fr) 280px;gap:20px;padding:28px;border-radius:28px;background:linear-gradient(180deg,#fff,#fbfbff);border:1px solid rgba(108,92,231,.10)}
.linkqr-hero__copy h2{margin:4px 0 10px;font-size:2rem}
.linkqr-hero__copy p{margin:0;color:var(--gray-600);line-height:1.7;max-width:720px}
.linkqr-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.linkqr-hero__meta,.linkqr-stats{display:grid;gap:12px}
.linkqr-stat{padding:16px 18px;border-radius:20px;background:#fff;border:1px solid rgba(108,92,231,.10);display:grid;gap:4px}
.linkqr-stat span{font-size:.82rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.06em}
.linkqr-stat b{font-size:1.04rem;color:var(--gray-900)}
.linkqr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.linkqr-grid--feature{grid-template-columns:minmax(0,1.2fr) 340px}
.linkqr-card{padding:24px;border-radius:26px;background:#fff;border:1px solid rgba(108,92,231,.10);display:grid;gap:14px}
.linkqr-card h3{margin:0;font-size:1.35rem}
.linkqr-muted{margin:0;color:var(--gray-600);line-height:1.6}
.linkqr-linkbox{padding:16px 18px;border-radius:18px;background:linear-gradient(180deg,#fbfaff,#fff);border:1px solid rgba(108,92,231,.12);font-size:.96rem;line-height:1.6;word-break:break-word}
.linkqr-qrwrap{display:grid;place-items:center;padding:18px;border-radius:22px;background:linear-gradient(180deg,#fff,#fbfbff);border:1px dashed rgba(108,92,231,.20)}
.linkqr-qrwrap img{display:block;max-width:220px;width:100%;height:auto;border-radius:18px}
.linkqr-tipline,.register-preview-list,.register-preview-hints{display:flex;gap:8px;flex-wrap:wrap}
.linkqr-tipline span{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#f6f3ff;color:#5b4ac5;font-weight:700;font-size:.84rem}
.linkqr-tipgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.linkqr-tip{padding:16px;border-radius:18px;background:linear-gradient(180deg,#fff,#fbfbff);border:1px solid rgba(108,92,231,.10);display:grid;gap:6px}
.linkqr-tip b{color:var(--gray-900)}
.linkqr-tip span{color:var(--gray-600);line-height:1.5}
.linkqr-checklist{margin:0;padding-left:18px;display:grid;gap:12px;color:var(--gray-700)}
.linkqr-checklist li{line-height:1.5}

.billing-dashboard-shell{display:grid;gap:20px}
.billing-dashboard-hero{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:18px;padding:28px;border-radius:28px;background:linear-gradient(180deg,#fff,#fbfbff);border:1px solid rgba(108,92,231,.10)}
.billing-dashboard-hero h3{margin:6px 0 10px;font-size:2rem}
.billing-dashboard-hero__aside{display:grid;gap:12px;justify-items:end;align-content:start}
.billing-dashboard-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.billing-dashboard-card{padding:18px;border-radius:22px;background:#fff;border:1px solid rgba(108,92,231,.10);display:grid;gap:8px}
.billing-plan-showcase{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.billing-plan-showcase__card{padding:24px;border-radius:26px;background:#fff;border:1px solid rgba(108,92,231,.10);display:grid;gap:14px}
.billing-plan-showcase__card.is-active{border-color:rgba(108,92,231,.34);box-shadow:0 0 0 3px rgba(108,92,231,.08);background:linear-gradient(180deg,#fff,#f8f5ff)}
.billing-plan-showcase__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.billing-plan-showcase__head h4{margin:0;font-size:1.35rem}
.billing-plan-showcase__head span{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#f4f1ff;color:#5b4ac5;font-weight:800;font-size:.86rem}
.billing-plan-showcase__card p{margin:0;color:var(--gray-600);line-height:1.6}
.billing-plan-showcase__card ul{margin:0;padding-left:18px;display:grid;gap:10px;color:var(--gray-700)}

@media (max-width:1080px){
  .register-industry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .linkqr-hero,.linkqr-grid--feature,.billing-dashboard-hero,.billing-dashboard-cards,.billing-plan-showcase{grid-template-columns:1fr}
  .billing-dashboard-hero__aside{justify-items:start}
}
@media (max-width:720px){
  .register-industry-grid,.linkqr-grid,.linkqr-tipgrid{grid-template-columns:1fr}
  .linkqr-card,.billing-plan-showcase__card,.billing-dashboard-card{padding:20px}
}

/* v5 customizer layout */
.booking-customizer-v4{display:grid;gap:24px;margin-top:20px}
.booking-customizer-v4__preview{padding:28px;border-radius:30px;border:1px solid rgba(108,92,231,.12);background:linear-gradient(180deg,#ffffff 0%,#fbfaff 100%);box-shadow:0 18px 45px rgba(108,92,231,.06)}
.booking-customizer-v4__preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:16px}
.booking-customizer-v4__eyebrow{font-size:.78rem;font-weight:900;color:#6b59d3;text-transform:uppercase;letter-spacing:.1em}
.booking-customizer-v4__title{margin-top:8px;font-size:1.25rem;font-weight:900;color:#1d2a3a;line-height:1.2}
.booking-customizer-v4__text{margin-top:8px;color:#66758b;line-height:1.6;max-width:760px}
.booking-customizer-v4__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}
.booking-setting-card{padding:20px;border:1px solid rgba(108,92,231,.12);border-radius:24px;background:linear-gradient(180deg,#ffffff 0%,#fcfbff 100%);display:grid;gap:16px;min-width:0;min-height:210px;align-content:start;box-shadow:0 10px 26px rgba(15,23,42,.03)}
.booking-setting-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.booking-setting-card__title{font-size:1rem;font-weight:900;color:#1f2c3d;line-height:1.25}
.booking-setting-card__desc{margin-top:6px;font-size:.88rem;line-height:1.55;color:#68778c;max-width:42ch}
.booking-setting-card__mini{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;background:rgba(108,92,231,.08);color:#5a48c8;font-size:.76rem;font-weight:800;text-align:center;white-space:nowrap}
.choice-pills--stacked{display:grid;gap:10px}
.choice-pills--stacked .choice-pill{width:100%}
.choice-pills--stacked .choice-pill span{width:100%;justify-content:center;text-align:center;min-height:42px}
.choice-scene-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.choice-scene-grid--compact .choice-scene-card{padding:12px;border-radius:18px;min-height:152px;align-content:start}
.choice-scene-grid--compact .choice-scene-card__preview{height:64px}
.choice-scene-grid--compact .choice-scene-card__title{font-size:.92rem}
.choice-scene-grid--compact .choice-scene-card__text{font-size:.78rem;line-height:1.45}
.booking-setting-card .form-group{padding:0;border:none;background:transparent;border-radius:0}
.booking-setting-card .booking-customizer-grid{padding-top:0;gap:14px}
.booking-setting-card .upload-field{grid-template-columns:1fr;gap:12px}
.booking-setting-card .upload-field__preview{max-width:110px}
.booking-setting-card .range-control{padding:14px 16px;border-radius:18px;background:#f9faff;border:1px solid rgba(108,92,231,.10)}
.booking-setting-card .range-control__legend{font-size:.74rem}
.booking-setting-card .input,.booking-setting-card select,.booking-setting-card textarea{min-height:46px}
.booking-setting-card .choice-pills{gap:10px;flex-wrap:wrap}
.booking-setting-card .choice-pill span{min-height:40px;padding:0 14px}
.booking-setting-card .input-wrapper-file{min-height:46px}
.booking-setting-card .form-group-wide{grid-column:1/-1}
.booking-customization-card{padding:26px;border-radius:30px}
.booking-customization-card__top{margin-bottom:6px}
.booking-preview-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.booking-preview-meta span{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#f6f7fb;border:1px solid rgba(108,92,231,.10);font-size:12px;font-weight:800;color:#506075}
@media (max-width:1500px){.booking-customizer-v4__grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:980px){.booking-customizer-v4__grid{grid-template-columns:1fr}.booking-customizer-v4__preview-head{align-items:stretch}.booking-preview-topbar{width:100%}}

/* settings page cleanup pass */
.profile-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:none}
.profile-form-grid > .form-group-wide, .profile-form-grid > .booking-customization-card, .profile-form-grid > .form-actions-row{grid-column:1/-1}
.booking-customization-card{margin-top:10px;padding:28px;border-radius:28px;background:linear-gradient(180deg,#fff 0%,#fcfbff 100%);border:1px solid rgba(108,92,231,.12);overflow:hidden}
.booking-customizer-v4{gap:22px}
.booking-customizer-v4__preview{padding:30px;border-radius:28px;background:linear-gradient(180deg,#ffffff 0%,#fbfbff 100%);border:1px solid rgba(108,92,231,.12)}
.booking-customizer-v4__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.booking-setting-card{padding:22px;border-radius:24px;min-height:auto;gap:14px;align-content:start;overflow:hidden}
.booking-setting-card__head{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.booking-setting-card__mini{white-space:normal;line-height:1.35;padding:7px 11px}
.booking-setting-card__desc{max-width:none}
.booking-setting-card .choice-pills{display:flex;flex-wrap:wrap;gap:10px}
.booking-setting-card .choice-pills--stacked{display:grid;grid-template-columns:1fr;gap:10px}
.booking-setting-card .choice-pill{min-width:0}
.booking-setting-card .choice-pill span{width:100%;white-space:normal;line-height:1.35;text-align:center;justify-content:center;padding:10px 14px;min-height:44px}
.choice-scene-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.choice-scene-grid--compact .choice-scene-card{min-height:154px;padding:14px}
.choice-scene-grid--compact .choice-scene-card__title,.choice-scene-grid--compact .choice-scene-card__text{word-break:normal;overflow-wrap:anywhere}
.booking-setting-card .booking-customizer-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.booking-setting-card .form-group-wide{grid-column:1/-1}
.range-control{overflow:hidden}
@media (max-width:1100px){.profile-form-grid,.booking-customizer-v4__grid,.booking-setting-card .booking-customizer-grid--2{grid-template-columns:1fr}}


/* --- April 2026 cleanup: settings + clients workspace --- */
.section--settings .card-solid.card,
.settings-shell .card-solid.card{max-width:none}
.booking-customization-card{padding:24px;border-radius:28px;background:linear-gradient(180deg,#fff 0%,#fcfbff 100%);border:1px solid rgba(108,92,231,.12);box-shadow:0 14px 34px rgba(15,23,42,.04)}
.booking-customizer-v4{display:grid;gap:22px}
.booking-customizer-v4__preview{padding:28px;border-radius:26px;border:1px solid rgba(108,92,231,.12);background:linear-gradient(180deg,#fff,#fbfbff)}
.booking-style-preview-frame{min-height:320px}
.booking-style-preview{min-height:240px}
.booking-customizer-v4__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:start}
.booking-setting-card{min-height:0;padding:20px;border-radius:22px;border:1px solid rgba(108,92,231,.12);background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.03)}
.booking-setting-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.booking-setting-card__title{font-size:1.02rem;font-weight:800;line-height:1.2;color:#182335}
.booking-setting-card__desc{font-size:.88rem;line-height:1.55;color:#6b7890;max-width:none}
.booking-setting-card__mini{white-space:nowrap;flex:0 0 auto}
.booking-setting-card .choice-pills{display:flex;flex-wrap:wrap;gap:10px}
.booking-setting-card .choice-pills--stacked{display:grid;grid-template-columns:1fr;gap:10px}
.booking-setting-card .choice-pill{min-width:0;display:block}
.booking-setting-card .choice-pill span{display:flex;align-items:center;justify-content:center;width:100%;min-height:42px;padding:10px 12px;text-align:center;line-height:1.35;white-space:normal}
.booking-setting-card .booking-customizer-grid--2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.booking-setting-card .form-group{margin:0}
.booking-setting-card .form-group-wide{grid-column:1 / -1}
.booking-setting-card .upload-field{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:12px;align-items:center}
.booking-setting-card .upload-field__preview{width:92px;height:92px;border-radius:18px}
.booking-setting-card .range-control{padding:14px 16px;border-radius:18px;background:#f8f9ff;border:1px solid rgba(108,92,231,.10)}
.booking-setting-card .input,.booking-setting-card textarea,.booking-setting-card select{min-height:46px}
.booking-setting-card textarea{min-height:110px;resize:vertical}
@media (max-width: 1500px){.booking-customizer-v4__grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width: 980px){.booking-customizer-v4__grid,.booking-setting-card .booking-customizer-grid--2{grid-template-columns:1fr}.booking-setting-card .upload-field{grid-template-columns:1fr}.booking-style-preview-frame{min-height:260px}}

.client-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.client-directory-card{padding:22px;border-radius:24px;border:1px solid rgba(108,92,231,.12);background:#fff;display:grid;gap:18px}
.client-directory-card.is-active{border-color:rgba(108,92,231,.28);box-shadow:0 12px 28px rgba(108,92,231,.08)}
.client-directory-card__head{display:grid;gap:14px}
.client-directory-card__identity{display:flex;align-items:center;gap:14px;min-width:0}
.client-directory-card__avatar{width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#6c5ce7,#8b7dff);color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.1rem;flex:0 0 auto}
.client-directory-card__name{font-size:1.02rem;font-weight:800;color:#182335}
.client-directory-card__meta{margin-top:4px;color:#6c7a92;font-size:.92rem;line-height:1.45;word-break:break-word}
.client-directory-card__stats{display:flex;gap:10px;flex-wrap:wrap;color:#445169;font-size:.92rem}
.client-directory-card__stats span{padding:8px 12px;border-radius:999px;background:#f6f7ff;border:1px solid rgba(108,92,231,.09)}
.client-directory-card__actions{display:flex;gap:10px;flex-wrap:wrap}
.client-workspace-card{padding:24px;border-radius:28px;border:1px solid rgba(108,92,231,.12);background:linear-gradient(180deg,#fff,#fcfbff);display:grid;gap:20px}
.client-workspace-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.client-workspace-tabs{display:flex;gap:10px;flex-wrap:wrap}
.client-profile-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px;align-items:start}
.client-profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.client-profile-fields .form-group-wide{grid-column:1/-1}
.client-workspace-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.client-workspace-form .form-group-wide{grid-column:1/-1}
.client-thread-shell--workspace{border:none;background:transparent;padding:0}
.chat-compose--workspace{margin-top:16px}
@media (max-width:1100px){.client-directory-grid,.client-profile-grid,.client-profile-fields,.client-workspace-form{grid-template-columns:1fr}}

/* === Entity workspaces: separate profile / edit / chat screens === */
.entity-workspace-shell{display:grid;gap:22px;min-width:0;}
.entity-workspace-hero{padding:28px !important;border-radius:28px;background:linear-gradient(180deg,#ffffff,#fcfbff);border:1px solid rgba(108,92,231,.12);display:grid;gap:18px;}
.entity-workspace-hero__topline{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.entity-workspace-hero__top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;}
.entity-workspace-hero__identity{display:flex;align-items:center;gap:18px;min-width:0;flex:1 1 420px;flex-wrap:wrap;}
.entity-workspace-hero__avatar{width:82px;height:82px;border-radius:24px;background:linear-gradient(135deg,#6c5ce7,#8b7dff);color:#fff;display:grid;place-items:center;font-size:1.75rem;font-weight:800;overflow:hidden;flex:0 0 auto;box-shadow:0 18px 38px rgba(108,92,231,.18);}
.entity-workspace-hero__avatar--client{background:linear-gradient(135deg,#5b7cff,#8a6bff);}
.entity-workspace-hero__meta{display:grid;gap:8px;min-width:0;}
.entity-workspace-hero__meta h2{margin:0;font-size:clamp(1.5rem,2vw,2rem);line-height:1.15;color:#182335;}
.entity-workspace-hero__meta p{margin:0;color:#6c7a92;line-height:1.55;word-break:break-word;}
.entity-workspace-tabs{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.entity-workspace-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:20px;align-items:start;min-width:0;}
.entity-panel{padding:24px !important;border-radius:26px;display:grid;gap:18px;min-width:0;}
.entity-side-stack{display:grid;gap:20px;align-content:start;min-width:0;}
.entity-readonly-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0;}
.entity-readonly-grid .form-group-wide{grid-column:1/-1;}
.entity-readonly-textarea{min-height:140px;resize:vertical;}
.entity-timeline{display:grid;gap:12px;min-width:0;}
.entity-timeline-card{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:20px;background:rgba(246,247,255,.95);border:1px solid rgba(108,92,231,.08);min-width:0;}
.entity-timeline-card--stacked{align-items:flex-start;}
.entity-timeline-card__title{font-weight:700;color:#182335;line-height:1.4;word-break:break-word;}
.entity-timeline-card__meta{margin-top:6px;color:#6c7a92;font-size:.92rem;line-height:1.45;word-break:break-word;}
.entity-timeline-card__note{margin-top:8px;color:#445169;font-size:.92rem;line-height:1.5;word-break:break-word;}
.entity-summary-card{background:linear-gradient(180deg,#ffffff,#faf8ff) !important;}
.entity-summary-list{display:grid;gap:12px;}
.entity-summary-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;border-radius:16px;background:rgba(246,247,255,.92);border:1px solid rgba(108,92,231,.08);}
.entity-summary-row span{color:#6c7a92;font-size:.92rem;}
.entity-summary-row strong{color:#182335;font-size:.96rem;word-break:break-word;text-align:right;}
.entity-action-cluster{display:flex;gap:10px;flex-wrap:wrap;}
.danger-zone{border:1px solid rgba(239,68,68,.16) !important;background:linear-gradient(180deg,#fff,#fff7f7) !important;}
.danger-zone .section-heading p{color:#8b5d5d;}
.client-directory-card__actions .btn,.entity-card__actions .btn,.entity-workspace-tabs .btn,.entity-action-cluster .btn{min-height:42px;}

@media (max-width: 1180px){
  .entity-workspace-grid{grid-template-columns:1fr;}
}
@media (max-width: 760px){
  .entity-workspace-hero{padding:22px !important;}
  .entity-workspace-hero__topline,.entity-workspace-hero__top{align-items:flex-start;}
  .entity-workspace-hero__identity{align-items:flex-start;}
  .entity-readonly-grid{grid-template-columns:1fr;}
  .entity-timeline-card,.entity-summary-row{flex-direction:column;align-items:flex-start;}
  .entity-summary-row strong{text-align:left;}
}


/* 2026-04-17 polish */
.input-wrapper-file--accent{background:linear-gradient(180deg,#fcfbff,#f4f0ff)!important;border-color:rgba(108,92,231,.26)!important;box-shadow:0 0 0 4px rgba(108,92,231,.05)}
.input-wrapper-file input[type=file]::-webkit-file-upload-button{opacity:0;width:0;padding:0;margin:0;border:none}
.input-wrapper-file input[type=file]{color:var(--gray-700);font-weight:600}
.schedule-editor-card{display:grid;gap:12px;padding:16px;border-radius:20px;background:linear-gradient(180deg,#fff,#f8f7ff);border:1px solid rgba(108,92,231,.14)}
.schedule-editor-card--compact{padding:14px}
.schedule-editor-card__head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.schedule-editor-card__head strong{display:block;color:var(--gray-900)}
.schedule-editor-card__head p{margin:4px 0 0;color:var(--gray-600);line-height:1.55}
.schedule-editor-card__actions{display:flex;gap:8px;flex-wrap:wrap}
.schedule-editor-card__textarea{min-height:190px;background:#fff!important}
.schedule-editor-card__hint{font-size:.9rem;color:var(--gray-600);line-height:1.55}
.schedule-editor-card__hint code{padding:2px 8px;border-radius:999px;background:rgba(108,92,231,.08);color:#5b4ac5}
.linkqr-card--compact{gap:12px;padding:20px}
.linkqr-card__head-compact{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.linkqr-linkbox--compact{padding:12px 14px;border-radius:16px;font-size:.94rem}
.linkqr-actions--compact .btn{min-height:42px;padding-inline:18px}
.linkqr-tipline--compact{gap:6px}
.linkqr-tipline--compact span{padding:7px 11px;font-size:.78rem}
.billing-page-grid--premium{align-items:start}
.billing-plan-grid--premium .billing-plan-card--premium{position:relative;overflow:hidden}
.billing-plan-card--premium::after{content:'';position:absolute;inset:auto -70px -110px auto;width:220px;height:220px;border-radius:999px;background:radial-gradient(circle, rgba(108,92,231,.10) 0%, transparent 72%);pointer-events:none}
.billing-plan-card__ribbon{display:inline-flex;align-items:center;align-self:flex-start;padding:8px 12px;border-radius:999px;background:rgba(108,92,231,.08);color:#5b4ac5;font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}
.billing-plan-card__ribbon--pro{background:rgba(16,185,129,.10);color:#0f8a62}
.billing-side-card--spotlight{background:linear-gradient(180deg,#fff,#f7f3ff);border-color:rgba(108,92,231,.18);box-shadow:0 18px 42px rgba(108,92,231,.08)}
.billing-side-card__kicker{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#6b5ce6;font-weight:800}
.coupon-spotlight{display:grid;gap:12px;padding:16px;border-radius:20px;background:#fff;border:1px solid rgba(108,92,231,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.coupon-spotlight__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.coupon-spotlight__input{border-width:2px!important;border-color:rgba(108,92,231,.24)!important;box-shadow:0 0 0 6px rgba(108,92,231,.05)}
.coupon-spotlight__input:focus{border-color:rgba(108,92,231,.48)!important;box-shadow:0 0 0 8px rgba(108,92,231,.08)!important}
.coupon-spotlight__state{font-size:.92rem;color:var(--gray-600);line-height:1.5}
.coupon-is-applied .coupon-spotlight{border-color:rgba(16,185,129,.25);box-shadow:0 0 0 6px rgba(16,185,129,.06)}
.billing-check--premium{padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.78);border:1px solid rgba(108,92,231,.10)}
.billing-check--premium span{display:grid;gap:4px}
.billing-check--premium small{color:var(--gray-600);font-size:.88rem;line-height:1.45}
.billing-mini-list--premium li{gap:6px}
@media (max-width:900px){.coupon-spotlight__row{grid-template-columns:1fr}.linkqr-card__head-compact{align-items:stretch}}

/* 2026-04-17 extra polish: schedule builder + selective hover */
.schedule-builder-card{display:grid;gap:14px;padding:18px;border-radius:22px;background:linear-gradient(180deg,#fff,#f8f6ff);border:1px solid rgba(108,92,231,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.92)}
.schedule-builder-card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}
.schedule-builder-card__head strong{display:block;color:var(--gray-900)}
.schedule-builder-card__head p{margin:4px 0 0;color:var(--gray-600);line-height:1.55}
.schedule-builder-toolbar{display:flex;gap:8px;flex-wrap:wrap}
.schedule-week-grid{display:grid;gap:10px}
.schedule-day-row{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;align-items:center;padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.82);border:1px solid rgba(108,92,231,.10);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}
.schedule-day-row.is-enabled{border-color:rgba(108,92,231,.26);background:linear-gradient(180deg,#fff,#fbf9ff);box-shadow:0 8px 18px rgba(108,92,231,.05)}
.schedule-day-pill{display:inline-flex;align-items:center;gap:10px;font-weight:800;color:#1f2937;cursor:pointer}
.schedule-day-pill input{accent-color:var(--primary-main)}
.schedule-day-row__times{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.schedule-day-time{max-width:160px}
.schedule-day-sep{color:var(--gray-500);font-weight:700}
.schedule-builder-card__note{font-size:.92rem;color:var(--gray-600);line-height:1.55}
.schedule-preview-card,.schedule-preview-list{display:grid;gap:10px}
.schedule-preview-card{padding:14px 16px;border-radius:18px;background:linear-gradient(180deg,#fff,#f8f6ff);border:1px solid rgba(108,92,231,.12)}
.schedule-preview-card.is-empty span{color:var(--gray-600);font-weight:600}
.schedule-preview-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;border-radius:16px;background:rgba(246,247,255,.92);border:1px solid rgba(108,92,231,.08)}
.schedule-preview-item span{color:#6c7a92;font-weight:700}
.schedule-preview-item strong{color:#182335}
.billing-plan-grid--premium{align-items:stretch;grid-auto-rows:1fr}
.billing-page-side{align-items:stretch}
.billing-plan-card--premium,.billing-side-card{height:100%}
.billing-plan-card--premium,.billing-side-card,.linkqr-card,.entity-card,.pricing-card{transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease}
.billing-plan-card--premium:hover,.billing-side-card:hover,.linkqr-card:hover,.entity-card:hover,.pricing-card:hover{transform:translateY(-4px);border-color:rgba(108,92,231,.24);box-shadow:0 18px 40px rgba(108,92,231,.10)}
.entity-card__actions .btn,.entity-workspace-tabs .btn,.entity-action-cluster .btn,.billing-actions .btn,.coupon-spotlight .btn,.linkqr-actions .btn{transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease}
.entity-card__actions .btn:hover,.entity-workspace-tabs .btn:hover,.entity-action-cluster .btn:hover,.billing-actions .btn:hover,.coupon-spotlight .btn:hover,.linkqr-actions .btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(108,92,231,.12)}
@media (max-width: 760px){
  .schedule-day-row{grid-template-columns:1fr}
  .schedule-day-row__times{justify-content:flex-start}
  .schedule-day-time{max-width:none;width:100%}
  .schedule-preview-item{flex-direction:column;align-items:flex-start}
}


/* v31 services/staff simplification + livelier motion */
.entity-editor-grid--single{grid-template-columns:1fr!important}
.entity-editor-grid--single .entity-editor-card{max-width:none}
.entity-metrics-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-cards-grid .entity-card,
.staff-entity-grid .entity-card{min-height:0}
.schedule-day-row__main{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.schedule-day-presets{display:flex;gap:8px;flex-wrap:wrap}
.schedule-preset-chip{appearance:none;border:1px solid rgba(108,92,231,.16);background:rgba(108,92,231,.06);color:#5b4ac5;padding:8px 11px;border-radius:999px;font-size:.82rem;font-weight:800;line-height:1;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}
.schedule-preset-chip:hover{transform:translateY(-1px);border-color:rgba(108,92,231,.3);background:rgba(108,92,231,.11);box-shadow:0 10px 20px rgba(108,92,231,.10)}
@keyframes uiFloatIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.entity-hero-card,
.entity-editor-card,
.service-entity-card,
.staff-entity-card,
.entity-panel,
.client-directory-card,
.billing-plan-card--premium,
.billing-side-card,
.linkqr-card,
.coupon-spotlight{animation:uiFloatIn .42s ease both}
.entity-cards-grid .entity-card:nth-child(2){animation-delay:.04s}
.entity-cards-grid .entity-card:nth-child(3){animation-delay:.08s}
.entity-cards-grid .entity-card:nth-child(4){animation-delay:.12s}
.entity-hero-card,
.entity-editor-card,
.entity-panel,
.service-entity-card,
.staff-entity-card,
.client-directory-card,
.billing-plan-card--premium,
.billing-side-card,
.linkqr-card,
.coupon-spotlight{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease}
.entity-hero-card:hover,
.entity-editor-card:hover,
.entity-panel:hover,
.service-entity-card:hover,
.staff-entity-card:hover,
.client-directory-card:hover,
.billing-plan-card--premium:hover,
.billing-side-card:hover,
.linkqr-card:hover,
.coupon-spotlight:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(108,92,231,.10);border-color:rgba(108,92,231,.22)}
.entity-card__actions .btn,
.entity-workspace-tabs .btn,
.entity-action-cluster .btn,
.form-actions-row .btn,
.schedule-builder-toolbar .btn,
.booking-submit-row .btn{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}
.entity-card__actions .btn:hover,
.entity-workspace-tabs .btn:hover,
.entity-action-cluster .btn:hover,
.form-actions-row .btn:hover,
.schedule-builder-toolbar .btn:hover,
.booking-submit-row .btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(108,92,231,.14)}
@media (prefers-reduced-motion: reduce){
  .entity-hero-card,.entity-editor-card,.service-entity-card,.staff-entity-card,.entity-panel,.client-directory-card,.billing-plan-card--premium,.billing-side-card,.linkqr-card,.coupon-spotlight{animation:none}
  .entity-hero-card:hover,.entity-editor-card:hover,.entity-panel:hover,.service-entity-card:hover,.staff-entity-card:hover,.client-directory-card:hover,.billing-plan-card--premium:hover,.billing-side-card:hover,.linkqr-card:hover,.coupon-spotlight:hover,
  .entity-card__actions .btn:hover,.entity-workspace-tabs .btn:hover,.entity-action-cluster .btn:hover,.form-actions-row .btn:hover,.schedule-builder-toolbar .btn:hover,.booking-submit-row .btn:hover,.schedule-preset-chip:hover{transform:none}
}
@media (max-width:760px){
  .schedule-day-row__main{flex-direction:column;align-items:flex-start}
  .schedule-day-presets{width:100%}
}


/* 2026-04-17 compact schedule + subscription checkout */
.schedule-builder-card{gap:12px;padding:14px 16px;border-radius:20px}
.schedule-builder-card__head{align-items:center}
.schedule-builder-card__head p{font-size:.92rem;line-height:1.45}
.schedule-builder-toolbar .btn{min-height:36px;padding:0 14px;border-radius:999px}
.schedule-week-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.schedule-day-row{grid-template-columns:1fr;align-content:flex-start;padding:12px;min-height:150px;border-radius:18px}
.schedule-day-row__main{display:grid;gap:10px;align-items:flex-start}
.schedule-day-presets{gap:6px}
.schedule-preset-chip{padding:7px 10px;font-size:.76rem}
.schedule-day-row__times{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center}
.schedule-day-time{max-width:none;width:100%;min-height:42px}
.schedule-builder-card__note{font-size:.85rem}
@media (max-width: 760px){.schedule-week-grid{grid-template-columns:1fr;}}
.billing-hero--compact{padding:24px 26px}
.billing-selector{display:grid;gap:16px}
.billing-selector__head h2,.billing-checkout-card__head h2{margin:0 0 6px;font-size:1.45rem;letter-spacing:-.03em}
.billing-selector__head p{margin:0;color:var(--gray-600)}
.billing-selector__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.plan-select-card{display:grid;grid-template-rows:auto auto 1fr auto;gap:14px;padding:22px;border-radius:26px;background:linear-gradient(180deg,#fff,#faf8ff);border:1px solid rgba(108,92,231,.14);box-shadow:0 10px 24px rgba(108,92,231,.05);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease}
.plan-select-card:hover{transform:translateY(-4px);border-color:rgba(108,92,231,.24);box-shadow:0 18px 40px rgba(108,92,231,.10)}
.plan-select-card.is-selected{border-color:rgba(108,92,231,.34);box-shadow:0 0 0 4px rgba(108,92,231,.08), 0 20px 46px rgba(108,92,231,.12);background:linear-gradient(180deg,#fff,#f5f2ff)}
.plan-select-card--free{background:linear-gradient(180deg,#fff,#fcfcff)}
.plan-select-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.plan-select-card__top h3{margin:4px 0 0;font-size:1.7rem;letter-spacing:-.03em}
.plan-select-card__kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#6c5ce7;font-weight:800}
.plan-select-card__actions{display:grid;gap:10px}
.billing-checkout-grid{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(360px,1.05fr);gap:18px;align-items:start}
.billing-checkout-card{display:grid;gap:18px;padding:24px;border-radius:28px;border:1px solid rgba(108,92,231,.14);background:linear-gradient(180deg,#fff,#faf8ff);box-shadow:0 12px 32px rgba(108,92,231,.06)}
.billing-checkout-card--payment{background:linear-gradient(180deg,#fff,#f7f2ff)}
.billing-checkout-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.billing-checkout-badge{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border-radius:999px;background:rgba(108,92,231,.10);color:#5f50ca;font-weight:800}
.billing-period-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:6px;border-radius:18px;background:rgba(108,92,231,.06);border:1px solid rgba(108,92,231,.12)}
.billing-period-toggle__item{min-height:46px;display:flex;align-items:center;justify-content:center;border-radius:14px;color:var(--gray-700);font-weight:700;text-decoration:none;transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}
.billing-period-toggle__item:hover{transform:translateY(-1px);color:var(--gray-900)}
.billing-period-toggle__item.is-active{background:linear-gradient(135deg,#6c5ce7,#7c72ff);color:#fff;box-shadow:0 12px 26px rgba(108,92,231,.22)}
.coupon-spotlight--checkout{padding:18px;gap:14px}
.coupon-spotlight.is-applied{border-color:rgba(16,185,129,.30);box-shadow:0 0 0 6px rgba(16,185,129,.06)}
.billing-summary-stack{display:grid;gap:12px}
.billing-summary-line,.billing-summary-total{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.82);border:1px solid rgba(108,92,231,.10)}
.billing-summary-line span{color:var(--gray-600)}
.billing-summary-line strong,.billing-summary-total strong{color:var(--gray-900)}
.billing-summary-line--discount strong{color:#059669}
.billing-summary-total{background:linear-gradient(135deg,rgba(108,92,231,.10),rgba(108,92,231,.03));border-color:rgba(108,92,231,.18)}
.billing-summary-total span{font-weight:700;color:var(--gray-900)}
.billing-summary-total strong{font-size:1.5rem;letter-spacing:-.03em}
.billing-summary-note{padding:14px 16px;border-radius:18px;background:rgba(108,92,231,.06);color:var(--gray-700);line-height:1.55}
.billing-payment-actions{display:grid;gap:10px}
.btn-lg{min-height:54px;font-size:1rem}
@media (max-width: 1000px){.billing-selector__grid,.billing-checkout-grid{grid-template-columns:1fr}}


/* 2026-04-17 global premium pass */
.card,
.card-solid,
.table-container,
.settings-card,
.form-card,
.section-card,
.entity-card,
.linkqr-card,
.pricing-card,
.billing-checkout-card,
.plan-select-card{transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;}
.card:hover,
.card-solid:hover,
.table-container:hover,
.settings-card:hover,
.form-card:hover,
.section-card:hover,
.entity-card:hover,
.pricing-card:hover,
.billing-checkout-card:hover,
.plan-select-card:hover{border-color:rgba(108,92,231,.20);box-shadow:0 18px 42px rgba(108,92,231,.10);transform:translateY(-3px);}
.btn,
.button,
input[type='submit'],
input[type='button']{transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease, color .16s ease;}
.btn:hover,
.button:hover,
input[type='submit']:hover,
input[type='button']:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(108,92,231,.12);}
.btn:active,
.button:active,
input[type='submit']:active,
input[type='button']:active{transform:translateY(0);box-shadow:none;}
.input,
textarea,
select,
input[type='text'],
input[type='email'],
input[type='tel'],
input[type='number'],
input[type='password']{transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;}
.input:focus,
textarea:focus,
select:focus,
input[type='text']:focus,
input[type='email']:focus,
input[type='tel']:focus,
input[type='number']:focus,
input[type='password']:focus{border-color:rgba(108,92,231,.36);box-shadow:0 0 0 4px rgba(108,92,231,.10);}
.section-heading p,.page-subtitle,.muted,.text-muted{color:var(--gray-600);}

/* QR block: cleaner and smaller */
.linkqr-card{gap:10px;padding:20px;border-radius:22px;}
.linkqr-linkbox{padding:13px 15px;border-radius:16px;font-size:.94rem;line-height:1.5;}
.linkqr-qrwrap{padding:14px;border-radius:18px;}
.linkqr-qrwrap img{max-width:200px;border-radius:14px;}
.linkqr-actions{margin-top:10px;}

/* billing page consistency */
.billing-selector__grid,.billing-checkout-grid{align-items:stretch;}
.plan-select-card.is-selected{border-color:rgba(108,92,231,.34);box-shadow:0 22px 48px rgba(108,92,231,.14);transform:translateY(-4px);}
.plan-select-card__actions .btn{min-height:46px;}
.billing-checkout-card--payment .coupon-spotlight{border-color:rgba(108,92,231,.16);box-shadow:inset 0 0 0 1px rgba(108,92,231,.04);}
