:root{
  --bg:#08101d;--side:#0b1423;--panel:#101b2d;--panel2:#0c1627;--line:#22324d;
  --text:#f1f5f9;--muted:#91a2bc;--blue:#3b82f6;--green:#22c55e;--amber:#f59e0b;--red:#ef4444;
  --radius:14px;--shadow:0 12px 32px rgba(0,0,0,.16)
}
*{box-sizing:border-box}
html{min-width:320px;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.4}
.hidden{display:none!important}
button,input,select,textarea{font:inherit}
button{cursor:pointer;-webkit-tap-highlight-color:transparent}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}
img{max-width:100%}

/* Brand / production gate */
.wordmark{font-size:26px;font-weight:950;letter-spacing:-1.4px;line-height:1}
.wordmark span{color:var(--blue)}
.wordmark small{display:block;font-size:9px;letter-spacing:2.2px;color:var(--muted);margin-top:7px}
.productionGate{min-height:100vh;padding:40px 5vw}
.gateInner{max-width:1180px;margin:auto}
.gateTop,.gateHeader,.gateFooter,.toolbar,.row,.sectionHead,.callTop{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0}
.gateHeader{margin:70px 0 28px;align-items:flex-end}
.gateHeader>div{min-width:0}
.gateHeader h1{font-size:clamp(38px,5vw,50px);margin:5px 0 8px;letter-spacing:-2px;line-height:1}
.gateHeader p{color:var(--muted);margin:0;max-width:720px}
.eyebrow,.sectionKicker{font-size:10px;font-weight:900;letter-spacing:.16em;color:#6f89b2}
.productionCards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(245px,100%),1fr));gap:14px}
.prodCard{background:linear-gradient(145deg,#101b2d,#0b1525);border:1px solid var(--line);border-radius:16px;padding:20px;min-height:205px;display:flex;flex-direction:column;transition:transform .15s,border-color .15s,box-shadow .15s;min-width:0}
.prodCard:hover{transform:translateY(-2px);border-color:#3a537c;box-shadow:var(--shadow)}
.prodCard h3{margin:3px 0 8px;font-size:21px;overflow-wrap:anywhere}
.prodMeta{font-size:13px;color:var(--muted);line-height:1.55;flex:1;overflow-wrap:anywhere}
.prodLogoWrap{height:64px;display:flex;align-items:center;margin-bottom:9px}
.prodLogo{max-width:150px;max-height:58px;object-fit:contain;background:white;padding:5px;border-radius:8px}
.prodLogoPlaceholder{width:54px;height:54px;border-radius:13px;background:#172743;border:1px solid #2c4265;display:grid;place-items:center;color:#93c5fd;font-weight:900}
.prodActions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:15px}
.gateEmpty{grid-column:1/-1;border:1px dashed #30415e;background:#0c1627;border-radius:15px;padding:50px 20px;text-align:center;color:var(--muted)}
.gateFooter{margin-top:22px;font-size:12px;color:var(--muted);flex-wrap:wrap}

/* Buttons */
.btn{border:1px solid transparent;border-radius:9px;min-height:38px;padding:9px 13px;background:var(--blue);color:white;font-weight:750;box-shadow:0 6px 18px rgba(59,130,246,.14);white-space:nowrap;transition:filter .12s,transform .12s,background .12s,border-color .12s}
.btn:hover{filter:brightness(1.08)}
.btn:active{transform:translateY(1px)}
.btn.secondary{background:#192843;border-color:#2c4265}
.btn.ghost{background:transparent;border-color:#334155;color:#cbd5e1;box-shadow:none}
.btn.good{background:var(--green);color:#052e16}
.btn.warn{background:var(--amber);color:#422006}
.btn.danger{background:transparent;border-color:#7f1d1d;color:#fecaca;box-shadow:none}
.btn.danger:hover{background:#7f1d1d}
.btn.small{min-height:32px;padding:6px 9px;font-size:12px}
.miniAction{border:1px solid transparent;background:transparent;color:#93c5fd;padding:6px 7px;border-radius:7px;font-size:11px;white-space:nowrap}
.miniAction:hover{background:#152640;border-color:#294162}
.dangerText{color:#fca5a5}

/* App shell */
.shell{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:100vh}
aside{background:var(--side);border-right:1px solid var(--line);padding:22px 14px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}
.brand{margin:4px 9px 18px}
.activeProductionBox{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);padding:12px;border-radius:11px;margin-bottom:13px;display:flex;flex-direction:column;gap:6px;min-width:0}
.activeProductionBox small{font-size:9px;color:#7185a5;letter-spacing:.1em}
.activeProductionBox b{overflow-wrap:anywhere}
.activeProdLogo{max-width:120px;max-height:45px;object-fit:contain;background:white;padding:4px;border-radius:6px;margin-bottom:5px}
.changeProdBtn{margin-top:8px!important;min-height:38px!important;padding:9px 11px!important;border:1px solid #3b82f6!important;border-radius:8px!important;background:rgba(59,130,246,.16)!important;color:#dbeafe!important;font-weight:800!important;font-size:12px!important;text-align:center!important;width:100%}
.changeProdBtn:hover{background:#2563eb!important;color:white!important}
nav{display:flex;flex-direction:column;gap:3px}
nav button{border:0;background:transparent;color:#9fb0c7;min-height:40px;padding:10px 12px;border-radius:8px;text-align:left;font-weight:650;white-space:nowrap}
nav button:hover{background:rgba(255,255,255,.04);color:#d7e3f4}
nav button.active{background:linear-gradient(90deg,rgba(59,130,246,.22),rgba(59,130,246,.05));color:white;border-left:3px solid var(--blue)}
.navSep{height:1px;background:rgba(255,255,255,.08);margin:8px}
.dbDot{margin-top:auto;font-size:11px;color:#89a0be;padding:8px;overflow-wrap:anywhere}
main{min-width:0;padding:28px 32px 50px}
main header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px;min-width:0}
main header>div:first-child{min-width:0}
main header h1{margin:0 0 4px;font-size:29px;overflow-wrap:anywhere}
main header p{margin:0;color:var(--muted);font-size:13px;overflow-wrap:anywhere}
#topActions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;max-width:55%}

/* Content */
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.stat,.panel,.settingsSection,.exportCard,.reportHero{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}
.stat{padding:18px;min-width:0}
.stat span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.stat b{display:block;font-size:27px;margin-top:5px;overflow-wrap:anywhere}
.panel{padding:18px;margin-top:14px;min-width:0}
.cards{display:grid;gap:9px}
.call{background:var(--panel2);border:1px solid var(--line);border-left:4px solid var(--dept,#64748b);border-radius:11px;padding:13px;min-width:0}
.call h3{margin:0 0 7px;font-size:15px;overflow-wrap:anywhere}
.callTop{align-items:flex-start;flex-wrap:wrap}
.callTop>div:first-child{min-width:0;flex:1 1 260px}
.callTop>.row,.callTop>div:last-child{flex:0 1 auto}
.meta{color:var(--muted);font-size:12px;line-height:1.55;overflow-wrap:anywhere}
.dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:5px}
.badge,.chip,.statusPill,.dayBadge{display:inline-flex;align-items:center;padding:6px 9px;border-radius:8px;background:#152640;border:1px solid #294162;font-size:11px;max-width:100%}
.statusPill{border-radius:999px;color:#a9bdd8}
.dayBadge{gap:6px;border-radius:999px;background:rgba(59,130,246,.12);border-color:rgba(59,130,246,.25);font-size:12px;font-weight:800}
.empty{padding:25px;text-align:center;color:var(--muted)}
.toolbar{flex-wrap:wrap;align-items:flex-start}
.toolbar>div:first-child{min-width:0}
.row{justify-content:flex-start;flex-wrap:wrap;gap:8px}
.sectionHead{align-items:flex-start;flex-wrap:wrap}
.sectionHead>div:first-child{min-width:0;flex:1 1 280px}
.settingsHero{margin-bottom:14px}
.settingsHero h2,.reportHero h2{margin:4px 0;overflow-wrap:anywhere}
.settingsHero p{color:var(--muted);margin:0}
.settingsSection{padding:18px;margin-bottom:12px;min-width:0}
.sectionHead h3{margin:3px 0}
.sectionHead p{margin:0;color:var(--muted);font-size:12px}
.supplierList,.settingsGrid{display:grid;gap:8px;margin-top:12px}
.settingsGrid{grid-template-columns:repeat(auto-fill,minmax(min(210px,100%),1fr))}
.supplierRow,.settingCard{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:11px 12px;min-width:0}
.supplierRow{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.supplierRow>div:first-child{min-width:0;flex:1 1 220px}
.supplierRow>.row{flex:0 1 auto}
.settingCard{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.deptColor{width:10px;height:34px;border-radius:6px;flex:none}
.settingGrow{flex:1 1 120px;min-width:0;overflow-wrap:anywhere}

/* Tables */
.tableWrap{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;border-radius:9px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
table{width:100%;border-collapse:collapse;font-size:12px;min-width:620px}
th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;vertical-align:middle}
th{color:#8ea2c0;font-size:10px;text-transform:uppercase;letter-spacing:.05em;position:sticky;top:0;background:var(--panel);z-index:1}
tbody tr:hover{background:rgba(255,255,255,.02)}

/* Reports / exports */
.reportHero{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:18px;margin-bottom:13px;flex-wrap:wrap}
.reportHero>div:first-child{min-width:0;flex:1 1 280px}
.reportTotals{display:flex;gap:8px;flex-wrap:wrap}
.reportTotals>div{background:#0b1627;border:1px solid var(--line);border-radius:9px;padding:9px 11px;min-width:90px;flex:1 1 90px}
.reportTotals small{display:block;color:var(--muted);font-size:9px}
.reportTotals b{font-size:15px}
.exportGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.exportCard{padding:20px;min-width:0}
.exportCard p{min-height:48px;color:var(--muted);font-size:12px;line-height:1.5}
.fileIcon{width:46px;height:46px;border-radius:11px;background:#7f1d1d;color:#fecaca;display:grid;place-items:center;font-weight:900;font-size:11px}
.fileIcon.excel{background:#14532d;color:#bbf7d0}
.path{padding:11px;background:#0a1322;border:1px solid var(--line);border-radius:9px;color:#bfd0e7;font-size:12px;word-break:break-word;margin-top:12px}
.generatorSummary{display:flex;align-items:center;justify-content:space-between;gap:14px;background:linear-gradient(135deg,#0d1b2c,#102540);flex-wrap:wrap}
.generatorSummary h3{margin:4px 0 0;font-size:18px}
.machineOn{color:#86efac}.machineOff{color:#94a3b8}

/* Modals / forms */
.modal{position:fixed;inset:0;background:rgba(2,6,23,.72);display:grid;place-items:center;z-index:1000;padding:18px;overflow:auto}
.modalCard{width:min(720px,100%);max-height:min(90vh,900px);overflow:auto;background:#101b2d;border:1px solid #334155;border-radius:16px;padding:22px;position:relative;box-shadow:0 24px 80px rgba(0,0,0,.45)}
.modalCard h2{margin:0 40px 16px 0;overflow-wrap:anywhere}
.x{position:sticky;float:right;right:0;top:0;border:1px solid #334155;background:#101b2d;color:#94a3b8;width:36px;height:36px;border-radius:9px;font-size:24px;line-height:1;z-index:3}
.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.full{grid-column:1/-1}
label{display:block;color:#a9b9ce;font-size:11px;margin-bottom:5px}
input,select,textarea{width:100%;min-width:0;background:#081221;color:white;border:1px solid #31425e;border-radius:8px;padding:9px 10px;outline:none}
input[type="color"]{padding:4px;min-height:39px}
textarea{min-height:74px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--blue)}
.modalActions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;flex-wrap:wrap;position:sticky;bottom:-22px;background:linear-gradient(transparent,#101b2d 16px);padding:24px 0 4px}
.pauseRow{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);background:#0b1627;border-radius:9px;padding:10px;margin-top:7px;flex-wrap:wrap}
.logoPreview{display:flex;justify-content:center;background:white;border-radius:10px;padding:12px;margin-bottom:12px}
.logoPreview img{max-width:290px;max-height:120px;object-fit:contain}
.dataChoices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}
.dataChoice{background:#0b1627;border:1px solid var(--line);border-radius:11px;padding:14px;min-width:0}
.dataChoice h3{margin:0 0 5px}
.dataChoice p{color:var(--muted);font-size:11px;line-height:1.5;min-height:48px}
.dangerZone{border-color:#5f222c;background:rgba(127,29,29,.08)}
.toast{position:fixed;right:20px;bottom:20px;z-index:1200;max-width:min(430px,calc(100vw - 40px));background:#152238;color:white;border:1px solid #334155;border-radius:10px;padding:11px 14px;box-shadow:0 12px 35px rgba(0,0,0,.3);overflow-wrap:anywhere}
.toast.error{background:#7f1d1d}

/* Tablet */
@media(max-width:1050px){
  .grid4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .shell{grid-template-columns:205px minmax(0,1fr)}
  main{padding:24px 20px 44px}
  #topActions{max-width:62%}
  .supplierRow{align-items:flex-start}
}

/* Compact / mobile */
@media(max-width:720px){
  .productionGate{padding:24px 14px}
  .gateHeader{margin-top:44px;align-items:stretch;flex-direction:column}
  .gateTop{align-items:flex-start}
  .gateTop .wordmark{font-size:22px}
  .gateFooter{align-items:flex-start;flex-direction:column}
  .prodActions{grid-template-columns:1fr}

  .shell{display:block}
  aside{position:relative;height:auto;max-height:none;padding:14px 12px 10px;border-right:0;border-bottom:1px solid var(--line);overflow:visible}
  .brand{display:block;margin:2px 5px 12px}
  .activeProductionBox{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;align-items:center;margin-bottom:10px;padding:10px}
  .activeProductionBox small,.activeProductionBox b{grid-column:1}
  .activeProductionBox .changeProdBtn{grid-column:2;grid-row:1/3;width:auto!important;margin:0!important}
  .activeProdLogo{display:none!important}
  .dbDot{display:none}
  nav{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(112px,1fr);gap:4px;overflow-x:auto;padding:2px 0 5px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
  nav button{scroll-snap-align:start;text-align:center;padding:9px 8px;font-size:11px;border:1px solid transparent}
  nav button.active{border-left:1px solid #2d5ba3;border-bottom:3px solid var(--blue)}
  .navSep{display:none}

  main{padding:18px 12px 40px}
  main header{flex-direction:column;align-items:stretch;gap:12px}
  main header h1{font-size:25px}
  #topActions{max-width:none;justify-content:flex-start;width:100%}
  #topActions .btn{flex:1 1 auto}
  .grid4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .formgrid,.exportGrid,.dataChoices{grid-template-columns:1fr}
  .full{grid-column:auto}
  .reportHero,.generatorSummary{align-items:flex-start;flex-direction:column}
  .callTop{align-items:flex-start;flex-direction:column}
  .callTop>.row,.callTop>div:last-child{width:100%}
  .callTop .btn{flex:1 1 auto}
  .supplierRow{align-items:flex-start;flex-direction:column}
  .supplierRow>.row{width:100%}
  .supplierRow .miniAction{flex:1 1 auto;text-align:center;border-color:#294162;background:#10213a}
  .sectionHead{flex-direction:column;align-items:stretch}
  .sectionHead>.btn{align-self:flex-start}
  .settingCard .miniAction{padding:7px}
  .modal{padding:10px}
  .modalCard{padding:18px 14px;max-height:94vh;border-radius:13px}
  .modalActions{bottom:-18px;margin-left:-2px;margin-right:-2px}
  .modalActions .btn{flex:1 1 auto}
  .pauseRow{align-items:flex-start;flex-direction:column}
  .pauseRow .btn,.pauseRow .miniAction{align-self:stretch;text-align:center}
  .exportCard p,.dataChoice p{min-height:0}
}

@media(max-width:430px){
  .grid4{grid-template-columns:1fr}
  .stat{padding:15px}
  .stat b{font-size:24px}
  .gateHeader h1{font-size:36px}
  .productionCards{grid-template-columns:1fr}
  .btn{white-space:normal;text-align:center}
  .reportTotals{width:100%}
  .reportTotals>div{min-width:calc(50% - 4px)}
  .activeProductionBox{grid-template-columns:1fr}
  .activeProductionBox small,.activeProductionBox b,.activeProductionBox .changeProdBtn{grid-column:1;grid-row:auto}
  .activeProductionBox .changeProdBtn{width:100%!important;margin-top:5px!important}
  #topActions .btn{width:100%}
  th,td{padding:9px 8px}
}

/* LocalCrew 1.3 — Generator industrial control panel */
.generatorOpsHead{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;background:linear-gradient(180deg,#0c1727,#0a1422)}
.generatorOpsHead h2{margin:4px 0 6px;font-size:22px}
.daySelector{min-width:min(320px,100%);margin:0;padding:10px 12px;border:1px solid #34445c;border-radius:10px;background:#0a1320;color:#9fb0c5;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.daySelector select{margin-top:6px;text-transform:none;letter-spacing:0;font-size:13px;font-weight:700}
.generatorRack{display:grid;gap:16px;margin-top:16px}
.generatorConsole{background:linear-gradient(180deg,#1a2027,#10151b);border:1px solid #3e4853;border-radius:16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 12px 35px rgba(0,0,0,.22);overflow:hidden;min-width:0}
.generatorIdentity{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;background:linear-gradient(180deg,#252c34,#1a2027);border-bottom:1px solid #39434e;flex-wrap:wrap}
.generatorPlate{display:flex;align-items:center;gap:12px;min-width:0}
.generatorPlate h3{margin:0;font-size:18px;letter-spacing:.02em;overflow-wrap:anywhere}
.generatorPlate p{margin:3px 0 0;color:#9ba8b7;font-size:11px;overflow-wrap:anywhere}
.plateMark{display:grid;place-items:center;width:44px;height:44px;border-radius:8px;border:1px solid #5b6570;background:linear-gradient(145deg,#4b5560,#252c33);box-shadow:inset 0 1px 2px rgba(255,255,255,.15),inset 0 -2px 4px rgba(0,0,0,.35);font-size:11px;font-weight:900;letter-spacing:.12em;color:#dbe3eb;flex:none}
.generatorMetaActions{display:flex;gap:7px;flex-wrap:wrap}
.generatorChannels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#37414b}
.generatorChannel{background:radial-gradient(circle at 50% 0,#222a32 0,#151a20 62%);padding:18px;min-width:0;position:relative}
.generatorChannel.on{box-shadow:inset 0 0 34px rgba(34,197,94,.055)}
.machinePanelHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}
.machinePanelHead b{display:block;margin-top:5px;font-size:12px;letter-spacing:.11em;color:#a6b1bd}
.generatorChannel.on .machinePanelHead b{color:#86efac}
.machineLabel{font-size:9px;letter-spacing:.15em;color:#778493;font-weight:900}
.pilotLight{width:17px;height:17px;border-radius:50%;display:inline-block;flex:none;border:2px solid #555f68;background:#242a30;box-shadow:inset 0 0 0 2px #11161b,0 0 0 1px #090c0f}
.pilotLight.on{background:#22c55e;border-color:#8df0ad;box-shadow:inset 0 0 0 2px #166534,0 0 14px rgba(34,197,94,.78),0 0 2px #fff}
.pilotLight.off{background:#5b6168;border-color:#767d84;box-shadow:inset 0 0 0 2px #252a2f,0 0 0 1px #090c0f}
.industrialSwitch{display:grid;grid-template-columns:1fr 1fr;gap:0;width:min(280px,100%);margin:0 auto 18px;padding:7px;border:1px solid #050708;border-radius:12px;background:#0a0d10;box-shadow:inset 0 3px 8px rgba(0,0,0,.9),0 1px 0 rgba(255,255,255,.08)}
.switchHalf{appearance:none;border:0;min-height:86px;color:#d6dde5;font-weight:900;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;transition:transform .08s,filter .15s,box-shadow .15s;background:linear-gradient(180deg,#3a424b,#20262d 65%,#171c21);box-shadow:inset 0 2px 2px rgba(255,255,255,.09),inset 0 -4px 7px rgba(0,0,0,.45)}
.switchHalf:first-child{border-radius:7px 2px 2px 7px;border-right:1px solid #0c0f12}.switchHalf:last-child{border-radius:2px 7px 7px 2px}
.switchHalf span{font-size:26px;line-height:1}.switchHalf small{font-size:10px;letter-spacing:.14em}
.switchHalf:not(:disabled):active{transform:translateY(2px)}
.switchHalf:disabled{cursor:default;opacity:.42;filter:saturate(.35)}
.industrialSwitch.off .switchOff:not(:disabled),.industrialSwitch.on .switchOn:not(:disabled){opacity:1}
.switchOn:not(:disabled){background:linear-gradient(180deg,#21663b,#17482b 70%,#10351e);color:#d8ffe5;box-shadow:inset 0 2px 2px rgba(255,255,255,.12),inset 0 -4px 8px rgba(0,0,0,.4),0 0 13px rgba(34,197,94,.10)}
.switchOff:not(:disabled){background:linear-gradient(180deg,#653036,#4a2227 70%,#34171b);color:#ffe2e5}
.machineReadout{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.machineReadout>div{padding:10px 11px;background:#090e13;border:1px solid #323b44;border-radius:8px;min-width:0;box-shadow:inset 0 1px 5px rgba(0,0,0,.65)}
.machineReadout small{display:block;color:#73808d;font-size:8px;letter-spacing:.1em;margin-bottom:4px}
.machineReadout strong{display:block;color:#d9f7e2;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;overflow-wrap:anywhere}
.generatorNotes{padding:10px 16px;border-top:1px solid #343d46;background:#12171c;color:#8996a4;font-size:11px}
.switchModalTitle{display:flex;align-items:center;gap:12px;margin-bottom:12px}.switchModalTitle h2{margin:3px 0 0}.switchModalTitle .pilotLight{width:22px;height:22px}
.machineTimeChoices{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.industrialAction{min-height:48px;letter-spacing:.05em}
.historyList{display:grid;gap:8px;margin-top:14px}.historyRow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px;border:1px solid var(--line);border-radius:9px;background:#0b1627;flex-wrap:wrap}.historyRow>div{min-width:0}.historyRow b{margin-left:8px;font-size:12px}

@media(max-width:900px){.generatorChannels{grid-template-columns:1fr}.generatorChannel+ .generatorChannel{border-top:1px solid #39434e}.generatorIdentity{align-items:flex-start}}
@media(max-width:560px){.generatorOpsHead{align-items:stretch;flex-direction:column}.daySelector{width:100%;min-width:0}.generatorIdentity{flex-direction:column}.generatorMetaActions{width:100%}.generatorMetaActions .miniAction{flex:1 1 auto;text-align:center}.generatorChannel{padding:14px}.machineReadout{grid-template-columns:1fr}.industrialSwitch{width:100%}.machineTimeChoices .btn{width:100%}}


/* LocalCrew 1.3.1 — Live industrial dashboard + reports */
.opsDashboard{display:grid;gap:16px}.opsHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:20px 22px;border:1px solid #344250;border-radius:16px;background:linear-gradient(135deg,#1b2229,#0d141a);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 14px 34px rgba(0,0,0,.2)}.opsHeader h2{font-size:25px;margin:5px 0 3px;letter-spacing:-.02em}.opsHeader p{margin:0;color:#8e9aa6;font-size:12px}.opsLiveDot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 12px rgba(34,197,94,.9);margin-right:8px;animation:opsPulse 1.8s infinite}.opsClock{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:900;letter-spacing:.18em;color:#86efac;border:1px solid #315a3f;background:#0b1a11;border-radius:8px;padding:9px 13px;box-shadow:inset 0 0 14px rgba(34,197,94,.08)}@keyframes opsPulse{50%{opacity:.45;box-shadow:0 0 4px rgba(34,197,94,.4)}}
.opsCounters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.opsCounters>div{background:linear-gradient(180deg,#121a21,#0b1117);border:1px solid #303b46;border-radius:12px;padding:14px 16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}.opsCounters small{display:block;color:#71808e;font-size:9px;font-weight:900;letter-spacing:.11em}.opsCounters b{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:28px;margin-top:4px;color:#e7edf3}
.opsSection{background:#0d141b;border:1px solid #303c47;border-radius:16px;padding:16px;box-shadow:0 12px 28px rgba(0,0,0,.15)}.opsSectionHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.opsSectionHead h3{margin:2px 0 0;font-size:18px}.liveCallGrid{display:grid;gap:8px}.liveCall{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #2f3b47;border-left:5px solid var(--dept);border-radius:11px;background:linear-gradient(90deg,#121c25,#0e151c);padding:13px 14px;min-width:0}.liveCall h4{margin:5px 0 3px;font-size:15px}.liveCall p{margin:2px 0;color:#95a2ae;font-size:11px}.liveTag{font-size:9px;font-weight:900;letter-spacing:.12em;color:#86efac}.liveTag i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#22c55e;box-shadow:0 0 8px #22c55e;margin-right:5px}.liveCallRight{text-align:right;flex:none}.liveCallRight small{display:block;color:#71808e;font-size:8px;letter-spacing:.12em}.liveCallRight strong{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;margin:3px 0 8px}.opsEmpty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:120px;border:1px dashed #34414c;border-radius:11px;color:#7e8b97}.opsEmpty span{font-size:24px;color:#86efac}.opsEmpty small{margin-top:3px}
.dashGeneratorGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.dashGenerator{background:linear-gradient(180deg,#1b2127,#11161b);border:1px solid #3d4750;border-radius:13px;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.dashGenerator.energized{border-color:#3e7150;box-shadow:inset 0 0 26px rgba(34,197,94,.04),0 0 18px rgba(34,197,94,.04)}.dashGeneratorHead{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 13px;background:#20272e;border-bottom:1px solid #3b444d}.dashGeneratorHead h3{margin:2px 0 0;font-size:15px}.dashGeneratorHead p{margin:2px 0 0;color:#7f8c98;font-size:10px}.dashOverall{font-size:8px;font-weight:950;letter-spacing:.1em;border-radius:999px;padding:5px 7px}.dashOverall.on{color:#b7f7c9;background:#153622;border:1px solid #2d7042;box-shadow:0 0 10px rgba(34,197,94,.12)}.dashOverall.off{color:#a7b0b8;background:#171c21;border:1px solid #3c454d}.dashMachineGrid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#39424a}.dashMachineChannel{padding:12px;background:#11171c}.dashMachineChannel.isOn{background:radial-gradient(circle at 50% 0,#183021,#11171c 70%)}.dashMachineState{display:flex;align-items:center;gap:9px}.dashMachineState small{display:block;font-size:8px;color:#788591;letter-spacing:.09em}.dashMachineState strong{display:block;font-size:11px;margin-top:2px}.dashMachineChannel.isOn strong{color:#86efac}.dashMachineTime{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#92a0ac;font-size:9px;margin:10px 0}.dashMachineBtn{width:100%;min-height:34px;border-radius:7px;border:1px solid;font-weight:900;font-size:9px;letter-spacing:.08em}.dashMachineBtn.start{background:#153b25;border-color:#2e7044;color:#baf7cc}.dashMachineBtn.stop{background:#4b2025;border-color:#7b343c;color:#ffd4d8}
.machineStatusLamp{display:flex;align-items:center;gap:7px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;font-weight:900;letter-spacing:.1em;padding:6px 8px;border-radius:999px}.machineStatusLamp.on{color:#a7f3bd;background:#102b1a;border:1px solid #27663c}.machineStatusLamp.off{color:#c9d0d6;background:#171c21;border:1px solid #404950}.generatorChannel.on{background:radial-gradient(circle at 50% 5%,#1d3827 0,#151a20 68%);box-shadow:inset 0 0 42px rgba(34,197,94,.09)}.generatorChannel.off{background:radial-gradient(circle at 50% 5%,#2a2022 0,#151a20 68%)}.switchHalf.isActive{opacity:1!important;filter:none!important;transform:translateY(2px);position:relative}.switchHalf.isActive.switchOn{background:linear-gradient(180deg,#36c967,#18883e 58%,#0e5728);color:white;box-shadow:inset 0 2px 2px rgba(255,255,255,.3),inset 0 -4px 8px rgba(0,0,0,.35),0 0 25px rgba(34,197,94,.52),0 0 6px rgba(134,239,172,.9)}.switchHalf.isActive.switchOff{background:linear-gradient(180deg,#de4d58,#9d2933 58%,#6d1720);color:white;box-shadow:inset 0 2px 2px rgba(255,255,255,.25),inset 0 -4px 8px rgba(0,0,0,.35),0 0 20px rgba(239,68,68,.36)}.switchHalf:disabled.isActive{cursor:default}.machineStateBanner{text-align:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:950;letter-spacing:.12em;margin:-6px auto 13px;width:min(280px,100%);padding:7px;border-radius:6px}.machineStateBanner.on{color:#bbf7d0;background:#0c2c18;border:1px solid #2d7543;box-shadow:0 0 13px rgba(34,197,94,.13)}.machineStateBanner.off{color:#fecaca;background:#311419;border:1px solid #6f2930}
.proHero{background:linear-gradient(135deg,#101d2f,#0c1724);box-shadow:0 12px 28px rgba(0,0,0,.13)}.proHero h2{margin:4px 0}.proHero p{margin:3px 0 0;color:var(--muted);font-size:11px}.dayReport{margin-top:17px;border:1px solid var(--line);border-radius:15px;background:#0b1523;overflow:hidden}.dayReportHead{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 17px;background:linear-gradient(90deg,#17253a,#101c2e);border-bottom:1px solid #2a3c56}.dayReportHead span{font-size:9px;color:#7f96b6;letter-spacing:.12em}.dayReportHead h3{margin:2px 0 0;font-size:19px}.dayReportTotals{font-size:11px;color:#9eb0c8}.reportSubhead{display:flex;align-items:center;gap:10px;padding:13px 16px 7px}.reportSubhead span{font-size:8px;font-weight:950;letter-spacing:.12em;color:#93c5fd;background:#122c50;border:1px solid #264f82;border-radius:999px;padding:4px 7px}.reportSubhead.power span{color:#bbf7d0;background:#12351f;border-color:#2a7040}.reportSubhead h4{margin:0;font-size:14px}.reportTableCard{padding:0 14px 14px}.proReportTable{min-width:1080px;background:#0d1828;border:1px solid #243650}.proReportTable th{position:sticky;top:0;background:#172a43;color:#cfe0f7;font-size:9px;letter-spacing:.045em;text-transform:uppercase}.proReportTable td{font-size:10.5px;border-bottom:1px solid #1d3048}.proReportTable tbody tr:nth-child(even){background:#0a1422}.proReportTable tbody tr:hover{background:#12233a}.deptReportDot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px}.moneyCell{font-weight:900;color:#dbeafe;white-space:nowrap}.noRows{text-align:center;color:#74869f;padding:20px!important}.reportStatus{display:inline-block;font-size:8px;font-weight:900;letter-spacing:.08em;border-radius:999px;padding:4px 6px}.reportStatus.closed{background:#1b2734;color:#a8b4c0}.reportStatus.running{background:#123a22;color:#86efac;border:1px solid #2a7040}.exportGridWide{grid-template-columns:repeat(3,minmax(0,1fr))}.powerExport{border-color:#2e5940;background:linear-gradient(180deg,#102319,#101b2d)}.powerIcon{background:#173a23!important;color:#86efac!important;border-color:#2f7044!important}.fullExport{border-style:dashed}
@media(max-width:1000px){.opsCounters{grid-template-columns:repeat(2,minmax(0,1fr))}.dashGeneratorGrid{grid-template-columns:1fr}.exportGridWide{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.opsHeader,.opsSectionHead,.dayReportHead{align-items:flex-start;flex-direction:column}.liveCall{align-items:flex-start;flex-direction:column}.liveCallRight{text-align:left;width:100%}.liveCallRight .btn{width:100%}.dashMachineGrid{grid-template-columns:1fr}.exportGridWide{grid-template-columns:1fr}}
@media(max-width:430px){.opsCounters{grid-template-columns:1fr}}
.generatorChannels.single{grid-template-columns:minmax(0,1fr)}
.dashMachineGrid.single{grid-template-columns:minmax(0,1fr)}
.generatorTypeBadge{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid #46515d;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.08em;color:#aeb8c4;background:#151b21}


/* LocalCrew 1.4 — operativo / archivio */
.productionCardsInner{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:12px}
.gateSectionHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 10px}
.gateSectionHead h2{margin:3px 0 0;font-size:20px}
.archivedHead{margin-top:18px}
.archiveToggle{display:flex;justify-content:center;margin:18px 0 4px}
.archiveToggle.inPage{justify-content:flex-start;margin:12px 0}
.prodCard{position:relative}
.prodCard.archived{opacity:.84;border-color:#3c4655;background:linear-gradient(180deg,#121923,#0c121b)}
.prodStatusBadge{position:absolute;top:12px;right:12px;font-size:8px;font-weight:950;letter-spacing:.11em;border-radius:999px;padding:5px 7px;z-index:2}
.prodStatusBadge.active{color:#a7f3d0;background:#103020;border:1px solid #286a43}
.prodStatusBadge.closed{color:#cbd5e1;background:#202733;border:1px solid #465366}
.navDisabled{opacity:.32!important;cursor:not-allowed!important;filter:grayscale(.6)}
nav button:disabled:hover{background:transparent!important}
.dayStateCard{position:relative;align-items:center}
.dayStateCard.closed{opacity:.78;background:#0d1622;border-style:dashed}
.dayStateIcon{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:50%;background:#102f1e;border:1px solid #2a6540;color:#86efac;font-weight:900;box-shadow:0 0 10px rgba(34,197,94,.08)}
.dayStateCard.closed .dayStateIcon{background:#17202c;border-color:#3d4a5d;color:#94a3b8}
.dayMiniStats{margin-top:6px;font-size:9px;color:#74849a}
.closeAction{color:#fcd34d!important;border-color:#6f5620!important;background:#251d0b!important}
.closeProd{background:linear-gradient(180deg,#7c5b13,#5d4208)!important;border-color:#9a741f!important;color:#fff7d6!important}
.archivePanel{border-style:dashed;background:#0a1320}
.operationalFilter{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;background:linear-gradient(135deg,#101d2d,#0b1522)}
.operationalFilter h3{margin:3px 0;font-size:20px}
.operationalFilter p{margin:0;color:#8292a8;font-size:11px}
.opsDayStrip{display:flex;align-items:center;gap:10px;padding:9px 13px;border:1px solid #303b46;border-radius:9px;background:#0b1218;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden}
.opsDayStrip span{font-size:8px;font-weight:900;letter-spacing:.12em;color:#71808e;flex:none}
.opsDayStrip b{font-size:10px;color:#cbd5e1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.liveVehicleGrid{display:grid;gap:8px}
.liveVehicle{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #34414d;border-left:5px solid #f59e0b;border-radius:11px;background:linear-gradient(90deg,#211a0d,#0f151b 42%);padding:13px 14px}
.liveVehicle h4{margin:5px 0 3px;font-size:15px}.liveVehicle p{margin:2px 0;color:#95a2ae;font-size:11px}

@media(max-width:720px){
  .productionCardsInner{grid-template-columns:1fr}
  .gateSectionHead,.operationalFilter{align-items:stretch;flex-direction:column}
  .operationalFilter .daySelector{width:100%}
  .dayStateCard{align-items:flex-start}
  .liveVehicle{align-items:flex-start;flex-direction:column}
}


/* LocalCrew 1.0 — report identity */
.reportIdentity{display:flex;align-items:center;gap:14px;min-width:0;flex:1 1 340px}
.reportIdentity>div:last-child{min-width:0}
.reportLogoBox{width:94px;height:62px;flex:0 0 94px;background:#fff;border:1px solid #31445f;border-radius:11px;padding:7px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(0,0,0,.18)}
.reportLogoBox img{max-width:100%;max-height:100%;object-fit:contain;display:block}
@media(max-width:720px){.reportIdentity{align-items:flex-start}.reportLogoBox{width:74px;height:50px;flex-basis:74px}}

/* LocalCrew 1.1 — import Excel */
.importHero h2{margin:4px 0 6px}.importActions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.importFileBtn{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.excelPreview{margin-top:10px}.importSummary{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:8px;margin:12px 0 18px}.importSummary>div{border:1px solid var(--line);border-radius:10px;background:#0b1523;padding:10px 12px;min-width:0}.importSummary small{display:block;font-size:8px;color:#7f8da0;letter-spacing:.1em;font-weight:900}.importSummary b{display:block;margin-top:4px;font-size:13px;overflow-wrap:anywhere}.importSummary .sumBad{border-color:#7f2d35;background:#2b1116}.importSummary .sumBad b{color:#fecaca}.importPreviewSection{margin-top:17px}.importPreviewSection h3{margin:0 0 8px;font-size:14px}.importTable{min-width:700px}.importTable.calls{min-width:1050px}.importTable th{font-size:9px;text-transform:uppercase;letter-spacing:.05em;background:#17263a}.importTable td{font-size:10px}.importTable tr.ok td:last-child{color:#86efac;font-weight:800}.importTable tr.warn td:last-child{color:#fcd34d;font-weight:800}.importTable tr.bad{background:#281217}.importTable tr.bad td:last-child{color:#fca5a5;font-weight:800}.importFooter{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.importFooter p{margin:4px 0 0}.importWarnText{color:#fcd34d}.importError{border:1px solid #74313a;background:#2d1117;color:#fecaca;border-radius:10px;padding:14px}.importFooter .btn:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:850px){.importSummary{grid-template-columns:repeat(2,minmax(0,1fr))}.importSummary>div:first-child{grid-column:1/-1}.importFooter{align-items:stretch;flex-direction:column}.importFooter .btn{width:100%}}
@media(max-width:480px){.importSummary{grid-template-columns:1fr}.importSummary>div:first-child{grid-column:auto}.importActions .btn,.importActions .importFileBtn{width:100%}}

/* LocalCrew 1.1.1 — report crew semplificato */
.reportMetricNote{padding:10px 14px;border-bottom:1px solid rgba(148,163,184,.18);font-size:12px;color:#94a3b8;background:rgba(15,23,42,.45)}
.proReportTable tfoot td{background:rgba(30,41,59,.9);color:#f8fafc;border-top:2px solid rgba(148,163,184,.35)}

/* LocalCrew 2.0 auth/cloud */
.authCenter{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,#15202a 0,#090d11 45%);position:relative;z-index:500}.authCard{width:min(460px,100%);padding:28px;border-radius:24px;background:linear-gradient(180deg,#141d24,#0e151a);border:1px solid #263640;box-shadow:0 20px 60px #0008;color:#eef5f8}.authBrand{font-weight:900;letter-spacing:.08em;font-size:24px}.authBrand span{color:#37c7ff}.authBrand small{display:block;font-size:10px;letter-spacing:.18em;color:#8fa4af;margin-top:3px}.authCard p{color:#8fa4af}.authStack{display:grid;gap:12px}.authTabs{display:flex;gap:8px;margin:20px 0}.authTabs button{border:0;background:transparent;color:#8fa4af;padding:12px 14px;border-radius:12px;cursor:pointer}.authTabs button.active{background:#1d2c36;color:#fff}.authCard input{width:100%;background:#0a1014;border:1px solid #31424d;color:#fff;padding:12px 13px;border-radius:11px}.authHint{font-size:12px;color:#b8c9d1;border-left:3px solid #37c7ff;padding:8px 10px;background:#0e171d;border-radius:8px}.mfaQr{display:grid;place-items:center;background:#fff;border-radius:16px;padding:14px;width:min(280px,100%);margin:0 auto}.mfaQr img{display:block;width:100%;height:auto}.secretBox{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere;background:#091015;border:1px solid #344853;padding:12px;border-radius:10px;text-align:center}.cloudTop{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.cloudTop span{font-size:11px;color:#8fa4af}.sideLogout{margin-top:8px;width:100%}@media(max-width:700px){.cloudTop span{display:none}.authCenter{padding:12px}.authCard{padding:20px}}

/* Production release — users, security, legal */
a{color:#93c5fd;text-decoration:none}a:hover{text-decoration:underline}
.linkButton{border:0;background:transparent;color:#93c5fd;padding:8px 2px;text-align:left;font-size:12px;box-shadow:none}
.authLegal{margin-top:14px;padding-top:13px;border-top:1px solid #263640;color:#78909c;font-size:10px;line-height:1.5}
.legalLinks{font-size:11px;color:var(--muted)}
.managerHead{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.managerHead h2{margin:4px 0}.managerHead p{margin:0}
.memberList{display:grid;gap:9px}.memberCard{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px;border:1px solid var(--line);background:var(--panel2);border-radius:11px}.memberMain{display:flex;align-items:center;gap:12px;min-width:0}.memberMain>div:last-child{min-width:0}.memberMain h3{margin:0 0 2px;font-size:15px;overflow-wrap:anywhere}.memberMain p{margin:0 0 6px;color:var(--muted);font-size:11px;overflow-wrap:anywhere}.memberMain small{color:#71829a;font-size:10px}.memberAvatar{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:#172743;border:1px solid #2c4265;color:#bfdbfe;font-weight:900;flex:none}.memberMeta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:5px}.memberMeta>b{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#cbd5e1}.memberPill{display:inline-flex;padding:3px 6px;border-radius:999px;border:1px solid #34445c;color:#9fb0c7;font-size:9px}.memberPill.ok{border-color:#245d3c;color:#86efac;background:#0d2719}.memberPill.off{border-color:#69333a;color:#fca5a5;background:#271216}.memberActions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.memberEditIdentity{display:flex;flex-direction:column;gap:3px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#0b1627;margin-bottom:12px}.memberEditIdentity span{color:var(--muted);font-size:11px}.roleHelp{margin-top:12px;border-left:3px solid #3b82f6;padding:9px 11px;background:#0c1727;color:#9fb0c7;font-size:11px;border-radius:8px}
.securityView h2{margin:4px 0 14px}.securityGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.securityCard{border:1px solid var(--line);background:var(--panel2);border-radius:11px;padding:14px}.securityCard h3{margin:0 0 10px}.securityCard dl{margin:0}.securityCard dl>div{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid rgba(148,163,184,.12)}.securityCard dl>div:last-child{border-bottom:0}.securityCard dt{color:var(--muted);font-size:11px}.securityCard dd{margin:0;text-align:right;font-weight:800;font-size:11px}.legalCard{margin-top:10px}.legalCard p{font-size:12px;line-height:1.55}.legalDocLinks{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.warnText{color:#fcd34d}.legalSummary{display:grid;gap:3px;margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:9px;background:#0b1627}.legalSummary span{color:var(--muted);font-size:11px}
body[data-role="viewer"] .operationalWrite{display:none!important}

@media(max-width:720px){
  .managerHead,.memberCard{align-items:stretch;flex-direction:column}.managerHead .btn{width:100%}.memberActions{width:100%;justify-content:stretch}.memberActions .btn{flex:1 1 auto}.securityGrid{grid-template-columns:1fr}.securityCard dl>div{align-items:flex-start;flex-direction:column;gap:3px}.securityCard dd{text-align:left}.legalDocLinks .btn{width:100%}.gateTop{gap:12px}.cloudTop{width:100%;justify-content:flex-end}.cloudTop .btn{padding:7px 9px;min-height:34px;font-size:11px}
}
@media(max-width:430px){.memberMain{align-items:flex-start}.memberAvatar{width:36px;height:36px}.memberActions{flex-direction:column}.memberActions .btn,.memberActions .badge{width:100%;text-align:center;justify-content:center}}
.readOnlyDisabled{opacity:.38!important;cursor:not-allowed!important;filter:grayscale(.5)!important}

/* LocalCrew 2.1 · organizzazioni e accessi */
.orgCard{max-width:620px}.orgChoices{display:grid;gap:10px;margin:18px 0}.orgChoice{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border:1px solid rgba(148,163,184,.25);border-radius:14px;background:rgba(15,23,42,.65);color:inherit;text-align:left;cursor:pointer}.orgChoice:hover{border-color:rgba(59,130,246,.65)}.orgChoice b{font-size:16px}.orgChoice span{font-size:12px;opacity:.75}.orgCreate{display:grid;grid-template-columns:1fr auto;gap:10px;margin:18px 0}.accessMember{cursor:pointer}.accessMember input[type=checkbox]{width:22px;height:22px;flex:0 0 auto}.accessMember:has(input:checked){border-color:rgba(59,130,246,.55)}body[data-costs="hidden"] .costOnly{display:none!important}@media(max-width:640px){.orgCreate{grid-template-columns:1fr}.orgChoice{align-items:flex-start;flex-direction:column;gap:4px}}
