/* ---------- Oracle VM VirtualBox ---------- */
.window-body.vbox-root, .window-body.vbox-vm {
  margin: 0 3px 3px; padding: 0; flex: 1; min-height: 0; display: flex; flex-direction: column;
  background: #ece9d8; font: 11px Tahoma, "Segoe UI", sans-serif; overflow: hidden;
}
.vbox-menubar.np-menubar { flex-shrink: 0; }

/* toolbar */
.vbox-toolbar {
  display: flex; align-items: stretch; gap: 2px; padding: 3px 6px; flex-shrink: 0;
  background: linear-gradient(#fbfbf8, #e9e6d9); border-bottom: 1px solid #b5b2a4;
}
.vbox-toolbar > button {
  display: flex; flex-direction: column; align-items: center; gap: 2px;
  min-width: 56px; padding: 3px 6px 2px; background: none; border: 1px solid transparent;
  border-radius: 3px; box-shadow: none; font: inherit; color: #000;
}
.vbox-toolbar > button img { width: 32px; height: 32px; }
.vbox-toolbar > button:not(:disabled):hover { border-color: #a9b8d6; background: linear-gradient(#fff, #e3ebf8); }
.vbox-toolbar > button:not(:disabled):active { background: linear-gradient(#d6e1f5, #eef3fb); }
.vbox-toolbar > button:disabled { color: #a3a091; }
.vbox-toolbar > button:disabled img { filter: grayscale(1) opacity(.45); }
.vbox-tb-gap { flex: 1; }
.vbox-seg { display: flex; align-self: center; border: 1px solid #a7a596; border-radius: 3px; overflow: hidden; }
.vbox-seg button {
  display: flex; align-items: center; gap: 4px; min-width: 0; min-height: 0; padding: 3px 9px;
  border: 0; border-radius: 0; box-shadow: none; font: inherit; background: linear-gradient(#fff, #e6e3d6);
}
.vbox-seg button + button { border-left: 1px solid #a7a596; }
.vbox-seg button img { width: 16px; height: 16px; }
.vbox-seg button.on { background: linear-gradient(#cfd9ec, #e8eef9); font-weight: bold; }

/* main split */
.vbox-main { flex: 1; min-height: 0; display: flex; }
.vbox-list {
  width: 230px; flex-shrink: 0; margin: 0; padding: 2px; list-style: none; overflow-y: auto;
  background: #fff; border-right: 1px solid #b5b2a4;
}
.vbox-list li { display: flex; align-items: center; gap: 8px; padding: 5px 6px; border-radius: 3px; cursor: default; }
.vbox-list li + li { margin-top: 1px; }
.vbox-list .vbox-os { width: 32px; height: 32px; flex-shrink: 0; }
.vbox-list b { display: block; font-size: 12px; margin-bottom: 3px; }
.vbox-list span { display: flex; align-items: center; gap: 4px; color: #333; }
.vbox-list span img { width: 16px; height: 16px; }
.vbox-list li.sel { background: linear-gradient(#5c93df, #2f68c4); color: #fff; }
.vbox-list li.sel span { color: #e8efff; }

/* details */
.vbox-pane { flex: 1; min-width: 0; overflow-y: auto; padding: 8px; background: #f5f4ee; }
.vbox-sec { background: #fff; border: 1px solid #c5c2b2; border-radius: 5px; margin-bottom: 7px; overflow: hidden; }
.vbox-sec h3 {
  display: flex; align-items: center; gap: 6px; margin: 0; padding: 3px 7px;
  font: bold 11px Tahoma, sans-serif; color: #1c3f86;
  background: linear-gradient(#fdfdfb, #e8e6dc); border-bottom: 1px solid #dad7c9;
}
.vbox-sec h3 img { width: 16px; height: 16px; }
.vbox-sec table { border-collapse: collapse; margin: 4px 8px 5px 28px; }
.vbox-sec td { padding: 1px 0; vertical-align: top; }
.vbox-sec td:first-child { padding-right: 14px; white-space: nowrap; color: #333; }
.vbox-sec p { margin: 4px 8px 5px 28px; }
.vbox-top { display: flex; gap: 7px; align-items: flex-start; }
.vbox-col { flex: 1; min-width: 0; }
.vbox-prev { width: 178px; flex-shrink: 0; }
.vbox-preview {
  margin: 6px auto 7px; width: 160px; height: 120px; display: flex; align-items: center; justify-content: center;
  background: #000; border: 1px solid #555; color: #fff; text-align: center; font-size: 12px;
}
.vbox-preview.on { background: radial-gradient(#3a6ea5, #1a3a6a); }
.vbox-empty { padding: 14px; line-height: 1.5; color: #333; }

/* snapshots */
.vbox-snap { background: #fff; border: 1px solid #c5c2b2; border-radius: 5px; height: calc(100% - 2px); display: flex; flex-direction: column; }
.vbox-snap-tb { display: flex; gap: 4px; padding: 4px; border-bottom: 1px solid #dad7c9; background: linear-gradient(#fdfdfb, #e8e6dc); }
.vbox-snap ul { list-style: none; margin: 0; padding: 4px; }
.vbox-snap li { display: flex; align-items: center; gap: 5px; padding: 2px 4px; }
.vbox-snap li img { width: 16px; height: 16px; }
.vbox-snap li.sel { background: #316ac5; color: #fff; }

/* dialogs */
.vbox-dialog .np-dialog-body { padding: 12px; min-width: 300px; }
.vbox-form { display: grid; gap: 7px; margin-bottom: 12px; }
.vbox-form label { display: grid; grid-template-columns: 82px 1fr; align-items: center; gap: 6px; }
.vbox-form input:not([type=number]), .vbox-form select, .vbox-form textarea { width: 100%; box-sizing: border-box; }
.vbox-form input[type=number] { width: 60px; }
.vbox-form textarea { resize: none; font: inherit; }
.vbox-dlg-btns { display: flex; justify-content: flex-end; gap: 6px; }
.vbox-q, .vbox-about { display: flex; gap: 12px; margin-bottom: 12px; max-width: 380px; line-height: 1.45; }
.vbox-q img { width: 32px; height: 32px; }
.vbox-q p { margin: 0; }
.vbox-about img { width: 48px; height: 48px; }

/* running VM */
.vbox-screen { flex: 1; min-height: 0; background: #000; position: relative; }
.vbox-screen iframe { width: 100%; height: 100%; border: 0; display: block; background: #000; }
.vbox-screen.paused::after {
  content: ""; position: absolute; inset: 0; background: rgba(60, 60, 60, .55);
}
.vbox-screen.paused iframe { pointer-events: none; filter: grayscale(1); }
.vbox-bios { margin: 0; padding: 6px 8px; color: #c0c0c0; font: 14px/1.2 "Lucida Console", "Courier New", monospace; }
.vbox-status {
  display: flex; align-items: center; justify-content: flex-end; gap: 3px; padding: 2px 4px; flex-shrink: 0;
  border-top: 1px solid #b5b2a4; background: #ece9d8;
}
.vbox-status img { width: 16px; height: 16px; }
.vbox-hostkey { margin-left: 6px; padding-left: 6px; border-left: 1px solid #b5b2a4; color: #333; }
