.pg-python .page-header{padding:1.75rem 2rem 1.25rem;background:var(--paper);border-bottom:1px solid var(--rule)}.pg-python .page-header h1{font-size:1.6rem;font-weight:700;color:var(--color-primary);margin:0 0 .25rem}.pg-python .page-header p{margin:0;color:var(--muted);font-size:.92rem}.pg-python .page-body{padding:1.5rem 2rem 2rem}@media(max-width:640px){.pg-python .page-header{padding:1.25rem 1rem 1rem}.pg-python .page-body{padding:1rem}}.pg-python .row-actions{display:flex;gap:6px;justify-content:flex-end}.pg-python code{background:var(--hover);padding:1px 5px;border-radius:4px;font-size:.85em}.pg-python .kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.pg-python .charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:1.5rem;margin-bottom:1.5rem}.pg-python .stat-card{background:var(--paper);border:1px solid var(--border, rgba(0,0,0,.09));border-radius:6px;box-shadow:var(--card-shadow, 0 0 0 1px rgba(0,0,0,.06), 0 2px 8px rgba(0,0,0,.05));padding:1.25rem 1.5rem}.pg-python .stat-card h3{font-size:.85rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-2);margin:0 0 .75rem}.pg-python .stat-empty{color:var(--text-3);font-size:.88rem;text-align:center;padding:1.5rem 0}.pg-python .bar-chart{height:180px;display:flex;align-items:flex-end;gap:.4rem;border-bottom:2px solid var(--border, rgba(0,0,0,.09));padding-bottom:.4rem}.pg-python .bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:.3rem;height:100%;justify-content:flex-end}.pg-python .bar-fill{width:100%;border-radius:3px 3px 0 0}.pg-python .bar-label{font-size:.7rem;color:var(--text-2)}.pg-python .section-divider{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin:2.5rem 0 1.25rem;padding-top:1.75rem;border-top:2px solid var(--border, rgba(0,0,0,.09))}.pg-python .section-divider h2{font-size:1.25rem;font-weight:700;color:var(--color-text);margin:0}.pg-python .section-divider p{margin:.2rem 0 0;color:var(--muted);font-size:.85rem}.pg-python .fc-meta{font-size:.78rem;color:var(--text-3)}.pg-python .btn-recalc{background:var(--color-accent);color:var(--color-text);border:0;border-radius:6px;padding:.55rem 1.1rem;font-size:.85rem;font-weight:700;cursor:pointer;transition:filter .15s}.pg-python .btn-recalc:hover:not(:disabled){filter:brightness(.95)}.pg-python .btn-recalc:disabled{opacity:.6;cursor:progress}.pg-python .btn-demo{background:var(--hover);color:var(--color-text);border:1px solid var(--rule-2);border-radius:6px;padding:.5rem 1rem;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s}.pg-python .btn-demo:hover:not(:disabled){background:var(--active-bg)}.pg-python .btn-demo:disabled{opacity:.6;cursor:progress}.pg-python .fc-status{font-size:.8rem;color:var(--muted)}.pg-python .badge{display:inline-block;padding:.15rem .5rem;border-radius:9999px;font-size:.72rem;font-weight:700;letter-spacing:.02em}.pg-python .badge--warn{background:var(--c-warning-bg);color:var(--c-warning)}.pg-python .badge--ok{background:var(--c-success-bg);color:var(--ok)}.pg-python .badge--muted{background:var(--border, rgba(0,0,0,.08));color:var(--text-2)}.pg-python .fc-note{background:var(--hover);border:1px solid var(--rule);border-radius:var(--radius-sm);padding:.7rem 1rem;font-size:.82rem;color:var(--muted);margin-top:1rem}.pg-python .stepper{display:flex;align-items:stretch;border:1px solid var(--rule);border-radius:var(--radius-sm, 6px);overflow:hidden}.pg-python .stepper input[type=number]{flex:1;border:0;border-left:1px solid var(--rule);border-right:1px solid var(--rule);border-radius:0;text-align:center;font-weight:700;font-variant-numeric:tabular-nums;min-width:64px}.pg-python .stepper input[type=number]::-webkit-inner-spin-button,.pg-python .stepper input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}.pg-python .stepper input[type=number]{-moz-appearance:textfield}.pg-python .stepper-btn{appearance:none;border:0;background:var(--hover);color:var(--color-primary);cursor:pointer;font-size:18px;font-weight:700;line-height:1;padding:0 14px;transition:background .12s}.pg-python .stepper-btn:hover{background:var(--rule)}.pg-python .stepper-btn:active{background:var(--rule-2)}.pg-python .period-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pg-python .period-toggle{display:inline-flex;background:var(--paper);border:1px solid var(--rule);border-radius:6px;padding:2px;flex-shrink:0}.pg-python .period-btn{appearance:none;border:0;background:transparent;cursor:pointer;font:inherit;font-size:12px;font-weight:500;color:var(--color-text);padding:4px 10px;border-radius:4px;transition:background .12s;white-space:nowrap}.pg-python .period-btn:hover{background:var(--hover)}.pg-python .period-btn--on{background:var(--color-primary);color:var(--paper)}.pg-python .period-btn--on:hover{background:color-mix(in oklab,var(--color-primary) 88%,black)}.pg-python .period-input{flex:1;min-width:140px}.pg-python .notes-toggle{appearance:none;width:100%;text-align:left;border:1px dashed var(--rule-2);background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:13px;padding:7px 12px;border-radius:6px;transition:border-color .12s,color .12s,background .12s}.pg-python .notes-toggle:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--hover)}
