/* Trame — scala condivisa per app-theme.css.
   GENERATO da tools/build_trame_scale.py: non modificare a mano.
   Caricato solo a schermo, dopo i fogli di origine e nello stesso ordine. */
:root { --radius-small: 8px; --radius-medium: 12px; --radius-large: 18px; }
body { font-family: "Manrope", ui-sans-serif, system-ui, sans-serif; }
h1, h2, h3, h4, .brand span strong { font-family: "Manrope", sans-serif; letter-spacing: -.02em; }
.eyebrow { font-weight: 700; letter-spacing: .1em; }
.due-summary-row strong, .balance-card strong, .report-table td, .document-page-number, .sdi-state, .document-state, .time, time, .money-in, .money-out, .access-mileage-row strong { font-family: var(--mono); }
.sidebar nav a { border-radius: 12px; }
.sidebar nav a::before { border-radius: 4px; }
.menu-button { font-weight: 700; }
.page-head h1 { font-weight: 700; letter-spacing: -.02em; }
.panel { border-radius: var(--radius-medium); }
.person-card { border-radius: var(--radius-medium); }
.table-wrap { border-radius: var(--radius-medium); }
th { font-weight: 700; letter-spacing: .06em; }
.button { border-radius: 12px; font-weight: 600; letter-spacing: .005em; }
input, select, textarea, .control { border-radius: 12px; }
.message { border-radius: 12px; }
.quick-dialog { border-radius: 16px; }
.dialog-head h2 { font-weight: 700; letter-spacing: -.02em; }
.access-status-badge { font-weight: 700; letter-spacing: .06em; }
.client-event, .operator-event, .week-event, .summary-event, .availability-event { border-radius: 8px; }
.client-event-assign, .client-event-remove, .client-event-reorganize, .operator-event-action button { font-weight: 700; }
.sdi-state, .document-state, .email-state { font-weight: 700; border-radius: 999px; }
.login-card { border-radius: 18px; }
*::-webkit-scrollbar-thumb { border-radius: 999px; }
.login-intro h1 { font-family: "Manrope", sans-serif; font-weight: 700; letter-spacing: -.045em; }
.sidebar nav details.nav-group > summary.nav-group-toggle { border-radius: 12px; font-size: 11px; font-weight: 700; letter-spacing: .01em; }
.nav-group-caret { border-radius: 8px; }
.exchange-calendar-status { font-size: 13px; }
.exchange-calendar-weekday { font-size: 11px; font-weight: 700; font-family: Manrope, sans-serif; border-radius: var(--radius-small); }
.exchange-calendar-day { border-radius: var(--radius-small); }
.exchange-calendar-date { font-size: 12px; font-weight: 700; font-family: var(--mono); }
.exchange-calendar-event { border-radius: 4px; font-size: 11px; }
.exchange-calendar-actions > .button { font-size: 11px; }
.balance-dashboard .panel { border-radius: 16px; }
.balance-dashboard .panel-head p { font-size: 12px; }
.balance-filters { border-radius: 12px; }
.balance-overview-heading h2 { font-size: 20px; letter-spacing: -.02em; }
.balance-overview-heading p { font-size: 11px; }
.balance-dashboard .balance-kpis .balance-card { border-radius: 16px; }
.balance-dashboard .balance-kpis .balance-card strong { font-size: 20px; font-weight: 700; font-family: var(--mono); letter-spacing: -.02em; }
.balance-dashboard .balance-kpis .balance-card > span { font-size: 12px; font-weight: 700; letter-spacing: 0; }
.balance-dashboard .balance-kpis .balance-card small { font-size: 11px; }
.balance-main-chart .panel-head h2 { font-size: 20px; }
.balance-chart-legend { font-size: 11px; }
.balance-chart-legend i { border-radius: 4px; }
.balance-chart-month { border-radius: 8px 8px 0 0; }
.balance-chart-bars i { border-radius: 4px 4px 0 0; }
.balance-chart-month strong { font-size: 11px; font-weight: 700; font-family: var(--mono); }
.balance-chart-month small { font-size: 11px; }
.balance-flow-labels { font-size: 11px; font-weight: normal; font-family: var(--mono); }
.balance-cost-item > div:first-child { font-size: 11px; }
.balance-cost-item strong { font-size: 11px; font-weight: 600; font-family: var(--mono); }
.balance-cost-track { border-radius: 99px; }
.balance-cost-track span { border-radius: inherit; }
.balance-detail-table { font-size: 11px; }
.balance-detail-table thead th { font-size: 11px; font-weight: 700; }
.balance-detail-table tbody td:nth-child(n+3) { font-family: var(--mono); }
.balance-detail-table .balance-net { font-weight: 700; }
@media (max-width: 760px) { .balance-dashboard .balance-kpis .balance-card strong { font-size: 16px; } }
@media (max-width: 430px) { .balance-dashboard .balance-kpis .balance-card strong { font-size: 16px; } }
.balance-flow-scale { font-size: 11px; }
.sdi-progress-card { border-radius: 22px; }
.sdi-progress-card h2 { font-size: 20px; }
.sdi-progress-counter { font-size: 20px; }
.sdi-progress-card .sdi-progress-warning { font-weight: 700; }
.sdi-progress-spinner { border-radius: 50%; }
.billing-home-summary { border-radius: 16px; }
.billing-home-summary-item > span { font-size: 12px; font-weight: 700; }
.billing-home-summary-item > strong { font-size: 20px; font-weight: 700; font-family: "Roboto Mono", monospace; letter-spacing: -.02em; }
.billing-home-summary-item > small { font-size: 11px; }
.billing-home-work-grid > .panel { border-radius: 16px; }
.billing-home-work-grid .billing-home-panel-head h2 { font-size: 20px; }
.billing-home-task-count { border-radius: 12px; font-size: 20px; font-weight: 700; font-family: "Roboto Mono", monospace; }
.billing-home-task-copy strong { font-size: 13px; }
.billing-home-task-copy small { font-size: 11px; }
.billing-home-arrow { font-size: 20px; }
.billing-home-sdi-detail span { font-size: 11px; }
.billing-home-sdi-detail b { font-size: 13px; font-weight: 700; font-family: "Roboto Mono", monospace; }
.billing-home-setup-list a { font-size: 12px; font-weight: 700; }
.billing-home-status { border-radius: 8px; font-size: 11px; font-weight: 700; font-family: "Roboto Mono", monospace; }
.billing-home-setup-note { font-size: 11px; }
@media (max-width: 760px) { .billing-home-summary-item > strong { font-size: 20px; } }
.planning-home-summary { border-radius: 16px; }
.planning-home-stat > span { font-size: 12px; font-weight: 700; }
.planning-home-stat > strong { font-size: 28px; font-weight: 700; font-family: "Roboto Mono", monospace; letter-spacing: -.02em; }
.planning-home-stat > small { font-size: 11px; }
.planning-home > .panel { border-radius: 16px; }
.planning-home-section-head h2 { font-size: 20px; }
.planning-home-section-head p { font-size: 11px; }
.planning-home-count { border-radius: 8px; font-size: 11px; font-weight: 700; font-family: "Roboto Mono", monospace; }
.planning-home .planning-home-agenda-list .empty { border-radius: 0; }
.planning-home-agenda-foot { font-size: 11px; }
.planning-home-agenda-foot a { font-weight: 700; }
@media (max-width: 760px) { .planning-home-stat > strong { font-size: 28px; } }
.filo-launcher { border-radius: 50%; font-size: inherit; font-weight: inherit; font-family: inherit; }
.filo-launcher-letter { font-size: 20px; font-weight: 700; letter-spacing: -.02em; }
.filo-launcher-thread { border-radius: 50%; }
.filo-launcher-label { border-radius: 999px; font-size: 11px; font-weight: 700; }
.filo-overlay { border-radius: 22px; }
.filo-overlay-identity strong { font-size: 16px; }
.filo-overlay-identity small { font-size: 11px; }
.filo-overlay-mark { border-radius: 50%; }
.filo-overlay-close { border-radius: 50%; font-size: 28px; font-weight: 400; font-family: sans-serif; }
.filo-overlay-loading { font-size: 11px; }
@media (max-width: 600px) { .filo-overlay { border-radius: 17px; } }
.fiscal-status-dot { border-radius: 50%; }
.balance-kpi-group-title { font-size: 12px; font-weight: 700; letter-spacing: .02em; }
.supplier-sync-warning { border-radius: 12px; font-size: 13px; }
.supplier-sync-ok { font-size: 12px; }
