.personal-analytics-toolbar { align-items:center; }
.personal-analytics-identity { margin:0 0 10px; color:#52677c; font-size:13px; }
.personal-analytics-metrics {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:8px;
}
.personal-analytics-empty {
    grid-column:1/-1;
    padding:24px;
    border:1px dashed #b8c8d8;
    border-radius:8px;
    color:#61758a;
    text-align:center;
}
.personal-analytics-metric {
    appearance:none;
    width:100%;
    min-height:82px;
    padding:11px 12px;
    border:1px solid #bfd0df;
    border-radius:8px;
    background:#fff;
    color:#18354e;
    text-align:left;
    cursor:pointer;
    display:grid;
    gap:5px;
    align-content:start;
}
.personal-analytics-metric:hover,.personal-analytics-metric:focus-visible { border-color:#2878b7; box-shadow:0 0 0 2px rgba(40,120,183,.14); }
.personal-analytics-metric.is-unavailable { background:#f4f6f8; color:#617181; }
.personal-analytics-metric-label { font-size:13px; font-weight:600; }
.personal-analytics-metric-value { font-size:18px; font-weight:700; line-height:1.25; }
.personal-analytics-metric-note { font-size:12px; color:#7a5b16; }
.personal-analytics-modal { position:fixed; inset:0; z-index:1500; display:flex; align-items:center; justify-content:center; padding:20px; }
.personal-analytics-modal.hidden { display:none; }
.personal-analytics-modal-backdrop { position:absolute; inset:0; background:rgba(15,32,47,.52); }
.personal-analytics-dialog {
    position:relative;
    z-index:1;
    width:min(1080px,calc(100vw - 32px));
    max-height:calc(100vh - 40px);
    overflow:auto;
    border-radius:10px;
    background:#fff;
    box-shadow:0 18px 52px rgba(5,28,47,.34);
    padding:16px;
}
.personal-analytics-dialog-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.personal-analytics-dialog-head h2 { margin:0; }
.personal-analytics-close { width:36px; min-width:36px; height:34px; padding:0; font-size:25px; line-height:1; background:#b92b36; }
.personal-analytics-aggregate { margin-top:5px; color:#536a7f; }
.personal-analytics-warnings { display:grid; gap:5px; margin:8px 0; color:#7c5412; font-size:13px; }
.personal-analytics-table-wrap { max-width:100%; overflow:auto; border:1px solid #c8d5e1; border-radius:7px; }
.personal-analytics-table { width:100%; min-width:720px; border-collapse:collapse; }
.personal-analytics-table th,.personal-analytics-table td { padding:7px 9px; border-bottom:1px solid #dce5ed; vertical-align:top; text-align:left; }
.personal-analytics-table th { position:sticky; top:0; z-index:1; background:#edf3f8; }
.personal-analytics-table td.num { text-align:right; white-space:nowrap; }
.personal-analytics-dialog-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:12px; }
body.personal-analytics-modal-open { overflow:hidden; }
@media (max-width:760px) {
    .personal-analytics-metrics { grid-template-columns:1fr; }
    .personal-analytics-modal { padding:6px; }
    .personal-analytics-dialog { width:calc(100vw - 12px); max-height:calc(100vh - 12px); padding:11px; }
}
