/* BredaNet Assistenza v2.8 — Sicurezza, notifiche e amministrazione */
:root{
  --v28-ink:#17324a;
  --v28-muted:#6d8193;
  --v28-line:#dce7ef;
  --v28-soft:#f7fafc;
  --v28-green:#168b4b;
  --v28-amber:#b86d00;
  --v28-red:#c73545;
  --v28-blue:#167ac6;
}

/* Navigazione sicurezza condivisa */
.v28-security-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:10px;border:1px solid var(--v28-line);border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(23,66,103,.04)}
.v28-security-nav a{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:9px;text-decoration:none;font-size:.75rem;font-weight:800;color:#35566f;background:#f7fafc;border:1px solid #e3ecf2}
.v28-security-nav a:hover{background:#eef6fb;border-color:#c8dce9}

/* Gestione notifiche */
.v28-admin-client-notify{border-color:#cfe0eb!important;background:linear-gradient(180deg,#fff,#f9fcfe)!important}
.v28-inline-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:10px;align-items:end;margin-top:14px}
.v28-inline-form label{margin:0;min-width:0}.v28-inline-form select{width:100%;box-sizing:border-box}
.v28-notify-clean{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px;padding:12px;border:1px solid #e4ebf1;border-radius:11px;background:#fbfdff}
.v28-notify-clean>div{min-width:0}.v28-notify-clean b,.v28-notify-clean small{display:block}.v28-notify-clean small{margin-top:3px;color:var(--v28-muted)}
.v28-notify-pair{display:grid;grid-template-columns:minmax(0,1fr) 110px 110px;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #e7eef3}
.v28-notify-pair:last-child{border-bottom:0}.v28-notify-pair>div{min-width:0}.v28-notify-pair b,.v28-notify-pair small{display:block}.v28-notify-pair small{color:var(--v28-muted);font-size:.72rem;margin-top:3px}
.v28-notify-pair label{display:flex;align-items:center;gap:7px;justify-content:flex-start;font-size:.76rem;font-weight:800;margin:0}.v28-notify-pair input{width:auto!important}
.v28-rule-note{margin:0 0 12px;padding:10px 12px;border-radius:10px;background:#eef7ff;border:1px solid #c9e0f2;color:#365d79;font-size:.76rem;line-height:1.45}
.v28-notify-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}

/* Gestione modifiche */
.v28-changes,.v28-change-detail{min-width:0;color:var(--v28-ink)}
.v28-change-list{display:grid;gap:10px;margin-top:12px}
.v28-change-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px 14px;border:1px solid var(--v28-line);border-radius:13px;background:#fff}
.v28-change-main{min-width:0}.v28-change-main h3{margin:0 0 5px;font-size:.92rem}.v28-change-main p{margin:0;color:var(--v28-muted);font-size:.73rem}.v28-change-main .badge{margin-right:5px}
.v28-change-create{display:grid;gap:12px}.v28-change-create .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.v28-change-create textarea{min-height:90px}
.v28-change-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 16px}.v28-change-summary>div{padding:12px;border:1px solid var(--v28-line);border-radius:12px;background:#fbfdff;min-width:0}.v28-change-summary small,.v28-change-summary b{display:block}.v28-change-summary small{color:var(--v28-muted);font-size:.68rem;margin-bottom:3px}.v28-change-summary b{font-size:.82rem;overflow-wrap:anywhere}
.v28-change-event-form{display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:9px;align-items:end}.v28-change-event-form textarea{min-height:66px}
.v28-change-events{display:grid;gap:9px;margin-top:12px}.v28-change-event{padding:11px 12px;border-left:3px solid #a9c9df;background:#f8fbfd;border-radius:0 10px 10px 0}.v28-change-event b,.v28-change-event small{display:block}.v28-change-event p{margin:5px 0 0;white-space:pre-wrap}.v28-change-event small{color:var(--v28-muted);font-size:.68rem}

/* Impostazioni portale */
.v28-settings-home{min-width:0}.v28-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.v28-settings-card{display:flex;flex-direction:column;min-width:0;padding:16px;border:1px solid var(--v28-line);border-radius:15px;background:#fff;text-decoration:none;color:var(--v28-ink);box-shadow:0 6px 18px rgba(23,66,103,.04);transition:.16s ease}.v28-settings-card:hover{transform:translateY(-1px);border-color:#bdd5e5;box-shadow:0 9px 24px rgba(23,66,103,.07)}.v28-settings-card b{font-size:.9rem}.v28-settings-card span{margin-top:5px;color:var(--v28-muted);font-size:.72rem;line-height:1.4}

/* Domini e servizi web */
.v28-domains,.v28-services{min-width:0}.v28-domain-kpis,.v28-trivy-kpis,.v28-network-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 15px}.v28-domain-kpis>div,.v28-trivy-kpis>div,.v28-network-kpis>div{min-width:0;padding:12px 13px;border:1px solid var(--v28-line);border-radius:12px;background:#fff}.v28-domain-kpis b,.v28-trivy-kpis b,.v28-network-kpis b{display:block;font-size:1.15rem;color:#224b66}.v28-domain-kpis span,.v28-trivy-kpis span,.v28-network-kpis span{display:block;margin-top:2px;color:var(--v28-muted);font-size:.68rem}
.v28-domain-list{display:grid;gap:9px}.v28-domain-row{display:grid;grid-template-columns:minmax(220px,1.25fr) 110px 110px 95px 145px auto;gap:12px;align-items:center;padding:12px 13px;border:1px solid var(--v28-line);border-radius:12px;background:#fff}.v28-domain-row>*{min-width:0}.v28-domain-name b,.v28-domain-name small{display:block}.v28-domain-name b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v28-domain-name small{color:var(--v28-muted);font-size:.69rem;overflow-wrap:anywhere;margin-top:3px}.v28-domain-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.v28-domain-create{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.v28-domain-create .wide{grid-column:1/-1}.v28-domain-create textarea{min-height:82px}

/* Vista cliente sicura */
.v28-public-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.v28-public-service{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;padding:15px;border:1px solid var(--v28-line);border-radius:14px;background:#fff}.v28-public-service>div{min-width:0}.v28-public-service h3{margin:0 0 4px;font-size:.92rem}.v28-public-service p{margin:0;color:var(--v28-muted);font-size:.73rem;line-height:1.4}.v28-service-dot{width:10px;height:10px;border-radius:50%;background:#8fa2b2;box-shadow:0 0 0 4px rgba(143,162,178,.12)}.v28-service-dot.ok{background:var(--v28-green);box-shadow:0 0 0 4px rgba(22,139,75,.12)}.v28-service-dot.warn{background:#e29512;box-shadow:0 0 0 4px rgba(226,149,18,.13)}.v28-service-dot.info{background:var(--v28-blue);box-shadow:0 0 0 4px rgba(22,122,198,.11)}

/* Trivy / CVE */
.v28-trivy-card{border-color:#cfe0eb!important;background:linear-gradient(180deg,#fff,#f9fcfe)!important}.v28-trivy-counts{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.v28-trivy-counts span{padding:5px 8px;border-radius:999px;border:1px solid #dce7ef;background:#f8fbfd;font-size:.69rem;font-weight:850}.v28-trivy{min-width:0}.v28-vuln-list{display:grid;gap:8px}.v28-vuln-row{display:grid;grid-template-columns:minmax(180px,1.2fr) 95px 120px 140px;gap:10px;align-items:start;padding:11px 12px;border:1px solid var(--v28-line);border-radius:11px;background:#fff}.v28-vuln-row>*{min-width:0}.v28-vuln-row b,.v28-vuln-row small{display:block}.v28-vuln-row small{color:var(--v28-muted);font-size:.67rem;margin-top:2px;overflow-wrap:anywhere}.v28-vuln-row>p{grid-column:1/-1;margin:0;color:var(--v28-muted);font-size:.72rem;line-height:1.4}.v28-sev{display:inline-flex!important;width:max-content;padding:4px 7px;border-radius:999px;font-size:.63rem!important;font-weight:900!important;letter-spacing:.03em}.v28-sev.critical{background:#fff0f2;color:#aa1d2c;border:1px solid #efb1b8}.v28-sev.high{background:#fff5ea;color:#a95600;border:1px solid #efc589}.v28-sev.medium{background:#fffbe8;color:#8b6a00;border:1px solid #ead984}.v28-sev.low{background:#eef8ff;color:#1d688e;border:1px solid #b9dbed}.v28-sev.unknown{background:#f2f5f7;color:#657583;border:1px solid #d8e0e5}

/* VLAN e client */
.v28-network-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:12px;align-items:end;margin-bottom:14px!important}.v28-network-toolbar label{margin:0}.v28-network-toolbar .check{align-self:center}.v28-network-toolbar [data-v28-network-result]{font-size:.72rem;color:var(--v28-muted);white-space:nowrap}.v28-client-tools{display:flex;flex-wrap:wrap;gap:7px;align-items:center;padding:9px 10px;margin:0 0 11px;border:1px solid #e1eaf1;border-radius:10px;background:#f8fbfd}.v28-client-tools span{font-size:.69rem;color:#60788b}.v28-client-tools span b{color:#274b65}.v28-client-tools button{margin-left:auto}.v28-client-tools button+button{margin-left:0}

@media (max-width:1100px){
  .v28-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v28-change-summary,.v28-domain-kpis,.v28-trivy-kpis,.v28-network-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v28-domain-row{grid-template-columns:minmax(0,1fr) 110px 110px auto}.v28-domain-row>:nth-child(4),.v28-domain-row>:nth-child(5){display:none}
  .v28-vuln-row{grid-template-columns:95px minmax(140px,.7fr) minmax(0,1fr)}.v28-vuln-row>:last-child{grid-column:2/-1}
}
@media (max-width:760px){
  .v28-inline-form,.v28-change-event-form,.v28-network-toolbar{grid-template-columns:1fr}
  .v28-notify-pair{grid-template-columns:minmax(0,1fr) auto auto}.v28-notify-pair small{max-width:48ch}
  .v28-change-row{grid-template-columns:1fr}.v28-change-create .grid,.v28-domain-create,.v28-public-services{grid-template-columns:1fr}.v28-domain-create .wide{grid-column:auto}
  .v28-settings-grid{grid-template-columns:1fr}
  .v28-domain-row{grid-template-columns:1fr}.v28-domain-row>:nth-child(4),.v28-domain-row>:nth-child(5){display:block}.v28-domain-actions{justify-content:flex-start}
  .v28-public-service{grid-template-columns:auto minmax(0,1fr)}.v28-public-service>a{grid-column:2;justify-self:start}
  .v28-vuln-row{grid-template-columns:1fr}.v28-vuln-row>:last-child{grid-column:auto}
}
@media (max-width:520px){
  .v28-notify-pair{grid-template-columns:1fr 1fr}.v28-notify-pair>div{grid-column:1/-1}
  .v28-change-summary,.v28-domain-kpis,.v28-trivy-kpis,.v28-network-kpis{grid-template-columns:1fr 1fr}
  .v28-security-nav{overflow-x:auto;flex-wrap:nowrap}.v28-security-nav a{flex:0 0 auto}
  .v28-notify-clean{align-items:flex-start;flex-direction:column}
}
