@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Manrope:wght@600;700;800&display=swap";:root{--surface:#f7f9ff;--surface-container-low:#eef4ff;--surface-container-lowest:#fff;--surface-container-highest:#d9e3f2;--surface-dim:#d6dbe8;--primary:#003d9b;--primary-container:#0052cc;--on-primary:#fff;--on-surface:#121c27;--on-surface-variant:#42474e;--outline-variant:#c3c6d6;--success-bg:#65dca4;--success-text:#002113;--warning-bg:#ffb950;--warning-text:#291800;--error-bg:#ffdad6;--error-text:#93000a;--error:#ba1a1a;--primary-hover:#0052cc;--success:#006c47;--warning:#b7791f;--danger:#ba1a1a;--surface-low:#eef4ff;--surface-lowest:#fff;--surface-highest:#d9e3f2;--ink:#121c27;--ink-muted:#434654;--outline:#c3c6d6;--gray-50:#f7f9ff;--gray-100:#eef4ff;--gray-200:#d9e3f2;--gray-300:#c3c6d6;--gray-500:#737685;--gray-600:#434654;--gray-700:#27313c;--gray-900:#121c27;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--radius:.75rem;--radius-sm:.5rem;--shadow-ambient:0 24px 48px -12px #121c2714}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--surface);color:var(--on-surface);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}h1,h2,h3,.amount{font-family:Manrope,sans-serif}.app{min-height:100vh;display:flex}.sidebar{color:#fff;background:linear-gradient(#0a1628 0%,#050d1a 100%);flex-shrink:0;width:240px;padding:2rem 0}.sidebar h1{letter-spacing:-.02em;margin-bottom:.25rem;padding:0 1.25rem;font-family:Manrope,sans-serif;font-size:1.2rem;font-weight:800}.sidebar .subtitle{color:#a4b0c1;text-transform:uppercase;letter-spacing:.08em;margin-bottom:2rem;padding:0 1.25rem;font-size:.75rem;font-weight:700}.sidebar nav{flex-direction:column;gap:2px;display:flex}.sidebar nav button{color:#c3cfde;text-align:left;letter-spacing:.02em;cursor:pointer;background:0 0;border:none;border-radius:0 .75rem .75rem 0;margin-right:.75rem;padding:.75rem 1.25rem;font-size:.85rem;font-weight:600;transition:background .15s,transform .15s}.sidebar nav button:hover{background:#ffffff14;transform:translate(2px)}.sidebar nav button.active{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-container) 100%);color:#fff}.main{flex:1;padding:2.75rem;overflow-x:auto}.page-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.page-header h2{letter-spacing:-.02em;color:var(--on-surface);font-family:Manrope,sans-serif;font-size:2rem;font-weight:700}.stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.stat-card{background:var(--surface-container-lowest);border-radius:var(--radius);box-shadow:var(--shadow-ambient);border:none;padding:1.1rem}.stat-card .label{color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:.08em;font-size:.6875rem;font-weight:600}.stat-card .value{font-variant-numeric:tabular-nums;color:var(--on-surface);margin-top:.25rem;font-family:Manrope,sans-serif;font-size:1.75rem;font-weight:800}table{background:var(--surface-container-lowest);border-radius:var(--radius);border-collapse:separate;border-spacing:0 4px;width:100%;box-shadow:var(--shadow-ambient);border:none;overflow:hidden}thead{background:0 0}th{text-align:left;color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:.08em;padding:.75rem 1rem;font-size:.6875rem;font-weight:600}td{background:var(--surface-container-lowest);font-variant-numeric:tabular-nums;color:var(--on-surface);padding:.85rem 1rem;font-size:.875rem}tr:hover td{background:var(--surface-container-low)}.badge{text-transform:uppercase;border-radius:999px;padding:.15rem .6rem;font-size:.75rem;font-weight:700;display:inline-block}.badge-bozza{background:var(--surface-container-highest);color:var(--on-surface-variant)}.badge-generata{color:#0040a2;background:#dae2ff}.badge-firmata{color:#4338ca;background:#dae2ff}.badge-inviata{background:var(--warning-bg);color:var(--warning-text)}.badge-consegnata{background:var(--success-bg);color:var(--success-text)}.badge-scartata{background:var(--error-bg);color:var(--error-text)}.badge-mancata_consegna{color:#624000;background:#ffddb3}.badge-accettata_pa{background:var(--success-bg);color:var(--success-text)}.badge-rifiutata_pa{background:var(--error-bg);color:var(--error-text)}.badge-decorrenza_termini,.badge-ricevuta{color:#0040a2;background:#dae2ff}.badge-registrata{background:var(--warning-bg);color:var(--warning-text)}.badge-pagata{background:var(--success-bg);color:var(--success-text)}.badge-contestata{background:var(--error-bg);color:var(--error-text)}.badge-pending{background:var(--warning-bg);color:var(--warning-text)}.badge-active{background:var(--success-bg);color:var(--success-text)}.badge-disabled{background:var(--error-bg);color:var(--error-text)}.btn{border-radius:var(--radius);background:var(--surface-container-low);color:var(--on-surface);cursor:pointer;border:none;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:all .15s;display:inline-flex}.btn:hover{background:var(--surface-container-highest)}.btn-primary{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-container) 100%);color:var(--on-primary);border-radius:var(--radius);border:none}.btn-primary:hover{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-container) 100%);transform:scale(1.02)}.btn-success{background:var(--success);color:#fff}.btn-danger{background:var(--error);color:#fff}.btn-sm{padding:.3rem .6rem;font-size:.8rem}.form-group{margin-bottom:1rem}.form-group label{color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35rem;font-size:.8rem;font-weight:600;display:block}.form-group input,.form-group select,.form-group textarea{border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--surface-container-lowest);width:100%;color:var(--on-surface);border:none;border-bottom:1px solid #c3c6d666;padding:.65rem .8rem;font-family:inherit;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-bottom:2px solid var(--primary);outline:none;box-shadow:0 4px 8px -4px #003d9b1a}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-row-3{grid-template-columns:1fr 1fr 1fr;gap:1rem;display:grid}.modal-overlay{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:100;background:#121c2738;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius);width:90%;max-width:900px;max-height:85vh;box-shadow:var(--shadow-ambient);background:#ffffffeb;padding:1.5rem;overflow-y:auto}.modal h3{margin-bottom:1rem;font-family:Manrope,sans-serif;font-size:1.25rem}.modal-actions{justify-content:flex-end;gap:.5rem;margin-top:1.5rem;display:flex}.alert{border-radius:var(--radius);margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.alert-error{background:var(--error-bg);color:var(--error-text)}.alert-success{background:var(--success-bg);color:var(--success-text)}.auth-page{background:var(--surface-container-low);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.auth-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius);width:100%;max-width:420px;box-shadow:var(--shadow-ambient);background:#ffffffeb;padding:2rem}.auth-card-wide{max-width:720px}.register-section-title{color:var(--on-surface-variant);margin-bottom:.75rem;padding-bottom:.4rem;font-size:.95rem;font-weight:700}.xml-viewer{color:#dff4ff;border-radius:var(--radius);white-space:pre;background:#121c27;max-height:400px;padding:1rem;font-family:Fira Code,monospace;font-size:.8rem;overflow:auto}.settings-section{background:var(--surface-container-lowest);border-radius:var(--radius);box-shadow:var(--shadow-ambient);margin-bottom:1.75rem;padding:1.75rem}.settings-section h3{color:var(--on-surface);margin-bottom:1.25rem;font-family:Manrope,sans-serif;font-size:1.1rem;font-weight:700}.settings-section-description{color:var(--on-surface-variant);margin-bottom:1.25rem;font-size:.875rem;line-height:1.6}.mono-value{border-radius:var(--radius-sm);background:var(--surface-container-low);letter-spacing:.08em;color:var(--primary);padding:.4rem .75rem;font-family:Fira Code,Courier New,monospace;font-size:1.1rem;font-weight:700;display:inline-block}@media (width<=980px){.app{flex-direction:column}.sidebar{width:100%;padding:1rem 0}.sidebar nav button{border-radius:var(--radius);margin-right:0}.main{padding:1.25rem}.form-row,.form-row-3{grid-template-columns:1fr}}
