:root{color-scheme:light;--bg:#f9f8f5;--surface:#fff;--ink:#181817;--ink2:#4c4b47;--line:#d6d3cb;--muted:#77736c;--accent:#db4c12;--accent-on:#fff;--safe:#286746;--chart:#db4c12}
:root[data-theme="dark"]{color-scheme:dark;--bg:#151514;--surface:#20201e;--ink:#f7f5f1;--ink2:#c2beb5;--line:#45423e;--muted:#aca69b;--accent:#ff743c;--accent-on:#111;--safe:#8bc5a1;--chart:#ff743c}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Arial,sans-serif}a{color:inherit}button,input,select{font:inherit}button{cursor:pointer}.skip-link{position:absolute;left:-9999px;top:0;background:var(--accent);color:var(--accent-on);z-index:99;padding:12px}.skip-link:focus{left:12px}.global-header{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 max(22px,calc((100vw - 1480px)/2));gap:18px}.brand{font-size:.87rem;letter-spacing:.13em;text-decoration:none;display:flex;align-items:center;gap:14px;font-weight:650}.brand b{font-weight:800}.brand-mark{color:var(--accent);font-size:28px;letter-spacing:-.1em;line-height:1}.header-controls{display:flex;gap:22px;align-items:center}.header-controls form{margin:0}.quiet{background:none;border:0;color:var(--ink2);font-size:.84rem;padding:8px 0}.quiet:hover,.small-link:hover{color:var(--accent)}.quiet:focus-visible,.tabs a:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.layout{max-width:1480px;padding:34px 28px 84px;margin:0 auto}.topline{display:flex;align-items:center;justify-content:space-between;gap:18px}.eyebrow{font-family:ui-monospace,Consolas,monospace;letter-spacing:.11em;text-transform:uppercase;font-size:.73rem;font-weight:700;color:var(--accent);margin:0 0 8px}.status{color:var(--ink2);font-size:.83rem;display:flex;align-items:center;gap:9px}.dot{height:7px;width:7px;background:var(--safe);border-radius:50%;display:inline-block}.page-heading{margin:35px 0 35px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.7rem,6vw,5.7rem);font-weight:700;letter-spacing:-.075em;line-height:1.05;margin-bottom:18px}h1 em{font-style:normal;color:var(--accent)}.intro{color:var(--ink2);max-width:690px;font-size:1.02rem}.filters{display:grid;grid-template-columns:minmax(240px,2.5fr) repeat(2,minmax(145px,1fr)) 100px auto;gap:15px;align-items:end;background:var(--surface);padding:24px;border:1px solid var(--line)}.field{display:flex;flex-direction:column;gap:8px}.field label,.inspect-form label,.stack label{font-size:.79rem;font-weight:650;letter-spacing:.03em}input,select{width:100%;min-width:0;color:var(--ink);background:var(--bg);border:1px solid var(--line);min-height:44px;padding:9px 11px;border-radius:0}input[type="date"]{color-scheme:inherit}.primary{min-height:44px;background:var(--accent);color:var(--accent-on);border:1px solid var(--accent);padding:9px 22px;font-weight:700;white-space:nowrap}.primary:hover{filter:brightness(.94)}.tabs{display:flex;gap:1px;overflow-x:auto;border-bottom:1px solid var(--line);margin:34px 0 48px;scrollbar-width:thin}.tabs a{text-decoration:none;white-space:nowrap;font-size:.85rem;padding:13px 20px 15px;border-bottom:3px solid transparent;color:var(--ink2)}.tabs a[aria-current="page"]{border-color:var(--accent);color:var(--ink);font-weight:700}.tabs a:hover{color:var(--accent)}section{margin-bottom:58px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:24px}.section-head h2,.connect-panel h2{font-size:clamp(1.55rem,2.8vw,2.3rem);font-weight:690;letter-spacing:-.045em;line-height:1.17;margin:0}.period,.data-caption{color:var(--muted);font-size:.86rem}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);background:var(--surface)}.metric{min-height:170px;padding:28px 24px;border-right:1px solid var(--line);display:flex;flex-direction:column}.metric:last-child{border-right:0}.metric p{font-size:.82rem;color:var(--ink2)}.metric strong{font-size:clamp(1.7rem,2.8vw,3rem);font-variant-numeric:tabular-nums;letter-spacing:-.055em;line-height:1.3;font-weight:650}.metric span{font-size:.82rem;color:var(--accent);margin-top:auto}.metric small{color:var(--muted);font-size:.77rem}.footnote{margin:14px 0;color:var(--muted);font-size:.77rem}.bars{height:220px;background:repeating-linear-gradient(to top,var(--line) 0 1px,transparent 1px 55px);border-bottom:1px solid var(--line);display:flex;align-items:end;gap:3px;padding:8px 0 0}.bar{background:var(--chart);flex:1;min-width:1px;opacity:.86}.bar:hover{opacity:1}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:32px}.two-col>section{min-width:0}.table-scroll{overflow-x:auto;border-top:1px solid var(--line)}table{border-collapse:collapse;width:100%;font-size:.84rem}th,td{padding:14px 10px 14px 0;border-bottom:1px solid var(--line);text-align:right;vertical-align:top;font-variant-numeric:tabular-nums}thead th{color:var(--muted);font-weight:600;font-size:.76rem;white-space:nowrap}thead th:first-child,.item-key{text-align:left}.item-key{font-weight:450;min-width:170px;max-width:400px;overflow-wrap:anywhere}.two-col .item-key{max-width:250px}.small-link{font-size:.82rem;font-weight:650;text-decoration:underline;text-underline-offset:4px}.link-bottom{display:inline-block;margin-top:18px}.export-links{display:flex;gap:18px}.inspection-section{max-width:950px}.inspect-form{margin-top:35px;display:grid;grid-template-columns:1fr auto;gap:12px}.inspect-form label{grid-column:1/-1}.inspection-results{margin-top:36px;padding:28px;background:var(--surface);border:1px solid var(--line)}.inspection-results h3{font-size:1.65rem;letter-spacing:-.03em}.inspection-results dl{margin:18px 0 25px}.inspection-results dl div{display:grid;grid-template-columns:210px 1fr;gap:15px;padding:14px 0;border-top:1px solid var(--line)}dt{font-size:.83rem;color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}.panel-footer{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-top:60px;border-top:1px solid var(--line);padding-top:20px}.panel-footer p{max-width:750px;color:var(--muted);font-size:.78rem}.panel-footer form{flex:none}.danger:hover{color:#dc3333}.alert,.notice{padding:14px 18px;margin:18px 0;border-left:4px solid #cf3d21;background:var(--surface)}.notice{border-color:var(--safe)}.connect-panel,.empty{max-width:770px;border:1px solid var(--line);background:var(--surface);padding:42px}.connect-panel p{margin-top:20px;color:var(--ink2)}.connect-panel code{font:inherit;font-weight:650}.login-panel{max-width:600px;margin:9vh auto}.login-panel h1{margin:12px 0 26px}.login-panel>p{color:var(--ink2);max-width:480px}.stack{display:flex;flex-direction:column;max-width:380px;gap:12px;margin-top:28px}.stack .primary{margin-top:12px}.muted{color:var(--muted)}
@media (max-width:1100px){.filters{grid-template-columns:2fr 1fr 1fr}.filters .primary{grid-column:auto}.filters .field:nth-of-type(4){min-width:90px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid var(--line)}.two-col{grid-template-columns:1fr}}
@media (max-width:640px){.global-header{height:70px;padding:0 18px}.layout{padding:25px 17px 60px}.brand{font-size:.75rem;gap:8px}.brand-mark{font-size:25px}.header-controls{gap:14px}.page-heading{margin:23px 0}.filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px}.filters .property{grid-column:1/-1}.filters .primary{grid-column:1/-1}.tabs{margin:26px 0 35px}.tabs a{padding:13px 15px}.metrics{grid-template-columns:1fr 1fr}.metric{min-height:140px;padding:16px 13px}.metric strong{font-size:1.85rem}.metric small{display:block}.section-head{align-items:start;flex-direction:column;gap:11px}.bars{height:160px}.panel-footer{flex-direction:column;align-items:start}.inspect-form{grid-template-columns:1fr}.inspection-results dl div{grid-template-columns:1fr;gap:3px}.login-panel{margin:7vh 0}.connect-panel,.empty{padding:23px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Selección rápida de fechas: enlaces GET accesibles, sin dependencia de JavaScript. */
.period-options{display:flex;align-items:center;gap:8px 10px;flex-wrap:wrap;margin:13px 0 0}
.period-title{font-size:.76rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-right:5px}
.period-choice{display:inline-flex;padding:7px 12px;min-height:36px;align-items:center;border:1px solid var(--line);text-decoration:none;color:var(--ink2);font-size:.82rem;background:var(--surface)}
.period-choice:hover,.period-choice:focus-visible{border-color:var(--accent);color:var(--accent)}
.period-choice.is-active{border-color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent);font-weight:700;color:var(--ink)}
.dates-note{font-size:.76rem;color:var(--muted);margin:9px 0 0}
.bar.bar-zero{height:2px;min-height:2px;background:var(--line)}
@media(max-width:640px){.period-options{gap:8px}.period-title{flex-basis:100%}.period-choice{font-size:.78rem;padding:6px 9px}}

/* Alturas del grafico declaradas en CSS externo; compatibles con CSP style-src self. */
.bar-height-1{height:1%}.bar-height-2{height:2%}.bar-height-3{height:3%}.bar-height-4{height:4%}.bar-height-5{height:5%}.bar-height-6{height:6%}.bar-height-7{height:7%}.bar-height-8{height:8%}
.bar-height-9{height:9%}.bar-height-10{height:10%}.bar-height-11{height:11%}.bar-height-12{height:12%}.bar-height-13{height:13%}.bar-height-14{height:14%}.bar-height-15{height:15%}.bar-height-16{height:16%}
.bar-height-17{height:17%}.bar-height-18{height:18%}.bar-height-19{height:19%}.bar-height-20{height:20%}.bar-height-21{height:21%}.bar-height-22{height:22%}.bar-height-23{height:23%}.bar-height-24{height:24%}
.bar-height-25{height:25%}.bar-height-26{height:26%}.bar-height-27{height:27%}.bar-height-28{height:28%}.bar-height-29{height:29%}.bar-height-30{height:30%}.bar-height-31{height:31%}.bar-height-32{height:32%}
.bar-height-33{height:33%}.bar-height-34{height:34%}.bar-height-35{height:35%}.bar-height-36{height:36%}.bar-height-37{height:37%}.bar-height-38{height:38%}.bar-height-39{height:39%}.bar-height-40{height:40%}
.bar-height-41{height:41%}.bar-height-42{height:42%}.bar-height-43{height:43%}.bar-height-44{height:44%}.bar-height-45{height:45%}.bar-height-46{height:46%}.bar-height-47{height:47%}.bar-height-48{height:48%}
.bar-height-49{height:49%}.bar-height-50{height:50%}.bar-height-51{height:51%}.bar-height-52{height:52%}.bar-height-53{height:53%}.bar-height-54{height:54%}.bar-height-55{height:55%}.bar-height-56{height:56%}
.bar-height-57{height:57%}.bar-height-58{height:58%}.bar-height-59{height:59%}.bar-height-60{height:60%}.bar-height-61{height:61%}.bar-height-62{height:62%}.bar-height-63{height:63%}.bar-height-64{height:64%}
.bar-height-65{height:65%}.bar-height-66{height:66%}.bar-height-67{height:67%}.bar-height-68{height:68%}.bar-height-69{height:69%}.bar-height-70{height:70%}.bar-height-71{height:71%}.bar-height-72{height:72%}
.bar-height-73{height:73%}.bar-height-74{height:74%}.bar-height-75{height:75%}.bar-height-76{height:76%}.bar-height-77{height:77%}.bar-height-78{height:78%}.bar-height-79{height:79%}.bar-height-80{height:80%}
.bar-height-81{height:81%}.bar-height-82{height:82%}.bar-height-83{height:83%}.bar-height-84{height:84%}.bar-height-85{height:85%}.bar-height-86{height:86%}.bar-height-87{height:87%}.bar-height-88{height:88%}
.bar-height-89{height:89%}.bar-height-90{height:90%}.bar-height-91{height:91%}.bar-height-92{height:92%}.bar-height-93{height:93%}.bar-height-94{height:94%}.bar-height-95{height:95%}.bar-height-96{height:96%}
.bar-height-97{height:97%}.bar-height-98{height:98%}.bar-height-99{height:99%}.bar-height-100{height:100%}

/* GSC 0.4.0: grafico accesible y compacto, sin estilos HTML en linea. */
.trend-good{color:var(--safe)!important}.trend-bad{color:#b14226!important}.trend-neutral{color:var(--muted)!important}
.chart-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;padding:2px 0 10px}
.chart-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.chart-layout{display:flex;gap:12px;min-width:max(100%,560px);height:228px}
.chart-axis{width:36px;flex:none;height:180px;display:flex;flex-direction:column;justify-content:space-between;text-align:right;color:var(--muted);font-size:.74rem;font-variant-numeric:tabular-nums;transform:translateY(-7px)}
.chart-main{flex:1;min-width:0}
.chart-plot{height:180px;display:flex;align-items:stretch;gap:3px;padding:0 2px;border-bottom:1px solid var(--line);background:linear-gradient(to top,transparent calc(50% - .5px),var(--line) calc(50% - .5px),var(--line) calc(50% + .5px),transparent calc(50% + .5px));}
.chart-column{height:100%;flex:1;min-width:4px;display:flex;align-items:end;position:relative}
.chart-bar{display:block;width:100%;background:var(--chart);border-radius:2px 2px 0 0;opacity:.9;position:relative;outline-offset:2px}
.chart-bar:hover,.chart-bar:focus-visible{opacity:1;outline:2px solid var(--ink)}
.chart-zero{height:3px!important;background:var(--muted)}
.chart-tooltip{display:none;position:absolute;z-index:5;bottom:calc(100% + 9px);left:50%;transform:translateX(-50%);padding:7px 10px;border-radius:2px;white-space:nowrap;background:var(--ink);color:var(--bg);font-size:.76rem;box-shadow:0 5px 15px #0002;pointer-events:none}
.chart-bar:hover .chart-tooltip,.chart-bar:focus-visible .chart-tooltip{display:block}
.chart-column:first-child .chart-tooltip{left:0;transform:none}.chart-column:last-child .chart-tooltip{left:auto;right:0;transform:none}
.chart-labels{height:35px;display:flex;gap:3px;padding:6px 2px 0;color:var(--muted);font-size:.72rem;white-space:nowrap}
.chart-labels span{min-width:4px;flex:1;text-align:center}
@media(max-width:640px){.chart-layout{height:206px}.chart-axis,.chart-plot{height:158px}}

.oauth-screen{max-width:740px;margin:8vh auto;padding:28px 24px}.oauth-screen h1{font-size:clamp(2.5rem,5vw,4rem)}.oauth-screen form{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:28px 0}.oauth-screen form:has(input[type=password]){align-items:stretch;flex-direction:column;max-width:430px}.oauth-screen p{line-height:1.65;overflow-wrap:anywhere}

.chart-status{font-size:.83rem;color:var(--ink2);min-height:1.5em;margin:8px 0 0;font-variant-numeric:tabular-nums}
