:root{--navy:#0a315a;--blue:#0086c9;--sky:#e7f4fc;--ice:#c8d4de;--text:#19344f;--muted:#627487;--line:#dce5ec;--bg:#f4f7fa;--white:#fff;--radius:14px}*{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--bg);font:15px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #00aaff;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(27px,4vw,46px);line-height:1.15;letter-spacing:-1.3px}h2{font-size:23px;letter-spacing:-.5px}input,select,textarea{font:inherit;border:1px solid #c7d5df;border-radius:8px;padding:10px 12px;max-width:100%;background:#fff;color:var(--text);min-height:42px}input[type=checkbox],input[type=radio]{min-height:auto;width:18px;height:18px;accent-color:var(--blue);padding:0}input[type=submit],input[type=button],button{border:0;border-radius:8px;background:var(--navy);color:#fff;padding:11px 18px;cursor:pointer;font:600 14px system-ui;min-height:43px}button:hover,input[type=submit]:hover{background:var(--blue)}label{font-size:14px;font-weight:600}.eyebrow{font-size:11px;font-weight:750;letter-spacing:2.5px;color:var(--blue)}.app-header{height:80px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1240px)/2));gap:20px;position:relative;z-index:2}.wordmark{display:flex;align-items:center;gap:6px;font-size:18px;font-weight:800;letter-spacing:-.6px;color:var(--navy)}.wordmark>span:not(.brand-dot){font-weight:400}.brand-dot{width:12px;height:12px;background:#00aaff;border-radius:4px;transform:rotate(-12deg);margin-right:5px}.app-header nav{display:flex;align-items:center;gap:20px;font-size:13px}.logout{color:var(--muted)}.dashboard{max-width:1240px;margin:0 auto;padding:45px 24px}.welcome{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.welcome h1{margin:16px 0}.welcome p{color:var(--muted)}.date-card{width:108px;padding:20px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 25px #163e6010}.date-card span{display:block;font-size:40px;color:var(--navy);font-weight:650;line-height:1.2}.date-card small{color:var(--muted);font-size:12px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:40px}.stat{padding:22px 25px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);position:relative;overflow:hidden}.stat:before{content:"";position:absolute;width:4px;left:0;top:22px;bottom:22px;background:var(--blue);border-radius:4px}.stat>span{font-size:14px;color:var(--muted)}.stat strong{display:block;font-size:38px;color:var(--navy);font-weight:650;margin:9px 0 0;letter-spacing:-1px}.stat small{color:var(--muted);font-size:11px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.section-heading h2{margin:5px 0 0}.section-heading input{width:260px}.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:11px}.menu-grid a{background:#fff;border:1px solid var(--line);border-radius:11px;padding:16px 18px;color:var(--navy);font-weight:550;font-size:14px;display:flex;align-items:center;gap:13px;min-height:75px}.menu-grid a:hover{background:var(--sky);border-color:#91c6e0;text-decoration:none}.menu-grid .menu-symbol{height:32px;width:32px;flex-shrink:0;background:var(--sky);color:var(--blue);border-radius:9px;display:grid;place-items:center;font-size:17px}.home-footer{margin-top:35px;color:var(--muted);font-size:12px}.login-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-brand{padding:clamp(35px,6vw,90px);background:var(--navy);color:#fff;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-brand .eyebrow{color:#89d4fb}.login-brand h1{margin:25px 0}.login-brand p{color:#c8d9e8;font-size:17px;line-height:1.8}.brand-symbol{font-size:190px;letter-spacing:-25px;line-height:1.2;opacity:.17;font-weight:800;align-self:flex-end}.brand-symbol span{color:#00aaff}.login-brand small{color:#a9bdcf}.login-panel{display:grid;place-items:center;padding:35px}.login-card{width:min(380px,100%)}.login-card h2{font-size:29px;margin:12px 0}.login-card p{color:var(--muted);margin-bottom:30px}.login-card label{display:block;margin:20px 0 8px}.login-card input{display:block;width:100%;min-height:49px}.login-card button{width:100%;margin:26px 0;display:flex;justify-content:space-between;padding:15px 18px}.login-card small{color:var(--muted)}.notice.error{background:#fff0ee;padding:14px;border-radius:8px;color:#a7392b;font-size:13px}.error-card{max-width:640px;margin:50px auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px}.error-card h1{font-size:30px;margin:18px 0}.password-form label,.password-form input{display:block;width:100%;margin:12px 0}.password-form button{margin-top:10px}
/* Layout delle pagine operative: tutti i controlli originali conservano name/id e azioni. */
body.legacy-page>table.layout-shell{width:100%!important;max-width:1320px;margin:25px auto;background:transparent;border-collapse:collapse}.layout-shell>tbody>tr>td.layout-spacer{display:none}.layout-shell>tbody>tr>td.layout-content{width:100%!important;padding:22px;background:#fff;border:1px solid var(--line);border-radius:12px;height:auto!important}.layout-shell>tbody>tr.legacy-header,.layout-shell>tbody>tr.legacy-bottom{display:none}.testo,.form,.menu,.testoBlu,.testoFFF,.titoloFFF,.testo a,.form a{font-family:inherit!important;font-size:14px!important}.testo,.form{color:var(--text)!important}.titoloFFF,.testoFFF{color:var(--navy)!important}.table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;border:1px solid var(--line);border-radius:10px;margin:14px 0;background:#fff}.table-scroll table{min-width:600px;width:100%;border-collapse:collapse;font-size:13px}.table-scroll td,.table-scroll th{padding:11px 13px!important;border-bottom:1px solid #e6edf3;vertical-align:top}.table-scroll tr:nth-child(even)>td{background-color:#f8fafc}.table-scroll tr:hover>td{background-color:#edf6fc}.table-scroll td[bgcolor="#eeeeee"],.table-scroll th{background:#edf2f6!important;font-weight:600}.table-scroll a img{max-width:27px;max-height:27px;object-fit:contain;vertical-align:middle}.scroll-hint{font-size:11px;color:var(--muted);margin:4px 0}.legacy-page p{margin:12px 0}.legacy-page p:empty,.legacy-page p.empty-spacer{display:none}.legacy-page table.form:not(.data-table){width:100%!important;max-width:100%;border-spacing:6px}.legacy-page form input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]),.legacy-page form textarea,.legacy-page form select{max-width:100%;min-width:0}.legacy-page img{max-width:100%;height:auto}.legacy-page .legacy-menu{margin-top:30px;border-top:1px solid var(--line);padding-top:20px}.legacy-page .legacy-menu .menu-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.legacy-page .legacy-menu .menu-grid a{min-height:58px;font-size:12px;padding:12px}.form-responsive td{background:transparent!important;padding:8px!important}.form-responsive textarea{width:100%}.print-control{float:right;margin:8px}.nav-home{font-size:13px}.legacy-page [background]{background-image:none!important}.legacy-page td[style*="background-image"]{background-image:none!important}.visually-hidden{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}
@media(max-width:800px){.app-header{padding:16px;height:auto;min-height:70px;flex-wrap:wrap}.wordmark{font-size:16px}.app-header nav{gap:15px}.dashboard{padding:28px 18px}.welcome h1{font-size:33px}.date-card{display:none}.stats{gap:10px}.stat{padding:18px}.stat strong{font-size:30px}.section-heading{align-items:flex-start;flex-direction:column}.section-heading input{width:100%}.login-layout{grid-template-columns:1fr}.login-brand{padding:32px;min-height:250px}.login-brand h1{font-size:30px;margin:18px 0}.login-brand p{font-size:14px;margin:0}.brand-symbol,.login-brand small{display:none}.login-panel{padding:30px 24px}.legacy-page>table.layout-shell{margin:12px 0}.layout-shell>tbody>tr>td.layout-content{padding:12px;border-left:0;border-right:0;border-radius:0}.form-responsive>tbody>tr{display:grid;grid-template-columns:1fr;gap:0;padding:7px 0;border-bottom:1px solid var(--line)}.form-responsive>tbody>tr>td{display:block;width:100%!important;padding:5px 8px!important}.form-responsive input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]),.form-responsive textarea,.form-responsive select{width:100%}.form-responsive table{width:100%!important;max-width:100%}.error-card{margin:20px 12px;padding:24px}}@media(max-width:500px){.stats{grid-template-columns:1fr}.stat{display:grid;grid-template-columns:1fr auto;align-items:center}.stat strong{grid-column:2;grid-row:1/3;margin:0}.menu-grid{grid-template-columns:1fr}.app-header nav>a:first-child{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media print{body{background:#fff!important;color:#000}.app-header,.legacy-menu,.print-control,.scroll-hint,.home-footer{display:none!important}.table-scroll{overflow:visible;border:0}.table-scroll table{min-width:0;font-size:10px}.layout-shell{margin:0!important;max-width:none!important}.layout-content{padding:0!important;border:0!important}.table-scroll td{padding:4px!important}.form-responsive>tbody>tr{display:table-row}.form-responsive>tbody>tr>td{display:table-cell}a{color:#000}button{display:none}}
[hidden]{display:none!important}.layout-shell{table-layout:fixed}.form-responsive{width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed}.layout-content{min-width:0;overflow-wrap:anywhere}.table-scroll{overflow-wrap:normal}.legacy-page form{max-width:100%;min-width:0}
@media(max-width:800px){.form-responsive{display:block}.form-responsive>tbody{display:block;width:100%}.form-responsive>tbody>tr{width:100%;min-width:0}.form-responsive>tbody>tr>td{min-width:0}.legacy-page table.layout-shell{width:100%!important;max-width:100%!important}.legacy-page .layout-content>.table-scroll{width:100%}}
@media(max-width:800px){.legacy-page table:not(.data-table):not(.layout-shell){width:100%!important;max-width:100%!important;table-layout:fixed}.legacy-page>table:not(.layout-shell){width:calc(100% - 24px)!important;margin:12px!important}}
.legacy-page input[type=submit],.legacy-page input[type=button],.legacy-page button{color:#fff!important}.legacy-page input[disabled],button:disabled{opacity:.5;cursor:default}
