/* Semaforo — diocesi.cloud. Le variabili dei colori degli stati restano originali. */
@media screen{
body{background:#f8fafc;color:#1e293b}.sidebar{background:#fff;color:#1e293b;border-right:1px solid #e2e8f0}.brand{color:#0f172a;font-weight:700}.brand small{color:#b91c1c;font-weight:600}.nav-label{color:#64748b}.sidebar nav a{color:#475569;border-radius:8px}.sidebar nav a.selected{background:#fef2f2;color:#991b1b;box-shadow:inset 3px 0 #b91c1c}.sidebar nav a:hover{background:#f1f5f9}.sidebar-bottom{border-color:#e2e8f0}.sidebar-bottom .small{color:#64748b}.logout{color:#64748b}
.topbar{background:white;border-color:#e2e8f0}.panel,.stats>div{border-color:#e2e8f0;border-radius:16px;box-shadow:0 1px 2px #0f172a03}.primary{background:#b91c1c;color:white;border-radius:9px}.secondary{border-color:#cbd5e1;border-radius:9px}.diocese-logo{border:1px solid #e2e8f0;border-radius:12px}
h1,h2,h3{font-family:inherit;font-weight:700;letter-spacing:-.035em}h1{font-size:30px}.eyebrow{color:#64748b;letter-spacing:.08em}input,select,textarea{border-color:#cbd5e1;color:#1e293b;border-radius:8px}
.login-page{background:#f8fafc;position:relative;padding-top:70px}.login-card{background:#fff;border:1px solid #e2e8f0;border-top:3px solid #b91c1c;border-radius:16px;box-shadow:0 1px 2px #0f172a03}.login-card .eyebrow{color:#b91c1c}.login-card a{color:#b91c1c}
.login-page>.dc-home{position:absolute;top:8px;left:0;right:0}
}
.dc-home{box-sizing:border-box;display:flex;justify-content:flex-end;padding:9px 34px;font:400 12px/1.4 Inter,system-ui,sans-serif}.dc-home a{color:#64748b;text-decoration:none}.dc-home a:hover{color:#0f172a;text-decoration:underline}.dc-home a:focus-visible{outline:2px solid #b91c1c;outline-offset:4px}
@media(max-width:760px){.dc-home{padding:10px 18px}h1{font-size:27px}}
@media print{.dc-home{display:none!important}}

/* Responsive 2026-09-26: solo schermo sotto 1024px. */
@media screen and (max-width:1023px){
 .sidebar{position:static;width:auto;padding:16px 20px;display:block}
 .sidebar .nav-label,.sidebar-bottom{display:none}
 .sidebar nav{margin-top:14px;flex-direction:row;flex-wrap:wrap;gap:8px;overflow:visible}
 .sidebar nav a{display:flex;align-items:center;min-height:44px;padding:10px;font-size:14px;white-space:normal}
 .workspace{margin-left:0}
 .mobile-logout{display:block}
 .topbar{height:auto;min-height:70px;padding:12px 18px;gap:12px;flex-wrap:wrap}
 .topbar>span{font-size:12px}
 .year-picker{flex-wrap:wrap;gap:8px;min-width:0}
 .workspace main{padding:24px 16px}
 .page-heading{flex-wrap:wrap;align-items:flex-start}
 :is(h1,h2,h3,p,label,summary,strong,.account-list a,.batch-row span){overflow-wrap:anywhere}
 :is(.stack,.form-row,.row-between,.table-tools,.page-heading,.two-columns,.history-grid)>*{min-width:0;max-width:100%}
 input:not([type=hidden]):not([type=checkbox]),select,textarea{font-size:16px;min-height:44px;min-width:0}
 :is(button,.button),.mobile-logout button{min-height:44px;min-width:44px;max-width:100%;font-size:14px;white-space:normal;overflow-wrap:anywhere}
 .cell-form .check{width:44px;height:44px;font-size:20px}
 .checkbox-label{min-height:44px}
 .checkbox-label input,input[type=checkbox]{width:24px;height:24px;flex-shrink:0}
 .back-link,.dc-home a,.stack>a{display:inline-flex;align-items:center;min-height:44px}
 :is(.history-card,.admin-item,.disclosure) summary{min-height:44px;padding-top:10px;padding-bottom:10px}
 .history-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}
 .history-card .row-between{flex-wrap:wrap}
 .status-label{font-size:12px;white-space:normal}
 .table-tools{flex-wrap:wrap}
 .table-tools label{min-width:0;max-width:100%}
 .search-label{flex-basis:100%;max-width:none}
 .table-tools select{font-size:16px;max-width:100%}
 .table-scroll,.simple-scroll{position:relative;max-width:100%;-webkit-overflow-scrolling:touch}
 .table-scroll{max-height:65vh;max-height:65dvh;min-height:240px}
 .simple-table{min-width:600px;font-size:14px}
 .table-scroll::before,.simple-scroll::before{content:"Scorri la tabella ↔ per vedere tutte le colonne";display:block;position:sticky;left:0;width:fit-content;max-width:100%;padding:10px 12px;font-size:12px;color:var(--muted);background:white}
 .matrix tbody .entity-col a{display:flex;align-items:center;min-height:44px;overflow-wrap:anywhere}
 .matrix tbody .entity-col{font-size:13px}
 .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .stats span,.small{font-size:13px}
 .stack label,.form-row label{font-size:14px}
 footer{flex-wrap:wrap;gap:8px}
}
@media screen and (max-width:600px){
 .matrix .entity-col{min-width:132px;width:132px;max-width:132px;padding-left:10px;padding-right:10px}
 .matrix .past{font-size:11px}
 .two-columns{grid-template-columns:minmax(0,1fr)}
 .login-page{padding:70px 16px 24px}
 .login-card{padding:28px 20px;min-width:0}
 .history-card{padding:14px}
 .form-row label{flex-basis:100%;min-width:0}
}
@media screen and (max-width:600px){
 .matrix .signal-col{min-width:150px}
 .matrix .signal{max-width:128px;white-space:normal;text-align:left}
}

/* Accesso operatori e amministrazione — 2026-10-01. */
@media screen{
 .login-card .login-operators{margin-top:24px;display:grid;gap:12px}
 .login-card .login-operators h2,.login-card .login-operators p{margin:0}
 .login-card .login-operators a.primary{color:#fff;display:flex;width:100%;min-height:48px;text-align:center;padding:12px 16px;line-height:1.4}
 .login-card .login-divider{border:0;border-top:1px solid #e2e8f0;margin:28px 0 24px}
 .login-card .login-admin-description{margin-bottom:0}
}

