:root{--primary:#e10600;--accent:#f2c94c;--bg:#090b0f;--surface:#141820;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#f7f8fb;background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f7f8fb}button,input,select{font:inherit}.loading{min-height:100vh;display:grid;place-content:center;text-align:center;font-weight:950;font-size:2rem;letter-spacing:.12em}.loading small{font-size:.8rem;color:#818b9d}.shell{min-height:100vh;display:grid;grid-template-columns:220px 1fr}.shell aside{height:100vh;position:sticky;top:0;background:#0e1117;border-right:1px solid #262c36;padding:18px 14px;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;padding:6px 6px 22px}.brand>span{width:46px;height:46px;border-radius:9px;background:var(--primary);display:grid;place-items:center;font-weight:950;font-style:italic}.brand b,.brand small{display:block}.brand small{color:#778195;font-size:.66rem;margin-top:3px}.shell nav{display:grid;gap:5px}.shell nav button{border:0;background:transparent;color:#9da6b6;text-align:left;padding:14px;border-radius:11px;font-weight:850;cursor:pointer}.shell nav button.active,.shell nav button:hover{background:#1a1f28;color:white;box-shadow:inset 4px 0 var(--primary)}.shell footer{margin-top:auto;color:#5d6675;font-size:.7rem;padding:10px}.shell main{min-width:0}.shell header{height:72px;position:sticky;top:0;z-index:3;background:#0e1117e8;backdrop-filter:blur(10px);border-bottom:1px solid #262c36;display:flex;justify-content:space-between;align-items:center;padding:0 26px}.shell header small,.shell header strong{display:block}.shell header small{font-size:.65rem;color:#727d8e;letter-spacing:.18em}.live{color:#52d991;font-weight:900;font-size:.78rem}section{padding:26px;max-width:1480px;margin:auto}.pagehead{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.pagehead p,.kioskHead p{margin:0;color:var(--primary);font-size:.7rem;font-weight:950;letter-spacing:.18em}.pagehead h1,.kioskHead h1{margin:4px 0 0;font-size:2rem}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.metric{background:var(--surface);border:1px solid #29303c;border-radius:15px;padding:18px;min-height:112px;display:flex;flex-direction:column;justify-content:center}.metric.hot{border-color:var(--primary)}.metric strong{font-size:2.25rem;line-height:1}.metric small{color:#8a94a4;margin-top:8px;font-weight:800}.grid2{display:grid;grid-template-columns:1.3fr 1fr;gap:16px}.panel{background:var(--surface);border:1px solid #29303c;border-radius:16px;padding:20px;margin-bottom:16px}.panel h2{font-size:1.05rem;margin:0 0 14px}.paneltitle{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.paneltitle span,.notify>span{font-size:.67rem;font-weight:950;background:#222936;border-radius:999px;padding:6px 9px}.job,.op{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-top:1px solid #29303c}.job:first-of-type,.op:first-of-type{border-top:0}.job>b{color:var(--accent);font-size:1.05rem}.job>div{flex:1}.job strong,.job small,.op b,.op small{display:block}.job small,.op small{color:#818b9d;margin-top:3px}.job em{font-style:normal;font-size:.73rem;font-weight:850}.load{width:110px;text-align:right}.load i{display:block;height:7px;background:#242a34;border-radius:99px;margin-top:5px;overflow:hidden}.load i span{display:block;height:100%;background:var(--primary)}.btn,.actions button,.cards article button,.pitjob button{border:0;border-radius:11px;padding:12px 16px;font-weight:950;cursor:pointer;color:white;background:#222936}.primary{background:var(--primary)}.ghost{background:#202631}.huge{width:100%;min-height:65px;margin-top:14px}.lane{display:grid;grid-template-columns:170px 1fr;gap:12px;padding:14px 0;border-top:1px solid #29303c}.lane:first-of-type{border-top:0}.lane>div:first-child b,.lane>div:first-child small{display:block}.lane>div:first-child small{color:#7b8596}.cards{display:flex;gap:10px;flex-wrap:wrap}.cards article{min-width:185px;background:#10141a;border:1px solid #303846;border-radius:13px;padding:13px;display:grid;gap:3px}.cards article strong{color:var(--accent)}.cards article span,.cards article small{color:#8e98a9}.cards article button{margin-top:6px;font-size:.7rem}.empty{min-width:185px;min-height:86px;border:1px dashed #34404e;border-radius:12px;display:grid;place-items:center;color:#687384;font-weight:850}.add{display:grid;grid-template-columns:1fr 170px;gap:10px;margin-bottom:14px}.add input,.form input,.form select,.fields input,.fields select,.kioskHead select{width:100%;min-height:50px;background:#0f1319;border:1px solid #323a47;border-radius:11px;color:white;padding:0 13px}.operatorAdmin{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 0;border-top:1px solid #29303c}.operatorAdmin:first-of-type{border-top:0}.operatorAdmin b,.operatorAdmin small{display:block}.operatorAdmin small{color:#818b9d;margin-top:3px}.status{display:inline-block;margin-top:7px;padding:5px 8px;background:#222936;border-radius:999px;font-size:.66rem;text-transform:uppercase;font-weight:900}.status.attivo{color:#55da93}.status.in_attesa{color:var(--accent)}.actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.actions .danger{background:#3a171b;color:#ff9099}.kioskHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.kioskHead select{width:250px}.pitjobs{display:grid;gap:11px}.pitjob{display:grid;grid-template-columns:70px 1fr 180px;align-items:center;gap:16px;background:#10141a;border:1px solid #303846;border-radius:15px;padding:18px}.pitjob .num{font-size:2.6rem;font-weight:950;font-style:italic;color:#424b59}.pitjob h2{margin:4px 0}.pitjob p{margin:0;color:#8c96a7}.pitjob button{min-height:68px;background:var(--primary)}.pitjob button.done{background:#24945a}.bigempty{min-height:160px;width:100%}.filters{display:flex;gap:6px}.filters button{border:0;background:#1c222c;color:#abb4c2;border-radius:9px;padding:10px;font-weight:850}.bars>div{display:grid;grid-template-columns:180px 1fr 40px;gap:12px;align-items:center;margin:13px 0}.bars i{height:12px;background:#252c37;border-radius:99px;overflow:hidden}.bars i b{display:block;height:100%;background:var(--primary);border-radius:99px}.reportrow{display:grid;grid-template-columns:160px 1.2fr 1fr 1fr 100px;gap:10px;padding:11px 0;border-top:1px solid #29303c;font-size:.82rem}.reportrow:first-of-type{border-top:0}.reportrow span,.reportrow em{color:#8b95a6}.form{display:grid;gap:13px}.form label,.fields label{font-size:.8rem;font-weight:850;color:#c2c9d3}.form input,.fields input,.fields select{margin-top:6px}.form input[type=color]{padding:5px}.preview{min-height:420px;border:2px solid var(--primary);border-radius:17px;padding:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.preview small{letter-spacing:.18em;color:#808a9a}.preview h2{color:var(--primary);font-size:2.1rem;font-style:italic}.preview>div{font-size:2.8rem;font-weight:950;font-style:italic;margin:16px 0}.preview button{min-width:250px;min-height:62px;background:var(--primary);color:white;border:0;border-radius:11px;font-weight:950}.preview span{margin-top:16px;color:var(--accent);font-size:.72rem;font-weight:900}.notify{display:grid;grid-template-columns:75px 1fr 180px;gap:12px;align-items:center;padding:13px 0;border-top:1px solid #29303c}.notify:first-of-type{border-top:0}.notify b,.notify small{display:block}.notify small{color:#828c9d;margin-top:3px}.notify time{color:#717b8c;font-size:.72rem;text-align:right}.booking h2{font-size:1rem}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:22px}.services input{display:none}.services span{min-height:88px;border:1px solid #303846;border-radius:12px;background:#10141a;padding:14px;display:flex;flex-direction:column;justify-content:center;font-weight:900;cursor:pointer}.services span small{color:#818b9d;margin-top:5px}.services input:checked+span{border:2px solid var(--primary);background:#211416}.fields{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.muted{color:#818b9d;font-size:.82rem}@media(max-width:980px){.shell{grid-template-columns:86px 1fr}.brand div,.shell footer{display:none}.brand{justify-content:center}.shell nav button{font-size:.68rem;text-align:center;padding:13px 5px}.metrics{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.services{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.shell{display:block}.shell aside{position:fixed;z-index:10;bottom:0;top:auto;width:100%;height:68px;padding:6px}.brand,.shell footer{display:none}.shell nav{display:flex;overflow-x:auto}.shell nav button{min-width:70px;flex:1;box-shadow:none!important}.shell main{padding-bottom:70px}.shell header{height:62px;padding:0 14px}section{padding:16px 12px}.pagehead,.kioskHead{align-items:flex-start}.pagehead h1,.kioskHead h1{font-size:1.5rem}.metrics{grid-template-columns:repeat(2,1fr)}.metric{min-height:96px;padding:14px}.metric strong{font-size:1.8rem}.lane{grid-template-columns:1fr}.operatorAdmin{align-items:flex-start;flex-direction:column}.actions{justify-content:flex-start}.kioskHead{flex-direction:column;gap:10px}.kioskHead select{width:100%}.pitjob{grid-template-columns:48px 1fr}.pitjob button{grid-column:1/-1;width:100%}.reportrow{grid-template-columns:1fr 1fr}.notify{grid-template-columns:65px 1fr}.notify time{display:none}.fields{grid-template-columns:1fr}.add{grid-template-columns:1fr}.services{grid-template-columns:repeat(2,1fr)}.preview>div{font-size:2rem}.filters{width:100%;overflow:auto}.pagehead:has(.filters){flex-direction:column}}
.publicWrap{min-height:100vh;display:flex;flex-direction:column}.publicTop{display:flex;justify-content:space-between;align-items:center;padding:18px 28px;border-bottom:1px solid #262c36;background:#0e1117}.publicNav{display:flex;gap:8px}.publicNav button{border:1px solid #343c48;background:#151a22;color:#fff;border-radius:10px;padding:12px 14px;font-weight:900;cursor:pointer}.publicMain{width:min(1000px,calc(100% - 28px));margin:0 auto;padding:48px 0;flex:1}.publicWrap>footer{text-align:center;color:#667184;padding:18px}.hero{text-align:center;margin-bottom:24px}.hero p:first-child{color:var(--primary);font-size:.72rem;letter-spacing:.18em;font-weight:950}.hero h1{font-size:3rem;margin:.3rem 0}.authCard{max-width:520px;margin:0 auto;display:grid;gap:14px}.authCard label{display:grid;gap:6px;font-weight:850}.authCard input,.printLine input,.rule input,.rule select{min-height:48px;background:#0f1319;border:1px solid #323a47;border-radius:11px;color:#fff;padding:0 12px}.success{margin-top:16px;border:1px solid #2d7b56;background:#10251c;padding:16px;border-radius:12px;display:grid;gap:9px}.success button{min-height:50px;border:0;border-radius:10px;background:#3a171b;color:#fff;font-weight:900}.vehicleRow{width:100%;display:grid;grid-template-columns:110px 1fr 1fr;gap:10px;text-align:left;align-items:center;padding:14px 0;background:none;border:0;border-top:1px solid #29303c;color:#fff;cursor:pointer}.vehicleRow:first-of-type{border-top:0}.vehicleRow small{color:#818b9d}.timeline{display:grid;gap:8px}.timeline>div{display:grid;grid-template-columns:145px 1fr 130px;gap:10px;padding:10px 0;border-top:1px solid #29303c}.timeline time,.timeline small{color:#818b9d}.printLine{display:grid;grid-template-columns:1fr 100px;gap:12px;align-items:center;margin-bottom:10px}.printLine label{display:flex;gap:6px;align-items:center}.printLine label input{min-height:auto}.rule{display:grid;grid-template-columns:1.5fr 1fr 80px;gap:10px;align-items:center;padding:12px 0;border-top:1px solid #29303c}.rule:first-of-type{border-top:0}.rule label{display:flex;gap:7px;align-items:center}.rule label input{min-height:auto}.dangerBtn{background:#3a171b}.shell header>div:last-child{text-align:right}.shell header>div:last-child small{margin-top:4px}@media(max-width:680px){.publicTop{align-items:flex-start;gap:12px;flex-direction:column}.publicNav{width:100%;overflow:auto}.publicNav button{white-space:nowrap}.hero h1{font-size:2rem}.vehicleRow{grid-template-columns:90px 1fr}.vehicleRow small{grid-column:1/-1}.timeline>div{grid-template-columns:1fr}.rule{grid-template-columns:1fr}.printLine{grid-template-columns:1fr}.publicMain{padding:24px 0}}

/* v5 visual system */
:root{--brand-bg:url('/assets/pit-grid.svg');--hero-bg:url('/assets/garage-metal.svg')}
body{background-color:var(--bg);background-image:linear-gradient(rgba(5,7,10,.72),rgba(5,7,10,.88)),var(--brand-bg);background-size:cover;background-attachment:fixed}
.shell main{background:linear-gradient(180deg,rgba(8,10,14,.88),rgba(8,10,14,.96)),var(--brand-bg);background-size:cover;background-position:center}
.shell aside{background:rgba(8,10,14,.94);backdrop-filter:blur(14px);border-right:1px solid rgba(255,255,255,.08)}
.panel,.metric,.pitjob,.operatorAdmin{background:linear-gradient(145deg,rgba(22,27,36,.94),rgba(12,15,21,.95));border-color:rgba(255,255,255,.09)}
.metric strong{font-variant-numeric:tabular-nums}.metric.hot{box-shadow:inset 3px 0 0 var(--primary)}
.publicWrap{background:linear-gradient(90deg,rgba(5,7,10,.88),rgba(5,7,10,.58)),var(--hero-bg);background-size:cover;background-position:center}
.publicTop{background:rgba(8,10,14,.78);backdrop-filter:blur(16px)}
.authCard,.booking.panel{background:rgba(10,13,18,.86);backdrop-filter:blur(16px)}
.brand img,.mobileApp header img{width:52px;height:52px;object-fit:contain;border-radius:12px;background:#fff;padding:5px}
.brandPreview{min-height:420px;border-radius:22px;border:1px solid rgba(255,255,255,.12);padding:38px;display:flex;flex-direction:column;justify-content:flex-end;background-size:cover;background-position:center;position:relative;overflow:hidden}
.brandPreview:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.86))}.brandPreview>*{position:relative}.brandPreview img{width:110px;height:70px;object-fit:contain;object-position:left;margin-bottom:28px}.brandPreview h2{font-size:2.6rem;margin:.4rem 0}.brandPreview button{max-width:320px;min-height:64px;border:0;border-radius:13px;background:var(--primary);color:#fff;font-weight:950;letter-spacing:.04em}.brandMark{width:74px;height:74px;border-radius:18px;display:grid;place-items:center;background:var(--primary);font-size:1.6rem;font-weight:1000}.colorRow{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.brandForm input[type=color]{height:54px;padding:4px}.brandForm select{min-height:50px;background:#0f1319;border:1px solid #323a47;border-radius:11px;color:#fff;padding:0 12px}
.qrPanel{text-align:center;padding:34px}.qrIcon{width:88px;height:88px;margin:0 auto 18px;border:8px dotted var(--primary);border-radius:18px;display:grid;place-items:center;font-weight:1000;font-size:1.2rem;letter-spacing:.1em}
.mobileApp{min-height:100vh;color:#fff;background:linear-gradient(180deg,rgba(6,8,12,.62),rgba(6,8,12,.98)),var(--hero-bg);background-size:cover;background-position:center;max-width:760px;margin:0 auto;box-shadow:0 0 80px #000}
.mobileApp header{height:76px;padding:0 18px;display:flex;gap:12px;align-items:center;background:rgba(5,7,10,.72);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}.mobileApp header>span{width:48px;height:48px;display:grid;place-items:center;background:var(--primary);border-radius:13px;font-weight:1000}.mobileApp header div{display:grid}.mobileApp header small{color:#8893a6;letter-spacing:.12em;font-size:.65rem}.mobileHero{padding:34px 20px 24px;background:linear-gradient(135deg,rgba(225,6,0,.16),rgba(0,0,0,0))}.mobileHero small{color:var(--accent);font-weight:950;letter-spacing:.15em}.mobileHero h1{font-size:2.3rem;margin:.35rem 0}.mobileHero p{margin:0;color:#c4cad4}.mobileApp main{padding:16px 14px 30px;display:grid;gap:12px}.mobileJob{display:grid;grid-template-columns:72px 1fr auto;gap:12px;align-items:center;padding:16px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(15,19,26,.92)}.mobileTime{font-size:1.45rem;font-weight:1000}.mobileTime small{display:block;font-size:.65rem;color:#8490a3}.mobileJobBody h2{margin:0 0 4px;font-size:1.2rem}.mobileJobBody p{margin:0;color:#a9b1bf}.mobileJobBody span{display:inline-block;margin-top:8px;font-size:.65rem;font-weight:900;letter-spacing:.08em;color:var(--accent)}.mobileJob button,.mobileDanger{min-height:62px;border:0;border-radius:14px;padding:0 18px;background:var(--primary);color:#fff;font-weight:1000}.mobileJob button:disabled{background:#29303a;color:#7f8997}.mobileEmpty{padding:50px 20px;text-align:center;color:#a8b0bd}.clientTicket{display:grid;grid-template-columns:1fr 1fr;gap:10px}.clientTicket>div{padding:18px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(15,19,26,.92);display:grid;gap:6px}.clientTicket small{color:#7f8998}.clientTicket strong{font-size:1.2rem}.clientTicket b{color:var(--accent)}.progressPit{margin:18px 0 6px;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;text-align:center}.progressPit i{height:7px;border-radius:10px;background:#2d333d}.progressPit i.on{background:var(--primary)}.progressPit span{font-size:.62rem;color:#8e98a8}.mobileDanger{width:100%;background:#35171b}.mobileApp footer{text-align:center;padding:24px;color:#657083;font-size:.75rem}
@media(max-width:680px){.mobileJob{grid-template-columns:62px 1fr}.mobileJob button{grid-column:1/-1;width:100%}.colorRow{grid-template-columns:1fr 1fr}.brandPreview{min-height:330px;padding:24px}.brandPreview h2{font-size:2rem}.publicMain{width:min(100% - 18px,1000px)}}

/* v6 industrial desktop UI */
:root{--primary:#126dc2;--accent:#ffe84a;--bg:#dfeef7;--surface:#f8fbfe;--ink:#17324a;--line:#86b6d8;--blue2:#0d84d6}
body{background:#d9edf8;color:#17324a;background-image:linear-gradient(rgba(255,255,255,.84),rgba(235,247,253,.94)),var(--brand-bg)}
.shell.industrial{grid-template-columns:220px 1fr}.shell.industrial aside{background:linear-gradient(#1784ca,#0b659f);border-right:3px solid #7cb5db;color:white;box-shadow:inset -1px 0 #fff}.shell.industrial .brand{background:#eaf7ff;color:#124d78;border:3px ridge #b5d8ec;margin:8px;padding:8px}.shell.industrial nav{padding:5px 8px;gap:5px}.shell.industrial nav button{display:grid;grid-template-columns:36px 1fr;align-items:center;text-align:left;background:linear-gradient(#f7fdff,#cce9f8);color:#164d73;border:2px outset #b4d8eb;border-radius:3px;box-shadow:none;padding:8px;font-weight:800}.shell.industrial nav button i{font-style:normal;width:30px;height:30px;display:grid;place-items:center;background:linear-gradient(#4c6df2,#2836b8);color:#fff;border:2px outset #a8b5ff;border-radius:4px;font-size:18px}.shell.industrial nav button.active{background:linear-gradient(#fffbd7,#ffe95b);color:#0e4870}.shell.industrial main{background:#e6f4fb}.topbar{background:linear-gradient(#f8fdff,#c9e8f8)!important;color:#154a70;border-bottom:3px ridge #90c3df!important;height:74px!important}.topbar strong{color:#103f62}.toolbar{display:flex!important;align-items:center;gap:6px}.toolbar button{width:38px;height:38px;background:linear-gradient(#6577f5,#303fc0);color:#fff;border:2px outset #aab4ff;border-radius:4px;font-weight:900;font-size:17px}.live{color:#137e39;background:#d9f6e1;border:1px solid #75c38a;padding:6px 9px;border-radius:3px}.panel,.metric,.operatorAdmin{background:#f9fdff;color:#17324a;border:2px ridge #a6d0e7;border-radius:3px;box-shadow:0 1px 2px #9cb8c8}.panelTitle{margin:-16px -16px 14px;padding:8px 11px;color:white;font-weight:900;border-bottom:2px ridge #87bddd}.blueTitle{background:linear-gradient(90deg,#0d77bd,#2aa2df)}.redTitle{background:linear-gradient(90deg,#dd2435,#f45a62)}.btn,.actions button{border-radius:3px!important;border:2px outset #a9cfe4!important;background:linear-gradient(#f7fdff,#c8e7f7)!important;color:#12496e!important;font-weight:900}.btn.blue,.actions button:not(.danger){background:linear-gradient(#4770ed,#293cb8)!important;color:#fff!important;border-color:#9eaef7!important}.pagehead h1{color:#17476a}.pagehead p{color:#0d78bb}.metrics{gap:8px}.metric{background:linear-gradient(#fff,#d8eef9);min-height:92px}.metric strong{color:#154e75}.metric.hot{border-color:#df6b75}.job{border-top:1px solid #abd0e4}.job em.assignment{font-style:normal;padding:6px 8px;border-radius:3px;font-weight:900}.assignment.ok{background:#d9f3df;color:#23703b}.assignment.warn{background:#fff2b7;color:#8a6500}.headActions{display:flex;gap:8px}.attendancePanel{max-width:1200px}.instruction{background:#e7f4fb;border:1px solid #8fc1df;padding:12px}.attendanceGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0}.attendanceCard{display:grid;grid-template-columns:24px 48px 1fr 100px;align-items:center;gap:10px;padding:12px;border:2px ridge #a8cee4;background:#eef8fd;cursor:pointer}.attendanceCard input{width:22px;height:22px}.attendanceCard.present{background:#e1f6e7;border-color:#83c99a}.attendanceCard.absent{background:#f6e3e3;border-color:#d79a9a}.attendanceCard.present>strong{color:#24713f}.attendanceCard.absent>strong{color:#a42e37}.personIcon{width:40px;height:40px;display:grid;place-items:center;background:linear-gradient(#526ff1,#2e3bb4);color:white;border:2px outset #a6b2f4;border-radius:4px;font-size:22px}.megaConfirm{width:100%;min-height:68px;background:linear-gradient(#45a95d,#237f3a);color:white;border:3px outset #8fd59e;font-size:1.05rem;font-weight:1000}.dispatchInfo{padding:10px;text-align:center}.dateBox{display:grid;gap:4px;font-size:.72rem;font-weight:900}.dateBox input{height:42px;border:2px inset #b9d8e9;background:white;color:#17476a;padding:0 9px}.calendarToolbar{display:flex;align-items:center;gap:6px;background:linear-gradient(#f8fdff,#cce9f8);border:2px ridge #a6d0e7;padding:7px;margin-bottom:8px}.calendarToolbar>button,.modeSwitch button{height:38px;background:linear-gradient(#6477f1,#303db9);color:#fff;border:2px outset #a5b1f5;font-weight:900}.calendarToolbar strong{flex:1;text-align:center;text-transform:capitalize}.modeSwitch{display:flex}.modeSwitch button.active{background:linear-gradient(#ffef68,#e3bd17);color:#504100}.calendarPanel{overflow:auto;padding:8px}.weekCalendar{display:grid;grid-template-columns:150px repeat(7,minmax(145px,1fr));min-width:1150px;border-left:1px solid #8dbbd5;border-top:1px solid #8dbbd5}.weekCorner,.weekDay,.operatorLabel,.dayLane{border-right:1px solid #8dbbd5;border-bottom:1px solid #8dbbd5;min-height:75px}.weekCorner,.weekDay{background:linear-gradient(#1685ca,#0b68a5);color:#fff;padding:8px;text-align:center}.weekDay.today{background:linear-gradient(#ffe85b,#d6b61b);color:#473b00}.operatorLabel{padding:10px;background:#e3f2fa}.operatorLabel small{display:block;color:#5c7890}.dayLane{padding:5px;background:#fff;display:grid;gap:4px;align-content:start}.calendarJob{display:grid;text-align:left;border:1px solid #6ca4c6;background:linear-gradient(#e9f7ff,#cbeafa);color:#173e5b;border-radius:3px;padding:6px}.calendarJob b{color:#0c6fab}.calendarJob small{color:#54748a}.calendarJob.in_lavorazione{background:#fff3b9;border-color:#d2ae2c}.calendarJob.completata{background:#daf2df;border-color:#73bd86}.freeSlot{color:#b0c4d1;text-align:center;padding-top:20px}.monthHead,.monthGrid{display:grid;grid-template-columns:repeat(7,1fr);min-width:950px}.monthHead b{padding:8px;text-align:center;background:#0f78bb;color:white;border-right:1px solid #d6effc}.monthCell{min-height:130px;border-right:1px solid #9fc7de;border-bottom:1px solid #9fc7de;background:#fff;padding:7px;display:flex;flex-direction:column;gap:3px}.monthCell>b{font-size:1.1rem;color:#0f679f}.monthCell small{color:#667f90}.monthCell span{background:#dceff9;border-left:3px solid #177fc0;padding:3px;font-size:.72rem}.monthCell.today{background:#fff9cf}.emptyCell{background:#eef5f8}.operatorIdentity{display:flex;gap:10px;align-items:center}.alertBox,.okBox{padding:16px;border:1px solid #d6a333;background:#fff4c8;display:flex;justify-content:space-between;align-items:center}.okBox{background:#e0f4e5;border-color:#7abd8b}.alertBox button{background:#2e55ca;color:#fff;border:2px outset #aab8f4;padding:9px;font-weight:900}
@media(max-width:900px){.shell.industrial{grid-template-columns:86px 1fr}.shell.industrial .brand div,.shell.industrial footer,.shell.industrial nav button span{display:none}.shell.industrial nav button{grid-template-columns:1fr;justify-items:center}.attendanceGrid{grid-template-columns:1fr}.toolbar small,.toolbar .live{display:none}}
