.gpl-center{display:grid;gap:18px}.gpl-head,.gpl-section-head,.gpl-card-head,.gpl-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.gpl-head{align-items:flex-start}.gpl-head h3,.gpl-card h4,.gpl-section-head h4{margin:0}.gpl-summary{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));gap:10px}.gpl-summary span,.gpl-kpi{background:var(--surface,#fff);border:1px solid var(--border,#dfe5ec);border-radius:14px;padding:12px;display:grid;gap:5px}.gpl-summary small,.gpl-card small,.gpl-row small{color:var(--muted,#64748b)}.gpl-summary b{font-size:1.22rem}.gpl-score{position:relative;overflow:hidden}.gpl-score:after{content:"";position:absolute;inset:auto 0 0;height:4px;background:currentColor;opacity:.45}.gpl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gpl-card{border:1px solid var(--border,#dfe5ec);border-radius:16px;padding:14px;background:var(--surface,#fff);display:grid;gap:12px}.gpl-card.warn{border-color:#d39b35}.gpl-card.danger{border-color:#c85c5c}.gpl-card.ok{border-color:#4a9a74}.gpl-meta,.gpl-actions{display:flex;gap:8px;flex-wrap:wrap}.gpl-version,.gpl-exception,.gpl-assurance{border-top:1px solid var(--border,#e5e7eb);padding-top:10px;display:grid;gap:8px}.gpl-list{display:grid;gap:8px}.gpl-row{border:1px solid var(--border,#e5e7eb);border-radius:12px;padding:10px;background:var(--surface-soft,#f8fafc)}.gpl-row>div{display:grid;gap:3px}.gpl-empty{border:1px dashed var(--border,#dfe5ec);border-radius:14px;padding:18px;text-align:center;color:var(--muted,#64748b)}.gpl-privacy{border:1px solid var(--border,#dfe5ec);border-radius:14px;padding:12px;background:var(--surface-soft,#f8fafc);line-height:1.8}.gpl-toolbar{display:flex;gap:8px;flex-wrap:wrap}.gpl-rights-table{display:grid;gap:6px}.gpl-bad{color:#a33}.gpl-good{color:#18794e}@media(max-width:1100px){.gpl-summary{grid-template-columns:repeat(4,minmax(110px,1fr))}}@media(max-width:760px){.gpl-head,.gpl-section-head,.gpl-card-head,.gpl-row{align-items:stretch;flex-direction:column}.gpl-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.gpl-grid{grid-template-columns:1fr}.gpl-actions button,.gpl-toolbar button{width:100%}}