*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;background:#f6f7f9;color:#0f172a;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;font-size:14px;line-height:1.4;-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer}a{color:#2563eb;text-decoration:none}a:hover{text-decoration:underline}.app-shell{min-height:100vh;display:flex;flex-direction:column}.toolbar{display:flex;align-items:center;gap:12px;padding:12px 20px;background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:10}.toolbar h1{margin:0;font-size:18px;font-weight:700;color:#0f172a;flex:0 0 auto}.toolbar .spacer{flex:1}.toolbar select,.toolbar button,.toolbar a.btn{background:#fff;color:#0f172a;border:1px solid #d1d5db;border-radius:6px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex;align-items:center;gap:6px}.toolbar button:hover,.toolbar a.btn:hover{background:#f3f4f6}.toolbar button.primary{background:#2563eb;color:#fff;border-color:#2563eb}.toolbar button.primary:hover{background:#1d4ed8}.toolbar button:disabled{opacity:.55;cursor:not-allowed}.export-menu{position:relative;display:inline-block}.export-menu-list{position:absolute;top:calc(100% + 4px);right:0;z-index:100;min-width:220px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 8px 24px #0f172a1f;padding:4px}.export-menu-list button{display:block;width:100%;text-align:left;background:transparent;border:none;padding:8px 10px;border-radius:4px;font-size:13px;color:#0f172a;cursor:pointer}.export-menu-list button:hover{background:#f1f5f9}.export-dialog{position:fixed;inset:0;z-index:200;width:min(560px,100%);max-height:min(720px,calc(100vh - 40px));margin:auto;flex-direction:column;padding:20px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;box-shadow:0 24px 60px #0f172a40}.export-dialog[open]{display:flex}.export-dialog::backdrop{background:#0f172a73}.export-dialog-head{display:flex;align-items:center;gap:12px}.export-dialog-head h2{flex:1;margin:0;font-size:18px}.toolbar .export-dialog-close{padding:0;border:0;color:#64748b;font-size:24px}.export-dialog p{margin:8px 0 14px;color:#64748b;font-size:13px}.export-view-list{min-height:100px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:7px}.export-view-list label{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid #f1f5f9;cursor:pointer}.export-view-list label:last-child{border-bottom:0}.export-view-list label:hover{background:#f8fafc}.export-dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:16px}.export-dialog-actions span{flex:1;color:#64748b;font-size:12px}.legend{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 20px;padding:10px 20px;background:#fff;border-bottom:1px solid #e5e7eb;font-size:12px;color:#334155;position:sticky;top:var(--toolbar-h, 61px);z-index:9}.legend-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.legend-item{display:inline-flex;align-items:center;gap:6px}.legend-types{margin-left:auto}.legend-swatch{display:inline-block;width:26px;height:14px;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:3px}.legend-swatch-initiative{border-left:3px solid #334155}.legend-swatch-ext{background:#fff3ea;border-color:#f5d5bd}.legend-color-group{display:inline-flex;align-items:center;gap:10px;margin-right:18px}.section-pad{padding:16px 20px}.timeline-wrapper{background:#fff;margin:16px 20px 0;border:1px solid #e5e7eb;border-radius:8px;overflow:auto;max-height:calc(100vh - var(--toolbar-h, 61px) - var(--legend-h, 38px) - 28px)}.tg-sticky-head{position:sticky;top:0;z-index:5}.timeline-wrapper .tg-row{width:100%;min-width:100%}.detail-list{margin:16px 20px;color:#0f172a}.pillar-block{background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:14px;overflow:hidden}.pillar-header{display:flex;align-items:center;gap:10px;padding:12px 16px;background:transparent;border-bottom:1px solid #e5e7eb}.pillar-pill{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:22px;padding:0 8px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.02em;background:#1e293b;color:#f8fafc}.pillar-pill-p1,.pillar-pill-p2,.pillar-pill-p3,.pillar-pill-p4,.pillar-pill-p5,.pillar-pill-p6,.pillar-pill-other{background:#1e293b}.pillar-name{font-size:14px;font-weight:600;color:#0f172a;flex:1;min-width:0}.pillar-count{font-size:13px;font-weight:600;color:#64748b;padding-left:8px}.pillar-table-scroll{overflow-x:auto}.subview-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:14px 0 4px;padding:10px 12px;background:#fffbeb;border:1px solid #fde68a;border-radius:8px}.subview-legend-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#92400e;margin-right:4px}.subview-legend-item{display:inline-flex;align-items:center;gap:5px}.subview-legend-name{font-size:12px;color:#334155;white-space:nowrap}.product-release-wrapper{margin:12px 20px 0;overflow:auto;max-height:calc(100vh - var(--toolbar-h, 61px) - var(--legend-h, 38px) - 28px);border:1px solid #e5e7eb;border-radius:8px;background:#fff}.product-release-row{display:grid;min-width:max-content}.product-release-sticky-head{position:sticky;top:0;z-index:5}.product-release-phase,.product-release-product-head,.product-release-unknown-head{padding:6px 4px;color:#fff;border-right:1px solid rgba(255,255,255,.18);font-size:11px;font-weight:700;letter-spacing:.05em;text-align:center;text-transform:uppercase}.product-release-month,.product-release-product-heading{padding:6px 4px;border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;background:#f8fafc;color:#475569;text-align:center;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.product-release-product-head{position:sticky;left:0;z-index:7;background:#0f172a;border-right-color:#0f172a}.product-release-product-heading{position:sticky;left:0;z-index:6;background:#1e293b;border-right-color:#0f172a}.product-release-unknown-head{background:#64748b}.product-release-cell{min-width:0;min-height:112px;padding:6px;overflow:hidden;border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}.product-release-product{position:sticky;left:0;z-index:3;display:flex;align-items:center;padding:8px 10px;overflow-wrap:anywhere;border-right:1px solid #0f172a;border-bottom:1px solid #e5e7eb;background:#1e293b;color:#fff;font-size:12px;font-weight:700}.product-release-card{box-sizing:border-box;width:100%;max-width:100%;margin-bottom:5px;padding:0 7px 7px;overflow:hidden;border:1px solid #cbd5e1;border-radius:4px;background:#f1f5f9;color:#0f172a;font-size:11px;line-height:1.3}.product-release-card-ext{background:#fff3ea;border-color:#f5d5bd}.product-release-card-untitled{padding-top:7px}.product-release-card-initiative{border-left:3px solid #334155}.product-release-title{display:flex;align-items:center;gap:6px;margin:0 -7px 5px;padding:5px 7px;background:#ffffff94;border-bottom:1px solid rgba(148,163,184,.35);font-size:11px;font-weight:800}.product-release-title .tg-subview-tag{margin-left:auto;flex:none}.product-release-card ul{margin:0;padding:0;list-style:none}.product-release-card li+li{margin-top:2px}.product-release-card button{display:flex;align-items:flex-start;gap:4px;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;font:inherit;font-size:11px;line-height:1.25;cursor:pointer;overflow:hidden}.product-release-card button>span:nth-child(2){min-width:0;overflow-wrap:anywhere}.product-release-card button:hover>span:nth-child(2){text-decoration:underline}.product-release-card button .tg-tag{margin-left:auto;flex:none}.product-release-card button .tg-subview-tag{margin-left:auto}.product-release-card button .tg-subview-tag+.tg-subview-tag,.product-release-card button .tg-subview-tag+.tg-tag{margin-left:0}.product-release-card-ghost{border-style:dashed;border-color:#cbd5e1;background:#f8fafc;color:#64748b}.product-release-ghost-feature{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:10px;line-height:1.25;text-decoration:line-through}.settings-table{width:100%;border-collapse:collapse;font-size:12.5px;color:#0f172a}.settings-table th,.settings-table td{border-top:1px solid #e5e7eb;padding:8px 10px;text-align:left;vertical-align:middle}.settings-table th{background:#f1f5f9;color:#475569;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.06em;border-top:none;border-bottom:1px solid #e5e7eb;white-space:nowrap}.pillar-table{width:100%;border-collapse:collapse;font-size:12.5px;color:#0f172a}.pillar-table th,.pillar-table td{border-top:1px solid #e5e7eb;padding:8px 10px;text-align:left;vertical-align:middle}.pillar-table th.cell-checkbox,.pillar-table td.cell-checkbox{text-align:center}.pillar-table th{background:#f1f5f9;color:#475569;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.06em;border-top:none;border-bottom:1px solid #e5e7eb;white-space:nowrap}.pillar-table tbody tr{cursor:pointer;transition:background .12s ease}.pillar-table tbody tr:hover{background:#f8fafc}.pillar-table input[type=text],.pillar-table input[type=date],.pillar-table textarea{width:100%;border:1px solid #d1d5db;border-radius:6px;padding:5px 8px;font:inherit;background:#fff;color:#0f172a}.pillar-table input[type=text]:focus,.pillar-table input[type=date]:focus,.pillar-table textarea:focus,.pillar-table .offset-select:focus,.pillar-table .cell-date-display:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb2e}.pillar-table textarea{min-height:30px;resize:vertical}.pillar-table a{color:#2563eb;text-decoration:none}.pillar-table a:hover{text-decoration:underline}.pillar-table input[type=checkbox]{appearance:none;-webkit-appearance:none;width:16px;height:16px;border:1px solid #cbd5e1;border-radius:3px;background:#fff;position:relative;cursor:pointer;vertical-align:middle}.pillar-table input[type=checkbox]:checked{background:#2563eb;border-color:#2563eb}.pillar-table input[type=checkbox]:checked:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.pillar-table input[type=checkbox]:focus-visible{outline:2px solid #2563eb;outline-offset:1px}.row-edit{display:inline-flex;align-items:center;gap:4px;width:100%}.cell-date{text-align:center;white-space:nowrap}.cell-date-display{background:transparent;border:1px dashed transparent;border-radius:6px;color:#334155;padding:4px 8px;font:inherit;cursor:pointer;width:100%;text-align:center}.cell-date-display:hover{background:#f1f5f9;border-color:#cbd5e1;color:#0f172a}.pillar-table th.region-col{background:#dbeafe;color:#1d4ed8;border-left:1px solid #bfdbfe;text-align:center}.pillar-table th.region-col-sub{background:#d1fae5;color:#047857;border-left:1px solid #a7f3d0;font-size:10.5px;line-height:1.2;white-space:normal;text-align:center}.pillar-table td.region-col{background:#2563eb0d;border-left:1px solid #bfdbfe;text-align:center}.pillar-table td.region-col-sub{background:#10b9810f;border-left:1px solid #a7f3d0;text-align:center}.pillar-table td.region-col-adjusted{font-weight:500;color:#334155;white-space:nowrap}.pillar-table td.region-col-adjusted.adjusted-shifted{color:#1d4ed8;font-weight:600}.offset-select{min-width:64px;border:1px solid #cbd5e1;border-radius:6px;padding:4px 6px;font:inherit;background:#fff;color:#0f172a;text-align:center;cursor:pointer}.offset-select.offset-set{border-color:#2563eb;color:#1d4ed8;font-weight:600;background:#2563eb0f}.regional-legend{margin-top:6px;padding:12px 16px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;color:#334155;font-size:12.5px}.regional-legend-title{font-weight:600;color:#0f172a;margin-bottom:6px}.regional-legend ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.regional-legend li{display:flex;align-items:flex-start;gap:8px}.regional-legend b{color:#0f172a;font-weight:600}.legend-dot{display:inline-block;width:10px;height:10px;border-radius:2px;margin-top:4px;flex-shrink:0}.legend-dot-blue{background:#3b82f6}.legend-dot-green{background:#10b981}.granularity-toggle{display:inline-flex;border:1px solid #cbd5e1;border-radius:6px;overflow:hidden;margin-left:8px}.granularity-toggle button{background:#fff;color:#475569;border:0;padding:5px 12px;font-size:12px;font-weight:500;cursor:pointer}.granularity-toggle button+button{border-left:1px solid #cbd5e1}.granularity-toggle button.active{background:#1e293b;color:#fff}.status-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 6px;border-radius:999px;border:1px solid #e5e7eb;background:#f8fafc;font-size:11px;font-weight:500;color:#1e293b;cursor:pointer}.status-chip select{border:none;background:transparent;font-size:11px;font-weight:500;color:inherit;cursor:pointer;padding:0}.status-chip select:focus{outline:none}.status-icon{display:inline-flex;align-items:center;justify-content:center;width:7px;height:7px;border-radius:50%;flex:0 0 7px}.status-icon-sym{color:#fff;font-size:8px;font-weight:700;line-height:1}.tg-row{display:grid;align-items:stretch}.tg-cell{border-right:1px solid #e5e7eb;padding:4px;min-height:36px}.tg-cell:last-child{border-right:0}.tg-banner{font-weight:700;color:#fff;text-align:center;font-size:11px;padding:6px 4px;text-transform:uppercase;letter-spacing:.05em;border-right:1px solid rgba(255,255,255,.18)}.tg-colhead{background:#f8fafc;color:#475569;font-weight:600;font-size:11px;padding:6px 4px;text-align:center;text-transform:uppercase;letter-spacing:.04em;border-right:1px solid #e5e7eb}.tg-pillar{background:#1e293b;color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;font-size:11px;font-weight:700;padding:6px;border-right:1px solid #0f172a}.tg-pillar-sub{display:block;font-size:9px;font-weight:500;opacity:.8;text-transform:none;letter-spacing:.02em;margin-top:2px}.tg-pillar-row{background:#fff}.tg-card{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;padding:4px 6px;margin-bottom:3px;display:flex;align-items:center;gap:6px;font-size:11px;line-height:1.25;cursor:pointer}.tg-card:hover{background:#e2e8f0}.tg-card-ext{background:#fff3ea;border-color:#f5d5bd}.tg-card-ext:hover{background:#ffe8d8}.tg-card-text{word-break:break-word}.tg-card-initiative{border-left:3px solid #334155;padding-top:6px;padding-bottom:6px;font-weight:600;color:#0f172a}.tg-tag{display:inline-block;margin-left:auto;padding:1px 5px;border-radius:8px;font-size:9px;font-weight:600;white-space:nowrap;color:#fff;flex-shrink:0}.tg-tag-new{background:#2563eb}.tg-tag-moved-up{background:#0891b2}.tg-tag-delayed{background:#dc2626}.tg-tag-changed{background:#d97706}.tg-tag-cancelled{background:#6b7280}.tg-subview-tag{display:inline-block;margin-left:auto;padding:1px 5px;border-radius:8px;font-size:9px;font-weight:700;white-space:nowrap;color:#fff;background:#b45309;flex-shrink:0}.tg-subview-tag+.tg-subview-tag{margin-left:4px}.tg-card:has(.tg-subview-tag){flex-wrap:wrap}.tg-card-ghost{background:#f8fafc;border-style:dashed;color:#94a3b8;cursor:default}.tg-card-ghost:hover{background:#f8fafc}.tg-card-text-cancelled{text-decoration:line-through}.compare-controls{display:flex;align-items:center;gap:6px}.compare-controls select{max-width:300px;font-size:14px}.compare-controls-row{padding:8px 20px 0}.compare-vs{font-size:12px;color:#64748b;font-weight:600}.compare-summary{margin:12px 20px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:14px 18px}.compare-summary-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:6px}.compare-summary-head h2{margin:0;font-size:15px}.compare-summary-sub{font-size:12px;color:#64748b}.compare-summary-empty{font-size:13px;color:#64748b;padding:6px 0}.compare-summary-group h3{margin:10px 0 4px;font-size:13px}.compare-summary-pillar-long{font-weight:400;color:#64748b;font-size:12px}.compare-summary-group ul{list-style:none;margin:0;padding:0}.compare-summary-group li{display:flex;align-items:baseline;gap:8px;padding:3px 0;font-size:12.5px}.compare-summary-group li .tg-tag{margin-left:0}.compare-summary-name{font-weight:600}.compare-summary-detail{color:#475569}.snapshot-list{display:flex;flex-direction:column;gap:6px}.snapshot-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc}.snapshot-info{flex:1;display:flex;flex-direction:column;min-width:0}.snapshot-label{font-size:13px;font-weight:600;word-break:break-word}.snapshot-meta{font-size:11.5px;color:#64748b}.detail-panel-overlay{position:fixed;inset:0;background:#0f172a59;z-index:50}.detail-panel{position:fixed;top:0;right:0;width:420px;max-width:100vw;height:100vh;background:#fff;border-left:1px solid #e5e7eb;box-shadow:-8px 0 24px #0f172a1f;z-index:51;display:flex;flex-direction:column}.detail-panel header{display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid #e5e7eb}.detail-panel header h2{margin:0;font-size:16px;flex:1}.detail-panel header button.close{border:none;background:transparent;color:#64748b;font-size:22px;line-height:1}.detail-panel .body{padding:16px 18px;overflow:auto;flex:1}.detail-panel dl{margin:0;display:grid;grid-template-columns:130px 1fr;row-gap:10px;column-gap:10px;font-size:13px}.detail-panel dt{color:#64748b}.detail-panel dd{margin:0}.flag-dots{display:flex;gap:6px}.flag-dot{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#e2e8f0;color:#64748b;font-size:11px;font-weight:700}.flag-dot.on{background:#2563eb;color:#fff}.settings-shell{max-width:720px;margin:32px auto;padding:0 20px}.lock-card{max-width:360px;margin:80px auto 0;padding:28px 24px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;text-align:center;box-shadow:0 1px 2px #0f172a0a}.lock-card h1{margin:12px 0 4px;font-size:20px}.lock-card p{color:#64748b;margin:0 0 18px;font-size:13px}.lock-card .lock-icon{width:44px;height:44px;margin:0 auto;background:#1e293b;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px}.lock-card input{width:100%;padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;margin-bottom:12px;font:inherit}.lock-card button{width:100%;padding:8px 12px;background:#2563eb;color:#fff;border:1px solid #2563eb;border-radius:6px}.lock-card .err{color:#dc2626;font-size:12px;margin-bottom:8px}.field-row{margin-bottom:14px}.field-row label{display:block;font-size:12px;font-weight:600;color:#334155;margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}.field-row input,.field-row textarea{width:100%;padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font:inherit;background:#fff}.field-row textarea{min-height:70px;resize:vertical}.field-row .with-button{display:flex;gap:8px;align-items:center}.field-row .with-button input{flex:1}.push-cat{margin-bottom:12px}.push-cat label{display:flex;align-items:flex-start;gap:10px;margin-bottom:0;text-transform:none;letter-spacing:normal;font-weight:400;font-size:14px;color:#334155;cursor:pointer}.push-cat input[type=checkbox]{width:auto;margin-top:3px;flex-shrink:0;cursor:pointer}.push-cat .push-cat-title{text-transform:uppercase;letter-spacing:.04em;font-weight:600;font-size:12px;color:#334155}.push-cat .push-cat-hint{display:block;margin-top:2px}.settings-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:16px;border-bottom:1px solid #e5e7eb}.settings-tab{appearance:none;border:none;background:transparent;font:inherit;font-size:14px;font-weight:500;color:#64748b;padding:8px 14px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.settings-tab:hover{color:#1e293b}.settings-tab.active{color:#2563eb;font-weight:600;border-bottom-color:#2563eb}.settings-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:20px 22px;margin-bottom:16px}.settings-card h2{margin:0 0 4px;font-size:16px}.settings-card .subtitle{color:#64748b;font-size:12.5px;margin:0 0 16px}.btn-row{display:flex;gap:8px;align-items:center}.btn{background:#fff;color:#0f172a;border:1px solid #d1d5db;border-radius:6px;padding:7px 14px;font-size:13px;font-weight:500}.btn:hover{background:#f3f4f6}.btn.primary{background:#2563eb;color:#fff;border-color:#2563eb}.btn.primary:hover{background:#1d4ed8}.btn:disabled{opacity:.55;cursor:not-allowed}.banner{padding:8px 12px;border-radius:6px;font-size:13px;margin-bottom:12px}.banner.ok{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.banner.err{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.banner.info{background:#e0f2fe;color:#075985;border:1px solid #bae6fd}.fields-list{border:1px solid #e5e7eb;border-radius:6px;margin-top:8px;max-height:260px;overflow:auto;background:#fff}.fields-list .field-item{padding:6px 10px;font-size:12.5px;border-bottom:1px solid #f1f5f9;cursor:pointer;display:flex;justify-content:space-between;gap:12px}.fields-list .field-item:hover{background:#f8fafc}.fields-list .field-item code{color:#64748b;font-size:11px}input[type=checkbox]{cursor:pointer}.empty-state{padding:28px;text-align:center;color:#64748b}.custom-views{display:flex;flex-direction:column;gap:12px;margin-top:8px}.custom-view-row{border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px;background:#f8fafc}.custom-view-row .cv-grid{display:grid;grid-template-columns:1fr 2fr 1fr 1fr;gap:10px}.custom-view-row .cv-grid label{display:flex;flex-direction:column;font-size:12px;color:#475569;font-weight:600;gap:4px}.custom-view-row .cv-grid input,.custom-view-row .cv-grid select{font-weight:400;color:#0f172a}.custom-view-row .cv-meta{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.custom-view-row .cv-id{font-size:12px;color:#64748b}.custom-view-row.cv-hidden{background:#f1f5f9;border-style:dashed}.custom-view-row.cv-hidden .cv-grid{opacity:.55}.cv-hidden-badge{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b;background:#e2e8f0;border-radius:999px;padding:2px 8px;margin-left:8px}.cv-visible-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#475569;cursor:pointer;margin-left:auto;margin-right:10px;-webkit-user-select:none;user-select:none}.cv-visible-toggle input{position:absolute;opacity:0;pointer-events:none}.cv-visible-toggle .cv-switch{width:30px;height:17px;border-radius:999px;background:#cbd5e1;position:relative;transition:background .15s;flex:none}.cv-visible-toggle .cv-switch:after{content:"";position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:#fff;transition:left .15s;box-shadow:0 1px 2px #0003}.cv-visible-toggle input:checked+.cv-switch{background:#2563eb}.cv-visible-toggle input:checked+.cv-switch:after{left:15px}.client-request-map{padding:12px 20px 0}.client-request-map .detail-table{width:100%;border-collapse:collapse;font-size:13px}.client-request-map .detail-table th{text-align:left;padding:8px 12px;background:#f1f5f9;color:#475569;font-size:11px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e2e8f0}.client-request-map .detail-table td{padding:12px;border-bottom:1px solid #e2e8f0;vertical-align:top}.crm-request{display:flex;flex-direction:column;gap:6px}.crm-request-head{display:flex;align-items:center;gap:8px}.crm-key{font-weight:700;color:#2563eb;text-decoration:none;font-size:12px}.crm-key:hover{text-decoration:underline}button.crm-key-btn{background:none;border:none;padding:0;cursor:pointer;font:inherit}.crm-summary-btn{background:none;border:none;padding:0;margin:0;text-align:left;cursor:pointer;font:inherit}.crm-summary-btn:hover{text-decoration:underline}.crm-jpd-status{font-size:10.5px;font-weight:600;color:#475569;background:#e2e8f0;border-radius:999px;padding:2px 8px}.crm-summary{color:#0f172a;font-weight:500;line-height:1.35}.crm-meta{display:flex;flex-wrap:wrap;gap:6px}.crm-tag{font-size:10.5px;color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:2px 6px}.crm-priority{color:#92400e;background:#fef3c7;border-color:#fde68a;font-weight:600}.crm-deps{display:flex;flex-direction:column;gap:6px}.crm-dep-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid #cbd5e1;border-left-width:4px;border-radius:8px;background:#fff;padding:6px 10px;cursor:pointer;text-align:left;font:inherit;width:100%}.crm-dep-chip:hover{background:#f8fafc}.crm-dep-dot{width:8px;height:8px;border-radius:50%;flex:none}.crm-dep-key{font-weight:700;color:#1e293b;font-size:12px;flex:none}.crm-dep-name{color:#475569;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crm-roadmap{display:flex;flex-direction:column;gap:6px}.crm-roadmap-row{display:flex;flex-direction:column;gap:2px;padding:4px 0}.crm-when{font-weight:600;color:#0f172a}.crm-pillar{font-size:11px;color:#64748b}.crm-status{font-size:11px;color:#475569}.crm-empty{color:#94a3b8;font-style:italic;font-size:12px}.hist-card-delayed{opacity:.55;background:#f8fafc;cursor:default}.hist-tag-delayed{background:#dc2626}.hist-live-tag{display:block;font-size:10px;font-weight:400;opacity:.85;text-transform:none;letter-spacing:0}.confidence-chip{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap}.confidence-high{background:#dcfce7;color:#15803d}.confidence-medium{background:#fef9c3;color:#a16207}.confidence-low{background:#fee2e2;color:#b91c1c}.confidence-unknown{background:#e2e8f0;color:#475569}.confidence-empty{color:#94a3b8}.detail-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 14px}.detail-toolbar select{padding:6px 8px;border:1px solid #d7dbe2;border-radius:7px;background:#fff;font-size:12.5px;color:#334155}.detail-search{flex:1 1 240px;min-width:200px;max-width:340px;padding:7px 10px;border:1px solid #d7dbe2;border-radius:7px;font-size:13px;background:#fff}.detail-search:focus,.detail-toolbar select:focus{outline:2px solid #93c5fd;outline-offset:0;border-color:#60a5fa}.detail-filter-clear{padding:6px 10px;border:1px solid #cbd5e1;border-radius:7px;background:#f1f5f9;font-size:12.5px;color:#334155;cursor:pointer;white-space:nowrap}.detail-filter-clear:hover{background:#e2e8f0}.detail-no-results{padding:18px 14px;background:#fff;border:1px dashed #cbd5e1;border-radius:8px;color:#64748b;font-size:13.5px}.cell-assignee{font-size:12.5px;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}.tg-release-row{background:#f8fafc;padding:4px 0 2px}.tg-release-row+.tg-release-row{padding-top:0}.tg-release-spacer{background:#0f172a;margin:-4px 0 -2px}.tg-release-pill{background:#1d4ed8;color:#fff;border-radius:6px;font-size:12px;font-weight:700;letter-spacing:.02em;padding:3px 10px;margin:0 6px;display:flex;align-items:center;min-height:22px}
