:root{--bg-page: #0b1020;--bg-surface: #12192e;--bg-surface-elevated: #18223d;--bg-surface-hover: #1e2a4a;--border-subtle: rgba(148, 163, 184, .16);--border-strong: rgba(148, 163, 184, .28);--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--accent-primary: #3b82f6;--accent-primary-hover: #2563eb;--accent-amber: #f59e0b;--accent-amber-bg: rgba(245, 158, 11, .16);--accent-green: #10b981;--accent-green-bg: rgba(16, 185, 129, .16);--accent-red: #ef4444;--accent-red-bg: rgba(239, 68, 68, .16);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--shadow-card: 0 12px 32px -8px rgba(0, 0, 0, .45)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:radial-gradient(circle at top right,#172554 0%,var(--bg-page) 45%);color:var(--text-primary);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased}code{font-family:JetBrains Mono,monospace;font-size:.85em;background:#0f172aa6;padding:2px 6px;border-radius:5px;color:#93c5fd}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:680px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-card)}.login-brand{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px}.brand-logo{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,#3b82f6,#6366f1);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.brand-badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.08em;color:#60a5fa;background:#3b82f624;padding:3px 8px;border-radius:999px;margin-bottom:6px}.login-title{font-size:22px;font-weight:800;margin-bottom:4px}.login-subtitle{font-size:13.5px;color:var(--text-muted)}.demo-roles-section{margin-bottom:22px}.section-label{font-size:12.5px;font-weight:600;color:var(--text-secondary);margin-bottom:10px}.demo-roles-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.demo-role-btn{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:var(--radius-md);background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);color:var(--text-primary);text-align:left;cursor:pointer;transition:all .18s ease}.demo-role-btn:hover{transform:translateY(-2px);border-color:#60a5fa;background:var(--bg-surface-hover)}.role-btn-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.role-participant .role-btn-icon{background:#3b82f633;color:#60a5fa}.role-jury .role-btn-icon{background:#f59e0b33;color:#fbbf24}.role-lead .role-btn-icon{background:#10b98133;color:#34d399}.role-admin .role-btn-icon{background:#a855f733;color:#c084fc}.role-btn-text strong{display:block;font-size:14px;margin-bottom:2px}.role-btn-text span{font-size:12px;color:var(--text-muted);line-height:1.35;display:block}.login-divider{position:relative;text-align:center;margin:20px 0}.login-divider:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--border-subtle)}.login-divider span{position:relative;background:var(--bg-surface);padding:0 12px;font-size:12px;color:var(--text-muted)}.login-form{display:flex;flex-direction:column;gap:14px}.top-navbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;background:#12192eeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle)}.navbar-left,.navbar-right{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.brand-logo-sm{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#3b82f6,#6366f1);display:flex;align-items:center;justify-content:center;color:#fff}.navbar-title{font-weight:700;font-size:15px}.navbar-subtitle{font-size:11.5px;color:var(--text-muted)}.navbar-role-switcher{display:flex;gap:6px;background:#0f172ab3;padding:4px;border-radius:999px;border:1px solid var(--border-subtle);margin-left:8px}.role-switch-pill{background:transparent;border:none;color:var(--text-muted);font-size:12px;font-weight:600;padding:5px 12px;border-radius:999px;cursor:pointer;transition:all .15s ease}.role-switch-pill:hover{color:var(--text-primary)}.role-switch-pill.active{background:var(--accent-primary);color:#fff}.admin-subnav{display:flex;gap:6px;background:#0f172ab3;padding:4px;border-radius:10px;border:1px solid var(--border-subtle)}.subnav-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;color:var(--text-secondary);font-size:12px;font-weight:600;padding:5px 10px;border-radius:7px;cursor:pointer}.subnav-btn.active{background:#3b82f638;color:#60a5fa}.ws-indicator{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;padding:5px 10px;border-radius:999px;border:1px solid var(--border-subtle)}.ws-online{background:#10b98124;color:#34d399;border-color:#10b98159}.ws-offline{background:#f59e0b26;color:#fbbf24}.ws-dot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}.user-profile-chip{text-align:right;padding:4px 10px;background:var(--bg-surface-elevated);border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.user-chip-name{font-size:13px;font-weight:600}.user-chip-role{font-size:11px;color:var(--text-muted)}.main-content{max-width:1480px;margin:0 auto;padding:24px}.dashboard-container{display:flex;flex-direction:column;gap:22px}.hero-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px}.stat-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:18px 20px;box-shadow:var(--shadow-card)}.stat-card-primary{background:linear-gradient(135deg,#2563eb40,#12192ef2);border-color:#3b82f666}.stat-card-window-open{border-color:#10b98173}.stat-card-window-closed{border-color:#ef444473}.stat-card-header{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.stat-card-value{font-size:26px;font-weight:800;margin-bottom:6px}.stat-card-value small{font-size:14px;font-weight:500;color:var(--text-muted)}.stat-card-sub{font-size:12.5px;color:var(--text-muted);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.section-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow-card)}.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.section-title{font-size:18px;font-weight:700;display:flex;align-items:center;gap:8px}.section-subtitle{font-size:13px;color:var(--text-muted);margin-top:3px}.participant-tasks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px}.task-score-card{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:18px;display:flex;flex-direction:column;gap:12px;transition:border-color .2s ease}.card-appeal-active{border-color:#f59e0ba6;box-shadow:0 0 0 1px #f59e0b40}.card-appeal-resolved{border-color:#10b98199}.card-appeal-rejected{border-color:#ef444480}.task-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.task-title-group{display:flex;align-items:center;gap:10px}.task-code-badge{display:inline-flex;align-items:center;justify-content:center;font-family:JetBrains Mono,monospace;font-weight:700;font-size:12.5px;padding:4px 9px;border-radius:7px;background:#3b82f62e;color:#60a5fa;border:1px solid rgba(59,130,246,.35)}.task-card-name{font-size:15px;font-weight:600}.task-score-badge{font-family:JetBrains Mono,monospace;background:#0f172aa6;padding:6px 12px;border-radius:10px;border:1px solid var(--border-subtle);flex-shrink:0}.score-big{font-size:20px;font-weight:800;color:#f8fafc}.score-max{font-size:13px;color:var(--text-muted);margin-left:3px}.score-progress-track{height:6px;background:#0f172acc;border-radius:999px;overflow:hidden}.score-progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#10b981);border-radius:999px}.task-appeal-status-row{display:flex;align-items:center;justify-content:space-between;font-size:12.5px}.task-appeal-details{background:#0f172a8c;border-radius:var(--radius-sm);padding:12px;font-size:13px;display:flex;flex-direction:column;gap:8px}.appeal-detail-line{display:flex;justify-content:space-between}.detail-key{color:var(--text-muted);font-size:12px}.appeal-claim-preview p{margin-top:3px;color:var(--text-secondary)}.jury-official-reply{background:#3b82f61f;border-left:3px solid #3b82f6;padding:9px 11px;border-radius:6px}.reply-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#93c5fd;margin-bottom:4px}.task-card-actions{margin-top:auto}.status-pill{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px}.status-submitted{background:var(--accent-amber-bg);color:#fbbf24;border:1px solid rgba(245,158,11,.4)}.status-in-review{background:#f973162e;color:#fb923c;border:1px solid rgba(249,115,22,.45)}.status-resolved{background:var(--accent-green-bg);color:#34d399;border:1px solid rgba(16,185,129,.4)}.status-rejected{background:var(--accent-red-bg);color:#f87171;border:1px solid rgba(239,68,68,.4)}.status-none{background:#94a3b81f;color:var(--text-muted)}.jury-kpi-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.kpi-pill{display:flex;align-items:center;gap:10px;padding:13px 16px;border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border-subtle);cursor:pointer;font-size:13px;transition:all .15s ease}.kpi-pill strong{margin-left:auto;font-size:18px;font-family:JetBrains Mono,monospace}.kpi-amber{border-left:4px solid #f59e0b}.kpi-review{border-left:4px solid #f97316}.kpi-green{border-left:4px solid #10b981}.kpi-red{border-left:4px solid #ef4444}.kpi-selected{background:var(--bg-surface-hover);box-shadow:0 0 0 2px #3b82f6}.matrix-controls,.category-filters-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.search-input-wrap,.select-wrap{display:flex;align-items:center;gap:8px;background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:0 10px}.search-input-wrap .form-input,.select-wrap .form-select{border:none;background:transparent;padding:8px 4px}.matrix-table-viewport,.table-responsive{overflow-x:auto;max-height:620px;overflow-y:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.data-table{width:100%;border-collapse:collapse;font-size:13.5px}.data-table th,.data-table td{padding:11px 14px;border-bottom:1px solid var(--border-subtle);text-align:left}.data-table thead th{position:sticky;top:0;z-index:10;background:#0f172a;color:var(--text-secondary);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.data-table tbody tr:hover{background:#1e293b8c}.text-center{text-align:center!important}.text-right{text-align:right!important}.participant-name{font-weight:600;color:var(--text-primary)}.participant-meta{font-size:11.5px;color:var(--text-muted)}.team-tag{display:inline-block;font-family:JetBrains Mono,monospace;font-size:11.5px;font-weight:600;padding:2px 7px;border-radius:5px;background:#6366f129;color:#a5b4fc}.matrix-cell{cursor:pointer;min-width:105px;transition:background .15s ease;border-left:1px solid var(--border-subtle)}.matrix-cell:hover{background:#3b82f626!important}@keyframes amberPulse{0%,to{background-color:#f59e0b29}50%{background-color:#f59e0b52}}.appeal-pulse-submitted{animation:amberPulse 2.2s infinite ease-in-out;border-left:3px solid #f59e0b!important}.appeal-pulse-review{animation:amberPulse 1.6s infinite ease-in-out;border-left:3px solid #f97316!important}.appeal-cell-resolved{background:#10b9811f;border-left:3px solid #10b981!important}.appeal-cell-rejected{background:#ef44441a;border-left:3px solid #ef4444!important}.matrix-cell-content{display:flex;flex-direction:column;gap:4px}.cell-top-line{display:flex;align-items:center;justify-content:space-between}.cell-score-num,.score-mono{font-family:JetBrains Mono,monospace;font-size:15px;font-weight:700}.cell-quick-edit-trigger{opacity:.35;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:3px;border-radius:4px}.matrix-cell:hover .cell-quick-edit-trigger{opacity:1;background:#0f172a99}.cell-badge{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;padding:2px 6px;border-radius:4px;width:fit-content}.badge-amber{background:#f59e0b40;color:#fde68a}.badge-green{background:#10b98138;color:#6ee7b7}.badge-red{background:#ef444438;color:#fca5a5}.inline-edit-box{display:flex;align-items:center;gap:4px}.inline-score-input{width:48px;padding:4px 6px;background:#0f172a;border:1px solid #3b82f6;color:#fff;border-radius:5px;font-family:JetBrains Mono,monospace;font-weight:700}.inline-icon-btn{border:none;padding:4px;border-radius:5px;cursor:pointer;display:inline-flex}.inline-icon-btn.save{background:#10b981;color:#fff}.inline-icon-btn.cancel{background:#334155;color:#cbd5e1}.total-cell,.total-score-chip{font-family:JetBrains Mono,monospace;font-size:15px;font-weight:800;color:#60a5fa}.admin-control-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:18px 22px}.window-badge{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;padding:5px 12px;border-radius:999px}.window-badge.open{background:var(--accent-green-bg);color:#34d399}.window-badge.closed{background:var(--accent-red-bg);color:#f87171}.admin-banner-desc{font-size:13px;color:var(--text-muted);margin-top:4px}.admin-banner-actions{display:flex;gap:10px}.audit-score-change{display:inline-flex;align-items:center;gap:6px;font-family:JetBrains Mono,monospace;font-weight:700}.old-val{color:var(--text-muted)}.new-val{color:var(--text-primary)}.diff-pill{font-size:11px;padding:2px 6px;border-radius:999px}.diff-up{background:var(--accent-green-bg);color:#34d399}.diff-down{background:var(--accent-red-bg);color:#f87171}.diff-zero{background:#94a3b826;color:var(--text-muted)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#030712c7;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:20px}.modal-card{width:100%;max-width:720px;background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid var(--border-subtle);background:var(--bg-surface-elevated)}.modal-eyebrow{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-secondary);margin-bottom:6px}.modal-title{font-size:18px;font-weight:700}.modal-body{padding:22px 24px;display:flex;flex-direction:column;gap:18px;max-height:82vh;overflow-y:auto}.appeal-summary-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;background:#0f172aa6;padding:14px;border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.summary-metric{display:flex;flex-direction:column;gap:4px}.metric-label{font-size:11.5px;color:var(--text-muted)}.metric-value{font-family:JetBrains Mono,monospace;font-size:20px;font-weight:800}.highlight-amber{color:#fbbf24}.claimant-box,.jury-response-callout{background:#0f172ab3;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px}.claimant-box-header,.callout-header{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:#93c5fd;margin-bottom:8px}.claimant-meta{margin-left:auto;color:var(--text-secondary)}.score-selector-row{display:flex;gap:8px;flex-wrap:wrap}.score-pill-btn{width:42px;height:40px;border-radius:9px;border:1px solid var(--border-strong);background:var(--bg-surface-elevated);color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:15px;font-weight:700;cursor:pointer;transition:all .14s ease}.score-pill-btn.selected{background:var(--accent-primary);border-color:#60a5fa;color:#fff;box-shadow:0 0 0 3px #3b82f64d}.score-pill-btn.current-marker{border-bottom:3px solid #f59e0b}.form-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:12.5px;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.internal-label{color:#fcd34d}.form-input,.form-select,.form-textarea{background:#0f172a;border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:9px 12px;color:var(--text-primary);font-family:inherit;font-size:13.5px}.internal-textarea{border-color:#f59e0b73;background:#f59e0b0d}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:8px;padding-top:14px;border-top:1px solid var(--border-subtle);flex-wrap:wrap}.jury-footer{justify-content:space-between}.verdict-actions{display:flex;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13.5px;font-weight:600;padding:9px 16px;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:all .15s ease}.btn-sm{padding:6px 12px;font-size:12.5px}.btn-full{width:100%}.btn-primary{background:var(--accent-primary);color:#fff}.btn-primary:hover{background:var(--accent-primary-hover)}.btn-secondary{background:var(--bg-surface-elevated);color:var(--text-primary);border-color:var(--border-strong)}.btn-amber{background:#f59e0b33;color:#fbbf24;border-color:#f59e0b73}.btn-success{background:#059669;color:#fff}.btn-danger{background:#dc2626;color:#fff}.icon-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px}.live-toast-stack{position:fixed;bottom:20px;right:20px;z-index:80;display:flex;flex-direction:column;gap:10px;max-width:390px}.live-toast{display:flex;align-items:flex-start;gap:12px;padding:13px 15px;border-radius:var(--radius-md);background:#1e293b;border:1px solid var(--border-strong);box-shadow:var(--shadow-card)}.toast-info{border-left:4px solid #3b82f6}.toast-success{border-left:4px solid #10b981}.toast-warning{border-left:4px solid #f59e0b}.toast-danger{border-left:4px solid #ef4444}.toast-title{font-size:13px;font-weight:700}.toast-msg{font-size:12px;color:var(--text-secondary);margin-top:2px}.toast-close{margin-left:auto;background:transparent;border:none;color:var(--text-muted);cursor:pointer}.alert-banner{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:var(--radius-sm);font-size:13px}.alert-danger{background:var(--accent-red-bg);color:#fca5a5;border:1px solid rgba(239,68,68,.4)}.alert-info{background:#3b82f624;color:#93c5fd;border:1px solid rgba(59,130,246,.35)}.panel-loading,.splash-screen{display:flex;align-items:center;justify-content:center;gap:12px;padding:64px;color:var(--text-secondary)}@keyframes spinAnim{to{transform:rotate(360deg)}}.spin{animation:spinAnim 1s linear infinite}
