.uil24,.uil24 *{box-sizing:border-box}.uil24{--blue:#0878bd;--deep:#054c7c;--sky:#eaf7ff;--sky2:#f6fbff;--yellow:#ffd41f;--ink:#17324a;--muted:#60788c;--line:#d7e7f2;--ok:#197348;--okbg:#eaf8f1;--warn:#9a6200;--warnbg:#fff8df;font-family:Arial,Helvetica,sans-serif;color:var(--ink);max-width:1180px;margin:0 auto;font-size:14px;line-height:1.52}.uil24 button,.uil24 input,.uil24 select{font:inherit}.uil24-hero{position:relative;overflow:hidden;border-radius:24px;padding:34px 36px;margin:0 0 22px;background:linear-gradient(135deg,#f7fcff 0%,#e7f6ff 60%,#fff9d8 100%);border:1px solid #d6edf9;box-shadow:0 18px 45px rgba(5,76,124,.08)}.uil24-hero:after{content:"24";position:absolute;right:30px;top:-45px;font-size:190px;font-weight:900;line-height:1;color:rgba(8,120,189,.055);pointer-events:none}.uil24-kicker,.uil24-result-label{font-size:12px;font-weight:800;letter-spacing:.09em;color:var(--blue)}.uil24-hero h2{font-size:32px;line-height:1.08;margin:7px 0 10px;color:var(--deep)}.uil24-hero p{font-size:16px;max-width:760px;margin:0 0 17px}.uil24-rule{display:inline-block;background:#fff;border-left:5px solid var(--yellow);border-radius:10px;padding:11px 14px;box-shadow:0 5px 18px rgba(5,76,124,.07)}.uil24-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;margin:0 0 18px;box-shadow:0 10px 30px rgba(5,76,124,.055)}.uil24-grid{display:grid;gap:16px}.uil24-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.uil24 label>span{display:block;font-weight:700;margin:0 0 6px}.uil24 input[type=date],.uil24 select{width:100%;min-height:45px;padding:9px 11px;border:1px solid #bcd4e5;border-radius:10px;background:#fff;color:var(--ink)}.uil24 input:focus,.uil24 select:focus{outline:3px solid rgba(8,120,189,.12);border-color:var(--blue)}.uil24 small{display:block;color:var(--muted);margin-top:5px}.uil24-checkline{margin-top:15px;background:var(--sky2);border-radius:10px;padding:10px 12px}.uil24-section-head{display:flex;gap:18px;align-items:center;justify-content:space-between;margin-bottom:14px}.uil24 h3{font-size:21px;color:var(--deep);margin:0 0 5px}.uil24-section-head p{margin:0;color:var(--muted)}.uil24-btn{border:0;border-radius:10px;padding:11px 16px;font-weight:800;cursor:pointer;transition:.18s ease}.uil24-btn:hover{transform:translateY(-1px)}.uil24-btn-primary{background:var(--blue);color:#fff;box-shadow:0 6px 16px rgba(8,120,189,.18)}.uil24-btn-light{background:#eef5f9;color:var(--deep)}.uil24-period{border:1px solid var(--line);border-radius:14px;padding:14px;margin:10px 0;background:#fbfdff}.uil24-period-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.uil24-period-title{font-weight:800;color:var(--deep)}.uil24-remove{border:0;background:transparent;color:#a03737;font-weight:700;cursor:pointer}.uil24-period-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.25fr 1.05fr;gap:10px;align-items:end}.uil24-period .uil24-field span{font-size:12px;font-weight:700;display:block;margin-bottom:4px}.uil24-valid-box{margin-top:9px;display:flex;gap:14px;flex-wrap:wrap;color:var(--muted)}.uil24-actions{display:flex;gap:10px;margin-top:17px}.uil24-result{border:1px solid #b9e2ce;background:linear-gradient(180deg,#fafffc,#f2fbf7);border-radius:20px;padding:24px;margin-bottom:18px;box-shadow:0 12px 32px rgba(25,115,72,.08)}.uil24-result.is-no{border-color:#f0d791;background:linear-gradient(180deg,#fffdf5,#fff9e8)}.uil24-result-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.uil24-result-title{font-size:26px!important;margin:4px 0!important}.uil24-result-subtitle{margin:0;color:var(--muted)}.uil24-result-badge{white-space:nowrap;border-radius:999px;padding:9px 13px;font-weight:900;background:var(--okbg);color:var(--ok)}.uil24-result.is-no .uil24-result-badge{background:var(--warnbg);color:var(--warn)}.uil24-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.uil24-metrics>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px}.uil24-metrics span{display:block;font-size:12px;color:var(--muted);font-weight:700}.uil24-metrics strong{display:block;font-size:24px;color:var(--deep);margin-top:2px}.uil24-progress{height:10px;background:#deebf2;border-radius:999px;overflow:hidden;margin:17px 0 10px}.uil24-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--blue),#49a6da);border-radius:inherit;width:0}.uil24-missing{font-weight:700}.uil24-warnings{margin-top:12px}.uil24-warning{padding:10px 12px;border-radius:10px;margin:7px 0;background:#fff3d5;color:#7a5000;border:1px solid #f2d48a}.uil24-details{margin-top:16px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px}.uil24-details summary{cursor:pointer;font-weight:800;color:var(--deep)}.uil24-detail-item{padding:10px 0;border-bottom:1px solid #edf3f7}.uil24-detail-item:last-child{border-bottom:0}.uil24-print-row{text-align:right;margin-top:14px}.uil24-info ul{padding-left:20px}.uil24-info li{margin:5px 0}.uil24-note{margin:14px 0 0;padding:12px 14px;border-radius:10px;background:#f5f8fa;border-left:4px solid var(--blue)}.uil24-custom-note{margin:10px 0 0;padding:12px 14px;border-radius:10px;background:#fff8d8;border-left:4px solid var(--yellow)}.uil24-import{border-top:4px solid var(--blue)}.uil24-import-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.uil24-import-help{padding:11px 13px;border-radius:10px;background:var(--sky2);color:var(--muted)}.uil24-import-status{margin-top:12px;padding:11px 13px;border-radius:10px;background:#eef5f9}.uil24-import-status.is-ok{background:#eaf8f1;color:#17623e}.uil24-import-status.is-error{background:#fff0f0;color:#8b2828}.uil24-import-status.is-loading{background:#eef7fd;color:#075f96}.uil24-modal[hidden]{display:none!important}.uil24-modal{position:fixed;z-index:999999;inset:0;display:flex;align-items:center;justify-content:center;padding:20px}.uil24-modal-backdrop{position:absolute;inset:0;background:rgba(7,36,58,.58)}.uil24-modal-box{position:relative;z-index:1;width:min(920px,96vw);max-height:88vh;overflow:auto;background:#fff;border-radius:18px;padding:22px;box-shadow:0 24px 80px rgba(0,0,0,.25)}.uil24-modal-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.uil24-modal-close{border:0;background:#eef5f9;color:var(--deep);width:38px;height:38px;border-radius:50%;font-size:26px;line-height:1;cursor:pointer}.uil24-preview-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;max-height:52vh}.uil24-preview-table{width:100%;border-collapse:collapse;font-size:13px}.uil24-preview-table th,.uil24-preview-table td{padding:9px 10px;border-bottom:1px solid #e8f0f5;text-align:left;white-space:nowrap}.uil24-preview-table th{position:sticky;top:0;background:#f2f8fc;color:var(--deep)}.uil24-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
@media(max-width:900px){.uil24-period-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.uil24-grid-2{grid-template-columns:1fr}.uil24-section-head{align-items:flex-start}.uil24-import-actions{justify-content:flex-start}}
@media(max-width:620px){.uil24{font-size:14px}.uil24-hero{padding:24px 19px;border-radius:17px}.uil24-hero h2{font-size:26px}.uil24-card{padding:16px}.uil24-section-head,.uil24-result-top{display:block}.uil24-section-head .uil24-btn{margin-top:10px;width:100%}.uil24-import-actions{display:grid;grid-template-columns:1fr;width:100%;margin-top:12px}.uil24-period-grid{grid-template-columns:1fr}.uil24-actions{display:grid;grid-template-columns:1fr 1fr}.uil24-metrics{grid-template-columns:1fr}.uil24-result-badge{display:inline-block;margin-top:12px}.uil24-print-row .uil24-btn{width:100%}.uil24-modal{padding:10px}.uil24-modal-box{padding:16px}.uil24-modal-actions{display:grid;grid-template-columns:1fr 1fr}}

.uil24-print-row{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.uil24-newcalc{border:2px solid var(--blue)!important;background:#fff!important;color:var(--blue)!important}.uil24-newcalc:hover{background:var(--sky)!important}
@media(max-width:620px){.uil24-print-row{display:grid;grid-template-columns:1fr}.uil24-print-row .uil24-btn{width:100%}}
.uil24-titles{border-top:4px solid var(--yellow)}.uil24-titles h4,.uil24-scorebox h4{margin:0 0 12px;color:var(--deep);font-size:17px}.uil24-title-access{padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--sky2);margin-bottom:14px}.uil24-title-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.uil24-title-grid>label{border:1px solid var(--line);border-radius:11px;padding:12px;background:#fff}.uil24-checktitle{display:flex;align-items:flex-start;gap:9px}.uil24-checktitle input{margin-top:3px}.uil24-no-extra{padding:12px 14px;border-radius:10px;background:#f7fafc;color:var(--muted);border:1px solid var(--line)}.uil24-scorebox{margin-top:18px;padding:16px;border-radius:14px;background:#f4faff;border:1px solid #cfe5f3}.uil24-scoregrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.uil24-scoregrid>div{background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px}.uil24-scoregrid span{display:block;font-size:12px;color:var(--muted);font-weight:700}.uil24-scoregrid strong{display:block;font-size:23px;color:var(--deep);margin-top:2px}.uil24-score-total-card{border:2px solid var(--blue)!important}.uil24-score-note{font-size:12px;color:var(--muted);margin-top:10px}.uil24-valid-box select{min-height:38px;padding:7px 9px;border:1px solid #bcd4e5;border-radius:9px;background:#fff;color:var(--ink)}
@media(max-width:720px){.uil24-title-grid,.uil24-scoregrid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.uil24-title-grid,.uil24-scoregrid{grid-template-columns:1fr}}

.uil24-import-mode{margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--sky2)}.uil24-import-mode strong{display:block;margin-bottom:7px;color:var(--deep)}.uil24-import-mode label{display:block;margin:6px 0}.uil24-import-mode small{margin-top:7px}

/* v1.2.3 - conferma profilo per importazioni SIDI/generiche senza profilo */
.uil24-profile-assign{margin:12px 0 14px;padding:13px 14px;border:1px solid #cfe3ef;border-left:5px solid var(--yellow);border-radius:11px;background:#fffdf5}
.uil24-profile-assign>strong{display:block;color:var(--deep);margin-bottom:8px}
.uil24-profile-assign-row{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:9px;align-items:center}
.uil24-profile-assign-row select,.uil24-preview-profile{min-height:38px!important;padding:6px 8px!important;border-radius:8px!important}
.uil24-preview-profile{min-width:205px}
@media(max-width:620px){.uil24-profile-assign-row{grid-template-columns:1fr}.uil24-preview-profile{min-width:180px}}

/* v1.2.4 - incolla diretto da Istanze Online / SIDI */
.uil24-paste-card{border-top:4px solid var(--yellow);background:linear-gradient(180deg,#fff,#fbfdff)}
.uil24-recommended{display:inline-block;margin-bottom:7px;padding:5px 9px;border-radius:999px;background:#fff3b8;color:#705400;font-size:11px;font-weight:900;letter-spacing:.06em}
.uil24-paste-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:4px 0 16px}
.uil24-paste-steps>div{display:flex;gap:10px;align-items:flex-start;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:#f8fbfd;color:var(--muted)}
.uil24-paste-steps strong{display:flex;align-items:center;justify-content:center;flex:0 0 27px;height:27px;border-radius:50%;background:var(--blue);color:#fff;font-size:13px}
.uil24-paste-steps span{line-height:1.38}
.uil24-paste-label>span{display:block;margin-bottom:7px;font-weight:800;color:var(--deep)}
.uil24-paste-area{width:100%;min-height:170px;padding:12px 13px;border:2px dashed #9fc7df;border-radius:12px;background:#fbfdff;color:var(--ink);font:13px/1.45 Consolas,Monaco,monospace;resize:vertical}
.uil24-paste-area:focus{outline:3px solid rgba(8,120,189,.11);border-color:var(--blue);background:#fff}
.uil24-paste-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:11px}
.uil24-paste-note{margin-top:12px;padding:10px 12px;border-left:4px solid var(--yellow);background:#fffdf4;border-radius:8px;color:#566b7b}
.uil24-paste-status{margin-top:11px;padding:10px 12px;border-radius:9px;background:#eef5f9}
.uil24-paste-status.is-ok{background:#eaf8f1;color:#17623e}.uil24-paste-status.is-error{background:#fff0f0;color:#8b2828}
@media(max-width:760px){.uil24-paste-steps{grid-template-columns:1fr}}
@media(max-width:520px){.uil24-paste-actions{display:grid;grid-template-columns:1fr}.uil24-paste-actions .uil24-btn{width:100%}}

/* v1.2.5 - modello CSV offline sempre visibile */
.uil24-template-box{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:14px 0;padding:15px 16px;border:1px solid #cfe3ef;border-left:5px solid var(--yellow);border-radius:12px;background:linear-gradient(135deg,#fffdf5 0%,#f8fcff 100%)}
.uil24-template-copy{min-width:0}.uil24-template-copy strong{display:block;color:var(--deep);font-size:15px;margin-bottom:4px}.uil24-template-copy span{display:block;color:var(--muted);line-height:1.45}
.uil24-template-download{flex:0 0 auto;background:#fff!important;color:var(--deep)!important;border:2px solid var(--blue)!important;box-shadow:0 5px 14px rgba(8,120,189,.12)!important;min-width:190px}
.uil24-template-download:hover,.uil24-template-download:focus{background:var(--blue)!important;color:#fff!important;border-color:var(--blue)!important;outline:none}
@media(max-width:760px){.uil24-template-box{display:block}.uil24-template-download{width:100%;margin-top:12px;min-width:0}}
