/* ============================================================================
   Authelia — Neumorphism 2.0, stessi token di mesh/ccc-admin/arsenal.
   Iniettato in OGNI pagina di /sso via sub_filter su NPM (login, settings,
   passkey, dialoghi). Nessun fork dell'immagine.
   Authelia usa MUI con classi generate: qui si colpiscono le classi stabili
   .Mui*-root, e serve !important perche' il tema applica stili inline.
   ========================================================================== */
@font-face{font-family:"0xProto";src:url(/static/fonts/0xProto-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"0xProto";src:url(/static/fonts/0xProto-Bold.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  --bg:#0f1a12;--card:#0f1a12;--card-3:#122117;
  --tx:#a9f7c4;--tx-2:#dcffe8;--tx-3:#8fe6ad;--mut:#4cc27a;--mut-2:#2f8a55;
  --g:#77fb4c;--g2:#00cc52;--on-g:#04230f;
  --good:#35d97a;--warn:#f5c451;--bad:#ff8a80;
  --lt:#182a1c;--dk:#070c08;
  --hair:inset 0 1px 0 rgba(169,247,196,.09),inset 0 -1px 0 rgba(0,0,0,.45),inset 1px 0 0 rgba(169,247,196,.04),inset -1px 0 0 rgba(0,0,0,.25);
  --raise:8px 8px 18px var(--dk),-8px -8px 18px var(--lt);
  --raise-sm:4px 4px 10px var(--dk),-4px -4px 10px var(--lt);
  --raise-xs:2px 2px 6px var(--dk),-2px -2px 6px var(--lt);
  --press:inset 5px 5px 10px var(--dk),inset -5px -5px 10px var(--lt);
  --press-sm:inset 3px 3px 6px var(--dk),inset -3px -3px 6px var(--lt);
  --mono:"0xProto","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme: light){
  :root{
    --bg:#e6efe8;--card:#e6efe8;--card-3:#dde9e0;
    --tx:#12351f;--tx-2:#05200e;--tx-3:#2c6640;--mut:#3f7a55;--mut-2:#5b9070;
    --g:#1f9c46;--g2:#157a36;--on-g:#ffffff;
    --good:#1f9c46;--warn:#9a6b00;--bad:#c0392b;
    --lt:#ffffff;--dk:#c2cfc5;
    --hair:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -1px 0 rgba(0,0,0,.07),inset 1px 0 0 rgba(255,255,255,.6),inset -1px 0 0 rgba(0,0,0,.04);
  }
}

html,body,#root{background:var(--bg) !important;color:var(--tx) !important}
body,button,input,select,textarea,.MuiTypography-root,.MuiButton-root,
.MuiInputBase-root,.MuiFormLabel-root,.MuiChip-label,.MuiTableCell-root,
.MuiListItemText-primary,.MuiListItemText-secondary,.MuiAlert-message,.MuiTooltip-tooltip{
  font-family:var(--mono) !important}

.MuiTypography-root{color:var(--tx) !important}
.MuiTypography-h1,.MuiTypography-h2,.MuiTypography-h3,.MuiTypography-h4,
.MuiTypography-h5,.MuiTypography-h6,.MuiTypography-subtitle1{color:var(--tx-2) !important;letter-spacing:.4px}
.MuiTypography-caption,.MuiTypography-body2{color:var(--mut) !important}
a,.MuiLink-root{color:var(--g) !important;text-decoration:none !important}

/* --- la card centrale del login e ogni superficie --- */
.MuiPaper-root{
  background:var(--card) !important;color:var(--tx) !important;
  border-radius:22px !important;border:none !important;
  box-shadow:var(--raise),var(--hair) !important;background-image:none !important}
.MuiPaper-root .MuiPaper-root{box-shadow:var(--raise-sm),var(--hair) !important;border-radius:16px !important}
.MuiAppBar-root,.MuiDrawer-paper{background:var(--card) !important;
  box-shadow:var(--raise-sm),var(--hair) !important;border:none !important}
.MuiDivider-root{border-color:rgba(127,191,150,.15) !important}

/* --- pulsanti --- */
.MuiButton-root{
  border-radius:13px !important;text-transform:none !important;font-weight:600 !important;
  letter-spacing:.3px !important;padding:10px 18px !important;
  background:var(--card) !important;color:var(--tx) !important;border:none !important;
  box-shadow:var(--raise-sm),var(--hair) !important;transition:box-shadow .16s,color .16s}
.MuiButton-root:hover{background:var(--card) !important;color:var(--g) !important;
  box-shadow:var(--raise-sm),var(--hair) !important}
.MuiButton-root:active{box-shadow:var(--press-sm) !important;transform:translateY(1px)}
.MuiButton-contained,.MuiButton-containedPrimary{
  background:var(--g) !important;color:var(--on-g) !important;
  box-shadow:var(--raise-sm),var(--hair) !important}
.MuiButton-contained:hover,.MuiButton-containedPrimary:hover{
  background:var(--g2) !important;color:var(--on-g) !important}
.MuiIconButton-root{color:var(--tx-3) !important;border-radius:12px !important;
  box-shadow:var(--raise-xs),var(--hair) !important;background:var(--card) !important}
.MuiIconButton-root:hover{color:var(--g) !important}
.MuiFab-root{background:var(--g) !important;color:var(--on-g) !important;
  box-shadow:var(--raise),var(--hair) !important}

/* --- campi: incassati, 16px per non far zoomare Safari iOS --- */
.MuiOutlinedInput-root,.MuiFilledInput-root{
  background:var(--card-3) !important;border-radius:12px !important;
  box-shadow:var(--press-sm) !important;color:var(--tx) !important}
.MuiOutlinedInput-notchedOutline{border:none !important}
.MuiOutlinedInput-root.Mui-focused{outline:1px solid var(--g);outline-offset:1px}
.MuiInputBase-input{color:var(--tx) !important;font-size:16px !important;
  -webkit-text-fill-color:var(--tx) !important}
.MuiInputBase-input::placeholder{color:var(--mut-2) !important;opacity:1 !important}
.MuiFormLabel-root,.MuiInputLabel-root{color:var(--mut) !important}
.MuiFormLabel-root.Mui-focused{color:var(--g) !important}
.MuiFormHelperText-root{color:var(--mut) !important}

/* --- selezioni, liste, tabelle --- */
.MuiCheckbox-root,.MuiRadio-root,.MuiSwitch-thumb{color:var(--mut) !important}
.MuiCheckbox-root.Mui-checked,.MuiRadio-root.Mui-checked{color:var(--g) !important}
.MuiSwitch-track{background:var(--card-3) !important}
.MuiSvgIcon-root,.lucide{color:inherit !important}
.MuiListItemButton-root{border-radius:12px !important}
.MuiListItemButton-root:hover{background:var(--card-3) !important;color:var(--g) !important}
.MuiListItemButton-root.Mui-selected{background:var(--card-3) !important;
  box-shadow:var(--press-sm) !important;color:var(--g) !important}
.MuiListItemIcon-root{color:var(--mut) !important;min-width:38px !important}
.MuiTableCell-root{border-color:rgba(127,191,150,.15) !important;color:var(--tx) !important}
.MuiTableCell-head{color:var(--mut) !important;text-transform:uppercase;
  font-size:11px !important;letter-spacing:1.1px}
.MuiChip-root{background:var(--card) !important;color:var(--mut) !important;
  box-shadow:var(--raise-xs),var(--hair) !important;border:none !important;border-radius:9px !important}

/* --- avvisi e dialoghi --- */
.MuiAlert-root{background:var(--card) !important;color:var(--tx) !important;
  border-radius:14px !important;box-shadow:var(--raise-sm),var(--hair) !important}
.MuiAlert-standardError,.MuiAlert-filledError{color:var(--bad) !important}
.MuiAlert-standardSuccess,.MuiAlert-filledSuccess{color:var(--good) !important}
.MuiAlert-standardWarning,.MuiAlert-filledWarning{color:var(--warn) !important}
.MuiDialog-paper{border-radius:22px !important;box-shadow:var(--raise),var(--hair) !important}
.MuiBackdrop-root{background:rgba(0,0,0,.55) !important;backdrop-filter:blur(3px)}
.MuiTooltip-tooltip{background:var(--card) !important;color:var(--tx) !important;
  box-shadow:var(--raise-sm),var(--hair) !important;border-radius:11px !important;font-size:12px !important}
.MuiCircularProgress-root,.MuiLinearProgress-bar{color:var(--g) !important;background-color:var(--g) !important}
.MuiLinearProgress-root{background:var(--card-3) !important}

/* --- il logo/marchio in cima al portale --- */
#root img[alt="Logo"],#root .logo,#root svg.MuiSvgIcon-fontSizeLarge{
  filter:drop-shadow(0 0 6px rgba(119,251,76,.45))}

/* --- dialoghi (Identity Verification, conferme) --- */
.MuiDialog-paper{background:var(--card) !important;padding:6px !important}
.MuiDialogTitle-root{color:var(--tx-2) !important;font-weight:700 !important;letter-spacing:.4px}
.MuiDialogContentText-root{color:var(--tx) !important}
.MuiDialogActions-root .MuiButton-root{
  background:var(--card) !important;color:var(--tx) !important;
  box-shadow:var(--raise-sm),var(--hair) !important;text-transform:none !important}
.MuiDialogActions-root .MuiButton-root:hover{color:var(--g) !important}
.MuiDialogActions-root .MuiButton-root[color="error"],
.MuiDialogActions-root .MuiButton-colorError{color:var(--bad) !important}
.MuiDialogActions-root .MuiButton-root:last-of-type{background:var(--g) !important;color:var(--on-g) !important}
.MuiDialogActions-root .MuiButton-root:last-of-type:hover{background:var(--g2) !important;color:var(--on-g) !important}

/* --- via il selettore lingua e ogni marchio esterno --- */
a[href*="authelia.com"],
[aria-label*="anguage"],[title*="anguage"],[data-testid*="anguage"],
[aria-label*="ingua"],[id*="anguage"]{display:none !important}

/* --- via la barra blu in cima (AppBar + hamburger) ---
   La navigazione tra le sezioni avviene dalla dashboard, non da qui.
   !important da solo non basta sempre: emotion inietta i suoi <style> dopo
   questo foglio, quindi si colpisce anche la variante colorPrimary. */
.MuiAppBar-root,.MuiAppBar-colorPrimary,header.MuiPaper-root{display:none !important}
#root > .MuiBox-root:first-of-type{padding-top:0 !important}

/* ===== 2026-09-22: barra superiore + pulsanti overlay =====================
   La CSP del portale e' "style-src 'self' 'nonce-...'": gli stili inline via
   setAttribute("style") vengono BLOCCATI. Quindi il JS si limita a mettere
   classi/id e lo stile sta qui. */
.cc-hide{display:none !important}

#cc-dash-btn,#cc-theme-btn{
  position:fixed;top:12px;z-index:2147483000;
  font:14px/1 var(--mono);padding:10px 14px;border-radius:12px;
  background:var(--card-3);color:var(--g);border:1px solid var(--g);
  text-decoration:none;cursor:pointer;box-shadow:var(--raise-xs);
  -webkit-appearance:none;appearance:none}
