*{box-sizing:border-box}:root,[data-theme=light]{color-scheme:light;--color-page:#f5f7fa;--color-surface:#ffffff;--color-surface-muted:#f8fafc;--color-text:#172033;--color-muted:#667085;--color-subtle:#46556f;--color-border:#d8dee8;--color-border-soft:#e4e9f1;--color-input-border:#c9d2df;--color-primary:#174ea6;--color-primary-hover:#0f3f89;--color-primary-text:#ffffff;--color-secondary:#e8edf5;--color-secondary-text:#172033;--color-danger:#b42318;--shadow-panel:0 18px 50px rgba(28,38,62,0.08)}[data-theme=dark]{color-scheme:dark;--color-page:#111827;--color-surface:#182230;--color-surface-muted:#202c3d;--color-text:#eef2f7;--color-muted:#a8b3c4;--color-subtle:#c7d1df;--color-border:#314158;--color-border-soft:#28384d;--color-input-border:#465a73;--color-primary:#6aa6ff;--color-primary-hover:#8bbaff;--color-primary-text:#0b1220;--color-secondary:#243247;--color-secondary-text:#eef2f7;--color-danger:#ff8a80;--shadow-panel:0 18px 50px rgba(0,0,0,0.24)}@media (prefers-color-scheme:dark){[data-theme=system]{color-scheme:dark;--color-page:#111827;--color-surface:#182230;--color-surface-muted:#202c3d;--color-text:#eef2f7;--color-muted:#a8b3c4;--color-subtle:#c7d1df;--color-border:#314158;--color-border-soft:#28384d;--color-input-border:#465a73;--color-primary:#6aa6ff;--color-primary-hover:#8bbaff;--color-primary-text:#0b1220;--color-secondary:#243247;--color-secondary-text:#eef2f7;--color-danger:#ff8a80;--shadow-panel:0 18px 50px rgba(0,0,0,0.24)}}@media (prefers-color-scheme:light){[data-theme=system]{color-scheme:light}}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--color-text);background:var(--color-page)}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary),transparent 35%);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative}.login-theme{position:absolute;top:20px;right:20px}.login-panel{width:100%;max-width:380px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:24px;box-shadow:var(--shadow-panel)}.login-brand{margin-bottom:18px}.login-panel h1,.shell h1{margin:0 0 8px;font-size:28px}.login-panel p,.muted{color:var(--color-muted)}.field{display:grid;grid-gap:6px;gap:6px;margin-top:16px}.field label{font-size:14px;font-weight:700}.field input,.field select,.field textarea{width:100%;min-height:42px;border:1px solid var(--color-input-border);border-radius:6px;padding:8px 10px;font-size:16px;font-family:inherit;color:var(--color-text);background:var(--color-surface)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border:0;border-radius:6px;padding:8px 14px;background:var(--color-primary);color:var(--color-primary-text);font-weight:700;cursor:pointer;text-decoration:none}.button:hover{background:var(--color-primary-hover)}.button:disabled{cursor:not-allowed;opacity:.68}.button.secondary{background:var(--color-secondary);color:var(--color-secondary-text)}.error{margin-top:14px;color:var(--color-danger)}.form-alert{border:1px solid color-mix(in srgb,var(--color-danger),transparent 45%);border-radius:8px;color:var(--color-danger);background:color-mix(in srgb,var(--color-danger),transparent 92%)}.form-alert,.form-success{padding:12px 14px;font-weight:700}.form-success{border:1px solid color-mix(in srgb,var(--color-success),transparent 45%);border-radius:8px;color:var(--color-success);background:color-mix(in srgb,var(--color-success),transparent 92%)}.field-help{margin:6px 0 0;color:var(--color-muted);font-size:13px}.stacked-cell{display:flex;flex-direction:column;gap:6px}code{overflow-wrap:anywhere}.metadata-block,code{color:var(--color-text);font-size:12px}.metadata-block{max-width:460px;max-height:260px;overflow:auto;padding:10px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-muted);white-space:pre-wrap}.field-error{margin:0;color:var(--color-danger);font-size:13px;font-weight:700}.shell{min-height:100vh;padding:32px}.global-header{margin-bottom:28px;padding-bottom:18px;border-bottom:1px solid var(--color-border)}.brand-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.brand{font-size:20px;font-weight:800;text-decoration:none}.brand,.brand-mark{display:inline-flex;align-items:center;gap:10px}.brand-logo{flex:0 0 auto;max-height:64px;object-fit:contain}.brand-fallback,.brand-logo{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0}.brand-fallback{display:inline-flex;align-items:center;justify-content:center;color:var(--color-text);font-size:18px;font-weight:800;letter-spacing:0}.brand-text.compact{font-size:18px}.brand-logo-small{width:28px;height:28px}.brand-logo-medium{width:36px;height:36px}.brand-logo-large{width:48px;height:48px}.brand-logo-xlarge{width:64px;height:64px}.brand-text-small{font-size:14px}.brand-text-medium{font-size:18px}.brand-text-large{font-size:22px}.brand-text-xlarge{font-size:28px}.user-actions{display:flex;align-items:center;gap:10px}.user-email{color:var(--color-subtle);font-size:14px}.theme-toggle{gap:4px;padding:3px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-muted)}.theme-button,.theme-toggle{display:inline-flex;align-items:center;color:var(--color-subtle)}.theme-button{justify-content:center;width:34px;height:34px;border:1px solid transparent;border-radius:6px;background:transparent;cursor:pointer}.theme-button:hover{border-color:var(--color-border);background:var(--color-surface)}.theme-button.active{color:var(--color-primary-text);border-color:var(--color-primary);background:var(--color-primary)}.theme-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.main-nav{display:flex;flex-wrap:wrap;gap:8px}.main-nav-link{display:inline-flex;align-items:center;min-height:36px;padding:7px 10px;border:1px solid var(--color-border);border-radius:6px;color:var(--color-subtle);background:var(--color-surface);text-decoration:none;font-weight:700;font-size:14px}.main-nav-link.active{color:var(--color-primary-text);border-color:var(--color-primary);background:var(--color-primary)}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}.page-heading h1{margin:0 0 8px;font-size:28px}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.nav-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:12px;gap:12px;max-width:900px}.nav-item{display:block;padding:16px;text-decoration:none;font-weight:700}.empty-state,.nav-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.empty-state{max-width:680px;padding:24px}.detail-panel h2,.empty-state h2{margin:0 0 10px;font-size:18px}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.table-wrap{overflow-x:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.data-table{width:100%;border-collapse:collapse;min-width:920px}.data-table td,.data-table th{padding:12px;text-align:left;border-bottom:1px solid var(--color-border-soft);vertical-align:top}.data-table th{font-size:13px;color:var(--color-subtle);background:var(--color-surface-muted)}.data-table tr:last-child td{border-bottom:0}.inline-link{color:var(--color-primary);font-weight:700;text-decoration:none}.table-action-separator{color:var(--color-muted)}.table-actions{display:flex;flex-wrap:wrap;gap:8px}.link-button{border:0;padding:0;color:var(--color-primary);background:transparent;font:inherit;font-weight:700;cursor:pointer}.link-button.danger{color:var(--color-danger)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;max-width:980px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:20px}.plain-form-grid{max-width:none;padding:0;border:0;background:transparent}.onboarding-form{display:grid;grid-gap:16px;gap:16px;max-width:980px}.form-section{display:grid;grid-gap:12px;gap:12px;padding:18px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.form-section h2,.form-subtitle{margin:0;font-size:18px}.form-subtitle{padding-top:8px;color:var(--color-subtle)}.compact-form{grid-template-columns:repeat(2,minmax(0,1fr));margin:14px 0;padding:0;border:0;background:transparent}.check-field{display:flex;align-items:center;gap:10px;margin-top:4px;color:var(--color-text);font-weight:700}.check-field input{width:18px;height:18px;accent-color:var(--color-primary)}.form-actions,.wide{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;max-width:1100px}.detail-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:18px}.onboarding-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:14px;gap:14px;margin-bottom:16px}.onboarding-hero p{margin:0 0 6px}.timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:8px;gap:8px;margin:0 0 16px;max-width:1100px}.timeline-step{display:grid;grid-gap:4px;gap:4px;min-height:72px;padding:12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);text-decoration:none}.timeline-step span{font-weight:800}.timeline-step strong{color:var(--color-muted);font-size:12px;text-transform:uppercase}.timeline-completato{border-color:color-mix(in srgb,#12b76a,transparent 45%)}.timeline-attenzione{border-color:color-mix(in srgb,#f79009,transparent 35%);background:color-mix(in srgb,#f79009,transparent 92%)}.technical-details summary{cursor:pointer;font-weight:800}.detail-panel dl{display:grid;grid-template-columns:160px 1fr;grid-gap:8px 14px;gap:8px 14px;margin:0}.detail-panel dt{color:var(--color-muted);font-weight:700}.detail-panel dd{margin:0;overflow-wrap:anywhere}.plain-list{margin:0;padding-left:18px}.sub-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.sub-nav-link{display:inline-flex;align-items:center;min-height:34px;padding:7px 10px;border:1px solid var(--color-border);border-radius:6px;color:var(--color-subtle);background:var(--color-surface);font-size:14px;font-weight:700;text-decoration:none}.sub-nav-link.active{color:var(--color-primary-text);border-color:var(--color-primary);background:var(--color-primary)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px;margin-bottom:16px}.summary-card{display:grid;grid-gap:6px;gap:6px;padding:14px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.summary-card span{color:var(--color-muted);font-size:13px;font-weight:700}.summary-card strong{font-size:24px}.status-badge{display:inline-flex;align-items:center;min-height:26px;padding:3px 8px;border-radius:999px;border:1px solid var(--color-border);font-size:12px;font-weight:800}.status-active{color:#067647;background:color-mix(in srgb,#12b76a,transparent 86%);border-color:color-mix(in srgb,#12b76a,transparent 45%)}.status-pending{color:#b54708;background:color-mix(in srgb,#f79009,transparent 86%);border-color:color-mix(in srgb,#f79009,transparent 45%)}.status-expired{color:#b42318;background:color-mix(in srgb,#f04438,transparent 88%);border-color:color-mix(in srgb,#f04438,transparent 48%)}.status-muted,.status-suspended{color:var(--color-subtle);background:var(--color-surface-muted)}.negative-money{color:var(--color-danger)}.settings-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);max-width:1100px}.catalog-list,.settings-grid{display:grid;grid-gap:16px;gap:16px}.catalog-list{max-width:1180px}.catalog-plan .compact-form{max-width:none}.catalog-plan h3{margin:10px 0 6px;font-size:15px}.checks-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:8px 12px;gap:8px 12px}.settings-preview{margin:12px 0;padding:14px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-muted)}.upload-form{display:grid;grid-gap:12px;gap:12px;margin-top:12px}@media (max-width:760px){.shell{padding:20px}.actions,.brand-row,.page-heading,.topbar,.user-actions{align-items:stretch;flex-direction:column}.brand{align-items:flex-start}.compact-form,.detail-grid,.detail-panel dl,.form-grid,.settings-grid{grid-template-columns:1fr}}