@font-face {
    font-family: 'Archivo';
    font-style: normal;
    font-weight: 300 800;
    font-stretch: 62% 125%;
    font-display: swap;
    src: url(fonts/archivo-latin-ext.woff2) format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Archivo';
    font-style: normal;
    font-weight: 300 800;
    font-stretch: 62% 125%;
    font-display: swap;
    src: url(fonts/archivo-latin.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
body { font-family: 'Archivo', sans-serif; }
#maskCanvas { touch-action: none; cursor: crosshair; }
h1, h2, .wide { font-stretch: 112%; }
.hero-title { line-height: 1.08; letter-spacing: -0.01em; text-wrap: balance; }
#colResults { font-variant-numeric: tabular-nums; }
label:has(> input.sr-only:focus-visible) { outline: 2px solid #f59e0b; outline-offset: 2px; }
.sky text { font-size: 13px; font-weight: 600; font-stretch: 100%; }
.sky .sky-names text { font-size: 11px; font-weight: 500; }
.sky .sky-ticks text { font-size: 11px; font-weight: 500; }
.sky-arc { stroke-dasharray: 1; stroke-dashoffset: 1; stroke-linecap: round; animation: sky-draw 1.8s cubic-bezier(.3, .7, .3, 1) forwards; }
.sky-arc-mar { animation-delay: .2s; }
.sky-arc-jun { animation-delay: .4s; }
.sky-sun, .sky-labels { opacity: 0; animation: sky-fade .6s 1.7s ease-out forwards; }
@keyframes sky-draw { to { stroke-dashoffset: 0; } }
@keyframes sky-fade { to { opacity: 1; } }
@media (max-width: 639px) {
    .sky text, .sky .sky-names text, .sky .sky-ticks text { font-size: 20px; }
}
@media (prefers-reduced-motion: reduce) {
    .sky-arc, .sky-sun, .sky-labels { animation: none; stroke-dashoffset: 0; opacity: 1; }
}
@page { size: A4; margin: 10mm; }
@media print {
    * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
    body { background: #ffffff !important; padding: 0 !important; }
}
/* Custom scrollbar */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: #f1f5f9; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

#clientReport { display: none; color: #0f172a; font-family: Archivo, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; font-size: 11.5px; line-height: 1.45; }
#clientReport * { box-sizing: border-box; }
.rp-head { display: flex; align-items: center; gap: 12px; background: #0f172a; color: #fff; border-radius: 10px; padding: 10px 16px; }
.rp-head img { height: 46px; width: auto; }
.rp-sub { font-size: 10px; color: #fbbf24; }
.rp-brand { font-size: 18px; font-weight: 700; }
.rp-date { margin-left: auto; font-size: 11px; color: #cbd5e1; text-align: right; }
.rp-title { font-size: 22px; font-weight: 800; margin: 14px 0 2px; color: #0f172a; }
.rp-meta { color: #475569; margin: 0 0 10px; }
.rp-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 8px 0 12px; }
.rp-kpi { border-radius: 10px; padding: 10px 12px; color: #fff; }
.rp-kpi .l { font-size: 10px; opacity: .9; }
.rp-kpi .v { font-size: 19px; font-weight: 800; margin: 2px 0; }
.rp-kpi .s { font-size: 10px; opacity: .95; }
.rp-h2 { font-size: 13px; font-weight: 800; color: #0f172a; border-left: 4px solid #f59e0b; padding-left: 8px; margin: 12px 0 6px; }
.rp-table { width: 100%; border-collapse: collapse; }
.rp-table td { padding: 4px 8px; border-bottom: 1px solid #e2e8f0; vertical-align: top; }
.rp-table td:first-child { color: #475569; width: 34%; font-weight: 600; background: #f8fafc; }
.rp-row { display: flex; align-items: center; gap: 10px; margin: 5px 0; }
.rp-row .n { width: 150px; font-weight: 600; }
.rp-row .b { flex: 1; height: 10px; border-radius: 6px; background: #e2e8f0; overflow: hidden; }
.rp-row .b i { display: block; height: 100%; }
.rp-row .p { width: 40px; text-align: right; font-weight: 700; }
canvas.rp-canvas { width: 100%; height: auto; display: block; border: 1px solid #e2e8f0; border-radius: 8px; background: #fff; }
.rp-foot { margin-top: 12px; padding-top: 8px; border-top: 2px solid #f59e0b; font-size: 10px; color: #475569; }
.rp-ul { margin: 4px 0 0 16px; padding: 0; }
.rp-kpi-power { background: #0f172a; }
.rp-kpi-prod { background: #d97706; }
.rp-kpi-save { background: #059669; }
.rp-kpi-roi { background: #4f46e5; }
.rp-gap { margin-top: 8px; }
.rp-h2.rp-first { margin-top: 0; }
#rpBar1 { background: #f59e0b; }
#rpBar2 { background: #10b981; }
#rpScenPage { display: none; }
@media print {
    body > :not(#clientReport):not(script):not(style):not(link) { display: none !important; }
    #clientReport { display: block !important; }
    .rp-page + .rp-page { break-before: page; page-break-before: always; }
    #rpScen tr:first-child td { font-weight: 700; background: #0f172a !important; color: #fff !important; }
}