#cc-dash-btn{left:16px}
#cc-theme-btn{right:16px;min-width:44px;text-align:center}
#cc-dash-btn:hover,#cc-theme-btn:hover{box-shadow:var(--press-sm)}
#root,body{padding-top:0 !important}

/* tema forzato dal pulsante (batte il media query perche' piu' specifico) */
html[data-theme="light"]{
  --bg:#e6efe8;--card:#e6efe8;--card-3:#dde9e0;
  --tx:#12351f;--tx-2:#05200e;--tx-3:#2c6640;--mut:#3f7a55;--mut-2:#5b9070;
  --g:#1f9c46;--g2:#157a36;--on-g:#ffffff;
  --good:#1f9c46;--warn:#9a6b00;--bad:#c0392b;
  --lt:#ffffff;--dk:#c2cfc5}
html[data-theme="dark"]{
  --bg:#0f1a12;--card:#0f1a12;--card-3:#122117;
  --tx:#a9f7c4;--tx-2:#dcffe8;--tx-3:#8fe6ad;--mut:#4cc27a;--mut-2:#2f8a55;
  --g:#77fb4c;--g2:#00cc52;--on-g:#04230f;
  --good:#35d97a;--warn:#f5c451;--bad:#ff8a80;
  --lt:#182a1c;--dk:#070c08}
