/* =========================================================
   MockTrial Pro — Modern Dashboard Theme
   Matches reference design: light bg, dark navy sidebar,
   white cards, Inter typography, soft shadows
   ========================================================= */

/* ── Reset & Base ─────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
    --font: 'Inter', system-ui, -apple-system, sans-serif;
    /* Brand */
    --primary:        #2563EB;
    --primary-hover:  #1D4ED8;
    --primary-light:  #EFF6FF;
    --sidebar-bg:     #0F172A;
    --sidebar-hover:  #1E293B;
    --sidebar-active: #2563EB;
    /* State colours */
    --danger:         #EF4444;
    --danger-hover:   #DC2626;
    --success:        #22C55E;
    --warning:        #F59E0B;
    /* UI */
    --bg:             #F5F7FB;
    --card:           #FFFFFF;
    --border:         #E5E7EB;
    --border-focus:   #93C5FD;
    --text:           #111827;
    --text-sub:       #6B7280;
    --text-muted:     #9CA3AF;
    --text-sidebar:   #CBD5E1;
    /* Lean colours */
    --plaintiff-dark: #1D4ED8;
    --plaintiff:      #3B82F6;
    --undecided:      #9CA3AF;
    --defense:        #F97316;
    --defense-dark:   #EF4444;
    /* Shadows */
    --shadow-sm:      0 1px 3px rgba(0,0,0,0.06);
    --shadow:         0 4px 12px rgba(0,0,0,0.08);
    --shadow-md:      0 8px 24px rgba(0,0,0,0.10);
    /* Radius */
    --r-sm: 4px;
    --r:    6px;
    --r-lg: 8px;
    --r-xl: 10px;
}

html { height: 100%; }
body {
    font-family: var(--font);
    font-size: 14px;
    color: var(--text);
    background: var(--bg);
    min-height: 100vh;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button { font-family: var(--font); cursor: pointer; border: none; background: none; }
input, textarea, select { font-family: var(--font); }

/* ── Layout Shell ─────────────────────────────────────────── */
body.has-left-sidebar {
    padding-left: 220px;
    transition: padding-left 0.22s ease;
}
body.has-left-sidebar.sidebar-collapsed {
    padding-left: 68px;
}
.scene-bg { display: none; }

/* ── Sidebar ──────────────────────────────────────────────── */
.app-sidebar {
    position: fixed;
    top: 0; left: 0; bottom: 0;
    width: 220px;
    background: var(--sidebar-bg);
    display: flex;
    flex-direction: column;
    z-index: 100;
    overflow: hidden;
    transition: width 0.22s ease;
}
body.sidebar-collapsed .app-sidebar { width: 68px; }
/* auto-collapse on narrower viewports */

/* Brand row */
.sidebar-brand-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 16px 18px;
    flex-shrink: 0;
}
.sidebar-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0;
    border: none;
    cursor: pointer;
    background: none;
}
.brand-icon {
    width: 34px;
    height: 34px;
    background: var(--primary);
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    position: relative;
}
.brand-icon::before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v18'/%3E%3Cpath d='M4 20h16'/%3E%3Cpath d='M4 8h16'/%3E%3Cpath d='M4 8l3 6H4a3 3 0 01-3-3 3 3 0 013-3z'/%3E%3Cpath d='M20 8l-3 6h3a3 3 0 003-3 3 3 0 00-3-3z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.brand-icon::after { display: none; }
.brand-text {
    font-size: 15px;
    font-weight: 700;
    color: #FFFFFF;
    letter-spacing: -0.2px;
    white-space: nowrap;
    transition: opacity 0.2s;
}
body.sidebar-collapsed .brand-text { display: none; }
body.sidebar-collapsed .sidebar-brand-row { justify-content: center; }

.sidebar-toggle {
    width: 30px;
    height: 30px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: var(--r-sm);
    background: rgba(255,255,255,0.06);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.2s;
}
.sidebar-toggle:hover { background: rgba(255,255,255,0.12); }

/* Heading hamburger toggle (main content area) */
.heading-menu-toggle {
    width: 32px;
    height: 32px;
    border: 1px solid var(--border);
    border-radius: var(--r-sm);
    background: var(--card);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.2s;
    margin-right: 8px;
}
.heading-menu-toggle:hover { background: var(--bg); }
.heading-toggle-bars,
.heading-toggle-bars::before,
.heading-toggle-bars::after {
    display: block;
    width: 14px;
    height: 2px;
    background: var(--text-sub);
    border-radius: 2px;
    position: relative;
}
.heading-toggle-bars { transition: background 0.2s; }
.heading-toggle-bars::before,
.heading-toggle-bars::after {
    content: '';
    position: absolute;
    left: 0;
}
.heading-toggle-bars::before { top: -4px; }
.heading-toggle-bars::after  { top:  4px; }
.sidebar-toggle-bars,
.sidebar-toggle-bars::before,
.sidebar-toggle-bars::after {
    display: block;
    width: 14px;
    height: 2px;
    background: rgba(255,255,255,0.7);
    border-radius: 2px;
    position: relative;
}
.sidebar-toggle-bars { transition: background 0.2s; }
.sidebar-toggle-bars::before,
.sidebar-toggle-bars::after {
    content: '';
    position: absolute;
    left: 0;
}
.sidebar-toggle-bars::before { top: -4px; }
.sidebar-toggle-bars::after  { top:  4px; }

/* Nav items */
.sidebar-nav {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 8px 12px;
    scrollbar-width: none;
}
.sidebar-nav::-webkit-scrollbar { display: none; }

.nav-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: var(--r-sm);
    color: var(--text-sidebar);
    font-size: 13.5px;
    font-weight: 500;
    white-space: nowrap;
    transition: background 0.18s, color 0.18s;
    position: relative;
}
.nav-item:hover {
    background: var(--sidebar-hover);
    color: #FFFFFF;
}
.nav-item.active,
.nav-item[aria-current="page"] {
    background: var(--sidebar-active);
    color: #FFFFFF;
}
.nav-text { transition: opacity 0.2s; }
body.sidebar-collapsed .nav-text { opacity: 0; pointer-events: none; }

