.modal{z-index:100;padding:clamp(10px,3vh,30px);background:rgba(2,1,11,.54);backdrop-filter:blur(15px) saturate(1.16);-webkit-backdrop-filter:blur(15px) saturate(1.16)}
.modal:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 18% 10%,rgba(124,58,237,.19),transparent 30%),radial-gradient(circle at 85% 85%,rgba(25,216,255,.14),transparent 30%)}
.modal .panel.inspection,.modal .panel.dv-admin-modal{position:relative;width:min(1380px,100%);max-height:calc(100dvh - 42px);margin:auto;padding:clamp(22px,3vw,38px);overflow:auto;border-color:rgba(148,91,255,.5);border-radius:28px;background:linear-gradient(135deg,rgba(27,13,57,.98),rgba(7,13,34,.98));box-shadow:0 32px 100px rgba(0,0,0,.68),0 0 80px rgba(108,52,220,.22)}
.dv-title-line{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.dv-title-line h1{margin:6px 0}
.dv-brand{display:inline-flex;align-items:center;gap:10px;min-height:42px;padding:7px 13px;border:1px solid rgba(33,220,255,.38);border-radius:13px;background:linear-gradient(135deg,rgba(25,216,255,.12),rgba(124,58,237,.16));box-shadow:inset 0 1px rgba(255,255,255,.08)}
.dv-brand img{width:82px;height:29px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(35,220,255,.38))}
.dv-brand b{color:#f7f4ff;font-size:.78rem;letter-spacing:.04em}
.dv-layout{display:grid;grid-template-columns:minmax(480px,1.15fr) minmax(390px,.85fr);gap:24px;margin:24px 0}
.dv-stage{position:sticky;top:0;min-height:610px;overflow:hidden;border:1px solid rgba(139,92,246,.58);border-radius:24px;background:#07071d;box-shadow:inset 0 1px rgba(255,255,255,.09),0 22px 60px rgba(0,0,0,.38)}
.dv-stage:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 49.8%,rgba(25,216,255,.1) 50%,transparent 50.2%),linear-gradient(transparent 49.8%,rgba(139,92,246,.08) 50%,transparent 50.2%)}
.dv-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0;filter:none}
.dv-stage-title{position:absolute;z-index:3;left:18px;top:16px;max-width:70%;padding:9px 12px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(4,2,13,.7);color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase;backdrop-filter:blur(12px)}
.dv-marker{position:absolute;z-index:4;left:calc(var(--x)*1%);top:calc(var(--y)*1%);display:grid;place-items:center;width:34px;height:34px;padding:0;transform:translate(-50%,-50%);border:2px solid #a78bfa;border-radius:50%;background:#12072b;color:#fff;font-size:.76rem;font-weight:950;cursor:pointer;box-shadow:0 0 0 7px rgba(124,58,237,.16),0 0 26px rgba(124,58,237,.7);transition:.2s}
.dv-marker:hover,.dv-marker.active{z-index:6;transform:translate(-50%,-50%) scale(1.2)}
.dv-marker.ok{border-color:#34d399;background:#06352a;box-shadow:0 0 0 7px rgba(16,185,129,.16),0 0 24px rgba(16,185,129,.55)}
.dv-marker.atencao{border-color:#fbbf24;background:#432b06;box-shadow:0 0 0 7px rgba(245,158,11,.17),0 0 24px rgba(245,158,11,.6)}
.dv-marker.critico{border-color:#fb7185;background:#4b0a1d;box-shadow:0 0 0 8px rgba(244,63,94,.18),0 0 27px rgba(244,63,94,.72);animation:dvPulse 1.7s ease-in-out infinite}
.dv-marker-label{display:none}
@keyframes dvPulse{50%{box-shadow:0 0 0 14px rgba(244,63,94,.06),0 0 36px rgba(244,63,94,.9)}
}
.dv-list{display:grid;gap:11px;align-content:start}
.dv-row{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.065);overflow:hidden;transition:.2s}
.dv-row.active{border-color:#8b5cf6;box-shadow:0 0 0 3px rgba(124,58,237,.13)}
.dv-row-head{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:11px;padding:14px}
.dv-index{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:rgba(124,58,237,.26);color:#d8c8ff;font-weight:950}
.dv-client-row .dv-index{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:auto;min-width:48px;padding:0 6px;border:1px solid rgba(176,116,255,.52);background:radial-gradient(circle at 30% 25%,rgba(182,108,255,.48),rgba(84,42,171,.32));box-shadow:0 0 16px rgba(137,77,255,.2)}.dv-client-row .dv-index b{font-size:.72rem;line-height:1}.dv-client-row .dv-index svg{width:17px;height:17px;flex:none;filter:drop-shadow(0 0 5px rgba(193,147,255,.72))}
.dv-row strong{display:block;color:var(--text)}
.dv-row small{display:block;margin-top:3px;color:var(--muted);line-height:1.35}
.dv-row select{min-width:122px;border:1px solid var(--line);border-radius:9px;padding:9px;background:var(--bg);color:var(--text);font:inherit;font-weight:800}
.dv-note{width:calc(100% - 28px);margin:0 14px 14px;border:1px solid var(--line);border-radius:9px;padding:10px;background:rgba(0,0,0,.13);color:var(--text);font:inherit}
.dv-client-row{cursor:pointer}
.dv-client-row .dv-row-head{grid-template-columns:36px 1fr auto}
.dv-state{padding:6px 9px;border:1px solid;border-radius:8px;font-size:.7rem;font-weight:900}
.dv-state.ok{color:#34d399;border-color:#059669}
.dv-state.atencao{color:#fbbf24;border-color:#d97706}
.dv-state.critico{color:#fb7185;border-color:#e11d48}
.dv-state.nao_testado{color:#c4b5fd;border-color:#7c3aed}
.dv-health{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:11px;margin-top:18px}
.dv-health .card{padding:17px}
.dv-health strong{display:block;color:var(--cyan);font-size:1.7rem}
.dv-health small{color:var(--muted)}
.dv-legend{position:absolute;z-index:5;right:16px;bottom:14px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;max-width:80%}
.dv-legend span{padding:5px 8px;border:1px solid rgba(255,255,255,.13);border-radius:99px;background:rgba(4,2,13,.76);color:#ddd5ee;font-size:.64rem}
.dv-legend i{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%}
.dv-legend .ok i{background:#34d399}
.dv-legend .atencao i{background:#fbbf24}
.dv-legend .critico i{background:#fb7185}
@media(max-width:900px){.modal .panel.inspection,.modal .panel.dv-admin-modal{max-height:calc(100dvh - 20px);padding:22px}
.dv-layout{grid-template-columns:1fr}
.dv-stage{position:relative;top:auto;min-height:500px}
.dv-health{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){.modal{padding:7px}
.modal .panel.inspection,.modal .panel.dv-admin-modal{max-height:calc(100dvh - 14px);padding:18px 14px;border-radius:20px}
.dv-title-line{align-items:flex-start;flex-direction:column;gap:7px}
.dv-brand{min-height:37px}
.dv-brand img{width:65px;height:25px}
.dv-layout{gap:14px}
.dv-stage{min-height:390px;border-radius:17px}
.dv-marker{width:28px;height:28px;font-size:.68rem}
.dv-row-head{grid-template-columns:30px 1fr}
.dv-row select{grid-column:2;width:100%}
.dv-health{grid-template-columns:1fr 1fr}
.dv-health .card:first-child{grid-column:1/-1}
}
.dv-detail-modal{max-width:1060px!important}
.dv-detail-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:22px 0;padding:25px;border:1px solid rgba(124,92,246,.45);border-radius:22px;background:linear-gradient(135deg,rgba(87,48,180,.26),rgba(15,128,202,.16))}
.dv-detail-hero h2{margin:12px 0 6px}.dv-detail-hero p{max-width:620px;margin:0;color:var(--muted);line-height:1.55}.dv-detail-score{min-width:164px;padding:16px;border:1px solid rgba(42,213,255,.4);border-radius:17px;background:rgba(4,8,29,.45);text-align:center}.dv-detail-score small{display:block;color:var(--muted)}.dv-detail-score strong{display:block;margin-top:5px;color:var(--cyan);font-size:2.2rem}.dv-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:24px 0}.dv-detail-grid .card{display:grid;gap:7px;min-height:112px;padding:17px}.dv-detail-grid b{color:var(--text);line-height:1.4}.dv-detail-grid small{color:var(--muted)}.dv-detail-actions{display:flex;flex-wrap:wrap;gap:11px;align-items:center;margin-top:21px}.order{cursor:pointer}
@media(max-width:650px){.dv-detail-hero{align-items:flex-start;flex-direction:column;padding:19px}.dv-detail-grid{grid-template-columns:1fr}.dv-detail-score{width:100%;text-align:left}.dv-detail-score strong{font-size:1.8rem}}
body.light .modal{background:rgba(28,19,53,.32)}body.light .modal .panel.inspection,body.light .modal .panel.dv-admin-modal{background:linear-gradient(135deg,#fcfbff,#eff9ff);border-color:rgba(101,61,202,.42);box-shadow:0 28px 78px rgba(39,20,85,.26)}body.light .dv-stage{background:#eaf7ff;border-color:#7650d6}body.light .dv-stage-title,body.light .dv-legend span{background:rgba(255,255,255,.82);color:#251043;border-color:rgba(93,55,183,.3)}body.light .dv-row{background:rgba(255,255,255,.76);border-color:rgba(97,67,151,.27)}body.light .dv-row strong,body.light .dv-detail-grid b{color:#21123d}body.light .dv-detail-hero{background:linear-gradient(135deg,#eee8ff,#e7f8ff);border-color:rgba(101,61,202,.35)}body.light .dv-detail-hero p,body.light .dv-detail-grid small,body.light .dv-detail-score small{color:#574b68}body.light .dv-detail-score{background:rgba(255,255,255,.82);border-color:rgba(41,179,222,.48)}body.light .dv-note,body.light .dv-row select{background:#fff;color:#20123d;border-color:rgba(91,57,170,.35)}
body.light .dv-client-row .dv-index{color:#5420b8;border-color:#7443c7;background:linear-gradient(135deg,#eadfff,#e5f8ff)}
