:root{--color-bg: #f5f6f8;--color-surface: #ffffff;--color-surface-alt: #fafbfc;--color-border: #e4e7eb;--color-border-strong: #cbd2d9;--color-text: #1f2933;--color-text-muted: #616e7c;--color-text-subtle: #9aa5b1;--color-primary: #2b3a67;--color-primary-hover: #1e2a4d;--color-accent: #f2994a;--color-cam-bg: #e3f2fd;--color-cam-fg: #0d47a1;--color-pom-bg: #fff3e0;--color-pom-fg: #bf5f00;--color-pcf-bg: #e8f5e9;--color-pcf-fg: #1b5e20;--color-open-bg: #eef2ff;--color-open-fg: #3730a3;--color-progress-bg: #fef3c7;--color-progress-fg: #92400e;--color-blocked-bg: #fee2e2;--color-blocked-fg: #991b1b;--color-done-bg: #dcfce7;--color-done-fg: #166534;--color-tier1-bg: #1f2933;--color-tier1-fg: #ffffff;--color-tier2-bg: #e4e7eb;--color-tier2-fg: #3e4c59;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04), 0 1px 3px rgba(15, 23, 42, .06);--shadow-md: 0 4px 12px rgba(15, 23, 42, .08);--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit}button{font-family:inherit}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.01em}h1{font-size:20px}h2{font-size:18px}h3{font-size:15px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.app{display:flex;flex-direction:column;min-height:100vh}.topnav{background:var(--color-primary);color:#fff;padding:0 var(--space-6);display:flex;align-items:center;height:56px;gap:var(--space-5)}.topnav__brand{font-weight:700;font-size:15px;letter-spacing:-.01em}.topnav__tabs{display:flex;gap:var(--space-1);flex:1}.topnav__tab{background:transparent;border:none;color:#ffffffbf;padding:6px 12px;font-size:13px;font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:all .12s}.topnav__tab:hover{color:#fff;background:#ffffff14}.topnav__tab--active{color:#fff;background:#ffffff26}.topnav__user{display:flex;align-items:center;gap:var(--space-3);font-size:13px;color:#ffffffd9}.topnav__user button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:4px 10px;font-size:12px;border-radius:var(--radius-sm);cursor:pointer}.topnav__user button:hover{background:#ffffff2e}.main{flex:1;padding:var(--space-6) var(--space-6);width:100%}.page-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:var(--space-5)}.page-header p{margin:4px 0 0;color:var(--color-text-muted)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5)}.card+.card{margin-top:var(--space-4)}.card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:var(--space-3)}.field label{font-size:12px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.input,.select,.textarea{width:100%;padding:8px 10px;font-size:14px;font-family:inherit;background:#fff;color:var(--color-text);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);transition:border-color .12s,box-shadow .12s}.textarea{min-height:80px;resize:vertical}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2b3a671f}.checkgroup{display:flex;flex-wrap:wrap;gap:var(--space-2)}.checkgroup label{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:999px;cursor:pointer;font-size:13px;text-transform:none;letter-spacing:0;color:var(--color-text);font-weight:500}.checkgroup label:hover{background:#f1f3f5}.checkgroup input{margin:0}.checkgroup input:checked+span{font-weight:600}.checkgroup label:has(input:checked){background:#e0e7ff;border-color:#818cf8}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:#fff;color:var(--color-text);cursor:pointer;transition:all .12s}.btn:hover{background:var(--color-surface-alt);border-color:var(--color-text-muted)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn--primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn--ghost{background:transparent;border-color:transparent;color:var(--color-text-muted)}.btn--ghost:hover{background:var(--color-surface-alt);color:var(--color-text)}.form-row{display:flex;gap:var(--space-3)}.form-row>*{flex:1}.badge{display:inline-flex;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;border-radius:999px;letter-spacing:.02em;text-transform:uppercase}.badge--cam{background:var(--color-cam-bg);color:var(--color-cam-fg)}.badge--pom{background:var(--color-pom-bg);color:var(--color-pom-fg)}.badge--pcf{background:var(--color-pcf-bg);color:var(--color-pcf-fg)}.badge--status-open{background:var(--color-open-bg);color:var(--color-open-fg)}.badge--status-in-progress{background:var(--color-progress-bg);color:var(--color-progress-fg)}.badge--status-blocked{background:var(--color-blocked-bg);color:var(--color-blocked-fg)}.badge--status-done{background:var(--color-done-bg);color:var(--color-done-fg)}.badge--tier-1{background:var(--color-tier1-bg);color:var(--color-tier1-fg)}.badge--tier-2{background:var(--color-tier2-bg);color:var(--color-tier2-fg)}.badge--bl{background:#eef2ff;color:#3730a3;text-transform:none;font-weight:500;font-size:11px}.badges{display:inline-flex;flex-wrap:wrap;gap:4px}.table{width:100%;border-collapse:separate;border-spacing:0}.table th,.table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--color-border);vertical-align:top}.table th{font-size:11px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;background:var(--color-surface-alt);position:sticky;top:0}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--color-surface-alt)}.table__priority{font-variant-numeric:tabular-nums;color:var(--color-text-subtle);font-weight:600}.table__title{font-weight:600;color:var(--color-text)}.table__desc{color:var(--color-text-muted);font-size:13px;margin-top:2px}.muted{color:var(--color-text-muted)}.subtle{color:var(--color-text-subtle);font-size:12px}.empty{text-align:center;padding:var(--space-7) var(--space-4);color:var(--color-text-muted)}.err{color:#b00020;margin-top:var(--space-3);font-size:13px}.splash{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#f5f6f8,#e4e7eb)}.splash__card{background:var(--color-surface);padding:var(--space-7) var(--space-6);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);min-width:360px;max-width:420px}.splash__card h1{font-size:22px;margin-bottom:var(--space-2)}.splash__card p{color:var(--color-text-muted);margin:0 0 var(--space-5)}.cluster{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-3);box-shadow:var(--shadow-sm)}.cluster__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.cluster__partner{font-weight:600;font-size:15px}.cluster__score{font-family:var(--font-mono);font-size:12px;color:var(--color-text-subtle)}.cluster__items{display:flex;flex-direction:column;gap:var(--space-2)}.cluster__item{padding:var(--space-3);background:var(--color-surface-alt);border-left:3px solid var(--color-border-strong);border-radius:var(--radius-sm)}.cluster__item--cam{border-left-color:#3b82f6}.cluster__item--pom{border-left-color:#f59e0b}.cluster__item--pcf{border-left-color:#10b981}.cluster__item-title{font-weight:600;margin-bottom:2px}.cluster__item-meta{display:flex;gap:var(--space-2);align-items:center;font-size:12px;color:var(--color-text-muted);margin-top:4px}.partner-section{margin-bottom:var(--space-6)}.partner-section__head{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:2px solid var(--color-border)}.partner-section__name{font-size:18px;font-weight:600}.columns{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.column{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);min-height:80px}.column h3{margin-bottom:var(--space-2)}.column__item{padding:8px 10px;border-radius:var(--radius-sm);background:var(--color-surface-alt);margin-bottom:6px;font-size:13px}.column__item-title{font-weight:600;color:var(--color-text)}.column__item-meta{font-size:11px;color:var(--color-text-muted);margin-top:2px}.filters{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:flex-end;margin-bottom:var(--space-4)}.filters .field{margin-bottom:0;min-width:160px}.import-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.dropzone{border:2px dashed var(--color-border-strong);border-radius:var(--radius-lg);padding:var(--space-7) var(--space-4);text-align:center;background:var(--color-surface);transition:border-color .12s,background .12s}.dropzone--active{border-color:var(--color-primary);background:#eef2ff}.preview-table td.err-cell{color:#b00020;font-size:12px}@media (max-width: 900px){.columns,.import-grid{grid-template-columns:1fr}}.badge--org{background:#eef2ff;color:#3730a3;text-transform:none;font-weight:600}.badge--org-BIZ_CAM_PVS,.badge--org-BIZ_CAM_TVOD_SVOD{background:#e3f2fd;color:#0d47a1}.badge--org-POM{background:#fff3e0;color:#bf5f00}.badge--org-PV_PRODUCT{background:#e8f5e9;color:#1b5e20}.badge--org-DXD{background:#f3e5f5;color:#6a1b9a}.badge--dir{background:#f1f5f9;color:#334155;text-transform:none;font-weight:500}.badge--dir-to-partner{background:#dbeafe;color:#1e40af}.badge--dir-from-partner{background:#fef3c7;color:#92400e}.badge--dir-internal{background:#e0e7ff;color:#3730a3}.badge--status-new{background:#eef2ff;color:#3730a3}.badge--status-in-discussion{background:#fde68a;color:#78350f}.badge--status-in-progress{background:#fef3c7;color:#92400e}.badge--status-blocked{background:#fee2e2;color:#991b1b}.badge--status-completed{background:#dcfce7;color:#166534}.badge--status-on-hold{background:#e5e7eb;color:#374151}.badge--status-declined{background:#f3f4f6;color:#6b7280;text-decoration:line-through}.badge--ba{background:#fef9c3;color:#713f12;text-transform:none;font-weight:500;font-size:11px}.badge--decision{text-transform:uppercase}.badge--decision-needs-review{background:#e5e7eb;color:#374151}.badge--decision-approved{background:#dcfce7;color:#166534}.badge--decision-deferred{background:#fef3c7;color:#92400e}.badge--decision-declined{background:#fee2e2;color:#991b1b}.badge--decision-needs-more-info{background:#e0f2fe;color:#075985}.splash__blocked h1{color:#991b1b}.splash__blocked .alias{font-family:var(--font-mono);background:#f3f4f6;padding:2px 6px;border-radius:3px}.row--in-scratchpad td{background:#f59e0b0d}.row--in-scratchpad:hover td{background:#f59e0b1a!important}.column__item--starred{border-left:3px solid #f59e0b;padding-left:7px}.cluster__item--starred{box-shadow:inset 3px 0 #f59e0b}.star:hover{color:#f59e0b!important}.benefit-matrix td,.benefit-matrix th{border-right:1px solid var(--color-border);padding:10px 14px}.benefit-matrix tr td:last-child,.benefit-matrix tr th:last-child{border-right:none}.benefit-matrix tfoot td{background:var(--color-surface-alt);border-top:2px solid var(--color-border)}.benefit-matrix td:hover{filter:brightness(1.05)}.multiselect{position:relative;min-width:180px}.multiselect__field{width:100%;display:flex;align-items:center;gap:6px;padding:6px 8px;min-height:34px;background:#fff;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;font-size:14px;text-align:left}.multiselect__field:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2b3a671f}.multiselect__placeholder{color:var(--color-text-subtle);flex:1}.multiselect__chips{display:flex;flex-wrap:wrap;gap:4px;flex:1;min-height:20px}.multiselect__chip{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;background:#e0e7ff;color:#3730a3;border-radius:999px;font-size:12px;font-weight:500;cursor:pointer}.multiselect__chip:hover{background:#c7d2fe}.multiselect__chip-x{font-size:14px;opacity:.7}.multiselect__more{font-size:12px;color:var(--color-text-muted);align-self:center}.multiselect__caret{color:var(--color-text-subtle);font-size:10px}.multiselect__menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;max-height:260px;overflow-y:auto;background:#fff;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:4px}.multiselect__option{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;font-size:14px}.multiselect__option:hover{background:var(--color-surface-alt)}.multiselect__option input{margin:0}.row--cursor td{box-shadow:inset 3px 0 0 var(--color-primary)}.row--cursor.row--in-scratchpad td{box-shadow:inset 3px 0 0 var(--color-primary),inset -3px 0 #f59e0b}.stats{display:flex;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap}.stat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:4px 10px;min-width:0;display:inline-flex;align-items:baseline;gap:6px}.stat__label{font-size:11px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.stat__value{font-size:14px;font-weight:700;color:var(--color-text);font-variant-numeric:tabular-nums}.stat__sub{font-size:11px;color:var(--color-text-subtle)}.stat--accent .stat__value{color:var(--color-accent)}.stat--danger .stat__value{color:#b00020}.stat--success .stat__value{color:#166534}.group__header td{background:var(--color-surface-alt);font-size:13px;padding:8px 12px;border-top:2px solid var(--color-border)}.group__header:hover td{background:#f1f5f9}.table tbody:first-of-type .group__header td{border-top:none}@keyframes help-tooltip-fade{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}