/* Nav icons via data-nav-icon attribute */
.nav-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    position: relative;
}
.nav-ico::before {
    content: '';
    display: block;
}
/* icon shapes */
[data-nav-icon="dashboard"] .nav-ico::before { width:16px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23CBD5E1' stroke-width='2'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1'/%3E%3C/svg%3E") center/contain no-repeat; }
[data-nav-icon="jury"] .nav-ico::before      { width:16px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23CBD5E1' stroke-width='2'%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M2 21v-2a7 7 0 0114 0v2'/%3E%3Cpath d='M16 3.13a4 4 0 010 7.75'/%3E%3Cpath d='M22 21v-2a4 4 0 00-3-3.87'/%3E%3C/svg%3E") center/contain no-repeat; }
[data-nav-icon="questions"] .nav-ico::before { width:16px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23CBD5E1' stroke-width='2'%3E%3Cpath d='M8 9h8M8 13h5'/%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3C/svg%3E") center/contain no-repeat; }
[data-nav-icon="moments"] .nav-ico::before   { width:16px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23CBD5E1' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M3 7h2M19 7h2M3 17h2M19 17h2M7 3v2M17 3v2M7 19v2M17 19v2'/%3E%3C/svg%3E") center/contain no-repeat; }
[data-nav-icon="reports"] .nav-ico::before   { width:16px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23CBD5E1' stroke-width='2'%3E%3Cpath d='M9 20H7a2 2 0 01-2-2V6a2 2 0 012-2h7l5 5v11a2 2 0 01-2 2h-2'/%3E%3Cpath d='M9 20v-8h8'/%3E%3C/svg%3E") center/contain no-repeat; }
[data-nav-icon="insights"] .nav-ico::before  { width:16px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23CBD5E1' stroke-width='2'%3E%3Cpath d='M3 18l4-8 4 4 4-6 4 6'/%3E%3C/svg%3E") center/contain no-repeat; }
[data-nav-icon="settings"] .nav-ico::before  { width:16px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23CBD5E1' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M12 2v2M12 20v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M2 12h2M20 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42'/%3E%3C/svg%3E") center/contain no-repeat; }
[data-nav-icon="support"] .nav-ico::before   { width:16px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23CBD5E1' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M4.93 4.93l4.24 4.24M14.83 14.83l4.24 4.24M14.83 9.17l4.24-4.24M9.17 14.83l-4.24 4.24'/%3E%3C/svg%3E") center/contain no-repeat; }
[data-nav-icon="logout"] .nav-ico::before    { width:16px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23CBD5E1' stroke-width='2'%3E%3Cpath d='M9 21H5a2 2 0 01-2-2V5a2 2 0 012-2h4'/%3E%3Cpath d='M16 17l5-5-5-5'/%3E%3Cpath d='M21 12H9'/%3E%3C/svg%3E") center/contain no-repeat; }
[data-nav-icon="login"] .nav-ico::before     { width:16px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23CBD5E1' stroke-width='2'%3E%3Cpath d='M15 3h4a2 2 0 012 2v14a2 2 0 01-2 2h-4'/%3E%3Cpath d='M10 17l5-5-5-5'/%3E%3Cpath d='M15 12H3'/%3E%3C/svg%3E") center/contain no-repeat; }
[data-nav-icon="juror"] .nav-ico::before     { width:16px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23CBD5E1' stroke-width='2'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 20v-2a8 8 0 0116 0v2'/%3E%3C/svg%3E") center/contain no-repeat; }
[data-nav-icon="admin"] .nav-ico::before     { width:16px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23CBD5E1' stroke-width='2'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E") center/contain no-repeat; }

/* Active nav icon — white version just via filter */
.nav-item.active .nav-ico::before,
.nav-item[aria-current="page"] .nav-ico::before {
    filter: brightness(0) invert(1);
}

/* Sidebar footer */
.sidebar-footer {
    flex-shrink: 0;
    padding: 8px 12px 16px;
    border-top: 1px solid rgba(255,255,255,0.06);
}
.support-item { margin-bottom: 4px; }

.sidebar-user-card {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: var(--r-sm);
    background: rgba(255,255,255,0.05);
    margin-top: 4px;
    overflow: hidden;
    transition: background 0.18s;
}
.sidebar-user-card:hover { background: rgba(255,255,255,0.09); }
.user-avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--primary);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    letter-spacing: 0.3px;
}
.user-info { flex: 1; min-width: 0; transition: opacity 0.2s; }
.user-name {
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.user-role {
    color: var(--text-sidebar);
    font-size: 11px;
    white-space: nowrap;
}
body.sidebar-collapsed .user-info,
body.sidebar-collapsed .user-chevron { opacity: 0; pointer-events: none; }
.user-chevron {
    color: var(--text-sidebar);
    font-size: 18px;
    line-height: 1;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    transition: color 0.18s;
}
.user-chevron:hover { color: #fff; }

/* ── Top Nav (hidden on control-room, shown on other admin pages) */
.top-nav {
    position: sticky;
    top: 0;
    z-index: 50;
    background: var(--card);
    border-bottom: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 24px;
    height: 56px;
    box-shadow: var(--shadow-sm);
}
.top-nav .brand {
    font-size: 15px;
    font-weight: 700;
    color: var(--text);
}
.top-nav nav { display: flex; gap: 4px; align-items: center; }
.top-nav nav a {
    padding: 6px 12px;
    border-radius: var(--r-sm);
    font-size: 13px;
    color: var(--text-sub);
    font-weight: 500;
    transition: background 0.18s, color 0.18s;
}
.top-nav nav a:hover { background: var(--bg); color: var(--text); }

/* hide top-nav entirely on control room */
body.control-room-page .top-nav { display: none; }

/* ── Control Room ─────────────────────────────────────────── */
.control-room-shell {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* ── Control Header Strip ──────────────────────────────────── */
.control-header-strip {
    background: var(--card);
    border-bottom: 1px solid var(--border);
    padding: 14px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    box-shadow: var(--shadow-sm);
    position: sticky;
    top: 0;
    z-index: 40;
}
.header-left { flex: 1; min-width: 0; }
.title-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.title-row h1 {
    font-size: 18px;
    font-weight: 700;
    color: var(--text);
    line-height: 1.2;
    letter-spacing: -0.3px;
}
.live-pill {
    background: var(--success);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 9px;
    border-radius: 10px;
    letter-spacing: 0.6px;
    animation: livePulse 2s ease-in-out infinite;
}
@keyframes livePulse {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0.7; }
}
.meta-row {
    display: flex;
    gap: 20px;
    margin-top: 4px;
    flex-wrap: wrap;
    margin-left: 48px;
}
.case-meta {
    font-size: 13px;
    color: var(--text-sub);
}
.case-meta strong { color: var(--text); font-weight: 600; }
.meta-dot {
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--success);
    margin-left: 4px;
    vertical-align: middle;
}

/* Header right section */
.header-actions-box { flex-shrink: 0; }
.header-right {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.time-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1;
}
.time-block span {
    font-size: 10.5px;
    color: var(--text-muted);
    font-weight: 500;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    margin-bottom: 2px;
}
.time-block strong {
    font-size: 22px;
    font-weight: 700;
    color: var(--primary);
    letter-spacing: -0.5px;
    font-variant-numeric: tabular-nums;
}
/* Current time block slightly smaller */
.time-block:nth-child(2) strong {
    font-size: 18px;
    color: var(--text);
}
/* Session timer — large blue */
#statusTimer {
    font-size: 24px;
    font-weight: 700;
    color: var(--primary);
    font-variant-numeric: tabular-nums;
}

/* Header buttons */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-family: var(--font);
    font-weight: 500;
    border: none;
    cursor: pointer;
    transition: background 0.18s;
}
.header-right .btn { height: 36px; padding: 0 16px; font-size: 13px; }
#startSessionBtn    { background: var(--success); color: #fff; border-radius: var(--r-sm); }
#pauseSessionBtn    { background: var(--card); color: var(--text-sub); border: 1px solid var(--border); border-radius: var(--r-sm); }
#endSessionBtn      { background: var(--danger); color: #fff; border-radius: var(--r-sm); }
#startSessionBtn:hover  { background: #16A34A; }
#pauseSessionBtn:hover  { background: var(--bg); color: var(--text); }
#endSessionBtn:hover    { background: var(--danger-hover); }
.btn-end-icon { display: none; }

/* ── Control Layout Grid ─────────────────────────────────── */
.control-layout-grid {
    flex: 1;
    display: grid;
    grid-template-columns: 260px minmax(0,1fr) 280px;
    gap: 16px;
    padding: 16px 20px 20px;
    align-items: start;
    min-height: 0;
}

/* ── Shared Card ─────────────────────────────────────────── */
.display-panel {
    background: var(--card);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow);
    padding: 20px;
    border: 1px solid var(--border);
}
.display-panel h2 {
    font-size: 11px;
    font-weight: 600;
    color: var(--text-muted);
    letter-spacing: 0.8px;
    text-transform: uppercase;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.display-panel h4 {
    font-size: 11px;
    font-weight: 600;
    color: var(--text-muted);
    letter-spacing: 0.8px;
    text-transform: uppercase;
    margin-bottom: 10px;
}
.panel-icon { display: none; } /* suppressed — use heading text only */

/* ── Left Phase Panel ────────────────────────────────────── */
.phase-control-card {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* Phase title section */
.phase-header-section {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}
.phase-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--primary-light);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.phase-avatar::before {
    content: '';
    display: block;
    width: 22px;
    height: 22px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%232563EB' stroke-width='2'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 20v-2a8 8 0 0116 0v2'/%3E%3C/svg%3E") center/contain no-repeat;
}
#phaseTitle {
    font-size: 17px;
    font-weight: 700;
    color: var(--text);
    line-height: 1.3;
    letter-spacing: -0.2px;
}

/* Labels */
.question-label,
.question-type-label {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-bottom: 5px;
    margin-top: 14px;
}
#currentQuestionText {
    font-size: 15px;
    font-weight: 600;
    color: var(--text);
    line-height: 1.45;
    margin-bottom: 0;
}

/* Question type badge */
.question-type {
    display: flex;
    flex-direction: column;
    gap: 0;
}
#questionTypeLabel {
    display: inline-block;
    background: var(--primary-light);
    color: var(--primary);
    font-size: 12px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 10px;
    letter-spacing: 0.2px;
    margin-top: 5px;
}

/* Answer dots */
.answer-dots {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 12px;
    margin-bottom: 4px;
}
.answer-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--border);
    transition: background 0.2s;
}
.answer-dot.done { background: var(--success); }
.unanswered-jurors-notice { background:#fff7e8; border:1px solid #e5c98f; border-left:3px solid #c48c32; border-radius:7px; margin-top:11px; padding:10px; }
.unanswered-jurors-notice[hidden] { display:none; }
.unanswered-jurors-head { display:flex; flex-direction:column; gap:3px; }
.unanswered-jurors-head span { color:#9a733b; font-size:7px; font-weight:800; letter-spacing:1px; text-transform:uppercase; }
.unanswered-jurors-head strong { color:#173049; font-size:11px; }
.unanswered-jurors-list { display:flex; flex-wrap:wrap; gap:5px; margin-top:8px; max-height:116px; overflow:auto; }
.unanswered-jurors-list > span { align-items:center; background:#fff; border:1px solid #e4d7c2; border-radius:5px; color:#33475a; display:inline-flex; font-size:8px; gap:3px; padding:5px 6px; }
.unanswered-jurors-list > span b { color:#966b2c; }
.unanswered-jurors-list > span em { background:#eef0f2; border-radius:8px; color:#7b838c; font-size:6px; font-style:normal; font-weight:800; margin-left:2px; padding:2px 4px; text-transform:uppercase; }
.unanswered-jurors-list p { color:#437152; font-size:9px; margin:0; }
.unanswered-jurors-notice.all-answered { background:#edf8f0; border-color:#afd5ba; border-left-color:#4e9d65; }
.unanswered-jurors-notice.all-answered .unanswered-jurors-head span { color:#568666; }
.open-response-monitor { background:#f5efe4; border:1px solid #dfcfb6; border-left:3px solid #b58a47; border-radius:7px; display:flex; flex-direction:column; margin-top:13px; padding:10px 11px; }
.open-response-monitor[hidden] { display:none; }
.open-response-monitor > span { color:#9a733b; font-size:7px; font-weight:800; letter-spacing:1px; text-transform:uppercase; }
.open-response-monitor > strong { color:#173049; font-size:10px; margin-top:3px; }
.open-response-monitor > small { color:#7f8790; font-size:8px; margin-top:3px; }
.open-response-monitor > button { background:#173049; border:1px solid #173049; border-radius:5px; color:#fff; font-size:7px; font-weight:800; margin-top:9px; min-height:31px; padding:0 9px; text-transform:uppercase; }
.open-response-monitor > button:hover,.open-response-monitor > button:focus { background:#b58a47; border-color:#b58a47; outline:0; }
.open-response-monitor > button[hidden] { display:none; }

/* Nav buttons (prev/next question) */
.compact-nav-buttons {
    display: flex;
    gap: 8px;
    margin-top: 14px;
    margin-bottom: 6px;
}
.phase-nav-btn {
    flex: 1;
    height: 34px;
    border-radius: var(--r-sm);
    background: var(--bg);
    border: 1px solid var(--border);
    color: var(--text-sub);
    font-size: 12px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    transition: background 0.18s, border-color 0.18s;
}
.phase-nav-btn:hover { background: var(--border); color: var(--text); }

/* Action buttons */
.phase-action-btn {
    width: 100%;
    height: 42px;
    border-radius: var(--r-sm);
    font-size: 13px;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 0 14px;
    margin-top: 8px;
    transition: background 0.18s, border-color 0.18s, transform 0.12s;
}
.phase-action-btn:hover { transform: translateY(-1px); }
.phase-action-btn:active { transform: translateY(0); }

/* Blue filled — Push Lean */
.phase-action-btn.btn.blue,
#pushLeanBtn {
    background: var(--primary);
    color: #fff;
    border: none;
}
#pushLeanBtn:hover { background: var(--primary-hover); }

/* Outlined buttons */
.phase-action-btn.btn.subtle,
#pushCustomBtn, #captureMomentBtn, #previousPhaseBtn, #nextPhaseBtn, #resetResponsesBtn {
    background: var(--card);
    color: var(--text);
    border: 1px solid var(--border);
}
#pushCustomBtn:hover, #captureMomentBtn:hover, #previousPhaseBtn:hover,
#nextPhaseBtn:hover, #resetResponsesBtn:hover {
    background: var(--bg);
    border-color: #D1D5DB;
}

/* Next Phase — arrow on right */
#nextPhaseBtn .btn-label { flex: 1; }
#nextPhaseBtn .btn-icon::after {
    content: '›';
    font-size: 16px;
    line-height: 1;
    position: static;
}

/* Button inline icons (btn-icon pseudo-elements) */
.btn-icon { position: relative; display: inline-flex; align-items: center; }
.btn-icon.lean::before   { content: '↗'; font-size: 14px; }
.btn-icon.poll::before   { content: '🛡'; font-size: 13px; }
.btn-icon.custom::before { content: '✏'; font-size: 13px; }
.btn-icon.capture::before{ content: '📷'; font-size: 13px; }
.btn-icon.previous::before { content: '‹'; font-size: 16px; font-weight: 700; }
.btn-icon.next::before   { content: '›'; font-size: 16px; font-weight: 700; }
.btn-icon.reset::before  { content: '↺'; font-size: 15px; }
.btn-icon.nav-left::before  { content: '‹'; font-size: 16px; }
.btn-icon.nav-right::before { content: '›'; font-size: 16px; }
.btn-icon.start::before  { content: '▶'; font-size: 11px; }
.btn-icon.stop::before   { content: '■'; font-size: 11px; }
.view-capture-btn { background:#102b49; border:0; border-radius:4px; color:#fff; cursor:pointer; font-size:8px; font-weight:800; padding:4px 7px; text-transform:uppercase; }
.captured-screen-image { border:1px solid #d7d0c3; border-radius:7px; display:block; height:auto; margin-top:12px; max-width:100%; }
.capture-download-link { color:#8a672f; display:inline-block; font-size:12px; font-weight:700; text-decoration:none; }

/* ── Center Jury Card ────────────────────────────────────── */
.jury-main-card {
    padding: 20px;
}
.jury-main-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}
.jury-main-head h2 {
    font-size: 13px;
    font-weight: 700;
    color: var(--text);
    letter-spacing: 0.5px;
    text-transform: uppercase;
    margin-bottom: 0;
}
.seat-mode-switch {
    display: flex;
    gap: 0;
    border: 1px solid var(--border);
    border-radius: var(--r-sm);
    overflow: hidden;
}
.mini-btn {
    padding: 6px 14px;
    font-size: 12px;
    font-weight: 500;
    color: var(--text-sub);
    background: var(--card);
    border: none;
    cursor: pointer;
    transition: background 0.18s, color 0.18s;
}
.mini-btn.active {
    background: var(--primary);
    color: #fff;
}
.mini-btn:hover:not(.active) { background: var(--bg); }

/* ── Jury Seats ──────────────────────────────────────────── */
#jurySeats {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: stretch;
    margin-bottom: 12px;
}
.seat-row {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: nowrap;
    width: 100%;
}
.seat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    width: 72px;
    cursor: default;
    transition: transform 0.18s;
    position: relative;
}
.seat:hover { transform: translateY(-2px); }

/* Chair shape */
.seat-avatar {
    width: 80px;
    height: 80px;
    border-radius: 12px;
    background: var(--undecided);
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    overflow: visible;
    transition: background 0.25s;
}
/* person head */
.seat-avatar::before {
    content: '';
    position: absolute;
    top: 9px;
    width: 19px;
    height: 19px;
    border-radius: 50%;
    background: rgba(255,255,255,0.45);
}
/* person body */
.seat-avatar::after {
    content: '';
    position: absolute;
    bottom: 9px;
    width: 30px;
    height: 24px;
    border-radius: 6px 6px 0 0;
    background: rgba(255,255,255,0.28);
}

/* Lean state colors */
.seat.plaintiff .seat-avatar { background: var(--plaintiff); }
.seat.defense   .seat-avatar { background: #df7b43; }
.seat.undecided .seat-avatar { background: var(--undecided); }
.seat.strong-plaintiff .seat-avatar { background:#244fbf; }
.seat.strong-defense .seat-avatar { background:#c94e47; }
/* Five confidence intensities: 1 is palest and 5 is darkest. */
.seat.plaintiff.confidence-1 .seat-avatar,.seat.strong-plaintiff.confidence-1 .seat-avatar { background:#dbe7fb; }
.seat.plaintiff.confidence-2 .seat-avatar,.seat.strong-plaintiff.confidence-2 .seat-avatar { background:#acc5f3; }
.seat.plaintiff.confidence-3 .seat-avatar,.seat.strong-plaintiff.confidence-3 .seat-avatar { background:#779ce8; }
.seat.plaintiff.confidence-4 .seat-avatar,.seat.strong-plaintiff.confidence-4 .seat-avatar { background:#4f7ddd; }
.seat.plaintiff.confidence-5 .seat-avatar,.seat.strong-plaintiff.confidence-5 .seat-avatar { background:#244fbf; }
.seat.defense.confidence-1 .seat-avatar,.seat.strong-defense.confidence-1 .seat-avatar { background:#f8ded8; }
.seat.defense.confidence-2 .seat-avatar,.seat.strong-defense.confidence-2 .seat-avatar { background:#efb7aa; }
.seat.defense.confidence-3 .seat-avatar,.seat.strong-defense.confidence-3 .seat-avatar { background:#e38b75; }
.seat.defense.confidence-4 .seat-avatar,.seat.strong-defense.confidence-4 .seat-avatar { background:#d76550; }
.seat.defense.confidence-5 .seat-avatar,.seat.strong-defense.confidence-5 .seat-avatar { background:#b9433c; }
.seat.undecided.confidence-1 .seat-avatar { background:#e0e4e9; }
.seat.undecided.confidence-2 .seat-avatar { background:#c4cbd4; }
.seat.undecided.confidence-3 .seat-avatar { background:#a3adb9; }
.seat.undecided.confidence-4 .seat-avatar { background:#8995a5; }
.seat.undecided.confidence-5 .seat-avatar { background:#6d798a; }
.seat.disconnected .seat-avatar { opacity:1; outline:2px dashed rgba(87,99,112,.62); outline-offset:2px; }
.seat.connected .seat-avatar {
    outline:4px solid #35c56a;
    outline-offset:4px;
    box-shadow:0 0 0 7px rgba(53,197,106,.18),0 0 20px rgba(53,197,106,.5);
    animation:command-seat-online-pulse 1.8s ease-in-out infinite;
}
.seat-online-badge { display:inline-flex; align-items:center; gap:4px; margin-top:-2px; padding:2px 6px; border-radius:999px; background:#e6f8ec; color:#17753b; border:1px solid #8bd9a7; font-size:7px; font-weight:900; line-height:1.2; letter-spacing:.08em; }
.seat-online-badge i { width:6px; height:6px; border-radius:50%; background:#27b85a; box-shadow:0 0 0 3px rgba(39,184,90,.16); }
@keyframes command-seat-online-pulse {
    0%,100% { outline-color:#35c56a; box-shadow:0 0 0 6px rgba(53,197,106,.14),0 0 15px rgba(53,197,106,.38); }
    50% { outline-color:#68e391; box-shadow:0 0 0 10px rgba(53,197,106,.27),0 0 28px rgba(53,197,106,.7); }
}
@media (prefers-reduced-motion: reduce) { .seat.connected .seat-avatar { animation:none; } }
.seat-flipped-badge { position:absolute; top:49px; left:50%; transform:translateX(-50%) rotate(-7deg); z-index:3; padding:3px 7px; border:1px solid rgba(255,255,255,.72); border-radius:4px; background:#10243d; color:#e3bd69; box-shadow:0 2px 7px rgba(10,25,45,.3); font-size:8px; font-weight:800; line-height:1; letter-spacing:.08em; }

/* Juror invitations */
.invitation-workspace { max-width:1680px; margin:0 auto; padding:46px 48px 80px; }
.invitation-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; padding:36px 42px; border:1px solid rgba(211,174,104,.48); border-radius:15px; background:linear-gradient(120deg,#081625,#122b47); color:#fff; box-shadow:0 20px 42px rgba(18,35,56,.16); }
.invitation-hero p,.invitation-panel-head p { margin:0 0 7px; color:#d5aa5f; font-size:10px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }
.invitation-hero h1 { margin:0 0 9px; font:400 42px/1.1 Georgia,serif; }
.invitation-hero > div > span { color:#b7c1ce; font-size:14px; }
.invitation-hero label { min-width:300px; color:#d5aa5f; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.invitation-hero select { display:block; width:100%; margin-top:8px; padding:14px 42px 14px 14px; border:1px solid rgba(213,174,105,.5); border-radius:7px; background:#fff; color:#172538; font:600 14px Inter,sans-serif; }
.invitation-link-card { display:flex; align-items:center; justify-content:space-between; gap:25px; margin:28px 0; padding:24px 28px; border:1px solid #ddcfb9; border-left:5px solid #b8904f; border-radius:11px; background:#fffdf9; box-shadow:0 10px 28px rgba(29,43,59,.08); }
.invitation-link-card small { display:block; color:#a27a3c; font-size:9px; font-weight:800; letter-spacing:.18em; }
.invitation-link-card strong { display:block; margin-top:5px; color:#172538; font:400 23px Georgia,serif; }
.invitation-link-card p { max-width:900px; margin:7px 0 0; color:#6b7684; font-size:12px; overflow-wrap:anywhere; }
.invitation-link-card button,.invitation-panel-head button,.send-invitation-btn { border:0; border-radius:6px; background:#10243d; color:#fff; cursor:pointer; font-weight:800; }
.invitation-link-card button { min-width:130px; padding:14px 20px; }
.invitation-panel { padding:30px; border:1px solid #ddd1bf; border-radius:14px; background:#fffdf9; box-shadow:0 15px 38px rgba(28,41,56,.09); }
.invitation-panel-head { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-bottom:22px; border-bottom:1px solid #e7dfd3; }
.invitation-panel-head h2 { margin:0 0 5px; color:#142438; font:400 29px Georgia,serif; }
.invitation-panel-head span { color:#7b8490; font-size:12px; }
.invitation-panel-head button { padding:14px 20px; background:#b48a48; }
.invitation-list { display:flex; flex-direction:column; gap:9px; margin-top:20px; }
.invitation-row { display:grid; grid-template-columns:48px minmax(145px,1fr) minmax(260px,2fr) 135px 110px; align-items:center; gap:16px; padding:15px 17px; border:1px solid #e3d9ca; border-radius:9px; background:#fff; }
.invitation-seat { display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:6px; background:#10243d; color:#e3bd69; font:700 12px Georgia,serif; }
.invitation-juror small,.invitation-row label span { display:block; margin-bottom:4px; color:#9299a3; font-size:8px; font-weight:800; letter-spacing:.1em; }
.invitation-juror strong { color:#263548; font-size:13px; }
.invitation-row input { box-sizing:border-box; width:100%; padding:11px 12px; border:1px solid #d8d1c7; border-radius:6px; color:#172538; font-size:13px; }
.invitation-row input:focus { border-color:#b28b4d; outline:3px solid rgba(178,139,77,.13); }
.invitation-status strong,.invitation-status small { display:block; }
.invitation-status strong { color:#7d8793; font-size:11px; }
.invitation-status small { margin-top:4px; color:#9ba2aa; font-size:8px; }
.invitation-status.sent strong { color:#23864a; }.invitation-status.failed strong { color:#b94a43; }.invitation-status.sending strong { color:#a0793b; }
.send-invitation-btn { padding:12px 14px; font-size:11px; }.send-invitation-btn:disabled,.invitation-panel-head button:disabled { opacity:.55; cursor:wait; }
.invitation-empty { margin-top:28px; padding:50px; border:1px solid #ddd1bf; border-radius:12px; background:#fff; text-align:center; color:#6f7986; }
.invitation-toast { position:fixed; right:28px; bottom:28px; z-index:2000; transform:translateY(20px); opacity:0; pointer-events:none; padding:14px 18px; border-radius:7px; background:#173d2a; color:#fff; box-shadow:0 12px 30px rgba(0,0,0,.24); font-size:12px; font-weight:700; transition:.2s; }.invitation-toast.show { transform:none; opacity:1; }.invitation-toast.error { background:#893b36; }
@media (max-width:1000px) { .invitation-workspace{padding:25px 20px 60px}.invitation-hero{align-items:stretch;flex-direction:column}.invitation-hero label{min-width:0}.invitation-row{grid-template-columns:48px 1fr 120px}.invitation-row label{grid-column:2 / 4}.invitation-status{grid-column:2}.send-invitation-btn{grid-column:3}.invitation-link-card{align-items:stretch;flex-direction:column}.invitation-link-card button{align-self:flex-start} }
@media (max-width:600px) { .invitation-hero{padding:28px 24px}.invitation-hero h1{font-size:34px}.invitation-panel{padding:20px 14px}.invitation-panel-head{align-items:stretch;flex-direction:column}.invitation-row{grid-template-columns:42px 1fr}.invitation-row label,.invitation-status,.send-invitation-btn{grid-column:1 / 3}.send-invitation-btn{width:100%} }
.managed-email-status { display:block; width:max-content; margin-top:9px; padding:5px 9px; border-radius:20px; font-style:normal; font-size:9px; font-weight:800; letter-spacing:.04em; }
.managed-email-status.ready { background:#e9f6ed; color:#287248; }.managed-email-status.unavailable { background:#f7e9e7; color:#9a423b; }

/* DLS shared system email */
.system-email-workspace { max-width:1540px; margin:0 auto; padding:46px 48px 90px; }
.system-email-hero { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:38px 42px; border:1px solid rgba(211,174,104,.48); border-radius:15px; background:linear-gradient(120deg,#081625,#142d49); color:#fff; box-shadow:0 20px 42px rgba(18,35,56,.16); }
.system-email-hero p,.system-email-card header p { margin:0 0 7px; color:#d5aa5f; font-size:10px; font-weight:800; letter-spacing:.2em; }
.system-email-hero h1 { margin:0 0 9px; font:400 42px/1.1 Georgia,serif; }.system-email-hero > div > span { color:#b7c1ce; font-size:14px; }
.email-security-badge { display:flex; align-items:center; gap:13px; min-width:230px; padding:17px 19px; border:1px solid rgba(213,174,105,.45); border-radius:9px; background:rgba(255,255,255,.06); }
.email-security-badge b { font-size:22px; }.email-security-badge span { color:#fff; font-size:12px; font-weight:700; }.email-security-badge small { display:block; margin-bottom:4px; color:#d5aa5f; font-size:8px; letter-spacing:.17em; }
.system-email-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr); gap:24px; margin-top:28px; }
.system-email-card { padding:29px 30px; border:1px solid #ddd1bf; border-radius:14px; background:#fffdf9; box-shadow:0 14px 34px rgba(28,41,56,.08); }
.system-email-card > header { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; padding-bottom:17px; border-bottom:1px solid #e7dfd3; }
.system-email-card h2 { margin:0; color:#142438; font:400 27px Georgia,serif; }
.email-enable { display:flex; align-items:center; gap:9px; color:#314157; font-size:12px; font-weight:700; }.email-enable input { width:18px; height:18px; accent-color:#ae8749; }
.email-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.email-form-grid.single { grid-template-columns:1fr; }.email-form-grid .wide { grid-column:1/-1; }
.system-email-card label > span { display:block; margin-bottom:7px; color:#5c6879; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.system-email-card input,.system-email-card select { box-sizing:border-box; width:100%; min-height:48px; padding:12px 13px; border:1px solid #d8d0c4; border-radius:7px; background:#fff; color:#172538; font:500 13px Inter,sans-serif; }
.system-email-card input:focus,.system-email-card select:focus { border-color:#b28b4d; outline:3px solid rgba(178,139,77,.13); }.system-email-card label small { display:block; margin-top:6px; color:#8a929c; font-size:9px; line-height:1.45; }
.email-secret-field { display:flex; }.email-secret-field input { border-radius:7px 0 0 7px; }.email-secret-field button { min-width:76px; border:1px solid #d8d0c4; border-left:0; border-radius:0 7px 7px 0; background:#f3efe8; color:#674e29; cursor:pointer; font-weight:800; }
.system-email-actions { display:flex; align-items:center; gap:18px; margin-top:25px; }.system-email-actions button,.email-test-card button { border:0; border-radius:7px; background:#10243d; color:#fff; cursor:pointer; padding:14px 19px; font-weight:800; }.system-email-actions button b { margin-left:25px; color:#d9b66f; }
.system-email-actions span { color:#8b929d; font-size:11px; font-weight:700; }.system-email-actions span.ready { color:#287248; }.system-email-actions span.not-ready { color:#9a423b; }
.email-test-card > label { display:block; }.email-test-card button { width:100%; margin-top:14px; background:#b48a48; }.email-test-card > p { margin:14px 0 0; color:#7c8591; font-size:10px; line-height:1.6; }
.system-email-card button:disabled { opacity:.55; cursor:wait; }
@media (max-width:980px) { .system-email-workspace{padding:25px 20px 70px}.system-email-layout{grid-template-columns:1fr}.system-email-hero{align-items:stretch;flex-direction:column}.email-security-badge{min-width:0;width:max-content;max-width:100%} }
@media (max-width:600px) { .system-email-hero{padding:28px 24px}.system-email-hero h1{font-size:34px}.system-email-card{padding:24px 19px}.email-form-grid{grid-template-columns:1fr}.email-form-grid .wide{grid-column:auto}.system-email-card > header,.system-email-actions{align-items:flex-start;flex-direction:column}.system-email-actions button{width:100%} }

/* Reports */
.reports-workspace { max-width:1720px; margin:0 auto; padding:46px 48px 80px; }
.reports-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; padding:35px 42px; border:1px solid rgba(211,174,104,.5); border-radius:15px; background:linear-gradient(120deg,#081625,#122b47); color:#fff; box-shadow:0 20px 42px rgba(18,35,56,.16); }
.reports-hero p { margin:0 0 7px; color:#d5aa5f; font-size:10px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }
.reports-hero h1 { margin:0 0 9px; font:400 42px/1.1 Georgia,serif; }.reports-hero > div > span { color:#b7c1ce; font-size:14px; }
.reports-controls { display:flex; align-items:flex-end; gap:10px; }.reports-controls label { min-width:270px; color:#d5aa5f; font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.reports-controls select { display:block; width:100%; margin-top:7px; padding:13px 38px 13px 13px; border:1px solid rgba(213,174,105,.5); border-radius:6px; background:#fff; color:#172538; font-weight:600; }.reports-controls button { padding:14px 18px; border:1px solid #d7b36f; border-radius:6px; background:#b68b48; color:#fff; cursor:pointer; font-weight:800; }
.report-document { margin-top:28px; padding:38px; border:1px solid #dcd0bd; border-radius:14px; background:#fffdf9; box-shadow:0 16px 40px rgba(27,42,60,.1); }
.report-title-block { display:flex; align-items:flex-start; justify-content:space-between; gap:30px; padding-bottom:26px; border-bottom:2px solid #b89251; }.report-title-block small { color:#a27b3e; font-size:9px; font-weight:800; letter-spacing:.2em; }.report-title-block h2 { margin:7px 0 4px; color:#142438; font:400 32px Georgia,serif; }.report-title-block p { margin:0; color:#6f7985; font-size:15px; }.report-title-block > div:last-child { display:grid; grid-template-columns:auto auto; gap:3px 12px; text-align:right; }.report-title-block > div:last-child strong { color:#142438; font:400 22px Georgia,serif; }.report-title-block > div:last-child span { align-self:center; color:#89919b; font-size:9px; font-weight:700; text-transform:uppercase; }
.report-toolbar { display:flex; align-items:flex-end; justify-content:flex-end; gap:8px; margin:20px 0; }.report-toolbar label { margin-right:auto; color:#727d89; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }.report-toolbar input { display:block; width:280px; margin-top:5px; padding:10px 12px; border:1px solid #d8d1c6; border-radius:6px; }.report-toolbar button { padding:10px 13px; border:1px solid #d7cec0; border-radius:6px; background:#fff; color:#455367; cursor:pointer; font-size:10px; font-weight:700; }
.juror-report-list { display:flex; flex-direction:column; gap:12px; }.juror-report-card { border:1px solid #ded5c8; border-radius:10px; background:#fff; overflow:hidden; }.juror-report-toggle { display:grid; grid-template-columns:48px 1fr auto 20px; align-items:center; gap:15px; width:100%; padding:16px 18px; border:0; background:#fbf8f3; color:#172538; cursor:pointer; text-align:left; }.report-seat-number { display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:6px; background:#10243d; color:#e3bd69; font:700 12px Georgia,serif; }.juror-report-toggle > span:nth-child(2) small,.report-answer-progress small { display:block; color:#9299a2; font-size:8px; font-weight:800; letter-spacing:.1em; }.juror-report-toggle > span:nth-child(2) strong { display:block; margin-top:3px; font-size:14px; }.report-answer-progress { text-align:right; }.report-answer-progress b { display:block; color:#a17a3e; font-size:13px; }.juror-report-toggle > i { color:#8b7554; font-size:18px; font-style:normal; transition:transform .2s; }.juror-report-card.expanded .juror-report-toggle > i { transform:rotate(180deg); }
.juror-report-body { display:none; padding:25px 28px 30px; }.juror-report-card.expanded .juror-report-body { display:block; }.juror-report-body h3 { margin:0 0 13px; color:#8c6c3a; font-size:10px; letter-spacing:.16em; text-transform:uppercase; }.report-profile-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:26px; }.report-profile-grid > div { padding:12px 14px; border:1px solid #e4ddd2; border-radius:7px; background:#fcfaf7; }.report-profile-grid span,.report-profile-grid strong { display:block; }.report-profile-grid span { margin-bottom:5px; color:#8b949e; font-size:8px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.report-profile-grid strong { color:#253447; font-size:12px; overflow-wrap:anywhere; }
.report-table-wrap { overflow-x:auto; }.report-answer-section table { width:100%; border-collapse:collapse; table-layout:fixed; }.report-answer-section th { padding:9px 10px; border-bottom:1px solid #d9d0c4; color:#818b96; font-size:8px; letter-spacing:.08em; text-align:left; text-transform:uppercase; }.report-answer-section td { padding:11px 10px; border-bottom:1px solid #ece6dd; color:#536174; font-size:10px; vertical-align:top; overflow-wrap:anywhere; }.report-answer-section th:nth-child(1){width:15%}.report-answer-section th:nth-child(2){width:30%}.report-answer-section td small { display:block; margin-top:4px; color:#9aa1aa; font-size:8px; }.report-answer-section tr.unanswered td { color:#a1a7ae; background:#fcfbf9; }.report-alignment { display:inline-block; padding:3px 7px; border-radius:999px; background:#edf0f3; color:#6d7785; font-size:8px; font-weight:800; text-transform:uppercase; }.report-alignment.plaintiff { background:#e8efff;color:#315dbf }.report-alignment.defense { background:#fdebe8;color:#b54a40 }.report-alignment.undecided { background:#edf0f3;color:#687483 }.open-response-report { margin-top:28px; }.report-footer { margin-top:28px; padding-top:14px; border-top:1px solid #e0d8cc; color:#9aa0a8; font-size:9px; text-align:center; }.report-empty { margin-top:28px; padding:50px; border:1px solid #ddd1bf; border-radius:12px; background:#fff; color:#6f7986; text-align:center; }
@media (max-width:900px){.reports-workspace{padding:25px 20px 60px}.reports-hero{align-items:stretch;flex-direction:column}.reports-controls{align-items:stretch;flex-direction:column}.reports-controls label{min-width:0}.report-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-document{padding:25px 18px}}
@media (max-width:600px){.reports-hero{padding:28px 24px}.reports-hero h1{font-size:34px}.report-title-block{flex-direction:column}.report-toolbar{align-items:stretch;flex-direction:column}.report-toolbar input{box-sizing:border-box;width:100%}.juror-report-toggle{grid-template-columns:42px 1fr 18px}.report-answer-progress{display:none}.report-profile-grid{grid-template-columns:1fr}.juror-report-body{padding:20px 14px}.report-answer-section table{min-width:820px}}
@media print {
    body.reports-page { background:#fff !important; }.reports-page .app-sidebar,.reports-page .top-nav,.reports-page .scene-bg,.reports-page .no-print { display:none !important; }.reports-page.has-left-sidebar main { margin-left:0 !important; }.reports-workspace { max-width:none; padding:0; }.report-document { margin:0; padding:0; border:0; box-shadow:none; }.juror-report-card { break-before:auto; break-inside:avoid; border-color:#bfbfbf; }.juror-report-card + .juror-report-card { break-before:page; }.juror-report-toggle { padding:12px; }.juror-report-toggle > i { display:none; }.juror-report-body,.juror-report-card .juror-report-body { display:block !important; padding:16px; }.report-profile-grid { grid-template-columns:repeat(3,1fr); margin-bottom:18px; }.report-answer-section table { font-size:9px; }.report-answer-section td,.report-answer-section th { padding:7px; }.report-footer { display:block; }
}

/* Seat label */
.seat-num {
    font-size: 10px;
    font-weight: 700;
    color: var(--text-sub);
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--bg);
    border: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.seat-name { display: none; }
.seat-lean { display: none; }   /* hidden — color communicates lean */

/* Flash animation */
@keyframes seatFlash {
    0%   { opacity: 1; }
    50%  { opacity: 0.4; }
    100% { opacity: 1; }
}
.seat.flash .seat-avatar { animation: seatFlash 0.6s ease; }

/* Seat legend */
.seat-legend-row {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px 16px;
    margin-bottom: 14px;
}
.seat-legend-row span {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 11.5px;
    color: var(--text-sub);
    font-weight: 500;
}
.dot {
    display: inline-block;
    width: 9px; height: 9px;
    border-radius: 50%;
}
.dot.d1 { background: var(--plaintiff-dark); }
.dot.d2 { background: var(--plaintiff); }
.dot.d3 { background: var(--undecided); }
.dot.d4 { background: var(--defense); }
.dot.d5 { background: var(--defense-dark); }

/* Lean totals strip */
.lean-totals.monitor-counter-strip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border: 1px solid var(--border);
    border-radius: var(--r-sm);
    padding: 8px 12px;
    margin-bottom: 16px;
}
.lean-counts-left {
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: 8px;
    min-width: 0;
    flex: 1;
    flex-wrap: wrap;
}
.lean-totals span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.2px;
    text-transform: uppercase;
    min-width: 0;
    white-space: nowrap;
}
.lean-counts-left > span { flex: 0 0 auto; }
.lean-totals span b {
    font-size: 12px;
    line-height: 1;
    font-weight: 800;
    flex-shrink: 0;
}
.lean-totals .label {
    white-space: nowrap;
    font-size: 9px;
}
.lean-totals .dot {
    display: none;
    width: 8px; height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}
.lean-totals .plaintiff { color: var(--plaintiff); }
.lean-totals .defense   { color: var(--defense-dark); }
.lean-totals .undecided { color: var(--text-muted); }
.lean-totals .total-label { color: var(--text); }
.lean-totals .total-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding-left: 10px;
}
.lean-totals .d1 { background: #3B82F6; }
.lean-totals .d5 { background: #EF4444; }
.lean-totals .d3 { background: #9CA3AF; }

/* Jury list view */
.jury-list-view {
    margin-bottom: 12px;
}
.jury-list-view.hidden { display: none; }
.jury-list-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}
.jury-list-table th {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--text-muted);
    padding: 6px 8px;
    border-bottom: 1px solid var(--border);
    text-align: left;
}
.jury-list-table td {
    padding: 7px 8px;
    border-bottom: 1px solid var(--border);
    color: var(--text);
}
.jury-list-table tr:last-child td { border-bottom: none; }
.lean-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 600;
}
.lean-badge.plaintiff { background: #EFF6FF; color: var(--primary); }
.lean-badge.defense   { background: #FEF2F2; color: var(--danger); }
.lean-badge.undecided { background: var(--bg); color: var(--text-muted); }
.status-dot {
    display: inline-block;
    width: 8px; height: 8px;
    border-radius: 50%;
}
.status-dot.connected { background: var(--success); }
.status-dot.disconnected { background: var(--border); }

/* ── Bottom panels grid ──────────────────────────────────── */
.center-bottom-grid {
    display: grid;
    grid-template-columns: 1fr 1.3fr;
    gap: 10px;
    align-items: start;
}
.moment-movement-stack {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.mini-panel {
    background: var(--card);
    border-radius: var(--r);
    border: 1px solid var(--border);
    padding: 12px 14px;
    box-shadow: var(--shadow-sm);
    overflow: hidden;
}
.mini-panel h4 {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: var(--text-muted);
    margin-bottom: 8px;
}

/* Phase timeline - vertical indicator style */
#phaseTimeline {
    position: relative;
    padding: 2px 0;
}
#phaseTimeline::before {
    content: '';
    position: absolute;
    left: 6px;
    top: 14px;
    bottom: 14px;
    width: 2px;
    background: var(--border);
}

/* Phase items */
.phase-item {
    position: relative;
    margin-bottom: 2px;
}
.phase-item-head {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 5px 6px 5px 22px;
    cursor: pointer;
    border-radius: var(--r-sm);
    transition: background 0.15s;
    font-size: 12px;
    font-weight: 600;
    color: var(--text);
    position: relative;
}
.phase-item-head:hover { background: var(--bg); }
.phase-item-dot {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
}
.phase-item-name {
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.phase-item.active .phase-item-name { color: var(--primary); }
.phase-item.completed .phase-item-name { color: var(--success, #22C55E); }
.live-badge-sm {
    font-size: 9px;
    font-weight: 700;
    background: var(--primary);
    color: #fff;
    padding: 2px 5px;
    border-radius: var(--r-sm);
    white-space: nowrap;
    letter-spacing: 0.3px;
    flex-shrink: 0;
}
.phase-item-questions { display: none; padding: 0 0 4px 22px; }
.phase-item.open .phase-item-questions { display: block; }
.phase-q-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 6px;
    font-size: 11px;
    color: var(--text-sub);
    border-radius: var(--r-sm);
    cursor: pointer;
    transition: background 0.15s;
    margin-bottom: 1px;
}
.phase-q-item:hover { background: var(--bg); }
.phase-q-item.live {
    background: var(--primary-light, #EFF6FF);
    color: var(--primary);
    font-weight: 600;
}
.phase-q-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--border);
    flex-shrink: 0;
}
.phase-q-item.live .phase-q-dot { background: var(--primary); }
.phase-q-text {
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Moment history - phase-based table */
.captured-mini-log { font-size: 11px; }
.moment-row {
    display: grid;
    grid-template-columns: 1fr 52px 24px 24px 24px;
    align-items: center;
    gap: 4px;
    padding: 6px 0;
    border-bottom: 1px solid var(--border);
    font-size: 11px;
}
.moment-row:last-child { border-bottom: none; }
.moment-row.live .moment-phase-name { color: var(--primary); font-weight: 700; }
.moment-phase-name {
    font-weight: 600;
    color: var(--text);
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.moment-time-cell {
    text-align: center;
    font-size: 10px;
    color: var(--text-muted);
    white-space: nowrap;
}
.moment-time-txt { font-size: 10px; color: var(--text-muted); }
.moment-pdu { text-align: center; font-size: 11px; color: var(--text-sub); }
.moment-dash { color: var(--border); }
.clr-p { color: #2563EB; }
.clr-d { color: #EF4444; }
.clr-u { color: var(--text-muted); }

/* Movement tracker entries */
#movementTracker { font-size: 12px; color: var(--text-sub); }
.movement-entry {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 5px 0;
    border-bottom: 1px solid var(--border);
    font-size: 11.5px;
}
.movement-entry:last-child { border-bottom: none; }
.movement-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}
.movement-juror {
    font-weight: 600;
    color: var(--text);
    white-space: nowrap;
    flex-shrink: 0;
    min-width: 50px;
}
.movement-arrow {
    color: var(--text-sub);
    font-size: 11px;
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.movement-time {
    color: var(--text-muted);
    font-size: 10px;
    margin-left: auto;
    white-space: nowrap;
    flex-shrink: 0;
}

/* ── Right Analytics Col ─────────────────────────────────── */
.right-insights-col {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.live-lean-card,
.live-bars-box,
.verdict-card,
.results-box {
    padding: 16px 18px;
}

.lean-subtext {
    margin: 2px 0 10px;
    font-size: 12px;
    color: var(--text-muted);
    font-weight: 500;
}

/* Live Jury Lean - 5 rows */
.lean-rows-grid {
    display: flex;
    flex-direction: column;
    gap: 7px;
    padding: 2px 0;
}
.lean-row {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 24px;
}
.lean-row-label {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-sub);
    width: 92px;
    flex-shrink: 0;
    text-align: left;
    line-height: 1.2;
}
.lean-row-label.arrow {
    font-size: 18px;
    font-weight: 700;
    color: #6B7280;
    letter-spacing: 0;
    width: 92px;
}
.lean-row-dots {
    display: flex;
    flex:1;
    flex-wrap: wrap;
    gap: 5px;
    align-items: center;
}
.lean-dot {
    align-items:center;
    color:#fff;
    display:inline-flex;
    font-size:7px;
    font-weight:800;
    height:19px;
    justify-content:center;
    width:19px;
    border-radius: 50%;
    display: inline-block;
    flex-shrink: 0;
    box-shadow: inset 0 -1px 1px rgba(0,0,0,0.15), 0 1px 2px rgba(0,0,0,0.08);
}

/* Lean Summary bars */
.lean-bar-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}
.lean-bar-row:last-child { margin-bottom: 0; }
.lean-bar-key {
    font-size: 11px;
    font-weight: 600;
    color: var(--text);
    min-width: 64px;
    white-space: nowrap;
}
.lean-bar-track {
    flex: 1;
    height: 8px;
    background: var(--bg);
    border-radius: 10px;
    overflow: hidden;
    position: relative;
}
.lean-bar-fill {
    height: 100%;
    border-radius: 10px;
    transition: width 0.4s ease;
    min-width: 3px;
}
.lean-bar-label { display: none; }
.lean-bar-row .value {
    min-width: 18px;
    text-align: right;
    font-size: 13px;
    font-weight: 700;
    color: var(--text);
}
.lean-bar-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0 0;
    border-top: 1px solid var(--border);
    margin-top: 8px;
    font-size: 11px;
    font-weight: 600;
    color: var(--text-sub);
}
.lean-bar-total .value {
    font-size: 13px;
    font-weight: 700;
    color: var(--text);
}

/* Verdict Projection gauges */
.gauge-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 12px;
}
.gauge-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 14px 8px 10px;
    background: var(--bg);
    border-radius: var(--r);
    border: 1px solid var(--border);
}
.gauge-label {
    font-size: 11px;
    font-weight: 600;
    color: var(--text-sub);
    text-align: center;
}
.gauge-value {
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -1px;
    font-variant-numeric: tabular-nums;
}
.plaintiff-gauge .gauge-value { color: var(--primary); }
.defense-gauge   .gauge-value { color: var(--danger); }

/* Circular arc on gauges */
.gauge-card {
    position: relative;
}
.gauge-arc {
    width: 70px;
    height: 70px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}
.gauge-arc svg { position: absolute; top: 0; left: 0; }
.gauge-arc-value {
    font-size: 18px;
    font-weight: 800;
    z-index: 1;
    position: relative;
}

/* Projected verdict banner */
.projected-verdict {
    text-align: center;
    padding: 8px 12px;
    border-radius: var(--r-sm);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.3px;
    background: #ECFDF5;
    color: #15803D;
    border: 1px solid #BBF7D0;
}
.projected-verdict.defense {
    background: #FEF2F2;
    color: #B91C1C;
    border-color: #FECACA;
}
.projected-verdict.tossup {
    background: var(--bg);
    color: var(--text-sub);
    border-color: var(--border);
}

/* Phase results */
.phase-result-row {
    margin-bottom: 8px;
}
.phase-result-name {
    font-size: 11.5px;
    font-weight: 600;
    color: var(--text);
    margin-bottom: 3px;
}
.phase-result-bar {
    height: 8px;
    border-radius: 4px;
    overflow: hidden;
    display: flex;
    background: var(--bg);
}
.phase-result-seg {
    height: 100%;
    transition: width 0.4s;
}
.phase-result-seg.plaintiff { background: var(--plaintiff); }
.phase-result-seg.defense   { background: var(--danger); }
.phase-result-seg.undecided { background: var(--undecided); }

/* ── Command Dock ────────────────────────────────────────── */
.command-dock {
    display: flex;
    gap: 10px;
    padding: 12px 20px 16px;
    background: var(--card);
    border-top: 1px solid var(--border);
    margin-top: 0;
}
.dock-btn {
    flex: 1;
    height: 42px;
    border-radius: var(--r-sm);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    transition: background 0.18s, transform 0.12s;
    border: 1px solid var(--border);
    background: var(--card);
    color: var(--text);
    white-space: nowrap;
    padding: 0 10px;
}
.dock-btn:hover { transform: translateY(-1px); }
.dock-btn:active { transform: translateY(0); }
.dock-btn.blue  { background: var(--primary); color: #fff; border-color: transparent; }
.dock-btn.blue:hover { background: var(--primary-hover); }
.dock-btn.next  { background: var(--primary); color: #fff; border-color: transparent; flex: 1.5; }
.dock-btn.next:hover { background: var(--primary-hover); }
.dock-btn.steel:hover  { background: var(--bg); }
.dock-btn.bronze:hover { background: var(--bg); }
.dock-btn.amber:hover  { background: var(--bg); }

/* ── Modal ───────────────────────────────────────────────── */
.modal {
    position: fixed; inset: 0;
    background: rgba(0,0,0,0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 999;
    backdrop-filter: blur(3px);
}
.modal.hidden { display: none; }
.modal-body {
    background: var(--card);
    border-radius: var(--r-lg);
    padding: 28px;
    width: 420px;
    max-width: 95vw;
    box-shadow: var(--shadow-md);
}
.modal-body h3 {
    font-size: 17px;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 16px;
}
.modal-body label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: var(--text-sub);
    margin-bottom: 5px;
    margin-top: 12px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}
.modal-body textarea,
.modal-body input[type="text"] {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: var(--r-sm);
    font-size: 14px;
    color: var(--text);
    background: var(--bg);
    resize: vertical;
    transition: border-color 0.18s;
}
.modal-body textarea:focus,
.modal-body input[type="text"]:focus {
    outline: none;
    border-color: var(--primary);
    background: var(--card);
}
.inline-buttons {
    display: flex;
    gap: 8px;
    margin-top: 16px;
}
.inline-buttons .btn {
    flex: 1;
    height: 38px;
    border-radius: var(--r-sm);
    font-size: 13px;
    font-weight: 600;
}
.btn.blue    { background: var(--primary); color: #fff; }
.btn.blue:hover { background: var(--primary-hover); }
.btn.subtle  { background: var(--bg); color: var(--text-sub); border: 1px solid var(--border); }
.btn.subtle:hover { background: var(--border); color: var(--text); }
.btn.danger  { background: var(--danger); color: #fff; }
.btn.danger:hover { background: var(--danger-hover); }

/* ── Auth Page ───────────────────────────────────────────── */
body.auth-page {
    background: #07111f;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    overflow-x: hidden;
}
.movement-flipped { flex-shrink:0; padding:2px 5px; border-radius:4px; background:#10243d; color:#e3bd69; font-size:8px; font-weight:800; letter-spacing:.06em; }
.lean-row-count { color:#33475b; font-size:10px; min-width:14px; text-align:right; }
.lean-none { color:#c4c9cf; font-size:12px; }
body.auth-page .app-sidebar,
body.auth-page .top-nav { display: none; }
body.auth-page .scene-bg {
    display: block;
    position: fixed;
    inset: 0;
    background:
        radial-gradient(circle at 15% 12%, rgba(183, 142, 72, 0.13), transparent 27%),
        radial-gradient(circle at 88% 82%, rgba(40, 72, 105, 0.24), transparent 32%),
        linear-gradient(135deg, #07111f 0%, #0b1b2e 52%, #06101c 100%);
    pointer-events: none;
}
body.auth-page .page-wrap {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 100vh;
    padding: 36px;
    position: relative;
    width: 100%;
    z-index: 1;
}

.auth-stage {
    background: #f7f3eb;
    border: 1px solid rgba(205, 168, 98, 0.34);
    border-radius: 20px;
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.48), 0 0 0 1px rgba(255, 255, 255, 0.04);
    display: grid;
    grid-template-columns: minmax(330px, 0.9fr) minmax(420px, 1.1fr);
    max-width: 940px;
    min-height: 590px;
    overflow: hidden;
    width: 100%;
}

.courtroom-panel {
    align-items: center;
    background:
        linear-gradient(rgba(6, 17, 31, 0.86), rgba(6, 17, 31, 0.94)),
        repeating-linear-gradient(90deg, #24160f 0, #3b2519 3px, #20130d 7px, #4b2f20 10px);
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 60px 48px;
    position: relative;
    text-align: center;
}

.courtroom-panel::before,
.courtroom-panel::after {
    border: 1px solid rgba(205, 168, 98, 0.23);
    content: '';
    inset: 18px;
    pointer-events: none;
    position: absolute;
}

.courtroom-panel::after {
    border-color: rgba(205, 168, 98, 0.1);
    inset: 25px;
}

.courtroom-emblem,
.mobile-auth-mark {
    align-items: center;
    border: 1px solid rgba(210, 173, 101, 0.64);
    border-radius: 50%;
    display: flex;
    height: 84px;
    justify-content: center;
    margin-bottom: 28px;
    position: relative;
    width: 84px;
}

.courtroom-emblem::after,
.mobile-auth-mark::after {
    border: 1px solid rgba(210, 173, 101, 0.22);
    border-radius: 50%;
    content: '';
    inset: 6px;
    position: absolute;
}

.scales-icon {
    height: 38px;
    position: relative;
    width: 44px;
}

.scales-icon::before {
    color: #d2ad65;
    content: '\2696';
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 42px;
    left: 50%;
    line-height: 1;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
}

.courtroom-kicker,
.auth-eyebrow {
    color: #d2ad65;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2.2px;
    margin: 0 0 12px;
    text-transform: uppercase;
}

.courtroom-panel h1 {
    color: #fff;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 40px;
    font-weight: 400;
    letter-spacing: -0.5px;
    line-height: 1.1;
    margin: 0;
}

.gold-rule {
    align-items: center;
    display: flex;
    justify-content: center;
    margin: 25px 0;
    width: 135px;
}

.gold-rule::before,
.gold-rule::after {
    background: rgba(210, 173, 101, 0.55);
    content: '';
    height: 1px;
    width: 54px;
}

.gold-rule span {
    background: #d2ad65;
    height: 6px;
    margin: 0 10px;
    transform: rotate(45deg);
    width: 6px;
}

.courtroom-quote {
    color: #dce3eb;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 20px;
    font-style: italic;
    line-height: 1.55;
    margin: 0 0 48px;
}

.courtroom-details {
    color: #9eabb9;
    display: flex;
    flex-direction: column;
    font-size: 10px;
    gap: 10px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.courtroom-details span::before {
    color: #d2ad65;
    content: '\2022';
    margin-right: 8px;
}

.auth-card {
    align-self: center;
    background: #f7f3eb;
    box-shadow: none;
    padding: 62px 68px;
    width: 100%;
}
.auth-card h2 {
    color: #0b1b2e;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 34px;
    font-weight: 400;
    letter-spacing: -0.5px;
    margin: 0 0 12px;
}
.auth-card .auth-subtitle {
    color: #657080;
    font-size: 14px;
    line-height: 1.65;
    margin: 0 0 30px;
}
.auth-card .form-group {
    margin-bottom: 20px;
}
.auth-card label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: #354052;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 1.15px;
}
.luxury-input-wrap {
    position: relative;
}
.auth-card input {
    width: 100%;
    height: 52px;
    padding: 0 16px;
    border: 1px solid #d7d0c3;
    border-radius: 7px;
    font-size: 15px;
    color: #101927;
    background: #fffdfa;
    box-shadow: inset 0 1px 2px rgba(20, 28, 38, 0.03);
    transition: border-color 0.18s, box-shadow 0.18s, background 0.18s;
}
.auth-card input:focus {
    outline: none;
    border-color: #ae8440;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(174, 132, 64, 0.13);
}
.password-input input { padding-right: 72px; }
.password-toggle {
    color: #8a672f;
    font-size: 12px;
    font-weight: 700;
    padding: 8px;
    position: absolute;
    right: 9px;
    top: 50%;
    transform: translateY(-50%);
}
.auth-card .btn-auth {
    align-items: center;
    background: linear-gradient(135deg, #102b49 0%, #07182b 100%);
    border: 1px solid #142f4d;
    border-radius: 7px;
    box-shadow: 0 9px 22px rgba(7, 24, 43, 0.2);
    color: #fff;
    display: flex;
    font-size: 13px;
    font-weight: 700;
    width: 100%;
    height: 52px;
    justify-content: space-between;
    letter-spacing: 0.55px;
    margin-top: 9px;
    padding: 0 18px 0 21px;
    cursor: pointer;
    transition: transform 0.18s, box-shadow 0.18s, background 0.18s;
}
.auth-card .btn-auth:hover {
    background: linear-gradient(135deg, #173a60 0%, #0a2038 100%);
    box-shadow: 0 12px 26px rgba(7, 24, 43, 0.26);
    transform: translateY(-1px);
}
.auth-card .btn-auth:active { transform: translateY(0); }
.auth-card .btn-auth:disabled { cursor: wait; opacity: 0.75; }
.forgot-password-row { display:flex; justify-content:flex-end; margin:-10px 0 18px; }
.forgot-password-row a, .auth-return a { color:#8a672f; font-size:12px; font-weight:700; text-decoration:none; }
.forgot-password-row a:hover, .auth-return a:hover { text-decoration:underline; }
.auth-return { margin:22px 0 0; text-align:center; }
.auth-button-link { box-sizing:border-box; text-decoration:none; }
.recovery-stage { min-height:560px; }
.btn-auth-arrow { color: #d2ad65; font-size: 20px; font-weight: 400; }
.auth-message {
    background: #edf7f0;
    border: 1px solid #c5dfcc;
    border-radius: 7px;
    color: #246338;
    font-size: 13px;
    line-height: 1.5;
    margin: 0 0 20px;
    padding: 11px 13px;
}
.auth-message.is-error {
    background: #fff2ef;
    border-color: #ecc9c0;
    color: #9d3023;
}
.auth-message[hidden] { display: none; }
.auth-security {
    align-items: center;
    color: #858b93;
    display: flex;
    font-size: 11px;
    justify-content: center;
    margin: 23px 0 0;
    text-align: center;
}
.lock-mark {
    border: 1.5px solid #ad8750;
    border-radius: 2px;
    height: 9px;
    margin-right: 8px;
    position: relative;
    width: 9px;
}
.lock-mark::before {
    border: 1.5px solid #ad8750;
    border-bottom: 0;
    border-radius: 8px 8px 0 0;
    content: '';
    height: 5px;
    left: 1px;
    position: absolute;
    top: -6px;
    width: 5px;
}
.mobile-auth-mark { display: none; }
body.auth-page form { width: 100%; }
.portal-not-found-stage { display:block; max-width:520px; min-height:0; }
.portal-not-found-card { box-sizing:border-box; padding:58px; text-align:center; }
.portal-not-found-card .mobile-auth-mark { display:flex; margin:0 auto 24px; }
.portal-not-found-card .portal-home-link { box-sizing:border-box; text-decoration:none; }

@media (max-width: 780px) {
    body.auth-page .page-wrap { padding: 18px; }
    .auth-stage { display: block; min-height: 0; max-width: 500px; }
    .courtroom-panel { display: none; }
    .auth-card { padding: 44px 34px 38px; }
    .mobile-auth-mark { display: flex; height: 64px; margin: 0 0 25px; width: 64px; }
    .mobile-auth-mark .scales-icon::before { font-size: 34px; }
    .auth-card h2 { font-size: 30px; }
}

@media (max-width: 420px) {
    .auth-card { padding: 36px 23px 30px; }
}

/* ── Cases Page (admin listing) ──────────────────────────── */
body.admin-dashboard-page .scene-bg { display: none; }
body.admin-dashboard-page {
    background: var(--bg);
}
body.admin-dashboard-page .page-content {
    padding: 24px;
}
.page-heading {
    font-size: 22px;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 20px;
}
.data-table {
    width: 100%;
    border-collapse: collapse;
    background: var(--card);
    border-radius: var(--r-lg);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
}
.data-table th {
    background: var(--bg);
    padding: 12px 16px;
    text-align: left;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-muted);
    border-bottom: 1px solid var(--border);
}
.data-table td {
    padding: 12px 16px;
    font-size: 13px;
    color: var(--text);
    border-bottom: 1px solid var(--border);
}
.data-table tr:last-child td { border-bottom: none; }
.data-table tr:hover td { background: var(--bg); }
.data-table a {
    color: var(--primary);
    font-weight: 600;
}
.data-table a:hover { text-decoration: underline; }
.status-badge {
    display: inline-block;
    padding: 2px 9px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.2px;
}
.status-badge.live    { background: #ECFDF5; color: #15803D; }
.status-badge.ended   { background: #F1F5F9; color: #64748B; }
.status-badge.paused  { background: #FFFBEB; color: #92400E; }
.status-badge.idle    { background: var(--bg); color: var(--text-muted); }

/* ── Setup / Admin Builder / Generic pages ───────────────── */
body.setup-page, body.admin-builder-page, body.admin-users-page {
    background: var(--bg);
}
.form-card {
    background: var(--card);
    border-radius: var(--r-lg);
    border: 1px solid var(--border);
    padding: 24px;
    box-shadow: var(--shadow-sm);
    margin-bottom: 16px;
}
.form-card h3 {
    font-size: 15px;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 16px;
}
.form-group { margin-bottom: 14px; }
.form-group label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: var(--text-sub);
    margin-bottom: 5px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}
.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;
    padding: 9px 12px;
    border: 1px solid var(--border);
    border-radius: var(--r-sm);
    font-size: 14px;
    color: var(--text);
    background: var(--bg);
    transition: border-color 0.18s;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline: none;
    border-color: var(--primary);
}
.btn-primary {
    background: var(--primary);
    color: #fff;
    border: none;
    border-radius: var(--r-sm);
    padding: 10px 22px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.18s;
}
.btn-primary:hover { background: var(--primary-hover); }

/* Global cursor for all interactive elements */
button, a, [role="button"],
input[type="button"], input[type="submit"],
.mini-btn, .dock-btn, .phase-action-btn, .phase-nav-btn,
.seat, .question-item, .phase-head {
    cursor: pointer;
}

/* ── Juror live page ─────────────────────────────────────── */
body.juror-live-page {
    background: var(--sidebar-bg);
    color: #fff;
}

/* View All modal styles */
.view-all-modal {
    width: 520px;
    max-height: 80vh;
    overflow-y: auto;
}
.view-all-modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}
.view-all-modal-head h3 { margin-bottom: 0; }
.view-all-content {
    font-size: 13px;
}
.view-all-content .capture-entry,
.view-all-content .movement-entry {
    padding: 8px 0;
    border-bottom: 1px solid var(--border);
}
.view-all-content .capture-entry:last-child,
.view-all-content .movement-entry:last-child { border-bottom: none; }

/* ── Supplemental styles ─────────────────────────────────── */

/* Info icon */
.info-ico {
    font-size: 13px;
    color: var(--text-muted);
    cursor: help;
    font-style: normal;
    vertical-align: middle;
}

/* Jury head right (toggle + fullscreen) */
.jury-head-right {
    display: flex;
    align-items: center;
    gap: 8px;
}
.jury-fullscreen-btn {
    width: 30px;
    height: 30px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--r-sm);
    border: 1px solid var(--border);
    background: var(--card);
    color: var(--text-sub);
    font-size: 14px;
}
.jury-fullscreen-btn:hover { background: var(--bg); }

/* Mini panel head (header + view all) */
.mini-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}
.mini-panel-head h4 { margin-bottom: 0; }
.view-all-link {
    font-size: 11px;
    font-weight: 600;
    color: var(--primary);
    transition: opacity 0.18s;
}
.view-all-link:hover { opacity: 0.75; }

/* Total label in lean totals */
.lean-totals .total-label {
    color: var(--text-sub);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.2px;
}
.lean-totals .total-label b { font-size: 12px; color: var(--text); }

/* Gauge arc wrapper + value */
.gauge-arc {
    width: 70px;
    height: 70px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 6px auto 2px;
}
.gauge-arc svg {
    position: absolute;
    top: 0; left: 0;
    transition: stroke-dashoffset 0.5s ease;
}
.gauge-arc circle { transition: stroke-dashoffset 0.5s ease; }
.gauge-arc-value {
    font-size: 16px;
    font-weight: 800;
    z-index: 1;
    position: relative;
    letter-spacing: -0.5px;
    font-variant-numeric: tabular-nums;
}
.plaintiff-gauge .gauge-arc-value { color: var(--primary); }
.defense-gauge   .gauge-arc-value { color: var(--danger); }

/* Gauge card — replace display:flex column with grid-like layout */
.gauge-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 14px 8px 10px;
    background: var(--bg);
    border-radius: var(--r);
    border: 1px solid var(--border);
}

/* Phase control card — remove gap, use margin on children */
.phase-control-card { gap: 0; }

@media (max-width: 1400px) {
    .control-layout-grid {
        grid-template-columns: 240px minmax(0,1fr) 260px;
    }
}
@media (max-width: 1100px) {
    /* sidebar auto-collapse handled by JS */
    .control-layout-grid {
        grid-template-columns: 240px minmax(0,1fr) 260px;
        gap: 12px;
        padding: 14px 16px 20px;
    }
}
@media (max-width: 880px) {
    .control-layout-grid {
        grid-template-columns: 220px minmax(0,1fr);
        gap: 10px;
    }
    .right-insights-col {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 768px) {
    body.has-left-sidebar { padding-left: 0; }
    .app-sidebar { transform: translateX(-100%); }
    .control-layout-grid {
        grid-template-columns: 1fr;
    }
    .right-insights-col {
        grid-column: auto;
        display: flex;
        flex-direction: column;
    }
    .center-bottom-grid { grid-template-columns: 1fr; }
}
.profile-builder-module {
    grid-column: span 1;
}

.module-help {
    color: var(--muted, #64748b);
    margin: -4px 0 16px;
}

.check-label {
    align-items: center;
    display: flex;
    gap: 8px;
    margin: 12px 0;
}

.check-label input {
    height: 17px;
    margin: 0;
    width: 17px;
}

.profile-field-item {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.profile-field-details {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.profile-field-details small {
    color: var(--muted, #64748b);
}

.profile-field-choices {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.profile-field-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    justify-content: flex-end;
}

.profile-field-actions .btn {
    padding: 7px 10px;
}

.profile-field-actions .danger-action {
    color: #b42318;
}

.required-mark {
    color: #c62828;
}

.empty-state {
    color: var(--muted, #64748b);
    font-style: italic;
    margin: 10px 0 0;
}

@media (max-width: 720px) {
    .profile-field-item {
        align-items: stretch;
        flex-direction: column;
    }

    .profile-field-actions {
        justify-content: flex-start;
    }
}

/* ── Luxury Session Setup ───────────────────────────────── */
body.setup-page {
    background: #f2efe9;
    color: #111d2c;
}

body.setup-page .scene-bg {
    background:
        radial-gradient(circle at 84% 4%, rgba(190, 151, 82, 0.10), transparent 25%),
        linear-gradient(180deg, #f7f4ee 0, #f1eee8 420px, #ece9e3 100%);
    display: block;
    inset: 0;
    pointer-events: none;
    position: fixed;
}

body.setup-page .top-nav {
    background: rgba(255, 253, 248, 0.96);
    border-bottom: 1px solid #ddd5c8;
    box-shadow: 0 4px 18px rgba(12, 27, 44, 0.05);
}

body.setup-page .top-nav .brand {
    color: #0b1b2e;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 18px;
}

body.setup-page .top-nav nav a:hover { color: #a77a35; }

body.setup-page .app-sidebar {
    background:
        linear-gradient(rgba(8, 20, 37, .93), rgba(7, 17, 31, .98)),
        repeating-linear-gradient(90deg, #2d1c13 0, #463022 3px, #26170f 7px, #513423 10px);
    border-right: 1px solid rgba(201, 161, 91, 0.22);
}

body.setup-page .sidebar-brand-row { border-bottom-color: rgba(201, 161, 91, 0.14); }
body.setup-page .sidebar-brand { color: #fbf8f1; }
body.setup-page .sidebar-brand::after {
    color: #cfa65f;
    content: 'TRIAL COMMAND';
    display: block;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1.5px;
    margin-left: 8px;
}
body.setup-page .nav-item.active,
body.setup-page .nav-item[aria-current="page"] {
    background: linear-gradient(90deg, rgba(190, 151, 82, .19), rgba(190, 151, 82, .06));
    border-left: 2px solid #cda45f;
}

.session-workspace {
    margin: 0 auto;
    max-width: 1460px;
    padding: 38px 34px 70px;
    position: relative;
}

.setup-hero {
    align-items: center;
    background:
        linear-gradient(105deg, rgba(7, 19, 35, .98), rgba(13, 35, 59, .94)),
        repeating-linear-gradient(90deg, #352116 0, #4c3020 3px, #25170f 7px);
    border: 1px solid rgba(190, 151, 82, .42);
    border-radius: 15px;
    box-shadow: 0 18px 40px rgba(9, 23, 40, .16);
    color: #fff;
    display: flex;
    justify-content: space-between;
    margin-bottom: 22px;
    min-height: 174px;
    overflow: hidden;
    padding: 34px 40px;
    position: relative;
}

.setup-hero::after {
    border: 1px solid rgba(203, 164, 96, .18);
    border-radius: 10px;
    content: '';
    inset: 9px;
    pointer-events: none;
    position: absolute;
}

.setup-eyebrow,
.module-heading p {
    color: #d2aa64;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.9px;
    margin: 0 0 7px;
    text-transform: uppercase;
}

.setup-hero h1 {
    color: #fff;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 38px;
    font-weight: 400;
    letter-spacing: -.4px;
    line-height: 1.1;
    margin: 0 0 10px;
}

.setup-hero > div:first-child > p:last-child {
    color: #b9c2cd;
    font-size: 14px;
    margin: 0;
}

.active-case-plaque {
    background: rgba(255, 255, 255, .055);
    border: 1px solid rgba(207, 166, 95, .32);
    border-radius: 9px;
    display: flex;
    flex-direction: column;
    min-width: 250px;
    padding: 18px 21px;
    position: relative;
    z-index: 1;
}

.plaque-label {
    color: #cda55f;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
    margin-bottom: 4px;
    text-transform: uppercase;
}

.active-case-plaque strong {
    color: #fff;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 19px;
    font-weight: 400;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.plaque-status { color: #aeb9c6; font-size: 10px; margin-top: 10px; }
.plaque-status i { background: #55b87a; border-radius: 50%; display: inline-block; height: 6px; margin-right: 6px; width: 6px; }

.setup-dashboard-grid {
    display: grid;
    gap: 20px;
    grid-template-columns: minmax(0, 1fr) minmax(340px, .72fr);
}

.luxury-module {
    background: #fffdf9;
    border: 1px solid #ddd5c8;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(18, 31, 45, .055);
    padding: 25px;
}

.question-module,
.profile-builder-module,
.open-response-module { grid-column: 1 / -1; }

.open-response-enable-row { align-items:center; background:#f6f1e8; border:1px solid #e0d5c5; border-radius:8px; display:flex; justify-content:space-between; margin:18px 0; padding:13px 15px; }
.open-response-status { background:#eceff2; border-radius:14px; color:#757e88; font-size:8px; font-weight:800; letter-spacing:.7px; padding:6px 10px; text-transform:uppercase; }
.open-response-status.enabled { background:#e5f3e9; color:#35784c; }
.open-response-form-grid { display:grid; gap:15px; grid-template-columns:1fr 1fr; }
.open-response-form-grid .field-wide { grid-column:1 / -1; }
.open-response-phases-field { align-self:start; }
.open-response-phase-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; max-height:245px; padding:10px; overflow:auto; border:1px solid #d9d0c3; border-radius:8px; background:#f7f4ee; }
.open-response-phase-choice { display:flex; align-items:center; gap:10px; min-height:48px; padding:9px 11px; border:1px solid #e0d7ca; border-radius:7px; background:#fff; cursor:pointer; }
.open-response-phase-choice:hover { border-color:#bb9455; }.open-response-phase-choice input { flex:0 0 auto; width:17px; height:17px; accent-color:#ad8648; }
.open-response-phase-choice span { min-width:0; }.open-response-phase-choice strong,.open-response-phase-choice small { display:block; }.open-response-phase-choice strong { overflow:hidden; color:#26364a; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }.open-response-phase-choice small { margin-top:3px; color:#929aa4; font-size:8px; }
.open-alignment-panel { margin-top:18px; }
.open-response-save { margin-top:18px; max-width:240px; }

.module-heading {
    align-items: center;
    border-bottom: 1px solid #ebe5dc;
    display: flex;
    gap: 13px;
    margin-bottom: 20px;
    padding-bottom: 16px;
}

.module-number {
    align-items: center;
    border: 1px solid #c9a15b;
    border-radius: 50%;
    color: #a77831;
    display: inline-flex;
    flex: 0 0 38px;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 13px;
    height: 38px;
    justify-content: center;
}

.module-heading p { margin-bottom: 2px; }
.module-heading h2 {
    color: #0b1b2e;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 23px;
    font-weight: 400;
    line-height: 1.1;
    margin: 0;
}

.setup-form-grid,
.question-form-grid,
.profile-form-grid { display: grid; gap: 15px; }
.case-form-grid { grid-template-columns: minmax(210px, 1.4fr) minmax(130px, .6fr) minmax(170px, .8fr); }
.question-form-grid { grid-template-columns: minmax(170px, .7fr) minmax(170px, .7fr) minmax(280px, 1.4fr); }
.question-text-field { grid-column: 3; grid-row: 1 / span 2; }
.options-field { grid-column: 1 / span 2; }
.profile-form-grid { align-items: end; grid-template-columns: 1.1fr .7fr 1.3fr auto; }

.setup-field { min-width: 0; }
.setup-field label {
    color: #596373;
    display: block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .9px;
    margin: 0 0 7px;
    text-transform: uppercase;
}
.setup-field input,
.setup-field select,
.setup-field textarea {
    background: #faf8f4;
    border: 1px solid #d9d2c6;
    border-radius: 6px;
    color: #111d2c;
    font-size: 13px;
    min-height: 43px;
    padding: 10px 12px;
    transition: border-color .18s, box-shadow .18s, background .18s;
    width: 100%;
}
.setup-field textarea { min-height: 100px; resize: vertical; }
.setup-field input:focus,
.setup-field select:focus,
.setup-field textarea:focus {
    background: #fff;
    border-color: #ae8440;
    box-shadow: 0 0 0 3px rgba(174, 132, 64, .12);
    outline: none;
}
.setup-field small { color: #8a9099; display: block; font-size: 10px; margin-top: 5px; }

.luxury-action {
    align-items: center;
    border-radius: 6px;
    display: inline-flex;
    font-size: 11px;
    font-weight: 700;
    justify-content: center;
    letter-spacing: .35px;
    min-height: 42px;
    padding: 0 17px;
    transition: transform .16s, box-shadow .16s, background .16s;
}
.luxury-action:hover { transform: translateY(-1px); }
.primary-action {
    background: linear-gradient(135deg, #123251, #081b30);
    box-shadow: 0 8px 17px rgba(8, 27, 48, .16);
    color: #fff;
}
.primary-action b { color: #d4ad67; font-size: 17px; margin-left: 22px; }
.case-module > .primary-action { margin-top: 18px; min-width: 150px; }
.gold-action { background: #b18747; color: #fff; }
.gold-action:hover { background: #9d7337; }
.quiet-action { background: #f0ece5; border: 1px solid #d9d1c4; color: #5d6570; }
.question-add-action { align-self: end; grid-column: 1 / span 2; justify-self: start; min-width: 155px; }
.answer-alignment-panel { background:#f4f0e8; border:1px solid #ddd3c3; border-radius:8px; grid-column:1 / -1; padding:14px 15px; }
.alignment-heading { align-items:center; display:flex; justify-content:space-between; margin-bottom:10px; }
.alignment-heading > div { display:flex; flex-direction:column; }
.alignment-heading strong { color:#24384d; font-size:10px; }
.alignment-heading span { color:#858d96; font-size:8px; margin-top:2px; }
.alignment-legend { align-items:center; display:flex; gap:5px; }
.alignment-legend i { border-radius:50%; height:6px; margin-left:7px; width:6px; }
.alignment-legend i.plaintiff { background:#2e73aa; }
.alignment-legend i.defense { background:#b06f58; }
.alignment-legend i.undecided { background:#9c958b; }
.answer-alignment-list { display:grid; gap:7px; }
.answer-alignment-list label { align-items:center; background:#fff; border:1px solid #e0d9ce; border-radius:6px; display:grid; gap:10px; grid-template-columns:minmax(120px,1fr) auto minmax(155px,.65fr); min-height:45px; padding:6px 8px 6px 13px; }
.answer-alignment-list label > strong { color:#1f3348; font-size:11px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.answer-alignment-list label > span { color:#999b9e; font-size:8px; font-weight:700; text-transform:uppercase; }
.answer-alignment-list select { background:#faf8f4; border:1px solid #d8d1c6; border-radius:5px; color:#34475a; font-size:10px; min-height:32px; padding:0 8px; }
.alignment-empty { color:#8c9299; font-size:9px; margin:0; padding:8px; text-align:center; }
.question-form-actions { align-items:center; display:flex; gap:8px; grid-column:1 / -1; }
.question-form-actions .question-add-action { grid-column:auto; }
.question-alignment-summary { color:#95703b; font-size:8px; grid-column:2; line-height:1.5; margin-top:3px; }
.question-order-actions .edit-question { color:#345a7c; min-width:43px; }
.question-order-actions .delete-question { color:#9a493c; min-width:55px; }

.compact-add-row { align-items: end; display: grid; gap: 10px; grid-template-columns: 1fr auto; }
.phase-template-box { align-items:end; background:#f5f0e7; border:1px solid #ded3c2; border-radius:7px; display:grid; gap:9px; grid-template-columns:1fr auto; margin-bottom:14px; padding:11px; }
.phase-template-box .setup-field small { font-size:8px; }
.template-action { background:#102e4a; color:#fff; min-width:105px; }
.template-action:disabled { cursor:wait; opacity:.55; }
.template-button-stack { display:flex; gap:7px; }
.save-template-row { align-items:end; background:#fbf8f2; border:1px dashed #d8c6a8; border-radius:7px; display:grid; gap:10px; grid-template-columns:1fr auto; margin:0 0 16px; padding:11px; }
.save-template-row .setup-field small { font-size:8px; }
.save-template-row .gold-action { min-width:120px; }
.phase-form-buttons { display:flex; gap:6px; }
.phase-list { display: grid; gap: 7px; margin-top: 18px; }
.phase-list-item {
    align-items: center;
    background: #f8f5f0;
    border: 1px solid #e6dfd4;
    border-radius: 7px;
    display: flex;
    gap: 11px;
    padding: 9px 11px;
}
.phase-seal {
    align-items: center;
    background: #0d253e;
    border-radius: 4px;
    color: #d8b673;
    display: inline-flex;
    flex: 0 0 29px;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 10px;
    height: 29px;
    justify-content: center;
}
.phase-list-item .phase-list-copy { display: flex; flex:1; flex-direction: column; min-width: 0; }
.phase-list-item b { color: #263447; font-size: 12px; }
.phase-list-item small { color: #8b919a; font-size: 9px; }
.phase-list-actions { display:flex; flex-direction:row !important; gap:4px; margin-left:auto; }
.phase-list-actions button { background:#fff; border:1px solid #d9d2c8; border-radius:4px; color:#526173; font-size:7px; font-weight:800; height:26px; min-width:26px; padding:0 7px; text-transform:uppercase; }
.phase-list-actions button:hover { border-color:#b48a49; color:#8a642d; }
.phase-list-actions button.danger { color:#9a493c; }
.phase-list-actions button:disabled { opacity:.25; }

.section-divider { align-items: center; color: #9a783e; display: flex; font-size: 9px; font-weight: 700; gap: 12px; letter-spacing: 1.3px; margin: 24px 0 13px; text-transform: uppercase; }
.section-divider::before,
.section-divider::after { background: #e5ded2; content: ''; flex: 1; height: 1px; }

.question-stack { display: grid; gap: 8px; }
.question-card {
    align-items: center;
    background: #faf8f4;
    border: 1px solid #e5ded3;
    border-left: 3px solid #173956;
    border-radius: 7px;
    display: flex;
    justify-content: space-between;
    padding: 12px 13px;
}
.question-copy { align-items: center; display: grid; gap: 3px 12px; grid-template-columns: auto 1fr; min-width: 0; }
.question-copy b { color: #1b2939; font-size: 13px; grid-column: 2; grid-row: 1; }
.question-copy small { color: #8b9199; font-size: 10px; grid-column: 2; grid-row: 2; }
.question-type-badge { border-radius: 20px; font-size: 8px; font-weight: 700; grid-row: 1 / span 2; letter-spacing: .5px; padding: 5px 8px; text-transform: uppercase; }
.question-type-badge.lean { background: #e8eef5; color: #183b5b; }
.question-type-badge.poll { background: #f6eddb; color: #8b642b; }
.question-type-badge.custom { background: #eee9f5; color: #644884; }
.question-order-actions { display: flex; gap: 5px; margin-left: 14px; }
.question-order-actions button,
.profile-field-actions .btn {
    align-items: center;
    background: #fff;
    border: 1px solid #ddd5ca;
    border-radius: 5px;
    color: #5b6674;
    display: inline-flex;
    font-size: 11px;
    height: 30px;
    justify-content: center;
    min-width: 30px;
    padding: 0 9px;
}
.question-order-actions button:hover,
.profile-field-actions .btn:hover { border-color: #b79051; color: #8a642c; }
.question-order-actions button:disabled,
.profile-field-actions .btn:disabled { cursor: default; opacity: .35; }

.module-help { color: #6e7783; font-size: 12px; margin: -9px 0 18px; }
.luxury-check { align-items: center; color: #596373; display: flex; font-size: 11px; font-weight: 600; gap: 8px; min-height: 43px; white-space: nowrap; }
.luxury-check input { accent-color: #aa8040; height: 16px; width: 16px; }
.profile-form-actions { display: flex; gap: 8px; margin-top: 16px; }
.profile-field-list { display: grid; gap: 8px; }
.profile-field-item { background: #faf8f4; border: 1px solid #e5ded3; border-radius: 7px; padding: 11px 13px; }
.profile-field-details b { color: #1b2939; font-size: 12px; }
.profile-field-details small { font-size: 10px; }
.profile-field-actions .danger-action { color: #a43a2c; }

@media (max-width: 1100px) {
    .session-workspace { padding: 28px 22px 60px; }
    .case-form-grid { grid-template-columns: 1fr 1fr; }
    .case-form-grid .field-wide { grid-column: 1 / -1; }
    .question-form-grid { grid-template-columns: 1fr 1fr; }
    .question-text-field { grid-column: 1 / -1; grid-row: auto; }
    .options-field { grid-column: 1 / -1; }
    .profile-form-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 860px) {
    .setup-dashboard-grid { grid-template-columns: 1fr; }
    .question-module, .profile-builder-module, .open-response-module { grid-column: auto; }
    .setup-hero { align-items: flex-start; flex-direction: column; gap: 22px; }
    .active-case-plaque { min-width: min(100%, 320px); }
}

@media (max-width: 620px) {
    .session-workspace { padding: 18px 14px 45px; }
    .setup-hero { padding: 28px 23px; }
    .setup-hero h1 { font-size: 31px; }
    .luxury-module { padding: 20px 17px; }
    .case-form-grid, .question-form-grid, .profile-form-grid, .compact-add-row { grid-template-columns: 1fr; }
    .case-form-grid .field-wide, .question-text-field, .options-field, .question-add-action { grid-column: auto; }
    .question-card { align-items: flex-start; }
    .question-copy { display: flex; flex-direction: column; align-items: flex-start; }
    .question-order-actions { margin-left: 8px; }
    .alignment-heading { align-items:flex-start; flex-direction:column; gap:7px; }
    .alignment-legend { flex-wrap:wrap; }
    .answer-alignment-list label { grid-template-columns:1fr; gap:5px; padding:10px; }
    .answer-alignment-list label > span { display:none; }
    .question-form-actions { align-items:stretch; flex-direction:column; }
    .question-form-actions .luxury-action { width:100%; }
    .open-response-form-grid { grid-template-columns:1fr; }
    .open-response-form-grid .field-wide { grid-column:auto; }
    .open-response-phase-list { grid-template-columns:1fr; }
    .open-response-enable-row { align-items:flex-start; flex-direction:column; gap:10px; }
    .question-order-actions { flex-wrap:wrap; justify-content:flex-end; }
    .profile-field-item { align-items: stretch; flex-direction: column; }
    .phase-template-box,.save-template-row { grid-template-columns:1fr; }
    .template-action { width:100%; }
    .template-button-stack { width:100%; }
    .template-button-stack .luxury-action { flex:1; }
    .save-template-row .gold-action { width:100%; }
    .compact-add-row { align-items:stretch; }
    .phase-form-buttons { flex-direction:column; }
    .phase-list-item { align-items:flex-start; flex-wrap:wrap; }
    .phase-list-actions { flex-basis:100%; margin-left:40px; }
}

/* ── Luxury Case Archive ────────────────────────────────── */
body.cases-page { background: #f2efe9; color: #111d2c; }
body.cases-page .scene-bg {
    background: radial-gradient(circle at 84% 4%, rgba(190,151,82,.10), transparent 25%), linear-gradient(180deg,#f7f4ee 0,#f1eee8 420px,#ece9e3 100%);
    display: block; inset: 0; pointer-events: none; position: fixed;
}
body.cases-page .top-nav { background: rgba(255,253,248,.96); border-bottom: 1px solid #ddd5c8; box-shadow: 0 4px 18px rgba(12,27,44,.05); }
body.cases-page .top-nav .brand { color: #0b1b2e; font-family: Georgia,'Times New Roman',serif; font-size: 18px; }
body.cases-page .top-nav nav a:hover { color: #a77a35; }
body.cases-page .app-sidebar {
    background: linear-gradient(rgba(8,20,37,.93),rgba(7,17,31,.98)), repeating-linear-gradient(90deg,#2d1c13 0,#463022 3px,#26170f 7px,#513423 10px);
    border-right: 1px solid rgba(201,161,91,.22);
}
body.cases-page .sidebar-brand-row { border-bottom-color: rgba(201,161,91,.14); }
body.cases-page .sidebar-brand::after { color:#cfa65f; content:'TRIAL COMMAND'; display:block; font-size:8px; font-weight:700; letter-spacing:1.5px; margin-left:8px; }

.case-workspace { margin: 0 auto; max-width: 1460px; padding: 38px 34px 70px; position: relative; }
.case-hero {
    align-items:center; background:linear-gradient(105deg,rgba(7,19,35,.98),rgba(13,35,59,.94)),repeating-linear-gradient(90deg,#352116 0,#4c3020 3px,#25170f 7px);
    border:1px solid rgba(190,151,82,.42); border-radius:15px; box-shadow:0 18px 40px rgba(9,23,40,.16); color:#fff; display:flex; justify-content:space-between;
    margin-bottom:20px; min-height:166px; overflow:hidden; padding:34px 40px; position:relative;
}
.case-hero::after { border:1px solid rgba(203,164,96,.18); border-radius:10px; content:''; inset:9px; pointer-events:none; position:absolute; }
.case-hero > div,.case-hero > a { position:relative; z-index:1; }
.case-eyebrow { color:#d2aa64; font-size:10px; font-weight:700; letter-spacing:1.9px; margin:0 0 7px; text-transform:uppercase; }
.case-hero h1 { color:#fff; font-family:Georgia,'Times New Roman',serif; font-size:38px; font-weight:400; line-height:1.1; margin:0 0 10px; }
.case-hero > div > p:last-child { color:#b9c2cd; font-size:14px; margin:0; }
.case-hero-action {
    align-items:center; background:rgba(255,255,255,.055); border:1px solid rgba(207,166,95,.5); border-radius:7px; color:#fff; display:flex; font-size:11px; font-weight:700;
    gap:28px; letter-spacing:.35px; min-height:48px; padding:0 18px 0 20px; transition:background .18s,transform .18s;
}
.case-hero-action b { color:#d7b36e; font-size:19px; }
.case-hero-action:hover { background:rgba(207,166,95,.13); transform:translateY(-1px); }

.case-summary { background:#fffdf9; border:1px solid #ddd5c8; border-radius:11px; display:grid; grid-template-columns:repeat(4,1fr); margin-bottom:20px; overflow:hidden; }
.case-summary > div { border-right:1px solid #e6dfd5; }
.case-summary > div:last-child { border-right:0; }
.summary-item { align-items:center; display:flex; gap:13px; min-height:88px; padding:17px 22px; }
.summary-item > div { display:flex; flex-direction:column; }
.summary-item small { color:#79818d; font-size:9px; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.summary-item strong { color:#0d2137; font-family:Georgia,'Times New Roman',serif; font-size:25px; font-weight:400; line-height:1.2; }
.summary-icon { align-items:center; background:#f1ece3; border:1px solid #dfd3c1; border-radius:50%; color:#a77b3a; display:inline-flex; flex:0 0 38px; height:38px; justify-content:center; }
.summary-icon::before { font-family:Georgia,'Times New Roman',serif; font-size:18px; }
.files-icon::before { content:'§'; }
.live-icon::before { content:'●'; font-size:12px; }
.jurors-icon::before { content:'♙'; }
.responses-icon::before { content:'✓'; }

.case-archive-panel { background:#fffdf9; border:1px solid #ddd5c8; border-radius:12px; box-shadow:0 8px 24px rgba(18,31,45,.055); overflow:hidden; }
.archive-heading { align-items:center; border-bottom:1px solid #e6dfd5; display:flex; justify-content:space-between; padding:22px 25px 18px; }
.archive-heading .case-eyebrow { margin-bottom:2px; }
.archive-heading h2 { color:#0b1b2e; font-family:Georgia,'Times New Roman',serif; font-size:24px; font-weight:400; margin:0; }
.archive-count { background:#f4f0e8; border:1px solid #e1d8ca; border-radius:20px; color:#727b87; font-size:10px; padding:6px 11px; }
.archive-count span { color:#916a31; font-weight:700; }
.case-card-list { display:grid; }

.case-record {
    align-items:center; border-bottom:1px solid #e9e3da; display:grid; gap:22px; grid-template-columns:minmax(220px,1.1fr) minmax(350px,1.45fr) minmax(190px,.8fr) minmax(165px,.65fr);
    min-height:136px; padding:22px 25px; transition:background .18s;
}
.case-record:last-child { border-bottom:0; }
.case-record:hover { background:#fcfaf6; }
.case-record-main { align-items:center; display:flex; gap:14px; min-width:0; }
.case-seal { align-items:center; background:linear-gradient(145deg,#143552,#091c30); border:1px solid #b68b48; border-radius:9px; color:#d4ae68; display:flex; flex:0 0 50px; font-family:Georgia,serif; font-size:24px; height:50px; justify-content:center; }
.case-name-block { align-items:flex-start; display:flex; flex-direction:column; min-width:0; }
.case-id-label { color:#a07a41; font-size:8px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase; }
.case-name-block h3 { color:#152538; font-family:Georgia,'Times New Roman',serif; font-size:20px; font-weight:400; margin:2px 0 5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; width:100%; }
.archive-status { align-items:center; background:#f1f2f3; border-radius:20px; color:#66707d; display:inline-flex; font-size:8px; font-weight:700; letter-spacing:.65px; padding:4px 8px; text-transform:uppercase; }
.archive-status i { background:#8b929b; border-radius:50%; height:5px; margin-right:5px; width:5px; }
.archive-status.running,.archive-status.live { background:#eaf5ee; color:#39754d; }
.archive-status.running i,.archive-status.live i { background:#4da56a; }
.archive-status.paused { background:#fbf2de; color:#87652e; }
.archive-status.paused i { background:#c39649; }
.archive-status.ended { background:#edf0f3; color:#566170; }

.case-stat-grid { display:grid; grid-template-columns:repeat(5,1fr); }
.case-stat-grid > div { border-right:1px solid #e8e1d7; display:flex; flex-direction:column; padding:2px 12px; text-align:center; }
.case-stat-grid > div:last-child { border-right:0; }
.case-stat-grid small,.case-date-block small { color:#8c929a; font-size:8px; font-weight:700; letter-spacing:.75px; text-transform:uppercase; }
.case-stat-grid strong { color:#203247; font-family:Georgia,'Times New Roman',serif; font-size:18px; font-weight:400; }
.case-date-block { display:flex; flex-direction:column; }
.case-date-block strong { color:#334255; font-size:11px; font-weight:600; margin:4px 0; }
.case-date-block strong span,.case-date-block em span { color:#9298a0; font-weight:400; }
.case-date-block em { color:#9a9fa6; font-size:9px; font-style:normal; }
.case-actions { align-items:stretch; display:flex; flex-direction:column; gap:7px; }
.case-preview { align-items:center; background:linear-gradient(135deg,#123251,#081b30); border-radius:6px; box-shadow:0 6px 14px rgba(8,27,48,.14); color:#fff; display:flex; font-size:10px; font-weight:700; justify-content:space-between; min-height:38px; padding:0 11px 0 13px; }
.case-preview b { color:#d5ad65; font-size:15px; }
.case-preview:hover { background:linear-gradient(135deg,#193f63,#0b2743); }
.case-delete { background:transparent; border:1px solid #dfd6ca; border-radius:6px; color:#9a4437; font-size:9px; font-weight:700; min-height:32px; }
.case-delete:hover { background:#fff3f0; border-color:#dfb9b1; }
.case-delete:disabled { cursor:wait; opacity:.55; }
.case-empty { color:#7a838f; padding:60px 24px; text-align:center; }
.case-empty > span { color:#b38a4c; font-size:35px; }
.case-empty h3 { color:#17283b; font-family:Georgia,'Times New Roman',serif; font-size:22px; font-weight:400; margin:8px 0 3px; }
.case-empty p { font-size:12px; margin:0; }
.case-pager { border-top:1px solid #e9e3da; display:flex; gap:6px; justify-content:center; padding:16px; }
.case-pager:empty { display:none; }
.case-pager .pager-btn { background:#fff; border:1px solid #ddd5ca; border-radius:5px; color:#657080; font-size:11px; height:31px; min-width:31px; }
.case-pager .pager-btn.active { background:#102b49; border-color:#102b49; color:#fff; }
.case-pager .pager-btn:disabled { cursor:default; opacity:.35; }

@media (max-width:1250px) {
    .case-record { grid-template-columns:minmax(220px,1fr) minmax(320px,1.35fr) minmax(150px,.7fr); }
    .case-actions { grid-column:1 / -1; flex-direction:row; justify-content:flex-end; }
    .case-actions > * { min-width:145px; }
}
@media (max-width:900px) {
    .case-workspace { padding:28px 22px 60px; }
    .case-summary { grid-template-columns:1fr 1fr; }
    .case-summary > div:nth-child(2) { border-right:0; }
    .case-summary > div:nth-child(-n+2) { border-bottom:1px solid #e6dfd5; }
    .case-record { grid-template-columns:1fr 1fr; }
    .case-record-main { grid-column:1 / -1; }
    .case-stat-grid { grid-column:1 / -1; }
}
@media (max-width:620px) {
    .case-workspace { padding:18px 14px 45px; }
    .case-hero { align-items:flex-start; flex-direction:column; gap:22px; padding:28px 23px; }
    .case-hero h1 { font-size:31px; }
    .case-summary { grid-template-columns:1fr; }
    .case-summary > div { border-bottom:1px solid #e6dfd5; border-right:0; }
    .case-summary > div:last-child { border-bottom:0; }
    .case-record { gap:18px; grid-template-columns:1fr; padding:20px 17px; }
    .case-record-main,.case-stat-grid,.case-actions { grid-column:auto; }
    .case-stat-grid > div { padding:2px 5px; }
    .case-actions { flex-direction:column; }
    .case-actions > * { min-width:0; width:100%; }
}

/* Audit export control extends the existing filter row. */
.audit-filter-card { grid-template-columns:210px 180px minmax(200px,1fr) 95px 65px 95px; }
@media (max-width:900px) { .audit-filter-card { grid-template-columns:1fr 1fr; } }
@media (max-width:560px) { .audit-filter-card { grid-template-columns:1fr; } }

/* Juror experience — distraction-free, responsive courtroom interface */
body.juror-experience-page { background:#091727; color:#152538; min-height:100vh; padding-left:0 !important; }
body.juror-experience-page .app-sidebar,
body.juror-experience-page .top-nav { display:none !important; }
body.juror-experience-page .page-wrap { margin:0 !important; max-width:none; min-height:100vh; padding:0 !important; width:100%; }
.juror-app-shell,.juror-live-app { background:radial-gradient(circle at 18% 8%,rgba(184,139,71,.11),transparent 27%),linear-gradient(145deg,#071321 0%,#0d2035 58%,#081727 100%); box-sizing:border-box; min-height:100vh; padding:0 max(22px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left)); }
.juror-brand-bar,.juror-live-bar { align-items:center; border-bottom:1px solid rgba(207,166,95,.3); display:flex; margin:0 auto; max-width:1120px; min-height:92px; padding-top:env(safe-area-inset-top); }
.juror-brand-mark { align-items:center; border:1px solid #b88b47; border-radius:50%; color:#d4ab63; display:flex; flex:0 0 43px; font-family:Georgia,serif; font-size:24px; height:43px; justify-content:center; }
.juror-brand-copy { display:flex; flex-direction:column; margin-left:13px; }
.juror-brand-copy strong { color:#fff; font-family:Georgia,'Times New Roman',serif; font-size:19px; font-weight:400; letter-spacing:.2px; }
.juror-brand-copy span { color:#d1a85f; font-size:8px; font-weight:700; letter-spacing:1.45px; margin-top:3px; text-transform:uppercase; }
.secure-session-mark,.connection-status { align-items:center; color:#aeb8c6; display:flex; font-size:9px; font-weight:700; letter-spacing:1px; margin-left:auto; text-transform:uppercase; }
.secure-session-mark i,.connection-status i { background:#67b57b; border-radius:50%; box-shadow:0 0 0 4px rgba(103,181,123,.12); height:6px; margin-right:9px; width:6px; }

.juror-intake-stage { align-items:stretch; display:grid; grid-template-columns:minmax(300px,.86fr) minmax(500px,1.14fr); margin:clamp(42px,7vh,78px) auto; max-width:1080px; }
.juror-welcome { background:linear-gradient(150deg,rgba(17,39,62,.97),rgba(5,18,31,.99)),repeating-linear-gradient(90deg,transparent 0,transparent 4px,rgba(255,255,255,.018) 5px); border:1px solid rgba(201,159,87,.6); border-radius:18px 0 0 18px; box-shadow:0 26px 65px rgba(0,0,0,.28); color:#fff; padding:68px 54px; position:relative; }
.juror-welcome:after { border:1px solid rgba(198,156,84,.18); border-radius:12px 0 0 12px; content:""; inset:14px 0 14px 14px; pointer-events:none; position:absolute; }
.juror-eyebrow,.intake-card-head p { color:#c99c52; font-size:10px; font-weight:800; letter-spacing:2px; margin:0 0 20px; text-transform:uppercase; }
.juror-welcome h1 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(35px,3.3vw,49px); font-weight:400; letter-spacing:-.7px; line-height:1.08; margin:0; }
.juror-gold-rule { align-items:center; display:flex; margin:29px 0; width:145px; }
.juror-gold-rule:before,.juror-gold-rule:after { background:#9c773d; content:""; height:1px; width:62px; }
.juror-gold-rule span { background:#d4aa61; height:7px; margin:0 8px; transform:rotate(45deg); width:7px; }
.juror-welcome > p:not(.juror-eyebrow) { color:#c5ccd5; font-family:Georgia,'Times New Roman',serif; font-size:16px; font-style:italic; line-height:1.65; max-width:340px; }
.juror-case-plaque { border-left:2px solid #c99b50; display:flex; flex-direction:column; margin-top:52px; padding:3px 0 3px 14px; }
.juror-case-plaque small { color:#8f9baa; font-size:8px; font-weight:700; letter-spacing:1.3px; text-transform:uppercase; }
.juror-case-plaque strong { color:#f4f0e8; font-family:Georgia,'Times New Roman',serif; font-size:16px; font-weight:400; margin-top:5px; }

.juror-intake-card { background:#f8f5ee; border:1px solid #d8c7a8; border-left:0; border-radius:0 18px 18px 0; box-shadow:0 26px 65px rgba(0,0,0,.28); padding:38px clamp(34px,5vw,64px) 34px; }
.intake-progress { align-items:center; color:#9b9fa5; display:flex; font-size:8px; font-weight:800; justify-content:center; letter-spacing:.7px; margin-bottom:34px; text-transform:uppercase; }
.intake-progress span { align-items:center; display:flex; white-space:nowrap; }
.intake-progress b { align-items:center; border:1px solid #c8c5bd; border-radius:50%; display:flex; font-size:9px; height:22px; justify-content:center; margin-right:6px; width:22px; }
.intake-progress span.active { color:#8d672f; }
.intake-progress span.active b { background:#102b48; border-color:#102b48; color:#fff; }
.intake-progress i { background:#d9d5cd; height:1px; margin:0 10px; max-width:42px; width:7vw; }
.intake-card-head { border-bottom:1px solid #ddd6ca; margin-bottom:25px; padding-bottom:20px; }
.intake-card-head p { margin-bottom:7px; }
.intake-card-head h2 { color:#102237; font-family:Georgia,'Times New Roman',serif; font-size:34px; font-weight:400; margin:0 0 5px; }
.intake-card-head > span { color:#858b93; font-size:10px; }
.juror-form-grid { display:grid; gap:18px 17px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.juror-field { min-width:0; }
.juror-field.field-full { grid-column:1 / -1; }
.juror-field .field-label { color:#596473; display:block; font-size:9px; font-weight:800; letter-spacing:.9px; margin:0 0 7px; text-transform:uppercase; }
.required-mark { color:#ac6d4c; }
.juror-field input[type=text],.juror-field select { appearance:none; background:#fff; border:1px solid #d5d2cc; border-radius:7px; box-sizing:border-box; color:#16283c; font-size:15px; min-height:52px; outline:none; padding:0 15px; transition:border-color .18s,box-shadow .18s; width:100%; }
.juror-field select { background-image:linear-gradient(45deg,transparent 50%,#987039 50%),linear-gradient(135deg,#987039 50%,transparent 50%); background-position:calc(100% - 18px) 22px,calc(100% - 13px) 22px; background-repeat:no-repeat; background-size:5px 5px;padding-right:38px; }
.juror-field input:focus,.juror-field select:focus { border-color:#b88b47; box-shadow:0 0 0 3px rgba(184,139,71,.13); }
.juror-radio-grid { display:grid; gap:8px; grid-template-columns:repeat(3,1fr); }
.juror-radio-option { cursor:pointer; position:relative; }
.juror-radio-option input { height:1px; opacity:0; position:absolute; width:1px; }
.juror-radio-option span { align-items:center; background:#fff; border:1px solid #d5d2cc; border-radius:7px; color:#5e6875; display:flex; font-size:12px; justify-content:center; min-height:48px; padding:5px 8px; text-align:center; transition:.18s; }
.juror-radio-option input:checked + span { background:#102b48; border-color:#102b48; box-shadow:inset 0 -2px #c99b50; color:#fff; }
.juror-radio-option input:focus-visible + span { box-shadow:0 0 0 3px rgba(184,139,71,.2); }
.juror-primary-action { align-items:center; background:linear-gradient(135deg,#153755,#091e34); border:0; border-radius:7px; box-shadow:0 10px 22px rgba(10,31,51,.18); color:#fff; display:flex; font-size:13px; font-weight:800; justify-content:space-between; margin-top:25px; min-height:56px; padding:0 20px 0 23px; width:100%; }
.juror-primary-action b { color:#d5aa60; font-size:20px; }
.juror-primary-action:disabled { cursor:wait; opacity:.7; }
.juror-form-message { background:#fff0ec; border:1px solid #dfb8ad; border-radius:6px; color:#9b4535; font-size:11px; margin-top:17px; padding:10px 12px; }
.juror-privacy { color:#92979d; font-size:9px; margin:15px 0 0; text-align:center; }
.juror-privacy span { color:#a47b3f; margin-right:5px; }

.juror-live-bar { max-width:980px; }
.live-juror-identity { align-items:flex-end; display:flex; flex-direction:column; margin-left:auto; }
.live-juror-identity .connection-status { margin:0 0 4px; }
.live-juror-identity > strong { color:#f0ece3; font-family:Georgia,'Times New Roman',serif; font-size:14px; font-weight:400; }
.juror-question-stage { align-items:center; display:flex; flex-direction:column; justify-content:center; margin:clamp(30px,6vh,68px) auto; max-width:980px; }
.juror-question-card { background:#faf7f0; border:1px solid #d9c7a7; border-radius:17px; box-shadow:0 28px 70px rgba(0,0,0,.32); box-sizing:border-box; min-height:540px; overflow:hidden; padding:37px clamp(32px,7vw,72px) 42px; position:relative; width:100%; }
.juror-question-card:before { background:linear-gradient(90deg,#a77b3c,#dfbd7a,#a77b3c); content:""; height:4px; left:0; position:absolute; right:0; top:0; }
.question-card-topline { align-items:center; border-bottom:1px solid #dfd8cc; display:flex; justify-content:space-between; padding-bottom:18px; }
.juror-phase { color:#a17639; font-size:10px; font-weight:800; letter-spacing:1.45px; text-transform:uppercase; }
.question-card-topline time { color:#87909a; font-size:10px; font-weight:700; letter-spacing:.7px; }
.juror-prompt-label { color:#9a733b; font-size:9px; font-weight:800; letter-spacing:1.7px; margin:30px 0 11px; text-align:center; text-transform:uppercase; }
.juror-question-card h1 { color:#102238; font-family:Georgia,'Times New Roman',serif; font-size:clamp(28px,4vw,40px); font-weight:400; line-height:1.2; margin:0 auto 13px; max-width:760px; text-align:center; }
.juror-question-help { color:#77808b; font-size:12px; line-height:1.55; margin:0 auto 27px; max-width:580px; text-align:center; }
.waiting-emblem { display:none; margin:63px auto 25px; text-align:center; }
.waiting-emblem span { align-items:center; border:1px solid #b88a45; border-radius:50%; color:#bd914c; display:inline-flex; font-family:Georgia,serif; font-size:38px; height:76px; justify-content:center; position:relative; width:76px; }
.waiting-emblem span:after { animation:jurorPulse 1.8s infinite; border:1px solid rgba(184,138,69,.35); border-radius:50%; content:""; inset:-10px; position:absolute; }
@keyframes jurorPulse { 0%,100%{opacity:.25;transform:scale(.94)} 50%{opacity:1;transform:scale(1.05)} }
.juror-question-card.is-waiting .waiting-emblem { display:block; }
.juror-question-card.is-waiting .juror-prompt-label { margin-top:0; }
.juror-question-card.is-waiting .confidence-wrap { display:none; }
.choice-stack { display:grid; gap:11px; margin:27px auto 26px; max-width:720px; }
.choice-btn { align-items:center; background:#fff; border:1px solid #d8d3ca; border-radius:9px; color:#25384d; cursor:pointer; display:grid; font-size:15px; font-weight:700; grid-template-columns:42px 1fr 28px; min-height:66px; padding:8px 15px; text-align:left; transition:border-color .16s,box-shadow .16s,transform .16s; width:100%; }
.choice-btn:hover { border-color:#b78b48; box-shadow:0 6px 16px rgba(17,38,59,.08); transform:translateY(-1px); }
.choice-letter { align-items:center; background:#f0ece4; border-radius:50%; color:#8e6830; display:flex; font-family:Georgia,serif; height:31px; justify-content:center; width:31px; }
.choice-check { color:transparent; font-size:17px; text-align:right; }
.choice-btn.selected { background:#102b48; border-color:#102b48; box-shadow:0 8px 19px rgba(10,32,53,.19),inset 0 -2px #c99b51; color:#fff; }
.choice-btn.selected .choice-letter { background:#c89b51; color:#10263e; }
.choice-btn.selected .choice-check { color:#d9b56e; }
.choice-btn:disabled { cursor:wait; opacity:.72; }
.juror-pulse-card { background:#faf7f0; border:1px solid #cba96b; border-radius:14px; box-shadow:0 18px 42px rgba(0,0,0,.22); box-sizing:border-box; margin:18px auto 0; max-width:920px; padding:22px 25px; width:100%; }
.juror-pulse-card[hidden] { display:none; }
.juror-pulse-heading { align-items:center; display:flex; gap:18px; justify-content:space-between; }
.juror-pulse-heading p { color:#a87935; font-size:9px; font-weight:800; letter-spacing:1.5px; margin:0 0 5px; text-transform:uppercase; }
.juror-pulse-heading h2 { color:#102238; font-family:Georgia,'Times New Roman',serif; font-size:22px; font-weight:400; margin:0; }
.juror-pulse-heading > span { align-items:center; background:#e5f3e9; border-radius:15px; color:#35784c; display:flex; font-size:8px; font-weight:800; letter-spacing:.7px; padding:7px 10px; text-transform:uppercase; white-space:nowrap; }
.juror-pulse-heading > span i { background:#48a363; border-radius:50%; height:6px; margin-right:6px; width:6px; }
.juror-pulse-choices { display:grid; gap:10px; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:18px; }
.juror-pulse-choice { background:#fff; border:1px solid #d5cbbd; border-radius:8px; color:#19324b; cursor:pointer; font-size:14px; font-weight:800; min-height:56px; padding:8px 12px; }
.juror-pulse-choice:hover { border-color:#ad8141; box-shadow:0 5px 14px rgba(20,39,57,.09); }
.juror-pulse-choice.selected { background:#102b48; border-color:#102b48; color:#fff; box-shadow:inset 0 -3px #c99b51; }
.juror-pulse-choice:disabled { cursor:wait; opacity:.65; }
.juror-pulse-message { color:#7a828c; font-size:10px; margin:12px 0 0; text-align:center; }
.juror-pulse-message.is-success { color:#35784c; }
.juror-pulse-message.is-error { color:#a04438; }
.confidence-wrap { border-top:1px solid #ddd6cb; margin:29px auto 0; max-width:720px; padding-top:22px; }
.confidence-heading,.confidence-meta { align-items:center; display:flex; justify-content:space-between; }
.confidence-heading label { color:#304156; font-size:11px; font-weight:800; }
.confidence-heading strong { color:#9a7137; font-family:Georgia,serif; font-size:14px; }
.confidence-wrap input[type=range] { accent-color:#b88a45; cursor:pointer; margin:16px 0 7px; width:100%; }
.confidence-meta { color:#9a9fa5; font-size:8px; font-weight:700; letter-spacing:.5px; text-transform:uppercase; }
.submit-confirmation { color:#747e89; font-size:10px; margin:21px auto 0; min-height:16px; text-align:center; }
.submit-confirmation.is-success { color:#39774e; font-weight:700; }
.submit-confirmation.is-error { color:#9c493b; font-weight:700; }
.submit-confirmation.is-sending { color:#9b7339; }
.answer-change-dialog { align-items:center; background:rgba(5,18,31,.72); display:flex; inset:0; justify-content:center; padding:20px; position:fixed; z-index:1000; }
.answer-change-dialog[hidden] { display:none; }
.answer-change-dialog-card { background:#faf7f0; border:1px solid #d5bc8d; border-radius:15px; box-shadow:0 24px 65px rgba(0,0,0,.4); max-width:520px; padding:29px; text-align:center; width:100%; }
.answer-change-dialog-card > p { color:#a17534; font-size:9px; font-weight:800; letter-spacing:1.5px; margin:0 0 10px; text-transform:uppercase; }
.answer-change-dialog-card h2 { color:#10243a; font-family:Georgia,'Times New Roman',serif; font-size:25px; font-weight:400; margin:0 0 18px; }
.answer-change-summary { align-items:center; background:#f0e9dc; border-radius:8px; color:#23384d; display:flex; font-size:13px; font-weight:800; gap:12px; justify-content:center; margin-bottom:15px; padding:12px; }
.answer-change-summary b { color:#b4833d; }
.answer-change-dialog-card > small { color:#6d7782; display:block; font-size:11px; line-height:1.55; }
.answer-change-actions { display:grid; gap:9px; margin-top:22px; }
.answer-change-actions button { background:#14334f; border:1px solid #14334f; border-radius:7px; color:#fff; font-size:11px; font-weight:800; min-height:48px; padding:8px 14px; }
.answer-change-actions .mistake-confirm { background:#a87935; border-color:#a87935; }
.answer-change-actions .cancel-change { background:transparent; border-color:#d6cec2; color:#64707d; }
.juror-live-footer { color:#8491a0; display:flex; font-size:8px; font-weight:700; justify-content:space-between; letter-spacing:1px; margin:0 auto; max-width:980px; padding:0 4px 16px; text-transform:uppercase; }
.footer-security { color:#a88a5a; }
.footer-security i { margin-right:4px; }

@media (max-width:820px) {
    .juror-intake-stage { grid-template-columns:1fr; margin:30px auto; max-width:680px; }
    .juror-welcome { border-radius:16px 16px 0 0; padding:42px 45px; }
    .juror-welcome:after { border-radius:11px 11px 0 0; inset:11px 11px 0; }
    .juror-welcome h1 br { display:none; }
    .juror-welcome > p:not(.juror-eyebrow) { margin-bottom:0; max-width:none; }
    .juror-case-plaque { margin-top:25px; }
    .juror-intake-card { border-left:1px solid #d8c7a8; border-radius:0 0 16px 16px; }
    .juror-question-card { min-height:510px; }
}
@media (max-width:560px) {
    .juror-app-shell,.juror-live-app { padding-left:max(13px,env(safe-area-inset-left)); padding-right:max(13px,env(safe-area-inset-right)); }
    .juror-brand-bar,.juror-live-bar { min-height:72px; }
    .juror-brand-mark { flex-basis:36px; font-size:20px; height:36px; }
    .juror-brand-copy strong { font-size:16px; }
    .juror-brand-copy span { font-size:7px; letter-spacing:1px; }
    .secure-session-mark { font-size:0; }
    .secure-session-mark:after { content:"Secure"; font-size:8px; }
    .juror-intake-stage { margin:18px auto 28px; }
    .juror-welcome { padding:35px 27px 31px; }
    .juror-eyebrow { margin-bottom:12px; }
    .juror-welcome h1 { font-size:31px; }
    .juror-gold-rule { margin:21px 0; }
    .juror-welcome > p:not(.juror-eyebrow) { font-size:14px; }
    .juror-intake-card { padding:28px 21px 26px; }
    .intake-progress { font-size:0; margin-bottom:26px; }
    .intake-progress b { font-size:9px; margin-right:0; }
    .intake-progress i { margin:0 8px; width:35px; }
    .intake-card-head h2 { font-size:29px; }
    .juror-form-grid { grid-template-columns:1fr; }
    .juror-field.field-full { grid-column:auto; }
    .juror-radio-grid { grid-template-columns:1fr; }
    .juror-radio-option span { justify-content:flex-start; min-height:50px; padding-left:16px; }
    .live-juror-identity .connection-status { font-size:0; }
    .live-juror-identity .connection-status:after { content:"Live"; font-size:8px; }
    .live-juror-identity > strong { font-size:12px; }
    .juror-question-stage { margin:18px auto 24px; }
    .juror-question-card { border-radius:13px; min-height:calc(100vh - 135px); padding:25px 17px 30px; }
    .juror-question-card h1 { font-size:26px; }
    .juror-prompt-label { margin-top:25px; }
    .waiting-emblem { margin-top:42px; }
    .choice-stack { margin:22px auto; }
    .choice-btn { font-size:14px; grid-template-columns:39px 1fr 23px; min-height:64px; padding:7px 12px; }
    .juror-pulse-card { border-radius:11px; padding:18px 15px; }
    .juror-pulse-heading { align-items:flex-start; }
    .juror-pulse-heading h2 { font-size:19px; }
    .juror-pulse-choices { grid-template-columns:1fr; }
    .juror-live-footer { display:none; }
}

/* Secure customer account center */
body.account-page { background:#eef1f3; }
body.account-page .scene-bg { display:none; }
.account-workspace { margin:0 auto; max-width:1320px; padding:32px 34px 70px; }
.account-hero { align-items:center; background:linear-gradient(120deg,#061625,#123552); border:1px solid rgba(195,151,76,.7); border-radius:14px; box-shadow:0 15px 36px rgba(10,28,45,.17); color:#fff; display:flex; justify-content:space-between; margin-bottom:22px; overflow:hidden; padding:34px 40px; position:relative; }
.account-hero::after { border:1px solid rgba(211,173,105,.21); content:""; inset:9px; pointer-events:none; position:absolute; }
.account-eyebrow { color:#c69a52; font-size:9px; font-weight:800; letter-spacing:1.7px; margin:0 0 6px; text-transform:uppercase; }
.account-hero h1 { font-family:Georgia,'Times New Roman',serif; font-size:38px; font-weight:400; margin:0 0 8px; }
.account-hero > div > p:last-child { color:#bdc8d2; font-size:12px; margin:0; }
.account-seal { align-items:center; border:1px solid #c39850; border-radius:50%; color:#ddb971; display:flex; font-size:24px; height:58px; justify-content:center; position:relative; width:58px; z-index:1; }
.account-layout { align-items:start; display:grid; gap:20px; grid-template-columns:1fr 1fr; }
.account-card { background:#fffdf9; border:1px solid #ddd5c9; border-radius:11px; box-shadow:0 7px 22px rgba(21,37,54,.055); padding:27px; }
.account-card > header { border-bottom:1px solid #e4ddd2; margin-bottom:22px; padding-bottom:17px; }
.account-card h2 { color:#12273d; font-family:Georgia,'Times New Roman',serif; font-size:24px; font-weight:400; margin:0; }
.account-card header > p:last-child:not(.account-eyebrow) { color:#7e8791; font-size:9px; margin:7px 0 0; }
.account-profile-card { min-height:285px; }
.account-profile { align-items:center; display:grid; gap:12px 18px; grid-template-columns:64px minmax(0,1fr); }
.account-avatar { align-items:center; background:linear-gradient(145deg,#173a58,#0a2138); border:1px solid #c3974f; border-radius:50%; color:#e1be7a; display:flex; font-family:Georgia,serif; font-size:25px; height:60px; justify-content:center; width:60px; }
.account-identity h3,.account-company h3 { color:#193047; font-family:Georgia,serif; font-size:21px; font-weight:400; margin:0; }
.account-identity span { color:#8a929a; display:block; font-size:10px; margin:4px 0 7px; }
.account-identity em { background:#eee5d7; border-radius:12px; color:#8c672f; display:inline-block; font-size:7px; font-style:normal; font-weight:800; letter-spacing:.6px; padding:5px 8px; text-transform:uppercase; }
.account-profile dl { border-top:1px solid #e8e1d7; display:grid; gap:12px; grid-column:1/-1; grid-template-columns:1fr 1fr; margin:8px 0 0; padding-top:18px; }
.account-profile dl div { display:flex; flex-direction:column; }
.account-profile dt,.account-company > span,.account-plan-badge > span { color:#8b939b; font-size:7px; font-weight:800; letter-spacing:.8px; text-transform:uppercase; }
.account-profile dd { color:#30465b; font-size:10px; margin:5px 0 0; }
.account-profile dd.status-active { color:#3c8556; font-weight:800; }
.account-company small { color:#959ba2; display:block; font-size:8px; margin-top:5px; }
.account-plan-badge { background:#f4eee4; border:1px solid #dfd1bd; border-radius:8px; margin:19px 0; padding:15px; }
.account-plan-badge strong { color:#17314a; display:block; font-family:Georgia,serif; font-size:18px; font-weight:400; margin:5px 0; }
.account-plan-badge small { color:#8b7659; font-size:8px; }
.account-plan-badge.unlimited { background:#eaf3ed; border-color:#c9ddcf; }
.account-metrics { display:grid; grid-template-columns:repeat(3,1fr); }
.account-metrics div { border-right:1px solid #e5ded4; text-align:center; }
.account-metrics div:last-child { border-right:0; }
.account-metrics strong { color:#193149; display:block; font-size:15px; }
.account-metrics span { color:#8e959d; display:block; font-size:7px; margin-top:4px; text-transform:uppercase; }
.account-plan > p { color:#91979e; font-size:8px; margin:18px 0 0; }
.account-password-card { grid-column:1/-1; }
.account-password-card form { align-items:end; display:grid; gap:14px; grid-template-columns:repeat(3,1fr) auto; }
.account-password-card label span { color:#596676; display:block; font-size:8px; font-weight:800; letter-spacing:.8px; margin-bottom:6px; text-transform:uppercase; }
.account-password-card input { border:1px solid #d6d2cb; border-radius:6px; box-sizing:border-box; min-height:44px; outline:0; padding:0 12px; width:100%; }
.account-password-card input:focus { border-color:#b78a46; box-shadow:0 0 0 3px rgba(183,138,70,.12); }
.account-primary { background:#102e4a; border:0; border-radius:6px; color:#fff; font-size:9px; font-weight:800; min-height:44px; padding:0 19px; }
.account-primary b { color:#d9af67; margin-left:12px; }
.account-primary:disabled { opacity:.6; }
.account-message { grid-column:1/-1; font-size:9px; min-height:0; }
.account-message.success { background:#eaf5ee; border-radius:5px; color:#39754d; padding:9px 11px; }
.account-message.error { background:#fff0ed; border-radius:5px; color:#a14438; padding:9px 11px; }
#auditExport { background:#b58a49; border-color:#b58a49; }
.audit-filter-card { grid-template-columns:210px 180px minmax(200px,1fr) 95px 65px 95px; }

@media (max-width:900px) {
    .account-workspace { padding:22px 18px 55px; }
    .account-layout { grid-template-columns:1fr; }
    .account-password-card { grid-column:auto; }
    .account-password-card form { grid-template-columns:1fr; }
    .audit-filter-card { grid-template-columns:1fr 1fr; }
}
@media (max-width:560px) {
    .account-workspace { padding:15px 11px 45px; }
    .account-hero { padding:25px 21px; }
    .account-hero h1 { font-size:29px; }
    .account-seal { display:none; }
    .account-card { padding:21px 17px; }
    .account-profile dl { grid-template-columns:1fr; }
    .audit-filter-card { grid-template-columns:1fr; }
}

/* Live Command Center — luxury courtroom finish */
body.control-room-page { background:#eef0f2; }
body.control-room-page .scene-bg { background:radial-gradient(circle at 70% 0,rgba(184,139,71,.08),transparent 27%),linear-gradient(#f5f3ee,#eceff2); display:block; inset:0; pointer-events:none; position:fixed; }
body.control-room-page .scene-bg { z-index:0; }
body.control-room-page .control-room-shell { position:relative; z-index:1; }
.control-header-strip { background:linear-gradient(115deg,#071827,#102f4b); border-bottom:2px solid #b58a47; box-shadow:0 8px 25px rgba(6,21,36,.22); color:#fff; padding:13px 25px; }
.heading-menu-toggle { background:rgba(255,255,255,.08) !important; border-color:rgba(208,173,111,.38) !important; }
.heading-toggle-bars,.heading-toggle-bars:before,.heading-toggle-bars:after { background:#d8bd8d !important; }
.control-crest { align-items:center; border:1px solid #b68b48; border-radius:50%; color:#d7b36f; display:flex; flex:0 0 38px; font-family:Georgia,serif; font-size:20px; height:38px; justify-content:center; }
.control-title-copy { display:flex; flex-direction:column; }
.control-title-copy small { color:#c99c54; font-size:7px; font-weight:800; letter-spacing:1.45px; text-transform:uppercase; }
.title-row .control-title-copy h1 { color:#fff; font-family:Georgia,'Times New Roman',serif; font-size:21px; font-weight:400; letter-spacing:0; margin-top:2px; }
.live-pill { background:#477c59; border:1px solid rgba(255,255,255,.18); font-size:8px; letter-spacing:1px; }
.live-pill.status-idle { background:#786c58; }
.live-pill.status-paused { background:#a4752e; }
.live-pill.status-ended { background:#75413c; }
.meta-row { margin-left:91px; }
.case-meta { color:#aeb9c5; font-size:10px; }
.case-meta strong { color:#f4f0e8; }
.time-block { border-left:1px solid rgba(255,255,255,.15); padding-left:13px; }
.time-block span { color:#99a7b6; font-size:8px; }
.time-block strong,#statusTimer,.time-block:nth-child(2) strong { color:#f3eadb; font-family:Georgia,'Times New Roman',serif; font-size:21px; font-weight:400; }
.header-right .btn { border-radius:5px; font-size:10px; font-weight:700; }
#startSessionBtn { background:#b38846; }
#pauseSessionBtn { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.22); color:#edf0f3; }
#endSessionBtn { background:#983e34; }
.control-layout-grid { gap:17px; padding:20px; }
.display-panel { background:#fffdf9; border:1px solid #ddd6cb; border-radius:9px; box-shadow:0 7px 20px rgba(14,31,48,.06); }
.display-panel h2,.display-panel h4 { color:#8c7047; font-size:9px; font-weight:800; letter-spacing:1.25px; }
.phase-control-card { border-top:3px solid #b58a47; }
.phase-avatar { background:#102f4b; border:1px solid #b88d4b; }
.phase-avatar:before { filter:sepia(1) saturate(.7); }
#phaseTitle { color:#14293e; font-family:Georgia,'Times New Roman',serif; font-size:19px; font-weight:400; }
#currentQuestionText { color:#1e3043; font-family:Georgia,'Times New Roman',serif; font-size:16px; font-weight:400; }
#questionTypeLabel { background:#f2eadc; color:#8d672f; }
.phase-action-btn.btn.blue,#pushLeanBtn,.dock-btn.blue,.dock-btn.next { background:linear-gradient(135deg,#153755,#091e34); box-shadow:0 6px 14px rgba(9,29,48,.13); }
.jury-main-card { border-top:3px solid #b58a47; }
.jury-eyebrow { color:#b18747; font-size:7px; font-weight:800; letter-spacing:1.35px; margin:0 0 2px; text-transform:uppercase; }
.jury-main-head h2 { color:#14283d; font-family:Georgia,'Times New Roman',serif; font-size:18px; font-weight:400; letter-spacing:0; text-transform:none; }
.seat-mode-switch { border-color:#d9d1c4; }
.mini-btn.active { background:#102f4b; }
#jurySeats { background:linear-gradient(180deg,#faf7f0,#f3eee5); border:1px solid #e2d8c8; border-radius:8px; margin-bottom:13px; min-height:260px; padding:26px 12px 20px; position:relative; }
#jurySeats:before { color:#a88a5c; content:'JURY BOX'; font-size:7px; font-weight:800; left:12px; letter-spacing:1.2px; position:absolute; top:9px; }
.seat-row { gap:clamp(10px,2vw,22px); }
.seat { gap:4px; width:82px; }
.seat-avatar { border:1px solid rgba(255,255,255,.32); border-radius:10px; box-shadow:0 5px 10px rgba(25,36,47,.10); height:69px; width:72px; }
.seat-num { background:#fffdf8; border-color:#d5c9b7; color:#8b6938; font-family:Georgia,serif; height:21px; width:21px; }
.seat-name { color:#304255; display:block; font-size:8px; font-weight:700; line-height:1.2; max-width:82px; min-height:19px; overflow:hidden; text-align:center; text-overflow:ellipsis; }
.seat.disconnected .seat-name { color:#586575; }
.seat.disconnected .seat-name::after { color:#8b929a; content:' · Offline'; font-size:7px; font-weight:600; }
.seat-legend-row { border-bottom:1px solid #e4ddd2; padding-bottom:13px; }
.monitor-counter-strip { background:#f8f5ef; border-color:#dfd6c9; }
.mini-panel { background:#fffdf9; border-color:#e2dbd0; }
.right-insights-col .display-panel { border-top:2px solid #c4a064; }
.gauge-card { background:#f6f2eb; border-color:#e0d8cc; }
.projected-verdict { background:#f5f0e7; border-color:#ddd1bf; color:#725a38; }
.command-dock { background:#fffdf9; border-top:1px solid #d8d0c3; box-shadow:0 -5px 18px rgba(12,29,46,.06); }
.custom-alignment-wrap { background:#f5f1e9; border:1px solid #ded5c7; border-radius:6px; margin:12px 0; padding:10px; }
.custom-alignment-wrap > small { color:#8b6936; display:block; font-size:8px; font-weight:800; letter-spacing:.9px; margin-bottom:7px; text-transform:uppercase; }
#customAnswerAlignmentList { display:grid; gap:6px; }
#customAnswerAlignmentList label { align-items:center; display:grid; gap:8px; grid-template-columns:1fr 1.2fr; }
#customAnswerAlignmentList label span { color:#34475a; font-size:10px; font-weight:700; }
#customAnswerAlignmentList select { background:#fff; border:1px solid #d6cfc4; border-radius:4px; color:#34475a; font-size:9px; min-height:30px; padding:0 6px; }

/* Courtroom seat designer */
.courtroom-builder { background:linear-gradient(180deg,#eee7da,#f8f4ec); border:1px solid #d3c4ae; border-radius:8px; margin:19px 0 8px; overflow:hidden; padding:10px; }
.seating-template-panel { align-items:end; background:#f6f1e8; border:1px solid #ded2c0; border-radius:7px; display:grid; gap:8px; grid-template-columns:minmax(0,1.25fr) auto auto minmax(0,1fr) auto; margin-bottom:17px; padding:12px; }
.seating-template-panel label { display:flex; flex-direction:column; gap:6px; }
.seating-template-panel label span { color:#5c6877; font-size:8px; font-weight:800; letter-spacing:.8px; text-transform:uppercase; }
.seating-template-panel select,.seating-template-panel input { background:#fff; border:1px solid #d8d0c4; border-radius:5px; color:#26394c; min-height:36px; padding:0 10px; width:100%; }
.seating-template-panel button { background:#15344f; border:1px solid #15344f; border-radius:5px; color:#fff; font-size:8px; font-weight:800; min-height:36px; padding:0 12px; text-transform:uppercase; }
.seating-template-panel button.danger { background:#fff; border-color:#d7c8bc; color:#9a493c; }
.courtroom-front,.courtroom-floor { display:flex; justify-content:center; gap:8px; }
.courtroom-front span,.courtroom-floor span { background:#6b4930; border:1px solid #4f3422; border-radius:3px; box-shadow:inset 0 1px rgba(255,255,255,.15); color:#f0ddbd; font-family:Georgia,serif; font-size:8px; padding:6px 18px; text-align:center; }
.courtroom-front span:first-child { min-width:110px; }
.courtroom-front span:last-child { background:#806044; min-width:55px; }
.courtroom-floor { justify-content:space-around; }
.courtroom-floor span { background:#77543a; min-width:90px; }
.courtroom-builder .jury-layout-preview { background:transparent; border:0; margin:9px 0; min-height:118px; }
.courtroom-builder .jury-layout-preview span { background:linear-gradient(#173953,#0c263d); border:1px solid #b48b4a; border-radius:6px 6px 3px 3px; color:#fff; cursor:grab; flex-direction:column; height:38px; user-select:none; width:37px; }
.courtroom-builder .jury-layout-preview span b { color:#e1bc78; font-family:Georgia,serif; font-size:10px; font-weight:400; }
.courtroom-builder .jury-layout-preview span small { color:#aeb9c5; font-size:5px; letter-spacing:.5px; text-transform:uppercase; }
.courtroom-builder .jury-layout-preview span.dragging { opacity:.35; transform:scale(.92); }
.courtroom-builder .jury-layout-preview span.selected-for-swap { box-shadow:0 0 0 3px rgba(205,164,91,.35); transform:translateY(-3px); }
.seat-drag-help { color:#8d9298; font-size:8px; line-height:1.5; margin:0 0 15px; text-align:center; }

@media (max-width:1180px) {
    .control-layout-grid { grid-template-columns:235px minmax(0,1fr); }
    .right-insights-col { display:grid; grid-column:1 / -1; grid-template-columns:repeat(4,1fr); }
}
@media (max-width:760px) {
    .control-header-strip { position:relative; }
    .control-crest { display:none; }
    .meta-row { margin-left:0; }
    .control-layout-grid { grid-template-columns:1fr; padding:12px; }
    .right-insights-col { grid-column:auto; grid-template-columns:1fr 1fr; }
    .seat-row { flex-wrap:wrap; }
}
@media (max-width:520px) {
    .title-row .control-title-copy h1 { font-size:17px; }
    .control-title-copy small { display:none; }
    .header-right { align-items:stretch; width:100%; }
    .header-actions-box { width:100%; }
    .time-block { flex:1; }
    .right-insights-col { grid-template-columns:1fr; }
    .seat { width:68px; }
    .seat-avatar { height:58px; width:61px; }
    .seat-name { max-width:68px; }
    .command-dock { overflow-x:auto; }
    .dock-btn { flex:0 0 118px; }
}

/* Admin Builder — premium moderator configuration */
body.admin-builder-page { background:#f1f3f5; }
body.admin-builder-page .scene-bg { display:none; }
.builder-workspace { margin:0 auto; max-width:1440px; padding:34px 36px 70px; }
.builder-hero { align-items:center; background:linear-gradient(125deg,#071827,#102f4b); border-radius:13px; box-shadow:0 12px 30px rgba(10,29,47,.14); color:#fff; display:flex; justify-content:space-between; margin-bottom:25px; overflow:hidden; padding:36px 40px; position:relative; }
.builder-hero:after { border:1px solid rgba(204,164,96,.25); content:""; inset:9px; pointer-events:none; position:absolute; }
.builder-eyebrow,.builder-card-head p { color:#c89c55; font-size:9px; font-weight:800; letter-spacing:1.7px; margin:0 0 6px; text-transform:uppercase; }
.builder-hero h1 { font-family:Georgia,'Times New Roman',serif; font-size:35px; font-weight:400; margin:0 0 8px; }
.builder-hero > div > p:last-child { color:#bdc7d2; font-size:12px; line-height:1.55; margin:0; max-width:680px; }
.builder-case-select { position:relative; width:245px; z-index:1; }
.builder-case-select span { color:#d4b16f; display:block; font-size:8px; font-weight:800; letter-spacing:1.4px; margin-bottom:7px; text-transform:uppercase; }
.builder-case-select select { appearance:none; background:#fffdf8; border:1px solid #c6a66e; border-radius:6px; color:#172b40; font-size:12px; min-height:44px; padding:0 34px 0 13px; width:100%; }
.builder-notice { background:#eaf5ee; border:1px solid #b9d9c2; border-radius:7px; color:#39754d; font-size:11px; font-weight:700; margin:-10px 0 20px; padding:12px 15px; }
.builder-notice.error { background:#fff1ed; border-color:#e0bcb3; color:#9c493b; }
.builder-grid { display:grid; gap:20px; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); }
.builder-card { background:#fffdf9; border:1px solid #ddd5c9; border-radius:11px; box-shadow:0 7px 22px rgba(21,37,54,.055); padding:25px; }
.builder-card-head { align-items:center; border-bottom:1px solid #e5ded3; display:flex; padding-bottom:17px; }
.builder-card-number { align-items:center; background:linear-gradient(145deg,#143552,#091c30); border:1px solid #b68b48; border-radius:50%; color:#d8b56e; display:flex; flex:0 0 43px; font-family:Georgia,serif; font-size:13px; height:43px; justify-content:center; margin-right:13px; }
.builder-card-head p { margin-bottom:2px; }
.builder-card-head h2,.field-library-head h2 { color:#12273d; font-family:Georgia,'Times New Roman',serif; font-size:23px; font-weight:400; margin:0; }
.builder-card-intro { color:#77818c; font-size:11px; line-height:1.6; margin:17px 0 19px; }
.builder-fields { display:grid; gap:15px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.builder-fields.two-col { grid-template-columns:minmax(120px,.62fr) minmax(190px,1.38fr); }
.builder-fields .field-wide { grid-column:1 / -1; }
.builder-fields label > span,.field-editor label { color:#586575; display:block; font-size:8px; font-weight:800; letter-spacing:.8px; text-transform:uppercase; }
.builder-fields input,.builder-fields select,.field-editor input,.field-editor select { background:#fff; border:1px solid #d6d2cb; border-radius:6px; box-sizing:border-box; color:#1a3047; font-size:12px; min-height:43px; outline:none; padding:0 12px; width:100%; }
.builder-fields input:focus,.builder-fields select:focus,.field-editor input:focus,.field-editor select:focus { border-color:#b78a46; box-shadow:0 0 0 3px rgba(183,138,70,.12); }
.builder-fields small { color:#9a9fa5; display:block; font-size:8px; font-weight:500; letter-spacing:0; margin-top:5px; text-transform:none; }
.juror-timeout-card { margin-top:20px; }
.juror-timeout-content { align-items:end; display:grid; gap:24px; grid-template-columns:minmax(0,1fr) 190px; }
.juror-timeout-content .builder-card-intro { margin-bottom:14px; max-width:760px; }
.juror-timeout-content label > span { color:#586575; display:block; font-size:8px; font-weight:800; letter-spacing:.8px; margin-bottom:7px; text-transform:uppercase; }
.juror-timeout-content select { background:#fff; border:1px solid #d6d2cb; border-radius:6px; box-sizing:border-box; color:#1a3047; font-size:12px; min-height:43px; outline:none; padding:0 12px; width:min(420px,100%); }
.juror-timeout-content select:focus { border-color:#b78a46; box-shadow:0 0 0 3px rgba(183,138,70,.12); }
#fieldOptionsWrap { transition:opacity .18s; }
#fieldOptionsWrap.is-muted { opacity:.48; }
.jury-layout-preview { align-items:center; background:#f6f2ea; border:1px dashed #d5c7b1; border-radius:7px; display:flex; flex-direction:column; gap:7px; justify-content:center; margin:19px 0; min-height:105px; padding:12px; }
.jury-layout-preview > div { display:flex; gap:6px; justify-content:center; }
.jury-layout-preview span { align-items:center; background:#fff; border:1px solid #cfc8bc; border-radius:4px 4px 8px 8px; color:#546171; display:flex; font-size:8px; height:24px; justify-content:center; width:27px; }
.builder-primary-btn { align-items:center; background:linear-gradient(135deg,#153755,#091e34); border:0; border-radius:6px; box-shadow:0 7px 16px rgba(10,31,51,.14); color:#fff; display:flex; font-size:10px; font-weight:800; justify-content:space-between; min-height:44px; padding:0 15px 0 17px; width:100%; }
.builder-primary-btn b { color:#d8ae65; font-size:17px; }
.builder-primary-btn:disabled { cursor:wait; opacity:.58; }
.builder-form-footer { align-items:center; border-top:1px solid #e5ded3; display:flex; gap:18px; justify-content:space-between; margin-top:20px; padding-top:18px; }
.builder-check { align-items:center; cursor:pointer; display:flex; }
.builder-check input { accent-color:#a87d3e; height:16px; margin:0 9px 0 0; width:16px; }
.builder-check span { display:flex; flex-direction:column; }
.builder-check b { color:#445264; font-size:10px; }
.builder-check small { color:#9299a1; font-size:8px; margin-top:2px; }
.builder-primary-btn.compact { flex:0 0 180px; }
.field-library-card { margin-top:20px; padding:0; overflow:hidden; }
.field-library-head { align-items:center; border-bottom:1px solid #e1dacf; display:flex; justify-content:space-between; padding:23px 25px; }
.field-library-head .builder-eyebrow { margin-bottom:3px; }
.field-library-head > div > span { color:#8b929a; display:block; font-size:9px; margin-top:4px; }
.field-count { align-items:center; background:#f5f0e7; border:1px solid #ded3c2; border-radius:7px; display:flex; flex-direction:column; min-width:64px; padding:8px; }
.field-count strong { color:#9a7137; font-family:Georgia,serif; font-size:20px; font-weight:400; }
.field-count span { color:#858c94; font-size:7px; font-weight:800; letter-spacing:.8px; text-transform:uppercase; }
.profile-field-row { align-items:center; border-bottom:1px solid #e9e3da; display:grid; gap:15px; grid-template-columns:36px 37px minmax(0,1fr) auto; min-height:91px; padding:13px 24px; }
.profile-field-row:last-child { border-bottom:0; }
.profile-field-row:hover { background:#fcfaf6; }
.field-order { display:flex; flex-direction:column; gap:3px; }
.field-order button { background:#fff; border:1px solid #d9d3ca; border-radius:4px; color:#7c6a4f; font-size:11px; height:23px; width:27px; }
.field-order button:disabled { opacity:.25; }
.field-index { color:#c3a46f; font-family:Georgia,serif; font-size:16px; }
.field-summary strong { color:#1c3147; display:block; font-family:Georgia,'Times New Roman',serif; font-size:16px; font-weight:400; margin-bottom:6px; }
.field-summary div { align-items:center; display:flex; gap:7px; }
.field-summary div span,.field-summary em { background:#edf1f4; border-radius:10px; color:#627080; font-size:7px; font-style:normal; font-weight:800; letter-spacing:.6px; padding:4px 7px; text-transform:uppercase; }
.field-summary em { background:#f4ead8; color:#8e672e; }
.field-summary em.optional { background:#f0f1f2; color:#868d95; }
.field-summary small { color:#8a9097; display:block; font-size:9px; margin-top:7px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.field-row-actions { display:flex; gap:6px; }
.field-row-actions button,.field-editor button { background:#fff; border:1px solid #d9d3ca; border-radius:5px; color:#48586a; font-size:8px; font-weight:800; min-height:30px; padding:0 10px; text-transform:uppercase; }
.field-row-actions .delete-field { color:#9a493c; }
.field-editor { align-items:end; background:#f6f2eb; border-radius:7px; display:grid; gap:10px; grid-column:1 / -1; grid-template-columns:1.2fr .7fr 1.5fr auto auto; padding:13px; }
.field-editor[hidden] { display:none; }
.field-editor label input,.field-editor label select { margin-top:5px; }
.field-editor .edit-required { align-items:center; display:flex; min-height:43px; white-space:nowrap; }
.field-editor .edit-required input { accent-color:#a87d3e; height:15px; margin:0 6px 0 0; min-height:0; width:15px; }
.field-editor > div { display:flex; gap:5px; }
.field-editor .save-field { background:#102e4a; border-color:#102e4a; color:#fff; }
.builder-loading,.builder-empty { color:#808892; padding:42px 20px; text-align:center; }
.builder-empty span { align-items:center; border:1px solid #c9a66c; border-radius:50%; color:#ae7e38; display:flex; font-size:22px; height:42px; justify-content:center; margin:0 auto 10px; width:42px; }
.builder-empty h3 { color:#1b3046; font-family:Georgia,serif; font-size:18px; font-weight:400; margin:0 0 4px; }
.builder-empty p { font-size:10px; margin:0; }

@media (max-width:1050px) {
    .builder-grid { grid-template-columns:1fr; }
    .seating-template-panel { grid-template-columns:minmax(0,1fr) auto auto; }
    .seating-template-panel .template-name { grid-column:1 / 3; }
    .field-editor { grid-template-columns:1fr 1fr; }
    .field-editor > div { grid-column:1 / -1; }
}
@media (max-width:760px) {
    .builder-workspace { padding:22px 18px 55px; }
    .builder-hero { align-items:flex-start; flex-direction:column; gap:23px; padding:29px; }
    .builder-hero h1 { font-size:29px; }
    .builder-case-select { width:100%; }
    .builder-fields,.builder-fields.two-col { grid-template-columns:1fr; }
    .builder-fields .field-wide { grid-column:auto; }
    .seating-template-panel { grid-template-columns:1fr 1fr; }
    .seating-template-panel > label,.seating-template-panel .template-name { grid-column:1 / -1; }
    .profile-field-row { grid-template-columns:30px 28px minmax(0,1fr); padding:14px 15px; }
    .field-row-actions { grid-column:3; }
    .field-editor { grid-template-columns:1fr; }
    .field-editor > div { grid-column:auto; }
}
@media (max-width:480px) {
    .builder-workspace { padding:15px 11px 45px; }
    .builder-hero { padding:25px 21px; }
    .builder-card { padding:20px 16px; }
    .builder-form-footer { align-items:stretch; flex-direction:column; }
    .builder-primary-btn.compact { flex-basis:44px; width:100%; }
    .field-library-head { padding:19px 16px; }
    .field-library-head h2 { font-size:20px; }
    .field-library-head > div > span { max-width:220px; }
    .profile-field-row { gap:9px; }
}

/* Admin Users — secure moderator directory */
body.admin-users-page { background:#f1f3f5; }
body.admin-users-page .scene-bg { display:none; }
.users-workspace { margin:0 auto; max-width:1400px; padding:34px 36px 70px; }
.users-hero { align-items:center; background:linear-gradient(125deg,#071827,#102f4b); border-radius:13px; box-shadow:0 12px 30px rgba(10,29,47,.14); color:#fff; display:flex; justify-content:space-between; margin-bottom:25px; overflow:hidden; padding:35px 40px; position:relative; }
.users-hero:after { border:1px solid rgba(204,164,96,.25); content:""; inset:9px; pointer-events:none; position:absolute; }
.users-eyebrow,.user-editor-card > header p { color:#c89c55; font-size:9px; font-weight:800; letter-spacing:1.7px; margin:0 0 5px; text-transform:uppercase; }
.users-hero h1 { font-family:Georgia,'Times New Roman',serif; font-size:35px; font-weight:400; margin:0 0 8px; }
.users-hero > div:first-child > p:last-child { color:#bdc7d2; font-size:12px; line-height:1.55; margin:0; max-width:690px; }
.users-security-mark { align-items:center; display:flex; position:relative; z-index:1; }
.users-security-mark > span { align-items:center; border:1px solid #ba914e; border-radius:50%; color:#d3ad67; display:flex; font-size:17px; height:43px; justify-content:center; margin-right:11px; width:43px; }
.users-security-mark div { display:flex; flex-direction:column; }
.users-security-mark small { color:#adbac7; font-size:7px; font-weight:800; letter-spacing:1.2px; text-transform:uppercase; }
.users-security-mark strong { color:#f2eee6; font-family:Georgia,serif; font-size:14px; font-weight:400; margin-top:3px; }
.users-notice { background:#eaf5ee; border:1px solid #b9d9c2; border-radius:7px; color:#39754d; font-size:11px; font-weight:700; margin:-10px 0 20px; padding:12px 15px; }
.users-notice.error { background:#fff1ed; border-color:#e0bcb3; color:#9c493b; }
.users-layout { align-items:start; display:grid; gap:20px; grid-template-columns:340px minmax(0,1fr); }
.user-editor-card,.user-directory-card { background:#fffdf9; border:1px solid #ddd5c9; border-radius:11px; box-shadow:0 7px 22px rgba(21,37,54,.055); overflow:hidden; }
.user-editor-card { padding:25px; }
.user-editor-card > header { align-items:center; border-bottom:1px solid #e5ded3; display:flex; padding-bottom:17px; }
.user-card-seal { align-items:center; background:linear-gradient(145deg,#143552,#091c30); border:1px solid #b68b48; border-radius:50%; color:#d8b56e; display:flex; flex:0 0 43px; font-family:Georgia,serif; font-size:22px; height:43px; justify-content:center; margin-right:13px; }
.user-editor-card > header p { margin-bottom:2px; }
.user-editor-card h2,.user-directory-head h2 { color:#12273d; font-family:Georgia,'Times New Roman',serif; font-size:23px; font-weight:400; margin:0; }
.user-card-intro { color:#77818c; font-size:11px; line-height:1.6; margin:17px 0 19px; }
.user-form-fields { display:grid; gap:15px; }
.user-form-fields label > span:not(.user-active-toggle span) { color:#586575; display:block; font-size:8px; font-weight:800; letter-spacing:.8px; margin-bottom:6px; text-transform:uppercase; }
.user-form-fields input[type=text],.user-form-fields input[type=password] { background:#fff; border:1px solid #d6d2cb; border-radius:6px; box-sizing:border-box; color:#1a3047; font-size:12px; min-height:45px; outline:none; padding:0 12px; width:100%; }
.user-form-fields input[type=text]:focus,.user-form-fields input[type=password]:focus { border-color:#b78a46; box-shadow:0 0 0 3px rgba(183,138,70,.12); }
.user-form-fields label > small { color:#999ea5; display:block; font-size:8px; margin-top:5px; }
.user-active-toggle { align-items:center; background:#f6f2eb; border:1px solid #e2dbd0; border-radius:7px; cursor:pointer; display:flex; padding:11px 12px; }
.user-active-toggle > input { height:1px; opacity:0; position:absolute; width:1px; }
.user-active-toggle > span { background:#a7adb3; border-radius:20px; flex:0 0 35px; height:20px; margin-right:10px; padding:2px; transition:.18s; }
.user-active-toggle > span i { background:#fff; border-radius:50%; box-shadow:0 1px 3px rgba(0,0,0,.25); display:block; height:16px; transition:.18s; width:16px; }
.user-active-toggle > input:checked + span { background:#a77c3c; }
.user-active-toggle > input:checked + span i { transform:translateX(15px); }
.user-active-toggle > div { display:flex; flex-direction:column; }
.user-active-toggle strong { color:#3e4d5e; font-size:9px; }
.user-active-toggle small { color:#92989f; font-size:8px; margin-top:2px; }
.user-primary-action { align-items:center; background:linear-gradient(135deg,#153755,#091e34); border:0; border-radius:6px; box-shadow:0 7px 16px rgba(10,31,51,.14); color:#fff; display:flex; font-size:10px; font-weight:800; justify-content:space-between; margin-top:20px; min-height:46px; padding:0 15px 0 17px; width:100%; }
.user-primary-action b { color:#d8ae65; font-size:17px; }
.user-primary-action:disabled { cursor:wait; opacity:.58; }
.user-clear-action { background:transparent; border:0; color:#7d858e; font-size:8px; font-weight:800; margin-top:11px; min-height:29px; text-transform:uppercase; width:100%; }
.user-directory-head { align-items:center; border-bottom:1px solid #e1dacf; display:flex; justify-content:space-between; padding:23px 25px; }
.user-directory-head .users-eyebrow { margin-bottom:3px; }
.user-directory-head > div:first-child > span { color:#8b929a; display:block; font-size:9px; margin-top:4px; }
.user-count { align-items:center; background:#f5f0e7; border:1px solid #ded3c2; border-radius:7px; display:flex; flex-direction:column; min-width:64px; padding:8px; }
.user-count strong { color:#9a7137; font-family:Georgia,serif; font-size:20px; font-weight:400; }
.user-count span { color:#858c94; font-size:7px; font-weight:800; letter-spacing:.8px; text-transform:uppercase; }
.admin-user-row { align-items:center; border-bottom:1px solid #e9e3da; display:grid; gap:15px; grid-template-columns:48px minmax(150px,1.2fr) 80px minmax(125px,.8fr) auto; min-height:91px; padding:13px 24px; transition:background .15s; }
.admin-user-row:last-child { border-bottom:0; }
.admin-user-row:hover { background:#fcfaf6; }
.admin-avatar { align-items:center; background:linear-gradient(145deg,#173a58,#0a2138); border:1px solid #bd9551; border-radius:50%; color:#e1be7a; display:flex; font-family:Georgia,serif; font-size:14px; height:42px; justify-content:center; width:42px; }
.admin-identity { display:flex; flex-direction:column; min-width:0; }
.admin-identity strong { color:#1a3046; font-family:Georgia,'Times New Roman',serif; font-size:16px; font-weight:400; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-identity span { color:#8b929a; font-size:9px; margin-top:4px; }
.admin-status { align-items:center; background:#f1f2f3; border-radius:14px; color:#6d7681; display:inline-flex; font-size:7px; font-weight:800; justify-content:center; letter-spacing:.6px; padding:6px 8px; text-transform:uppercase; }
.admin-status i { background:#8d949b; border-radius:50%; height:5px; margin-right:5px; width:5px; }
.admin-status.active { background:#eaf5ee; color:#39754d; }
.admin-status.active i { background:#4ca468; }
.admin-dates { display:flex; flex-direction:column; }
.admin-dates small { color:#9b9fa5; font-size:7px; font-weight:800; letter-spacing:.7px; text-transform:uppercase; }
.admin-dates strong { color:#455466; font-size:9px; margin:3px 0; }
.admin-dates span { color:#9a9fa5; font-size:8px; }
.admin-row-actions { display:flex; gap:6px; }
.admin-row-actions button { background:#fff; border:1px solid #d9d3ca; border-radius:5px; color:#48586a; font-size:8px; font-weight:800; min-height:31px; padding:0 11px; text-transform:uppercase; }
.admin-row-actions .delete-admin { color:#9a493c; }
.user-pager { border-top:1px solid #e9e3da; display:flex; gap:6px; justify-content:center; padding:14px; }
.user-pager:empty { display:none; }
.user-pager .pager-btn { background:#fff; border:1px solid #d9d3ca; border-radius:5px; color:#687482; font-size:9px; height:29px; min-width:29px; }
.user-pager .pager-btn.active { background:#102e4a; border-color:#102e4a; color:#fff; }
.users-loading,.users-empty { color:#808892; padding:55px 20px; text-align:center; }
.users-empty > span { color:#b58a48; font-size:30px; }
.users-empty h3 { color:#1b3046; font-family:Georgia,serif; font-size:18px; font-weight:400; margin:7px 0 4px; }
.users-empty p { font-size:10px; margin:0; }

@media (max-width:1050px) {
    .users-layout { grid-template-columns:300px minmax(0,1fr); }
    .admin-user-row { grid-template-columns:44px minmax(130px,1fr) 72px auto; }
    .admin-dates { display:none; }
}
@media (max-width:800px) {
    .users-workspace { padding:22px 18px 55px; }
    .users-hero { align-items:flex-start; flex-direction:column; gap:22px; padding:29px; }
    .users-hero h1 { font-size:29px; }
    .users-layout { grid-template-columns:1fr; }
}
@media (max-width:560px) {
    .users-workspace { padding:15px 11px 45px; }
    .users-hero { padding:25px 21px; }
    .users-security-mark { display:none; }
    .user-editor-card { padding:20px 16px; }
    .user-directory-head { padding:19px 16px; }
    .admin-user-row { gap:10px; grid-template-columns:42px minmax(0,1fr) 70px; padding:14px 13px; }
    .admin-row-actions { grid-column:2 / -1; }
}
/* Dedicated admin-only live jury monitor */
.live-jury-view-page { background:#081727; color:#182438; margin:0; min-height:100vh; }
.live-jury-view-page::before { background:radial-gradient(circle at 50% -20%,rgba(197,155,83,.20),transparent 42%),linear-gradient(135deg,#071421,#102943); content:""; inset:0; position:fixed; z-index:-1; }
.live-jury-monitor { margin:0 auto; max-width:1900px; min-height:100vh; padding:22px clamp(18px,2.5vw,48px) 38px; }
.live-monitor-header { align-items:center; border-bottom:1px solid rgba(213,174,105,.42); color:#fff; display:grid; gap:25px; grid-template-columns:minmax(320px,1fr) auto auto auto; margin-bottom:24px; padding:0 0 19px; }
.live-monitor-brand { align-items:center; display:flex; gap:15px; }
.live-monitor-brand .control-crest { border-color:#c99d50; color:#d5ab62; height:48px; width:48px; }
.live-monitor-brand small,.live-monitor-case span { color:#d3aa62; display:block; font-size:10px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.live-monitor-brand h1 { font-family:"Libre Baskerville",Georgia,serif; font-size:clamp(22px,2vw,34px); font-weight:400; margin:4px 0 0; }
.live-monitor-case strong { display:block; font-family:"Libre Baskerville",Georgia,serif; font-size:18px; margin-top:5px; }
.live-monitor-status { align-items:center; display:grid; gap:2px 8px; grid-template-columns:10px auto; }
.live-monitor-status i { background:#8d98a7; border-radius:50%; grid-row:1 / 3; height:9px; width:9px; }
.live-monitor-status i.status-running { background:#58c879; box-shadow:0 0 12px rgba(88,200,121,.7); }
.live-monitor-status i.status-paused { background:#e3b04f; }
.live-monitor-status i.status-ended { background:#c85a4c; }
.live-monitor-status span { color:#fff; font-size:12px; font-weight:800; letter-spacing:.12em; }
.live-monitor-status b { color:#aeb9c6; font-size:10px; font-weight:500; }
.live-monitor-close { border:1px solid rgba(213,174,105,.55); border-radius:6px; color:#f0d7a9; font-size:11px; font-weight:700; padding:12px 15px; text-decoration:none; }
.live-monitor-grid { align-items:stretch; display:grid; gap:22px; grid-template-columns:minmax(0,3.2fr) minmax(310px,1fr); }
.live-monitor-card { background:#fcfaf6; border:1px solid #d8c5a4; border-radius:13px; box-shadow:0 18px 50px rgba(0,0,0,.22); padding:clamp(20px,2vw,34px); }
.live-monitor-card > small,.live-monitor-card-head small { color:#a77b36; font-size:10px; font-weight:800; letter-spacing:.2em; }
.live-monitor-card h2,.live-monitor-card-head h2 { color:#12243a; font-family:"Libre Baskerville",Georgia,serif; font-size:clamp(24px,2vw,36px); font-weight:400; margin:6px 0 0; }
.live-monitor-card-head { align-items:end; border-bottom:1px solid #e4daca; display:flex; justify-content:space-between; margin-bottom:24px; padding-bottom:18px; }
.live-monitor-card-head > span { color:#637184; font-size:clamp(12px,1vw,16px); font-weight:600; max-width:55%; text-align:right; }
.live-jury-seats { display:flex; flex-direction:column; gap:30px; justify-content:center; min-height:clamp(470px,62vh,760px); overflow:auto; padding:20px 5px; }
.live-seat-row { display:flex; gap:clamp(14px,2vw,34px); justify-content:center; min-width:max-content; }
.live-juror-seat { align-items:center; border:2px solid transparent; border-radius:14px; color:#fff; display:flex; flex-direction:column; min-height:155px; padding:13px 9px 11px; position:relative; transition:background .3s,border-color .3s,transform .3s; width:clamp(115px,9vw,160px); }
.live-juror-seat > b { align-items:center; background:#fff; border:1px solid rgba(0,0,0,.13); border-radius:50%; color:#253449; display:flex; font-family:Georgia,serif; font-size:14px; height:29px; justify-content:center; left:50%; position:absolute; top:-17px; transform:translateX(-50%); width:29px; }
.live-seat-person { background:rgba(255,255,255,.27); border-radius:50%; height:42px; margin:13px 0 8px; position:relative; width:42px; }
.live-seat-person::after { background:rgba(255,255,255,.27); border-radius:9px 9px 4px 4px; content:""; height:34px; left:-12px; position:absolute; top:45px; width:66px; }
.live-juror-seat strong { font-size:clamp(11px,.85vw,14px); margin-top:39px; max-width:100%; overflow:hidden; text-align:center; text-overflow:ellipsis; white-space:nowrap; }
.live-juror-seat small { font-size:9px; margin-top:4px; opacity:.87; text-transform:uppercase; }
.live-juror-seat.strong-plaintiff { background:#244fbf; border-color:#173b9d; }
.live-juror-seat.plaintiff { background:#5183e5; border-color:#386ccf; }
.live-juror-seat.undecided { background:#8e99a8; border-color:#747f8f; }
.live-juror-seat.defense { background:#df7b43; border-color:#c76029; }
.live-juror-seat.strong-defense { background:#c94e47; border-color:#a93631; }
/* Match dashboard confidence shading in the enlarged live jury view. */
.live-juror-seat.plaintiff.confidence-1,.live-juror-seat.strong-plaintiff.confidence-1 { background:#dbe7fb; border-color:#b7ccef; }
.live-juror-seat.plaintiff.confidence-2,.live-juror-seat.strong-plaintiff.confidence-2 { background:#acc5f3; border-color:#83a8e9; }
.live-juror-seat.plaintiff.confidence-3,.live-juror-seat.strong-plaintiff.confidence-3 { background:#779ce8; border-color:#557fd7; }
.live-juror-seat.plaintiff.confidence-4,.live-juror-seat.strong-plaintiff.confidence-4 { background:#4f7ddd; border-color:#3562c6; }
.live-juror-seat.plaintiff.confidence-5,.live-juror-seat.strong-plaintiff.confidence-5 { background:#244fbf; border-color:#173b9d; }
.live-juror-seat.defense.confidence-1,.live-juror-seat.strong-defense.confidence-1 { background:#f8ded8; border-color:#edc1b8; }
.live-juror-seat.defense.confidence-2,.live-juror-seat.strong-defense.confidence-2 { background:#efb7aa; border-color:#df9383; }
.live-juror-seat.defense.confidence-3,.live-juror-seat.strong-defense.confidence-3 { background:#e38b75; border-color:#ce6d56; }
.live-juror-seat.defense.confidence-4,.live-juror-seat.strong-defense.confidence-4 { background:#d76550; border-color:#bd4937; }
.live-juror-seat.defense.confidence-5,.live-juror-seat.strong-defense.confidence-5 { background:#b9433c; border-color:#96332d; }
.live-juror-seat.undecided.confidence-1 { background:#e0e4e9; border-color:#c7cdd5; }
.live-juror-seat.undecided.confidence-2 { background:#c4cbd4; border-color:#aab3bf; }
.live-juror-seat.undecided.confidence-3 { background:#a3adb9; border-color:#8793a1; }
.live-juror-seat.undecided.confidence-4 { background:#8995a5; border-color:#707c8d; }
.live-juror-seat.undecided.confidence-5 { background:#6d798a; border-color:#586475; }
.live-juror-seat.confidence-1,.live-juror-seat.confidence-2 { color:#25384e; }
.live-seat-flipped { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%) rotate(-7deg); z-index:3; padding:4px 8px; border:1px solid rgba(255,255,255,.75); border-radius:4px; background:#10243d; color:#e3bd69; box-shadow:0 3px 9px rgba(10,25,45,.32); font-size:9px; font-weight:800; line-height:1; letter-spacing:.08em; }
.live-juror-seat.empty { background:#e6e8e9; border-color:#d8dbde; color:#8993a0; }
.live-juror-seat.unanswered { background:#aeb5bf; border-color:#939ca9; }
.live-juror-seat.offline:not(.empty) { box-shadow:inset 0 0 0 3px rgba(255,255,255,.55); opacity:1; outline:2px dashed rgba(73,84,98,.65); outline-offset:3px; }
.live-juror-seat.online {
    outline:5px solid #43c96b;
    outline-offset:5px;
    box-shadow:0 0 0 9px rgba(67,201,107,.22),0 0 28px rgba(67,201,107,.5),0 10px 22px rgba(31,49,72,.18);
    animation:juror-online-pulse 1.8s ease-in-out infinite;
}
@keyframes juror-online-pulse {
    0%,100% { outline-color:#43c96b; box-shadow:0 0 0 7px rgba(67,201,107,.16),0 0 20px rgba(67,201,107,.34),0 10px 22px rgba(31,49,72,.18); }
    50% { outline-color:#64e58a; box-shadow:0 0 0 13px rgba(67,201,107,.28),0 0 38px rgba(67,201,107,.7),0 10px 22px rgba(31,49,72,.18); }
}
@media (prefers-reduced-motion: reduce) {
    .live-juror-seat.online { animation:none; }
}
.live-seat-legend { border-top:1px solid #e4daca; display:flex; flex-wrap:wrap; gap:14px 25px; justify-content:center; padding-top:20px; }
.live-seat-legend span { align-items:center; color:#526174; display:flex; font-size:11px; font-weight:600; gap:7px; }
.live-seat-legend i,.live-dot-row i { background:#d5d9df; border-radius:50%; display:inline-block; height:13px; width:13px; }
.live-seat-legend .strong-plaintiff,.live-dot-row i.strong-plaintiff.active { background:#244fbf; }
.live-seat-legend .plaintiff,.live-dot-row i.plaintiff.active { background:#5183e5; }
.live-seat-legend .undecided,.live-dot-row i.undecided.active { background:#8e99a8; }
.live-seat-legend .defense,.live-dot-row i.defense.active { background:#df7b43; }
.live-seat-legend .strong-defense,.live-dot-row i.strong-defense.active { background:#c94e47; }
.live-monitor-insights { display:flex; flex-direction:column; gap:22px; }
.live-monitor-insights .live-monitor-card { flex:1; }
.live-monitor-lean-dots { display:flex; flex-direction:column; gap:20px; margin-top:30px; }
.live-dot-row { align-items:center; display:grid; gap:10px; grid-template-columns:105px 1fr 25px; }
.live-dot-row > strong { color:#536174; font-size:11px; }
.live-dot-row > span { display:flex; flex-wrap:wrap; gap:7px; }
.live-dot-row i { height:17px; opacity:.25; width:17px; }
.live-dot-row i.active { opacity:1; }
.live-dot-row > b { color:#15263a; text-align:right; }
#liveLeanSummary { margin-top:30px; }
.live-summary-row { align-items:center; display:grid; gap:12px; grid-template-columns:76px 1fr 28px; margin-bottom:20px; }
.live-summary-row > strong { color:#253449; font-size:12px; }
.live-summary-row > span { background:#e8ebef; border-radius:8px; height:12px; overflow:hidden; }
.live-summary-row > span i { border-radius:8px; display:block; height:100%; min-width:3px; transition:width .35s; }
.live-summary-row > b { color:#172538; text-align:right; }
.live-summary-total { border-top:1px solid #ddd5c8; color:#596779; display:flex; font-size:13px; justify-content:space-between; margin-top:24px; padding-top:20px; }
.live-summary-total b { color:#15263a; }
.live-view-launch { align-items:center; display:inline-flex; justify-content:center; text-decoration:none; white-space:nowrap; }

@media (max-width:1100px) {
    .live-monitor-header { grid-template-columns:1fr auto; }
    .live-monitor-case { display:none; }
    .live-monitor-grid { grid-template-columns:1fr; }
    .live-monitor-insights { display:grid; grid-template-columns:1fr 1fr; }
    .live-jury-seats { min-height:520px; }
}
@media (max-width:700px) {
    .live-jury-monitor { padding:13px 10px 24px; }
    .live-monitor-header { gap:12px; grid-template-columns:1fr; }
    .live-monitor-close { text-align:center; }
    .live-monitor-insights { grid-template-columns:1fr; }
    .live-monitor-card { border-radius:9px; padding:17px 12px; }
    .live-monitor-card-head { align-items:flex-start; flex-direction:column; gap:10px; }
    .live-monitor-card-head > span { max-width:none; text-align:left; }
    .live-jury-seats { align-items:flex-start; justify-content:flex-start; min-height:410px; }
    .live-seat-row { gap:12px; justify-content:flex-start; }
    .live-juror-seat { min-height:125px; width:96px; }
    .live-seat-person { height:34px; width:34px; }
    .live-seat-person::after { height:27px; left:-10px; top:37px; width:54px; }
    .live-juror-seat strong { margin-top:30px; }
}
.plaque-juror-link { border-top:1px solid rgba(218,181,112,.25); color:#e6c98f; display:block; font-size:9px; font-weight:700; letter-spacing:.06em; margin-top:12px; padding-top:10px; text-decoration:none; text-transform:uppercase; }
.plaque-juror-link:hover { color:#fff; }

/* DLS super-administrator customer management */
body.customers-page { background:#eef1f3; }
body.customers-page .scene-bg { display:none; }
.customers-workspace { margin:0 auto; max-width:1500px; padding:32px 34px 70px; }
.customers-hero { align-items:center; background:linear-gradient(120deg,#061625,#123552); border:1px solid rgba(195,151,76,.7); border-radius:14px; box-shadow:0 15px 36px rgba(10,28,45,.17); color:#fff; display:flex; justify-content:space-between; margin-bottom:20px; overflow:hidden; padding:34px 40px; position:relative; }
.customers-hero::after { border:1px solid rgba(211,173,105,.21); content:""; inset:9px; pointer-events:none; position:absolute; }
.customers-eyebrow { color:#cba15e; font-size:9px; font-weight:800; letter-spacing:1.7px; margin:0 0 5px; text-transform:uppercase; }
.customers-hero h1 { font-family:Georgia,'Times New Roman',serif; font-size:36px; font-weight:400; margin:0 0 8px; }
.customers-hero > div:first-child > p:last-child { color:#bdc8d2; font-size:12px; line-height:1.6; margin:0; max-width:720px; }
.customers-hero-mark { align-items:center; display:flex; position:relative; z-index:1; }
.customers-hero-mark > span { align-items:center; border:1px solid #c39850; border-radius:50%; color:#ddb971; display:flex; font-size:20px; height:47px; justify-content:center; margin-right:12px; width:47px; }
.customers-hero-mark div { display:flex; flex-direction:column; }
.customers-hero-mark small { color:#aebbc8; font-size:7px; font-weight:800; letter-spacing:1.2px; text-transform:uppercase; }
.customers-hero-mark strong { font-family:Georgia,serif; font-size:14px; font-weight:400; margin-top:4px; }
.customer-stat-grid { display:grid; gap:12px; grid-template-columns:repeat(4,1fr); margin-bottom:22px; }
.customer-stat-grid article { background:#fffdf9; border:1px solid #ded6ca; border-radius:9px; box-shadow:0 4px 14px rgba(18,36,53,.04); padding:16px 18px; }
.customer-stat-grid span { color:#87909a; display:block; font-size:8px; font-weight:800; letter-spacing:1px; text-transform:uppercase; }
.customer-stat-grid strong { color:#142b42; display:block; font-family:Georgia,serif; font-size:25px; font-weight:400; margin:5px 0 3px; }
.customer-stat-grid small { color:#9ca2a9; font-size:8px; }
.customers-layout { align-items:start; display:grid; gap:20px; grid-template-columns:390px minmax(0,1fr); }
.customer-editor-card,.customer-directory-card { background:#fffdf9; border:1px solid #ddd5c9; border-radius:11px; box-shadow:0 7px 22px rgba(21,37,54,.055); overflow:hidden; }
.customer-editor-card { padding:25px; }
.customer-editor-card > header { align-items:center; border-bottom:1px solid #e5ded3; display:flex; padding-bottom:17px; }
.customer-editor-card h2,.customer-directory-head h2 { color:#12273d; font-family:Georgia,'Times New Roman',serif; font-size:23px; font-weight:400; margin:0; }
.customer-form-intro { color:#77818c; font-size:10px; line-height:1.6; margin:16px 0 19px; }
.customer-form-grid { display:grid; gap:14px 12px; grid-template-columns:1fr 1fr; }
.customer-form-grid .wide { grid-column:1/-1; }
.customer-form-grid label > span { color:#586575; display:block; font-size:8px; font-weight:800; letter-spacing:.8px; margin-bottom:6px; text-transform:uppercase; }
.customer-form-grid input,.customer-form-grid select,.customer-form-grid textarea { background:#fff; border:1px solid #d6d2cb; border-radius:6px; box-sizing:border-box; color:#1a3047; font-family:inherit; font-size:11px; min-height:43px; outline:none; padding:0 11px; width:100%; }
.customer-form-grid textarea { line-height:1.5; padding:11px; resize:vertical; }
.customer-form-grid input:focus,.customer-form-grid select:focus,.customer-form-grid textarea:focus { border-color:#b78a46; box-shadow:0 0 0 3px rgba(183,138,70,.12); }
.customer-form-grid label > small { color:#999ea5; display:block; font-size:8px; margin-top:5px; }
.slug-input { display:flex; }
.slug-input input { border-radius:6px 0 0 6px; min-width:0; }
.slug-input b { align-items:center; background:#f2eee7; border:1px solid #d6d2cb; border-left:0; border-radius:0 6px 6px 0; color:#89919a; display:flex; font-size:9px; font-weight:600; padding:0 9px; }
.customer-owner-divider { align-items:center; color:#a47a3d; display:flex; font-size:8px; font-weight:800; gap:10px; letter-spacing:1.2px; margin:2px 0 -2px; text-transform:uppercase; }
.customer-owner-divider::before,.customer-owner-divider::after { background:#e4ddd2; content:""; flex:1; height:1px; }
.customer-editor-card .user-primary-action { margin-top:19px; }
.customer-directory-head { align-items:center; border-bottom:1px solid #e1dacf; display:flex; gap:20px; justify-content:space-between; padding:22px 24px; }
.customer-directory-head > div > span { color:#8b929a; display:block; font-size:9px; margin-top:4px; }
.customer-search { align-items:center; background:#fff; border:1px solid #d9d3ca; border-radius:6px; display:flex; padding:0 10px; width:210px; }
.customer-search span { color:#a67d40; font-size:12px; }
.customer-search input { background:transparent; border:0; color:#273a4d; font-size:10px; min-height:38px; outline:0; padding:0 8px; width:100%; }
.customer-row { align-items:center; border-bottom:1px solid #e9e3da; display:grid; gap:13px; grid-template-columns:45px minmax(185px,1.35fr) 115px 125px 78px 118px; min-height:93px; padding:13px 20px; transition:background .15s,opacity .15s; }
.customer-row:last-child { border-bottom:0; }
.customer-row:hover { background:#fcfaf6; }
.customer-row.suspended { opacity:.7; }
.customer-monogram { align-items:center; background:linear-gradient(145deg,#173a58,#0a2138); border:1px solid #bd9551; border-radius:8px; color:#e1be7a; display:flex; font-family:Georgia,serif; font-size:18px; height:42px; justify-content:center; width:42px; }
.customer-main { display:flex; flex-direction:column; min-width:0; }
.customer-main > div { align-items:center; display:flex; gap:7px; }
.customer-main strong { color:#1a3046; font-family:Georgia,serif; font-size:15px; font-weight:400; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.customer-main em { background:#efe5d3; border-radius:10px; color:#8c672f; font-size:6px; font-style:normal; font-weight:800; letter-spacing:.5px; padding:4px 6px; text-transform:uppercase; }
.customer-main > span,.customer-main > small { color:#9399a0; font-size:8px; margin-top:4px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.customer-main > small { color:#697583; }
.customer-plan { display:flex; flex-direction:column; }
.customer-plan span { color:#9b7135; font-size:9px; font-weight:800; }
.customer-plan small { color:#9299a0; font-size:8px; margin-top:4px; }
.customer-metrics { display:flex; flex-direction:column; gap:5px; }
.customer-metrics span { color:#7c8691; font-size:8px; }
.customer-metrics b { color:#20354a; font-size:10px; margin-right:3px; }
.customer-actions { align-items:flex-end; display:flex; flex-direction:column; gap:6px; text-align:right; }
.customer-actions button { background:#fff; border:1px solid #d4cdc2; border-radius:5px; color:#31485e; font-size:8px; font-weight:800; min-height:31px; padding:0 10px; text-transform:uppercase; }
.customer-actions a { color:#9a7137; font-size:7px; font-weight:800; letter-spacing:.5px; text-decoration:none; text-transform:uppercase; }
.customer-actions span { color:#a2a6aa; font-size:7px; font-weight:800; text-transform:uppercase; }
.case-plan-note { align-items:center; border-radius:6px; display:flex; font-size:9px; font-weight:700; gap:7px; margin:13px 0 2px; padding:9px 11px; }
.case-plan-note i { border-radius:50%; height:6px; width:6px; }
.case-plan-note.available { background:#eaf5ee; color:#39754d; }
.case-plan-note.available i { background:#4ca468; }
.case-plan-note.unavailable { background:#fff1ed; color:#98483b; }
.case-plan-note.unavailable i { background:#bd5b4c; }

@media (max-width:1200px) {
    .customers-layout { grid-template-columns:340px minmax(0,1fr); }
    .customer-row { grid-template-columns:43px minmax(165px,1.2fr) 105px 75px 105px; }
    .customer-metrics { display:none; }
}
@media (max-width:900px) {
    .customers-workspace { padding:22px 18px 55px; }
    .customers-hero { align-items:flex-start; flex-direction:column; gap:20px; padding:29px; }
    .customers-layout { grid-template-columns:1fr; }
    .customer-stat-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:620px) {
    .customers-workspace { padding:15px 11px 45px; }
    .customers-hero { padding:25px 21px; }
    .customers-hero h1 { font-size:29px; }
    .customers-hero-mark { display:none; }
    .customer-stat-grid { gap:8px; }
    .customer-editor-card { padding:20px 16px; }
    .customer-form-grid { grid-template-columns:1fr; }
    .customer-form-grid .wide { grid-column:auto; }
    .customer-directory-head { align-items:flex-start; flex-direction:column; padding:19px 16px; }
    .customer-search { box-sizing:border-box; width:100%; }
    .customer-row { gap:9px; grid-template-columns:40px minmax(0,1fr) 72px; padding:14px 13px; }
    .customer-plan { display:none; }
    .customer-row > .admin-status { grid-column:2; justify-self:start; }
    .customer-actions { grid-column:3; grid-row:2; }
}

/* DLS platform audit record */
body.audit-page { background:#eef1f3; }
body.audit-page .scene-bg { display:none; }
.audit-workspace { margin:0 auto; max-width:1500px; padding:32px 34px 70px; }
.audit-hero { align-items:center; background:linear-gradient(120deg,#061625,#123552); border:1px solid rgba(195,151,76,.7); border-radius:14px; box-shadow:0 15px 36px rgba(10,28,45,.17); color:#fff; display:flex; justify-content:space-between; margin-bottom:20px; overflow:hidden; padding:34px 40px; position:relative; }
.audit-hero::after { border:1px solid rgba(211,173,105,.21); content:""; inset:9px; pointer-events:none; position:absolute; }
.audit-eyebrow { color:#cba15e; font-size:9px; font-weight:800; letter-spacing:1.7px; margin:0 0 5px; text-transform:uppercase; }
.audit-hero h1 { font-family:Georgia,'Times New Roman',serif; font-size:36px; font-weight:400; margin:0 0 8px; }
.audit-hero > div:first-child > p:last-child { color:#bdc8d2; font-size:12px; line-height:1.6; margin:0; max-width:720px; }
.audit-shield { align-items:center; display:flex; position:relative; z-index:1; }
.audit-shield > span { align-items:center; border:1px solid #c39850; border-radius:50%; color:#ddb971; display:flex; font-size:17px; height:47px; justify-content:center; margin-right:12px; width:47px; }
.audit-shield div { display:flex; flex-direction:column; }
.audit-shield small { color:#aebbc8; font-size:7px; font-weight:800; letter-spacing:1.2px; text-transform:uppercase; }
.audit-shield strong { font-family:Georgia,serif; font-size:14px; font-weight:400; margin-top:4px; }
.audit-filter-card { align-items:end; background:#fffdf9; border:1px solid #ddd5c9; border-radius:10px; box-shadow:0 5px 18px rgba(21,37,54,.05); display:grid; gap:12px; grid-template-columns:220px 190px minmax(220px,1fr) 105px 70px; margin-bottom:18px; padding:18px 20px; }
.audit-filter-card label > span { color:#596676; display:block; font-size:8px; font-weight:800; letter-spacing:.8px; margin-bottom:6px; text-transform:uppercase; }
.audit-filter-card input,.audit-filter-card select { background:#fff; border:1px solid #d6d2cb; border-radius:6px; box-sizing:border-box; color:#22384e; font-size:10px; min-height:41px; outline:0; padding:0 11px; width:100%; }
.audit-filter-card input:focus,.audit-filter-card select:focus { border-color:#b78a46; box-shadow:0 0 0 3px rgba(183,138,70,.12); }
.audit-filter-card button { background:#102e4a; border:1px solid #102e4a; border-radius:6px; color:#fff; font-size:8px; font-weight:800; min-height:41px; text-transform:uppercase; }
.audit-filter-card #auditClear { background:#fff; border-color:#d6d2cb; color:#6d7782; }
.audit-record-card { background:#fffdf9; border:1px solid #ddd5c9; border-radius:11px; box-shadow:0 7px 22px rgba(21,37,54,.055); overflow:hidden; }
.audit-record-card > header { align-items:center; border-bottom:1px solid #e1dacf; display:flex; justify-content:space-between; padding:22px 24px; }
.audit-record-card h2 { color:#12273d; font-family:Georgia,'Times New Roman',serif; font-size:23px; font-weight:400; margin:0; }
.audit-record-card > header > div:first-child > span { color:#8b929a; display:block; font-size:9px; margin-top:4px; }
.audit-total { align-items:center; background:#f5f0e7; border:1px solid #ded3c2; border-radius:7px; display:flex; flex-direction:column; min-width:70px; padding:8px; }
.audit-total strong { color:#9a7137; font-family:Georgia,serif; font-size:20px; font-weight:400; }
.audit-total span { color:#858c94; font-size:7px; font-weight:800; letter-spacing:.8px; text-transform:uppercase; }
.audit-column-head,.audit-row { display:grid; gap:14px; grid-template-columns:125px minmax(170px,1.15fr) minmax(135px,1fr) minmax(130px,.9fr) minmax(190px,1.5fr) 105px; }
.audit-column-head { background:#f5f2ec; border-bottom:1px solid #e0d9ce; color:#8d949c; font-size:7px; font-weight:800; letter-spacing:.7px; padding:11px 20px; text-transform:uppercase; }
.audit-row { align-items:center; border-bottom:1px solid #ebe5dc; min-height:76px; padding:11px 20px; }
.audit-row:last-child { border-bottom:0; }
.audit-row:hover { background:#fcfaf6; }
.audit-date,.audit-actor,.audit-action > div { display:flex; flex-direction:column; }
.audit-date strong,.audit-customer strong,.audit-actor strong { color:#34495e; font-size:9px; }
.audit-date span,.audit-actor span,.audit-action span { color:#969ca3; font-size:8px; margin-top:4px; }
.audit-action { align-items:center; display:flex; gap:10px; }
.audit-action > i { background:#8090a0; border-radius:50%; box-shadow:0 0 0 5px #eef0f2; flex:0 0 8px; height:8px; }
.audit-action > i.auth { background:#4ca468; box-shadow:0 0 0 5px #e9f4ec; }
.audit-action > i.customer,.audit-action > i.moderator { background:#b48743; box-shadow:0 0 0 5px #f4ede2; }
.audit-action > i.session,.audit-action > i.question { background:#386fd0; box-shadow:0 0 0 5px #eaf0fb; }
.audit-action strong { color:#1d344a; font-size:10px; }
.audit-details { color:#6f7984; font-size:8px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.audit-ip { color:#89919a; font-family:monospace; font-size:8px; }
.audit-pager { align-items:center; border-top:1px solid #e4ddd3; display:flex; justify-content:space-between; padding:14px 20px; }
.audit-pager:empty { display:none; }
.audit-pager button { background:#fff; border:1px solid #d6d0c7; border-radius:5px; color:#354b61; font-size:8px; font-weight:800; min-height:33px; padding:0 13px; text-transform:uppercase; }
.audit-pager button:disabled { opacity:.4; }
.audit-pager span { color:#858d96; font-size:9px; }
.audit-pager b { color:#24394e; }

@media (max-width:1150px) {
    .audit-column-head,.audit-row { grid-template-columns:115px minmax(160px,1.2fr) minmax(130px,1fr) minmax(125px,.9fr) minmax(180px,1.3fr); }
    .audit-column-head > span:last-child,.audit-ip { display:none; }
}
@media (max-width:850px) {
    .audit-workspace { padding:22px 18px 55px; }
    .audit-hero { align-items:flex-start; flex-direction:column; gap:20px; padding:29px; }
    .audit-filter-card { grid-template-columns:1fr 1fr; }
    .audit-search { grid-column:1/-1; }
    .audit-column-head { display:none; }
    .audit-row { align-items:start; gap:11px 16px; grid-template-columns:1fr 1fr; padding:17px 18px; }
    .audit-row > div::before { color:#a1a5aa; content:attr(data-label); display:block; font-size:6px; font-weight:800; letter-spacing:.6px; margin-bottom:5px; text-transform:uppercase; }
    .audit-details { white-space:normal; }
    .audit-ip { display:block; }
}
@media (max-width:700px) { .juror-timeout-content { align-items:stretch; grid-template-columns:1fr; } }
@media (max-width:560px) {
    .audit-workspace { padding:15px 11px 45px; }
    .audit-hero { padding:25px 21px; }
    .audit-hero h1 { font-size:29px; }
    .audit-shield { display:none; }
    .audit-filter-card { grid-template-columns:1fr; padding:15px; }
    .audit-search { grid-column:auto; }
    .audit-record-card > header { padding:19px 16px; }
    .audit-row { grid-template-columns:1fr; }
}

/* Six-column audit filters including CSV export. */
@media (min-width:851px) {
    .audit-filter-card { grid-template-columns:210px 180px minmax(200px,1fr) 95px 65px 95px; }
}

.account-security-notice { align-items:center; background:#fff4df; border:1px solid #d8b36f; border-left:4px solid #ad7c2d; border-radius:8px; color:#4f3b1d; display:flex; gap:10px 22px; justify-content:space-between; margin-bottom:20px; padding:15px 18px; }
.account-security-notice[hidden] { display:none; }
.account-security-notice strong { font-family:Georgia,serif; font-size:15px; font-weight:400; }
.account-security-notice span { color:#755d37; font-size:9px; line-height:1.5; max-width:680px; }
.customer-actions .grant-case { background:#f5ead7; border-color:#d5b77f; color:#805b24; }
@media (max-width:700px) { .account-security-notice { align-items:flex-start; flex-direction:column; } }

.phase-activate-btn { background:#f5efe4; border:1px solid #d5bd91; border-radius:5px; color:#815e28; font-size:7px; font-weight:800; margin-left:auto; min-height:25px; padding:0 9px; text-transform:uppercase; }
.phase-activate-btn:hover,.phase-activate-btn:focus { background:#b78a46; border-color:#b78a46; color:#fff; outline:0; }
.phase-activate-btn:disabled { opacity:.5; }

/* Juror answer history — interactive jury box detail view. */
.seat.has-history { cursor:pointer; }
.seat.has-history .seat-avatar { transition:box-shadow .18s ease, transform .18s ease, filter .18s ease; }
.seat.has-history:hover .seat-avatar,
.seat.has-history:focus .seat-avatar { box-shadow:0 0 0 3px #fffdf9,0 0 0 5px #bf9551,0 8px 20px rgba(21,39,59,.2); filter:brightness(1.04); transform:translateY(-2px); }
.seat.has-history:focus { outline:0; }
.seat:not(.has-history) { cursor:default; }
.juror-list-history-row { cursor:pointer; transition:background .15s ease; }
.juror-list-history-row:hover,
.juror-list-history-row:focus { background:#f6f0e5; outline:0; }

.juror-history-modal { background:#fffdf9; border:1px solid #d7c9b3; border-top:4px solid #b78a46; border-radius:12px; box-shadow:0 24px 70px rgba(3,18,32,.3); box-sizing:border-box; max-height:88vh; overflow:auto; padding:0; width:min(920px,95vw); }
.juror-history-head { align-items:flex-start; background:linear-gradient(115deg,#071829,#163653); border-bottom:1px solid #bd9452; color:#fff; display:flex; justify-content:space-between; padding:25px 28px; position:sticky; top:0; z-index:2; }
.juror-history-head p { color:#d4ad6b; font-size:8px; font-weight:800; letter-spacing:1.5px; margin:0 0 5px; text-transform:uppercase; }
.juror-history-head h3 { color:#fff; font-family:Georgia,'Times New Roman',serif; font-size:27px; font-weight:400; margin:0; }
.juror-history-head span { color:#b9c5cf; display:block; font-size:9px; margin:6px 0 0; }
.juror-history-head .modal-close { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.2); border-radius:50%; color:#fff; flex:0 0 35px; font-size:18px; height:35px; margin-left:18px; padding:0; width:35px; }
.juror-history-profile { background:#f4efe6; border-bottom:1px solid #ded3c2; display:grid; gap:10px; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); padding:17px 28px; }
.juror-history-profile > div { min-width:0; }
.juror-history-profile > div span { color:#9b7a47; display:block; font-size:7px; font-weight:800; letter-spacing:1px; margin-bottom:4px; text-transform:uppercase; }
.juror-history-profile > div strong { color:#26394d; display:block; font-size:10px; overflow-wrap:anywhere; }
.juror-history-answers { padding:22px 28px 28px; }
.juror-history-answers > h3 { color:#142b42; font-family:Georgia,'Times New Roman',serif; font-size:19px; font-weight:400; margin:0 0 13px; }
.juror-answer-row { align-items:center; border:1px solid #e3dbcf; border-left:3px solid #183c5f; border-radius:7px; display:grid; gap:9px 16px; grid-template-columns:125px minmax(280px,1fr) 125px; margin-bottom:9px; padding:14px 16px; }
.juror-answer-main { min-width:0; }
.juror-answer-main > small { color:#9b7a47; display:block; font-size:7px; font-weight:800; letter-spacing:.7px; margin-bottom:4px; text-transform:uppercase; }
.juror-answer-main strong { color:#1e3247; display:block; font-size:11px; line-height:1.4; }
.juror-answer-main p { color:#6f7984; font-size:9px; margin:5px 0 0; }
.juror-answer-main b { color:#21384f; overflow-wrap:anywhere; }
.juror-answer-time { color:#89919a; font-size:8px; }
.juror-answer-time span,.juror-answer-time em { display:block; font-style:normal; }
.juror-answer-time em { color:#9b7a47; font-size:7px; font-weight:800; margin-top:5px; text-transform:uppercase; }
.juror-answer-result { text-align:right; }
.juror-answer-result > span { border-radius:999px; display:inline-flex; font-size:7px; font-weight:800; justify-content:center; letter-spacing:.5px; padding:6px 9px; text-transform:uppercase; }
.juror-answer-result > span.plaintiff { background:#e8eefb; color:#3462bd; }
.juror-answer-result > span.defense { background:#fae9e5; color:#b64c3e; }
.juror-answer-result > span.undecided { background:#e9edf0; color:#687583; }
.juror-answer-result > span.unaligned { background:#f3eee4; color:#8b7654; }
.juror-answer-result small { color:#89919a; display:block; font-size:7px; margin-top:5px; }
.juror-history-loading { color:#7f8993; font-size:10px; margin:0; padding:28px; text-align:center; }
.juror-history-empty { border:1px dashed #d6ccbd; border-radius:8px; color:#7f8993; font-size:10px; padding:28px; text-align:center; }
.juror-history-empty strong,.juror-history-empty span { display:block; }
.juror-history-empty span { font-size:8px; margin-top:5px; }

@media (max-width:720px) {
    .juror-history-head { padding:21px 19px; }
    .juror-history-profile,.juror-history-answers { padding-left:19px; padding-right:19px; }
    .juror-answer-row { grid-template-columns:1fr 1fr; }
    .juror-answer-main { grid-column:1/-1; grid-row:1; }
    .juror-answer-result { text-align:right; }
}
@media (max-width:440px) {
    .juror-history-modal { border-radius:0; max-height:100vh; width:100vw; }
    .juror-history-head h3 { font-size:23px; }
    .juror-answer-row { grid-template-columns:1fr; }
    .juror-answer-main { grid-column:auto; }
    .juror-answer-result { text-align:left; }
}

/* Case Intelligence Reports Center */
.report-catalog { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:9px; margin-top:22px; }
.report-catalog button { align-items:center; display:flex; gap:10px; min-height:66px; padding:10px 12px; border:1px solid #d9cfbf; border-radius:8px; background:#fffdf9; color:#26374c; cursor:pointer; text-align:left; transition:.18s; }
.report-catalog button:hover { border-color:#b68b48; transform:translateY(-1px); }
.report-catalog button.active { border-color:#b68b48; background:#10243d; color:#fff; box-shadow:0 8px 18px rgba(16,36,61,.16); }
.report-catalog button > b { align-items:center; display:flex; flex:0 0 29px; height:29px; justify-content:center; border:1px solid #d3b06d; border-radius:50%; color:#a77b37; font:700 9px Georgia,serif; }
.report-catalog button.active > b { color:#e4bd70; }
.report-catalog button span,.report-catalog button small { display:block; }
.report-catalog button span { font-size:10px; font-weight:800; line-height:1.2; }
.report-catalog button small { margin-top:4px; color:#9299a2; font-size:7px; font-weight:600; }
.report-catalog button.active small { color:#aeb9c7; }
.report-section { padding-top:30px; }
.report-section + .report-section { border-top:2px solid #b89251; margin-top:42px; padding-top:42px; }
.report-section-heading { align-items:flex-start; display:flex; justify-content:space-between; gap:24px; margin-bottom:24px; }
.report-section-heading small { color:#aa7d3b; font-size:8px; font-weight:900; letter-spacing:.18em; }
.report-section-heading h3 { margin:6px 0; color:#142438; font:400 27px Georgia,serif; }
.report-section-heading p { margin:0; color:#76818d; font-size:11px; }
.report-status,.section-total { padding:7px 11px; border-radius:999px; background:#e8ecf0; color:#596779; font-size:8px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.report-status.running { background:#e4f6ea; color:#287a45; }.report-status.paused { background:#fff3d9; color:#947027; }.report-status.ended { background:#f7e7e4; color:#a64b42; }
.executive-stat-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:11px; }
.executive-stat-grid article { min-height:108px; padding:18px; border:1px solid #e1d8cc; border-radius:9px; background:#fbf8f3; }
.executive-stat-grid article.projected { border-color:#c5a56b; background:linear-gradient(145deg,#10243d,#193754); color:#fff; }
.executive-stat-grid span,.executive-stat-grid strong,.executive-stat-grid small { display:block; }
.executive-stat-grid span { color:#8b949f; font-size:8px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.executive-stat-grid strong { margin:12px 0 7px; color:#17283d; font:400 24px Georgia,serif; overflow-wrap:anywhere; }
.executive-stat-grid small { color:#979ea6; font-size:8px; line-height:1.4; }
.executive-stat-grid .projected span,.executive-stat-grid .projected small { color:#bdc7d2; }.executive-stat-grid .projected strong { color:#e4bd70; font-size:19px; }
.executive-columns { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:15px; }
.report-panel { padding:22px; border:1px solid #e0d6c7; border-radius:10px; background:#fff; }
.report-panel h4 { margin:0 0 18px; color:#8d6d3b; font-size:9px; letter-spacing:.14em; text-transform:uppercase; }
.report-panel > small { color:#a98146; font-size:8px; font-weight:800; text-transform:uppercase; }.report-panel h5 { margin:8px 0 18px; color:#1c2d42; font:400 18px/1.35 Georgia,serif; }
.report-bar-row { align-items:center; display:grid; gap:10px; grid-template-columns:72px 1fr 58px; margin:15px 0; }
.report-bar-row > span { color:#536174; font-size:9px; font-weight:700; }.report-bar-row > i { height:8px; overflow:hidden; border-radius:999px; background:#eef0f2; }.report-bar-row > i b { display:block; height:100%; border-radius:inherit; }.report-bar-row b.plaintiff { background:#3564d4; }.report-bar-row b.defense { background:#c65347; }.report-bar-row b.undecided { background:#8c96a6; }
.report-bar-row > strong { color:#26374a; font-size:11px; text-align:right; }.report-bar-row > strong small { color:#939ba5; font-size:7px; }.report-panel footer { margin-top:17px; padding-top:13px; border-top:1px solid #ebe4db; color:#7f8994; font-size:9px; }
.impact-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }.impact-metrics span { padding:12px; border-radius:7px; background:#f4f1eb; color:#7b8490; font-size:8px; text-align:center; }.impact-metrics b { display:block; margin-bottom:4px; color:#1e3046; font:400 17px Georgia,serif; }
.timeline-report-list { display:flex; flex-direction:column; gap:10px; }.timeline-juror { border:1px solid #ded5c8; border-radius:9px; background:#fff; overflow:hidden; }.timeline-juror summary { align-items:center; display:grid; grid-template-columns:42px 1fr auto; gap:12px; padding:14px 16px; background:#faf7f2; cursor:pointer; list-style:none; }.timeline-juror summary::-webkit-details-marker{display:none}.timeline-juror summary > b { align-items:center; display:flex; height:34px; justify-content:center; border-radius:5px; background:#10243d; color:#e4bd70; font-size:9px; }.timeline-juror summary span small,.timeline-juror summary span strong { display:block; }.timeline-juror summary span small { color:#9b8056; font-size:7px; letter-spacing:.1em; }.timeline-juror summary span strong { margin-top:2px; color:#243449; font-size:11px; }.timeline-juror summary em { color:#8c949e; font-size:8px; font-style:normal; }
.timeline-events { padding:12px 18px 18px 96px; }.timeline-events > article { align-items:start; display:grid; grid-template-columns:112px 12px 1fr auto; gap:10px; padding:11px 0; border-bottom:1px solid #eee8df; position:relative; }.timeline-events time { color:#929aa3; font-size:8px; }.timeline-events > article > i { width:9px; height:9px; border-radius:50%; background:#8d97a5; }.timeline-events i.plaintiff { background:#3564d4; }.timeline-events i.defense { background:#c65347; }.timeline-events div small,.timeline-events div strong,.timeline-events div span { display:block; }.timeline-events div small { color:#a47d41; font-size:7px; text-transform:uppercase; }.timeline-events div strong { margin:4px 0; color:#27374a; font-size:10px; }.timeline-events div span { color:#75808c; font-size:8px; }.timeline-events mark { padding:4px 7px; border-radius:4px; background:#f1e7d5; color:#8b672f; font-size:7px; font-weight:800; }
.analytics-table { width:100%; border-collapse:collapse; }.analytics-table th { padding:10px; border-bottom:1px solid #d9d0c4; color:#818b96; font-size:7px; letter-spacing:.08em; text-align:left; text-transform:uppercase; }.analytics-table td { padding:13px 10px; border-bottom:1px solid #ece6dd; color:#536174; font-size:9px; vertical-align:middle; }.analytics-table td small { display:block; margin-top:4px; color:#9aa1aa; font-size:7px; }.tri-count { display:flex; gap:5px; }.tri-count b { min-width:22px; padding:4px; border-radius:4px; text-align:center; }.tri-count .plaintiff { background:#e7efff;color:#315fc4}.tri-count .defense{background:#fbe8e4;color:#b54a40}.tri-count .undecided{background:#ebedf0;color:#687483}
.question-analysis-list { display:flex; flex-direction:column; gap:12px; }.question-analysis-list > article { border:1px solid #dfd5c7; border-left:4px solid #173552; border-radius:8px; background:#fff; overflow:hidden; }.question-analysis-list header { align-items:center; display:grid; grid-template-columns:105px 1fr 80px; gap:14px; padding:16px 18px; }.question-analysis-list header > span { padding:6px 8px; border-radius:999px; background:#edf2f8; color:#2e4e70; font-size:7px; font-weight:900; text-align:center; text-transform:uppercase; }.question-analysis-list header div small { color:#a37c41; font-size:7px; font-weight:800; }.question-analysis-list h4 { margin:4px 0 0; color:#203146; font-size:12px; }.question-analysis-list header > b { color:#a47b3e; font:400 18px Georgia,serif; text-align:right; }.question-analysis-list header > b small { display:block; color:#969da6; font:600 7px Inter,sans-serif; }.question-metrics { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #eee8df; border-bottom:1px solid #eee8df; background:#fbf9f5; }.question-metrics span { padding:10px 16px; color:#8a939d; font-size:7px; text-align:center; }.question-metrics b { color:#27384c; font-size:10px; }.answer-distribution { display:flex; flex-wrap:wrap; gap:7px; padding:13px 18px; }.answer-distribution span { display:flex; gap:13px; padding:7px 10px; border:1px solid #e4ded5; border-radius:5px; color:#637083; font-size:8px; }.answer-distribution span b { color:#22364d; }.answer-distribution .alignment-total { margin-left:auto; background:#f2eee7; }
.report-empty.compact { margin-top:0; padding:30px; }.movement-report-list { display:flex; flex-direction:column; gap:7px; }.movement-report-list article { align-items:center; display:grid; grid-template-columns:120px 42px 1fr auto auto; gap:12px; padding:12px 14px; border:1px solid #e1d9ce; border-radius:7px; background:#fff; }.movement-report-list article.is-flip { border-color:#c9a45f; background:#fffaf0; }.movement-report-list time { color:#929aa4; font-size:8px; }.movement-seat { align-items:center; display:flex; height:30px; justify-content:center; border-radius:5px; background:#132940; color:#e6bd70; font-size:8px; }.movement-report-list div strong,.movement-report-list div small { display:block; }.movement-report-list div strong { color:#26374b; font-size:10px; }.movement-report-list div small { margin-top:3px; color:#9299a2; font-size:7px; }.movement-report-list p { display:flex; gap:6px; margin:0; align-items:center; }.movement-report-list p b { padding:4px 6px; border-radius:4px; background:#edf0f3; color:#667382; font-size:7px; }.movement-report-list p b.plaintiff{background:#e7efff;color:#315fc4}.movement-report-list p b.defense{background:#fbe8e4;color:#b54a40}.movement-report-list p i{font-style:normal;color:#9aa1aa}.movement-report-list mark { padding:5px 8px; border-radius:4px; background:#10243d; color:#e4bd70; font-size:7px; font-weight:900; }
.report-jury-box { display:flex; flex-direction:column; gap:28px; min-height:420px; justify-content:center; padding:45px 20px 35px; border:1px solid #ddd2c1; border-radius:10px; background:#f7f3ec; overflow:auto; }.report-seat-row { display:flex; gap:22px; justify-content:center; min-width:max-content; }.report-seat { align-items:center; display:flex; flex-direction:column; width:94px; min-height:117px; padding:8px; border:2px solid transparent; border-radius:10px; color:#fff; position:relative; }.report-seat > b { align-items:center; display:flex; height:22px; justify-content:center; position:absolute; top:-13px; width:22px; border:1px solid #d8cdbd; border-radius:50%; background:#fff; color:#364559; font:700 9px Georgia,serif; }.report-seat > span { width:29px; height:29px; margin-top:11px; border-radius:50%; background:rgba(255,255,255,.35); position:relative; }.report-seat > span:after { content:''; position:absolute; top:32px; left:-9px; width:47px; height:29px; border-radius:7px 7px 3px 3px; background:rgba(255,255,255,.28); }.report-seat > strong { max-width:100%; margin-top:36px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:8px; }.report-seat > small { margin-top:3px; font-size:6px; text-transform:uppercase; }.report-seat mark { position:absolute; top:48px; z-index:2; transform:rotate(-7deg); padding:3px 5px; border-radius:3px; background:#10243d; color:#e4bd70; font-size:6px; font-weight:900; }
.report-seat.unanswered{background:#b6bdc6;border-color:#9ea7b2}.report-seat.plaintiff.confidence-1{background:#dbe7fb;color:#25384e}.report-seat.plaintiff.confidence-2{background:#acc5f3;color:#25384e}.report-seat.plaintiff.confidence-3{background:#779ce8}.report-seat.plaintiff.confidence-4{background:#4f7ddd}.report-seat.plaintiff.confidence-5{background:#244fbf}.report-seat.defense.confidence-1{background:#f8ded8;color:#25384e}.report-seat.defense.confidence-2{background:#efb7aa;color:#25384e}.report-seat.defense.confidence-3{background:#e38b75}.report-seat.defense.confidence-4{background:#d76550}.report-seat.defense.confidence-5{background:#b9433c}.report-seat.undecided.confidence-1{background:#e0e4e9;color:#25384e}.report-seat.undecided.confidence-2{background:#c4cbd4;color:#25384e}.report-seat.undecided.confidence-3{background:#a3adb9}.report-seat.undecided.confidence-4{background:#8995a5}.report-seat.undecided.confidence-5{background:#6d798a}.report-seat.online{outline:3px solid #41bd68;outline-offset:3px}.report-seat.offline{outline:1px dashed #7c8794;outline-offset:2px}
.report-seat-legend { align-items:center; display:flex; gap:18px; justify-content:center; padding:18px; color:#647184; font-size:8px; }.report-seat-legend span { align-items:center; display:flex; gap:5px; }.report-seat-legend i { width:9px;height:9px;border-radius:50%;background:#8e99a8}.report-seat-legend i.plaintiff{background:#4f7ddd}.report-seat-legend i.defense{background:#d76550}.report-seat-legend small{color:#949ba4}
.report-callout { margin-bottom:18px; padding:12px 15px; border-left:3px solid #b78b48; border-radius:5px; background:#f5f0e7; color:#716a5d; font-size:8px; }.completion-meter { display:inline-block; width:72px; height:6px; margin-right:7px; overflow:hidden; border-radius:999px; background:#edf0f3; }.completion-meter i { display:block;height:100%;background:#3564d4}.device-status{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:999px;font-size:7px;font-weight:800}.device-status:before{content:'';width:6px;height:6px;border-radius:50%}.device-status.online{background:#e6f7eb;color:#247945}.device-status.online:before{background:#37bd62}.device-status.offline{background:#eef0f2;color:#737e8b}.device-status.offline:before{background:#9aa3ad}
.demographic-report-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }.compact-table th,.compact-table td { padding:9px 7px; }.privacy-suppressed { color:#9b7b4c; font-size:7px; font-style:italic; }.archive-mode .report-title-block { break-after:avoid; }.archive-mode .report-section { break-before:page; }.archive-mode .report-section[data-report-section="executive"] { break-before:auto; }

@media (max-width:1300px){.report-catalog{grid-template-columns:repeat(4,minmax(0,1fr))}.executive-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){.report-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.executive-columns,.demographic-report-grid{grid-template-columns:1fr}.question-analysis-list header{grid-template-columns:90px 1fr}.question-analysis-list header>b{grid-column:2}.movement-report-list article{grid-template-columns:90px 38px 1fr}.movement-report-list p,.movement-report-list mark{grid-column:3}.analytics-table{min-width:760px}}
@media (max-width:600px){.report-catalog{grid-template-columns:1fr}.executive-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-events{padding-left:14px}.timeline-events>article{grid-template-columns:1fr 10px 2fr}.timeline-events mark{grid-column:3}.question-metrics{grid-template-columns:repeat(2,1fr)}.movement-report-list article{grid-template-columns:34px 1fr}.movement-report-list time{grid-column:1/-1}.movement-report-list div{grid-column:2}.movement-report-list p,.movement-report-list mark{grid-column:2}.report-seat{width:78px}.report-seat-row{gap:14px}}
@media print {
    .report-section[hidden] { display:none !important; }
    .archive-mode .report-section { display:block !important; }
    .report-section { padding-top:18px; }
    .report-section-heading { margin-bottom:14px; }
    .executive-stat-grid { grid-template-columns:repeat(3,1fr); }
    .executive-columns,.demographic-report-grid { grid-template-columns:1fr 1fr; }
    .timeline-juror { break-inside:avoid; }
    .timeline-events { padding-left:35px; }
    .question-analysis-list > article,.report-panel,.report-jury-box { break-inside:avoid; }
    .report-seat.online,.report-seat.offline { outline:none; }
    .report-callout { display:none; }
}
