:root { color-scheme:dark; --ib-bg:#080808; --ib-surface:#111; --ib-raised:#181818; --ib-hover:#202020; --ib-border:#303030; --ib-soft:#242424; --ib-text:#f1f1f1; --ib-muted:#9b9b9b; --ib-red:#e31937; --ib-red-hover:#ff304f; --ib-green:#35c98b; --ib-amber:#f2b84b; --ib-radius:6px; }
html { min-height:100%; background:var(--ib-bg); }
body { min-height:100%; margin:0; background:var(--ib-bg)!important; color:var(--ib-text); font:14px/1.45 "Segoe UI",Arial,Helvetica,sans-serif!important; }
body>form { min-height:100vh; }
a { color:#ff5369; text-decoration:none; }
a:hover { color:#ff8090; text-decoration:underline; }
h1,h2,h3,h4 { color:var(--ib-text); letter-spacing:-.02em; }
hr { border:0; border-top:1px solid var(--ib-border); }
input,select,textarea { box-sizing:border-box; border:1px solid #424242!important; border-radius:4px; background:#171717!important; color:var(--ib-text)!important; padding:7px 9px; font:inherit!important; }
input:focus,select:focus,textarea:focus { outline:2px solid rgba(227,25,55,.3); border-color:var(--ib-red)!important; }
input[type="submit"],input[type="button"],button { border:1px solid var(--ib-red)!important; background:var(--ib-red)!important; color:#fff!important; padding:8px 14px; border-radius:4px; font-weight:700!important; cursor:pointer; }
input[type="submit"]:hover,input[type="button"]:hover,button:hover { background:var(--ib-red-hover)!important; }
table { border-color:var(--ib-border)!important; }
table[border="1"],table[border="2"],.DataGrid,.GridView { border-collapse:collapse; background:var(--ib-surface); }
table[border="1"] th,table[border="2"] th,.DataGrid th,.GridView th { background:#202020!important; color:#c8c8c8!important; border-color:var(--ib-border)!important; padding:9px 11px; font-size:11px!important; text-transform:uppercase; letter-spacing:.05em; }
table[border="1"] td,table[border="2"] td,.DataGrid td,.GridView td { border-color:var(--ib-soft)!important; padding:8px 11px; }
table[border="1"] tr:hover td,table[border="2"] tr:hover td,.DataGrid tr:hover td,.GridView tr:hover td { background:var(--ib-hover); }
.menutopo,.partecentral,.language { position:relative!important; inset:auto!important; width:100%!important; height:auto!important; margin:0!important; }
.partecentral { box-sizing:border-box; padding:24px!important; }
.language { display:none!important; }
.text2 { color:var(--ib-text); }
.internal-header { box-sizing:border-box; min-height:86px; padding:18px 28px 15px; border-bottom:1px solid var(--ib-border); background:#0d0d0d; color:var(--ib-text); }
.internal-brand-row { display:flex; align-items:center; gap:12px; }
.internal-brand-mark { display:grid; width:36px; height:36px; place-items:center; border-radius:4px; background:var(--ib-red); color:#fff; font-size:17px; font-weight:800; }
.internal-brand-copy strong { display:block; font-size:16px; }
.internal-brand-copy small { color:var(--ib-muted); font-size:11px; text-transform:uppercase; letter-spacing:.09em; }
.internal-nav { display:flex; gap:4px; margin-top:14px; flex-wrap:wrap; }
.internal-nav a { padding:6px 10px; border-radius:3px; color:#bdbdbd; font-size:12px; font-weight:600; }
.internal-nav a:hover { background:var(--ib-hover); color:#fff; text-decoration:none; }
.ops-shell { min-height:100vh; background:var(--ib-bg); }
.ops-topbar { display:flex; justify-content:space-between; gap:24px; align-items:center; padding:22px 30px; border-bottom:1px solid var(--ib-border); background:#0d0d0d; }
.ops-brand { display:flex; align-items:center; gap:13px; }
.ops-brand-mark { display:grid; width:42px; height:42px; place-items:center; border-radius:5px; background:var(--ib-red); color:#fff; font-size:19px; font-weight:800; }
.ops-brand h1 { margin:0; font-size:20px; }
.ops-brand p { margin:2px 0 0; color:var(--ib-muted); font-size:12px; }
.ops-session { padding:7px 11px; border:1px solid #4a2830; border-radius:4px; color:#ff7285; background:#211014; font:700 11px/1 "Segoe UI",sans-serif; text-transform:uppercase; letter-spacing:.08em; }
.ops-content { width:min(1500px,calc(100% - 40px)); margin:0 auto; padding:28px 0 64px; }
.ops-intro { margin-bottom:22px; }
.ops-eyebrow { margin:0 0 5px; color:var(--ib-red-hover); font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.ops-intro h2 { margin:0; font-size:27px; }
.ops-intro p { margin:6px 0 0; color:var(--ib-muted); }
.ops-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.ops-card { overflow:hidden; border:1px solid var(--ib-border); border-radius:var(--ib-radius); background:var(--ib-surface); }
.ops-card.featured { border-top:3px solid var(--ib-red); }
.ops-card-head { padding:16px 17px 13px; border-bottom:1px solid var(--ib-soft); }
.ops-card-head h3 { margin:0; font-size:15px; }
.ops-card-head p { margin:3px 0 0; color:var(--ib-muted); font-size:11px; }
.ops-links { display:grid; }
.ops-link { display:flex!important; justify-content:space-between; align-items:center; min-height:42px; padding:0 16px; border-bottom:1px solid var(--ib-soft); color:#d7d7d7!important; font:600 12px/1.2 "Segoe UI",sans-serif!important; }
.ops-link:last-child { border-bottom:0; }
.ops-link::after { content:">"; color:#666; }
.ops-link:hover { background:var(--ib-hover); color:#fff!important; text-decoration:none; }
.ops-link:hover::after { color:var(--ib-red-hover); }
.login-page { min-height:100vh; background:radial-gradient(circle at 75% 15%,#311016 0,transparent 27%),var(--ib-bg); }
.login-layout { display:grid; min-height:calc(100vh - 110px); place-items:center; padding:38px 20px; }
.login-card { width:min(430px,100%); overflow:hidden; border:1px solid var(--ib-border); border-top:3px solid var(--ib-red); border-radius:var(--ib-radius); background:#121212; box-shadow:0 24px 70px rgba(0,0,0,.45); }
.login-card-head { padding:23px 26px 18px; border-bottom:1px solid var(--ib-border); }
.login-card-head h1 { margin:0; font-size:21px; }
.login-card-head p { margin:5px 0 0; color:var(--ib-muted); font-size:12px; }
.login-form-wrap { padding:22px 26px 26px; }
.login-form-wrap table { width:100%; }
.login-form-wrap td { padding:5px; color:var(--ib-text); }
.login-form-wrap input[type="text"],.login-form-wrap input[type="password"] { width:100%!important; }
.login-form-wrap input[type="submit"] { width:100%; margin-top:6px; }
.login-form-wrap span { color:var(--ib-text)!important; }
@media(max-width:1050px){.ops-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:680px){.ops-grid{grid-template-columns:1fr}.ops-topbar{align-items:flex-start;padding:17px}.ops-session{display:none}.ops-content{width:min(100% - 24px,1500px);padding-top:20px}.partecentral{padding:14px!important}.internal-header{padding:14px}}
