.dev-analytics{--dev-bg: var(--bg-page);--dev-surface: var(--surface);--dev-surface-strong: var(--surface2);--dev-border: var(--border);--dev-border-strong: var(--border-strong);--dev-text: var(--text);--dev-text-muted: var(--muted);--dev-accent: var(--accent);--dev-accent-hover: var(--accent-hover);--dev-accent-strong: var(--accent-hover);--dev-primary: var(--primary);--dev-kpi-value-color: var(--accent);--dev-success: var(--ok);--dev-warn: var(--warn);--dev-danger: var(--danger);--dev-info: var(--primary);--dev-cat-ready: var(--ok);--dev-cat-in_progress: var(--accent);--dev-cat-testing: var(--warn);--dev-cat-blocked: var(--muted);--dev-cat-rejected: var(--danger);--dev-cat-done: var(--ok);--dev-cat-released: var(--primary);--dev-cat-other: var(--muted);color:var(--dev-text);background:transparent;border-top:4px solid var(--dev-accent);border-radius:0;padding:1.25rem 0 .5rem;margin:-.35rem -.25rem 0;box-shadow:none;font-family:var(--font-display, var(--font, system-ui, sans-serif))}.dev-analytics .dev-kpi-value,.dev-analytics .dev-kpi .value,.dev-analytics [class*=num]{font-variant-numeric:tabular-nums}.dev-analytics *{box-sizing:border-box}.dev-analytics h1,.dev-analytics h2,.dev-analytics h3,.dev-analytics h4{color:var(--dev-text);margin:0;font-weight:700;letter-spacing:-.01em}.dev-analytics .dev-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.dev-analytics .dev-title{font-size:1.35rem;font-weight:700;color:var(--dev-text)}.dev-analytics .dev-subtitle{font-size:.875rem;color:var(--dev-text-muted);margin-top:.3rem;font-weight:400;max-width:52rem;line-height:1.45}.dev-analytics .dev-tabs{display:flex;gap:.25rem;background:var(--dev-surface);padding:4px;border-radius:6px;border:1px solid var(--dev-border);flex-wrap:wrap;box-shadow:0 1px 2px #0000000a}.dev-analytics .dev-tab{border:0;background:transparent;color:var(--dev-text-muted);padding:.5rem .95rem;font-size:.8125rem;font-weight:500;border-radius:5px;cursor:pointer;transition:background .12s ease,color .12s ease}.dev-analytics .dev-tab:hover{color:var(--dev-text);background:var(--primary-dim)}.dev-analytics .dev-tab.is-active{background:var(--accent-dim);color:var(--dev-accent);font-weight:600;box-shadow:inset 0 0 0 1px var(--border-strong)}.dev-analytics .dev-filters-section{position:relative;z-index:20;overflow:visible;background:var(--dev-surface);border:1px solid var(--dev-border);border-radius:6px;padding:1.25rem;margin-bottom:1.25rem;box-shadow:0 1px 2px #0000000a}.dev-analytics .dev-filters-section:has(.dev-msel.is-open){z-index:200;background-color:var(--surface-opaque, var(--surface2, #ffffff));backdrop-filter:none;-webkit-backdrop-filter:none}.dev-analytics .dev-filters,.dev-analytics .dev-filter{overflow:visible}.dev-analytics .dev-filters-heading{margin-bottom:1rem}.dev-analytics .dev-filters-heading h2{font-size:1.1rem;font-weight:700}.dev-analytics .dev-filters-heading p{margin:.35rem 0 0;font-size:.875rem;color:var(--dev-text-muted);font-weight:400;line-height:1.45;max-width:48rem}.dev-analytics .dev-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.85rem;align-items:end}.dev-analytics .dev-filter-submit{display:flex;align-items:flex-end;justify-content:flex-end}.dev-analytics .dev-filter label{display:block;font-size:.75rem;font-weight:500;color:var(--dev-text-muted);margin-bottom:.35rem}.dev-analytics .dev-filter select,.dev-analytics .dev-filter input{width:100%;padding:.5rem .55rem;border-radius:6px;border:1px solid var(--dev-border);background:var(--dev-surface);color:var(--dev-text);font-size:.875rem;font-family:inherit;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.dev-analytics .dev-filter select:focus,.dev-analytics .dev-filter input:focus{border-color:var(--dev-accent);box-shadow:0 0 0 3px var(--accent-dim)}.dev-analytics .dev-grid{display:grid;gap:15px}.dev-analytics .dev-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.dev-analytics .dev-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.dev-analytics .dev-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.dev-analytics .dev-grid.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.dev-analytics .dev-grid.cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width: 1200px){.dev-analytics .dev-grid.cols-4,.dev-analytics .dev-grid.cols-5,.dev-analytics .dev-grid.cols-6{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 900px){.dev-analytics .dev-grid.cols-3,.dev-analytics .dev-grid.cols-4,.dev-analytics .dev-grid.cols-5,.dev-analytics .dev-grid.cols-6{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 600px){.dev-analytics .dev-grid{grid-template-columns:1fr!important}}.dev-analytics .dev-card{background:var(--dev-surface);border:1px solid var(--dev-border);border-radius:6px;padding:1rem 1.1rem;transition:border-color .15s ease,box-shadow .15s ease;position:relative;overflow:hidden;box-shadow:0 1px 2px #0000000a}.dev-analytics .dev-card:hover{border-color:var(--dev-border-strong);box-shadow:0 2px 8px #0000000f}.dev-analytics .dev-card.is-glow:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--accent-dim),transparent 55%);pointer-events:none;border-radius:inherit}.dev-analytics .dev-kpi-card{display:flex;flex-direction:column;min-height:7.5rem;justify-content:space-between}.dev-analytics .dev-kpi-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;position:relative;z-index:1}.dev-analytics .dev-kpi-card-text{min-width:0}.dev-analytics .dev-kpi-card-title{font-size:.8125rem;font-weight:700;color:var(--dev-text);line-height:1.35;word-break:break-word}.dev-analytics .dev-kpi-card-sub{font-size:.72rem;color:var(--dev-text-muted);line-height:1.3;margin-top:.2rem}.dev-analytics .dev-kpi-card-value{position:relative;z-index:1;margin-top:.65rem;padding-top:.5rem;border-top:1px solid var(--dev-border);font-family:var(--mono, "IBM Plex Mono", monospace);font-size:1.45rem;font-weight:600;color:var(--dev-kpi-value-color);letter-spacing:-.02em;line-height:1.1}.dev-analytics .dev-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem;position:relative;z-index:1}.dev-analytics .dev-card-title{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--dev-text-muted)}.dev-analytics .dev-card-body{position:relative;z-index:1}.dev-analytics .dev-kpi-trend{display:inline-flex;align-items:center;gap:.25rem;font-size:.72rem;font-weight:600;padding:.15rem .45rem;border-radius:999px;flex-shrink:0}.dev-analytics .dev-kpi-trend.up{background:rgba(25,135,84,.12);color:var(--dev-success)}.dev-analytics .dev-kpi-trend.warn{background:rgba(217,119,6,.15);color:var(--dev-warn)}.dev-analytics .dev-kpi-trend.down{background:rgba(220,53,69,.12);color:var(--dev-danger)}.dev-analytics .dev-panel{background:var(--dev-surface);border:1px solid var(--dev-border);border-radius:var(--radius-card, 10px);padding:1.25rem;box-shadow:var(--shadow-card, 0 2px 12px rgba(26, 26, 26, .06))}.dev-analytics .dev-panel-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:700;margin-bottom:.9rem;color:var(--dev-text)}.dev-analytics .dev-panel-title small{color:var(--dev-text-muted);font-weight:500;font-size:.82rem}.dev-analytics .dev-chart{width:100%;height:300px}.dev-analytics .dev-chart.small{height:220px}.dev-analytics .dev-chart.tall{height:380px}.dev-analytics .dev-tag{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600;background:#f1f3f5;color:var(--dev-text-muted);border:1px solid var(--dev-border)}.dev-analytics .dev-tag.cat-ready{background:var(--primary-dim);color:var(--dev-cat-ready)}.dev-analytics .dev-tag.cat-in_progress{background:var(--accent-dim);color:var(--dev-cat-in_progress)}.dev-analytics .dev-tag.cat-testing{background:color-mix(in srgb,var(--warn) 14%,transparent);color:var(--dev-cat-testing)}.dev-analytics .dev-tag.cat-blocked{background:var(--primary-dim);color:var(--dev-cat-blocked)}.dev-analytics .dev-tag.cat-rejected{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--dev-cat-rejected)}.dev-analytics .dev-tag.cat-done{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--dev-cat-done)}.dev-analytics .dev-tag.cat-released{background:var(--primary-dim);color:var(--dev-cat-released)}.dev-analytics .dev-tag.cat-other{background:var(--primary-dim);color:var(--dev-cat-other)}.dev-analytics .dev-risk-low{color:var(--dev-success)}.dev-analytics .dev-risk-medium{color:var(--dev-info)}.dev-analytics .dev-risk-high{color:var(--dev-warn)}.dev-analytics .dev-risk-critical{color:var(--dev-danger)}.dev-analytics .dev-table{width:100%;border-collapse:collapse;font-size:.85rem}.dev-analytics .dev-table th,.dev-analytics .dev-table td{text-align:left;padding:.55rem .7rem;border-bottom:1px solid var(--dev-border)}.dev-analytics .dev-table th{color:var(--dev-text-muted);font-weight:600;text-transform:uppercase;font-size:.68rem;letter-spacing:.05em;background:#f8f9fa}.dev-analytics .dev-table tr:hover td{background:#f8f9fa}.dev-analytics .dev-table .num{text-align:right;font-variant-numeric:tabular-nums}.dev-analytics .dev-table-grouped .dev-table-group-responsible{vertical-align:top;font-weight:600;background:var(--dev-surface, #fff);border-right:1px solid var(--dev-border)}.dev-analytics .dev-table-grouped .dev-table-responsible-name{display:block}.dev-analytics .dev-table-grouped .dev-table-responsible-total{display:block;margin-top:.35rem;font-size:.72rem;font-weight:400}.dev-analytics .dev-table-grouped tr.dev-table-group-start td{border-top:2px solid var(--dev-border)}.dev-analytics .dev-table-grouped tr:hover .dev-table-group-responsible{background:#f8f9fa}.dev-analytics .dev-table-compact th,.dev-analytics .dev-table-compact td{padding:.4rem .55rem;font-size:.78rem}.dev-analytics .dev-detail-table-wrap{max-height:420px;overflow:auto;border:1px solid var(--dev-border);border-radius:6px}.dev-analytics .dev-detail-table-row{cursor:pointer}.dev-analytics .dev-detail-table-row:hover td{background:#f8f9fa}.dev-analytics .dev-detail-table-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem;margin-top:.85rem;padding-top:.75rem;border-top:1px solid var(--dev-border)}.dev-analytics .dev-detail-table-page-list{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem}.dev-analytics .dev-detail-table-page-btn{min-width:2rem;height:2rem;padding:0 .45rem;border:1px solid var(--dev-border);border-radius:6px;background:var(--dev-surface-strong, #fff);color:var(--dev-text);font-size:.78rem;cursor:pointer}.dev-analytics .dev-detail-table-page-btn:hover:not(:disabled){border-color:var(--dev-accent);color:var(--dev-accent)}.dev-analytics .dev-detail-table-page-btn.active{background:var(--dev-accent);border-color:var(--dev-accent);color:#fff;font-weight:600}.dev-analytics .dev-detail-table-page-ellipsis{padding:0 .25rem;color:var(--dev-text-muted);font-size:.78rem;-webkit-user-select:none;user-select:none}.dev-analytics .dev-detail-table-page-summary{flex-basis:100%;text-align:center;font-size:.75rem;margin-top:.15rem}.dev-analytics .dev-filter-input-compact{padding:.35rem .5rem;border:1px solid var(--dev-border);border-radius:6px;font-size:.78rem;background:var(--dev-surface-strong, #fff);color:var(--dev-text)}.dev-analytics .dev-consultoria-rango-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem}.dev-analytics .dev-consultoria-rango-dot{width:8px;height:8px;border-radius:2px;background:var(--rango-color, #94a3b8);flex-shrink:0}.dev-analytics .dev-progress{position:relative;height:8px;border-radius:999px;background:#e9ecef;overflow:hidden}.dev-analytics .dev-progress-fill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(90deg,var(--dev-accent),var(--dev-info));transition:width .4s ease}.dev-analytics .dev-insight-list{display:flex;flex-direction:column;gap:.55rem;max-height:380px;overflow:auto}.dev-analytics .dev-insight{display:grid;grid-template-columns:36px 1fr;gap:.7rem;align-items:start;padding:.75rem .85rem;border-radius:6px;background:#f8f9fa;border:1px solid var(--dev-border)}.dev-analytics .dev-insight-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.05rem}.dev-analytics .dev-insight.level-info .dev-insight-icon{background:rgba(15,118,110,.15);color:var(--dev-info)}.dev-analytics .dev-insight.level-warning .dev-insight-icon{background:rgba(217,119,6,.15);color:var(--dev-warn)}.dev-analytics .dev-insight.level-danger .dev-insight-icon{background:rgba(220,53,69,.12);color:var(--dev-danger)}.dev-analytics .dev-insight-title{font-weight:600;font-size:.92rem;margin-bottom:.15rem}.dev-analytics .dev-insight-detail{font-size:.83rem;color:var(--dev-text-muted);line-height:1.45}.dev-analytics .dev-empty{padding:1rem;color:var(--dev-text-muted);text-align:center;font-size:.9rem;border:1px dashed var(--dev-border);border-radius:6px;background:#fafbfc}.dev-analytics .dev-loading{width:100%}.dev-analytics .dev-breadcrumbs{display:flex;align-items:center;gap:.35rem;font-size:.85rem;color:var(--dev-text-muted);margin-bottom:.75rem;flex-wrap:wrap}.dev-analytics .dev-breadcrumbs button{background:transparent;border:none;color:var(--dev-accent);cursor:pointer;padding:0;font-size:inherit;font-weight:500}.dev-analytics .dev-breadcrumbs button:hover{text-decoration:underline}.dev-analytics .dev-breadcrumbs .sep{opacity:.5}.dev-analytics .dev-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(33,37,41,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:520;display:flex;justify-content:flex-end;animation:devFadeIn .18s ease both}.dev-analytics .dev-drawer{width:min(640px,100%);background:var(--dev-surface-strong);border-left:1px solid var(--dev-border);height:100%;padding:1.5rem;overflow-y:auto;animation:devSlideIn .25s ease both;color:var(--dev-text);box-shadow:-4px 0 24px #00000014}.dev-analytics .dev-drawer-close{background:#f8f9fa;border:1px solid var(--dev-border);color:var(--dev-text);border-radius:6px;padding:.35rem .7rem;font-size:.85rem;cursor:pointer}@keyframes devSlideIn{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes devFadeIn{0%{opacity:0}to{opacity:1}}.dev-analytics .dev-button{background:var(--dev-accent);border:none;color:var(--on-accent);padding:.52rem 1.1rem;font-size:.875rem;font-weight:600;border-radius:var(--radius, 6px);cursor:pointer;box-shadow:var(--shadow-accent);transition:background .15s ease,box-shadow .15s ease,transform .12s ease}.dev-analytics .dev-button:hover:not(:disabled){background:var(--dev-accent-hover);box-shadow:var(--shadow-accent);transform:translateY(-1px)}.dev-analytics .dev-button:disabled{opacity:.6;cursor:not-allowed}.dev-analytics .dev-button.ghost{background:transparent;border:1px solid var(--dev-border-strong);color:var(--dev-text)}.dev-analytics .dev-button.ghost:hover:not(:disabled){background:var(--primary-dim);border-color:var(--dev-accent);color:var(--dev-primary)}.dev-analytics .dev-divider{height:1px;background:var(--dev-border);margin:.85rem 0}.dev-analytics .dev-error{padding:.8rem 1rem;background:#f8d7da;border:1px solid #f1aeb5;color:#842029;border-radius:6px;font-size:.88rem;margin-bottom:1rem}.dev-analytics .dev-heatmap{display:grid;grid-template-columns:110px 1fr;gap:.6rem;align-items:center}.dev-analytics .dev-heatbar{height:14px;border-radius:6px;background:linear-gradient(90deg,var(--accent-dim),var(--primary-dim) 45%,color-mix(in srgb,var(--warn) 55%,transparent) 72%,color-mix(in srgb,var(--danger) 75%,transparent));position:relative;overflow:hidden}.dev-analytics .dev-heatbar-mark{position:absolute;top:50%;width:2px;height:80%;background:rgba(33,37,41,.65);transform:translateY(-50%)}.dev-analytics a.dev-link{color:var(--dev-accent);text-decoration:none;cursor:pointer;font-weight:500}.dev-analytics a.dev-link:hover{text-decoration:underline}.dev-analytics .dev-msel{position:relative}.dev-analytics .dev-msel.is-open{z-index:2}.dev-analytics .dev-msel.is-disabled{opacity:.55;pointer-events:none}.dev-analytics .dev-msel-field-title{margin:0 0 .15rem;font-size:.875rem;font-weight:700;color:var(--dev-text)}.dev-analytics .dev-msel-field-hint{margin:0 0 .4rem;font-size:.7rem;color:var(--dev-text-muted);line-height:1.2}.dev-analytics .dev-msel-trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;padding:.45rem .55rem;border-radius:4px;border:1px solid var(--dev-border);background-color:var(--surface-opaque, var(--surface2));color:var(--dev-text);font-size:.8125rem;font-family:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.dev-analytics .dev-msel.is-open .dev-msel-trigger{border-color:var(--dev-accent);box-shadow:0 0 0 2px var(--accent-dim)}.dev-analytics .dev-msel-trigger:focus-visible{outline:none;border-color:var(--dev-accent);box-shadow:0 0 0 2px var(--accent-dim)}.dev-analytics .dev-msel-trigger-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dev-analytics .dev-msel-chevron{flex-shrink:0;font-size:.65rem;opacity:.55}.dev-analytics .dev-msel-panel{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:1000;display:flex;flex-direction:column;min-width:min(100%,260px);max-height:min(320px,72vh);padding:.65rem .75rem .55rem;background-color:var(--surface-opaque, #ffffff);border:1px solid var(--dev-border-strong);border-radius:var(--radius, 4px);box-shadow:0 12px 32px #00000029,0 0 0 1px var(--border);backdrop-filter:none;-webkit-backdrop-filter:none;isolation:isolate}.dev-analytics .dev-msel-search{width:100%;padding:.35rem .45rem;border-radius:3px;border:1px solid var(--dev-border);font-size:.8125rem;font-family:inherit;margin-bottom:.35rem;background-color:var(--surface-opaque, #ffffff);color:var(--dev-text)}.dev-analytics .dev-msel-search:focus{outline:none;border-color:var(--dev-accent);box-shadow:0 0 0 2px var(--accent-dim)}.dev-analytics .dev-msel-actions{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:.35rem;flex-wrap:wrap}.dev-analytics .dev-msel-link{background:none;border:none;padding:0;font-size:.7rem;font-weight:600;color:var(--dev-accent);cursor:pointer;text-decoration:underline;font-family:inherit}.dev-analytics .dev-msel-list{flex:1;min-height:0;max-height:220px;overflow-x:hidden;overflow-y:auto;margin:0;padding:.15rem 0 0;border-top:1px solid var(--dev-border);background-color:var(--surface-opaque, #ffffff)}.dev-analytics .dev-msel-row{display:flex;flex-direction:row;align-items:center;gap:.5rem;padding:.28rem .1rem;cursor:pointer;font-size:.8125rem;line-height:1.35;color:var(--dev-text)}.dev-analytics .dev-msel-row:hover{background:#f0f0f0}.dev-analytics .dev-msel-row input[type=checkbox]{flex-shrink:0;margin:0;width:14px;height:14px;border:1px solid #333333;border-radius:2px;accent-color:#333333;cursor:pointer}.dev-analytics .dev-msel-row-label{flex:1;min-width:0;text-align:left;word-break:break-word;-webkit-user-select:none;user-select:none}.dev-analytics .dev-msel-empty{font-size:.8rem;color:var(--dev-text-muted);padding:.5rem .1rem}.dev-analytics .recharts-cartesian-axis-tick-value{fill:var(--dev-text-muted);font-size:11px}.dev-analytics .recharts-legend-item-text{color:var(--dev-text)!important}.dev-analytics .dev-compliance-root{margin-top:.5rem;position:relative}.dev-analytics .dev-compliance-root.is-loading{opacity:.92;transition:opacity .15s ease}.dev-analytics .dev-compliance-hero{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:1.1rem 1.25rem;border-radius:10px;background:linear-gradient(135deg,var(--accent-dim),var(--dev-surface) 48%,var(--primary-dim));border:1px solid var(--dev-border);box-shadow:0 4px 24px #0000000f}.dev-analytics .dev-compliance-hero-title{margin:0;font-size:1.35rem;font-weight:700;letter-spacing:-.02em}.dev-analytics .dev-compliance-hero-lead{margin:.35rem 0 0;font-size:.88rem;color:var(--dev-text-muted);max-width:52ch;line-height:1.45}.dev-analytics .dev-compliance-legend{display:flex;flex-wrap:wrap;gap:.75rem 1rem;font-size:.78rem;color:var(--dev-text-muted)}.dev-analytics .dev-compliance-legend-item{display:inline-flex;align-items:center;gap:.35rem}.dev-analytics .dev-risk-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.dev-analytics .dev-risk-dot.is-risk-low{background:var(--dev-success);box-shadow:0 0 0 3px #19875433}.dev-analytics .dev-risk-dot.is-risk-medium{background:var(--dev-warn);box-shadow:0 0 0 3px #d9770633}.dev-analytics .dev-risk-dot.is-risk-high{background:var(--dev-danger);box-shadow:0 0 0 3px #dc354533}.dev-analytics .dev-compliance-breadcrumbs{font-size:.78rem;color:var(--dev-text-muted);margin-bottom:.85rem}.dev-analytics .dev-compliance-crumb-sep{margin:0 .35rem;opacity:.5}.dev-analytics .dev-compliance-crumb-btn{background:none;border:none;padding:0;color:var(--dev-accent);cursor:pointer;font:inherit;text-decoration:underline}.dev-analytics .dev-compliance-crumb-current{font-weight:600;color:var(--dev-text)}.dev-analytics .dev-compliance-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.dev-analytics .dev-compliance-cards-scroll{max-height:min(68vh,720px);overflow:auto;padding-right:.25rem}.dev-analytics .dev-compliance-cards-skeleton{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.dev-analytics .dev-compliance-card-skel{height:220px;border-radius:12px;background:linear-gradient(90deg,#eceef1 0%,#f6f7f9 50%,#eceef1 100%);background-size:200% 100%;animation:devComplianceShimmer 1.1s ease-in-out infinite}@keyframes devComplianceShimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion: reduce){.dev-analytics .dev-compliance-card-skel{animation:none;background:#eceef1}}.dev-analytics .dev-compliance-card-wrap{padding-bottom:12px}.dev-analytics .dev-compliance-card{position:relative;border-radius:12px;padding:1rem 1.05rem .85rem;background:var(--dev-surface);border:1px solid var(--dev-border);box-shadow:0 2px 12px #0000000d;cursor:pointer;text-align:left;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.dev-analytics .dev-compliance-card:hover{transform:translateY(-3px);box-shadow:0 10px 32px #0000001a;border-color:var(--border-strong)}.dev-analytics .dev-compliance-card:focus-visible{outline:2px solid var(--dev-accent);outline-offset:2px}.dev-analytics .dev-compliance-card.is-risk-low{border-left:4px solid var(--dev-success)}.dev-analytics .dev-compliance-card.is-risk-medium{border-left:4px solid var(--dev-warn)}.dev-analytics .dev-compliance-card.is-risk-high{border-left:4px solid var(--dev-danger)}.dev-analytics .dev-compliance-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.5rem}.dev-analytics .dev-compliance-card-title{margin:0;font-size:.95rem;font-weight:700;line-height:1.3;flex:1;min-width:0}.dev-analytics .dev-compliance-risk-pill{flex-shrink:0;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.2rem .45rem;border-radius:999px}.dev-analytics .dev-compliance-risk-pill.is-risk-low{background:rgba(25,135,84,.12);color:var(--dev-success)}.dev-analytics .dev-compliance-risk-pill.is-risk-medium{background:rgba(217,119,6,.15);color:var(--dev-warn)}.dev-analytics .dev-compliance-risk-pill.is-risk-high{background:rgba(220,53,69,.14);color:var(--dev-danger)}.dev-analytics .dev-compliance-ring-wrap{position:relative;width:88px;height:88px;margin:.25rem auto .6rem}.dev-analytics .dev-compliance-ring{width:88px;height:88px;transform:rotate(-90deg)}.dev-analytics .dev-compliance-ring path{fill:none;stroke-width:2.4}.dev-analytics .dev-compliance-ring-bg{stroke:var(--dev-border-strong)}.dev-analytics .dev-compliance-ring-fill{stroke:var(--dev-accent);stroke-linecap:round}.dev-analytics .dev-compliance-ring-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.dev-analytics .dev-compliance-pct{font-size:1.15rem;font-weight:800;color:var(--dev-accent);letter-spacing:-.03em}.dev-analytics .dev-compliance-pct-sub{font-size:.62rem;color:var(--dev-text-muted);text-transform:uppercase;letter-spacing:.06em}.dev-analytics .dev-compliance-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem .5rem;margin:0;font-size:.72rem}.dev-analytics .dev-compliance-stats dt{margin:0;color:var(--dev-text-muted);font-weight:500}.dev-analytics .dev-compliance-stats dd{margin:.1rem 0 0;font-weight:700;font-size:.8rem;color:var(--dev-text)}.dev-analytics .dev-compliance-stats small{font-weight:500;color:var(--dev-text-muted)}.dev-analytics .dev-compliance-alerts{margin:.55rem 0 0;padding-left:1rem;font-size:.72rem;color:var(--dev-danger)}.dev-analytics .dev-compliance-card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:.65rem;padding-top:.55rem;border-top:1px solid var(--dev-border);font-size:.72rem;color:var(--dev-text-muted)}.dev-analytics .dev-compliance-card-cta{font-weight:700;color:var(--dev-accent)}.dev-analytics .dev-compliance-empty{margin-top:.5rem}.dev-analytics .dev-compliance-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:rgba(15,23,42,.45);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;justify-content:flex-end;align-items:stretch;animation:devComplianceFadeIn .2s ease}@keyframes devComplianceFadeIn{0%{opacity:0}to{opacity:1}}.dev-analytics .dev-compliance-panel{width:min(640px,100vw - 1rem);max-width:100%;max-height:100vh;height:100%;background:var(--surface-opaque, var(--dev-surface));border-left:1px solid var(--dev-border);box-shadow:-12px 0 40px #0000001f;display:flex;flex-direction:column;padding:1rem 1.1rem;overflow:hidden;animation:devComplianceSlideIn .28s cubic-bezier(.22,1,.36,1)}@keyframes devComplianceSlideIn{0%{transform:translate(100%);opacity:.85}to{transform:translate(0);opacity:1}}@media (prefers-reduced-motion: reduce){.dev-analytics .dev-compliance-panel-backdrop,.dev-analytics .dev-compliance-panel{animation:none}}.dev-analytics .dev-compliance-panel-head{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;flex-shrink:0;margin-bottom:.75rem;padding-top:env(safe-area-inset-top,0)}.dev-analytics .dev-compliance-panel-kicker{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--dev-accent)}.dev-analytics .dev-compliance-panel-title{margin:.2rem 0 0;font-size:1.15rem;font-weight:700}.dev-analytics .dev-compliance-panel-meta{font-size:.78rem;color:var(--dev-text-muted);margin-top:.25rem}.dev-analytics .dev-compliance-panel-close{border:1px solid var(--dev-border);background:var(--dev-surface-strong);border-radius:8px;padding:.35rem .65rem;font-size:.8rem;cursor:pointer;font-family:inherit}.dev-analytics .dev-compliance-panel-close:hover{border-color:var(--dev-accent);color:var(--dev-accent)}.dev-analytics .dev-compliance-panel-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.65rem}.dev-analytics .dev-compliance-panel-search{flex:1 1 200px;min-width:0;padding:.45rem .55rem;border-radius:8px;border:1px solid var(--dev-border-strong);font-size:.85rem;font-family:inherit}.dev-analytics .dev-compliance-panel-select{padding:.45rem .5rem;border-radius:8px;border:1px solid var(--dev-border-strong);font-size:.82rem;font-family:inherit;background:var(--dev-surface)}.dev-analytics .dev-compliance-panel-error{margin-bottom:.5rem}.dev-analytics .dev-compliance-skeleton-block{height:120px;border-radius:8px;margin-bottom:.5rem;background:linear-gradient(90deg,#eceef1 0%,#f6f7f9 50%,#eceef1 100%);background-size:200% 100%;animation:devComplianceShimmer 1.1s ease-in-out infinite}.dev-analytics .dev-compliance-table-wrap{border:1px solid var(--dev-border);border-radius:8px;overflow:hidden;flex:1;min-height:0;display:flex;flex-direction:column}.dev-analytics .dev-compliance-table-head{background:linear-gradient(180deg,#f1f3f5,#e9ecef);border-bottom:1px solid var(--dev-border)}.dev-analytics .dev-compliance-table-row{display:flex;width:100%;align-items:stretch}.dev-analytics .dev-compliance-table-row-head{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--dev-text-muted);padding:.45rem .5rem}.dev-analytics .dev-compliance-table-row-data{border:none;background:var(--dev-surface);font:inherit;text-align:left;cursor:pointer;padding:.4rem .5rem;border-bottom:1px solid var(--dev-border);transition:background .12s ease}.dev-analytics .dev-compliance-table-row-data:hover{background:var(--accent-dim)}.dev-analytics .dev-compliance-table-cell{padding:.15rem .35rem;font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dev-analytics .dev-compliance-table-body{overflow:auto;flex:1;background:var(--dev-surface)}.dev-analytics .dev-compliance-panel-footer{display:flex;justify-content:center;align-items:center;gap:.75rem;margin-top:.75rem;padding-top:.5rem;border-top:1px solid var(--dev-border)}.dev-analytics .dev-compliance-panel-page{font-size:.78rem;color:var(--dev-text-muted)}.dev-analytics .dev-assignee-root{margin-bottom:1.25rem}.dev-analytics .dev-assignee-glass{background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(248,250,252,.88));border:1px solid var(--dev-border);box-shadow:0 8px 32px #0f172a0f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dev-analytics .dev-assignee-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem}.dev-analytics .dev-assignee-sub{margin:0;font-size:.82rem;color:var(--dev-text-muted);max-width:48rem;line-height:1.45}.dev-analytics .dev-assignee-head-actions{display:flex;gap:.5rem;flex-wrap:wrap}.dev-analytics .dev-assignee-empty{text-align:left}.dev-analytics .dev-assignee-empty-title{font-weight:700;font-size:1rem;margin-bottom:.35rem}.dev-analytics .dev-assignee-empty-text{margin:0;font-size:.88rem;color:var(--dev-text-muted)}.dev-analytics .dev-assignee-chart-shell{border-radius:12px;border:1px solid var(--dev-border);background:var(--dev-surface);padding:.5rem .35rem .35rem}.dev-analytics .dev-assignee-chart-shell:fullscreen{background:var(--dev-bg);padding:1rem;overflow:auto}.dev-analytics .dev-assignee-chart-inner{min-height:220px}.dev-analytics .dev-assignee-legend-toggles{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem;padding:0 .25rem .35rem}.dev-analytics .dev-assignee-legend-chip{font-size:.72rem;padding:.2rem .55rem;border-radius:999px;border:1px solid var(--dev-border);background:var(--dev-surface);cursor:pointer;color:var(--dev-text);transition:opacity .15s ease,transform .12s ease}.dev-analytics .dev-assignee-legend-chip:hover{transform:translateY(-1px)}.dev-analytics .dev-assignee-legend-chip.is-off{opacity:.38;text-decoration:line-through}.dev-analytics .dev-assignee-legend-hint{font-size:.72rem;color:var(--dev-text-muted);padding:0 .35rem .45rem}.dev-analytics .dev-assignee-tech-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.75rem}.dev-analytics .dev-assignee-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .65rem;border-radius:10px;border:1px solid var(--dev-border);background:var(--dev-surface-strong);cursor:pointer;font-size:.78rem;transition:box-shadow .15s ease,border-color .15s ease}.dev-analytics .dev-assignee-chip:hover{border-color:var(--dev-accent);box-shadow:var(--shadow-accent)}.dev-analytics .dev-assignee-chip-count{font-weight:700;color:var(--dev-accent)}.dev-analytics .dev-assignee-skeleton-grid{display:flex;flex-direction:column;gap:.75rem}.dev-analytics .dev-assignee-skeleton-kpi{height:72px;border-radius:10px;background:linear-gradient(90deg,#eef1f6,#e2e8f0,#eef1f6);background-size:200% 100%;animation:devComplianceFadeIn 1.2s ease infinite}.dev-analytics .dev-assignee-skeleton-chart{height:280px;border-radius:10px;background:linear-gradient(90deg,#eef1f6,#e2e8f0,#eef1f6);background-size:200% 100%;animation:devComplianceFadeIn 1.2s ease infinite}.dev-analytics .dev-assignee-skeleton-block{height:120px;border-radius:8px;margin:.5rem 0;background:linear-gradient(90deg,#eef1f6,#e2e8f0,#eef1f6);background-size:200% 100%;animation:devComplianceFadeIn 1.2s ease infinite}.dev-analytics .dev-assignee-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:510;background:rgba(15,23,42,.48);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:flex-end;align-items:stretch;animation:devComplianceFadeIn .2s ease}.dev-analytics .dev-assignee-panel{width:min(720px,100vw - .75rem);max-width:100%;background:var(--dev-surface);border-left:1px solid var(--dev-border);box-shadow:-12px 0 40px #00000024;display:flex;flex-direction:column;padding:1rem 1rem .75rem;animation:devComplianceSlideIn .28s cubic-bezier(.22,1,.36,1)}@media (prefers-reduced-motion: reduce){.dev-analytics .dev-assignee-panel-backdrop,.dev-analytics .dev-assignee-panel,.dev-analytics .dev-assignee-recharts .recharts-wrapper *{animation:none!important;transition:none!important}}.dev-analytics .dev-assignee-panel-head{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;margin-bottom:.65rem}.dev-analytics .dev-assignee-bc{font-size:.75rem;color:var(--dev-text-muted);margin-bottom:.35rem}.dev-analytics .dev-assignee-bc-btn{background:none;border:none;padding:0;cursor:pointer;color:var(--dev-accent);font:inherit}.dev-analytics .dev-assignee-bc-sep{margin:0 .25rem;opacity:.6}.dev-analytics .dev-assignee-bc-current{color:var(--dev-text);font-weight:600}.dev-analytics .dev-assignee-panel-title{margin:0;font-size:1.15rem;font-weight:700}.dev-analytics .dev-assignee-panel-meta{font-size:.78rem;color:var(--dev-text-muted);margin:.25rem 0 0}.dev-analytics .dev-assignee-panel-close{border:1px solid var(--dev-border);background:var(--dev-surface-strong);border-radius:8px;padding:.35rem .65rem;cursor:pointer;font-size:.78rem}.dev-analytics .dev-assignee-panel-lead{font-size:.82rem;color:var(--dev-text-muted);margin:0 0 .65rem}.dev-analytics .dev-assignee-status-list{overflow:auto;flex:1;max-height:min(60vh,520px)}.dev-analytics .dev-assignee-status-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .65rem;border:1px solid var(--dev-border);border-radius:10px;margin-bottom:.45rem;background:var(--dev-surface-strong)}.dev-analytics .dev-assignee-status-name{font-weight:600;display:block}.dev-analytics .dev-assignee-status-cat{font-size:.7rem;color:var(--dev-text-muted);text-transform:capitalize}.dev-analytics .dev-assignee-status-actions{display:flex;align-items:center;gap:.5rem}.dev-analytics .dev-assignee-status-total{font-weight:700;font-size:1rem;color:var(--dev-accent)}.dev-analytics .dev-assignee-table-toolbar{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin-bottom:.5rem}.dev-analytics .dev-assignee-search{flex:1;min-width:140px;padding:.45rem .6rem;border-radius:8px;border:1px solid var(--dev-border);font-size:.82rem}.dev-analytics .dev-assignee-table-wrap{border:1px solid var(--dev-border);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;flex:1;min-height:200px;background:var(--dev-surface)}.dev-analytics .dev-assignee-table-head{position:sticky;top:0;z-index:2;background:var(--dev-surface-strong);border-bottom:1px solid var(--dev-border)}.dev-analytics .dev-assignee-table-row{display:flex;width:100%;align-items:center}.dev-analytics .dev-assignee-table-row-head{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--dev-text-muted)}.dev-analytics .dev-assignee-th-btn{background:none;border:none;padding:.35rem .25rem;cursor:pointer;font:inherit;color:inherit;text-align:left;width:100%}.dev-analytics .dev-assignee-table-row-data{border:none;border-bottom:1px solid var(--dev-border);background:var(--dev-surface);cursor:pointer;text-align:left;font:inherit;color:inherit;transition:background .12s ease}.dev-analytics .dev-assignee-table-row-data:hover{background:var(--accent-dim)}.dev-analytics .dev-assignee-table-cell{padding:.2rem .35rem;font-size:.74rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dev-analytics .dev-assignee-table-body{overflow:auto;max-height:min(48vh,420px)}.dev-analytics .dev-assignee-panel-footer{display:flex;justify-content:center;align-items:center;gap:.75rem;margin-top:.65rem;padding-top:.5rem;border-top:1px solid var(--dev-border);font-size:.78rem;color:var(--dev-text-muted)}.dev-analytics .dev-assignee-status-badge{display:inline-block;padding:.12rem .4rem;border-radius:6px;font-size:.7rem;font-weight:600;background:var(--accent-dim);color:var(--dev-accent-strong, var(--dev-accent))}.dev-analytics.dev-theme-dark .dev-assignee-glass{background:linear-gradient(145deg,rgba(30,34,43,.95),rgba(23,26,33,.92))}.dev-analytics.dev-theme-dark .dev-assignee-skeleton-kpi,.dev-analytics.dev-theme-dark .dev-assignee-skeleton-chart,.dev-analytics.dev-theme-dark .dev-assignee-skeleton-block{background:#252a36;animation:none}.dev-analytics.dev-theme-dark{--dev-bg: #0f1115;--dev-surface: #171a21;--dev-surface-strong: #1e222b;--dev-border: #2a3040;--dev-border-strong: #363d52;--dev-text: #e8eaef;--dev-text-muted: #9aa3b9;--dev-accent: #e07a52;--dev-accent-hover: #f09068;--dev-accent-strong: #cc5833;--dev-kpi-value-color: #e07a52}.dev-analytics.dev-theme-dark .dev-compliance-card-skel,.dev-analytics.dev-theme-dark .dev-compliance-skeleton-block{background:#252a36;animation:none}.dev-analytics .dev-pe-wrap{margin-bottom:1.25rem}.dev-analytics .dev-pe-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;align-items:stretch}.dev-analytics .dev-pe-grid--single{grid-template-columns:1fr}.dev-analytics .dev-pe-efficiency-wrap{margin-bottom:1.25rem}.dev-analytics .dev-pe-efficiency-band{width:100%;margin-top:0;margin-bottom:0}.dev-analytics .dev-pe-efficiency-band .dev-pe-chart-wrap-by-version{min-height:280px}.dev-analytics .dev-pe-glass{background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(248,250,252,.88));border:1px solid var(--dev-border);box-shadow:0 6px 24px #0f172a0d;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.dev-analytics .dev-pe-card{padding:.85rem 1rem 1rem}.dev-analytics .dev-pe-card-head{margin-bottom:.65rem}.dev-analytics .dev-pe-card-title{margin:0 0 .25rem;font-size:.95rem;font-weight:700;color:var(--dev-text)}.dev-analytics .dev-pe-card-hint{margin:0;font-size:.74rem;color:var(--dev-text-muted);line-height:1.35}.dev-analytics .dev-pe-card-hint code{font-size:.7rem;padding:.05rem .25rem;border-radius:4px;background:var(--accent-dim)}.dev-analytics .dev-pe-big-pct{font-size:2.35rem;font-weight:800;letter-spacing:-.03em;color:var(--dev-accent-strong, var(--dev-accent));line-height:1.1;margin-bottom:.5rem}.dev-analytics .dev-pe-big-pct.is-over{color:#b45309}.dev-analytics .dev-pe-dl{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1rem;margin:0}.dev-analytics .dev-pe-dl dt{margin:0;font-size:.72rem;color:var(--dev-text-muted);font-weight:500}.dev-analytics .dev-pe-dl dd{margin:.1rem 0 0;font-size:.95rem;font-weight:600}.dev-analytics .dev-pe-note{margin:.55rem 0 0;font-size:.74rem;color:#92400e;line-height:1.35}.dev-analytics .dev-pe-muted{font-size:.82rem}.dev-analytics .dev-pe-agg{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;margin-bottom:.65rem;padding:.45rem .55rem;border-radius:8px;background:rgba(13,148,136,.08);border:1px solid rgba(13,148,136,.2)}.dev-analytics .dev-pe-agg-label{font-size:.72rem;color:var(--dev-text-muted)}.dev-analytics .dev-pe-agg-val{font-size:1.15rem;font-weight:800;color:#0f766e}.dev-analytics .dev-pe-agg-sub{font-size:.74rem;color:var(--dev-text-muted);width:100%}.dev-analytics .dev-pe-table{margin-top:.25rem;font-size:.82rem}.dev-analytics .dev-pe-chart-skel{min-height:280px}.dev-analytics .dev-pe-chart-wrap{width:100%;min-height:280px;margin-bottom:.75rem}.dev-analytics .dev-pe-chart-wrap-line{min-height:280px;margin-bottom:.5rem}.dev-analytics .dev-pe-chart-wrap-single,.dev-analytics .dev-pe-chart-wrap-by-version{min-height:220px;margin-bottom:.5rem}.dev-analytics .dev-pe-version-pick{margin-top:.75rem;padding:.75rem 1rem;border-radius:8px;border:1px solid var(--dev-border);background:rgba(15,118,110,.06)}.dev-analytics .dev-pe-version-pick-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.dev-analytics .dev-pe-version-pick-close{padding:.15rem .5rem;font-size:1.25rem;line-height:1}.dev-analytics .dev-pe-drill-link-primary{border-color:var(--dev-info);color:var(--dev-info)}.dev-analytics .dev-pe-planning-pct-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;margin-bottom:.75rem}.dev-analytics .dev-pe-big-pct-inline{font-size:2rem;line-height:1.1;margin:0}.dev-analytics .dev-pe-drill-links{display:flex;flex-wrap:wrap;gap:.5rem .75rem;margin-top:.25rem}.dev-analytics .dev-pe-drill-link{font-size:.8125rem;padding:.35rem .65rem}.dev-analytics .dev-pe-chart-cta{margin:.5rem 0 0;font-size:.8rem;color:var(--dev-text-muted)}.dev-analytics .dev-pe-dl-inline{margin-top:.25rem}.dev-analytics .dev-pe-card-chart{min-width:0}.dev-analytics .dev-pe-drill-panel{max-width:min(960px,96vw);max-height:100vh}.dev-analytics .dev-pmo-drill-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:auto;margin-top:.35rem;padding-right:.15rem}.dev-analytics .dev-pmo-drill-section{margin-bottom:1rem}.dev-analytics .dev-pmo-drill-section-title{font-size:.88rem;font-weight:600;margin:0 0 .45rem;position:sticky;top:0;background:var(--dev-surface);padding:.35rem 0;z-index:1}.dev-analytics .dev-pmo-assignee-panel{margin-top:1rem;margin-bottom:1rem}.dev-analytics .dev-pmo-bottom-row{align-items:stretch;margin-top:1rem}.dev-analytics .dev-pmo-bottom-row>.dev-panel{margin:0;min-height:26rem;display:flex;flex-direction:column}.dev-analytics .dev-pmo-split-panel .dev-panel-title{margin-bottom:.35rem}.dev-analytics .dev-pmo-split-lead{margin:0 0 .65rem;font-size:.76rem;line-height:1.35}.dev-analytics .dev-pmo-split-panel .dev-pmo-table-scroll{flex:1 1 auto;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}.dev-analytics .dev-pmo-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.dev-analytics .dev-pmo-assignee-table{width:100%;min-width:0;table-layout:fixed}.dev-analytics .dev-pmo-assignee-table th,.dev-analytics .dev-pmo-assignee-table td{padding:.4rem .35rem;font-size:.76rem}.dev-analytics .dev-pmo-assignee-table .dev-pmo-assignee-name{max-width:none;width:38%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dev-analytics .dev-pmo-assignee-table th.num,.dev-analytics .dev-pmo-assignee-table td.num{white-space:nowrap;width:12%;padding-left:.25rem;padding-right:.25rem}.dev-analytics .dev-pmo-assignee-table thead th{position:sticky;top:0;z-index:1;background:#f8f9fa}.dev-analytics .dev-pmo-testing-panel{min-height:26rem}.dev-analytics .dev-pmo-testing-chart{height:220px;min-height:220px;flex-shrink:0}.dev-analytics .dev-pmo-testing-subtitle{margin:.75rem 0 .4rem;font-size:.82rem;font-weight:600;color:var(--dev-text)}.dev-analytics .dev-pmo-testing-resp-scroll{flex:1 1 auto;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}.dev-analytics .dev-pmo-testing-resp-table{width:100%;font-size:.76rem}.dev-analytics .dev-pmo-testing-resp-table th,.dev-analytics .dev-pmo-testing-resp-table td{padding:.35rem .45rem}@media (max-width: 1100px){.dev-analytics .dev-pmo-bottom-row{grid-template-columns:1fr!important}.dev-analytics .dev-pmo-bottom-row>.dev-panel{min-height:auto}.dev-analytics .dev-pmo-split-panel .dev-pmo-table-scroll{max-height:20rem}}.dev-analytics .dev-pmo-pct-warn{color:var(--dev-danger);font-weight:600}.dev-analytics .dev-pmo-pct-over{text-decoration:dotted underline;text-underline-offset:2px;cursor:help}.dev-analytics .dev-pe-skel-block{min-height:160px;border-radius:10px;background:linear-gradient(90deg,#eef1f6,#e2e8f0,#eef1f6);background-size:200% 100%;animation:devComplianceFadeIn 1.2s ease infinite}.dev-analytics.dev-theme-dark .dev-pe-glass{background:linear-gradient(145deg,rgba(30,34,43,.95),rgba(23,26,33,.92))}.dev-analytics.dev-theme-dark .dev-pe-skel-block{background:#252a36;animation:none}.dev-analytics.dev-theme-dark .dev-pe-agg{background:rgba(13,148,136,.12);border-color:#0d948847}.dev-analytics.dev-theme-dark .dev-pe-agg-val{color:#5eead4}.dev-analytics.dev-theme-dark .dev-pe-big-pct.is-over{color:#fbbf24}.dev-analytics .dev-pe-sublevel{margin-top:.75rem;border-radius:10px;border:1px solid var(--dev-border);overflow:hidden}.dev-analytics .dev-pe-sublevel-1{background:rgba(37,99,235,.04);border-color:#2563eb2e}.dev-analytics .dev-pe-sublevel-2{margin-top:.65rem;background:rgba(15,23,42,.03);border-color:var(--dev-border)}.dev-analytics .dev-pe-sublevel-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem .85rem;background:rgba(255,255,255,.55);border-bottom:1px solid rgba(0,0,0,.06)}.dev-analytics .dev-pe-sublevel-title{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .6rem;font-size:.85rem}.dev-analytics .dev-pe-sublevel-badge{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:50%;background:#2563eb;color:#fff;font-size:.7rem;font-weight:700;flex-shrink:0}.dev-analytics .dev-pe-sublevel-badge-2{background:#7c3aed}.dev-analytics .dev-pe-sublevel-meta{font-size:.78rem;color:var(--dev-text-muted)}.dev-analytics .dev-pe-sublevel-close{padding:.1rem .45rem;font-size:1.2rem;line-height:1;flex-shrink:0}.dev-analytics .dev-pe-sublevel-bar{height:6px;background:rgba(37,99,235,.12);margin:0}.dev-analytics .dev-pe-sublevel-bar-fill{height:100%;background:#2563eb;border-radius:0 3px 3px 0;transition:width .3s ease;min-width:2px}.dev-analytics .dev-pe-segment-cards{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:none}.dev-analytics .dev-pe-segment-card{display:flex;align-items:center;gap:.45rem;padding:.65rem .85rem;text-align:left;background:transparent;border:none;border-top:1px solid rgba(0,0,0,.06);cursor:pointer;transition:background .15s;font-size:.82rem;color:var(--dev-text)}.dev-analytics .dev-pe-segment-card:first-child{border-right:1px solid rgba(0,0,0,.06)}.dev-analytics .dev-pe-segment-card:hover{background:rgba(0,0,0,.04)}.dev-analytics .dev-pe-segment-card.is-active{background:rgba(37,99,235,.08)}.dev-analytics .dev-pe-segment-added.is-active{background:rgba(234,88,12,.08)}.dev-analytics .dev-pe-segment-icon{font-size:1rem;flex-shrink:0}.dev-analytics .dev-pe-segment-label{flex:1;font-weight:500}.dev-analytics .dev-pe-segment-count{font-size:1.05rem;font-weight:700;color:#2563eb}.dev-analytics .dev-pe-segment-added .dev-pe-segment-count{color:#ea580c}.dev-analytics .dev-pe-segment-pct{font-size:.74rem;color:var(--dev-text-muted);min-width:2.5rem;text-align:right}.dev-analytics .dev-pe-segment-chevron{font-size:.7rem;color:var(--dev-text-muted);flex-shrink:0}.dev-analytics .dev-pe-drill-toolbar{padding:.55rem .85rem;border-bottom:1px solid rgba(0,0,0,.06);background:rgba(255,255,255,.5)}.dev-analytics .dev-pe-drill-search{width:100%;padding:.35rem .65rem;font-size:.82rem;border:1px solid var(--dev-border);border-radius:6px;background:var(--dev-bg, #fff);color:var(--dev-text)}.dev-analytics .dev-pe-drill-table-wrap{overflow-x:auto;margin:0}.dev-analytics .dev-pe-drill-table{font-size:.8rem;margin:0;border-radius:0}.dev-analytics .dev-pe-drill-table th,.dev-analytics .dev-pe-drill-table td{padding:.35rem .55rem}.dev-analytics .dev-pe-drill-row:hover td{background:rgba(37,99,235,.05)}.dev-analytics .dev-pe-drill-subject{max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dev-analytics .dev-pe-drill-pagination{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .85rem;border-top:1px solid rgba(0,0,0,.06);font-size:.8rem}.dev-analytics.dev-theme-dark .dev-pe-sublevel-1{background:rgba(37,99,235,.07);border-color:#2563eb40}.dev-analytics.dev-theme-dark .dev-pe-sublevel-header{background:rgba(255,255,255,.04);border-bottom-color:#ffffff14}.dev-analytics.dev-theme-dark .dev-pe-segment-card{border-top-color:#ffffff12}.dev-analytics.dev-theme-dark .dev-pe-segment-card:first-child{border-right-color:#ffffff12}.dev-analytics.dev-theme-dark .dev-pe-segment-card:hover{background:rgba(255,255,255,.06)}.dev-analytics.dev-theme-dark .dev-pe-segment-card.is-active{background:rgba(37,99,235,.14)}.dev-analytics.dev-theme-dark .dev-pe-segment-added.is-active{background:rgba(234,88,12,.14)}.dev-analytics.dev-theme-dark .dev-pe-drill-toolbar{background:rgba(255,255,255,.03);border-bottom-color:#ffffff12}.dev-analytics.dev-theme-dark .dev-pe-drill-search{background:rgba(255,255,255,.06);border-color:#ffffff1f;color:var(--dev-text)}.dev-analytics.dev-theme-dark .dev-pe-drill-pagination{border-top-color:#ffffff12}.dev-analytics.dev-planif-root{padding-top:.5rem}.dev-analytics .dev-planif-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin:.75rem 0 1rem}.dev-analytics .dev-planif-tab{padding:.45rem .85rem;border-radius:6px;border:1px solid var(--dev-border);background:var(--dev-surface);font-size:.82rem;cursor:pointer}.dev-analytics .dev-planif-tab.is-active{border-color:var(--dev-accent);background:var(--accent-dim, rgba(113, 75, 103, .1));font-weight:600}.dev-analytics .dev-planif-section{margin-bottom:1rem}.dev-analytics .dev-planif-kpi-grid{margin-top:.25rem}.dev-analytics .dev-planif-kpi-btn{all:unset;cursor:pointer;display:block;width:100%}.dev-analytics .dev-planif-kpi-btn:hover .dev-kpi-card{border-color:var(--dev-accent)}.dev-analytics .dev-planif-alert{margin:.5rem 0 .75rem;padding:.65rem .85rem;border-radius:6px;background:#fcebeb;color:#791f1f;font-size:.85rem}.dev-analytics .dev-planif-cost-warn{font-size:.78rem;color:var(--dev-warn);margin:0 0 .5rem}.dev-analytics .dev-planif-filter-hint{font-size:.78rem;color:var(--dev-muted);margin:0 0 .5rem}.dev-analytics .dev-planif-active-filters{display:flex;flex-wrap:wrap;gap:.65rem 1.25rem;font-size:.78rem;color:var(--dev-text);padding:.55rem .75rem;margin-bottom:.75rem;border-radius:8px;border:1px solid var(--dev-border);background:var(--dev-surface)}.dev-analytics .dev-planif-active-filters strong{color:var(--dev-muted);font-weight:600}.dev-analytics .dev-planif-line-chart{height:300px}.dev-analytics .dev-planif-stacked-chart{height:320px}.dev-analytics .dev-planif-heatmap-wrap{overflow-x:auto;max-width:100%}.dev-analytics .dev-planif-heatmap{border-collapse:collapse;font-size:.75rem;min-width:100%}.dev-analytics .dev-planif-heatmap th,.dev-analytics .dev-planif-heatmap td{border:1px solid var(--dev-border);padding:.35rem .4rem;text-align:center}.dev-analytics .dev-planif-heatmap-name{text-align:left;white-space:nowrap;max-width:9rem;overflow:hidden;text-overflow:ellipsis}.dev-analytics .dev-planif-heatmap-cell{min-width:2.5rem;font-weight:600}.dev-analytics .dev-planif-table-panel{margin-bottom:1rem}.dev-analytics .dev-planif-table-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.65rem}.dev-analytics .dev-planif-table-toolbar-left{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.dev-analytics .dev-planif-clear-filter{font-size:.78rem;padding:0;border:none;background:none;color:var(--dev-accent);cursor:pointer;text-decoration:underline}.dev-analytics .dev-planif-table-empty{padding:1rem 0}.dev-analytics .dev-planif-resumen-panel{margin-top:.5rem}.dev-analytics .dev-planif-resumen-lead{margin:0 0 1rem;color:var(--dev-muted);font-size:.9rem}.dev-analytics .dev-planif-resumen-bar-wrap{margin-bottom:1.25rem}.dev-analytics .dev-planif-resumen-bar-label{display:flex;justify-content:space-between;font-size:.82rem;margin-bottom:.35rem}.dev-analytics .dev-planif-resumen-bar{height:10px;border-radius:999px;background:var(--dev-surface-2, rgba(0, 0, 0, .06));overflow:hidden}.dev-analytics .dev-planif-resumen-bar-fill{height:100%;background:var(--dev-accent);border-radius:999px;transition:width .3s ease}.dev-analytics .dev-planif-resumen-bar-fill.is-warn{background:var(--dev-danger, #c0392b)}.dev-analytics .dev-planif-resumen-bar-fill.is-low{background:var(--dev-success, #1d9e75)}.dev-analytics .dev-planif-resumen-links{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.dev-analytics .dev-planif-resumen-alert{margin:0;font-size:.85rem;color:var(--dev-warn)}.dev-analytics .dev-planif-table-scroll{overflow:auto;max-height:420px}.dev-analytics .dev-planif-row-red td{background:#fcebeb}.dev-analytics .dev-btn-secondary{padding:.35rem .65rem;border-radius:6px;border:1px solid var(--dev-border);background:var(--dev-surface);font-size:.78rem;cursor:pointer}.dev-analytics .dev-planif-disp-filters{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.dev-analytics .dev-planif-disp-chip{padding:.3rem .55rem;border-radius:999px;border:1px solid var(--dev-border);background:var(--dev-surface);font-size:.72rem;cursor:pointer}.dev-analytics .dev-planif-disp-chip.is-active{border-color:var(--dev-accent);background:var(--accent-dim, rgba(113, 75, 103, .12))}.dev-analytics .dev-planif-ranking-table .dev-planif-rank-num{font-weight:600;color:var(--dev-muted);width:2.5rem}@media (max-width: 900px){.dev-analytics .dev-planif-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}[data-theme=organic]{--color-clay: #cc5833;--color-brand-a: #2e4036;--color-brand-a-deep: #243329;--color-brand-b: #cc5833;--color-brand-b-hover: #b44e2d;--color-brand-b-glow: rgba(204, 88, 51, .45);--color-surface-panel: #e8e5dc;--bg-page: #f2f0e9;--surface: #ffffff;--surface2: #faf8f4;--surface-opaque: #ffffff;--border: #d8d4c8;--border-strong: #c4bfb0;--text: #1a1a1a;--muted: #5c5c56;--primary: var(--color-brand-a);--primary-hover: var(--color-brand-a-deep);--accent: var(--color-brand-b);--accent-hover: var(--color-brand-b-hover);--accent-dim: rgba(204, 88, 51, .14);--primary-dim: rgba(46, 64, 54, .1);--on-accent: #ffffff;--on-primary: #f8f6f0;--navbar-bg: var(--color-brand-a);--navbar-bg-gradient: linear-gradient(135deg, #243329 0%, #2e4036 55%, #3a5246 100%);--navbar-text: var(--on-primary);--navbar-border: rgba(204, 88, 51, .35);--sidebar-bg: #fffcf7;--sidebar-hover: rgba(46, 64, 54, .06);--sidebar-active-bg: rgba(204, 88, 51, .1);--warn: #c98a1a;--danger: #b83a32;--danger-text: #7a241f;--ok: #2d6a4f;--radius: 6px;--radius-card: 10px;--font-display: "Plus Jakarta Sans", "Outfit", system-ui, sans-serif;--font-drama: "Cormorant Garamond", Georgia, serif;--font: var(--font-display);--mono: "IBM Plex Mono", ui-monospace, monospace;--shadow-card: 0 2px 12px rgba(26, 26, 26, .06), 0 1px 3px rgba(46, 64, 54, .04);--shadow-accent: 0 0 48px var(--color-brand-b-glow);--chart-grid: #ddd8cc;--shell-glow-on: 1;--body-texture: radial-gradient(circle, rgba(46, 64, 54, .09) 1px, transparent 1px);--body-texture-size: 20px 20px;--loader-label-mono: "Secuenciando reporte · optimización de savia"}[data-theme=brutalist]{--color-clay: #e63b2e;--color-brand-a: #111111;--color-brand-a-deep: #000000;--color-brand-b: #e63b2e;--color-brand-b-hover: #c93226;--color-brand-b-glow: rgba(230, 59, 46, .5);--color-surface-panel: #e8e4dd;--bg-page: #f5f3ee;--surface: #e8e4dd;--surface2: #f5f3ee;--surface-opaque: #f5f3ee;--border: #111111;--border-strong: #111111;--text: #111111;--muted: #3d3d3d;--primary: #111111;--primary-hover: #000000;--accent: #e63b2e;--accent-hover: #c93226;--accent-dim: rgba(230, 59, 46, .12);--primary-dim: rgba(17, 17, 17, .06);--on-accent: #ffffff;--on-primary: #f5f3ee;--navbar-bg: #111111;--navbar-bg-gradient: linear-gradient(180deg, #111111 0%, #1a1a1a 100%);--navbar-text: #f5f3ee;--navbar-border: #e63b2e;--sidebar-bg: #e8e4dd;--sidebar-hover: rgba(17, 17, 17, .05);--sidebar-active-bg: rgba(230, 59, 46, .12);--warn: #c98a1a;--danger: #e63b2e;--danger-text: #7a1810;--ok: #2d6a4f;--radius: 2px;--radius-card: 2px;--font-display: "Space Grotesk", system-ui, sans-serif;--font-drama: "DM Serif Display", Georgia, serif;--font: var(--font-display);--mono: "Space Mono", ui-monospace, monospace;--shadow-card: 4px 4px 0 #111111;--shadow-accent: 4px 4px 0 rgba(17, 17, 17, .85);--chart-grid: rgba(17, 17, 17, .12);--shell-glow-on: 0;--body-texture: linear-gradient(rgba(17, 17, 17, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(17, 17, 17, .05) 1px, transparent 1px);--body-texture-size: 24px 24px;--loader-label-mono: "DENSITY_MAX · procesando secuencias"}[data-theme=arctic]{--color-clay: #38bdf8;--color-brand-a: #0f172a;--color-brand-a-deep: #020617;--color-brand-b: #38bdf8;--color-brand-b-hover: #0ea5e9;--color-brand-b-glow: rgba(56, 189, 248, .35);--color-surface-panel: rgba(255, 255, 255, .55);--bg-page: #f8fafc;--surface: rgba(255, 255, 255, .72);--surface2: #ffffff;--surface-opaque: #ffffff;--border: rgba(148, 163, 184, .22);--border-strong: rgba(56, 189, 248, .18);--text: #0f172a;--muted: #64748b;--primary: #0f172a;--primary-hover: #020617;--accent: #38bdf8;--accent-hover: #0ea5e9;--accent-dim: rgba(56, 189, 248, .12);--primary-dim: rgba(15, 23, 42, .04);--on-accent: #ffffff;--on-primary: #f8fafc;--navbar-bg: rgba(255, 255, 255, .75);--navbar-bg-gradient: linear-gradient(180deg, rgba(255, 255, 255, .88) 0%, rgba(248, 250, 252, .92) 100%);--navbar-text: #0f172a;--navbar-border: rgba(56, 189, 248, .2);--sidebar-bg: rgba(255, 255, 255, .45);--sidebar-hover: rgba(56, 189, 248, .06);--sidebar-active-bg: rgba(56, 189, 248, .1);--warn: #d97706;--danger: #ef4444;--danger-text: #991b1b;--ok: #0d9488;--radius: 12px;--radius-card: 24px;--font-display: "Outfit", system-ui, sans-serif;--font-drama: "Baskervville", Georgia, serif;--font: var(--font-display);--mono: "Roboto Mono", "Space Mono", ui-monospace, monospace;--shadow-card: 0 1px 3px rgba(15, 23, 42, .04), 0 8px 32px rgba(56, 189, 248, .06);--shadow-accent: 0 0 40px rgba(56, 189, 248, .25);--chart-grid: rgba(148, 163, 184, .2);--shell-glow-on: 1;--body-texture: none;--body-texture-size: auto;--loader-label-mono: "Preservación ártica · lectura de estado";--transition-ui: .8s cubic-bezier(.4, 0, .2, 1)}[data-theme=crimson]{--color-clay: #8c1d28;--color-brand-a: #1a1d20;--color-brand-a-deep: #121416;--color-brand-b: #8c1d28;--color-brand-b-hover: #731821;--color-brand-b-glow: rgba(140, 29, 40, .28);--color-surface-panel: #ffffff;--bg-page: #f7f5f0;--surface: #ffffff;--surface2: #faf9f6;--surface-opaque: #ffffff;--border: #e5e3dd;--border-strong: rgba(26, 29, 32, .12);--text: #1a1d20;--muted: #5c5f63;--primary: #1a1d20;--primary-hover: #121416;--accent: #8c1d28;--accent-hover: #731821;--accent-dim: rgba(140, 29, 40, .1);--primary-dim: rgba(26, 29, 32, .05);--on-accent: #ffffff;--on-primary: #f7f5f0;--navbar-bg: #f7f5f0;--navbar-bg-gradient: linear-gradient(180deg, #faf9f6 0%, #f7f5f0 55%, #f3f1ec 100%);--navbar-text: #1a1d20;--navbar-border: rgba(140, 29, 40, .22);--sidebar-bg: #faf9f6;--sidebar-hover: rgba(140, 29, 40, .05);--sidebar-active-bg: rgba(140, 29, 40, .09);--warn: #b45309;--danger: #991b1b;--danger-text: #7f1d1d;--ok: #166534;--radius: 12px;--radius-card: 16px;--font-display: "Plus Jakarta Sans", system-ui, sans-serif;--font-drama: "Cormorant Garamond", Georgia, serif;--font: var(--font-display);--mono: "Space Mono", ui-monospace, monospace;--shadow-card: 0 1px 2px rgba(26, 29, 32, .04), 0 4px 20px rgba(26, 29, 32, .05);--shadow-accent: 0 4px 20px rgba(140, 29, 40, .22);--chart-grid: rgba(26, 29, 32, .08);--shell-glow-on: 1;--body-texture: none;--body-texture-size: auto;--loader-label-mono: "Catalogación institucional · secuencia verificada";--transition-ui: .45s cubic-bezier(.4, 0, .2, 1)}:root{--bg-page: #f2f0e9;--accent: #cc5833;--text: #1a1a1a;--font: system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:var(--font);background-color:var(--bg-page);color:var(--text);line-height:1.5;background-image:var(--body-texture);background-size:var(--body-texture-size)}#root{min-height:100vh;margin:0;padding:0;max-width:none}.odoo-shell{min-height:100vh;display:flex;flex-direction:column;position:relative;isolation:isolate}[data-theme=organic] .odoo-shell:before,[data-theme=organic] .odoo-shell:after{content:"";position:fixed;border-radius:50%;filter:blur(120px);pointer-events:none;z-index:0}[data-theme=organic] .odoo-shell:before{width:min(480px,55vw);height:min(480px,55vw);background:var(--color-brand-b);top:-140px;right:-100px;opacity:.28}[data-theme=organic] .odoo-shell:after{width:min(420px,50vw);height:min(420px,50vw);background:var(--color-brand-a);bottom:8%;left:-120px;opacity:.22}.odoo-navbar,.odoo-body{position:relative}.odoo-navbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;min-height:52px;padding:0 .75rem 0 0;background:var(--navbar-bg-gradient);color:var(--navbar-text);box-shadow:0 2px 16px #1a1a1a26,var(--shadow-accent);position:sticky;top:0;z-index:100;border-bottom:3px solid var(--navbar-border)}.odoo-navbar-brand{display:flex;align-items:center;gap:.65rem;padding:.5rem 1rem;position:relative}.odoo-navbar-logo{width:32px;height:32px;border-radius:var(--radius);background:var(--color-clay, var(--accent));color:var(--on-accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;letter-spacing:-.02em;box-shadow:var(--shadow-accent)}.odoo-navbar-title{font-family:var(--font-display);font-size:1rem;font-weight:700;line-height:1.2;letter-spacing:-.03em}.odoo-navbar-sub{font-family:var(--mono);font-size:.68rem;opacity:.9;line-height:1.2;letter-spacing:.02em}.odoo-navbar-actions{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem}.odoo-body{display:flex;flex:1;min-height:0;align-items:flex-start}.odoo-sidebar{width:220px;flex-shrink:0;position:sticky;top:52px;max-height:calc(100dvh - 52px);overflow-y:auto;background:var(--sidebar-bg);border-right:1px solid var(--border);padding:.75rem 1rem;box-shadow:2px 0 12px color-mix(in srgb,var(--text) 4%,transparent)}.odoo-sidebar-label{font-family:var(--mono);font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding:.5rem 1rem .35rem}.odoo-sidebar-nav{display:flex;flex-direction:column;gap:0}.odoo-sidebar-nav button{display:block;width:100%;text-align:left;border:none;background:transparent;padding:.6rem 1rem .6rem .85rem;font:inherit;font-size:.875rem;color:var(--text);cursor:pointer;border-left:3px solid transparent;transition:background .15s ease,border-color .15s ease,color .15s ease;border-radius:0 var(--radius) var(--radius) 0}.odoo-sidebar-nav button:hover{background:var(--sidebar-hover)}.odoo-sidebar-nav button.odoo-nav-active{background:var(--sidebar-active-bg);border-left-color:var(--accent);font-weight:600;color:var(--primary)}.odoo-nav-group{display:flex;flex-direction:column}.odoo-nav-group-toggle{display:flex;align-items:center;justify-content:space-between;gap:.35rem;font-weight:600}.odoo-nav-group-toggle.odoo-nav-group-has-active{background:var(--primary-dim);border-left-color:var(--primary);color:var(--primary)}.odoo-nav-chevron{flex-shrink:0;font-size:.62rem;opacity:.65;transition:transform .15s ease}.odoo-nav-group-toggle[aria-expanded=true] .odoo-nav-chevron{transform:rotate(90deg)}.odoo-nav-sub{display:flex;flex-direction:column;padding-left:.35rem;margin-left:.5rem;border-left:2px solid var(--border)}.odoo-nav-sub>button{padding-left:.75rem;font-size:.8125rem}.odoo-nav-placeholder{padding:.5rem .75rem .65rem;font-size:.78rem;color:var(--muted);font-style:italic;line-height:1.35}.odoo-content{flex:1;min-width:0;padding:1.25rem 1.5rem 2rem;overflow-x:auto}.odoo-content-header{margin-bottom:1.25rem;padding-bottom:.85rem;border-bottom:1px solid var(--border)}.odoo-content-header h1{margin:0;font-family:var(--font-display);font-size:1.35rem;font-weight:700;color:var(--text);letter-spacing:-.03em}.odoo-content-header h1 em,.odoo-content-header .drama{font-family:var(--font-drama);font-style:italic;font-weight:300;color:var(--accent)}.odoo-content-header p{margin:.35rem 0 0;font-size:.875rem;color:var(--muted);max-width:720px}.odoo-btn{font-family:var(--font);font-size:.8125rem;font-weight:600;border-radius:var(--radius);padding:.45rem .9rem;cursor:pointer;border:1px solid transparent;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .12s ease}.odoo-btn:disabled{opacity:.65;cursor:not-allowed}.odoo-btn-primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent);box-shadow:var(--shadow-accent)}.odoo-btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-1px)}.odoo-btn-navbar{background:rgba(255,255,255,.1);color:var(--navbar-text);border-color:#ffffff47}.odoo-btn-navbar:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.app-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.85rem;padding:2.5rem 1.5rem;min-height:140px}.app-loader-sequence{width:min(320px,90vw);height:6px;background:var(--primary-dim);border-radius:999px;overflow:hidden;border:1px solid var(--border)}.app-loader-bar{height:100%;min-height:3px}[data-theme=organic] .app-loader-bar{width:42%;border-radius:999px;background:linear-gradient(90deg,var(--color-brand-a) 0%,var(--color-brand-b) 50%,var(--color-brand-a) 100%);background-size:200% 100%;animation:appSequence 1.8s ease-in-out infinite;box-shadow:0 0 12px var(--color-brand-b-glow)}[data-theme=brutalist] .app-loader-sequence,[data-theme=organic] .app-loader-blocks{display:none}[data-theme=brutalist] .app-loader-blocks{display:flex;gap:4px;width:min(280px,88vw);height:28px}[data-theme=brutalist] .app-loader-blocks span{flex:1;border:2px solid var(--text);background:var(--surface);animation:brutalBlockFill 1.2s steps(1) infinite}[data-theme=brutalist] .app-loader-blocks span:nth-child(1){animation-delay:0s}[data-theme=brutalist] .app-loader-blocks span:nth-child(2){animation-delay:.15s}[data-theme=brutalist] .app-loader-blocks span:nth-child(3){animation-delay:.3s}[data-theme=brutalist] .app-loader-blocks span:nth-child(4){animation-delay:.45s}[data-theme=brutalist] .app-loader-blocks span:nth-child(5){animation-delay:.6s}[data-theme=brutalist] .app-loader-blocks span:nth-child(6){animation-delay:.75s}[data-theme=brutalist] .app-loader-blocks span:nth-child(7){animation-delay:.9s}[data-theme=brutalist] .app-loader-blocks span:nth-child(8){animation-delay:1.05s}@keyframes brutalBlockFill{0%,40%{background:var(--surface)}50%,to{background:var(--accent)}}.app-loader-label{font-family:var(--font-display);font-size:.9rem;font-weight:600;color:var(--text)}.app-loader-mono{font-family:var(--mono);font-size:.72rem;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}@keyframes appSequence{0%{transform:translate(-100%);background-position:0% 50%}50%{background-position:100% 50%}to{transform:translate(280%);background-position:0% 50%}}@media (max-width: 768px){.odoo-body{flex-direction:column}.odoo-sidebar{width:100%;position:static;top:auto;max-height:none;overflow-y:visible;border-right:none;border-bottom:1px solid var(--border);padding:.5rem .75rem .75rem}.odoo-sidebar-nav{flex-direction:row;flex-wrap:wrap;gap:.25rem}.odoo-sidebar-nav button{border-left:none;border-bottom:2px solid transparent;border-radius:var(--radius);padding:.45rem .65rem}.odoo-sidebar-nav button.odoo-nav-active{border-left:none;border-bottom-color:var(--accent)}.odoo-sidebar-label{display:none}.odoo-content{padding:1rem}}.recharts-legend-item-text,.recharts-default-tooltip .recharts-tooltip-label,.recharts-tooltip-item-name,.recharts-tooltip-item-value,.recharts-tooltip-item-separator{color:var(--text)!important}.recharts-cartesian-axis-tick-value tspan{fill:var(--text)}.coord-kpi-grid{display:grid;gap:15px;margin-top:.65rem;align-items:stretch;grid-template-columns:1fr}@media (min-width: 560px){.coord-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 900px){.coord-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1280px){.coord-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.theme-switcher{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem}.theme-switcher-label{font-family:var(--mono);font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;opacity:.9}.theme-switcher-select{font-family:var(--font);font-size:.78rem;font-weight:600;padding:.35rem .55rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;max-width:11rem}.theme-switcher--navbar .theme-switcher-label{color:var(--navbar-text)}.theme-switcher--navbar .theme-switcher-select{background:rgba(0,0,0,.25);border-color:#ffffff40;color:var(--navbar-text)}[data-theme=brutalist] .odoo-navbar-title{letter-spacing:-.06em;text-transform:uppercase}[data-theme=brutalist] .odoo-sidebar{border-right-width:2px}[data-theme=brutalist] .odoo-content-header{border-bottom-width:2px}[data-theme=brutalist] .odoo-navbar-brand:after{content:"";width:8px;height:8px;margin-left:.35rem;background:var(--accent);border-radius:0;animation:statusPulse 1.4s ease-in-out infinite;align-self:center}@keyframes statusPulse{0%,to{opacity:1;box-shadow:0 0 0 0 var(--color-brand-b-glow)}50%{opacity:.55;box-shadow:0 0 8px 2px var(--color-brand-b-glow)}}.app-loader-mono--organic{display:block}.app-loader-mono--brutal,[data-theme=brutalist] .app-loader-mono--organic{display:none}[data-theme=brutalist] .app-loader-mono--brutal{display:block}[data-theme=arctic] .odoo-shell:before,[data-theme=arctic] .odoo-shell:after{content:"";position:fixed;border-radius:50%;filter:blur(150px);pointer-events:none;z-index:0;background:#38bdf8}[data-theme=arctic] .odoo-shell:before{width:min(560px,70vw);height:min(560px,70vw);top:-18%;right:-12%;opacity:.14}[data-theme=arctic] .odoo-shell:after{width:min(420px,55vw);height:min(420px,55vw);bottom:-8%;left:-18%;opacity:.09}[data-theme=arctic] .odoo-navbar{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 1px #38bdf826}[data-theme=arctic] .odoo-navbar-title{font-weight:800;letter-spacing:-.04em}[data-theme=arctic] .odoo-navbar-logo{border-radius:12px;box-shadow:0 0 24px #38bdf859}[data-theme=arctic] .odoo-sidebar{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-right:1px solid rgba(56,189,248,.1);box-shadow:none}[data-theme=arctic] .odoo-content{padding:1.75rem 2rem 2.5rem}[data-theme=arctic] .odoo-content-header{border-bottom:1px solid rgba(148,163,184,.2);padding-bottom:1.1rem;margin-bottom:1.5rem}[data-theme=arctic] .odoo-content-header h1{font-weight:800;letter-spacing:-.04em}[data-theme=arctic] .odoo-btn,[data-theme=arctic] .odoo-sidebar-nav button,[data-theme=arctic] .theme-switcher-select{transition:all 1s cubic-bezier(.4,0,.2,1)}[data-theme=arctic] .odoo-btn-primary:hover:not(:disabled){box-shadow:0 0 28px #38bdf873;transform:none}[data-theme=arctic] .odoo-btn-navbar{background:rgba(255,255,255,.5);color:var(--text);border-color:#38bdf840}[data-theme=arctic] .odoo-btn-navbar:hover:not(:disabled){background:rgba(56,189,248,.15);color:var(--text);border-color:#38bdf866}[data-theme=arctic] .theme-switcher--navbar .theme-switcher-label{color:var(--muted)}[data-theme=arctic] .theme-switcher--navbar .theme-switcher-select{background:rgba(255,255,255,.65);border-color:#38bdf838;color:var(--text);max-width:12rem}[data-theme=arctic] .odoo-navbar-brand:after{content:"";width:7px;height:7px;margin-left:.4rem;border-radius:50%;background:var(--accent);box-shadow:0 0 12px #38bdf8cc;animation:arcticPulse 2.5s ease-in-out infinite;align-self:center}@keyframes arcticPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.85)}}[data-theme=arctic] .app-loader-blocks{display:none}[data-theme=arctic] .app-loader-sequence{display:block;height:4px;background:rgba(56,189,248,.08);border:1px solid rgba(56,189,248,.12);border-radius:999px}[data-theme=arctic] .app-loader-bar{width:40%;border-radius:999px;background:linear-gradient(90deg,transparent,#38bdf8,transparent);animation:glacialDrift 2.8s ease-in-out infinite;box-shadow:0 0 16px #38bdf880}@keyframes glacialDrift{0%,to{transform:translate(-20%);opacity:.45}50%{transform:translate(220%);opacity:1}}[data-theme=arctic] .app-loader-mono--organic,[data-theme=arctic] .app-loader-mono--brutal{display:none}[data-theme=arctic] .app-loader-mono--arctic{display:block}.app-loader-mono--arctic{display:none}[data-theme=arctic] .dev-analytics .dev-panel,[data-theme=arctic] .dev-analytics .dev-kpi-card{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(255,255,255,.42);border:1px solid rgba(56,189,248,.1);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}[data-theme=arctic] .dev-analytics .dev-filters-section{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(255,255,255,.55);border:1px solid rgba(56,189,248,.1);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}[data-theme=arctic] .dev-analytics{border-top-color:#38bdf859}[data-theme=arctic] .dev-analytics .dev-button{transition:all 1s cubic-bezier(.4,0,.2,1);border-radius:var(--radius-card)}[data-theme=arctic] .dev-analytics .dev-button:hover:not(:disabled){transform:none;box-shadow:0 0 20px #38bdf84d}[data-theme=arctic] .app-loader-mono--crimson{display:none}[data-theme=crimson] .odoo-shell:before,[data-theme=crimson] .odoo-shell:after{content:"";position:fixed;border-radius:50%;filter:blur(130px);pointer-events:none;z-index:0;background:#8c1d28}[data-theme=crimson] .odoo-shell:before{width:min(500px,62vw);height:min(500px,62vw);top:-10%;left:50%;transform:translate(-45%);opacity:.05}[data-theme=crimson] .odoo-shell:after{width:min(380px,48vw);height:min(380px,48vw);bottom:0;right:-8%;opacity:.04}[data-theme=crimson] .odoo-navbar{box-shadow:0 1px #1a1d200f;border-bottom-color:#8c1d2838}[data-theme=crimson] .odoo-navbar-title{font-weight:800;letter-spacing:-.03em}[data-theme=crimson] .odoo-navbar-logo{background:var(--accent);color:var(--on-accent);border-radius:var(--radius);box-shadow:0 2px 12px #8c1d2840}[data-theme=crimson] .odoo-sidebar{border-right:1px solid rgba(26,29,32,.08);background:var(--sidebar-bg)}[data-theme=crimson] .odoo-content{padding:1.75rem 2rem 2.5rem}[data-theme=crimson] .odoo-content-header{border-bottom:1px solid rgba(26,29,32,.1);padding-bottom:1.2rem;margin-bottom:1.6rem}[data-theme=crimson] .odoo-content-header h1{font-weight:800;letter-spacing:.03em;text-transform:uppercase;font-size:clamp(1rem,2.2vw,1.35rem);line-height:1.25}[data-theme=crimson] .odoo-content-header h1 em,[data-theme=crimson] .odoo-content-header .drama{display:block;margin-top:.15em;text-transform:none;font-family:var(--font-drama);font-style:italic;font-weight:400;font-size:clamp(2rem,5vw,3rem);letter-spacing:.02em;color:var(--accent);line-height:1.05}[data-theme=crimson] .odoo-btn,[data-theme=crimson] .odoo-sidebar-nav button,[data-theme=crimson] .theme-switcher-select{transition:background .35s ease,border-color .35s ease,box-shadow .35s ease}[data-theme=crimson] .odoo-btn-primary:hover:not(:disabled){box-shadow:0 4px 20px #8c1d284d;transform:translateY(-1px)}[data-theme=crimson] .odoo-btn-navbar{background:rgba(255,255,255,.7);color:var(--text);border-color:#1a1d201f}[data-theme=crimson] .odoo-btn-navbar:hover:not(:disabled){background:var(--accent);color:var(--on-accent);border-color:var(--accent)}[data-theme=crimson] .theme-switcher--navbar .theme-switcher-label{color:var(--muted)}[data-theme=crimson] .theme-switcher--navbar .theme-switcher-select{background:#ffffff;border-color:#1a1d201a;color:var(--text);max-width:12.5rem}[data-theme=crimson] .odoo-navbar-brand:after{content:"";width:7px;height:7px;margin-left:.4rem;border-radius:50%;background:var(--accent);box-shadow:0 0 8px #8c1d2873;animation:crimsonPulse 2.2s ease-in-out infinite;align-self:center}@keyframes crimsonPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.9)}}[data-theme=crimson] .app-loader-blocks{display:none}[data-theme=crimson] .app-loader-sequence{display:block;height:3px;background:rgba(140,29,40,.06);border:1px solid rgba(26,29,32,.08);border-radius:999px}[data-theme=crimson] .app-loader-bar{width:36%;border-radius:999px;background:linear-gradient(90deg,transparent,#8c1d28,transparent);animation:crimsonDrift 2.6s ease-in-out infinite}@keyframes crimsonDrift{0%,to{transform:translate(-18%);opacity:.5}50%{transform:translate(215%);opacity:1}}[data-theme=crimson] .app-loader-mono--organic,[data-theme=crimson] .app-loader-mono--brutal,[data-theme=crimson] .app-loader-mono--arctic{display:none}[data-theme=crimson] .app-loader-mono--crimson{display:block}.app-loader-mono--crimson{display:none}[data-theme=crimson] .dev-analytics .dev-panel,[data-theme=crimson] .dev-analytics .dev-kpi-card,[data-theme=crimson] .dev-analytics .dev-filters-section{background:var(--surface);border:1px solid rgba(26,29,32,.1);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}[data-theme=arctic] .dev-analytics .dev-kpi-card.dev-card,[data-theme=crimson] .dev-analytics .dev-kpi-card.dev-card{z-index:auto}[data-theme=crimson] .dev-analytics{border-top-color:#8c1d2840}[data-theme=crimson] .dev-analytics .dev-button{border-radius:var(--radius)}[data-theme=crimson] .dev-analytics .dev-button:hover:not(:disabled){box-shadow:0 2px 12px #8c1d282e}
