/* ITPlugg v20.87 – Cisco-labbens gränssnitt */
.v2087-overlay{position:fixed;inset:0;z-index:10090;display:grid;place-items:center;
  padding:20px;background:rgba(2,8,14,.72);backdrop-filter:blur(3px);overflow:auto}
body.v2087-open{overflow:hidden}
.v2087-shell{width:min(900px,100%);max-height:92vh;display:flex;flex-direction:column;
  border:1px solid rgba(76,224,241,.22);border-radius:18px;overflow:hidden;
  background:linear-gradient(160deg,#0b2233,#061320);box-shadow:0 30px 80px rgba(0,0,0,.5)}
.v2087-shell>header{display:flex;gap:16px;align-items:flex-start;padding:20px 22px 16px;
  border-bottom:1px solid rgba(76,224,241,.14)}
.v2087-shell>header>div{flex:1;min-width:0}
.v2087-shell small{display:block;font:700 10.5px/1 ui-monospace,SFMono-Regular,monospace;
  letter-spacing:.16em;color:#5fd0e8;margin-bottom:8px}
.v2087-shell h2{margin:0 0 6px;font-size:21px;letter-spacing:-.02em;color:#eaf4fa}
.v2087-shell header p{margin:0;color:#93aec0;font-size:13.5px;line-height:1.55;max-width:62ch}
.v2087-close{flex:none;width:34px;height:34px;border-radius:10px;border:1px solid rgba(76,224,241,.2);
  background:rgba(4,14,24,.6);color:#cfe3ee;font-size:19px;line-height:1;cursor:pointer}
.v2087-close:hover{border-color:rgba(95,208,232,.55)}
.v2087-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:12px 22px;border-bottom:1px solid rgba(76,224,241,.1)}
.v2087-tabs button{padding:7px 13px;border-radius:999px;border:1px solid rgba(76,224,241,.18);
  background:rgba(4,14,24,.5);color:#9fbccd;font:600 12.5px/1 inherit;cursor:pointer}
.v2087-tabs button[aria-pressed="true"]{background:rgba(47,182,232,.16);border-color:rgba(95,208,232,.6);color:#dff2fa}
.v2087-body{display:flex;flex-direction:column;min-height:0;flex:1}
.v2087-term{flex:1;min-height:260px;overflow:auto;padding:16px 20px;background:#040d16;
  font:13px/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#b8cbd9;white-space:pre-wrap}
.v2087-term .is-cmd{color:#6fe3b4;font-weight:600}
.v2087-form{display:flex;gap:10px;align-items:center;padding:12px 20px;
  border-top:1px solid rgba(76,224,241,.14);background:rgba(6,20,32,.8)}
.v2087-form label{font:600 13px/1 ui-monospace,SFMono-Regular,monospace;color:#6fe3b4;white-space:nowrap}
.v2087-form input{flex:1;min-width:0;padding:9px 12px;border-radius:9px;
  border:1px solid rgba(76,224,241,.28);background:rgba(3,11,19,.8);color:#e6f2f8;
  font:13px ui-monospace,SFMono-Regular,monospace}
.v2087-form input:focus{outline:2px solid rgba(95,208,232,.55);outline-offset:1px}
.v2087-form button{padding:9px 16px;border-radius:9px;border:0;background:#2fb6e8;color:#03151f;
  font:700 13px inherit;cursor:pointer}
.v2087-status{display:flex;gap:10px;align-items:center;padding:11px 20px;
  border-top:1px solid rgba(76,224,241,.12);font-size:12.5px;color:#f1b955}
.v2087-status[data-solved="1"]{color:#6fe3b4}
.v2087-status span{flex:1;font-weight:700}
.v2087-status button{padding:6px 12px;border-radius:8px;border:1px solid rgba(76,224,241,.2);
  background:rgba(4,14,24,.6);color:#9fbccd;font:600 12px inherit;cursor:pointer}
@media(max-width:640px){.v2087-shell>header{padding:16px}.v2087-tabs{padding:10px 14px}
  .v2087-term{padding:13px 15px;font-size:12px;min-height:220px}.v2087-form{padding:10px 14px}}

/* v20.88 – levande topologibild */
.v2087-topo-wrap{padding:14px 18px 10px;border-bottom:1px solid rgba(76,224,241,.12);
  background:radial-gradient(circle at 50% 20%,rgba(47,182,232,.07),transparent 60%)}
.v2087-topo{display:block;width:100%;height:auto;max-height:220px}
.v2087-topo-legend{margin:6px 0 0;text-align:center;font-size:11.5px;color:#7d97a9}
@media(max-width:640px){.v2087-topo-wrap{padding:10px 12px 6px}.v2087-topo{max-height:180px}
  .v2087-topo-legend{font-size:10.5px}}

/* v20.91 launch hotfix — Cisco-labbet är en riktig arbetsyta och går alltid att lämna. */
body.itplugg-cisco-active{overflow:hidden!important}
body.itplugg-cisco-active .v1939-main-nav,
body.itplugg-cisco-active .v1919-dev-sidebar,
body.itplugg-cisco-active .v1919-mobile-menu,
body.itplugg-cisco-active .v196-mobile-nav{display:none!important}
body.itplugg-cisco-active.v1919-nav-active,
body.itplugg-cisco-active.v1919-nav-collapsed,
body.itplugg-cisco-active.v1923-auto-compact{padding-left:0!important;padding-bottom:0!important}
.v2087-overlay{place-items:stretch!important;padding:10px!important;overflow:hidden!important;background:rgba(2,8,14,.9)!important}
.v2087-shell{width:min(1180px,100%)!important;height:calc(100dvh - 20px)!important;max-height:none!important;margin:auto!important;border-radius:18px!important}
.v2087-shell>header{position:relative;z-index:4;flex:0 0 auto;background:linear-gradient(180deg,#0b2233,#0a1d2d)}
.v2087-close{width:44px!important;height:44px!important;border-radius:12px!important;font-size:24px!important;background:#10283a!important;border-color:rgba(95,208,232,.48)!important;box-shadow:0 0 0 3px rgba(95,208,232,.08)}
.v2087-close:focus-visible{outline:3px solid #66dff0;outline-offset:3px}
.v2087-tabs{flex:0 0 auto;overflow-x:auto;flex-wrap:nowrap!important;scrollbar-width:thin}
.v2087-tabs button{white-space:nowrap}
.v2087-body{min-height:0!important;overflow:hidden}
.v2087-topo-wrap{flex:0 0 auto}
.v2087-term{min-height:0!important}
.v2087-form,.v2087-status{flex:0 0 auto}
@media(max-height:760px){.v2087-topo{max-height:150px!important}.v2087-topo-wrap{padding-top:8px!important;padding-bottom:5px!important}.v2087-topo-legend{display:none}.v2087-shell>header{padding:13px 16px 11px!important}.v2087-shell header p{display:none}.v2087-tabs{padding:8px 14px!important}}
@media(max-width:640px){.v2087-overlay{padding:0!important}.v2087-shell{width:100%!important;height:100dvh!important;border-radius:0!important;border:0!important}.v2087-shell>header{padding:14px 14px 11px!important}.v2087-close{width:42px!important;height:42px!important}.v2087-topo{max-height:165px!important}.v2087-form{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important}.v2087-status{overflow-x:auto;white-space:nowrap}}

/* v21.04 – packet journey + strömmande CLI */
.v2087-journey{margin:9px auto 0;max-width:720px;padding:8px 11px;border-radius:10px;border:1px solid rgba(95,208,232,.14);background:rgba(3,13,22,.48);color:#8fa9ba;font-size:11.5px;line-height:1.45;text-align:left}
.v2087-journey[data-tone="running"]{color:#dff2fa;border-color:rgba(95,208,232,.35)}
.v2087-journey[data-tone="ok"]{color:#79e8b8;border-color:rgba(111,227,180,.35);background:rgba(35,118,89,.12)}
.v2087-journey[data-tone="bad"]{color:#ff9f98;border-color:rgba(255,124,116,.36);background:rgba(135,51,51,.12)}
.v2087-packet{filter:drop-shadow(0 0 5px rgba(255,255,255,.85));pointer-events:none}
.v2087-packet.is-ok{filter:drop-shadow(0 0 8px rgba(111,227,180,.95))}
.v2087-packet.is-drop{filter:drop-shadow(0 0 9px rgba(255,124,116,.95))}
.v2087-stream-line{animation:v2087StreamIn .16s ease-out both}
@keyframes v2087StreamIn{from{opacity:.15;transform:translateY(2px)}to{opacity:1;transform:none}}
.v2087-form input:disabled,.v2087-form button:disabled,.v2087-status button:disabled{opacity:.55;cursor:wait}
@media(prefers-reduced-motion:reduce){.v2087-stream-line{animation:none}.v2087-packet{filter:none}}
/* v21.04: hidden måste vinna över overlayns author-display. Annars kan
   Escape/Stäng sätta hidden utan att dialogen faktiskt försvinner. */
.v2087-overlay[hidden]{display:none!important}
