body{
margin:0;
min-height:100vh;
display:grid;
place-items:center;
background:
radial-gradient(circle at 25% 0%,rgba(49,110,232,.18),transparent 32%),
linear-gradient(135deg,#080d12 0%,#111b23 100%);
color:#f8f2ff;
font-family:Arial;
}

main{
width:370px;
box-sizing:border-box;
background:linear-gradient(180deg,#1a2b37 0%,#14232d 100%);
background:
linear-gradient(90deg,#1d579c 0%,#316ee8 35%,#8fbce8 50%,#316ee8 65%,#1d579c 100%) left top/200% 3px repeat-x,
linear-gradient(180deg,#1a2b37 0%,#14232d 100%);
animation:loginTopLine 10s linear infinite;
box-shadow:0 16px 36px rgba(0,0,0,.30);
border-left:1px solid #05090d;
border-right:1px solid #05090d;
overflow:hidden;
}
@keyframes loginTopLine{
0%{background-position:200% 0,center;}
100%{background-position:0 0,center;}
}
main form{
padding:0 26px 26px;
}
.login-title{
display:flex;
align-items:flex-start;
justify-content:center;
gap:10px;
padding:33px 26px 4px;
}
.login-title-icon{
display:inline-flex;
align-items:center;
justify-content:center;
width:32px;
height:32px;
color:#b9d8ff;
margin-top:-2px;
}
.login-title-icon svg,
.login-button-icon svg{
display:block;
width:100%;
height:100%;
stroke:currentColor;
stroke-width:1.9;
fill:none;
stroke-linecap:round;
stroke-linejoin:round;
}
.login-check{
stroke-dasharray:12;
stroke-dashoffset:12;
animation:loginCheckDraw .9s ease-out .25s forwards;
}
@keyframes loginCheckDraw{
to{stroke-dashoffset:0;}
}
h1{
margin:0 0 18px;
font-size:24px;
}
label,
input,
button{
display:block;
width:100%;
box-sizing:border-box;
}
label{
margin:12px 0 6px;
}
input:not([type="hidden"]) + label{
margin-top:18px;
}
input{
padding:10px;
border:1px solid #5f7383;
background:#101820;
color:#f8f2ff;
font-size:16px;
}
input:focus{
outline:0;
border-color:#8fbce8;
box-shadow:0 0 0 2px rgba(49,110,232,.22);
}
main form label,
main form input:not([type="hidden"]){
width:90%;
margin-left:auto;
margin-right:auto;
}
button{
margin-top:27px;
margin-left:auto;
margin-right:auto;
padding:11px 10px;
border:1px solid #245fa8;
background:#2f6fbe;
color:#ffffff;
font-weight:bold;
display:flex;
align-items:center;
justify-content:center;
gap:8px;
cursor:pointer;
}
main form button{
width:43%;
}
main form button:hover{
background:#245d9d;
}
.login-button-icon{
display:inline-flex;
width:16px;
height:16px;
}
.copy{
margin:16px 26px 22px;
color:#738491;
font-size:12px;
text-align:center;
}
@media(max-width:520px){
body{
min-height:100dvh;
box-sizing:border-box;
padding:20px 0;
}
main{
width:92%;
margin:0 auto;
padding:0;
}
h1{
font-size:21px;
}
main form{
padding:0 18px 18px;
}
.login-title{
padding:18px 18px 2px;
}
input{
padding:9px;
}
button{
padding:10px 9px;
}
}
.admin-body{
display:block;
overflow:hidden;
min-height:100vh;
background:#f3f5f7;
color:#1c252e;
}
.admin-title{
position:fixed;
top:0;
left:0;
right:0;
height:50px;
display:flex;
justify-content:space-between;
align-items:center;
box-sizing:border-box;
padding:14px 18px;
background:
linear-gradient(90deg,#1d579c 0%,#316ee8 22%,#8fbce8 50%,#316ee8 78%,#1d579c 100%) left bottom/200% 5px repeat-x,
radial-gradient(circle at 18% 0%,rgba(49,110,232,.34),transparent 32%),
linear-gradient(100deg,#010304 0%,#080e15 34%,#0f1b27 68%,#142c43 100%);
animation:adminTitleLine 12s linear infinite;
color:#f8f2ff;
font-weight:bold;
z-index:2;
overflow:hidden;
}
.admin-title:before{
content:"";
position:absolute;
top:0;
left:0;
right:0;
bottom:5px;
background:linear-gradient(115deg,transparent 0%,rgba(185,216,255,.11) 45%,transparent 72%);
background-size:220% 100%;
pointer-events:none;
}
.admin-title > div,
.admin-title nav{
position:relative;
z-index:1;
}
.admin-title-left,
.admin-title-actions{
display:flex;
align-items:center;
gap:12px;
}
.admin-brand{
font-size:17px;
font-weight:700;
letter-spacing:.02em;
white-space:nowrap;
}
.admin-utility-link,
.admin-user-chip,
.admin-icon-button{
display:inline-flex;
align-items:center;
justify-content:center;
gap:8px;
min-height:38px;
box-sizing:border-box;
background:rgba(255,255,255,.06);
}
.admin-utility-link,
.admin-user-chip,
.admin-icon-button{
background:transparent;
}
.admin-utility-link{
padding:0 12px;
white-space:nowrap;
gap:4px;
text-decoration:none;
}
.admin-link-text{
text-decoration:underline;
text-decoration-color:#f8f2ff;
text-underline-offset:2px;
}
.admin-user-chip{
padding:0 14px;
font-weight:600;
}
.admin-user-icon{
display:inline-flex;
align-items:center;
justify-content:center;
width:24px;
height:24px;
border-radius:50%;
background:rgba(185,216,255,.16);
}
.admin-user-icon svg{
width:15px;
height:15px;
stroke:currentColor;
stroke-width:1.9;
fill:none;
stroke-linecap:round;
stroke-linejoin:round;
}
.admin-icon-button{
width:38px;
padding:0;
}
.admin-utility-icon,
.admin-icon-button svg{
width:16px;
height:16px;
}
.admin-utility-icon{
text-decoration:none;
}
.admin-utility-icon svg,
.admin-icon-button svg{
display:block;
width:16px;
height:16px;
stroke:currentColor;
stroke-width:1.9;
fill:none;
stroke-linecap:round;
stroke-linejoin:round;
}
@keyframes adminTitleLine{
0%{background-position:0 100%,center,center;}
100%{background-position:200% 100%,center,center;}
}
.admin-title a{
color:#f8f2ff;
text-decoration:none;
}
.admin-menu{
position:fixed;
top:50px;
bottom:0;
left:0;
width:190px;
box-sizing:border-box;
padding:0;
background:
linear-gradient(155deg,rgba(255,255,255,.05) 0%,transparent 28%,rgba(0,0,0,.18) 100%),
linear-gradient(180deg,#182833 0%,#14232d 58%,#101b24 100%);
box-shadow:3px 0 10px rgba(6,12,18,.16);
overflow:hidden;
transition:transform .18s ease;
}
.admin-menu-chiuso .admin-menu{
transform:translateX(-190px);
}
.admin-menu a{
display:flex;
align-items:center;
gap:10px;
margin:0;
padding:8px 11px;
color:#d9e5ea;
text-decoration:none;
font-size:15px;
position:relative;
}
.admin-menu a.sub-link{
padding:3px 11px;
font-size:14px;
}
.admin-menu a.sub-link.attivo{
background:#2a4d68;
color:#ffffff;
}
.admin-menu a.attivo{
background:linear-gradient(90deg,#1f5f9f 0%,#316ee8 65%,#2a65c8 100%);
color:#ffffff;
}
.admin-menu a.attivo:after{
content:"";
position:absolute;
top:50%;
right:0;
transform:translateY(-50%);
border-top:7px solid transparent;
border-bottom:7px solid transparent;
border-right:7px solid #f4f7f9;
}
.admin-menu a.sub-link.attivo:after{
display:none;
}
.admin-menu a:hover{
background:linear-gradient(90deg,#223541 0%,#2a4150 100%);
color:#b8cdfa;
}
.admin-content{
position:fixed;
top:50px;
right:0;
bottom:0;
left:190px;
box-sizing:border-box;
padding:0;
overflow:auto;
transition:left .18s ease;
}
.admin-menu-chiuso .admin-content{
left:0;
}
.admin-content h1{
margin:0;
padding:12px 18px;
border-bottom:1px solid #d6dde3;
background:linear-gradient(180deg,#ffffff 0%,#f7fafc 100%);
font-size:24px;
}
.admin-box{
max-width:520px;
margin:16px 18px;
box-sizing:border-box;
border:1px solid #d6dde3;
background:#ffffff;
}
.admin-box h2{
margin:0;
padding:9px 12px;
border-bottom:1px solid #d6dde3;
background:linear-gradient(180deg,#f4f7f9 0%,#e8eef2 100%);
font-size:18px;
}
.admin-box-empty{
margin:0;
padding:14px 16px;
color:#53606b;
}
.admin-table-wrap{
overflow-x:auto;
}
.admin-operator-table{
width:100%;
border-collapse:collapse;
font-size:13px;
}
.admin-operator-table th,
.admin-operator-table td{
padding:8px 10px;
border-bottom:1px solid #d6dde3;
text-align:left;
white-space:nowrap;
}
.admin-operator-table th{
background:#f7fafc;
color:#1c252e;
font-weight:bold;
}
.admin-security-ip-table{
width:auto;
table-layout:auto;
display:inline-table;
}
.admin-security-ip-table th,
.admin-security-ip-table td{
padding:4px 8px;
vertical-align:middle;
font-size:12px;
}
.admin-security-ip-value{
width:1%;
white-space:nowrap;
line-height:1.2;
}
.admin-security-ip-action{
width:1%;
white-space:nowrap;
text-align:center;
}
.admin-security-ip-action form{
display:inline-flex;
justify-content:center;
}
.admin-security-ip-action button{
min-width:0;
width:auto;
padding:0 7px;
height:24px;
font-size:12px;
line-height:1;
}
.admin-security-ip-list{
max-height:260px;
overflow-y:auto;
overflow-x:hidden;
padding:5px 10px;
box-sizing:border-box;
}
.admin-security-ip-wrap{
margin:5px 6%;
border:1px solid #d6dde3;
background:#ffffff;
}
.admin-security-ip-row{
display:flex;
align-items:center;
justify-content:space-between;
gap:8px;
padding:4px 8px;
margin:0 0 6px;
background:#f7fafc;
border:1px solid #d6dde3;
}
.admin-security-ip-text{
min-width:0;
padding:4px 0;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
.admin-security-ip-form{
margin:0;
display:flex;
align-items:center;
flex:0 0 auto;
}
.admin-security-ip-form button{
margin-top:0;
margin-bottom:0;
}
.admin-ai-form{
margin:0;
padding:0;
}
.admin-ai-fields{
padding:16px;
}
.admin-box label{
color:#1c252e;
}
.admin-box input{
background:#ffffff;
color:#1c252e;
border:1px solid #9da8b3;
}
.admin-box input.admin-readonly-input{
background:#eef2f5;
color:#53606b;
cursor:default;
}
.admin-box input[readonly]{
background:#eef2f5;
color:#53606b;
cursor:default;
}
.admin-box input:focus,
.admin-box select:focus,
.admin-box textarea:focus,
.admin-box button:focus{
outline:0;
box-shadow:none;
}
.admin-box input:focus-visible,
.admin-box select:focus-visible,
.admin-box textarea:focus-visible,
.admin-box button:focus-visible{
outline:0;
box-shadow:none;
border-color:#7f8f9b;
}
.admin-content input:focus:not(:focus-visible),
.admin-content select:focus:not(:focus-visible),
.admin-content textarea:focus:not(:focus-visible),
.admin-content button:focus:not(:focus-visible),
.admin-content a:focus:not(:focus-visible){
outline:0!important;
box-shadow:none!important;
}
.admin-birth-row{
display:grid;
grid-template-columns:1fr 1fr 1.35fr;
gap:10px;
}
.admin-birth-row input{
text-align:center;
}
.admin-phone-row{
display:grid;
grid-template-columns:72px 1fr;
gap:10px;
align-items:end;
}
.admin-phone-prefix input{
text-align:center;
}
.admin-box textarea{
display:block;
width:100%;
box-sizing:border-box;
background:#ffffff;
color:#1c252e;
border:1px solid #9da8b3;
font-family:Arial;
font-size:14px;
line-height:1.35;
}
.admin-box select{
display:block;
width:100%;
box-sizing:border-box;
padding:10px;
border:1px solid #9da8b3;
background:#ffffff;
color:#1c252e;
font-size:16px;
}
.admin-box button{
width:auto;
min-width:120px;
border:1px solid #1d5fa8;
background:#256db8;
color:#ffffff;
}
.admin-dashboard-actions-body{
padding:16px;
}
.admin-dashboard-button{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:36px;
box-sizing:border-box;
padding:0 14px;
border:1px solid #1d5fa8;
background:#256db8;
color:#ffffff;
font-size:14px;
font-weight:bold;
text-decoration:none;
}
.admin-dashboard-button:hover{
background:#1f5f9f;
}
.admin-form-actions{
display:flex;
gap:8px;
padding:0 16px 16px;
}
.admin-ai-form > .admin-form-actions{
display:flex;
justify-content:flex-end;
box-sizing:border-box;
width:100%;
max-width:520px;
padding:0 12px 0;
margin:16px 18px;
}
.admin-ai-box .admin-sheet-msg{
margin:0;
border-left:0;
border-right:0;
}
.admin-ai-result{
margin:0;
padding:8px 16px;
border-bottom:1px solid #d6dde3;
background:#f8fbfd;
color:#17232c;
font-size:13px;
font-weight:bold;
}
.admin-fatturazione-box{
max-width:860px;
}
.admin-fatturazione-grid{
display:grid;
grid-template-columns:180px 1fr 180px 1fr;
gap:10px 12px;
align-items:center;
}
.admin-fatturazione-grid .campo-intero{
grid-column:1 / -1;
}
.admin-fatturazione-grid label{
margin:0;
}
.admin-fatturazione-grid input,
.admin-fatturazione-grid select{
margin:0;
}
@media(max-width:900px){
.admin-fatturazione-grid{
grid-template-columns:1fr;
}
}
.admin-prompt-box{
margin-top:16px;
}
.admin-prompt-title{
display:grid;
grid-template-columns:minmax(0,1fr) auto;
align-items:start;
column-gap:10px;
margin:0;
padding-left:9px!important;
padding-right:10px!important;
text-align:left;
line-height:1.2;
white-space:normal;
}
.admin-prompt-title-text{
display:block;
min-width:0;
}
.admin-prompt-lock{
display:inline-flex;
align-items:center;
justify-content:center;
width:22px;
height:22px;
min-width:22px!important;
margin-top:1px;
margin-right:1px;
padding:0!important;
border:0!important;
background:transparent!important;
color:#456171!important;
cursor:pointer;
}
.admin-prompt-lock:hover{
color:#1d5fa8!important;
background:transparent!important;
}
.admin-prompt-lock .sheet-action-icon,
.admin-prompt-lock .sheet-action-icon svg{
width:16px;
height:16px;
}
@media(max-width:700px){
.admin-prompt-title{
column-gap:6px;
padding-left:9px!important;
padding-right:9px!important;
font-size:16px;
line-height:1.15;
}
}
.admin-prompt-text{
min-height:210px;
padding:9px;
resize:vertical;
}
.admin-prompt-text[readonly]{
background:#eef2f5;
color:#53606b;
cursor:default;
}
.admin-backup-box{
max-width:680px;
}
.admin-backup-body{
padding:16px;
}
.admin-backup-section{
padding:0 0 16px;
margin:0 0 16px;
border-bottom:1px solid #d6dde3;
}
.admin-backup-section:last-child{
padding-bottom:0;
margin-bottom:0;
border-bottom:0;
}
.admin-backup-section h3{
margin:0 0 10px;
font-size:15px;
color:#1c252e;
}
.admin-backup-table{
width:100%;
border-collapse:collapse;
font-size:14px;
}
.admin-backup-table th,
.admin-backup-table td{
padding:8px;
border:1px solid #d6dde3;
text-align:left;
}
.admin-backup-table th{
background:#f4f7f9;
color:#1c252e;
}
.admin-backup-table .admin-backup-actions-cell{
width:68px;
min-width:68px;
max-width:68px;
padding:0!important;
}
.admin-archive-actions{
display:flex;
height:100%;
min-height:34px;
width:68px;
}
.admin-archive-actions form{
margin:0;
padding:0;
display:flex;
flex:0 0 34px;
}
.admin-box .admin-archive-download-button,
.admin-box .admin-archive-save-button,
.admin-box .admin-archive-delete-button{
flex:0 0 34px;
width:34px;
min-width:34px;
max-width:34px;
min-height:34px;
margin:0;
padding:0;
border:0;
background:#ffffff;
display:flex;
align-items:center;
justify-content:center;
box-sizing:border-box;
cursor:pointer;
}
.admin-box .admin-archive-download-button{
color:#1d5fa8;
text-decoration:none;
}
.admin-box .admin-archive-save-button{
color:#12643f;
}
.admin-box .admin-archive-delete-button{
color:#7d1f1f;
}
.admin-box .admin-archive-download-button:hover{
background:#e7f0fb;
}
.admin-box .admin-archive-save-button:hover{
background:#e7f5ee;
}
.admin-box .admin-archive-delete-button:hover{
background:#ffe4e4;
}
.admin-box .admin-archive-download-button svg,
.admin-box .admin-archive-save-button svg,
.admin-box .admin-archive-delete-button svg{
width:17px;
height:17px;
fill:none;
stroke:currentColor;
stroke-width:2;
stroke-linecap:round;
stroke-linejoin:round;
}
.admin-backup-actions{
padding:14px 0 0;
}
.admin-backup-file-row{
display:flex;
align-items:center;
gap:8px;
margin-top:4px;
flex-wrap:wrap;
}
.admin-backup-file-row input[type="file"]{
max-width:360px;
height:34px;
box-sizing:border-box;
}
.admin-backup-file-row button{
height:34px;
margin:0;
}
.admin-backup-button{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:34px;
padding:0 12px;
border:1px solid #1d5fa8;
background:#256db8;
color:#ffffff;
font-size:13px;
font-weight:bold;
text-decoration:none;
box-sizing:border-box;
}
.admin-backup-note{
display:flex;
align-items:flex-start;
gap:6px;
margin-top:14px;
font-size:13.5px;
line-height:1.4;
color:#111820;
font-weight:bold;
}
.admin-backup-note-icon{
display:inline-flex;
align-items:center;
justify-content:center;
width:16px;
height:16px;
margin-top:1px;
border-radius:50%;
background:#256db8;
color:#ffffff;
font-size:11px;
font-weight:bold;
font-family:Arial,sans-serif;
flex:0 0 16px;
}
.admin-sheet-form{
margin:0;
padding:0;
width:100%;
}
.admin-sheet-form input[type="hidden"]{
display:none;
}
.admin-sheet{
margin:0 18px 16px;
border:1px solid #d6dde3;
background:#ffffff;
overflow:auto;
}
.admin-sheet-head{
display:flex;
justify-content:space-between;
align-items:center;
gap:12px;
margin:16px 18px 0;
padding:10px 12px;
border:1px solid #d6dde3;
background:linear-gradient(180deg,#f4f7f9 0%,#e8eef2 100%);
}
.admin-sheet h2{
margin:0;
font-size:18px;
line-height:18px;
}
.sheet-title-block{
display:block;
min-width:220px;
}
.sheet-title-summary{
margin-top:-4px;
color:#26323b;
font-size:14px;
line-height:14px;
font-weight:bold;
}
.sheet-title-summary span{
margin-left:8px;
color:#34424d;
font-weight:bold;
}
.admin-sheet-tools{
display:flex;
align-items:center;
justify-content:flex-end;
gap:6px;
flex-wrap:wrap;
}
.sheet-period{
display:flex;
align-items:center;
gap:4px;
min-height:34px;
padding:0 5px;
border:1px solid #b8c4cc;
background:#ffffff;
box-sizing:border-box;
flex-wrap:wrap;
}
.period-label{
color:#60707d;
font-size:12px;
font-weight:bold;
}
.period-select{
height:26px;
border:1px solid #c3ccd4;
background:#f8fbfd;
color:#17232c;
font-size:14px;
font-weight:bold;
}
.period-year-select{
min-width:66px;
}
.period-month-select{
min-width:100px;
}
.admin-sheet-msg{
margin:0 18px;
padding:7px 12px;
border-left:1px solid #d6dde3;
border-right:1px solid #d6dde3;
background:#e7f5ee;
color:#12643f;
font-size:13px;
font-weight:bold;
}
.admin-sheet-msg.errore{
background:#fff3d7;
color:#8a5a00;
}
.admin-sheet-msg.admin-profile-error{
background:#ffe6e6;
color:#a00000;
}
.admin-import-box{
display:block;
margin:14px 18px 20px;
padding:14px;
border:1px solid #cfd8df;
background:#ffffff;
box-shadow:0 1px 4px rgba(0,0,0,.08);
}
.admin-import-head{
margin-bottom:12px;
}
.admin-import-head h3{
margin:0 0 3px;
font-size:20px;
color:#17232c;
}
.admin-import-head div{
font-size:14px;
color:#44505a;
}
.admin-import-form{
display:none;
}
.admin-import-file{
font-size:14px;
max-width:100%;
}
.admin-import-form button{
margin:0;
padding:8px 13px;
border:1px solid #197a4f;
background:linear-gradient(90deg,#1c8a58 0%,#32a978 100%);
color:#ffffff;
font-size:14px;
font-weight:bold;
cursor:pointer;
}
.admin-import-msg{
margin-top:10px;
padding:9px 10px;
border:1px solid #d6dde3;
background:#eef6ff;
font-size:14px;
}
.admin-import-msg.errore{
background:#fff3d7;
color:#8a5a00;
}
.admin-import-msg.avviso{
background:#fff8dc;
color:#574100;
}
.admin-import-msg.doppione{
background:#ffe4e4;
border-color:#c74b4b;
color:#8a1111;
}
.admin-import-msg.ok{
background:#e7f5ee;
color:#12643f;
}
.admin-import-duplicate{
display:flex;
gap:8px;
flex-wrap:wrap;
margin-top:4px;
}
.admin-import-duplicate span{
display:inline-block;
}
.admin-import-modal-backdrop{
position:fixed;
z-index:2000;
top:0;
right:0;
bottom:0;
left:0;
display:flex;
align-items:center;
justify-content:center;
padding:18px;
background:rgba(8,18,28,.42);
}
.admin-import-modal{
width:min(720px,100%);
max-height:calc(100vh - 36px);
overflow:auto;
border:1px solid #26384a;
background:#ffffff;
box-shadow:0 16px 38px rgba(0,0,0,.35);
}
.admin-import-modal-title{
padding:10px 12px;
border-bottom:1px solid #1e6ec5;
background:linear-gradient(90deg,#111a25 0%,#143d69 100%);
color:#ffffff;
font-size:18px;
font-weight:bold;
}
.admin-import-result{
margin:12px;
}
.admin-import-result h4{
margin:0 0 8px;
font-size:17px;
}
.admin-import-add-form{
margin:10px 0 0;
}
.admin-import-confirm-actions{
display:flex;
gap:8px;
align-items:center;
flex-wrap:wrap;
}
.admin-import-confirm-actions a,
.admin-import-confirm-actions button{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:36px;
min-width:118px;
box-sizing:border-box;
padding:8px 13px;
font-size:14px;
font-weight:bold;
cursor:pointer;
text-decoration:none;
}
.admin-import-confirm-actions a{
border:1px solid #aeb7bf;
background:#f2f4f6;
color:#17232c;
}
.admin-import-confirm-actions button{
border:1px solid #1d5fa8;
background:linear-gradient(90deg,#245fa8 0%,#316ee8 100%);
color:#ffffff;
}
.admin-import-confirm-actions button:disabled{
border-color:#aeb7bf;
background:#c7d0d8;
color:#ffffff;
cursor:not-allowed;
}
.admin-import-force-form{
margin:9px 0 0;
}
.admin-import-force-form button{
min-height:34px;
padding:7px 12px;
border:1px solid #8a1111;
background:#ffffff;
color:#8a1111;
font-size:13px;
font-weight:bold;
cursor:pointer;
}
.admin-import-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
border-top:1px solid #d6dde3;
border-left:1px solid #d6dde3;
}
.admin-import-grid div{
padding:8px;
border-right:1px solid #d6dde3;
border-bottom:1px solid #d6dde3;
font-size:14px;
background:#fbfcfd;
}
.admin-import-grid div.wide{
grid-column:span 3;
}
.admin-import-grid span{
display:block;
margin-bottom:3px;
font-size:12px;
font-weight:bold;
color:#42505b;
}
.admin-import-raw{
white-space:pre-wrap;
margin:10px 0 0;
padding:10px;
border:1px solid #d6dde3;
background:#f8fbfd;
font-size:13px;
}
.admin-sheet-actions{
display:flex;
gap:7px;
flex-wrap:wrap;
}
.admin-sheet-actions button{
margin:0;
padding:0 10px;
height:34px;
min-width:0;
width:auto;
border:1px solid #1d5fa8;
background:linear-gradient(90deg,#245fa8 0%,#316ee8 100%);
color:#ffffff;
display:inline-flex;
align-items:center;
justify-content:center;
gap:6px;
font-size:13px;
font-weight:bold;
cursor:pointer;
}
.sheet-import-button{
border-color:#197a4f!important;
background:linear-gradient(90deg,#1c8a58 0%,#32a978 100%)!important;
}
.sheet-action-icon{
display:inline-flex;
align-items:center;
justify-content:center;
width:18px;
height:18px;
flex:0 0 18px;
}
.sheet-action-icon svg{
width:18px;
height:18px;
display:block;
fill:none;
stroke:currentColor;
stroke-width:2;
stroke-linecap:round;
stroke-linejoin:round;
}
.lock-open-icon{
display:none!important;
}
.sheet-lock-toggle[aria-pressed="true"] .lock-closed-icon{
display:none!important;
}
.sheet-lock-toggle[aria-pressed="true"] .lock-open-icon{
display:block!important;
}
.admin-sheet table{
width:100%;
min-width:900px;
border-collapse:collapse;
table-layout:fixed;
}
.admin-sheet th,
.admin-sheet td{
padding:7px 9px;
border-right:1px solid #d6dde3;
border-bottom:1px solid #d6dde3;
text-align:left;
font-size:14px;
}
.admin-sheet tbody td{
padding:0;
}
.admin-sheet th{
background:#edf2f6;
font-weight:bold;
color:#17232c;
white-space:nowrap;
text-align:center;
}
.admin-sheet th:nth-child(1),
.admin-sheet td:nth-child(1){
width:64px;
}
.admin-sheet th:nth-child(2),
.admin-sheet td:nth-child(2){
width:96px;
}
.admin-sheet th:nth-child(3),
.admin-sheet td:nth-child(3){
width:92px;
}
.admin-sheet th:nth-child(4),
.admin-sheet td:nth-child(4){
width:22%;
}
.admin-sheet th:nth-child(5),
.admin-sheet td:nth-child(5){
width:150px;
}
.admin-sheet th:nth-child(6),
.admin-sheet td:nth-child(6){
width:26%;
}
.admin-sheet th:nth-child(7),
.admin-sheet td:nth-child(7){
width:136px;
}
.admin-sheet th:nth-child(8),
.admin-sheet td:nth-child(8){
width:104px;
}
.admin-sheet th:nth-child(9),
.admin-sheet td:nth-child(9){
width:92px;
}
.admin-sheet tr:nth-child(even) td{
background:#fbfcfd;
}
.admin-sheet tbody tr:hover td{
background:#eef6ff;
}
.admin-sheet .sheet-empty-row td{
background:#f8fbfd;
}
.admin-sheet[data-sheet-edit="1"] .sheet-empty-row td{
background:#effaf2;
}
.admin-sheet .sheet-empty-flash td{
animation:sheetEmptyFlash 1.4s ease-out!important;
}
.admin-sheet .sheet-empty-flash .sheet-field{
animation:sheetEmptyFlash 1.4s ease-out!important;
}
@keyframes sheetEmptyFlash{
0%{background:#81e6a4;}
35%{background:#c6f5d7;}
100%{background:#effaf2;}
}
.admin-sheet-form .sheet-field{
display:block;
width:100%;
min-width:0;
margin:0;
padding:7px 8px;
border:1px solid transparent;
background:#fffbe8;
color:#17232c;
font-family:Arial;
font-size:16px;
box-sizing:border-box;
cursor:default;
}
.admin-sheet-form .sheet-field:disabled{
opacity:1;
-webkit-text-fill-color:#17232c;
background:#fffbe8;
}
.admin-sheet[data-sheet-edit="1"] .sheet-field{
padding:7px 8px;
border-color:transparent;
background:#effaf2;
font-size:16px;
cursor:text;
}
.admin-sheet[data-sheet-edit="1"] .sheet-select{
cursor:pointer;
}
.admin-sheet[data-sheet-edit="1"] .sheet-field:focus{
outline:0;
}
.sheet-date-box{
display:flex;
align-items:center;
gap:0;
width:100%;
height:100%;
}
.sheet-day{
width:44%!important;
text-align:center;
}
.sheet-month{
width:56%!important;
text-align:center;
}
.col-data{
padding:0!important;
}
.col-data .sheet-field{
padding:7px 4px;
}
.sheet-date-box .sheet-day{
border-right:1px solid #d6dde3;
}
.admin-sheet[data-sheet-edit="1"] .sheet-date-box .sheet-field{
background:#effaf2;
}
.admin-sheet[data-sheet-edit="1"] .sheet-date-box .sheet-day{
border-right:1px solid #d6dde3;
}
.sheet-date-error td{
background:#fff3d7!important;
}
.sheet-money{
text-align:right;
font-weight:bold;
}
.sheet-select{
appearance:none;
}
.col-importo{
width:92px;
text-align:right!important;
font-weight:bold;
}
.admin-sheet tbody .col-id{
width:64px;
padding:0!important;
text-align:center!important;
font-family:Consolas,monospace;
font-size:13px!important;
white-space:nowrap;
color:#344054;
background:#fffbe8!important;
box-sizing:border-box;
vertical-align:middle;
}
.admin-sheet[data-sheet-edit="1"] tbody .col-id{
background:#effaf2!important;
}
.admin-sheet .sheet-empty-flash .col-id{
animation:sheetEmptyFlash 1.4s ease-out!important;
}
.sheet-id{
appearance:none;
display:block;
height:calc(100% + 2px);
margin:-1px 0;
padding:7px 8px!important;
border-color:transparent!important;
line-height:normal;
text-align:center;
font-family:Consolas,monospace;
font-size:13px!important;
color:#344054;
background:#fffbe8!important;
pointer-events:none;
cursor:default;
box-shadow:none;
border-radius:0;
}
.admin-sheet[data-sheet-edit="1"] .sheet-id{
background:#effaf2!important;
}
.col-data{
width:96px;
padding:0!important;
}
.col-cliente{
width:22%;
}
.col-metodo{
width:150px;
}
.col-causale{
width:26%;
}
.col-reparto{
width:136px;
}
.col-fattura{
width:104px;
}
.col-pratica{
width:104px;
}
.col-azioni{
width:92px;
text-align:center!important;
}
.sheet-row-actions{
display:flex;
height:100%;
}
.sheet-row-lock-button,
.sheet-row-save-button,
.sheet-delete-button{
width:100%;
height:100%;
min-height:34px;
margin:0;
padding:0;
border:0;
background:#fffbe8;
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
}
.sheet-row-lock-button{
color:#1d5fa8;
}
.sheet-row-save-button{
color:#12643f;
}
.sheet-delete-button{
color:#7d1f1f;
}
.admin-sheet[data-sheet-edit="1"] .sheet-delete-button{
background:#effaf2;
}
.admin-sheet[data-sheet-edit="1"] .sheet-row-lock-button,
.admin-sheet[data-sheet-edit="1"] .sheet-row-save-button{
background:#effaf2;
}
.admin-sheet tr.sheet-row-edit td,
.admin-sheet tr.sheet-row-edit .sheet-field,
.admin-sheet tr.sheet-row-edit .sheet-row-lock-button,
.admin-sheet tr.sheet-row-edit .sheet-row-save-button,
.admin-sheet tr.sheet-row-edit .sheet-delete-button{
background:#effaf2!important;
}
.sheet-row-lock-button:hover,
.sheet-row-save-button:hover{
background:#e7f5ee;
}
.sheet-delete-button:hover{
background:#ffe4e4;
}
.sheet-row-lock-button svg,
.sheet-row-save-button svg,
.sheet-delete-button svg{
width:17px;
height:17px;
fill:none;
stroke:currentColor;
stroke-width:2;
stroke-linecap:round;
stroke-linejoin:round;
}
.row-lock-open-icon{
display:none!important;
}
.admin-sheet tr.sheet-row-edit .row-lock-closed-icon{
display:none!important;
}
.admin-sheet tr.sheet-row-edit .row-lock-open-icon{
display:block!important;
}
.stato-fattura{
display:inline-block;
min-width:62px;
padding:3px 7px;
font-size:12px;
font-weight:bold;
text-align:center;
}
.stato-fattura.da-fare{
background:#fff3d7;
color:#8a5a00;
}
.stato-fattura.emessa{
background:#e7f5ee;
color:#12643f;
}
.stato-fattura.esente{
background:#eef2f6;
color:#33424f;
}
.fatture-page{
display:block;
}
.fatture-summary{
display:flex;
gap:12px;
margin:16px 18px 12px;
flex-wrap:wrap;
}
.fatture-summary div{
background:#ffffff;
border:1px solid #d6dde5;
padding:7px 10px;
box-sizing:border-box;
min-width:132px;
display:grid;
grid-template-columns:1fr auto;
gap:2px 8px;
align-items:center;
}
.fatture-summary span,
.fatture-summary small{
display:block;
color:#5c6874;
font-size:12px;
}
.fatture-summary strong{
display:block;
grid-row:1 / span 2;
grid-column:2;
margin:0;
font-size:20px;
color:#1c252e;
line-height:1;
}
.fatture-note{
display:inline-flex;
align-items:center;
min-height:24px;
margin:4px 18px 14px;
padding:4px 9px;
background:#fff9dc;
border:1px solid #eadca8;
color:#5a4820;
font-size:12px;
font-weight:bold;
}
.admin-operatori-box{
max-width:980px;
}
.admin-utenti-box{
max-width:1120px;
}
.admin-utenti-count{
padding:18px 16px;
color:#1c252e;
font-size:32px;
font-weight:bold;
line-height:1;
}
.admin-utenti-table{
min-width:660px;
}
.admin-table-wrap{
overflow:auto;
}
.admin-operator-table{
width:100%;
min-width:660px;
border-collapse:collapse;
font-size:14px;
}
.admin-operator-table th,
.admin-operator-table td{
padding:8px 10px;
border:1px solid #d6dde3;
text-align:left;
}
.admin-operator-table th{
background:#f3f7fa;
color:#24323d;
}
.fatture-filter-select{
min-width:132px;
}
.fatture-sheet table{
min-width:980px;
}
.fatture-sheet th:nth-child(1),
.fatture-sheet td:nth-child(1){
width:54px;
}
.fatture-sheet th:nth-child(2),
.fatture-sheet td:nth-child(2){
width:78px;
}
.fatture-sheet th:nth-child(3),
.fatture-sheet td:nth-child(3){
width:86px;
}
.fatture-sheet th:nth-child(4),
.fatture-sheet td:nth-child(4){
width:36%;
}
.fatture-sheet th:nth-child(5),
.fatture-sheet td:nth-child(5){
width:72px;
}
.fatture-sheet th:nth-child(6),
.fatture-sheet td:nth-child(6){
width:116px;
}
.fatture-sheet th:nth-child(7),
.fatture-sheet td:nth-child(7){
width:94px;
}
.fatture-sheet th:nth-child(8),
.fatture-sheet td:nth-child(8){
width:108px;
}
.fatture-sheet th:nth-child(9),
.fatture-sheet td:nth-child(9){
width:92px;
}
.fatture-sheet tbody td{
padding:6px 8px;
line-height:18px;
vertical-align:middle;
}
.fatture-sheet tbody tr:nth-child(even) td{
background:#f8fafc;
}
.fatture-sheet tbody tr:hover td{
background:#eaf4ff;
}
.fatture-sheet .col-importo{
text-align:center!important;
white-space:nowrap;
}
.fatture-sheet .col-data{
text-align:center!important;
}
.fatture-sheet .col-numero{
text-align:center!important;
white-space:nowrap;
}
.fatture-sheet .col-cliente{
line-height:18px;
}
.fatture-sheet .col-invio{
text-align:center!important;
}
.fatture-sheet .col-fattura-link{
padding:4px 5px;
text-align:center;
}
.stato-invio{
display:inline-block;
min-width:68px;
padding:3px 5px;
font-size:12px;
font-weight:bold;
text-align:center;
}
.stato-invio.non-pronta{
background:#fff3d7;
color:#8a5a00;
}
.stato-invio.da-inviare{
background:#e8f1ff;
color:#1d5fa8;
}
.stato-invio.inviata{
background:#e7f5ee;
color:#12643f;
}
.stato-invio.non-previsto{
background:#eef2f6;
color:#33424f;
}
.stato-spedizione{
display:inline-block;
min-width:78px;
padding:3px 5px;
font-size:12px;
font-weight:bold;
text-align:center;
}
.stato-spedizione.da-valutare{
background:#fff3d7;
color:#8a5a00;
}
.stato-spedizione.in-elaborazione{
background:#fff3d7;
color:#8a5a00;
}
.stato-spedizione.non-necessaria{
background:#eef2f6;
color:#33424f;
}
.stato-spedizione.da-spedire{
background:#e8f1ff;
color:#1d5fa8;
}
.stato-spedizione.spedita{
background:#e7f5ee;
color:#12643f;
}
.stato-spedizione.chiusa{
background:#e7f5ee;
color:#12643f;
}
.stato-spedizione.altro{
background:#f3edf7;
color:#5d3972;
}
.fatture-small-button{
display:inline-flex;
align-items:center;
justify-content:center;
min-width:78px;
min-height:27px;
padding:0 8px;
box-sizing:border-box;
background:#1d5fa8;
color:#ffffff;
font-size:12px;
font-weight:bold;
text-decoration:none;
}
.fatture-small-button.disattivo{
background:#eef2f6;
color:#6d7a86;
}
.fatture-icon-button{
display:inline-flex;
align-items:center;
justify-content:center;
width:30px;
height:28px;
box-sizing:border-box;
border:1px solid #b9c7d4;
background:#fffbe8;
color:#1d5fa8;
text-decoration:none;
}
.fatture-icon-button svg{
width:17px;
height:17px;
fill:none;
stroke:currentColor;
stroke-width:2;
stroke-linecap:round;
stroke-linejoin:round;
}
.fatture-icon-button:hover{
background:#eaf4ff;
}
.fatture-sheet .col-fattura-link{
padding:0;
}
.fatture-row-actions{
display:grid;
grid-template-columns:1fr;
height:100%;
min-height:34px;
}
.fatture-row-actions a{
text-decoration:none;
}
.spedizioni-sheet table{
min-width:1120px;
}
.spedizioni-sheet th:nth-child(1),
.spedizioni-sheet td:nth-child(1){
width:54px;
}
.spedizioni-sheet th:nth-child(2),
.spedizioni-sheet td:nth-child(2){
width:84px;
}
.spedizioni-sheet th:nth-child(3),
.spedizioni-sheet td:nth-child(3){
width:76px;
}
.spedizioni-sheet th:nth-child(4),
.spedizioni-sheet td:nth-child(4){
width:9%;
}
.spedizioni-sheet th:nth-child(5),
.spedizioni-sheet td:nth-child(5){
width:44%;
}
.spedizioni-sheet th:nth-child(6),
.spedizioni-sheet td:nth-child(6){
width:53px;
}
.spedizioni-sheet th:nth-child(7),
.spedizioni-sheet td:nth-child(7){
width:110px;
}
.spedizioni-sheet th:nth-child(8),
.spedizioni-sheet td:nth-child(8){
width:82px;
}
.spedizioni-sheet th:nth-child(9),
.spedizioni-sheet td:nth-child(9){
width:92px;
}
.spedizioni-sheet tbody td{
padding:0;
line-height:18px;
vertical-align:middle;
}
.spedizioni-sheet .col-data,
.spedizioni-sheet .col-pratica,
.spedizioni-sheet .col-corriere,
.spedizioni-sheet .col-tracking,
.spedizioni-sheet .col-spedizione-stato{
text-align:center!important;
}
.spedizioni-sheet .sheet-field{
font-size:13px;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
.spedizione-address-row{
display:grid;
grid-template-columns:68px minmax(70px,1fr) 54px;
gap:0;
}
.spedizioni-sheet .col-indirizzo{
white-space:nowrap;
}
.spedizioni-sheet .col-indirizzo > .sheet-field{
display:inline-block;
width:40%;
vertical-align:top;
}
.spedizioni-sheet .col-indirizzo .spedizione-address-row{
display:inline-grid;
width:56%;
vertical-align:top;
}
.spedizioni-sheet .col-spedizione-azioni{
padding:0;
}
.spedizioni-sheet .sheet-row-actions{
display:grid;
grid-template-columns:1fr 1fr 1fr;
height:100%;
min-height:34px;
}
.pratiche-sheet table{
min-width:980px;
}
.pratiche-sheet th:nth-child(1),
.pratiche-sheet td:nth-child(1){
width:54px;
}
.pratiche-sheet th:nth-child(2),
.pratiche-sheet td:nth-child(2){
width:104px;
}
.pratiche-sheet th:nth-child(3),
.pratiche-sheet td:nth-child(3){
width:86px;
}
.pratiche-sheet th:nth-child(5),
.pratiche-sheet td:nth-child(5){
width:30%;
}
.pratiche-sheet th:nth-child(6),
.pratiche-sheet td:nth-child(6){
width:118px;
}
.pratiche-sheet th:nth-child(7),
.pratiche-sheet td:nth-child(7),
.pratiche-sheet th:nth-child(8),
.pratiche-sheet td:nth-child(8),
.pratiche-sheet th:nth-child(9),
.pratiche-sheet td:nth-child(9){
width:82px;
}
.pratiche-sheet tbody td{
padding:6px 8px;
line-height:18px;
vertical-align:middle;
}
.pratiche-sheet .col-pratica,
.pratiche-sheet .col-data,
.pratiche-sheet .col-pratica-stato,
.pratiche-sheet .col-contatore{
text-align:center!important;
}
.stato-pratica{
display:inline-block;
min-width:82px;
padding:3px 5px;
font-size:12px;
font-weight:bold;
text-align:center;
}
.stato-pratica.in-elaborazione,
.stato-pratica.da-fare{
background:#fff3d7;
color:#8a5a00;
}
.stato-pratica.in-lavorazione{
background:#e8f1ff;
color:#1d5fa8;
}
.stato-pratica.in-attesa{
background:#f3edf7;
color:#5d3972;
}
.stato-pratica.chiusa{
background:#e7f5ee;
color:#12643f;
}
.stato-pratica.annullata{
background:#ffe4e4;
color:#7d1f1f;
}
.stato-pratica.altro{
background:#eef2f6;
color:#33424f;
}
.pratiche-new-box{
margin-bottom:14px;
}
.pratiche-new-grid{
display:grid;
grid-template-columns:140px minmax(170px,1fr) minmax(230px,2fr) 140px 160px;
gap:10px;
align-items:end;
}
.pratiche-new-grid label{
display:flex;
flex-direction:column;
gap:5px;
font-size:12px;
font-weight:700;
color:#475569;
}
.pratiche-new-grid input,
.pratiche-new-grid select,
.pratiche-status-form select{
height:34px;
border:1px solid #d7dde6;
border-radius:6px;
background:#fff;
padding:0 9px;
font-size:13px;
color:#1f2937;
}
.pratiche-new-grid .campo-note{
grid-column:1 / -1;
}
.pratiche-status-form{
margin:0;
}
.pratiche-status-form select{
width:140px;
}
.pratiche-tipo{
display:block;
margin-top:3px;
font-size:11px;
font-weight:700;
color:#64748b;
text-transform:uppercase;
}
.pratiche-sheet table{
min-width:1060px;
}
.pratiche-sheet th:nth-child(10),
.pratiche-sheet td:nth-child(10){
width:70px;
text-align:center;
}
.fattura-edit-actions{
display:flex;
gap:8px;
align-items:center;
margin:0 18px 12px;
}
.fattura-edit-actions button{
width:auto;
min-width:120px;
height:29px;
margin:0;
padding:0 12px;
border:1px solid #1d5fa8;
background:#256db8;
color:#ffffff;
font-weight:bold;
cursor:pointer;
}
.fattura-edit-layout{
display:grid;
grid-template-columns:minmax(420px,1fr) minmax(340px,430px);
gap:16px;
margin:0 18px 18px;
align-items:start;
}
.fattura-edit-column .admin-box{
margin:0 0 16px;
max-width:none;
}
.fattura-fields-grid{
display:grid;
grid-template-columns:140px 1fr;
gap:10px 12px;
padding:16px;
align-items:center;
}
.fattura-fields-grid label{
margin:0;
}
.fattura-fields-grid input,
.fattura-fields-grid select,
.fattura-fields-grid textarea{
margin:0;
}
.fattura-fields-grid textarea{
min-height:72px;
resize:vertical;
}
.admin-user-edit-layout{
display:flex;
flex-direction:column;
gap:16px;
margin:0 18px 18px;
}
.admin-user-edit-layout .fattura-edit-column,
.admin-user-edit-layout .fattura-preview-column{
width:100%;
}
.admin-user-edit-layout .admin-box{
max-width:520px;
margin:0;
width:100%;
}
.admin-user-edit-grid{
display:grid;
grid-template-columns:128px minmax(0,1fr);
gap:10px 12px;
padding:16px;
align-items:center;
}
.admin-user-edit-grid label{
margin:0;
}
.admin-user-edit-grid input,
.admin-user-edit-grid select,
.admin-user-edit-grid textarea{
margin:0;
min-width:0;
}
.admin-user-edit-grid textarea{
min-height:72px;
resize:vertical;
}
.admin-user-edit-actions{
display:flex;
gap:8px;
align-items:center;
flex-wrap:wrap;
}
.fattura-preview{
background:#ffffff;
border:1px solid #d6dde3;
padding:18px;
color:#1c252e;
}
.fattura-preview-head{
display:flex;
justify-content:space-between;
gap:16px;
padding-bottom:14px;
border-bottom:1px solid #d6dde3;
}
.fattura-preview-head span{
display:block;
color:#5c6874;
font-size:12px;
}
.fattura-preview-head strong{
display:block;
font-size:22px;
}
.fattura-preview-parties{
display:grid;
grid-template-columns:1fr 1fr;
gap:18px;
padding:16px 0;
}
.fattura-preview h3{
margin:0 0 8px;
font-size:14px;
}
.fattura-preview p{
margin:0 0 4px;
font-size:13px;
}
.fattura-preview-table{
width:100%;
border-collapse:collapse;
font-size:13px;
}
.fattura-preview-table th,
.fattura-preview-table td{
padding:8px;
border:1px solid #d6dde3;
text-align:left;
vertical-align:top;
}
.fattura-preview-table th:last-child,
.fattura-preview-table td:last-child{
width:110px;
text-align:right;
}
.fattura-preview-totals{
margin:14px 0 0 auto;
width:220px;
border:1px solid #d6dde3;
border-bottom:0;
}
.fattura-preview-totals div{
display:flex;
justify-content:space-between;
gap:10px;
padding:7px 9px;
border-bottom:1px solid #d6dde3;
}
.fattura-preview-totals span{
color:#5c6874;
}
.fattura-preview-note{
margin-top:14px;
font-size:13px;
color:#4b5563;
}
.pratica-detail-block{
margin-top:18px;
}
.pratica-detail-block h3{
margin:0 0 8px;
font-size:14px;
}
.pratica-world{
overflow:auto;
}
.pratica-detail-table{
min-width:900px;
}
.pratica-detail-table th,
.pratica-detail-table td{
font-size:12px;
line-height:16px;
}
.pratica-detail-table td span{
display:block;
margin-top:3px;
color:#64717d;
}
.pratica-user-card{
margin:12px 16px 16px;
padding:10px 12px;
border:1px solid #d6dde3;
background:#f8fafb;
font-size:13px;
}
.pratica-user-card strong,
.pratica-user-card span,
.pratica-user-card a{
display:block;
margin:0 0 5px;
}
.admin-user-inline-form{
display:grid;
grid-template-columns:repeat(6,minmax(120px,1fr)) 90px;
gap:8px;
align-items:end;
padding-left:8px;
}
.admin-user-inline-form input{
width:100%;
box-sizing:border-box;
padding:8px 9px;
border:1px solid #cbd5df;
}
.admin-user-inline-form button,
.admin-row-actions-inline button{
padding:8px 10px;
border:1px solid #8b9aa4;
background:#f3f6f8;
cursor:pointer;
}
.admin-row-actions-inline{
display:flex;
gap:6px;
justify-content:flex-end;
}
.admin-utenti-table td{
vertical-align:top;
}
@media(max-width:1100px){
.admin-user-inline-form{
grid-template-columns:1fr 1fr;
}
}
@media(max-width:980px){
.fattura-edit-layout{
grid-template-columns:1fr;
}
.admin-user-edit-layout{
margin:0 12px 12px;
}
.admin-user-edit-grid{
grid-template-columns:1fr;
padding:14px;
}
.fattura-preview-parties{
grid-template-columns:1fr;
}
}
@media(max-width:900px){
.fatture-summary{
display:flex;
}
}
@media(max-width:520px){
.fatture-summary{
display:flex;
gap:6px;
margin:10px;
}
.fatture-summary div{
min-width:calc(50% - 3px);
padding:6px 8px;
}
.fatture-summary span,
.fatture-summary small{
font-size:11px;
}
.fatture-summary strong{
font-size:18px;
}
.fatture-note{
display:flex;
margin:0 10px 10px;
font-size:11px;
line-height:14px;
}
}
.menu-icona{
display:inline-flex;
align-items:center;
justify-content:center;
width:28px;
height:28px;
flex:0 0 28px;
color:#b8c8d0;
}
.menu-icona svg{
width:22px;
height:22px;
stroke:currentColor;
fill:none;
stroke-width:2.15;
stroke-linecap:round;
stroke-linejoin:round;
}
.menu-icona .icon-fill{
fill:currentColor;
stroke:none;
}
.admin-menu a.attivo .menu-icona{
color:#ffffff;
}
.admin-menu a:hover .menu-icona{
color:#b8cdfa;
}
@media(max-width:520px){
.admin-body{
overflow:hidden;
}
.admin-title{
position:fixed;
height:50px;
display:flex;
padding-left:9px;
padding-right:9px;
}
.admin-title-left,
.admin-title-actions{
gap:4px;
}
.admin-title-left{
gap:8px;
}
.admin-utility-link{
padding:0 6px;
}
.admin-user-chip{
padding:0 6px;
max-width:140px;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}
.admin-brand{
font-size:13.5px;
cursor:pointer;
}
.admin-utility-link,
.admin-user-chip{
font-size:90%;
}
.admin-icon-button{
width:34px;
min-height:34px;
}
.admin-menu{
position:fixed;
top:50px;
bottom:0;
left:0;
width:58px;
padding:0;
transition:transform .18s ease;
}
.admin-menu-chiuso .admin-menu{
transform:translateX(-58px);
}
.admin-menu a{
display:flex;
justify-content:center;
margin:0;
padding:8px 8px;
}
.admin-menu a.sub-link{
padding:3px 8px;
}
.admin-menu a.sub-link.attivo{
background:#2a4d68;
}
.admin-menu a.attivo{
background:linear-gradient(90deg,#1f5f9f 0%,#316ee8 65%,#2a65c8 100%);
text-decoration:none;
}
.admin-content{
position:fixed;
top:50px;
right:0;
bottom:0;
left:58px;
padding:0;
overflow:auto;
transition:left .18s ease;
}
.admin-menu-chiuso .admin-content{
left:0;
}
.admin-content h1{
padding:10px;
}
.admin-box{
margin:14px 10px;
}
.menu-testo{
display:none;
}
.menu-icona{
width:28px;
}
.admin-sheet-actions button{
height:32px;
padding:0 8px;
font-size:12px;
}
.admin-sheet table{
min-width:1176px;
}
.admin-sheet th:nth-child(1),
.admin-sheet td:nth-child(1){
width:62px;
}
.admin-sheet th:nth-child(2),
.admin-sheet td:nth-child(2){
width:96px;
}
.admin-sheet th:nth-child(3),
.admin-sheet td:nth-child(3){
width:92px;
}
.admin-sheet th:nth-child(4),
.admin-sheet td:nth-child(4){
width:210px;
}
.admin-sheet th:nth-child(5),
.admin-sheet td:nth-child(5){
width:138px;
}
.admin-sheet th:nth-child(6),
.admin-sheet td:nth-child(6){
width:285px;
}
.admin-sheet th:nth-child(7),
.admin-sheet td:nth-child(7){
width:150px;
}
.admin-sheet th:nth-child(8),
.admin-sheet td:nth-child(8){
width:112px;
}
.admin-sheet th:nth-child(9),
.admin-sheet td:nth-child(9){
width:96px;
}
.sheet-period{
min-height:32px;
}
.sheet-action-icon,
.sheet-action-icon svg{
width:17px;
height:17px;
}
.admin-import-box{
margin:10px;
}
.admin-import-form{
display:none;
}
.admin-import-modal-backdrop{
top:50px;
left:58px;
padding:8px;
align-items:flex-start;
}
.admin-menu-chiuso .admin-import-modal-backdrop{
left:0;
}
.admin-import-modal{
width:100%;
max-height:calc(100vh - 66px);
box-sizing:border-box;
}
.admin-import-modal-title{
padding:8px 10px;
font-size:16px;
}
.admin-import-result{
margin:8px;
}
.admin-import-confirm-actions a,
.admin-import-confirm-actions button{
flex:1;
text-align:center;
min-width:0;
}
.admin-import-grid{
grid-template-columns:1fr;
}
.admin-import-grid div{
padding:7px 8px;
font-size:14px;
}
.admin-import-grid div.wide{
grid-column:span 1;
}
.admin-import-msg{
margin:8px;
font-size:13px;
}
.admin-import-duplicate{
display:block;
line-height:1.35;
}
.admin-import-duplicate span{
margin-right:5px;
}
}

/* RIFINITURA ADMIN FINALE */
.admin-body{
background:#eef2f5;
}
.admin-title{
height:50px;
padding:0 18px 0 0;
background:
linear-gradient(90deg,#1d579c 0%,#316ee8 35%,#8fbce8 50%,#316ee8 65%,#1d579c 100%) left bottom/200% 3px repeat-x,
radial-gradient(circle at 18% 0%,rgba(49,110,232,.24),transparent 32%),
linear-gradient(100deg,#010304 0%,#080e15 34%,#0f1b27 68%,#142c43 100%);
animation:adminTitleLine 12s linear infinite;
border-bottom:0;
box-shadow:0 2px 10px rgba(16,24,32,.18);
}
.admin-brand{
display:inline-flex;
align-items:center;
min-height:46px;
padding:0 4px 0 0;
margin-left:-10px;
font-size:16px;
letter-spacing:0;
}
.admin-start-button{
display:inline-flex;
align-items:center;
justify-content:center;
width:46px;
height:38px;
margin:0;
padding:0;
border:0;
background:transparent;
color:#aebfc9;
cursor:pointer;
-webkit-tap-highlight-color:transparent;
}
.admin-start-button:hover{
background:rgba(255,255,255,.10);
}
.admin-start-button:active,
.admin-start-button:focus,
.admin-start-button:focus-visible{
background:transparent;
outline:0;
box-shadow:none;
filter:none;
appearance:none;
-webkit-appearance:none;
}
.admin-start-button::-moz-focus-inner{
border:0;
}
.admin-start-button svg{
width:22px;
height:22px;
stroke:currentColor;
stroke-width:2;
fill:none;
stroke-linecap:round;
stroke-linejoin:round;
}
.admin-start-button .icon-fill{
fill:currentColor;
stroke:none;
}
.admin-user-chip,
.admin-icon-button{
min-height:34px;
border:0;
background:transparent;
}
.admin-user-chip:hover,
.admin-icon-button:hover{
background:rgba(255,255,255,.08);
}
.admin-user-icon{
background:rgba(185,216,255,.16);
}
.admin-menu{
top:50px;
width:198px;
background:#18242e;
border-right:1px solid #cfd8df;
box-shadow:2px 0 7px rgba(16,24,32,.12);
}
.admin-menu-chiuso .admin-menu{
transform:translateX(-198px);
}
.admin-menu a{
min-height:38px;
padding:6px 12px;
border-left:0;
color:#dce6ec;
font-size:14px;
}
.admin-menu a.sub-link{
min-height:30px;
padding:3px 12px 3px 26px;
font-size:13px;
color:#c6d4dc;
background:#111b23;
}
.admin-menu a.attivo{
background:#223544;
color:#ffffff;
}
.admin-menu a.sub-link.attivo{
background:#2b4254;
}
.admin-menu a.attivo:after{
display:none;
}
.admin-menu a:hover{
background:#243746;
color:#ffffff;
}
.admin-menu a:focus-visible{
background:#2f5f86;
color:#ffffff;
outline:0;
box-shadow:
inset 0 0 0 1px rgba(255,255,255,.18),
inset 0 0 0 2px #8fd0ff;
}
.admin-menu a.sub-link:focus-visible{
background:#396f99;
}
.admin-menu a:focus-visible .menu-icona{
color:#ffffff;
}
.admin-menu a.sub-link .menu-icona{
transform:scale(.86);
opacity:.82;
}
.admin-menu a.sub-link + a:not(.sub-link){
border-top:1px solid rgba(255,255,255,.08);
}
.menu-icona{
width:25px;
height:25px;
flex-basis:25px;
color:#aebfc9;
}
.menu-icona svg{
width:20px;
height:20px;
stroke-width:2;
}
.admin-content{
top:50px;
left:198px;
background:#eef2f5;
}
.admin-menu-chiuso .admin-content{
left:0;
}
.admin-content h1{
padding:14px 20px;
background:#ffffff;
border-bottom:1px solid #d7e0e7;
box-shadow:0 1px 4px rgba(16,24,32,.04);
font-size:22px;
letter-spacing:0;
}
.admin-box,
.admin-sheet,
.admin-import-box,
.fatture-summary div,
.fattura-preview{
border-color:#d4dde5;
box-shadow:0 1px 5px rgba(16,24,32,.06);
}
.admin-box h2,
.admin-sheet-head{
background:#f8fafb;
border-color:#d4dde5;
}
.admin-dashboard-button,
.admin-box button,
.admin-backup-button,
.admin-sheet-actions button,
.fattura-edit-actions button,
.fatture-small-button{
border-color:#245d9d;
background:#2f6fbe;
}
.admin-dashboard-button:hover,
.admin-box button:hover,
.admin-backup-button:hover,
.admin-sheet-actions button:hover,
.fattura-edit-actions button:hover,
.fatture-small-button:hover{
background:#245d9d;
}
.sheet-import-button{
border-color:#1f7b54!important;
background:#279365!important;
}
.sheet-import-button:hover{
background:#1f7b54!important;
}
.admin-sheet th{
background:#f3f7fa;
color:#24323d;
}
.admin-sheet tbody tr:hover td,
.fatture-sheet tbody tr:hover td{
background:#eaf3fb;
}
@media(max-width:520px){
.admin-title{
height:50px;
padding-left:4px;
padding-right:8px;
}
.admin-brand{
min-height:46px;
font-size:13px;
padding-left:5px;
margin-left:0;
}
.admin-start-button{
width:34px;
height:34px;
margin-left:7px;
margin-right:8px;
background:transparent!important;
box-shadow:none!important;
}
.admin-start-button:hover,
.admin-start-button:active,
.admin-start-button:focus,
.admin-start-button:focus-visible{
background:transparent!important;
box-shadow:none!important;
outline:0!important;
}
.admin-start-button svg{
width:20px;
height:20px;
}
.admin-menu{
top:50px;
width:58px;
}
.admin-menu-chiuso .admin-menu{
transform:translateX(-58px);
}
.admin-menu a{
min-height:38px;
padding:6px;
border-left:0;
}
.admin-menu a.sub-link{
min-height:30px;
padding:3px 6px;
}
.admin-menu a.sub-link{
background:#111b23;
}
.admin-menu a.sub-link .menu-icona{
transform:scale(.82);
opacity:.78;
}
.admin-menu a.sub-link.attivo{
background:#2b4254;
}
.admin-menu a.sub-link + a:not(.sub-link){
border-top:1px solid rgba(255,255,255,.08);
}
.admin-content{
top:50px;
left:58px;
}
.admin-menu-chiuso .admin-content{
left:0;
}
.admin-content h1{
padding:11px 12px;
font-size:20px;
}
}

/* PAGAMENTI MOBILE - contenimento testata, pulsanti e tabella */
@media(max-width:520px){
.admin-sheet-form{
overflow:hidden;
}
.admin-sheet-head{
display:flex;
flex-direction:column;
align-items:stretch;
gap:9px;
margin:10px 10px 0;
padding:9px;
box-sizing:border-box;
}
.sheet-title-block{
min-width:0;
width:100%;
}
.admin-sheet h2{
font-size:16px;
line-height:18px;
}
.sheet-title-summary{
margin-top:3px;
font-size:12px;
line-height:16px;
}
.sheet-title-summary span{
display:block;
margin-left:0;
}
.admin-sheet-tools{
width:100%;
display:flex;
flex-direction:column;
align-items:stretch;
gap:8px;
}
.sheet-period{
width:100%;
display:grid;
grid-template-columns:72px minmax(0,1fr);
gap:6px;
padding:5px;
box-sizing:border-box;
}
.period-select{
width:100%;
min-width:0;
height:30px;
font-size:13px;
}
.admin-sheet-actions{
display:grid;
grid-template-columns:1fr 1fr;
gap:6px;
width:100%;
}
.admin-sheet-actions button{
width:100%;
height:34px;
padding:0 6px;
box-sizing:border-box;
overflow:hidden;
white-space:nowrap;
}
.sheet-action-text{
font-size:12px;
line-height:12px;
}
.admin-sheet-msg{
margin:0 10px;
box-sizing:border-box;
}
.admin-sheet{
margin:0 10px 14px;
max-width:calc(100% - 20px);
box-sizing:border-box;
overflow-x:auto;
overflow-y:hidden;
-webkit-overflow-scrolling:touch;
}
.admin-sheet table{
min-width:980px;
}
.admin-menu-chiuso .admin-sheet table{
min-width:930px;
}
}

/* PRATICHE - layout operativo compatto */
.pratiche-page{
padding-bottom:18px;
}
.pratiche-page .admin-sheet-head{
background:#f8fafb;
border-color:#d4dde5;
box-shadow:0 1px 5px rgba(16,24,32,.05);
}
.pratiche-new-box{
margin:12px 18px;
padding:0;
overflow:hidden;
}
.pratiche-new-box h2{
margin:0;
padding:0;
border:0;
background:transparent;
box-shadow:none;
font-size:18px;
line-height:20px;
color:#17232c;
}
.pratiche-new-head{
display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
padding:11px 12px;
border-bottom:1px solid #d4dde5;
background:#f8fafb;
}
.pratiche-new-head span{
display:block;
margin-top:2px;
font-size:12px;
font-weight:bold;
color:#60707d;
}
.pratiche-new-box form{
padding:10px 12px;
}
.pratiche-new-grid{
display:grid;
grid-template-columns:124px minmax(150px,1.1fr) minmax(280px,2fr) 124px 142px minmax(190px,1.2fr) 92px;
gap:7px;
align-items:end;
}
.pratiche-new-grid label{
font-size:12px;
line-height:14px;
color:#42515e;
}
.pratiche-new-grid input,
.pratiche-new-grid select{
height:34px;
border:1px solid #cfd8df;
border-radius:0;
background:#fffbe8;
box-shadow:inset 0 1px 0 rgba(16,24,32,.03);
font-size:14px;
font-weight:normal;
}
.pratiche-new-grid input:focus,
.pratiche-new-grid select:focus,
.pratiche-status-form select:focus{
outline:0;
border-color:#7ca7d8;
background:#effaf2;
}
.pratiche-new-grid input::placeholder{
color:#8a98a5;
}
.pratiche-new-box .admin-form-actions{
margin:0;
display:block;
}
.pratiche-new-box .admin-form-actions button{
width:100%;
height:34px;
margin:0;
padding:0 8px;
border-radius:0;
font-size:13px;
}
.pratiche-sheet{
margin-top:0;
}
.pratiche-sheet table{
min-width:1120px;
}
.pratiche-sheet th{
height:34px;
padding:6px 8px;
background:#f3f7fa;
font-size:13px;
}
.pratiche-sheet tbody td{
padding:5px 8px;
font-size:13px;
line-height:17px;
}
.pratiche-sheet th:nth-child(1),
.pratiche-sheet td:nth-child(1){
width:50px;
}
.pratiche-sheet th:nth-child(2),
.pratiche-sheet td:nth-child(2){
width:98px;
}
.pratiche-sheet th:nth-child(3),
.pratiche-sheet td:nth-child(3){
width:82px;
}
.pratiche-sheet th:nth-child(4),
.pratiche-sheet td:nth-child(4){
width:18%;
}
.pratiche-sheet th:nth-child(5),
.pratiche-sheet td:nth-child(5){
width:28%;
}
.pratiche-sheet th:nth-child(6),
.pratiche-sheet td:nth-child(6){
width:150px;
}
.pratiche-sheet th:nth-child(7),
.pratiche-sheet td:nth-child(7),
.pratiche-sheet th:nth-child(8),
.pratiche-sheet td:nth-child(8),
.pratiche-sheet th:nth-child(9),
.pratiche-sheet td:nth-child(9){
width:72px;
}
.pratiche-sheet th:nth-child(10),
.pratiche-sheet td:nth-child(10){
width:92px;
}
.pratiche-status-form select{
width:134px;
height:30px;
border:1px solid #cfd8df;
border-radius:0;
background:#fffbe8;
font-size:12px;
font-weight:bold;
color:#24323d;
}
.pratiche-tipo{
display:inline-block;
margin:4px 0 0;
padding:2px 5px;
border:1px solid #d6dde3;
background:#f8fafb;
font-size:10px;
line-height:12px;
color:#526271;
}
.pratiche-delete-form{
margin:0;
height:100%;
}
.pratiche-row-actions{
display:grid;
grid-template-columns:1fr 1fr 1fr;
height:100%;
min-height:34px;
}
.col-pratica-azione{
padding:0!important;
}

@media(max-width:900px){
.pratiche-new-grid{
grid-template-columns:1fr 1fr;
}
.pratiche-new-grid .campo-note{
grid-column:1 / -1;
}
.pratiche-new-box .admin-form-actions{
grid-column:1 / -1;
}
}

@media(max-width:520px){
.pratiche-new-box{
margin:10px;
}
.pratiche-new-head{
padding:10px;
}
.pratiche-new-box form{
padding:10px;
}
.pratiche-new-grid{
grid-template-columns:1fr;
gap:8px;
}
.pratiche-new-grid .campo-note{
grid-column:auto;
}
.pratiche-new-box .admin-form-actions{
grid-column:auto;
}
.pratiche-new-box .admin-form-actions button{
width:100%;
}
.pratiche-sheet table{
min-width:1080px;
}
}

/* REGISTRI OPERATIVI
   Un solo componente per Pagamenti, Pratiche, Fatture e Spedizioni.
   La cella contiene il campo: entrambi usano le stesse variabili colore. */
.admin-sheet.registro-operativo{
  --registro-header-bg:linear-gradient(180deg,#eef4f7 0%,#e2edf3 100%);
  --registro-header-id-bg:linear-gradient(180deg,#dce8f0 0%,#cddfe9 100%);
  --registro-header-text:#263746;
  --registro-cell-bg:#f5f9fb;
  --registro-cell-alt:#eaf2f7;
  --registro-cell-hover:#dcebf5;
  --registro-cell-edit:#e5f4ec;
  --registro-field-bg:#ffffff;
  --registro-field-alt:#f4f8fb;
  --registro-field-hover:#f8fcff;
  --registro-field-edit:#ffffff;
  --registro-field-border:#cbd9e3;
  --registro-id-bg:#d8e5ee;
  --registro-id-alt:#c9dce8;
  --registro-id-hover:#b8d2e3;
  --registro-border:#cbd9e3;
  --registro-text:#17232c;
  --registro-muted:#60707d;
  --registro-focus:#4d91cf;
  --registro-action-bg:#eef4f8;
  --registro-action-alt:#e3eef5;
  --registro-action-hover:#d7e8f3;
  color:var(--registro-text);
  background:var(--registro-cell-bg);
  border-color:var(--registro-border);
}

.admin-sheet.registro-operativo table{
  width:100%!important;
  min-width:1120px!important;
  table-layout:fixed!important;
  border-collapse:collapse!important;
}

.admin-sheet.registro-operativo th{
  height:34px!important;
  padding:6px 8px!important;
  background:var(--registro-header-bg)!important;
  color:var(--registro-header-text)!important;
  border-right:1px solid var(--registro-border)!important;
  border-bottom:1px solid var(--registro-border)!important;
  font-family:Consolas,"Courier New",monospace!important;
  font-size:13px!important;
  font-weight:600!important;
  line-height:18px!important;
  text-align:center!important;
  white-space:nowrap!important;
}

.admin-sheet.registro-operativo td{
  height:34px!important;
  min-height:34px!important;
  padding:0!important;
  background:var(--registro-cell-bg)!important;
  color:var(--registro-text)!important;
  border-right:1px solid var(--registro-border)!important;
  border-bottom:1px solid var(--registro-border)!important;
  vertical-align:stretch!important;
  line-height:1!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}

.admin-sheet.registro-operativo tbody tr:nth-child(even) td{
  background:var(--registro-cell-alt)!important;
}

.admin-sheet.registro-operativo tbody tr:hover td{
  background:var(--registro-cell-hover)!important;
}

.admin-sheet.registro-operativo .sheet-field,
.admin-sheet.registro-operativo .sheet-select,
.admin-sheet.registro-operativo .pratiche-status-form select{
  display:block!important;
  width:100%!important;
  height:34px!important;
  min-height:34px!important;
  margin:0!important;
  padding:3px 7px!important;
  border:1px solid var(--registro-field-border)!important;
  border-radius:0!important;
  background-color:var(--registro-field-bg)!important;
  color:var(--registro-text)!important;
  -webkit-text-fill-color:var(--registro-text)!important;
  opacity:1!important;
  box-shadow:inset 0 1px 1px rgba(15,30,43,.04)!important;
  box-sizing:border-box!important;
  font-family:Consolas,"Courier New",monospace!important;
  font-size:13px!important;
  font-weight:400!important;
  line-height:18px!important;
}

.admin-sheet.registro-operativo .sheet-field:disabled,
.admin-sheet.registro-operativo .sheet-select:disabled,
.admin-sheet.registro-operativo .pratiche-status-form select:disabled{
  background-color:var(--registro-field-bg)!important;
  color:var(--registro-text)!important;
  -webkit-text-fill-color:var(--registro-text)!important;
  opacity:1!important;
}

.admin-sheet.registro-operativo .sheet-field::placeholder{
  color:var(--registro-muted)!important;
  -webkit-text-fill-color:var(--registro-muted)!important;
}

/* Alternanza reale: anche i textbox interni cambiano tono con la riga. */
.admin-sheet.registro-operativo tbody tr:nth-child(even) .sheet-field,
.admin-sheet.registro-operativo tbody tr:nth-child(even) .sheet-select,
.admin-sheet.registro-operativo tbody tr:nth-child(even) .pratiche-status-form select{
  background-color:var(--registro-field-alt)!important;
}

.admin-sheet.registro-operativo tbody tr:hover .sheet-field,
.admin-sheet.registro-operativo tbody tr:hover .sheet-select,
.admin-sheet.registro-operativo tbody tr:hover .pratiche-status-form select{
  background-color:var(--registro-field-hover)!important;
  border-color:var(--registro-focus)!important;
}

/* Intestazione e colonna ID più riconoscibili. */
.admin-sheet.registro-operativo thead th:first-child{
  background:var(--registro-header-id-bg)!important;
}

.admin-sheet.registro-operativo .sheet-id{
  display:block!important;
  width:100%!important;
  height:34px!important;
  min-height:34px!important;
  margin:0!important;
  padding:3px 6px!important;
  border:1px solid var(--registro-field-border)!important;
  border-radius:0!important;
  background-color:var(--registro-id-bg)!important;
  color:var(--registro-text)!important;
  -webkit-text-fill-color:var(--registro-text)!important;
  box-sizing:border-box!important;
  line-height:18px!important;
}

.admin-sheet.registro-operativo tbody tr:nth-child(even) .col-id .sheet-id{
  background-color:var(--registro-id-alt)!important;
}

.admin-sheet.registro-operativo tbody tr:hover .col-id .sheet-id{
  background-color:var(--registro-id-hover)!important;
}

.admin-sheet.registro-operativo .sheet-field:focus,
.admin-sheet.registro-operativo .sheet-select:focus,
.admin-sheet.registro-operativo .pratiche-status-form select:focus{
  position:relative;
  z-index:2;
  outline:0!important;
  border-color:var(--registro-focus)!important;
  box-shadow:inset 0 0 0 1px var(--registro-focus),0 0 0 2px color-mix(in srgb,var(--registro-focus) 22%,transparent)!important;
}

.admin-sheet.registro-operativo .sheet-id,
.admin-sheet.registro-operativo .col-id{
  background-color:var(--registro-id-bg)!important;
  color:var(--registro-text)!important;
  -webkit-text-fill-color:var(--registro-text)!important;
  text-align:center!important;
  font-weight:500!important;
}

.admin-sheet.registro-operativo tbody tr:nth-child(even) .col-id,
.admin-sheet.registro-operativo tbody tr:nth-child(even) .col-id .sheet-id{
  background-color:var(--registro-id-alt)!important;
}

.admin-sheet.registro-operativo tbody tr:hover .col-id,
.admin-sheet.registro-operativo tbody tr:hover .col-id .sheet-id{
  background-color:var(--registro-id-hover)!important;
}

.admin-sheet.registro-operativo .col-data,
.admin-sheet.registro-operativo .col-numero,
.admin-sheet.registro-operativo .col-importo,
.admin-sheet.registro-operativo .col-pratica,
.admin-sheet.registro-operativo .col-contatore,
.admin-sheet.registro-operativo .col-corriere,
.admin-sheet.registro-operativo .col-tracking,
.admin-sheet.registro-operativo .col-fattura,
.admin-sheet.registro-operativo .col-invio,
.admin-sheet.registro-operativo .col-pratica-stato,
.admin-sheet.registro-operativo .col-spedizione-stato{
  text-align:center!important;
}

.admin-sheet.registro-operativo .sheet-date-box{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  gap:0!important;
  width:100%!important;
  height:34px!important;
  min-height:34px!important;
}

.admin-sheet.registro-operativo .sheet-date-box .sheet-day{
  border-right:0!important;
  text-align:center!important;
}

.admin-sheet.registro-operativo .sheet-date-box .sheet-month{
  text-align:center!important;
}

.admin-sheet.registro-operativo .sheet-money,
.admin-sheet.registro-operativo .col-importo{
  text-align:center!important;
  font-weight:500!important;
}

.admin-sheet.registro-operativo .col-azioni,
.admin-sheet.registro-operativo .col-fattura-link,
.admin-sheet.registro-operativo .col-pratica-azione,
.admin-sheet.registro-operativo .col-spedizione-azioni{
  padding:0!important;
  background:var(--registro-action-bg)!important;
}

.admin-sheet.registro-operativo .sheet-row-actions,
.admin-sheet.registro-operativo .fatture-row-actions,
.admin-sheet.registro-operativo .pratiche-row-actions,
.admin-sheet.registro-operativo .spedizioni-sheet .sheet-row-actions{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:100%!important;
  height:34px!important;
  min-height:34px!important;
}

.admin-sheet.registro-operativo .sheet-row-lock-button,
.admin-sheet.registro-operativo .sheet-row-save-button,
.admin-sheet.registro-operativo .sheet-delete-button,
.admin-sheet.registro-operativo .fatture-icon-button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:34px!important;
  min-height:34px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:var(--registro-action-bg)!important;
  box-shadow:none!important;
}

.admin-sheet.registro-operativo .sheet-row-lock-button:hover,
.admin-sheet.registro-operativo .sheet-row-save-button:hover,
.admin-sheet.registro-operativo .sheet-delete-button:hover,
.admin-sheet.registro-operativo .fatture-icon-button:hover{
  background:var(--registro-action-hover)!important;
}

.admin-sheet.registro-operativo .sheet-row-lock-button{color:#246eab!important;}
.admin-sheet.registro-operativo .sheet-row-save-button{color:#18734c!important;}
.admin-sheet.registro-operativo .sheet-delete-button{color:#a13d48!important;}

.admin-sheet.registro-operativo tbody tr:nth-child(even) .col-azioni,
.admin-sheet.registro-operativo tbody tr:nth-child(even) .col-fattura-link,
.admin-sheet.registro-operativo tbody tr:nth-child(even) .col-pratica-azione,
.admin-sheet.registro-operativo tbody tr:nth-child(even) .col-spedizione-azioni,
.admin-sheet.registro-operativo tbody tr:nth-child(even) .sheet-row-lock-button,
.admin-sheet.registro-operativo tbody tr:nth-child(even) .sheet-row-save-button,
.admin-sheet.registro-operativo tbody tr:nth-child(even) .sheet-delete-button{
  background:var(--registro-action-alt)!important;
}

.admin-sheet.registro-operativo tbody tr:hover .col-azioni,
.admin-sheet.registro-operativo tbody tr:hover .col-fattura-link,
.admin-sheet.registro-operativo tbody tr:hover .col-pratica-azione,
.admin-sheet.registro-operativo tbody tr:hover .col-spedizione-azioni,
.admin-sheet.registro-operativo tbody tr:hover .sheet-row-lock-button,
.admin-sheet.registro-operativo tbody tr:hover .sheet-row-save-button,
.admin-sheet.registro-operativo tbody tr:hover .sheet-delete-button{
  background:var(--registro-action-hover)!important;
}

.admin-sheet.registro-operativo tr.sheet-row-edit td,
.admin-sheet.registro-operativo[data-sheet-edit="1"] .sheet-empty-row td{
  background:var(--registro-cell-edit)!important;
}

.admin-sheet.registro-operativo tr.sheet-row-edit .sheet-field,
.admin-sheet.registro-operativo tr.sheet-row-edit .sheet-select,
.admin-sheet.registro-operativo tr.sheet-row-edit .pratiche-status-form select,
.admin-sheet.registro-operativo[data-sheet-edit="1"] .sheet-empty-row .sheet-field,
.admin-sheet.registro-operativo[data-sheet-edit="1"] .sheet-empty-row .sheet-select{
  background-color:var(--registro-field-edit)!important;
  border-color:var(--registro-focus)!important;
}

.admin-sheet.registro-operativo tr.sheet-row-edit .col-id,
.admin-sheet.registro-operativo[data-sheet-edit="1"] .sheet-empty-row .col-id{
  background-color:var(--registro-id-bg)!important;
}

.admin-sheet.registro-operativo .sheet-status-field{
  min-width:78px!important;
  height:24px!important;
  min-height:24px!important;
  margin:5px auto!important;
  padding:2px 6px!important;
  border-radius:3px!important;
  font-family:Arial,sans-serif!important;
  font-size:12px!important;
  font-weight:600!important;
  line-height:16px!important;
  text-align:center!important;
}

.admin-sheet.registro-operativo .spedizione-address-line,
.admin-sheet.registro-operativo .col-indirizzo{
  height:34px!important;
  min-height:34px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}

.admin-sheet.registro-operativo .spedizione-address-line{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
}

.admin-sheet.registro-operativo .spedizione-address-line > .sheet-field,
.admin-sheet.registro-operativo .col-indirizzo > .sheet-field{
  display:block!important;
  flex:0 0 52%!important;
  width:52%!important;
  min-width:0!important;
  max-width:52%!important;
}

.admin-sheet.registro-operativo .spedizione-address-row{
  display:grid!important;
  flex:0 0 48%!important;
  grid-template-columns:70px minmax(0,1fr) 54px!important;
  gap:0!important;
  width:48%!important;
  min-width:0!important;
  max-width:48%!important;
  height:34px!important;
  min-height:34px!important;
}

.admin-sheet.registro-operativo .spedizione-address-row .sheet-field{
  min-width:0!important;
}


/* Stati dei registri */
.admin-sheet.registro-operativo .sheet-status-field.stato-fattura.da-fare,
.admin-sheet.registro-operativo .sheet-status-field.stato-spedizione.da-valutare,
.admin-sheet.registro-operativo .sheet-status-field.stato-spedizione.in-elaborazione,
.admin-sheet.registro-operativo .sheet-status-field.stato-pratica.da-fare,
.admin-sheet.registro-operativo .sheet-status-field.stato-pratica.in-elaborazione{
  background:#fff3d7!important;
  color:#7a5200!important;
  border-color:#e7cb77!important;
}
.admin-sheet.registro-operativo .sheet-status-field.stato-fattura.emessa,
.admin-sheet.registro-operativo .sheet-status-field.stato-spedizione.spedita,
.admin-sheet.registro-operativo .sheet-status-field.stato-spedizione.chiusa,
.admin-sheet.registro-operativo .sheet-status-field.stato-pratica.chiusa,
.admin-sheet.registro-operativo .sheet-status-field.stato-invio.inviata{
  background:#e7f5ee!important;
  color:#1f6445!important;
  border-color:#9dd7b9!important;
}
.admin-sheet.registro-operativo .sheet-status-field.stato-pratica.in-lavorazione,
.admin-sheet.registro-operativo .sheet-status-field.stato-spedizione.da-spedire,
.admin-sheet.registro-operativo .sheet-status-field.stato-invio.da-inviare{
  background:#e8f1ff!important;
  color:#235b90!important;
  border-color:#a8c9ee!important;
}
.admin-sheet.registro-operativo .sheet-status-field.stato-pratica.in-attesa,
.admin-sheet.registro-operativo .sheet-status-field.stato-spedizione.altro{
  background:#f5f0f7!important;
  color:#5b4568!important;
  border-color:#d3bddf!important;
}
.admin-sheet.registro-operativo .sheet-status-field.stato-pratica.annullata{
  background:#fff0f0!important;
  color:#823232!important;
  border-color:#efb8b8!important;
}
.admin-sheet.registro-operativo .sheet-status-field.stato-fattura.esente,
.admin-sheet.registro-operativo .sheet-status-field.stato-spedizione.non-necessaria,
.admin-sheet.registro-operativo .sheet-status-field.stato-pratica.altro,
.admin-sheet.registro-operativo .sheet-status-field.stato-invio.non-previsto{
  background:#f1f4f7!important;
  color:#465564!important;
  border-color:#c9d4dd!important;
}

@media(max-width:520px){
  .admin-sheet.registro-operativo table{
    min-width:1120px!important;
  }
  .admin-menu-chiuso .admin-sheet.registro-operativo table{
    min-width:1060px!important;
  }
}

/* MENU MOBILE A SCORRIMENTO - Start mantiene il comportamento originale. */
@media(max-width:520px){
html.admin-menu-mobile-aperto .admin-menu{
width:198px!important;
transform:translateX(0)!important;
z-index:20;
box-shadow:3px 0 12px rgba(7,16,24,.28);
}
html.admin-menu-mobile-aperto .admin-content{
left:58px!important;
}
html.admin-menu-mobile-aperto .menu-testo{
display:inline!important;
min-width:0;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
html.admin-menu-mobile-aperto .admin-menu a{
justify-content:flex-start!important;
padding:6px 12px!important;
}
html.admin-menu-mobile-aperto .admin-menu a.sub-link{
padding:3px 12px 3px 26px!important;
}
html.admin-menu-mobile-aperto .admin-menu a.sub-link .menu-icona{
transform:scale(.86);
opacity:.82;
}
}
