.gpm-analysis-page {
    --ga-ink: #112f46;
    --ga-muted: #6f8494;
    --ga-line: #dfe8ee;
    --ga-soft: #f5fafc;
    --ga-blue: #0878ad;
    --ga-blue-dark: #07516f;
    --ga-green: #19784a;
    --ga-orange: #b06b13;
    --ga-shadow: 0 14px 40px rgba(17, 47, 70, .07);
    color: var(--ga-ink);
    background: linear-gradient(180deg, #f5fbff 0, #f8fbfd 36rem, #fff 75rem);
}

.gpm-analysis-hero {
    padding: 1.5rem 0 1.15rem;
}

.gpm-analysis-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: .42rem;
    align-items: center;
    margin-bottom: .9rem;
    color: #8496a4;
    font-size: .72rem;
}
.gpm-analysis-breadcrumb a { color:#587487; text-decoration:none; }
.gpm-analysis-breadcrumb a:hover { color:var(--ga-blue); }

.gpm-analysis-hero-card {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:1.5rem;
    padding:1.55rem 1.7rem;
    border:1px solid rgba(8,120,173,.10);
    border-radius:1.3rem;
    background:
        radial-gradient(circle at 94% 8%, rgba(245,158,11,.10), transparent 16rem),
        linear-gradient(135deg, rgba(255,255,255,.98), rgba(238,248,253,.96));
    box-shadow:var(--ga-shadow);
}

.gpm-analysis-kicker,
.gpm-analysis-section-label {
    color:var(--ga-blue);
    font-size:.63rem;
    font-weight:850;
    letter-spacing:.09em;
}

.gpm-analysis-hero-card h1 {
    margin:.3rem 0 .45rem;
    color:var(--ga-ink);
    font-size:clamp(1.65rem,2.7vw,2.4rem);
    line-height:1.14;
    letter-spacing:-.035em;
}
.gpm-analysis-hero-card p {
    margin:0;
    color:#62798a;
    font-size:.84rem;
}
.gpm-analysis-grid-id {
    margin-top:.5rem;
    color:#3d6077;
    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
    font-size:.76rem;
    font-weight:700;
}
.gpm-analysis-hero-actions {
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:.5rem;
}
.gpm-analysis-hero-actions .btn { font-size:.74rem; white-space:nowrap; }

.gpm-analysis-stats { margin-top:1rem; }
.gpm-analysis-stat {
    height:100%;
    min-height:7.25rem;
    display:flex;
    flex-direction:column;
    padding:1rem 1.08rem;
    border:1px solid var(--ga-line);
    border-radius:1rem;
    background:#fff;
    box-shadow:0 7px 22px rgba(17,47,70,.035);
}
.gpm-analysis-stat span {
    color:#748897;
    font-size:.64rem;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
}
.gpm-analysis-stat strong {
    margin-top:.35rem;
    color:var(--ga-ink);
    font-size:1.65rem;
    line-height:1.1;
    letter-spacing:-.03em;
}
.gpm-analysis-stat strong.stat-text {
    font-size:1.08rem;
    line-height:1.25;
}
.gpm-analysis-stat small {
    margin-top:auto;
    padding-top:.45rem;
    color:#94a3ad;
    font-size:.65rem;
}

.gpm-analysis-meta-strip {
    display:flex;
    flex-wrap:wrap;
    gap:.45rem 1.2rem;
    margin-top:.85rem;
    padding:.7rem 1rem;
    border:1px solid #e1eaf0;
    border-radius:.85rem;
    background:rgba(255,255,255,.82);
    color:#748998;
    font-size:.69rem;
}
.gpm-analysis-meta-strip b { color:#3d5d73; font-weight:750; }

.gpm-analysis-note {
    margin-top:.85rem;
    padding:.75rem 1rem;
    border:1px solid #d7e7ef;
    border-left:3px solid var(--ga-blue);
    border-radius:.8rem;
    background:#f7fbfd;
    color:#60798b;
    font-size:.71rem;
    line-height:1.55;
}

.gpm-analysis-nav {
    display:flex;
    flex-wrap:wrap;
    gap:.4rem;
    margin-top:.9rem;
}
.gpm-analysis-nav-link {
    display:inline-flex;
    align-items:center;
    min-height:2rem;
    padding:.38rem .72rem;
    border:1px solid #dbe6ec;
    border-radius:999px;
    background:#fff;
    color:#526f83;
    font-size:.68rem;
    font-weight:700;
    text-decoration:none;
}
.gpm-analysis-nav-link:hover {
    border-color:rgba(8,120,173,.35);
    color:var(--ga-blue);
}
.gpm-analysis-nav-link.is-active {
    border-color:var(--ga-blue);
    background:var(--ga-blue);
    color:#fff;
}

.gpm-analysis-content { padding:.35rem 0 3rem; }

.gpm-analysis-card {
    overflow:hidden;
    border:1px solid var(--ga-line);
    border-radius:1.2rem;
    background:#fff;
    box-shadow:var(--ga-shadow);
}
.gpm-analysis-card-head {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
    padding:1.05rem 1.2rem .95rem;
    border-bottom:1px solid #e9f0f4;
}
.gpm-analysis-card-head.compact { padding-bottom:.8rem; }
.gpm-analysis-card-head h2 {
    margin:.18rem 0 0;
    color:#294b61;
    font-size:1rem;
    font-weight:760;
}
.gpm-analysis-card-head p {
    margin:.3rem 0 0;
    color:#8193a0;
    font-size:.69rem;
    line-height:1.5;
}
.gpm-analysis-unit {
    flex:0 0 auto;
    padding:.32rem .55rem;
    border-radius:999px;
    background:#eff7fa;
    color:#668094;
    font-size:.62rem;
    font-weight:750;
}

.gpm-analysis-table-wrap {
    width:100%;
    overflow:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
}
.gpm-analysis-table {
    margin:0;
    color:#355267;
    font-size:.69rem;
    font-variant-numeric:tabular-nums;
}
.gpm-analysis-table th,
.gpm-analysis-table td {
    padding:.56rem .58rem;
    border-color:#e8eef2;
    vertical-align:middle;
}
.gpm-analysis-table thead th {
    position:sticky;
    top:0;
    z-index:3;
    background:#edf7fb;
    color:#4e687b;
    font-size:.63rem;
    font-weight:800;
    letter-spacing:.025em;
    white-space:nowrap;
}
.gpm-analysis-table tbody tr:hover { background:#f9fcfd; }
.gpm-analysis-table .sticky-col {
    position:sticky;
    left:0;
    z-index:2;
    background:#fff;
    box-shadow:1px 0 0 #e4ebef;
    white-space:nowrap;
}
.gpm-analysis-table thead .sticky-col { z-index:5; background:#edf7fb; }
.gpm-analysis-table tfoot .sticky-col { z-index:3; background:inherit; }
.gpm-analysis-table tfoot td {
    font-weight:700;
    background:#f5f9fb;
}
.gpm-analysis-table tfoot .summary-primary td {
    background:#0c496d;
    color:#fff;
}
.gpm-analysis-table .total-col {
    background:#f3f8fb;
    font-weight:750;
}
.gpm-analysis-table .is-rain { background:rgba(8,120,173,.035); }
.gpm-analysis-table .is-heavy {
    background:rgba(245,158,11,.11);
    color:#80510e;
    font-weight:750;
}
.gpm-analysis-table .is-peak-row td {
    background:#fff7e9;
}
.gpm-analysis-table .summary-effective td {
    background:#edf8f1;
    color:#27633f;
    font-weight:750;
}
.gpm-analysis-table .param-unit {
    display:block;
    margin-top:.12rem;
    color:#8ca0ad;
    font-size:.56rem;
    font-weight:600;
}

.gpm-daily-table { min-width:1040px; }
.gpm-monthly-table { min-width:1120px; }
.gpm-rainy-table { min-width:1080px; }
.gpm-effective-history { min-width:1750px; }
.gpm-effective-summary { min-width:1830px; }
.gpm-max-table { min-width:520px; }

.gpm-analysis-source {
    padding:.7rem 1rem;
    border-top:1px solid #edf2f5;
    color:#8a9aa5;
    font-size:.64rem;
}

.gpm-analysis-summary-card {
    display:flex;
    align-items:flex-start;
    gap:.9rem;
    margin-top:1rem;
    padding:1rem 1.15rem;
    border:1px solid #dce8ee;
    border-radius:1rem;
    background:#f9fcfe;
}
.gpm-analysis-summary-icon {
    flex:0 0 auto;
    min-width:2.25rem;
    min-height:2.25rem;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:.25rem;
    border-radius:.72rem;
    background:#e8f5fb;
    color:var(--ga-blue);
    font-size:.68rem;
    font-weight:850;
}
.gpm-analysis-summary-card p {
    margin:.25rem 0 0;
    color:#60798a;
    font-size:.74rem;
    line-height:1.65;
}

.gpm-analysis-insights {
    padding:0 1.2rem 1.15rem;
}
.gpm-analysis-insights > div {
    display:flex;
    flex-direction:column;
    gap:.18rem;
    padding:.68rem 0;
    border-bottom:1px solid #edf2f5;
}
.gpm-analysis-insights > div:last-child { border-bottom:0; }
.gpm-analysis-insights span {
    color:#889aa7;
    font-size:.64rem;
    font-weight:700;
}
.gpm-analysis-insights strong {
    color:#34536a;
    font-size:.78rem;
}

.gpm-analysis-chart-wrap {
    position:relative;
    height:300px;
    padding:.8rem 1rem 1.15rem;
}
.gpm-analysis-chart-wrap.chart-tall { height:470px; }

.gpm-analysis-empty {
    padding:2rem;
    border:1px dashed #cadbe5;
    border-radius:1rem;
    background:#f8fbfd;
    color:#708697;
    text-align:center;
    font-size:.78rem;
}

.max-table-wrap { max-height:500px; }

@media (max-width: 991.98px) {
    .gpm-analysis-hero-card {
        flex-direction:column;
        align-items:flex-start;
    }
    .gpm-analysis-hero-actions { justify-content:flex-start; }
    .gpm-analysis-chart-wrap.chart-tall { height:360px; }
}

@media (max-width: 767.98px) {
    .gpm-analysis-hero { padding-top:1rem; }
    .gpm-analysis-hero-card {
        padding:1.25rem;
        border-radius:1.05rem;
    }
    .gpm-analysis-hero-card h1 { font-size:1.55rem; }
    .gpm-analysis-hero-actions .btn { flex:1 1 auto; }
    .gpm-analysis-card-head {
        flex-direction:column;
        gap:.5rem;
        padding:1rem;
    }
    .gpm-analysis-summary-card { padding:.9rem; }
    .gpm-analysis-chart-wrap { height:250px; }
    .gpm-analysis-chart-wrap.chart-tall { height:300px; }
}
