.filter-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 16px;padding:12px;background:#fff;border:1px solid #e5e7eb;border-radius:12px}.filter-chips button{border:1px solid #b8d7cc;background:#e8f3ef;color:#004d35;border-radius:999px;padding:7px 11px;cursor:pointer}.filter-chips .clear-chip{background:#fff2f0;color:#b42318;border-color:#f4c7c3}.license-donut-wrap{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:20px}.license-donut{width:175px;height:175px;border-radius:50%;display:grid;place-items:center;position:relative}.license-donut:before{content:"";position:absolute;inset:25px;background:#fff;border-radius:50%}.license-donut strong{position:relative;z-index:1;font-size:26px;color:#004d35}.donut-legend{display:grid;gap:10px}.donut-legend span{display:flex;gap:8px;align-items:center}.donut-legend i{width:12px;height:12px;border-radius:3px}.donut-legend b{margin-right:auto}.map-panel{margin:18px 0}.mini-map{width:100%;height:320px;border:1px solid #dce8e3;border-radius:12px}.mini-map circle{cursor:pointer;transition:.2s}.mini-map circle:hover{r:10}.map-empty{height:200px;display:grid;place-items:center;background:#f7f9f8;color:#6b7280;border-radius:12px}.license-modal{position:fixed;inset:0;background:#001d1475;z-index:100;display:grid;place-items:center;padding:20px}.license-modal-card{width:min(850px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:16px;padding:22px;box-shadow:0 20px 70px #001d1450}.license-modal-card .toolbar button{margin-right:auto;border:0;background:#e8f3ef;color:#004d35;border-radius:50%;width:38px;height:38px;font-size:24px;cursor:pointer}.license-modal-card th{width:35%;color:#004d35}@media(max-width:720px){.license-donut-wrap{grid-template-columns:1fr;justify-items:center}}

/* v31.11: dashboard cards and chart labels are interactive */
.license-kpis .kpi[data-kpi-filter],
.license-charts [data-chart-label],
.license-owners-table [data-chart-label] { pointer-events:auto; cursor:pointer; user-select:none; }
.license-kpis .kpi[data-kpi-filter] * ,
.license-charts [data-chart-label] * ,
.license-owners-table [data-chart-label] * { pointer-events:none; }
.analysis-export-btn { min-width:150px; }

/* v31.12 verified license dashboard actions */
.license-export-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid #dce7e2;grid-column:1/-1}
.license-export-actions button{min-height:48px;padding:0 22px;border-radius:10px;font-weight:700;cursor:pointer}
.license-export-actions #exportFiltered{background:#087a52;color:#fff;border:1px solid #087a52}
.license-export-actions #exportLicenseAnalysisPptx{background:#8b1e5a;color:#fff;border:1px solid #8b1e5a}
.license-export-actions .license-sync-projects{background:#fff;color:#075e43;border:1px solid #075e43}
.license-interactive-card{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.license-interactive-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,77,53,.12)}
.license-interactive-card.active-filter{border:2px solid #8b1e5a;box-shadow:0 0 0 3px rgba(139,30,90,.12)}
@media(max-width:760px){.license-export-actions button{width:100%}}
