/* CNSBII 1.6.16.81A · Area O.C. · CSS canonico autonomo
 * Generato dalla cascata attiva, mantenendo l’ordine originale.
 * Nessuna regola funzionale rimossa.
 */

/* === SORGENTE: cnsbii-public-shell.css === */
:root{--cns-navy:#061126;--cns-blue:#0b1b38;--cns-yellow:#e7c92f;--cns-red:#c40018;--cns-ink:#101624;--cns-muted:#5d6676;--cns-line:#dfe5ee;--cns-soft:#f5f7fb;--cns-green:#2f7d42;--cns-shadow:0 20px 50px rgba(6,17,38,.12)}
*{box-sizing:border-box}.cns-wrap{width:min(1480px,calc(100% - 64px));margin:0 auto}.skip-link{position:absolute;left:-999px;top:auto}.skip-link:focus{left:16px;top:16px;z-index:9999;background:#fff;color:#000;padding:10px 14px;border:2px solid #000}.cns-shell{background:#fff;color:var(--cns-ink);border-bottom:4px solid var(--cns-yellow);position:relative;z-index:50}.cns-topline{background:var(--cns-navy);color:#fff;border-bottom:4px solid var(--cns-yellow)}.cns-topline-inner{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:1rem}.cns-topline strong{color:var(--cns-yellow);letter-spacing:.12em;text-transform:uppercase}.cns-topline a{color:#fff;text-decoration:none;font-weight:800;margin-left:24px}.cns-head-main{min-height:138px;display:flex;align-items:center;gap:32px;padding:22px 0}.cns-brand{display:flex;align-items:center;gap:18px;color:var(--cns-ink);text-decoration:none;min-width:360px}.cns-brand-logo{width:104px;height:104px;object-fit:contain;flex:0 0 auto}.cns-brand-text strong{display:block;font-size:2.15rem;line-height:.95;letter-spacing:.02em}.cns-brand-text em{display:block;margin-top:7px;font-style:normal;font-weight:900;line-height:1.08;letter-spacing:.095em;text-transform:uppercase;color:#293142;font-size:.92rem}.cns-main-nav{margin-left:auto;display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap}.cns-main-nav>a,.cns-nav-group>button{appearance:none;border:0;background:transparent;color:var(--cns-ink);font-size:.88rem;text-transform:uppercase;font-weight:950;letter-spacing:.16em;text-decoration:none;padding:16px 12px;line-height:1;cursor:pointer;white-space:nowrap}.cns-main-nav>a:hover,.cns-nav-group>button:hover,.cns-nav-group.is-open>button{color:var(--cns-red)}.cns-nav-group{position:relative}.cns-nav-group>button:after{content:'+';color:var(--cns-red);font-weight:950;margin-left:7px}.cns-nav-group.is-open>button:after{content:'−'}.cns-nav-actions>button{background:var(--cns-yellow);border:3px solid #111;box-shadow:8px 8px 0 rgba(0,0,0,.22);padding:18px 22px}.cns-dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(12px);min-width:280px;background:#fff;border:3px solid #111;box-shadow:10px 10px 0 rgba(0,0,0,.18);padding:10px;opacity:0;visibility:hidden;pointer-events:none;transition:.16s ease;z-index:100}.cns-nav-group.is-open .cns-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}.cns-dropdown:before{content:'';position:absolute;top:-10px;left:calc(50% - 10px);width:18px;height:18px;background:#fff;border-left:3px solid #111;border-top:3px solid #111;transform:rotate(45deg)}.cns-dropdown a{display:block;padding:13px 12px;border-bottom:1px solid var(--cns-line);color:var(--cns-ink);text-decoration:none;font-weight:900}.cns-dropdown a:last-child{border-bottom:0}.cns-dropdown a:hover{background:#f5f1d4}.cns-idra-access{margin-left:18px;min-width:210px;display:flex;align-items:center;gap:14px;background:#08090b;color:#fff;text-decoration:none;padding:14px 20px;border:3px solid #08090b;box-shadow:9px 9px 0 rgba(0,0,0,.17);font-weight:950}.cns-idra-access img{width:44px;height:44px;object-fit:contain;background:#fff;border:2px solid var(--cns-yellow);padding:4px}.cns-idra-access span{display:grid;line-height:1.1;font-size:1.15rem}.cns-idra-access small{font-size:.68rem;opacity:.86;letter-spacing:.08em;text-transform:uppercase}.cns-menu-toggle{display:none}.site-footer{background:var(--cns-navy)!important;color:#fff!important;border-top:4px solid var(--cns-yellow)!important}.site-footer a{color:#fff!important}.site-footer h2{color:#fff!important}.site-footer .footer-bottom,.site-footer .footer-note{border-top:1px solid rgba(255,255,255,.15);background:rgba(0,0,0,.18);color:#d7dfec}
@media(max-width:1180px){.cns-head-main{gap:18px}.cns-brand{min-width:280px}.cns-brand-text strong{font-size:1.75rem}.cns-brand-text em{font-size:.76rem}.cns-idra-access{min-width:160px;padding:12px 14px}.cns-main-nav>a,.cns-nav-group>button{font-size:.78rem;padding:14px 8px;letter-spacing:.12em}}
@media(max-width:900px){.cns-wrap{width:min(100% - 28px,720px)}.cns-topline-inner{font-size:.86rem}.cns-topline nav{display:none}.cns-head-main{min-height:94px;padding:14px 0;align-items:center}.cns-brand{min-width:0;flex:1;gap:10px}.cns-brand-logo{width:62px;height:62px}.cns-brand-text strong{font-size:1.1rem}.cns-brand-text em{display:block;font-size:.48rem;line-height:1.16;letter-spacing:.07em}.cns-menu-toggle{display:inline-flex;align-items:center;gap:10px;background:var(--cns-yellow);border:3px solid #111;box-shadow:6px 6px 0 rgba(0,0,0,.24);padding:12px 14px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.cns-menu-toggle i,.cns-menu-toggle i:before,.cns-menu-toggle i:after{display:block;width:24px;height:3px;background:#111;content:''}.cns-menu-toggle i{position:relative}.cns-menu-toggle i:before{position:absolute;top:-7px}.cns-menu-toggle i:after{position:absolute;top:7px}.cns-main-nav{display:none;position:absolute;top:100%;left:14px;right:14px;margin:0;background:#fff;border:3px solid #111;box-shadow:8px 8px 0 rgba(0,0,0,.22);padding:10px;z-index:200}.cns-shell.menu-open .cns-main-nav{display:grid;gap:8px}.cns-main-nav>a,.cns-nav-group>button{width:100%;text-align:left;border:1px solid var(--cns-line);background:#fff;padding:15px 14px;color:#111!important;letter-spacing:.08em}.cns-nav-actions>button{box-shadow:none;background:var(--cns-yellow)}.cns-dropdown{position:static;transform:none;min-width:0;border:0;box-shadow:none;padding:0;margin-top:4px;opacity:1;visibility:visible;pointer-events:auto;display:none}.cns-dropdown:before{display:none}.cns-nav-group.is-open .cns-dropdown{display:block;transform:none}.cns-dropdown a{background:#f7f8fa;margin-bottom:4px;border:1px solid var(--cns-line)}.cns-idra-access{margin-left:0;min-width:0;padding:10px 12px}.cns-idra-access img{width:32px;height:32px}.cns-idra-access span{font-size:.9rem}.cns-idra-access small{display:none}}
@media(max-width:560px){.cns-head-main{flex-wrap:wrap}.cns-brand{flex-basis:calc(100% - 118px)}.cns-idra-access{order:4;width:100%;justify-content:center}.cns-menu-toggle{margin-left:auto}.cns-brand-text em{max-width:210px}.cns-topline span{line-height:1.25}}

/* === SORGENTE: cnsbii-osservatori-68K.css === */
/* CNSBII 1.6.16.68K-REV3 · Rifinitura Osservatori Civici */
.oc68k-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.oc68k-table-wrap,.table-responsive{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1rem 0;border:1px solid rgba(15,23,42,.12)}
.oc68k-table-wrap table,.table-responsive table{width:100%;border-collapse:collapse;min-width:640px}
.oc68k-table-wrap th,.oc68k-table-wrap td,.table-responsive th,.table-responsive td{vertical-align:top;word-break:normal;overflow-wrap:anywhere}
img{max-width:100%;height:auto}
form input,form select,form textarea,form button{max-width:100%}
.oc68k-form-note{font-size:.92rem;line-height:1.45;color:#334155}
@media (max-width:760px){.oc68k-table-wrap table,.table-responsive table{min-width:560px}body{overflow-x:hidden}}

/* === SORGENTE: oc-area.css === */
:root{
  --blue:#173b72;
  --blue-2:#244f8f;
  --ink:#141824;
  --muted:#667386;
  --line:#d7dee8;
  --bg:#eef2f6;
  --panel:#fff;
  --green:#166534;
  --red:#991b1b;
  --amber:#92400e;
  --yellow:#f2d048;
  --shadow:0 16px 40px rgba(15,23,42,.10);
}
*{box-sizing:border-box}
body.oc-area-public{margin:0;background:radial-gradient(circle at top left,rgba(36,79,143,.12),transparent 34%),linear-gradient(180deg,#f4f7fb 0%,#e9eef5 100%);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.35}
.oc-area-top{background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:14px;align-items:center;padding:8px 14px;position:sticky;top:0;z-index:10;box-shadow:0 4px 18px rgba(15,23,42,.06)}
.oc-area-brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;min-width:230px}
.oc-area-brand img{width:38px;height:48px;object-fit:contain;display:block}
.oc-area-brand strong{display:block;font-size:1rem;letter-spacing:.01em}.oc-area-brand small{display:block;color:var(--muted);font-size:.8rem;margin-top:1px}
.oc-area-top nav{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.oc-area-top nav a{color:var(--blue);text-decoration:none;font-weight:900;border:1px solid var(--line);padding:6px 9px;background:#f8fafc;letter-spacing:.01em}.oc-area-top nav a:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.oc-area-main{max-width:1260px;margin:0 auto;padding:18px}.oc-area-foot{max-width:1260px;margin:0 auto;padding:16px 18px 24px;color:var(--muted);font-size:.86rem;display:flex;gap:8px;flex-wrap:wrap}.oc-area-foot strong{color:var(--blue)}
.login-card,.panel,.hero-panel{background:rgba(255,255,255,.98);border:1px solid var(--line);padding:18px;margin-bottom:14px;box-shadow:var(--shadow);position:relative;overflow:hidden}.login-card:before,.hero-panel:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,var(--blue),var(--yellow),#1d9a5b);}.login-card{max-width:620px;margin:32px auto}.login-card h1,.hero-panel h1,.panel h1{font-size:clamp(2rem,4.4vw,3.35rem);line-height:1.02;margin:.1rem 0 .55rem;letter-spacing:-.045em}.login-card>p,.hero-panel>p,.panel>p{font-size:1.02rem}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:#832525;font-weight:900;font-size:.72rem;margin:0 0 7px}.panel h2{font-size:1.16rem;margin:0 0 8px;letter-spacing:-.015em}.area-form{display:grid;gap:10px}.area-form.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.area-form label{font-weight:900;color:#172033}.area-form input,.area-form textarea{display:block;width:100%;border:1px solid var(--line);padding:9px 10px;min-height:38px;font:inherit;background:#fff;margin-top:4px;color:var(--ink)}.area-form input:focus,.area-form textarea:focus{outline:3px solid rgba(23,59,114,.16);border-color:var(--blue)}
.check{display:flex!important;align-items:flex-start;gap:8px;font-weight:800!important}.check input{width:auto!important;min-height:auto!important;margin-top:2px!important}.button{display:inline-flex;justify-content:center;align-items:center;min-height:36px;border:1px solid var(--blue);background:#fff;color:var(--blue);padding:7px 12px;text-decoration:none;font-weight:900;cursor:pointer}.button.primary{background:var(--blue);color:#fff}.button.ghost{background:#fff}.button.danger{background:#991b1b;border-color:#991b1b;color:#fff}.button:hover{filter:brightness(.96)}.notice{border-left:5px solid;padding:10px 12px;margin:10px 0;background:#fff}.notice.success{border-color:#16a34a;background:#ecfdf5}.notice.error{border-color:#dc2626;background:#fef2f2}.help-text{font-size:.92rem;color:var(--muted)}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px}.kpi-grid article{background:#fff;border:1px solid var(--line);padding:13px;box-shadow:0 6px 18px rgba(15,23,42,.045)}.kpi-grid strong{display:block;font-size:1.35rem;color:var(--blue);letter-spacing:-.02em}.kpi-grid span{display:block;color:var(--muted);font-size:.82rem}.panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.danger{border-left:5px solid #991b1b}.hero-panel{padding:24px 22px;background:linear-gradient(135deg,#fff 0%,#f8fbff 60%,#eef5ff 100%)}.hero-panel .eyebrow{color:#842626}.login-card .area-form{margin-top:14px}.login-card .button.primary{width:100%;min-height:42px}.panel ol{margin-bottom:0}.panel li{margin:5px 0}.logo-placeholder-row{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.logo-placeholder-row span{display:inline-flex;border:1px dashed var(--line);padding:5px 8px;color:var(--muted);font-size:.8rem;background:#fff}
@media(max-width:760px){.oc-area-top{display:block}.oc-area-brand{margin-bottom:8px}.oc-area-top nav{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.oc-area-top nav a{white-space:nowrap;font-size:.86rem;padding:6px 8px}.oc-area-main{padding:12px}.area-form.grid,.panel-grid,.kpi-grid{grid-template-columns:1fr}.login-card{margin:14px auto;padding:16px}.login-card h1,.hero-panel h1{font-size:2.2rem}.oc-area-foot{display:block}}


/* PATCH 1.4.10 - hotfix area O.C. */
.oc-area-main .kpi-grid,.oc-area-main .panel-grid,.oc-area-main .copy-code-grid{display:grid!important;visibility:visible!important;opacity:1!important}
.oc-area-main .kpi-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))!important;gap:14px!important;margin:0 0 16px!important}
.oc-area-main .panel-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;gap:16px!important}
.oc-area-main .copy-code-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;gap:12px!important}
.copy-code strong{display:block!important;font-size:1.1rem!important;color:var(--oc-ink)!important;margin-top:3px!important;word-break:break-word!important}
.oc-area-main .panel, .oc-area-main .hero-panel{min-width:0!important}
@media (max-width:900px){.oc-area-main .kpi-grid,.oc-area-main .panel-grid,.oc-area-main .copy-code-grid{grid-template-columns:1fr!important}}

/* PATCH 1.4.11 - area O.C. stabile, responsive, codici, capacità */
.oc-area-main .kpi-grid,.oc-area-main .panel-grid,.oc-area-main .copy-code-grid{display:grid!important;visibility:visible!important;opacity:1!important}.oc-area-main .kpi-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;gap:14px!important;margin:0 0 16px!important}.oc-area-main .panel-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;gap:16px!important}.oc-area-main .copy-code-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;gap:12px!important}.copy-code{border:1px solid var(--oc-line)!important;background:#fff!important;padding:12px!important;box-shadow:var(--oc-soft)!important}.copy-code span{display:block!important;color:var(--oc-muted)!important;font-size:12px!important;font-weight:800!important}.copy-code strong{display:block!important;font-size:1.1rem!important;color:var(--oc-ink)!important;margin:3px 0 8px!important;word-break:break-word!important}.copy-code button{width:100%!important}.capacity-widget{border:1px solid var(--oc-line)!important;background:#fff!important;box-shadow:var(--oc-soft)!important;padding:11px!important;margin:12px 0!important}.capacity-widget strong{display:block!important}.capacity-widget span{display:block!important;color:var(--oc-muted)!important;font-size:.9rem!important}.capacity-widget p{margin:8px 0 0!important;color:var(--oc-red)!important;font-weight:800!important}.capacity-bar{height:10px!important;background:#e5eaf2!important;border:1px solid var(--oc-line)!important;margin-top:8px!important;overflow:hidden!important}.capacity-bar span{display:block!important;height:100%!important;background:linear-gradient(90deg,var(--oc-green),var(--oc-yellow),var(--oc-red))!important}.capacity-widget.saturo{border-left:5px solid var(--oc-red)!important}.capacity-widget.attenzione{border-left:5px solid var(--oc-yellow)!important}.oc-area-main .panel,.oc-area-main .hero-panel{min-width:0!important}.oc-nav-toggle{display:none!important}.oc-area-nav{transition:none!important}
@media(max-width:900px){.oc-area-top{display:grid!important;grid-template-columns:1fr auto!important;gap:8px!important}.oc-nav-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;border:1px solid var(--oc-line)!important;background:#fff!important;color:var(--oc-blue)!important;min-height:34px!important;padding:6px 10px!important;font-weight:900!important}.oc-area-nav{grid-column:1/-1!important;display:none!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}.oc-area-nav.is-open{display:grid!important}.oc-area-nav a{justify-content:center!important}.oc-area-main .kpi-grid,.oc-area-main .panel-grid,.oc-area-main .copy-code-grid{grid-template-columns:1fr!important}}
@media(max-width:520px){.oc-area-nav{grid-template-columns:1fr!important}.oc-area-main{padding:8px!important}.login-card,.panel,.hero-panel{padding:13px!important}.button{width:100%!important}}

/* === SORGENTE: oc-area-75C.css === */
/* CNSBII 1.6.16.75C · Area Osservatori Civici privata · shell grafica consolidata */
:root{
  --oc-navy:#081a31;
  --oc-navy-2:#102b4d;
  --oc-navy-3:#173b65;
  --oc-red:#c40018;
  --oc-red-dark:#970012;
  --oc-yellow:#efd94f;
  --oc-yellow-soft:#fff8cf;
  --oc-ink:#101828;
  --oc-muted:#475467;
  --oc-line:#d8dee8;
  --oc-soft:#f3f6fa;
  --oc-white:#fff;
  --oc-green:#157347;
  --oc-amber:#a35a00;
  --oc-shadow-sm:0 10px 28px rgba(8,26,49,.08);
  --oc-shadow:0 24px 64px rgba(8,26,49,.13);
  --oc-radius:18px;
  --oc-radius-sm:12px;
}
html{scroll-behavior:smooth}
body.oc-area-page{
  margin:0;
  background:
    radial-gradient(circle at 85% 4%,rgba(239,217,79,.16),transparent 26rem),
    radial-gradient(circle at 8% 22%,rgba(196,0,24,.07),transparent 22rem),
    linear-gradient(180deg,#eef3f8 0,#f8fafc 34rem,#f4f7fb 100%);
  color:var(--oc-ink);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.55;
  overflow-x:hidden;
  min-height:100vh;
}
body.oc-area-page *{box-sizing:border-box}
body.oc-area-page a{overflow-wrap:anywhere}
body.oc-area-page img{max-width:100%}
body.oc-area-page .skip-link{
  position:fixed!important;left:16px!important;top:-120px!important;z-index:10000!important;
  background:#fff!important;color:#111!important;border:3px solid #111!important;border-radius:8px;
  padding:11px 15px!important;font-weight:900!important;text-decoration:none!important;
}
body.oc-area-page .skip-link:focus{top:16px!important}

/* Shell riservata */
.oc75-shell-header{
  position:sticky;top:0;z-index:1000;
  background:rgba(8,26,49,.97);
  border-bottom:3px solid var(--oc-red);
  color:#fff;
  box-shadow:0 10px 30px rgba(8,26,49,.17);
  backdrop-filter:saturate(145%) blur(12px);
}
.oc75-header-inner{
  width:min(1480px,calc(100% - 40px));min-height:82px;margin:0 auto;
  display:flex;align-items:center;gap:24px;
}
.oc75-brand{
  display:flex;min-width:260px;align-items:center;gap:13px;
  color:#fff!important;text-decoration:none!important;
}
.oc75-brand img{
  width:52px;height:52px;object-fit:contain;background:#fff;
  border:2px solid var(--oc-yellow);border-radius:12px;padding:5px;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
}
.oc75-brand span{min-width:0}
.oc75-brand strong,.oc75-brand small{display:block;color:#fff}
.oc75-brand strong{font-size:1.08rem;line-height:1.15;letter-spacing:-.01em}
.oc75-brand small{margin-top:4px;font-size:.71rem;opacity:.76;letter-spacing:.075em;text-transform:uppercase}
.oc75-menu-toggle{
  display:none;margin-left:auto;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.55);
  border-radius:10px;background:rgba(255,255,255,.06);color:#fff;padding:10px 13px;font-weight:900;cursor:pointer;
}
.oc75-menu-toggle>span:first-child,.oc75-menu-toggle>span:first-child::before,.oc75-menu-toggle>span:first-child::after{
  display:block;width:21px;height:2px;background:currentColor;content:"";
}
.oc75-menu-toggle>span:first-child{position:relative}
.oc75-menu-toggle>span:first-child::before{position:absolute;top:-6px}
.oc75-menu-toggle>span:first-child::after{position:absolute;top:6px}
.oc75-area-nav{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}
.oc75-area-nav a{
  display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:10px 12px;
  border:1px solid transparent;border-radius:10px;color:#fff!important;text-decoration:none!important;
  font-size:.82rem;font-weight:850;line-height:1.2;white-space:nowrap;transition:background .2s ease,color .2s ease,transform .2s ease;
}
.oc75-area-nav a:hover,.oc75-area-nav a:focus-visible,.oc75-area-nav a.is-active{
  border-color:rgba(255,255,255,.62);background:#fff;color:var(--oc-navy)!important;outline:0;transform:translateY(-1px);
}
.oc75-area-nav .oc75-nav-egeria{
  margin-left:5px;background:var(--oc-yellow);border-color:var(--oc-yellow);color:#101010!important;
}
.oc75-area-nav .oc75-nav-egeria:hover,.oc75-area-nav .oc75-nav-egeria:focus-visible{background:#fff3a4;color:#101010!important}
.oc75-area-nav .oc75-nav-exit{border-color:rgba(255,255,255,.35)}
.oc75-userbar{background:rgba(255,255,255,.95);border-bottom:1px solid rgba(16,24,40,.09)}
.oc75-userbar-inner{
  width:min(1480px,calc(100% - 40px));min-height:42px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:.84rem;
}
.oc75-userbar-inner>div{display:flex;align-items:center;gap:8px;min-width:0}
.oc75-userbar span{color:var(--oc-muted)}
.oc75-userbar strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.oc75-userbar nav{display:flex;gap:16px;align-items:center}
.oc75-userbar a{color:var(--oc-red)!important;font-weight:850;text-decoration:none!important}
.oc75-live-dot{width:8px;height:8px;border-radius:50%;background:var(--oc-green);box-shadow:0 0 0 4px rgba(21,115,71,.12)}
body.oc-area-page .oc75-area-shell{width:min(1380px,calc(100% - 40px));margin:0 auto;padding:36px 0 76px}
.oc75-area-footer{
  display:flex;align-items:center;justify-content:space-between;gap:28px;
  padding:28px max(20px,calc((100% - 1480px)/2 + 20px));
  background:var(--oc-navy);border-top:4px solid var(--oc-red);color:#fff;
}
.oc75-footer-brand{max-width:720px}.oc75-footer-brand>strong{font-size:1.05rem}
.oc75-area-footer p{margin:3px 0;color:#e7edf5}.oc75-area-footer nav{display:flex;gap:16px;flex-wrap:wrap}
.oc75-area-footer a{color:#fff!important;font-weight:800}

/* Base UI */
.oc75-eyebrow{margin:0 0 8px;color:var(--oc-red)!important;font-size:.73rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}
.oc75-button{
  display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:12px;padding:11px 17px;
  border:2px solid var(--oc-navy);border-radius:10px;font-weight:900;line-height:1.2;text-decoration:none!important;cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.oc75-button b{font-size:1.1rem;line-height:1}
.oc75-button:hover,.oc75-button:focus-visible{transform:translateY(-2px);box-shadow:0 10px 24px rgba(8,26,49,.13)}
.oc75-button-primary{background:var(--oc-red)!important;border-color:var(--oc-red)!important;color:#fff!important}
.oc75-button-primary:hover,.oc75-button-primary:focus-visible{background:var(--oc-red-dark)!important;border-color:var(--oc-red-dark)!important;color:#fff!important}
.oc75-button-secondary{background:#fff!important;color:var(--oc-navy)!important}
.oc75-button-secondary:hover,.oc75-button-secondary:focus-visible{background:var(--oc-navy)!important;color:#fff!important}
.oc75-button:disabled{cursor:not-allowed;opacity:.55;transform:none;box-shadow:none}
.oc75-button-row,.oc75-hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.oc75-panel{
  min-width:0;background:rgba(255,255,255,.96);border:1px solid rgba(16,24,40,.1);border-radius:var(--oc-radius);
  padding:26px;box-shadow:var(--oc-shadow-sm);position:relative;overflow:hidden;
}
.oc75-panel::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--oc-navy),var(--oc-red),var(--oc-yellow))}
.oc75-panel h2{margin:0;color:var(--oc-ink);font-size:clamp(1.28rem,2vw,1.72rem);line-height:1.16;letter-spacing:-.025em}
.oc75-panel p{color:var(--oc-muted)}
.oc75-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}
.oc75-panel-heading>div>p:last-child{max-width:700px;margin:8px 0 0}
.oc75-panel-heading>a{color:var(--oc-red)!important;font-weight:900;text-decoration:none!important}

/* Dashboard */
.oc75-dashboard{display:grid;gap:22px}
.oc75-dashboard-hero{
  position:relative;isolation:isolate;overflow:hidden;
  display:flex;align-items:center;justify-content:space-between;gap:34px;
  padding:clamp(28px,4.5vw,54px);
  background:
    linear-gradient(115deg,rgba(8,26,49,.98),rgba(16,43,77,.94)),
    radial-gradient(circle at 80% 25%,rgba(239,217,79,.34),transparent 18rem);
  border:1px solid rgba(255,255,255,.1);border-radius:22px;border-bottom:5px solid var(--oc-yellow);
  box-shadow:var(--oc-shadow);color:#fff;
}
.oc75-dashboard-hero::before{
  content:"";position:absolute;width:470px;height:470px;right:-150px;top:-210px;border-radius:50%;
  border:1px solid rgba(255,255,255,.13);box-shadow:0 0 0 76px rgba(255,255,255,.025),0 0 0 150px rgba(255,255,255,.018);z-index:-1;
}
.oc75-dashboard-hero::after{
  content:"";position:absolute;inset:auto 0 0 0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);z-index:-1;
}
.oc75-hero-glow{position:absolute;right:18%;top:18%;width:180px;height:180px;border-radius:50%;background:rgba(239,217,79,.12);filter:blur(45px);z-index:-1}
.oc75-person{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:26px;min-width:0}
.oc75-avatar-wrap{position:relative;width:112px;height:112px}
.oc75-avatar{width:112px;height:112px;background:#fff;border:4px solid var(--oc-yellow);border-radius:20px;overflow:hidden;box-shadow:0 18px 38px rgba(0,0,0,.28)}
.oc75-avatar img{width:100%;height:100%;object-fit:cover}
.oc75-status-orbit{position:absolute;right:-5px;bottom:-5px;width:26px;height:26px;border:5px solid var(--oc-navy);border-radius:50%;background:#28a96b;box-shadow:0 0 0 3px rgba(40,169,107,.25)}
.oc75-person-copy{min-width:0}
.oc75-person h1{margin:0 0 12px;color:#fff;font-size:clamp(2.15rem,4.3vw,3.8rem);line-height:1.01;letter-spacing:-.045em}
.oc75-person p:last-of-type{max-width:780px;margin:0;color:#dfe7f2;font-size:clamp(.98rem,1.4vw,1.08rem)}
.oc75-dashboard-hero .oc75-eyebrow{color:var(--oc-yellow)!important}
.oc75-hero-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.oc75-hero-meta span{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:6px 10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.07);color:#fff;font-size:.78rem;font-weight:800}
.oc75-hero-meta i{width:7px;height:7px;border-radius:50%;background:var(--oc-yellow);box-shadow:0 0 0 3px rgba(239,217,79,.12)}
.oc75-hero-actions{justify-content:flex-end;flex:0 0 auto;max-width:245px}
.oc75-hero-actions .oc75-button{width:100%;justify-content:space-between}
.oc75-hero-actions .oc75-button-secondary{border-color:#fff}

.oc75-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}
.oc75-kpi-grid article{
  position:relative;overflow:hidden;min-width:0;background:rgba(255,255,255,.96);
  border:1px solid rgba(16,24,40,.09);border-radius:15px;padding:20px 20px 18px;box-shadow:var(--oc-shadow-sm);
}
.oc75-kpi-grid article::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--oc-red)}
.oc75-kpi-grid article::after{content:"";position:absolute;width:72px;height:72px;right:-24px;top:-24px;border-radius:50%;background:rgba(8,26,49,.04)}
.oc75-kpi-grid span,.oc75-kpi-grid small,.oc75-kpi-grid strong{display:block;position:relative;z-index:1}
.oc75-kpi-grid span{color:var(--oc-muted);font-size:.72rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.oc75-kpi-grid strong{margin:7px 0;color:var(--oc-ink);font-size:clamp(1.35rem,2.3vw,1.8rem);line-height:1.08;letter-spacing:-.03em}
.oc75-kpi-grid small{color:var(--oc-muted);font-size:.8rem}
.oc75-kpi-grid i{position:absolute;right:13px;bottom:10px;color:#d9e0e8;font-size:1.35rem;font-style:normal;font-weight:950}
.oc75-kpi-grid .is-profile::before{background:var(--oc-yellow)}
.oc75-kpi-grid .is-credit::before{background:#2e72a7}
.oc75-kpi-grid .is-course::before{background:#5f4a9b}
.oc75-kpi-grid .is-message::before{background:var(--oc-green)}

.oc75-dashboard-layout{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(320px,.72fr);gap:22px;align-items:start}
.oc75-dashboard-main,.oc75-dashboard-aside{display:grid;gap:22px;min-width:0}
.oc75-progress-ring{
  --ring:calc(var(--oc-progress) * 1%);
  width:92px;height:92px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;position:relative;
  background:conic-gradient(var(--oc-red) var(--ring),#e7ebf0 0);box-shadow:inset 0 0 0 1px rgba(16,24,40,.08);
}
.oc75-progress-ring::before{content:"";position:absolute;inset:9px;border-radius:50%;background:#fff}
.oc75-progress-ring strong,.oc75-progress-ring span{position:relative;z-index:1;display:block;text-align:center}
.oc75-progress-ring strong{color:var(--oc-ink)!important;font-size:1.15rem;line-height:1}
.oc75-progress-ring span{color:var(--oc-muted);font-size:.64rem;text-transform:uppercase;letter-spacing:.08em}
.oc75-progress{height:11px;background:#e5eaf0;border-radius:999px;overflow:hidden}
.oc75-progress>span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--oc-red),#e8354a,var(--oc-yellow))}
.oc75-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:20px 0 0;padding:0;list-style:none}
.oc75-checklist li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:11px;align-items:start;border:1px solid var(--oc-line);border-radius:12px;padding:14px;background:#fbfcfe}
.oc75-checklist li>span{position:relative;width:18px;height:18px;margin-top:2px;border:2px solid #98a2b3;border-radius:5px;background:#fff}
.oc75-checklist li.is-complete>span{border-color:var(--oc-green);background:var(--oc-green)}
.oc75-checklist li.is-complete>span::after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.oc75-checklist strong,.oc75-checklist small{display:block}
.oc75-checklist strong{color:var(--oc-ink)}
.oc75-checklist small{margin-top:2px;color:var(--oc-muted)}
.oc75-next-step{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;background:linear-gradient(135deg,#fff,#fff9dc)}
.oc75-next-index{display:grid;place-items:center;width:74px;height:74px;border-radius:18px;background:var(--oc-navy);color:#fff;font-size:.68rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase;transform:rotate(-2deg)}
.oc75-next-copy p{max-width:740px;margin:8px 0 0}

.oc75-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.oc75-service-grid>a{
  display:grid;grid-template-columns:52px minmax(0,1fr) auto;grid-template-rows:auto auto 1fr;
  min-height:188px;min-width:0;border:1px solid rgba(16,24,40,.1);border-radius:16px;background:#fff;padding:21px;
  color:var(--oc-ink)!important;text-decoration:none!important;box-shadow:var(--oc-shadow-sm);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.oc75-service-grid>a:hover,.oc75-service-grid>a:focus-visible{border-color:rgba(196,0,24,.35);transform:translateY(-4px);box-shadow:var(--oc-shadow)}
.oc75-service-grid>a>i{grid-row:1/4;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--oc-navy);color:#fff;font-style:normal;font-weight:950}
.oc75-service-grid>a>span{color:var(--oc-red);font-size:.72rem;font-weight:950;letter-spacing:.09em;text-transform:uppercase}
.oc75-service-grid>a>strong{margin:6px 0;color:var(--oc-ink);font-size:1.13rem;line-height:1.2}
.oc75-service-grid>a>small{align-self:end;color:var(--oc-muted);font-size:.88rem}
.oc75-service-grid>a>b{grid-column:3;grid-row:1/4;align-self:end;color:var(--oc-red);font-size:1.3rem}
.oc75-service-grid .is-training>i{background:#6a4b9c}.oc75-service-grid .is-messages>i{background:#16706d}.oc75-service-grid .is-card>i{background:#2b5d88}.oc75-service-grid .is-egeria>i{background:var(--oc-red)}
.oc75-training-card>p{margin-bottom:18px}
.oc75-empty-state{display:flex;align-items:flex-start;gap:16px;padding:18px;border:1px dashed #b7c0cc;border-radius:12px;background:#f8fafc}
.oc75-empty-state>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--oc-yellow-soft);color:var(--oc-amber);font-weight:950}
.oc75-empty-state strong{color:var(--oc-ink)!important}.oc75-empty-state p{margin:4px 0 0}

/* Tessera e dati laterali */
.oc75-card-preview::before{background:linear-gradient(90deg,var(--oc-yellow),var(--oc-red))}
.oc75-card-status{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:999px;background:#eef8f2;color:var(--oc-green);font-size:.72rem;font-weight:900}
.oc75-id-card{position:relative;isolation:isolate;overflow:hidden;display:grid;justify-items:center;gap:9px;margin:18px 0;padding:24px 22px;background:linear-gradient(145deg,#07172c,#173c67);border:2px solid var(--oc-yellow);border-radius:18px;color:#fff;text-align:center;box-shadow:0 18px 38px rgba(8,26,49,.2)}
.oc75-id-card::before{content:"";position:absolute;right:-50px;top:-70px;width:180px;height:180px;border:1px solid rgba(255,255,255,.14);border-radius:50%;box-shadow:0 0 0 44px rgba(255,255,255,.025);z-index:-1}
.oc75-id-card-grid{position:absolute;inset:0;z-index:-2;opacity:.09;background-image:linear-gradient(rgba(255,255,255,.7) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.7) 1px,transparent 1px);background-size:28px 28px}
.oc75-id-card-brand{display:flex;align-items:center;gap:9px;justify-self:stretch;border-bottom:1px solid rgba(255,255,255,.22);padding-bottom:13px}
.oc75-id-card-brand img{width:44px;height:44px;object-fit:contain;background:#fff;border-radius:9px;padding:4px}
.oc75-id-card-brand span{font-weight:900}
.oc75-id-photo{width:102px;height:102px;object-fit:cover;border:3px solid #fff;border-radius:18px;box-shadow:0 10px 24px rgba(0,0,0,.28)}
.oc75-id-card strong{font-size:1.12rem;color:#fff!important}.oc75-id-card small{color:#fff;opacity:.88}.oc75-id-card em{color:#dce5ef;font-size:.68rem;font-style:normal;text-transform:uppercase;letter-spacing:.08em}
.oc75-codes ul{display:grid;gap:9px;margin:0;padding:0;list-style:none}
.oc75-codes li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;border-top:1px solid var(--oc-line);padding:12px 0 0}
.oc75-codes li span{grid-column:1/-1;color:var(--oc-muted);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.oc75-codes li strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.oc75-codes button{min-height:34px;border:1px solid var(--oc-navy);border-radius:8px;background:#fff;color:var(--oc-navy);font-weight:850;cursor:pointer;padding:5px 10px}
.oc75-codes button:hover,.oc75-codes button:focus-visible{background:var(--oc-navy);color:#fff}
.oc75-privacy-note{font-size:.84rem}
.oc75-association>a{color:var(--oc-red)!important;font-weight:900;text-decoration:none!important}

/* Login */
.oc75-login-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr);gap:30px;align-items:start}
.oc75-login-intro{position:relative;overflow:hidden;padding:clamp(28px,4vw,50px);background:linear-gradient(145deg,var(--oc-navy),var(--oc-navy-2));border-radius:22px;border-bottom:5px solid var(--oc-yellow);color:#fff;box-shadow:var(--oc-shadow)}
.oc75-login-intro::before{content:"";position:absolute;right:-130px;top:-160px;width:380px;height:380px;border-radius:50%;border:1px solid rgba(255,255,255,.14);box-shadow:0 0 0 60px rgba(255,255,255,.025)}
.oc75-login-intro h1{position:relative;margin:0 0 18px;color:#fff;font-size:clamp(2.25rem,5vw,4.5rem);line-height:1;letter-spacing:-.045em}
.oc75-login-intro>p{position:relative;color:#e4eaf2;font-size:1.02rem}.oc75-login-intro .oc75-eyebrow{color:var(--oc-yellow)!important}
.oc75-login-intro ul{display:grid;gap:10px;margin:30px 0;padding:0;list-style:none}
.oc75-login-intro li{position:relative;border-top:1px solid rgba(255,255,255,.22);padding:13px 0 0 42px}
.oc75-login-intro li::before{content:"";position:absolute;left:0;top:13px;width:28px;height:28px;border-radius:9px;background:rgba(239,217,79,.14);border:1px solid rgba(239,217,79,.45)}
.oc75-login-intro li strong,.oc75-login-intro li span{display:block}.oc75-login-intro li strong{color:#fff}.oc75-login-intro li span{margin-top:3px;color:#e4e7ec}
.oc75-login-links{display:flex;gap:15px;flex-wrap:wrap}.oc75-login-links a{color:#fff!important;font-weight:850}
.oc75-login-card{position:relative;overflow:hidden;display:grid;gap:18px;background:rgba(255,255,255,.97);border:1px solid rgba(16,24,40,.1);border-radius:22px;padding:clamp(24px,4vw,38px);box-shadow:var(--oc-shadow)}
.oc75-login-card::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--oc-red),var(--oc-yellow))}
.oc75-idra-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;border:1px solid var(--oc-line);border-radius:16px;background:linear-gradient(135deg,#f4f7fb,#fff);padding:22px}
.oc75-idra-panel h2{margin:0;color:var(--oc-ink);font-size:1.65rem}.oc75-idra-panel p{margin-bottom:0;color:var(--oc-muted)}.oc75-active-identity{border-left:4px solid var(--oc-green);padding-left:10px}
.oc75-capacity{display:grid;gap:9px;border:1px solid var(--oc-line);border-radius:14px;padding:16px;background:#fff}
.oc75-capacity>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:14px}.oc75-capacity span{color:var(--oc-muted);font-size:.82rem}.oc75-capacity-bar{height:8px;background:#e4e9ef;border-radius:999px;overflow:hidden}.oc75-capacity-bar span{display:block;height:100%;border-radius:999px;background:var(--oc-green)}.oc75-capacity.warning .oc75-capacity-bar span{background:var(--oc-amber)}.oc75-capacity.critical .oc75-capacity-bar span{background:var(--oc-red)}
.oc75-legacy-access{border:1px solid var(--oc-line);border-radius:14px;padding:0;overflow:hidden}.oc75-legacy-access summary{padding:17px 19px;background:#f8fafc;color:var(--oc-ink);font-weight:900;cursor:pointer}.oc75-legacy-access[open] summary{border-bottom:1px solid var(--oc-line)}.oc75-legacy-access>p,.oc75-legacy-access>form{margin:19px}.oc75-form{display:grid;gap:15px}.oc75-form label:not(.oc75-honeypot){display:grid;gap:6px;color:var(--oc-ink);font-weight:850}.oc75-form input{width:100%;min-height:49px;border:2px solid #98a2b3;border-radius:10px;background:#fff;color:#101828;padding:10px 12px;font:inherit}.oc75-form input:focus{border-color:var(--oc-red);outline:3px solid rgba(196,0,24,.14);outline-offset:1px}.oc75-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.oc75-help{color:var(--oc-muted);font-size:.86rem}.oc75-notice{border-left:5px solid;border-radius:10px;padding:14px 16px;font-weight:800}.oc75-notice.is-success{border-color:var(--oc-green);background:#ecfdf3;color:#14532d}.oc75-notice.is-error{border-color:var(--oc-red);background:#fff1f3;color:#7f1d1d}

/* Effetti leggeri e protezioni */
[data-oc-reveal]{opacity:1;transform:none}
html.oc75-js [data-oc-reveal]{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}
html.oc75-js [data-oc-reveal].is-visible{opacity:1;transform:none}
body.oc-area-page .oc75-panel *,body.oc-area-page .oc75-kpi-grid *,body.oc-area-page .oc75-service-grid *{max-width:100%}
body.oc-area-page .oc75-panel h1,body.oc-area-page .oc75-panel h2,body.oc-area-page .oc75-panel h3,body.oc-area-page .oc75-panel strong{color:var(--oc-ink)}
body.oc-area-page button:focus-visible,body.oc-area-page a:focus-visible,body.oc-area-page summary:focus-visible{outline:3px solid var(--oc-yellow);outline-offset:3px}
body.oc-area-page.oc75-menu-locked{overflow:hidden}
.oc75-nav-backdrop{display:none;position:fixed;inset:0;z-index:990;background:rgba(8,26,49,.56);backdrop-filter:blur(2px)}
.oc75-shell-header.is-menu-open+.oc75-nav-backdrop{display:block}

@media(max-width:1180px){
  .oc75-header-inner,.oc75-userbar-inner{width:min(100% - 28px,1160px)}
  .oc75-area-nav a{padding:8px 8px;font-size:.77rem}
  .oc75-dashboard-layout{grid-template-columns:1fr}
  .oc75-dashboard-aside{grid-template-columns:repeat(2,minmax(0,1fr))}
  .oc75-association{grid-column:1/-1}
  .oc75-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .oc75-header-inner{min-height:72px;flex-wrap:wrap;padding:10px 0}
  .oc75-brand{min-width:0;flex:1}.oc75-menu-toggle{display:inline-flex}
  .oc75-area-nav{display:none;width:100%;margin:0;padding:8px 0 4px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .oc75-shell-header.is-menu-open .oc75-area-nav{display:grid}
  .oc75-area-nav a{white-space:normal;text-align:center;border:1px solid rgba(255,255,255,.28)}
  .oc75-area-nav .oc75-nav-egeria{margin-left:0}
  .oc75-dashboard-hero{align-items:flex-start;flex-direction:column}
  .oc75-hero-actions{max-width:none;justify-content:flex-start}
  .oc75-hero-actions .oc75-button{width:auto}
  .oc75-login-layout{grid-template-columns:1fr}.oc75-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  body.oc-area-page .oc75-area-shell{width:min(100% - 24px,1380px);padding-top:22px}
  .oc75-userbar-inner{align-items:flex-start;flex-direction:column;padding:9px 0}.oc75-userbar nav{width:100%;justify-content:space-between}
  .oc75-dashboard-hero{padding:24px}.oc75-person{grid-template-columns:78px minmax(0,1fr);gap:16px}.oc75-avatar-wrap,.oc75-avatar{width:78px;height:78px}.oc75-status-orbit{width:20px;height:20px;border-width:4px}
  .oc75-person h1{font-size:clamp(1.9rem,10vw,2.65rem)}
  .oc75-hero-actions,.oc75-button-row{width:100%;flex-direction:column}.oc75-hero-actions .oc75-button,.oc75-button{width:100%}
  .oc75-kpi-grid,.oc75-service-grid,.oc75-checklist,.oc75-dashboard-aside{grid-template-columns:1fr}
  .oc75-next-step{grid-template-columns:1fr}.oc75-next-index{width:64px;height:64px}
  .oc75-panel-heading,.oc75-idra-panel{align-items:stretch;flex-direction:column;grid-template-columns:1fr}
  .oc75-progress-ring{width:78px;height:78px}
  .oc75-area-footer{align-items:flex-start;flex-direction:column}.oc75-area-footer nav{flex-direction:column}
  .oc75-capacity>div:first-child{align-items:flex-start;flex-direction:column}
  .oc75-brand small{font-size:.66rem}.oc75-brand img{width:44px;height:44px}
  .oc75-service-grid>a{grid-template-columns:46px minmax(0,1fr) auto;min-height:164px}
}
@media(max-width:390px){
  .oc75-header-inner,.oc75-userbar-inner{width:min(100% - 20px,1160px)}
  .oc75-area-nav{grid-template-columns:1fr}.oc75-person{grid-template-columns:1fr}.oc75-avatar-wrap,.oc75-avatar{width:82px;height:82px}
  .oc75-kpi-grid{grid-template-columns:1fr}.oc75-panel,.oc75-login-card,.oc75-login-intro{padding:19px}
  .oc75-hero-meta{display:grid}.oc75-hero-meta span{justify-content:flex-start}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}html.oc75-js [data-oc-reveal]{opacity:1;transform:none;transition:none!important}
  .oc75-service-grid>a,.oc75-button,.oc75-area-nav a{transition:none!important}
}
@media print{
  .oc75-shell-header,.oc75-userbar,.oc75-area-footer,.oc75-hero-actions,.oc75-button,.oc75-menu-toggle{display:none!important}
  body.oc-area-page{background:#fff}.oc75-dashboard-hero{background:#fff!important;color:#000;border:2px solid #000;box-shadow:none}
  .oc75-dashboard-hero h1,.oc75-dashboard-hero p,.oc75-dashboard-hero span{color:#000!important}
  .oc75-panel,.oc75-kpi-grid article,.oc75-service-grid>a{box-shadow:none;break-inside:avoid}
}

/* === SORGENTE: oc-area-78A.css === */
/* CNSBII 1.6.16.78A · Consolidamento Area O.C. riservata */
:root{--oc78-blue:#27549a;--oc78-cyan:#35b3d6;--oc78-dark:#07182e;--oc78-soft:#f4f7fb;--oc78-line:#d6dfeb;--oc78-green:#12734b}
body.oc-area-page{background:radial-gradient(circle at 92% 3%,rgba(53,179,214,.13),transparent 24rem),radial-gradient(circle at 7% 16%,rgba(196,0,24,.07),transparent 22rem),linear-gradient(180deg,#edf3f9 0,#f8fafc 34rem,#f3f7fb 100%)}
.oc75-header-inner,.oc75-userbar-inner{width:min(1540px,calc(100% - 44px))}
body.oc-area-page .oc75-area-shell{width:min(1420px,calc(100% - 44px));padding-top:34px}
.oc75-userbar-inner>div small{padding-left:9px;border-left:1px solid #d7dee8;color:#6b7788;font-size:.72rem;font-weight:800}
.oc75-area-footer{background:linear-gradient(135deg,#07182e,#0c294d);box-shadow:0 -16px 44px rgba(7,24,46,.12)}
.oc75-area-footer p:last-child{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem;color:#b8c8dc}
/* Uniformazione pagine legacy */
body.oc-area-page .panel,body.oc-area-page .hero-panel{border:1px solid var(--oc78-line);border-radius:18px;box-shadow:0 18px 48px rgba(7,24,46,.075);padding:clamp(22px,3vw,32px);background:rgba(255,255,255,.97)}
body.oc-area-page .hero-panel{background:linear-gradient(135deg,#fff 0%,#f5f9ff 70%,#eef7fb 100%);border-top:5px solid var(--oc78-blue)}
body.oc-area-page .hero-panel h1,body.oc-area-page .panel>h1{color:#101828;letter-spacing:-.04em}
body.oc-area-page .hero-panel>p:last-child,body.oc-area-page .panel>p{color:#536276;line-height:1.65}
body.oc-area-page .kpi-grid{gap:14px;margin:18px 0 22px}
body.oc-area-page .kpi-grid article{border:1px solid var(--oc78-line);border-radius:14px;padding:18px;background:#fff;box-shadow:0 10px 28px rgba(7,24,46,.055)}
body.oc-area-page .kpi-grid strong{color:#173b72;font-size:1.7rem}
body.oc-area-page .area-form input,body.oc-area-page .area-form textarea,body.oc-area-page .area-form select{width:100%;border:1px solid #b9c8dc;border-radius:10px;background:#fff;color:#101828;padding:11px 12px;font:inherit;min-height:44px;margin-top:6px}
body.oc-area-page .area-form textarea{resize:vertical}
body.oc-area-page .area-form input:focus,body.oc-area-page .area-form textarea:focus,body.oc-area-page .area-form select:focus{outline:3px solid rgba(39,84,154,.16);border-color:var(--oc78-blue)}
body.oc-area-page .button{border-radius:10px;min-height:44px;padding:10px 15px}
body.oc-area-page .button.primary{background:#173b72;border-color:#173b72;color:#fff}
/* Hero comune */
.oc78-page-hero{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:end;margin-bottom:22px;padding:clamp(28px,4vw,48px);background:linear-gradient(125deg,#07182e 0%,#10355f 68%,#164875 100%);border-bottom:5px solid #efd94f;color:#fff;box-shadow:0 26px 70px rgba(7,24,46,.18)}
.oc78-page-hero::before{content:"";position:absolute;z-index:-1;right:-110px;top:-170px;width:410px;height:410px;border:1px solid rgba(255,255,255,.16);border-radius:50%;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018)}
.oc78-page-hero h1{margin:0;color:#fff;font-size:clamp(2.2rem,5vw,4.2rem);line-height:.98;letter-spacing:-.055em}
.oc78-page-hero>div>p:last-child{max-width:850px;margin:16px 0 0;color:#d9e6f4;font-size:1.04rem;line-height:1.65}
.oc78-page-hero .oc75-eyebrow{color:#efd94f!important}
.oc78-hero-stats{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:10px}
.oc78-hero-stats article{min-width:140px;padding:16px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.07);backdrop-filter:blur(10px)}
.oc78-hero-stats strong,.oc78-hero-stats span{display:block}.oc78-hero-stats strong{font-size:1.7rem}.oc78-hero-stats span{margin-top:3px;color:#d7e3ef;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.oc78-notice{margin:0 0 18px;padding:14px 16px;border-left:6px solid;background:#fff;box-shadow:0 8px 24px rgba(7,24,46,.06);font-weight:800}.oc78-notice.is-success{border-color:#16845a;background:#effcf6;color:#0f5c3f}.oc78-notice.is-error{border-color:#c40018;background:#fff3f5;color:#8f0012}
/* Messaggi */
.oc78-message-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.65fr);gap:22px;align-items:start;margin-bottom:24px}
.oc78-panel{background:#fff;border:1px solid var(--oc78-line);border-radius:18px;padding:clamp(22px,3vw,30px);box-shadow:0 18px 48px rgba(7,24,46,.075)}
.oc78-panel-heading,.oc78-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.oc78-panel-heading h2,.oc78-section-heading h2{margin:0;color:#101828;font-size:clamp(1.35rem,2.2vw,2rem);letter-spacing:-.035em}.oc78-status-chip,.oc78-section-heading>span{display:inline-flex;padding:7px 10px;background:#edf5ff;color:#244f8f;border:1px solid #cad9ea;font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.oc78-form{display:grid;gap:15px}.oc78-form label>span{display:block;color:#172033;font-weight:900}.oc78-form input,.oc78-form textarea,.oc78-form select{width:100%;margin-top:7px;border:1px solid #b9c8dc;border-radius:10px;padding:11px 12px;font:inherit;color:#101828;background:#fff}.oc78-form textarea{resize:vertical}.oc78-form input:focus,.oc78-form textarea:focus,.oc78-form select:focus{outline:3px solid rgba(39,84,154,.16);border-color:#27549a}
.oc78-file-field{position:relative;border:1px dashed #9db4cf;background:linear-gradient(135deg,#f8fbff,#eef6ff);padding:14px}.oc78-file-field input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.oc78-file-zone{display:grid;gap:3px;min-height:88px;place-content:center;text-align:center;cursor:pointer}.oc78-file-zone strong{color:#173b72}.oc78-file-zone span,.oc78-file-field>p{color:#66768a;font-size:.84rem}.oc78-file-field.is-dragging{border-color:#c40018;background:#fff4f6}.oc78-file-field.has-files{border-style:solid;border-color:#16845a;background:#f1fcf7}.oc78-file-list{display:grid;gap:7px;margin:8px 0 0;padding:0;list-style:none}.oc78-file-list li{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;background:#fff;border:1px solid #dbe4ef}.oc78-file-list strong{min-width:0;overflow-wrap:anywhere}.oc78-file-list small{white-space:nowrap;color:#66768a}.oc78-file-field.is-compact .oc78-file-zone{min-height:60px}.oc78-file-field.is-compact>p{display:none}
.oc78-message-guide{position:sticky;top:142px;background:linear-gradient(180deg,#fff,#f7faff)}.oc78-message-guide h2{margin:0 0 18px;color:#101828}.oc78-message-guide ol{display:grid;gap:0;margin:0 0 22px;padding:0;list-style:none;border-top:1px solid #dbe4ef}.oc78-message-guide li{display:grid;gap:4px;padding:15px 0;border-bottom:1px solid #dbe4ef}.oc78-message-guide li strong{color:#173b72}.oc78-message-guide li span{color:#5d6c7f;line-height:1.5}
.oc78-thread-section{display:grid;gap:16px}.oc78-empty{padding:30px;border:1px dashed #aabbd0;background:#f8fbff;text-align:center}.oc78-empty strong{color:#173b72;font-size:1.1rem}.oc78-empty p{margin:6px 0 0;color:#66768a}
.oc78-thread-list{display:grid;gap:14px}.oc78-thread{background:#fff;border:1px solid var(--oc78-line);box-shadow:0 12px 34px rgba(7,24,46,.06)}.oc78-thread summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;cursor:pointer;list-style:none}.oc78-thread summary::-webkit-details-marker{display:none}.oc78-thread summary span{display:grid;gap:4px}.oc78-thread summary strong{color:#101828;font-size:1.03rem}.oc78-thread summary small{color:#67768a}.oc78-thread summary b{padding:6px 9px;background:#eef4fb;color:#27549a;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.oc78-thread[open] summary{border-bottom:1px solid #dbe4ef;background:#f8fbff}.oc78-thread-body{display:grid;gap:12px;padding:20px}.oc78-bubble{max-width:84%;padding:15px 16px;border-radius:14px}.oc78-bubble header{display:flex;justify-content:space-between;gap:14px;margin-bottom:8px}.oc78-bubble header strong{color:#101828}.oc78-bubble header small{color:#66768a}.oc78-bubble p{margin:0;color:#37465a;line-height:1.6}.oc78-bubble.is-member{justify-self:end;background:#eaf2fd;border:1px solid #c6d7ed}.oc78-bubble.is-organization{justify-self:start;background:#fff7db;border:1px solid #eadf9e}.oc78-reply-form{margin-top:8px;padding-top:18px;border-top:1px solid #dbe4ef}.oc78-attachments{margin-top:12px}.oc78-attachments>strong{display:block;margin-bottom:6px;color:#173b72}.oc78-attachments ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.oc78-attachments li{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;background:rgba(255,255,255,.8);border:1px solid rgba(103,118,138,.22)}.oc78-attachments a{font-weight:850;color:#173b72}.oc78-attachments small{color:#66768a;white-space:nowrap}
/* Profilo e formazione */
body.oc-area-view-conferma-dati .data-panel>h1,body.oc-area-view-formazione .hero-panel h1,body.oc-area-view-attestati .hero-panel h1{font-size:clamp(2.1rem,4vw,3.6rem)}
body.oc-area-view-conferma-dati .association-box{grid-column:1/-1;border:1px solid #c9d7e7;border-radius:14px;background:#f8fbff;padding:20px}.profile-upload-block{grid-column:1/-1;display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;align-items:center;padding:18px;border:1px solid #d6dfeb;background:#f8fbff}.profile-preview img{width:110px;height:110px;object-fit:cover;border-radius:16px;border:4px solid #efd94f}.training-simple-card{transition:transform .18s ease,box-shadow .18s ease}.training-simple-card:hover{transform:translateY(-3px);box-shadow:0 22px 48px rgba(7,24,46,.12)}.training69d6-notification-list article{border-radius:12px;border:1px solid #d6dfeb;padding:15px}.training69d6-notification-list article.is-unread{border-left:5px solid #c40018;background:#fff7f8}
@media(max-width:1000px){.oc78-message-layout{grid-template-columns:1fr}.oc78-message-guide{position:static}.oc78-page-hero{grid-template-columns:1fr}.oc78-hero-stats{justify-content:start;max-width:420px}.oc78-bubble{max-width:94%}}
@media(max-width:900px){.oc75-userbar-inner>div small{display:none}.oc75-area-nav{max-height:calc(100vh - 90px);overflow:auto}.oc78-page-hero{padding:28px 22px}.oc78-page-hero h1{font-size:clamp(2.25rem,9vw,3.4rem)}}
@media(max-width:620px){.oc75-header-inner,.oc75-userbar-inner,body.oc-area-page .oc75-area-shell{width:min(100% - 24px,1420px)}.oc75-brand{min-width:0}.oc75-brand img{width:44px;height:44px}.oc75-userbar nav{display:none}.oc78-hero-stats{grid-template-columns:1fr 1fr}.oc78-hero-stats article{min-width:0}.oc78-panel-heading,.oc78-section-heading{display:grid}.oc78-thread summary{align-items:flex-start}.oc78-bubble{max-width:100%}.oc78-attachments li,.oc78-file-list li{display:grid}.oc78-attachments small,.oc78-file-list small{white-space:normal}.profile-upload-block{grid-template-columns:1fr;text-align:center}.profile-preview{justify-self:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}

/* === SORGENTE: oc-area-78B.css === */
/* CNSBII 1.6.16.78B · Area O.C. riservata: profilo, percorsi, formazione e attestati */
:root{--oc78b-navy:#0d2243;--oc78b-blue:#27549a;--oc78b-red:#c40018;--oc78b-yellow:#efd94f;--oc78b-green:#16845a;--oc78b-ink:#101828;--oc78b-muted:#5f6f83;--oc78b-line:#d5e0ec;--oc78b-soft:#f5f8fc;--oc78b-shadow:0 22px 58px rgba(7,24,46,.1)}
body.oc-area-page{background:radial-gradient(circle at 12% 4%,rgba(39,84,154,.07),transparent 28rem),#eef3f8}
.oc78b-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:end;overflow:hidden;margin:0 0 22px;padding:clamp(30px,5vw,58px);background:linear-gradient(135deg,#07172d 0%,#0d2c58 62%,#174177 100%);color:#fff;border-bottom:6px solid var(--oc78b-red);box-shadow:var(--oc78b-shadow)}
.oc78b-hero::after{content:"";position:absolute;right:-130px;top:-180px;z-index:-2;width:480px;height:480px;border:82px solid rgba(255,255,255,.055);border-radius:50%;box-shadow:0 0 0 74px rgba(255,255,255,.025)}
.oc78b-hero-grid{position:absolute;inset:0;z-index:-3;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(to right,#000,transparent 86%)}
.oc78b-hero-copy{max-width:920px}.oc78b-kicker,.oc78b-eyebrow{margin:0 0 10px;color:#35589a;font-size:.76rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.oc78b-kicker{display:flex;align-items:center;gap:10px;color:#dcecff}.oc78b-kicker span{width:36px;height:2px;background:var(--oc78b-red)}
.oc78b-hero h1{margin:0;color:#fff;font-size:clamp(2.35rem,5.6vw,5rem);line-height:.95;letter-spacing:-.06em;text-wrap:balance}.oc78b-hero-copy>p:last-child{max-width:850px;margin:20px 0 0;color:#d9e6f4;font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.65}
.oc78b-panel{background:#fff;border:1px solid var(--oc78b-line);padding:clamp(22px,3vw,32px);box-shadow:0 18px 48px rgba(7,24,46,.075)}
.oc78b-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.oc78b-section-head h2{margin:0;color:var(--oc78b-ink);font-size:clamp(1.45rem,2.6vw,2.25rem);letter-spacing:-.045em}.oc78b-section-head p:last-child{max-width:760px;margin:8px 0 0;color:var(--oc78b-muted);line-height:1.55}.oc78b-section-head>span,.oc78b-section-head>a{display:inline-flex;align-items:center;justify-content:center;padding:8px 11px;border:1px solid #cbd9e9;background:#edf4fc;color:#2d5795;font-size:.75rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;white-space:nowrap}
/* Profilo */
.oc78b-profile-summary{position:relative;display:grid;grid-template-columns:92px minmax(190px,1fr);gap:16px;align-items:center;min-width:330px;padding:18px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.07);backdrop-filter:blur(12px)}.oc78b-profile-summary img{width:92px;height:92px;object-fit:cover;border:4px solid var(--oc78b-yellow)}.oc78b-profile-summary strong,.oc78b-profile-summary span,.oc78b-profile-summary small{display:block}.oc78b-profile-summary strong{font-size:1.15rem}.oc78b-profile-summary span{margin-top:5px;color:#fff;font-weight:800}.oc78b-profile-summary small{margin-top:5px;color:#c9d7e7}
.oc78b-profile-form{display:grid;grid-template-columns:320px minmax(0,1fr);gap:22px;align-items:start}.oc78b-profile-rail{position:sticky;top:142px;display:grid;gap:18px}.oc78b-photo-card h2,.oc78b-profile-meter h2{margin:0 0 18px;color:var(--oc78b-ink)}.oc78b-photo-frame{display:grid;place-items:center;padding:12px;background:linear-gradient(135deg,#eef5ff,#f9fbfe);border:1px solid var(--oc78b-line)}.oc78b-photo-frame img{width:190px;height:190px;object-fit:cover;border:6px solid #fff;box-shadow:0 14px 35px rgba(7,24,46,.14)}.oc78b-upload-button{display:flex;align-items:center;justify-content:center;margin-top:14px;padding:12px 14px;background:var(--oc78b-navy);color:#fff;font-weight:850;cursor:pointer}.oc78b-upload-button input{position:absolute;width:1px;height:1px;opacity:0}.oc78b-photo-card>small{display:block;margin-top:9px;color:var(--oc78b-muted);line-height:1.45}.oc78b-profile-meter p{margin:12px 0 0;color:var(--oc78b-muted)}.oc78b-meter{height:10px;overflow:hidden;background:#e5edf6}.oc78b-meter span{display:block;height:100%;background:linear-gradient(90deg,var(--oc78b-blue),var(--oc78b-green));transition:width .35s ease}
.oc78b-profile-main{display:grid;gap:22px}.oc78b-form-section{padding:clamp(24px,3vw,36px)}.oc78b-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.oc78b-field-grid label{display:grid;gap:7px}.oc78b-field-grid label>span{color:#172033;font-weight:850}.oc78b-field-grid .is-wide{grid-column:1/-1}.oc78b-field-grid input,.oc78b-field-grid select,.oc78b-field-grid textarea{width:100%;border:1px solid #b8c8da;background:#fff;padding:12px 13px;color:#101828;font:inherit}.oc78b-field-grid textarea{resize:vertical}.oc78b-field-grid input:focus,.oc78b-field-grid select:focus,.oc78b-field-grid textarea:focus{outline:3px solid rgba(39,84,154,.16);border-color:var(--oc78b-blue)}
.oc78b-toggle{display:flex;align-items:center;gap:13px;margin-bottom:20px;padding:15px 16px;border:1px solid #cbd9e8;background:#f5f9fe;cursor:pointer}.oc78b-toggle input{position:absolute;opacity:0}.oc78b-toggle>span{position:relative;width:44px;height:24px;border-radius:999px;background:#a9b8ca;transition:.2s}.oc78b-toggle>span::after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:.2s}.oc78b-toggle input:checked+span{background:var(--oc78b-green)}.oc78b-toggle input:checked+span::after{transform:translateX(20px)}.oc78b-association-fields{opacity:.55;transition:opacity .2s}.oc78b-association.is-active .oc78b-association-fields{opacity:1}.oc78b-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:10px!important;padding:14px;border:1px solid #d2deeb;background:#f8fbff}.oc78b-check input{width:auto!important;margin-top:3px}.oc78b-form-actions{display:flex;justify-content:flex-end;gap:12px;align-items:center}.oc78b-form-actions a,.oc78b-form-actions button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:52px;padding:0 18px;border:1px solid var(--oc78b-navy);font-weight:900;text-decoration:none;cursor:pointer}.oc78b-form-actions a{background:#fff;color:var(--oc78b-navy)}.oc78b-form-actions button{background:var(--oc78b-navy);color:#fff}
/* Percorsi */
.oc78b-hero-number{display:grid;place-items:center;min-width:190px;padding:22px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.07)}.oc78b-hero-number strong{font-size:3.5rem;line-height:1}.oc78b-hero-number span{margin-top:6px;color:#d7e3ef;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:800}.oc78b-path-form{display:grid;gap:22px}.oc78b-path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.oc78b-path-card{position:relative;display:grid;grid-template-columns:auto 1fr;gap:14px;align-content:start;min-height:350px;padding:26px;background:#fff;border:1px solid var(--oc78b-line);box-shadow:0 16px 42px rgba(7,24,46,.07);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.oc78b-path-card:hover{transform:translateY(-4px);box-shadow:0 24px 54px rgba(7,24,46,.12)}.oc78b-path-card input{position:absolute;opacity:0}.oc78b-path-code{display:grid;place-items:center;width:54px;height:54px;background:var(--oc78b-navy);color:#fff;font-weight:900;box-shadow:8px 8px 0 #dfeaf7}.oc78b-path-state{justify-self:end;padding:7px 9px;background:#eef4fb;color:#35589a;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.oc78b-path-card>strong,.oc78b-path-card>small,.oc78b-topic-list{grid-column:1/-1}.oc78b-path-card>strong{margin-top:18px;color:var(--oc78b-ink);font-size:1.5rem;line-height:1.15}.oc78b-path-card>small{color:var(--oc78b-muted);font-size:.95rem;line-height:1.6}.oc78b-topic-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}.oc78b-topic-list i{padding:6px 8px;background:#f1f5fa;color:#52657b;font-style:normal;font-size:.72rem;font-weight:800}.oc78b-path-card>b{position:absolute;right:20px;bottom:20px;width:24px;height:24px;border:2px solid #aebdd0}.oc78b-path-card>b::after{content:"";position:absolute;left:5px;top:1px;width:8px;height:14px;border:solid transparent;border-width:0 3px 3px 0;transform:rotate(45deg)}.oc78b-path-card.is-selected{border-color:var(--oc78b-green);box-shadow:0 22px 52px rgba(22,132,90,.13)}.oc78b-path-card.is-selected .oc78b-path-state{background:#e8faf2;color:#0b6c49}.oc78b-path-card.is-selected>b{background:var(--oc78b-green);border-color:var(--oc78b-green)}.oc78b-path-card.is-selected>b::after{border-color:#fff}.oc78b-info-strip{display:grid;grid-template-columns:1fr 1fr auto;gap:18px;align-items:center;padding:22px;background:#fff;border:1px solid var(--oc78b-line);box-shadow:0 16px 42px rgba(7,24,46,.07)}.oc78b-info-strip strong{color:var(--oc78b-ink)}.oc78b-info-strip p{margin:5px 0 0;color:var(--oc78b-muted);line-height:1.5}.oc78b-info-strip button{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:54px;padding:0 18px;border:0;background:var(--oc78b-navy);color:#fff;font-weight:900;cursor:pointer}
/* Formazione */
.oc78b-hero-link{display:flex;align-items:center;justify-content:space-between;gap:30px;min-width:220px;padding:16px 18px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.08);color:#fff;text-decoration:none;font-weight:900}.oc78b-training-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.oc78b-training-kpis article{position:relative;overflow:hidden;padding:20px;background:#fff;border:1px solid var(--oc78b-line);box-shadow:0 14px 38px rgba(7,24,46,.065)}.oc78b-training-kpis span,.oc78b-training-kpis strong,.oc78b-training-kpis small{display:block}.oc78b-training-kpis span{color:#35589a;font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.oc78b-training-kpis strong{margin-top:8px;color:var(--oc78b-ink);font-size:2rem}.oc78b-training-kpis small{margin-top:5px;color:var(--oc78b-muted)}.oc78b-training-kpis i{position:absolute;right:12px;bottom:5px;color:#e8eef6;font-size:3.4rem;font-style:normal;font-weight:900}.oc78b-training-notifications{margin-bottom:22px}.oc78b-notification-list{display:grid;border:1px solid var(--oc78b-line)}.oc78b-notification-list article{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:14px;align-items:start;padding:16px;border-bottom:1px solid var(--oc78b-line)}.oc78b-notification-list article:last-child{border-bottom:0}.oc78b-notification-list article.is-unread{background:#fff8f9}.oc78b-notification-mark{display:grid;place-items:center;width:38px;height:38px;background:#eef4fb;color:#35589a;font-weight:900}.oc78b-notification-list .is-unread .oc78b-notification-mark{background:var(--oc78b-red);color:#fff}.oc78b-notification-list strong{color:var(--oc78b-ink)}.oc78b-notification-list p{margin:5px 0;color:var(--oc78b-muted);line-height:1.5}.oc78b-notification-list time{color:#7a8797;font-size:.75rem}.oc78b-notification-actions{display:flex;gap:8px;align-items:center}.oc78b-notification-actions a,.oc78b-notification-actions button{padding:8px 10px;border:1px solid #c5d3e3;background:#fff;color:#244f8f;text-decoration:none;font-weight:850;cursor:pointer}.oc78b-training-section{display:grid;gap:18px;margin-bottom:22px;padding:clamp(22px,3vw,32px);background:#fff;border:1px solid var(--oc78b-line);box-shadow:0 18px 48px rgba(7,24,46,.075)}.oc78b-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.oc78b-course-card{display:grid;align-content:start;min-height:390px;padding:22px;border:1px solid var(--oc78b-line);background:linear-gradient(180deg,#fff,#f8fbff)}.oc78b-course-card.is-enrolled{border-top:5px solid var(--oc78b-blue)}.oc78b-course-card.is-available{border-top:5px solid var(--oc78b-green)}.oc78b-course-top{display:flex;justify-content:space-between;gap:14px}.oc78b-course-top span{padding:6px 8px;background:#eef4fb;color:#35589a;font-size:.7rem;font-weight:900;text-transform:uppercase}.oc78b-course-top strong{color:#173b72}.oc78b-course-card h3{margin:22px 0 8px;color:var(--oc78b-ink);font-size:1.4rem;line-height:1.2}.oc78b-course-card>p{margin:0;color:var(--oc78b-muted);line-height:1.58}.oc78b-course-card dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.oc78b-course-card dl div{padding:10px;background:#f1f5fa}.oc78b-course-card dt{color:#6a7889;font-size:.7rem;text-transform:uppercase;font-weight:800}.oc78b-course-card dd{margin:4px 0 0;color:#172033;font-weight:850}.oc78b-course-progress{margin-top:auto}.oc78b-course-progress>div:first-child{display:flex;justify-content:space-between;margin-bottom:7px}.oc78b-course-action,.oc78b-enroll-form button{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:16px;min-height:48px;padding:0 14px;border:0;background:var(--oc78b-navy);color:#fff;text-decoration:none;font-weight:900;cursor:pointer}.oc78b-enroll-form{margin-top:auto}.oc78b-enroll-form label{display:flex;gap:9px;align-items:flex-start;color:#52657b;line-height:1.45}.oc78b-enroll-form input{margin-top:3px}.oc78b-course-locked{margin-top:auto;padding:13px;background:#fff3f5;border-left:5px solid var(--oc78b-red)}.oc78b-course-locked strong,.oc78b-course-locked span{display:block}.oc78b-course-locked span{margin-top:4px;color:#79545a}.oc78b-empty{padding:30px;border:1px dashed #aebed1;background:#f8fbff;text-align:center}.oc78b-empty strong{color:#173b72;font-size:1.1rem}.oc78b-empty p{margin:6px 0 0;color:var(--oc78b-muted)}.oc78b-rule-strip{display:grid;grid-template-columns:48px 1fr;gap:15px;align-items:start;padding:20px;background:#10244a;color:#fff}.oc78b-rule-strip>span{display:grid;place-items:center;width:42px;height:42px;background:var(--oc78b-yellow);color:#10244a;font-weight:900}.oc78b-rule-strip strong{font-size:1.05rem}.oc78b-rule-strip p{margin:5px 0 0;color:#d7e3ef;line-height:1.55}
/* Attestati */
.oc78b-certificate-summary{display:grid;grid-template-columns:1fr 1fr;min-width:300px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.07)}.oc78b-certificate-summary div{padding:20px;text-align:center}.oc78b-certificate-summary div+div{border-left:1px solid rgba(255,255,255,.17)}.oc78b-certificate-summary strong,.oc78b-certificate-summary span{display:block}.oc78b-certificate-summary strong{font-size:2.5rem}.oc78b-certificate-summary span{margin-top:4px;color:#d7e3ef;text-transform:uppercase;font-size:.72rem;font-weight:800;letter-spacing:.07em}.oc78b-certificate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.oc78b-certificate-card{position:relative;display:grid;align-content:start;min-height:330px;padding:24px;background:linear-gradient(180deg,#fff,#f7faff);border:1px solid var(--oc78b-line);border-top:5px solid var(--oc78b-navy)}.oc78b-certificate-number{position:absolute;right:16px;top:12px;color:#e4ebf4;font-size:3.5rem;font-weight:900}.oc78b-certificate-card h3{position:relative;margin:12px 0;color:var(--oc78b-ink);font-size:1.45rem;line-height:1.25}.oc78b-certificate-card dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.oc78b-certificate-card dl div{padding:10px;background:#eef4fb}.oc78b-certificate-card dt{color:#64748b;font-size:.7rem;text-transform:uppercase;font-weight:800}.oc78b-certificate-card dd{margin:4px 0 0;color:#173b72;font-weight:850}.oc78b-certificate-card code{display:block;margin-top:auto;padding:9px;background:#fff;border:1px solid #d5dfeb;color:#52657b;overflow-wrap:anywhere}.oc78b-certificate-card a{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:14px;padding:12px 14px;background:var(--oc78b-navy);color:#fff;text-decoration:none;font-weight:900}
@media(max-width:1080px){.oc78b-profile-form{grid-template-columns:1fr}.oc78b-profile-rail{position:static;grid-template-columns:1fr 1fr}.oc78b-path-grid{grid-template-columns:1fr 1fr}.oc78b-training-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.oc78b-hero{grid-template-columns:1fr}.oc78b-profile-summary,.oc78b-hero-number,.oc78b-certificate-summary{min-width:0;max-width:480px}.oc78b-course-grid,.oc78b-certificate-grid{grid-template-columns:1fr}.oc78b-notification-list article{grid-template-columns:38px 1fr}.oc78b-notification-actions{grid-column:2;justify-content:flex-start}.oc78b-info-strip{grid-template-columns:1fr}.oc78b-info-strip button{width:100%}}
@media(max-width:620px){.oc78b-hero{padding:28px 20px}.oc78b-profile-summary{grid-template-columns:72px 1fr}.oc78b-profile-summary img{width:72px;height:72px}.oc78b-profile-rail{grid-template-columns:1fr}.oc78b-field-grid{grid-template-columns:1fr}.oc78b-field-grid .is-wide{grid-column:auto}.oc78b-form-actions{display:grid}.oc78b-form-actions a,.oc78b-form-actions button{width:100%}.oc78b-path-grid{grid-template-columns:1fr}.oc78b-training-kpis{grid-template-columns:1fr}.oc78b-section-head{display:grid}.oc78b-course-card dl,.oc78b-certificate-card dl{grid-template-columns:1fr}.oc78b-certificate-summary{grid-template-columns:1fr 1fr}.oc78b-photo-frame img{width:160px;height:160px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.oc78b-path-card,.oc78b-meter span,.oc78b-association-fields{transition:none!important}}

/* === SORGENTE: oc-area-78X-core.css === */
/* CNSBII 1.6.16.78X · Core stabile Area O.C. */
:root{--oc78x-navy:#0b213f;--oc78x-ink:#10213b;--oc78x-line:#dce6f2;--oc78x-paper:#f3f7fb;--oc78x-red:#d4152b}
.oc-area-page{background:var(--oc78x-paper);color:var(--oc78x-ink)}
.oc-area-page .oc75-area-shell{min-height:calc(100vh - 250px)}
.oc-area-page .oc75-area-footer{position:relative;z-index:2}
.oc-area-page .oc75-area-footer nav{display:flex;flex-wrap:wrap;gap:12px 20px;justify-content:flex-end}
.oc-area-page .oc75-area-footer a{white-space:nowrap}
.oc-area-page img{max-width:100%}
.oc-area-page [hidden]{display:none!important}
@media(max-width:800px){.oc-area-page .oc75-area-footer nav{justify-content:flex-start}.oc-area-page .oc75-area-footer{gap:18px}.oc-area-page .oc75-area-shell{min-height:0}}
@media print{.oc-shot-tool,.oc-shot-dialog{display:none!important}}

/* === SORGENTE: oc-area-screenshot-78K.css === */
/* CNSBII 1.6.16.78I · Strumento temporaneo PNG Area O.C. */
.oc-shot-tool{position:fixed;right:18px;bottom:18px;z-index:9990;filter:drop-shadow(0 18px 28px rgba(7,21,41,.24))}
.oc-shot-launch{display:flex;align-items:center;gap:11px;min-height:58px;padding:10px 15px 10px 11px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:linear-gradient(135deg,#0d2141,#183f76);color:#fff;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.12);font:inherit;text-align:left}
.oc-shot-launch>span:first-child{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:#fff;color:#10213b;font-size:1.15rem;font-weight:900}
.oc-shot-launch strong,.oc-shot-launch small{display:block}.oc-shot-launch strong{font-size:.9rem}.oc-shot-launch small{margin-top:2px;color:#cfdbef;font-size:.72rem}
.oc-shot-launch:hover,.oc-shot-launch:focus{transform:translateY(-2px);outline:3px solid rgba(33,96,171,.22);outline-offset:3px}
.oc-shot-dialog{position:fixed;inset:0;z-index:100000;display:none;place-items:center;padding:20px;background:rgba(3,12,25,.76);backdrop-filter:blur(10px)}
.oc-shot-dialog.is-open{display:grid}
.oc-shot-card{position:relative;width:min(680px,100%);max-height:min(860px,calc(100vh - 40px));overflow:auto;padding:28px;border-radius:26px;background:linear-gradient(180deg,#fff,#f7faff);color:#10213b;border:1px solid rgba(255,255,255,.25);box-shadow:0 34px 90px rgba(0,0,0,.38)}
.oc-shot-card::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,#17386f,#3b82f6,#d4152b)}
.oc-shot-close-x{position:absolute;right:18px;top:16px;width:42px;height:42px;border:0;border-radius:14px;background:#edf3fb;color:#10213b;font-size:1.55rem;cursor:pointer}
.oc-shot-eyebrow{margin:0;color:#5676ad;font-size:.76rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.oc-shot-card h2{margin:8px 56px 8px 0;font-size:clamp(1.65rem,4vw,2.35rem);line-height:1.1}.oc-shot-card>p:not(.oc-shot-eyebrow){color:#5c6d85;line-height:1.65}
.oc-shot-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.oc-shot-options label{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:15px;border-radius:18px;background:#f5f8fd;border:1px solid #dce6f3;cursor:pointer}.oc-shot-options input{margin-top:4px}.oc-shot-options strong,.oc-shot-options small{display:block}.oc-shot-options strong{color:#10213b}.oc-shot-options small{margin-top:5px;color:#62738a;line-height:1.45}
.oc-shot-privacy{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:16px;border-radius:18px;background:#eef7ff;border:1px solid #cfe2f6;cursor:pointer}.oc-shot-privacy input{margin-top:4px}.oc-shot-privacy strong,.oc-shot-privacy small{display:block}.oc-shot-privacy small{margin-top:5px;color:#5a6d86;line-height:1.5}
.oc-shot-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.oc-shot-start,.oc-shot-cancel{min-height:48px;padding:0 18px;border-radius:15px;font:inherit;font-weight:900;cursor:pointer}.oc-shot-start{border:0;background:linear-gradient(135deg,#10213b,#1d4c95);color:#fff;box-shadow:0 14px 28px rgba(16,33,59,.2)}.oc-shot-cancel{border:1px solid #ccd8e8;background:#fff;color:#10213b}.oc-shot-start[disabled]{opacity:.55;cursor:wait}
.oc-shot-progress{margin-top:14px;padding:13px 15px;border-radius:15px;background:#f5f8fd;border:1px solid #dce6f3;color:#334866;font-weight:700;line-height:1.5}.oc-shot-progress[hidden]{display:none}
@media(max-width:760px){.oc-shot-tool{right:10px;bottom:10px}.oc-shot-launch{min-height:50px;padding:8px}.oc-shot-launch>span:nth-child(2){display:none}.oc-shot-launch>span:first-child{width:38px;height:38px}.oc-shot-card{padding:24px 18px;border-radius:21px}.oc-shot-options{grid-template-columns:1fr}.oc-shot-actions{display:grid}.oc-shot-start,.oc-shot-cancel{width:100%}}
@media print{.oc-shot-tool,.oc-shot-dialog{display:none!important}}

/* 78J · Modalità di collaudo grafico stabilizzata */
html.oc-shot-capture-mode,
html.oc-shot-capture-mode body{
  scroll-behavior:auto!important;
  overflow:visible!important;
}
html.oc-shot-capture-mode .oc-shot-tool,
html.oc-shot-capture-mode .oc-shot-dialog{
  display:none!important;
}
html.oc-shot-capture-mode *,
html.oc-shot-capture-mode *::before,
html.oc-shot-capture-mode *::after{
  animation:none!important;
  transition:none!important;
  caret-color:transparent!important;
  scroll-behavior:auto!important;
}
html.oc-shot-capture-mode [data-oc-vision],
html.oc-shot-capture-mode [data-oc78e-reveal],
html.oc-shot-capture-mode [data-oc78f-reveal],
html.oc-shot-capture-mode [data-oc78h-reveal],
html.oc-shot-capture-mode [data-oc-reveal],
html.oc-shot-capture-mode [class*="reveal"]{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
}
html.oc-shot-capture-mode [data-oc-shot-zero-pattern],
html.oc-shot-capture-mode [data-oc-shot-empty-media]{
  background-image:none!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
}
html.oc-shot-capture-mode [data-oc-shot-empty-media]{
  display:none!important;
}
html.oc-shot-capture-mode .oc75-shell-header,
html.oc-shot-capture-mode .oc75-userbar,
html.oc-shot-capture-mode [style*="position: sticky"],
html.oc-shot-capture-mode [style*="position:sticky"],
html.oc-shot-capture-mode [style*="position: fixed"],
html.oc-shot-capture-mode [style*="position:fixed"]{
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
}
html.oc-shot-capture-mode .oc75-area-shell,
html.oc-shot-capture-mode .area-shell,
html.oc-shot-capture-mode main,
html.oc-shot-capture-mode section,
html.oc-shot-capture-mode article{
  content-visibility:visible!important;
}
html.oc-shot-capture-mode .oc75-area-shell,
html.oc-shot-capture-mode .area-shell,
html.oc-shot-capture-mode [class*="scroll"],
html.oc-shot-capture-mode [class*="table"],
html.oc-shot-capture-mode pre,
html.oc-shot-capture-mode table{
  max-height:none!important;
  overflow:visible!important;
}
html.oc-shot-capture-mode *{
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
html.oc-shot-capture-mode .oc-shot-private-media{
  filter:blur(12px)!important;
  transform:scale(1.06)!important;
}
html.oc-shot-capture-mode.oc-shot-pattern-safe *::before,
html.oc-shot-capture-mode.oc-shot-pattern-safe *::after{
  background-image:none!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  filter:none!important;
}
html.oc-shot-capture-mode.oc-shot-pattern-safe [data-oc-shot-complex-pattern]{
  background-image:none!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  filter:none!important;
}
/* 78K · compatibilità CSS Color 4 e collaudo pulito */
.oc-shot-capture-mode .skip-link{display:none!important}
.oc-shot-color-safe *{text-shadow:none!important}
.oc-shot-color-safe .oc78k-path-card.is-civic.is-selected{box-shadow:0 20px 42px rgba(57,104,199,.18)!important}
.oc-shot-color-safe .oc78k-path-card.is-water.is-selected{box-shadow:0 20px 42px rgba(19,137,167,.18)!important}
.oc-shot-color-safe .oc78k-path-card.is-fire.is-selected{box-shadow:0 20px 42px rgba(199,46,67,.18)!important}

/* === SORGENTE: oc-area-79G-accessibility.css === */
/* CNSBII 1.6.16.79G · Area O.C. · Responsive, accessibilità e tastiera */
:root{
  --oc79g-focus:#ffcf33;
  --oc79g-focus-dark:#0b1f3a;
  --oc79g-touch:44px;
}

html{scroll-padding-top:110px}
body.oc-area-page{overflow-x:hidden}

.oc79g-sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* Il collegamento salta-contenuto non deve restare visibile nella pagina. */
body.oc-area-page .skip-link{
  position:fixed!important;
  left:14px!important;
  top:10px!important;
  z-index:100000!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:var(--oc79g-touch)!important;
  padding:10px 16px!important;
  background:#ffffff!important;
  color:#071a33!important;
  border:3px solid var(--oc79g-focus)!important;
  box-shadow:0 12px 32px rgba(0,0,0,.24)!important;
  transform:translateY(-180%)!important;
  opacity:0!important;
  pointer-events:none!important;
  font-weight:900!important;
  text-decoration:none!important;
}
body.oc-area-page .skip-link:focus,
body.oc-area-page .skip-link:focus-visible{
  transform:none!important;
  opacity:1!important;
  pointer-events:auto!important;
}

#contenuto:focus{outline:none}

/* Focus tastiera uniforme e chiaramente visibile. */
body.oc-area-page :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:3px solid var(--oc79g-focus)!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 2px var(--oc79g-focus-dark)!important;
}
body.oc-area-page :where(input,select,textarea):focus-visible{
  border-color:#1b4e91!important;
}
body.oc-area-page :where(a,button,input,select,textarea,summary,[tabindex])[aria-disabled="true"]{
  cursor:not-allowed!important;
  opacity:.65!important;
}

/* Dimensione minima dei controlli senza alterare le card. */
body.oc-area-page :where(button,input[type="button"],input[type="submit"],input[type="reset"],select,summary),
body.oc-area-page .oc75-area-nav a,
body.oc-area-page .oc75-menu-toggle{
  min-height:var(--oc79g-touch);
}
body.oc-area-page :where(input,select,textarea){font:inherit}
body.oc-area-page input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body.oc-area-page select,
body.oc-area-page textarea{
  max-width:100%;
  font-size:max(1rem,16px);
}
body.oc-area-page textarea{resize:vertical}
body.oc-area-page :where(button,a,summary){touch-action:manipulation}

/* Robustezza dei contenuti lunghi. */
body.oc-area-page .area-shell,
body.oc-area-page .oc75-area-shell,
body.oc-area-page main,
body.oc-area-page section,
body.oc-area-page article,
body.oc-area-page aside,
body.oc-area-page form,
body.oc-area-page fieldset,
body.oc-area-page nav,
body.oc-area-page div{
  min-width:0;
}
body.oc-area-page :where(p,li,dd,dt,span,strong,small,a,button,label,code){overflow-wrap:anywhere}
body.oc-area-page img,
body.oc-area-page svg,
body.oc-area-page video{max-width:100%;height:auto}
body.oc-area-page canvas{max-width:100%}
body.oc-area-page table{border-collapse:collapse}
body.oc-area-page [class*="table-wrap"],
body.oc-area-page .oc79g-table-scroll{
  max-width:100%;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
body.oc-area-page table.oc79g-scrollable{
  min-width:680px;
}

/* Stato attivo e menu più leggibili. */
body.oc-area-page .oc75-area-nav a[aria-current="page"],
body.oc-area-page .oc75-area-nav a.is-active{
  font-weight:900!important;
  text-decoration:none!important;
}
body.oc-area-page .oc75-menu-toggle[aria-expanded="true"]{
  outline:3px solid rgba(255,207,51,.9);
  outline-offset:2px;
}
body.oc-area-page .oc75-nav-backdrop{cursor:pointer}

/* Dialogo PNG utilizzabile anche da tastiera. */
body.oc-area-page .oc-shot-dialog[aria-hidden="false"]{overscroll-behavior:contain}
body.oc-area-page .oc-shot-card{max-height:min(90vh,760px);overflow:auto}
body.oc-area-page .oc-shot-close-x{min-width:var(--oc79g-touch);min-height:var(--oc79g-touch)}

/* Contrasto e leggibilità dei messaggi di stato. */
body.oc-area-page :where([role="alert"],[role="status"],.alert,.notice,.message){line-height:1.45}
body.oc-area-page :where([role="alert"],[role="status"]) a{text-decoration:underline;text-underline-offset:3px}

@media (max-width:900px){
  html{scroll-padding-top:84px}
  body.oc-area-page .oc75-shell-header{position:relative;z-index:9000}
  body.oc-area-page .oc75-area-nav{
    max-height:calc(100dvh - 82px);
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  body.oc-area-page .oc75-area-nav a{
    display:flex;
    align-items:center;
    width:100%;
    padding-block:12px;
  }
  body.oc-area-page .oc75-userbar-inner{
    align-items:flex-start;
    gap:10px;
    flex-wrap:wrap;
  }
  body.oc-area-page .oc75-userbar-inner nav{
    display:flex;
    gap:8px 14px;
    flex-wrap:wrap;
  }
  body.oc-area-page .oc75-area-footer{
    gap:22px;
    align-items:flex-start;
  }
  body.oc-area-page .oc75-area-footer nav{
    display:flex;
    flex-wrap:wrap;
    gap:12px 18px;
  }
}

@media (max-width:720px){
  body.oc-area-page .area-shell,
  body.oc-area-page .oc75-area-shell{
    width:min(100% - 24px,1200px);
    margin-inline:auto;
  }
  body.oc-area-page .oc75-userbar-inner,
  body.oc-area-page .oc75-footer-brand,
  body.oc-area-page .oc75-area-footer{
    width:100%;
  }
  body.oc-area-page .oc75-area-footer{
    padding-inline:18px;
  }
  body.oc-area-page .oc75-area-footer nav{width:100%}
  body.oc-area-page .oc75-area-footer nav a{
    display:inline-flex;
    align-items:center;
    min-height:var(--oc79g-touch);
  }
  body.oc-area-page .oc-shot-launch{
    right:12px!important;
    bottom:12px!important;
    max-width:calc(100vw - 24px)!important;
  }
  body.oc-area-page .oc-shot-card{width:min(100% - 20px,720px)!important;padding:22px 18px!important}
  body.oc-area-page .oc-shot-options{grid-template-columns:1fr!important}
  body.oc-area-page .oc-shot-actions{display:grid!important;grid-template-columns:1fr!important}
  body.oc-area-page .oc-shot-actions button{width:100%!important}
}

@media (max-width:480px){
  body.oc-area-page .oc75-brand span small{white-space:normal}
  body.oc-area-page .oc75-userbar-inner nav{width:100%}
  body.oc-area-page .oc75-userbar-inner nav a{min-height:var(--oc79g-touch);display:inline-flex;align-items:center}
}

@media (hover:none) and (pointer:coarse){
  body.oc-area-page :where(a,button,summary,label){-webkit-tap-highlight-color:rgba(255,207,51,.22)}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  body.oc-area-page *,
  body.oc-area-page *::before,
  body.oc-area-page *::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
    scroll-behavior:auto!important;
  }
  body.oc-area-page [data-oc-reveal],
  body.oc-area-page [class*="reveal"]{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }
}

@media (prefers-contrast:more){
  body.oc-area-page :where(input,select,textarea,button){border-width:2px!important}
  body.oc-area-page :where(p,li,dd,small){color:#203047}
  body.oc-area-page .oc75-area-nav a[aria-current="page"]{outline:2px solid currentColor}
}

@media (forced-colors:active){
  body.oc-area-page :where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid Highlight!important}
  body.oc-area-page .skip-link{border-color:Highlight!important}
}

@media print{
  body.oc-area-page .skip-link,
  body.oc-area-page #oc79g-live{display:none!important}
}

/* === SORGENTE: oc-area-79H-final-stability.css === */
/*
 * CNSBII 1.6.16.79H · Stabilità finale Area O.C.
 * Lo strumento PNG resta attivo fino al collaudo dell'intero portale.
 */

/* Profilo: la colonna laterale non deve più scorrere sopra la barra finale. */
.oc-area-view-conferma-dati .oc78f-side-rail,
.oc-area-view-profilo .oc78f-side-rail{
  position:static !important;
  top:auto !important;
  bottom:auto !important;
  align-self:start !important;
  transform:none !important;
}

/* La griglia conserva una riga reale per i contenuti e una riga distinta per i comandi. */
.oc-area-view-conferma-dati .oc78f-form,
.oc-area-view-profilo .oc78f-form{
  align-items:start !important;
  grid-auto-flow:row !important;
  overflow:visible !important;
}
.oc-area-view-conferma-dati .oc78f-side-rail,
.oc-area-view-profilo .oc78f-side-rail{
  grid-column:1 !important;
  grid-row:1 !important;
}
.oc-area-view-conferma-dati .oc78f-form-main,
.oc-area-view-profilo .oc78f-form-main{
  grid-column:2 !important;
  grid-row:1 !important;
  min-width:0 !important;
}
.oc-area-view-conferma-dati .oc78f-save-dock,
.oc-area-view-profilo .oc78f-save-dock{
  position:relative !important;
  inset:auto !important;
  grid-column:1 / -1 !important;
  grid-row:2 !important;
  width:100% !important;
  margin:8px 0 38px !important;
  clear:both !important;
  isolation:isolate !important;
  z-index:3 !important;
}

/* Spazio strutturale prima del footer: non dipende dall'altezza del viewport. */
.oc-area-view-conferma-dati main.oc75-area-shell,
.oc-area-view-profilo main.oc75-area-shell{
  padding-bottom:28px !important;
}
.oc-area-view-conferma-dati .oc75-area-footer,
.oc-area-view-profilo .oc75-area-footer{
  position:relative !important;
  z-index:1 !important;
}

/* Contenuti lunghi e controlli: stabilità trasversale senza alterare i layout dedicati. */
.oc-area-page main img,
.oc-area-page main svg,
.oc-area-page main canvas{
  max-width:100%;
}
.oc-area-page main input,
.oc-area-page main select,
.oc-area-page main textarea,
.oc-area-page main button{
  max-width:100%;
}
.oc-area-page main code,
.oc-area-page main pre,
.oc-area-page main a{
  overflow-wrap:anywhere;
}

/* Il pulsante PNG resta disponibile ma si sposta quando il footer entra in vista. */
.oc-shot-tool{
  transition:transform .2s ease, bottom .2s ease !important;
}
.oc-shot-tool.is-footer-visible{
  transform:translateY(calc(-1 * var(--oc79h-footer-shift, 0px))) !important;
}

@media(max-width:1180px){
  .oc-area-view-conferma-dati .oc78f-side-rail,
  .oc-area-view-profilo .oc78f-side-rail,
  .oc-area-view-conferma-dati .oc78f-form-main,
  .oc-area-view-profilo .oc78f-form-main{
    grid-column:1 !important;
  }
  .oc-area-view-conferma-dati .oc78f-side-rail,
  .oc-area-view-profilo .oc78f-side-rail{grid-row:1 !important}
  .oc-area-view-conferma-dati .oc78f-form-main,
  .oc-area-view-profilo .oc78f-form-main{grid-row:2 !important}
  .oc-area-view-conferma-dati .oc78f-save-dock,
  .oc-area-view-profilo .oc78f-save-dock{grid-row:3 !important}
}

@media(max-width:820px){
  .oc-area-view-conferma-dati .oc78f-save-dock,
  .oc-area-view-profilo .oc78f-save-dock{
    margin-bottom:26px !important;
  }
}

@media(max-width:560px){
  .oc-area-view-conferma-dati .oc78f-save-dock,
  .oc-area-view-profilo .oc78f-save-dock{
    margin-inline:0 !important;
    border-radius:18px !important;
  }
}

@media print{
  .oc-shot-tool,
  .oc-shot-dialog{display:none !important}
}
