:root{
  --dcpm-orange:#F96332;
  --dcpm-orange-dark:#dc4b1f;
  --dcpm-orange-soft:#fff1eb;
  --dcpm-black:#1A1A1A;
  --dcpm-black-2:#111827;
  --dcpm-white:#FFFFFF;
  --dcpm-bg:#F5F6F8;
  --dcpm-surface:#FFFFFF;
  --dcpm-surface-alt:#FAFAFB;
  --dcpm-border:#D8DEE6;
  --dcpm-border-strong:#B8C0CC;
  --dcpm-text:#1A1A1A;
  --dcpm-text-muted:#667085;
  --dcpm-link:#1D4ED8;
  --dcpm-success:#16A34A;
  --dcpm-success-bg:#DCFCE7;
  --dcpm-success-border:#86EFAC;
  --dcpm-success-text:#166534;
  --dcpm-danger:#DC2626;
  --dcpm-danger-bg:#FEE2E2;
  --dcpm-danger-border:#FECACA;
  --dcpm-danger-text:#991B1B;
  --dcpm-warning:#D97706;
  --dcpm-warning-bg:#FEF3C7;
  --dcpm-warning-border:#FCD34D;
  --dcpm-warning-text:#92400E;
  --dcpm-neutral:#6B7280;
  --dcpm-neutral-bg:#E5E7EB;
  --dcpm-neutral-border:#D1D5DB;
  --dcpm-neutral-text:#374151;
  --dcpm-space-1:4px;
  --dcpm-space-2:8px;
  --dcpm-space-3:12px;
  --dcpm-space-4:16px;
  --dcpm-space-5:20px;
  --dcpm-space-6:24px;
  --dcpm-space-8:32px;
  --dcpm-radius-sm:6px;
  --dcpm-radius-md:8px;
  --dcpm-radius-lg:12px;
  --dcpm-radius-xl:16px;
  --dcpm-radius-pill:999px;
  --dcpm-shadow-sm:0 1px 3px rgba(16,24,40,.10);
  --dcpm-shadow-md:0 8px 20px rgba(16,24,40,.12);
  --dcpm-shadow-lg:0 20px 50px rgba(16,24,40,.20);
  --dcpm-font-sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --dcpm-text-xs:12px;
  --dcpm-text-sm:13px;
  --dcpm-text-md:14px;
  --dcpm-text-lg:16px;
  --dcpm-text-xl:20px;
  --dcpm-text-2xl:28px;
  --dcpm-text-3xl:34px;
  --dcpm-line-tight:1.2;
  --dcpm-line-normal:1.45;
  --dcpm-control-height:38px;
}
*,*::before,*::after{box-sizing:border-box}
html{font-family:var(--dcpm-font-sans);color:var(--dcpm-text);background:var(--dcpm-bg)}
body{font-family:var(--dcpm-font-sans)!important;background:var(--dcpm-bg)!important;color:var(--dcpm-text)!important;line-height:var(--dcpm-line-normal)}
a{color:var(--dcpm-link)}
.dcpm-h1,h1{font-size:var(--dcpm-text-2xl);line-height:var(--dcpm-line-tight);font-weight:800;color:var(--dcpm-black);letter-spacing:-.02em}
.dcpm-h2,h2{font-size:var(--dcpm-text-xl);line-height:var(--dcpm-line-tight);font-weight:800;color:var(--dcpm-black)}
.dcpm-body{font-size:var(--dcpm-text-md);line-height:var(--dcpm-line-normal)}
.dcpm-small,.small{font-size:var(--dcpm-text-xs);line-height:1.35}.muted,.dcpm-muted{color:var(--dcpm-text-muted)!important}
.page,.dcpm-page{padding:var(--dcpm-space-6);max-width:100vw}
.dcpm-page-header,.sub-header,.header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--dcpm-space-4);margin-bottom:var(--dcpm-space-5);flex-wrap:wrap}
.dcpm-page-header h1,.sub-header h1,.header h1{margin:0}.dcpm-page-header p,.sub-header p,.header p{margin:var(--dcpm-space-1) 0 0;color:var(--dcpm-text-muted)}
.dcpm-actions,.sub-actions,.toolbar,.controls{display:flex;align-items:center;gap:var(--dcpm-space-2);flex-wrap:wrap}
.dcpm-card,.stat,.controls,.table-wrap,.modal-card,.global-feedback-card{background:var(--dcpm-surface);border:1px solid var(--dcpm-border);border-radius:var(--dcpm-radius-lg);box-shadow:var(--dcpm-shadow-sm)}
.dcpm-card{padding:var(--dcpm-space-4)}
.dcpm-btn,.btn,.sub-btn,.feedback-primary,.feedback-secondary,button.stat{min-height:var(--dcpm-control-height);border:1px solid transparent;border-radius:var(--dcpm-radius-md);padding:9px 13px;font-size:var(--dcpm-text-sm);font-weight:800;line-height:1.2;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--dcpm-space-2);cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,box-shadow .12s,transform .12s}
.dcpm-btn:hover,.btn:hover,.sub-btn:hover,.feedback-primary:hover,.feedback-secondary:hover{box-shadow:var(--dcpm-shadow-sm);text-decoration:none;transform:translateY(-1px)}
.dcpm-btn-primary,.btn.orange,.sub-btn,.feedback-primary{background:var(--dcpm-orange)!important;color:var(--dcpm-white)!important;border-color:var(--dcpm-orange)!important}.dcpm-btn-primary:hover,.btn.orange:hover,.sub-btn:hover,.feedback-primary:hover{background:var(--dcpm-orange-dark)!important;border-color:var(--dcpm-orange-dark)!important}
.dcpm-btn-secondary,.btn.secondary,.sub-btn.secondary{background:var(--dcpm-black)!important;color:var(--dcpm-white)!important;border-color:var(--dcpm-black)!important}
.dcpm-btn-danger,.btn.red,.logout-link{background:var(--dcpm-danger)!important;color:var(--dcpm-white)!important;border-color:var(--dcpm-danger)!important}
.dcpm-btn-success,.btn.green{background:var(--dcpm-success)!important;color:var(--dcpm-white)!important;border-color:var(--dcpm-success)!important}
.dcpm-btn-neutral,.btn.grey,.feedback-secondary,.btn.light,.sub-btn.light{background:var(--dcpm-neutral-bg)!important;color:var(--dcpm-neutral-text)!important;border-color:var(--dcpm-neutral-border)!important}
.dcpm-btn-ghost{background:transparent!important;color:var(--dcpm-black)!important;border-color:var(--dcpm-border)!important}
input,select,textarea,.dcpm-input,.dcpm-select{min-height:var(--dcpm-control-height);padding:8px 10px;border:1px solid var(--dcpm-border-strong);border-radius:var(--dcpm-radius-md);font-family:var(--dcpm-font-sans);font-size:var(--dcpm-text-sm);background:var(--dcpm-white);color:var(--dcpm-text)}
textarea{line-height:var(--dcpm-line-normal)}
input:focus,select:focus,textarea:focus,[contenteditable="true"]:focus{outline:3px solid rgba(249,99,50,.22);border-color:var(--dcpm-orange)!important}
.dcpm-nav,.top-nav{display:flex;align-items:center;gap:var(--dcpm-space-4);background:var(--dcpm-black)!important;color:var(--dcpm-white)!important;padding:10px 18px;position:sticky;top:0;z-index:50;box-shadow:var(--dcpm-shadow-md)}
.dcpm-brand,.brand{display:flex;align-items:center;gap:var(--dcpm-space-3);white-space:nowrap}.dcpm-brand-logo,.brand-logo{display:block;height:34px;width:auto;max-width:150px;object-fit:contain}.brand a{display:flex;align-items:center;gap:var(--dcpm-space-3);font-weight:900;color:var(--dcpm-white)!important;text-decoration:none;font-size:var(--dcpm-text-lg)}
.nav-links,.user-area{display:flex;align-items:center;gap:var(--dcpm-space-2);flex-wrap:wrap}.nav-links{flex:1}.nav-links a,.user-area a{color:var(--dcpm-white)!important;text-decoration:none;padding:8px 10px;border-radius:var(--dcpm-radius-md);font-size:var(--dcpm-text-sm);font-weight:700}.nav-links a:hover,.user-area a:hover{background:rgba(255,255,255,.12)!important}.settings-link{background:var(--dcpm-orange)!important;color:var(--dcpm-white)!important}.user-name{color:#D0D5DD;white-space:nowrap}
.dcpm-badge,.status-badge,.pill{display:inline-flex;align-items:center;justify-content:center;gap:4px;border-radius:var(--dcpm-radius-pill);padding:4px 8px;font-size:var(--dcpm-text-xs);font-weight:800;line-height:1.15}.dcpm-badge-success,.status-won,.match{background:var(--dcpm-success-bg)!important;color:var(--dcpm-success-text)!important}.dcpm-badge-danger,.status-lost,.exclude{background:var(--dcpm-danger-bg)!important;color:var(--dcpm-danger-text)!important}.dcpm-badge-warning,.status-pending,.status-submitted,.unsure{background:var(--dcpm-warning-bg)!important;color:var(--dcpm-warning-text)!important}.dcpm-badge-neutral,.status-passed,.status-cancelled,.status-draft{background:var(--dcpm-neutral-bg)!important;color:var(--dcpm-neutral-text)!important}
.dcpm-table-wrap,.table-wrap{width:100%;overflow:auto;background:var(--dcpm-surface);border:1px solid var(--dcpm-border);border-radius:var(--dcpm-radius-lg);box-shadow:var(--dcpm-shadow-sm)}
.dcpm-table,table.register-table,table#screenTable{border-collapse:separate!important;border-spacing:0!important;font-size:var(--dcpm-text-sm)}
.dcpm-table th,table.register-table th,table#screenTable th{background:var(--dcpm-black)!important;color:var(--dcpm-white)!important;font-weight:800;text-align:left;border-bottom:1px solid #3A3A3A!important;border-right:1px solid #4B5563!important;padding:9px 8px;user-select:none;white-space:nowrap}.dcpm-table th:last-child,table.register-table th:last-child,table#screenTable th:last-child{border-right:0!important}
.dcpm-table td,table.register-table td,table#screenTable td{border-bottom:1px solid var(--dcpm-border)!important;border-right:1px solid #EEF2F6!important;padding:8px;vertical-align:top}.dcpm-table td:last-child,table.register-table td:last-child,table#screenTable td:last-child{border-right:0!important}
.dcpm-table tbody tr:hover,table.register-table tbody tr:hover,table#screenTable tbody tr:hover{filter:brightness(.99)}
.outcome-won{background:var(--dcpm-success-bg)!important}.outcome-lost{background:var(--dcpm-danger-bg)!important}.outcome-pending,.outcome-submitted{background:var(--dcpm-warning-bg)!important}.outcome-passed,.outcome-cancelled,.outcome-draft{background:var(--dcpm-neutral-bg)!important}
.dcpm-resize-handle,.resize-handle{position:absolute;top:0;right:-3px;width:8px;height:100%;cursor:col-resize;z-index:6}.dcpm-resize-handle:hover,.resize-handle:hover{background:rgba(249,99,50,.8)!important}
.dcpm-modal,.global-feedback-modal,.modal{display:none;position:fixed;inset:0;background:rgba(26,26,26,.62);z-index:120;align-items:center;justify-content:center;padding:var(--dcpm-space-5)}.dcpm-modal.open,.global-feedback-modal.open{display:flex}.modal[style*="flex"]{display:flex}.dcpm-modal-card,.global-feedback-card,.modal-card{background:var(--dcpm-surface);border-radius:var(--dcpm-radius-xl);padding:var(--dcpm-space-5);box-shadow:var(--dcpm-shadow-lg);border:1px solid var(--dcpm-border)}
.global-feedback-button{background:var(--dcpm-orange)!important;color:var(--dcpm-white)!important;border:0!important;border-radius:var(--dcpm-radius-pill)!important;box-shadow:var(--dcpm-shadow-lg)!important;font-weight:900!important}.global-feedback-button:hover{background:var(--dcpm-orange-dark)!important}
.dcpm-stat-grid,.stats{display:grid;gap:var(--dcpm-space-3);margin:var(--dcpm-space-4) 0}.stat{padding:var(--dcpm-space-4);text-align:left}.stat b{display:block;font-size:26px;line-height:1.1;color:inherit}.stat.active{outline:3px solid rgba(249,99,50,.32)!important;border-color:var(--dcpm-orange)!important}
@media(max-width:900px){.page,.dcpm-page{padding:var(--dcpm-space-4)}.dcpm-page-header,.sub-header,.header{align-items:stretch}.dcpm-actions,.sub-actions,.toolbar,.controls{width:100%}.dcpm-btn,.btn,.sub-btn{width:auto}.top-nav,.dcpm-nav{align-items:flex-start;flex-wrap:wrap}.brand{width:100%}}

/* Contrast guardrails for legacy black page sub-navigation/header bars.
   Page-specific titles must remain white on black; only the DCPM brand token may use orange. */
.header[style*="background: #000"], .header[style*="background:#000"]{color:var(--dcpm-white)!important}
.header-brand h1{color:var(--dcpm-white)}
.header-brand h1 span{color:var(--dcpm-orange)}
.header-link{color:var(--dcpm-white)}
.header-link:hover{color:var(--dcpm-white)}
