/* Trame — scala condivisa per app-screen.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. */
body { font-size: 14px; font-weight: normal; font-family: "Manrope", ui-sans-serif, system-ui, sans-serif; }
.app-main h1, .page-head h1, .calendar-workspace .page-head h1 { font-family: "Manrope", sans-serif; font-size: 32px; font-weight: 700; letter-spacing: -.02em; }
.app-main h2, .app-main h3, .app-main h4 { font-family: "Manrope", sans-serif; }
.panel-head h2, .balance-main-chart .panel-head h2 { font-size: 20px; }
.eyebrow, th, .balance-card > span, .availability-toolbar label, .bulk-document-actions label, .billing-generation-actions label, .due-actions-menu summary, .mileage-controls label, .month-corner, .month-day small, .summary-month-weekdays span, .summary-month-day > header span, .access-status-badge, .h24-badge, .operator-event-action button, button.operator-event-action, .client-event-assign, .client-event-remove, .client-event-unavailable, .client-event-reorganize { letter-spacing: 0; }
.eyebrow { font-size: 11px; }
.brand { letter-spacing: 0; }
.brand span strong { font-size: 28px; letter-spacing: -.02em; }
.brand small { font-size: 11px; }
.sidebar nav a { border-radius: 8px; font-size: 12px; }
.sidebar nav a.nav-primary { font-size: 13px; }
.sidebar nav.nav-planning a.active, .sidebar nav a.active { font-weight: 700; }
.sidebar nav details.nav-group > summary.nav-group-toggle { font-size: 12px; }
.sidebar-user { font-size: 12px; }
.button, .button.primary, .button.ghost { border-radius: 8px; font-size: 13px; font-weight: 700; letter-spacing: 0; }
.button.small, .button.small.primary, .button.small.ghost { font-size: 12px; }
.link-button { font-size: 12px; }
.control, .model-form :is(input, select, textarea), .compact-form :is(input, select, textarea), .field :is(input, select, textarea) { border-radius: 8px; font-size: 13px; }
.field > label, .model-form label { font-size: 12px; font-weight: 700; }
.panel, .balance-dashboard .panel, .person-card, .configuration-card, .form-section, .workspace-notice, .configuration-summary { border-radius: 12px; }
.person-main h2, :where(.client-directory-results, .operator-directory-results) .person-main h2 { font-size: 20px; font-weight: 700; font-family: "Manrope", sans-serif; }
:where(.client-directory-results, .operator-directory-results) .person-card, .client-directory-results.list-view .person-card, .operator-directory-results.list-view .person-card { border-radius: 12px; }
.timeline-row time { font-size: 13px; }
.status, .document-state, .sdi-state { border-radius: 4px; font-size: 11px; }
table { font-size: 13px; }
th { font-size: 12px; letter-spacing: 0; }
.balance-detail-table { font-size: 12px; }
.view-switch { border-radius: 8px; }
.view-switch .button { font-size: 12px; }
.planning-home-summary, .billing-home-summary { border-radius: 12px; }
.planning-home-stat > strong, .billing-home-summary-item > strong { font-family: "Manrope", sans-serif; font-size: 28px; letter-spacing: -.02em; }
.planning-home-count, .billing-home-task-count, .billing-home-sdi-detail b, .billing-home-status { font-family: "Manrope", sans-serif; }
.planning-home > .panel, .billing-home-work-grid > .panel { border-radius: 12px; }
.planning-home-section-head h2, .billing-home-work-grid .billing-home-panel-head h2 { font-size: 20px; }
.balance-dashboard .balance-kpis .balance-card, .balance-dashboard .balance-kpis .balance-card:first-child { border-radius: 12px; }
.balance-dashboard .balance-kpis .balance-card strong { font-size: 28px; letter-spacing: -.02em; }
.balance-dashboard .balance-kpis .balance-card small { font-size: 11px; }
.balance-cost-item > div:first-child, .balance-cost-item strong { font-size: 12px; }
.workspace-ready[data-workspace="availability"] :is(.availability-full-day-form, .availability-weekly-fields) > .field { border-radius: 8px; }
.calendar-today { font-size: 12px; }
.availability-event small { font-size: 11px; }
.operator-event-action button, button.operator-event-action, .client-event-assign, .client-event-remove, .client-event-reorganize, .client-event-unavailable { font-size: 11px; }
.access-status-badge { font-size: 8px; }
.dialog, .calendar-detail-dialog { border-radius: 12px; }
.filo-overlay { border-radius: 12px; }
.filo-welcome h1 { font-size: 32px; font-weight: 700; font-family: "Manrope", sans-serif; }
.filo-composer textarea { border-radius: 12px; font-size: 14px; }
.filo-message-user p, .filo-message-result dt, .filo-operation dt { letter-spacing: 0; }
.login-card { border-radius: 12px; }
.login-card .product-label { letter-spacing: 0; }
.login-card h2 { font-size: 28px; }
.login-card .stack-form input:not([type=radio]):not([type=hidden]) { border-radius: 8px; font-size: 14px; }
.login-destination-tile { border-radius: 8px; }
@media (max-width: 760px) { .app-main h1, .page-head h1, .calendar-workspace .page-head h1 { font-size: 28px; } }
@media (max-width: 760px) { .control:not(textarea), .field select, .field input:not([type=checkbox]):not([type=radio]):not([type=hidden]) { font-size: 16px; } }
@media (max-width: 760px) { .balance-dashboard .balance-kpis .balance-card strong { font-size: 20px; } }
.client-list-toolbar, .document-list-toolbar, .billing-client-toolbar, .due-period-filter, .availability-toolbar, .report-toolbar, .calendar-summary-toolbar, .calendar-command-bar, .calendar-workspace .calendar-command-bar, .calendar-workspace:not(.operator-calendar-workspace) .calendar-command-bar, .access-calendar .calendar-command-bar, .calendar-board-toolbar, .balance-filters, .billing-generation-actions, .bulk-document-actions, .configuration-card-actions { border-radius: 0; }
.planning-home-client-warning h2 { font-size: 20px; }
.planning-home-client-warning p { font-size: 12px; }
.planning-home-client-warning a { font-weight: 700; }
.calendar-shell .month-day.is-today strong, .week-column.is-today > header strong, .summary-month-day.is-today > header strong, .availability-day.is-today .availability-day-head > strong, .exchange-calendar-day.is-today .exchange-calendar-date { border-radius: 8px; }
