.gf{max-width:var(--container-md,72rem);padding:var(--space-lg);color:var(--color-foreground);margin:0 auto}.gf-hero{margin-bottom:var(--space-md)}.gf-hero h1{font-size:var(--text-title-lg);margin:0 0 var(--space-xs)}.gf-hero p{color:var(--color-muted);margin:0}.gf-sources{gap:var(--space-xs);margin:var(--space-sm) 0;flex-wrap:wrap;display:flex}.gf-source{font-size:var(--text-body-sm);padding:0 var(--space-xs);border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface-muted);color:var(--color-muted)}.gf-source--ok{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success-fg)}.gf-source--absent{background:var(--color-surface-muted)}.gf-source--error{background:var(--color-error-bg);border-color:var(--color-error-border);color:var(--color-error-fg)}.gf-filters{gap:var(--space-sm);margin:var(--space-md) 0;flex-wrap:wrap;align-items:end;display:flex}.gf-filters label{gap:var(--space-2xs,2px);font-size:var(--text-body-sm);color:var(--color-muted);flex-direction:column;display:flex}.gf-filters input,.gf-filters select{padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-foreground);min-width:8rem}.gf-next{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);background:var(--color-surface);margin:var(--space-md) 0}.gf-next h2{font-size:var(--text-title-sm);margin:0 0 var(--space-sm)}.gf-section h2{font-size:var(--text-title-sm);margin:var(--space-lg) 0 var(--space-sm);padding-bottom:var(--space-xs);border-bottom:1px solid var(--color-border)}.gf-week{margin:var(--space-sm) 0}.gf-week-label{font-size:var(--text-body-sm);color:var(--color-muted);margin:var(--space-xs) 0;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.gf-list{gap:var(--space-xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.gf-item{align-items:baseline;gap:var(--space-xs);padding:var(--space-xs) 0;border-bottom:1px solid var(--color-border,var(--color-border));flex-wrap:wrap;display:flex}.gf-item time{font-variant-numeric:tabular-nums;color:var(--color-muted);min-width:6rem}.gf-item a{color:var(--color-accent);font-weight:600;text-decoration:none}.gf-item a:hover{text-decoration:underline}.gf-badge{font-size:var(--text-body-sm);padding:0 var(--space-xs);border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface-muted);color:var(--color-muted)}.gf-badge--today{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent,#fff)}.gf-badge--week{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent)}.gf-badge--window{background:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning-fg)}.gf-badge--fiscal{font-style:italic}.gf-meta{color:var(--color-muted);font-size:var(--text-body-sm)}.gf-empty{padding:var(--space-lg);text-align:center;color:var(--color-muted)}.gf-table{border-collapse:collapse;width:100%;margin:var(--space-sm) 0;font-size:var(--text-body-sm)}.gf-table th,.gf-table td{border:1px solid var(--color-border);padding:var(--space-xs) var(--space-sm);text-align:left}.gf-table th{background:var(--color-surface-muted)}.gf-banner{border:1px solid var(--color-border,#d6dbe3);border-radius:var(--radius-md,10px);background:var(--color-surface,#fff);padding:var(--space-md,16px);margin:var(--space-md,16px) 0}.gf-banner-summary{margin:0 0 var(--space-sm,12px);color:var(--color-foreground);font-size:1.05rem}.gf-banner-list{margin:0;padding:0;list-style:none}.gf-banner-item{border-bottom:1px solid var(--color-border,#d6dbe3);padding:6px 0}.gf-banner-badge{border:1px solid var(--color-border,#d6dbe3);border-radius:999px;padding:1px 8px;font-size:.8rem;font-weight:600;display:inline-block}.gf-urg-oggi,.gf-urg-imminente{color:var(--color-error-fg,#b3261e);border-color:var(--color-error-fg,#b3261e)}.gf-urg-questa-settimana{color:var(--color-warning-fg,#9a6a00);border-color:var(--color-warning-fg,#9a6a00)}.gf-banner-date,.gf-banner-approx,.gf-banner-disclaimer{color:var(--color-muted)}.gf-banner-disclaimer{margin-top:var(--space-sm,12px);font-size:.85rem}.gf-banner-degraded{color:var(--color-warning-fg,#9a6a00);font-weight:600}
