:root {
  --bg: #0f1419;
  --surface: #1a2332;
  --surface-2: #243044;
  --border: #334155;
  --text: #e2e8f0;
  --muted: #94a3b8;
  --accent: #3b82f6;
  --accent-soft: rgba(59, 130, 246, 0.18);
  --success: #22c55e;
  --success-soft: rgba(34, 197, 94, 0.15);
  --warning: #f59e0b;
  --danger: #ef4444;
  --highlight: #fbbf24;
  --shadow: 0 18px 50px rgba(0, 0, 0, 0.35);
  --radius: 14px;
  --font: "Segoe UI", system-ui, -apple-system, sans-serif;
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  min-height: 100%;
  background: radial-gradient(circle at top, #1e293b 0%, var(--bg) 55%);
  color: var(--text);
  font-family: var(--font);
}

button {
  font: inherit;
  cursor: pointer;
}

.app {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr) 320px;
  grid-template-rows: auto 1fr;
  gap: 16px;
  min-height: 100vh;
  padding: 16px;
}

.header {
  grid-column: 1 / -1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 18px 22px;
  background: rgba(26, 35, 50, 0.92);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  backdrop-filter: blur(10px);
}

.header-brand {
  display: flex;
  align-items: center;
  gap: 14px;
}

.logo {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: linear-gradient(135deg, #2563eb, #7c3aed);
  font-size: 1.4rem;
}

.header h1 {
  margin: 0 0 4px;
  font-size: 1.35rem;
}

.header p {
  margin: 0;
  color: var(--muted);
  font-size: 0.92rem;
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 16px;
}

.header-stats {
  display: flex;
  gap: 18px;
}

.portal-return {
  flex-shrink: 0;
  padding: 8px 14px;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.04);
  color: #cbd5e1;
  font-size: 0.88rem;
  text-decoration: none;
  white-space: nowrap;
}

.portal-return:hover {
  color: #fff;
  border-color: #64748b;
  background: rgba(255, 255, 255, 0.08);
}

.stat {
  min-width: 72px;
  text-align: right;
}

.stat-label {
  display: block;
  color: var(--muted);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.stat-value {
  font-size: 1.2rem;
  font-weight: 700;
}

.sidebar,
.guide {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.panel {
  background: rgba(26, 35, 50, 0.92);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 16px;
}

.panel h2 {
  margin: 0 0 12px;
  font-size: 0.95rem;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.panel-compact {
  display: grid;
  gap: 8px;
}

.os-tabs {
  display: grid;
  gap: 8px;
}

.os-tab {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--surface-2);
  color: var(--text);
  transition: 0.15s ease;
}

.os-tab:hover {
  border-color: #64748b;
}

.os-tab.active {
  border-color: var(--accent);
  background: var(--accent-soft);
}

.os-icon {
  width: 22px;
  text-align: center;
  font-weight: 700;
}

.os-icon.mac {
  width: 18px;
  height: 18px;
  border-radius: 4px;
  background: linear-gradient(180deg, #d1d5db 0 45%, #111827 46%);
}

.task-list {
  display: grid;
  gap: 8px;
  max-height: 52vh;
  overflow: auto;
}

.task-category {
  display: grid;
  gap: 8px;
}

.task-category + .task-category {
  margin-top: 4px;
  padding-top: 12px;
  border-top: 1px solid var(--border);
}

.task-category-title {
  margin: 0;
  padding: 0 2px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted);
}

.task-category-items {
  display: grid;
  gap: 8px;
}

.task-item {
  text-align: left;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--surface-2);
  color: var(--text);
  transition: 0.15s ease;
}

.task-item:hover {
  border-color: #64748b;
}

.task-item.active {
  border-color: var(--accent);
  background: var(--accent-soft);
}

.task-item.completed {
  border-color: rgba(34, 197, 94, 0.45);
  background: var(--success-soft);
}

.task-item-title {
  display: block;
  font-weight: 600;
  margin-bottom: 4px;
}

.task-item-desc {
  display: block;
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.35;
}

.btn {
  border: none;
  border-radius: 10px;
  padding: 10px 14px;
  font-weight: 600;
  transition: 0.15s ease;
}

.btn-small {
  padding: 6px 10px;
  font-size: 0.82rem;
}

.btn-secondary {
  background: var(--accent);
  color: white;
}

.btn-secondary:hover {
  filter: brightness(1.08);
}

.btn-ghost {
  background: transparent;
  color: var(--muted);
  border: 1px solid var(--border);
}

.btn-ghost:hover {
  color: var(--text);
  border-color: #64748b;
}

.workspace {
  min-width: 0;
}

.desktop-frame {
  height: calc(100vh - 130px);
  min-height: 620px;
  display: flex;
  flex-direction: column;
  background: rgba(26, 35, 50, 0.92);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow);
}

.desktop-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 14px;
  border-bottom: 1px solid var(--border);
  background: rgba(15, 20, 25, 0.55);
}

.toolbar-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.mode-badge {
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--accent-soft);
  color: #93c5fd;
  font-size: 0.78rem;
  font-weight: 700;
}

.desktop-viewport {
  position: relative;
  flex: 1;
  overflow: hidden;
  background: #111827;
  contain: layout paint;
}

.guide-panel {
  min-height: 220px;
}

.step-card {
  padding: 14px;
  border-radius: 12px;
  background: var(--surface-2);
  border: 1px solid var(--border);
  min-height: 120px;
}

.step-empty {
  margin: 0;
  color: var(--muted);
}

.step-title {
  margin: 0 0 8px;
  font-size: 1.05rem;
}

.step-text {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.step-type-hint {
  margin: 10px 0 0;
  font-size: 0.82rem;
  color: var(--highlight);
}

.step-number {
  font-weight: 700;
  color: var(--text);
}

.step-cmd-inline {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 0.95em;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 4px;
  background: var(--success-soft);
  color: var(--success);
  border: 1px solid rgba(34, 197, 94, 0.35);
  white-space: pre-wrap;
  word-break: break-word;
}

.step-progress {
  margin: 14px 0 0;
  padding-left: 18px;
  color: var(--muted);
  font-size: 0.86rem;
}

.step-progress li {
  margin-bottom: 6px;
}

.step-progress li.done {
  color: var(--success);
  text-decoration: line-through;
}

.step-progress li.current {
  color: var(--highlight);
  font-weight: 700;
}

.log-panel {
  flex: 1;
  min-height: 180px;
}

.activity-log {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 240px;
  overflow: auto;
}

.activity-log li {
  padding: 8px 0;
  border-bottom: 1px solid rgba(51, 65, 85, 0.55);
  font-size: 0.84rem;
  color: var(--muted);
}

.activity-log li:last-child {
  border-bottom: none;
}

.activity-log .time {
  color: #64748b;
  margin-right: 8px;
}

.toast-container {
  position: fixed;
  right: 18px;
  bottom: 18px;
  display: grid;
  gap: 10px;
  z-index: 1000;
}

.toast {
  min-width: 260px;
  padding: 12px 14px;
  border-radius: 12px;
  color: white;
  box-shadow: var(--shadow);
  animation: slideIn 0.25s ease;
}

.toast.success {
  background: #15803d;
}

.toast.info {
  background: #1d4ed8;
}

.toast.warning {
  background: #b45309;
}

@keyframes slideIn {
  from {
    transform: translateY(12px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes pulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(251, 191, 36, 0.65);
  }
  50% {
    box-shadow: 0 0 0 8px rgba(251, 191, 36, 0);
  }
}

.clickable {
  cursor: pointer;
  transition: 0.15s ease;
}

.clickable:hover {
  filter: brightness(1.08);
}

.clickable.target-highlight,
.os-input-group.target-highlight input,
.terminal-input.target-highlight {
  outline: 2px solid var(--highlight);
  outline-offset: 2px;
  animation: pulse 1.4s infinite;
  z-index: 50;
}

.os-input-group {
  display: grid;
  gap: 6px;
  margin: 10px 0;
}

.os-input-group input {
  width: 100%;
  padding: 8px 10px;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(0, 0, 0, 0.25);
  color: inherit;
  font: inherit;
  font-size: 0.84rem;
}

.os-input-label {
  font-size: 0.78rem;
  opacity: 0.85;
}

.os-input-submit {
  justify-self: start;
  margin-top: 4px;
}

.dialog-card {
  margin-top: 12px;
}

.terminal-input-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}

.terminal-prompt {
  color: inherit;
  opacity: 0.9;
  white-space: nowrap;
}

.terminal-input {
  flex: 1;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.25);
  color: inherit;
  font: inherit;
  font-size: 0.84rem;
  padding: 4px 0;
  outline: none;
}

.win-settings-content .os-input-group input,
.mac-settings-content .os-input-group input {
  background: #fff;
  border-color: #ccc;
  color: #1a1a1a;
}

.linux-settings-content .os-input-group input {
  background: #2d2d2d;
  border-color: #555;
  color: #fff;
}

.clickable.correct-flash {
  outline: 2px solid var(--success);
  outline-offset: 2px;
}

.clickable.wrong-flash {
  outline: 2px solid var(--danger);
  outline-offset: 2px;
}

/* Shared desktop pieces */
.desktop-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}

.overlay-window {
  position: absolute;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: #1f2937;
  z-index: 20;
}

.overlay-window.hidden {
  display: none;
}

.overlay-window.dragging {
  user-select: none;
}

.window-titlebar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 0 0 12px;
  min-height: 32px;
  font-size: 0.82rem;
  font-weight: 600;
  flex-shrink: 0;
  user-select: none;
  -webkit-user-select: none;
  touch-action: none;
}

.overlay-window > .window-titlebar {
  cursor: default;
}

.overlay-window.dragging > .window-titlebar {
  cursor: grabbing;
}

.window-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.window-titlebar-spacer {
  width: 68px;
  flex-shrink: 0;
}

.win-window-titlebar {
  background: #f3f3f3;
  color: #1a1a1a;
  border-bottom: 1px solid #e5e5e5;
}

.win-window-close {
  width: 46px;
  height: 32px;
  border: none;
  background: transparent;
  color: #1a1a1a;
  font-size: 0.72rem;
  line-height: 1;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}

.win-window-close:hover {
  background: #e81123;
  color: #fff;
}

.mac-window-titlebar {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 10px 16px;
  background: transparent;
  color: #1d1d1f;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.mac-titlebar-leading {
  justify-self: start;
}

.mac-window-titlebar .window-title {
  justify-self: center;
  font-size: 0.8rem;
  font-weight: 600;
}

.mac-traffic-btn {
  border: none;
  background: transparent;
  padding: 0;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  cursor: pointer;
}

.mac-traffic-close:hover .tl-close {
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.15);
}

.linux-window-titlebar {
  background: #262626;
  color: #fff;
  border-bottom: 1px solid #454545;
  padding: 0 0 0 14px;
}

.linux-window-titlebar .window-title {
  display: flex;
  align-items: center;
  gap: 8px;
}

.linux-window-close {
  width: 38px;
  height: 38px;
  border: none;
  background: transparent;
  color: #fff;
  font-size: 0.82rem;
  line-height: 1;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}

.linux-window-close:hover {
  background: rgba(255, 255, 255, 0.1);
}

.win-terminal .win-window-titlebar {
  background: #1f1f1f;
  color: #ccc;
  border-bottom: 1px solid #333;
}

.win-terminal .win-window-close {
  color: #ccc;
}

.win-terminal .win-window-close:hover {
  background: #e81123;
  color: #fff;
}

.mac-terminal .mac-window-titlebar {
  background: #ececec;
  color: #1d1d1f;
}

.linux-terminal .linux-window-titlebar {
  background: #262626;
}

.linux-app-window {
  width: min(480px, 90%);
  height: min(320px, 60%);
  background: #fafafa;
  color: #2e3436;
  border: 1px solid #deddda;
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18), 0 2px 8px rgba(0, 0, 0, 0.08);
}

.linux-app-window .window-titlebar {
  background: #ebebeb;
  color: #2e3436;
  border-bottom: 1px solid #deddda;
}

.linux-app-window .linux-window-close {
  color: #2e3436;
}

.linux-app-window .linux-window-close:hover {
  background: rgba(0, 0, 0, 0.08);
  color: #c01c28;
}

.linux-app-window-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: calc(100% - 38px);
  padding: 24px;
  text-align: center;
  background: #fafafa;
}

.linux-app-window-icon .icon-rhel-app,
.linux-app-window-icon svg {
  width: 64px;
  height: 64px;
}

.window-body {
  padding: 14px;
  font-size: 0.86rem;
  color: #dbeafe;
}

.menu-popup {
  position: absolute;
  min-width: 220px;
  padding: 8px;
  border-radius: 10px;
  background: rgba(17, 24, 39, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: var(--shadow);
  z-index: 40;
}

.menu-popup.hidden {
  display: none;
}

.menu-item {
  display: block;
  width: 100%;
  text-align: left;
  padding: 9px 10px;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: #e5e7eb;
}

.menu-item:hover {
  background: rgba(255, 255, 255, 0.08);
}

.field-row {
  display: grid;
  gap: 6px;
  margin-bottom: 12px;
}

.field-row label {
  color: #cbd5e1;
  font-size: 0.8rem;
}

.field-row input,
.field-row select {
  width: 100%;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid #475569;
  background: #0f172a;
  color: white;
}

.action-row {
  display: flex;
  gap: 8px;
  margin-top: 10px;
}

.chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  font-size: 0.78rem;
}

.status-ok {
  color: var(--success);
}

.status-warn {
  color: var(--warning);
}

.os-icon.linux.rh {
  background: linear-gradient(180deg, #ee0000 0 55%, #fff 56%);
  border-radius: 50%;
  width: 18px;
  height: 18px;
}

.os-svg {
  display: block;
  width: 100%;
  height: 100%;
}

.icon-app {
  width: 100%;
  height: 100%;
}

.icon-win-start {
  width: 18px;
  height: 18px;
}

.icon-mac-apple {
  width: 12px;
  height: 14px;
}

.icon-rhel-logo {
  width: 18px;
  height: 18px;
}

.traffic-lights {
  display: inline-flex;
  gap: 7px;
  align-items: center;
}

.tl {
  width: 12px;
  height: 12px;
  border-radius: 50%;
}

.tl-close { background: #ff5f57; }
.tl-min { background: #febc2e; }
.tl-max { background: #28c840; }

.settings-nav-item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  text-align: left;
  padding: 9px 12px;
  margin-bottom: 2px;
  border: none;
  border-radius: 6px;
  background: transparent;
  font-size: 0.84rem;
}

.settings-nav-icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.settings-nav-icon svg {
  width: 18px;
  height: 18px;
}

.settings-card {
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  padding: 14px 16px;
  margin-bottom: 10px;
  background: #fff;
}

.settings-card-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.settings-card-desc {
  margin: 4px 0 0;
  font-size: 0.8rem;
  color: #605e5c;
}

.settings-breadcrumb {
  font-size: 0.78rem;
  color: #605e5c;
  margin-bottom: 6px;
}

.settings-page-title {
  margin: 0 0 16px;
  font-size: 1.35rem;
  font-weight: 600;
}

.win-btn,
.mac-btn,
.rhel-btn {
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  padding: 6px 14px;
  font-size: 0.82rem;
  font-weight: 600;
  background: #f3f3f3;
  color: #1a1a1a;
}

.win-btn-primary,
.mac-btn-primary,
.rhel-btn-primary {
  background: #0067c0;
  border-color: #0067c0;
  color: #fff;
}

.rhel-btn-primary {
  background: #3584e4;
  border-color: #3584e4;
}

.mac-btn-primary {
  background: #007aff;
  border-color: #007aff;
}

/* Windows 11 desktop */
.os-windows {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.os-windows .desktop-bg {
  background-color: #c9d8e8;
  background-image: url('assets/win11-bloom-wallpaper.png?v=20260726b');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0;
}

.os-windows .desktop-icons {
  position: absolute;
  bottom: 12px;
  left: 12px;
  top: auto;
  z-index: 2;
  display: flex;
  flex-direction: column-reverse;
  flex-wrap: wrap-reverse;
  align-content: flex-start;
  gap: 4px;
  max-height: calc(100% - 24px);
  pointer-events: auto;
}

.os-windows .win-desktop-surface {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 48px;
  z-index: 1;
  overflow: hidden;
}

.os-windows .win-context-menu,
.os-windows .win-icon-context-menu {
  z-index: 36;
}

.os-windows .win-explorer-context-menu {
  z-index: 50;
}

.os-windows.win-explorer-context-open .win-explorer-dismiss-layer {
  position: absolute;
  inset: 0;
  z-index: 48;
  border: none;
  background: transparent;
  cursor: default;
  display: block;
}

.os-windows .win-desktop-open-menu-layer {
  position: absolute;
  inset: 0;
  z-index: 1;
  border: none;
  background: transparent;
  cursor: context-menu;
  display: block;
}

.os-mac .mac-desktop-open-menu-layer,
.os-linux .linux-desktop-open-menu-layer {
  position: absolute;
  inset: 0;
  z-index: 1;
  border: none;
  background: transparent;
  cursor: context-menu;
  display: block;
}

.gnome-orientation-row {
  margin-top: 12px;
}

.gnome-orientation-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.gnome-orientation-pill {
  border: 1px solid var(--gnome-border, #cdc7c2);
  border-radius: 999px;
  padding: 6px 12px;
  background: #fff;
  font-size: 12px;
}

.gnome-orientation-pill.selected {
  background: #3584e4;
  border-color: #3584e4;
  color: #fff;
}

.gnome-system-specs {
  display: grid;
  gap: 8px;
  margin: 16px 0;
}

.gnome-system-spec-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 13px;
}

.gnome-storage-bar-wrap {
  margin-bottom: 12px;
}

.gnome-storage-bar {
  height: 8px;
  border-radius: 999px;
  background: #deddda;
  overflow: hidden;
}

.gnome-storage-bar span {
  display: block;
  height: 100%;
  background: #3584e4;
}

.gnome-storage-meta {
  display: block;
  margin-top: 8px;
  font-size: 12px;
  color: #5e5c64;
}

.gnome-user-list {
  display: grid;
  gap: 8px;
  margin-bottom: 12px;
}

.gnome-user-row {
  display: flex;
  justify-content: space-between;
  padding: 10px 12px;
  border-radius: 8px;
  background: #f6f5f4;
  font-size: 13px;
}

.gnome-inline-action-btn,
.mac-settings-inline-btn {
  margin-top: 8px;
}

.gnome-network-status-btn {
  margin-top: 8px;
}

.gnome-status-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-right: 6px;
}

.gnome-status-dot.green {
  background: #33d17a;
}

.os-windows .win-desktop-layer {
  position: absolute;
  inset: 0;
  z-index: 34;
  border: none;
  background: transparent;
  display: block;
  cursor: default;
}

.os-windows.win-context-open .win-desktop-layer {
  display: block;
}

.os-windows .win-icon-large .desktop-icon-tile {
  width: 88px;
}

.os-windows .win-icon-large .desktop-icon-graphic,
.os-windows .win-icon-large .desktop-icon-graphic svg {
  width: 48px;
  height: 48px;
}

.os-windows .win-icon-small .desktop-icon-tile {
  width: 64px;
  font-size: 0.62rem;
}

.os-windows .win-icon-small .desktop-icon-graphic,
.os-windows .win-icon-small .desktop-icon-graphic svg {
  width: 32px;
  height: 32px;
}

.os-windows .win-auto-arrange.win-align-grid {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(auto-fill, minmax(78px, auto));
  align-content: end;
  column-gap: 8px;
  row-gap: 4px;
}

.os-windows .desktop-icon-tile.selected {
  background: rgba(0, 120, 212, 0.35);
  border-color: rgba(255, 255, 255, 0.35);
}

.os-windows .desktop-icon-tile.renaming {
  background: rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.45);
}

.win-desktop-rename-input {
  width: 100%;
  max-width: 72px;
  margin-top: 2px;
  padding: 1px 4px;
  border: 1px solid #0078d4;
  border-radius: 2px;
  background: #fff;
  color: #111;
  font-size: 0.62rem;
  text-align: center;
  outline: none;
  box-shadow: 0 0 0 1px rgba(0, 120, 212, 0.35);
}

.os-windows .win-icon-large .win-desktop-rename-input {
  max-width: 84px;
  font-size: 0.68rem;
}

.os-windows .win-icon-small .win-desktop-rename-input {
  max-width: 60px;
  font-size: 0.58rem;
}

.desktop-icon-label {
  display: block;
  text-align: center;
  word-break: break-word;
}

.win-context-menu {
  position: absolute;
  min-width: 220px;
  padding: 4px;
  border-radius: 8px;
  background: rgba(249, 249, 249, 0.98);
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.18);
  z-index: 36;
  color: #202020;
}

.win-context-menu-classic {
  border-radius: 0;
  background: #f2f2f2;
  border: 1px solid #adadad;
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.18);
  padding: 2px;
}

.win-ctx-item-wrap {
  position: relative;
}

.win-ctx-item {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 32px;
  padding: 0 12px;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: inherit;
  font-size: 0.82rem;
  text-align: left;
}

.win-context-menu-classic .win-ctx-item {
  min-height: 24px;
  padding: 0 28px 0 24px;
  border-radius: 0;
  font-size: 0.78rem;
}

.win-ctx-item:hover:not(.disabled),
.win-ctx-parent:hover {
  background: rgba(0, 0, 0, 0.04);
}

.win-context-menu-classic .win-ctx-item:hover:not(.disabled),
.win-context-menu-classic .win-ctx-parent:hover {
  background: #91c9f7;
}

.win-ctx-item.disabled {
  opacity: 0.45;
  pointer-events: none;
}

.win-ctx-check {
  width: 14px;
  flex-shrink: 0;
  color: #0078d4;
  font-size: 0.72rem;
}

.win-ctx-label {
  flex: 1;
}

.win-ctx-arrow {
  margin-left: auto;
  color: #666;
  font-size: 0.9rem;
}

.win-ctx-separator {
  height: 1px;
  margin: 4px 8px;
  background: rgba(0, 0, 0, 0.08);
}

.win-context-menu-classic .win-ctx-separator {
  margin: 2px 0;
  background: #d9d9d9;
}

.win-ctx-submenu {
  position: absolute;
  left: calc(100% - 4px);
  top: -4px;
  display: none;
  min-width: 200px;
  padding: 4px;
  border-radius: 8px;
  background: rgba(249, 249, 249, 0.98);
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.18);
  z-index: 37;
}

.win-context-menu-classic .win-ctx-submenu {
  border-radius: 0;
  background: #f2f2f2;
  border: 1px solid #adadad;
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.18);
  padding: 2px;
}

.win-ctx-has-submenu:hover > .win-ctx-submenu {
  display: block;
}

.win-ctx-parent {
  cursor: default;
  user-select: none;
}

.os-windows .desktop-icon-tile {
  display: grid;
  justify-items: center;
  gap: 4px;
  width: 72px;
  padding: 6px;
  border: 1px solid transparent;
  border-radius: 4px;
  background: transparent;
  color: #fff;
  font-size: 0.68rem;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
}

.os-windows .desktop-icon-tile:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.18);
}

.os-windows .desktop-icon-graphic {
  width: 40px;
  height: 40px;
}

.win-taskbar {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 48px;
  border-radius: 0;
  background: #f3f3f3;
  backdrop-filter: blur(20px) saturate(1.2);
  border: none;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  padding: 0 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 30;
}

.win-taskbar-center {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 4px;
}

.win-taskbar-search-wrap {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  width: 240px;
  height: 32px;
  padding: 0 12px;
  margin: 0 4px;
  border-radius: 999px;
  background: #fefefe;
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.8);
  flex-shrink: 0;
}

.win-taskbar-search-wrap svg {
  width: 14px;
  height: 14px;
  opacity: 0.55;
  color: #444;
  flex-shrink: 0;
}

.win-taskbar-search {
  flex: 1;
  border: none;
  background: transparent;
  color: #444;
  font-size: 0.78rem;
  outline: none;
  min-width: 0;
}

.win-taskbar-search::placeholder {
  color: #666;
}

.win-taskbar-search-wrap .search-results-panel {
  left: 0;
  right: 0;
  bottom: calc(100% + 8px);
  top: auto;
}

.win-start {
  width: 40px;
  height: 40px;
  border-radius: 4px;
  display: grid;
  place-items: center;
  border: none;
  background: transparent;
  padding: 0;
}

.win-start:hover,
.win-taskbar-app:hover {
  background: rgba(0, 0, 0, 0.04);
}

.win-taskbar-app-wrap {
  position: relative;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
}

.win-taskbar-app {
  width: 40px;
  height: 40px;
  border-radius: 4px;
  padding: 4px;
  border: none;
  background: transparent;
  display: grid;
  place-items: center;
}

.win-taskbar-app .icon-app,
.win-taskbar-app .icon-win-start,
.win-taskbar-app .desktop-icon-graphic,
.win-taskbar-app .os-svg {
  width: 24px;
  height: 24px;
}

.win-taskbar-app-wrap.active {
  background: rgba(196, 43, 28, 0.12);
  border-radius: 4px;
}

.win-taskbar-app-wrap.running:not(.active) {
  background: transparent;
}

.win-taskbar-indicator {
  position: absolute;
  bottom: 2px;
  left: 50%;
  transform: translateX(-50%);
  width: 14px;
  height: 3px;
  border-radius: 2px;
  background: #0078d4;
}

.win-taskbar-app-wrap.active .win-taskbar-indicator {
  width: 18px;
  background: #c42b1c;
}

.win-tray {
  position: absolute;
  right: 8px;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}

.win-tray-chevron {
  font-size: 0.62rem;
  color: #333;
  line-height: 1;
  padding: 0 2px;
}

.win-tray-lang {
  font-size: 0.72rem;
  color: #222;
  white-space: nowrap;
}

.win-tray-icon {
  min-width: 28px;
  height: 28px;
  border: none;
  background: transparent;
  border-radius: 4px;
  display: grid;
  place-items: center;
  color: #222;
  padding: 0;
}

.win-tray-icon svg {
  width: 16px;
  height: 16px;
}

.win-tray-icon:hover {
  background: rgba(0, 0, 0, 0.04);
}

.win-tray-clock {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  min-width: 72px;
  padding: 0 4px;
  line-height: 1.15;
  border: none;
  background: transparent;
  cursor: pointer;
  color: inherit;
  font: inherit;
}

.win-tray-clock:hover {
  background: rgba(0, 0, 0, 0.05);
  border-radius: 4px;
}

.win-clock-time {
  color: #222;
  font-size: 0.72rem;
}

.win-clock-date {
  color: #222;
  font-size: 0.68rem;
}

.win-clock {
  color: #222;
  font-size: 0.72rem;
  padding: 0 6px;
}

.win-taskbar .win-icon,
.win-taskbar .win-clock {
  color: #222;
}

.win-taskbar .win-icon:hover,
.win-taskbar .win-pinned-app:hover,
.win-taskbar .win-pinned-app.active {
  background: rgba(0, 0, 0, 0.04);
}

.win-icon-static {
  pointer-events: none;
}

.win-start {
  width: 40px;
  height: 40px;
  border-radius: 6px;
  display: grid;
  place-items: center;
  border: none;
  background: transparent;
}

.win-start:hover {
  background: rgba(0, 0, 0, 0.04);
}

.win-search-box {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 220px;
  height: 34px;
  padding: 0 12px;
  border-radius: 17px;
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(0, 0, 0, 0.06);
  color: #444;
  font-size: 0.78rem;
}

.win-search-box svg {
  width: 14px;
  height: 14px;
  opacity: 0.7;
}

.win-taskbar-icons,
.win-tray {
  display: flex;
  align-items: center;
  gap: 2px;
}

.win-icon {
  min-width: 34px;
  height: 34px;
  border-radius: 6px;
  display: grid;
  place-items: center;
  color: #1a1a1a;
  font-size: 0.72rem;
  background: transparent;
  border: none;
}

.win-icon svg {
  width: 16px;
  height: 16px;
}

.win-icon:hover {
  background: rgba(0, 0, 0, 0.05);
}

.win-pinned-app {
  width: 36px;
  height: 36px;
  border-radius: 6px;
  padding: 4px;
  border: none;
  background: transparent;
}

.win-pinned-app:hover,
.win-pinned-app.active {
  background: rgba(0, 0, 0, 0.06);
}

.win-pinned-app .icon-app {
  width: 28px;
  height: 28px;
}

.win-start-menu {
  position: absolute;
  left: 50%;
  bottom: 52px;
  transform: translateX(-50%);
  width: min(520px, 90%);
  height: min(640px, 78%);
  border-radius: 8px;
  background: rgba(32, 32, 32, 0.92);
  backdrop-filter: blur(40px) saturate(1.4);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45);
  z-index: 35;
  padding: 0;
  color: #f3f3f3;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.win-start-search-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 24px 28px 12px;
}

.win-start-search-wrap svg {
  width: 16px;
  height: 16px;
  opacity: 0.7;
  flex-shrink: 0;
}

.win-start-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 28px 8px;
  font-size: 0.82rem;
  color: #ccc;
}

.win-start-back {
  border: none;
  background: transparent;
  color: #ccc;
  font-size: 0.78rem;
}

.win-start-list {
  flex: 1;
  overflow: auto;
  padding: 0 16px;
}

.win-start-group-label {
  padding: 8px 12px 4px;
  font-size: 0.72rem;
  color: #999;
}

.win-start-row {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 8px 12px;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: #f3f3f3;
  text-align: left;
  font-size: 0.82rem;
}

.win-start-row:hover {
  background: rgba(255, 255, 255, 0.06);
}

.win-start-row-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.win-start-row-icon svg {
  width: 24px;
  height: 24px;
}

.search-results-panel {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  max-height: 280px;
  overflow: auto;
  background: rgba(32, 32, 32, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
  z-index: 40;
  padding: 4px;
}

.search-result-row {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 8px 10px;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: #f3f3f3;
  text-align: left;
  font-size: 0.8rem;
}

.search-result-row:hover {
  background: rgba(255, 255, 255, 0.08);
}

.search-result-icon {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
}

.search-result-icon svg {
  width: 28px;
  height: 28px;
}

.search-empty {
  padding: 16px;
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.82rem;
  text-align: center;
}

.win-start-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(0, 0, 0, 0.2);
}

.win-start-footer-icons {
  display: flex;
  gap: 4px;
}

.win-footer-icon {
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: #f3f3f3;
  display: grid;
  place-items: center;
}

.win-footer-icon svg {
  width: 16px;
  height: 16px;
}

.win-power-menu {
  position: absolute;
  bottom: 52px;
  right: 16px;
  background: rgba(32, 32, 32, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  padding: 4px;
}

.win-start-search {
  width: 100%;
  padding: 8px 0;
  border: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 0;
  background: transparent;
  color: #fff;
  margin-bottom: 0;
  font-size: 0.86rem;
}

.win-settings {
  width: min(960px, 96%);
  height: min(620px, 86%);
  background: #fff;
  color: #1a1a1a;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #e5e5e5;
}

.win-settings .window-titlebar {
  display: flex;
  background: #fff;
  border-bottom: 1px solid #ebebeb;
}

.win-settings-layout {
  display: grid;
  grid-template-columns: 260px 1fr;
  height: calc(100% - 32px);
}

.win-settings-nav {
  background: #f9f9f9;
  border-right: 1px solid #ebebeb;
  padding: 16px 10px 12px;
  overflow: auto;
}

.win-settings-profile {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 4px 10px 14px;
  margin-bottom: 4px;
}

.win-settings-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, #e74856, #ff8a80);
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 0.82rem;
  font-weight: 700;
  flex-shrink: 0;
}

.win-settings-profile-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

.win-settings-profile-text strong {
  font-size: 0.84rem;
  font-weight: 600;
}

.win-settings-email {
  font-size: 0.72rem;
  color: #605e5c;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.win-settings-search-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 6px 12px;
  padding: 7px 10px;
  border: 1px solid #e0e0e0;
  border-bottom: 2px solid #0067c0;
  border-radius: 4px;
  background: #fff;
}

.win-settings-search-wrap svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  opacity: 0.6;
}

.win-settings-search {
  width: 100%;
  border: none;
  background: transparent;
  font-size: 0.82rem;
  color: #1a1a1a;
  outline: none;
}

.win-settings-nav .settings-nav-item {
  color: #1a1a1a;
  border-left: 3px solid transparent;
  border-radius: 4px;
  padding-left: 9px;
}

.win-settings-nav .settings-nav-item.active,
.win-settings-nav .settings-nav-item:hover {
  background: rgba(0, 0, 0, 0.04);
}

.win-settings-nav .settings-nav-item.active {
  background: #e5f1fb;
  border-left-color: #0067c0;
}

.win-settings-content {
  padding: 28px 36px 32px;
  overflow: auto;
  background: #fff;
}

.win-settings-content .settings-page-title {
  font-size: 1.65rem;
  font-weight: 600;
  margin-bottom: 20px;
}

.win-settings-device-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  margin-bottom: 16px;
  border: 1px solid #ebebeb;
  border-radius: 8px;
  background: #fafafa;
}

.win-settings-device-main {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.win-settings-device-icon svg {
  width: 40px;
  height: 40px;
}

.win-settings-device-name strong {
  display: block;
  font-size: 0.9rem;
}

.win-settings-rename-link {
  border: none;
  background: transparent;
  color: #0067c0;
  font-size: 0.78rem;
  padding: 0;
  cursor: pointer;
}

.win-settings-device-links {
  display: flex;
  gap: 20px;
  flex-shrink: 0;
}

.win-settings-device-link {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 0.72rem;
  color: #605e5c;
}

.win-settings-device-link strong {
  font-size: 0.78rem;
  color: #1a1a1a;
}

.win-settings-rows {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.win-settings-row {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #ebebeb;
  border-radius: 8px;
  background: #fff;
  text-align: left;
  cursor: pointer;
}

.win-settings-row:hover {
  background: #f5f5f5;
}

.win-settings-row-icon svg {
  width: 24px;
  height: 24px;
}

.win-settings-row-text {
  flex: 1;
  min-width: 0;
}

.win-settings-row-text strong {
  display: block;
  font-size: 0.86rem;
  font-weight: 600;
  margin-bottom: 2px;
}

.win-settings-row-chevron {
  color: #605e5c;
  font-size: 1.1rem;
  flex-shrink: 0;
}

.win-settings-content .settings-card {
  background: #fff;
  border-color: #ebebeb;
}

.win-settings-content .settings-card-desc {
  color: #605e5c;
}

.win-settings-content .settings-breadcrumb {
  color: #605e5c;
}

/* Windows Update (Settings) */
.win-update-status-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 8px 0 20px;
  border-bottom: 1px solid #ebebeb;
  margin-bottom: 16px;
}

.win-update-status-main {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
}

.win-update-status-icon {
  position: relative;
  flex-shrink: 0;
  color: #0078d4;
}

.win-update-status-badge {
  position: absolute;
  right: -2px;
  bottom: -2px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #0f7b0f;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #fff;
}

.win-update-status-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.win-update-status-title {
  font-size: 1.1rem;
  font-weight: 600;
}

.win-update-status-review {
  display: flex;
  flex-direction: column;
  gap: 4px;
  border: none;
  background: transparent;
  padding: 0;
  text-align: left;
  font: inherit;
  color: inherit;
  cursor: pointer;
}

.win-update-status-review:hover .win-update-status-title {
  color: #0067c0;
}

.win-update-check-btn {
  flex-shrink: 0;
  white-space: nowrap;
}

.win-update-banner {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  margin-bottom: 16px;
  border: 1px solid #ebebeb;
  border-radius: 4px;
  background: #fafafa;
}

.win-update-banner-ico {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #0078d4;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  flex-shrink: 0;
}

.win-update-banner-text {
  flex: 1;
  font-size: 0.84rem;
  color: #1a1a1a;
  min-width: 0;
}

.win-update-banner-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.win-update-banner-link {
  border: none;
  background: transparent;
  color: #0067c0;
  font: inherit;
  font-size: 0.84rem;
  cursor: pointer;
  white-space: nowrap;
}

.win-update-banner-link:hover {
  text-decoration: underline;
}

.win-update-banner-dismiss {
  width: 28px;
  height: 28px;
  border: none;
  background: transparent;
  color: #605e5c;
  cursor: pointer;
  border-radius: 4px;
  font-size: 12px;
}

.win-update-banner-dismiss:hover {
  background: #f0f0f0;
}

.win-update-schedule-card {
  margin-bottom: 16px;
}

.win-update-schedule-title {
  margin: 0 0 6px;
  font-size: 0.95rem;
  font-weight: 600;
}

.win-update-installed-note {
  margin: 0 0 16px;
}

.win-update-section-title {
  margin: 0 0 10px;
  font-size: 0.92rem;
  font-weight: 600;
}

.win-update-options,
.win-update-support {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 20px;
}

.win-update-option-row {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 14px 16px;
  border: 1px solid #ebebeb;
  border-radius: 4px;
  background: #fff;
  text-align: left;
  font: inherit;
  color: inherit;
  cursor: pointer;
}

.win-update-option-row:hover {
  background: #fafafa;
}

.win-update-option-static {
  cursor: default;
}

.win-update-option-static:hover {
  background: #fff;
}

.win-update-option-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  flex-shrink: 0;
  color: #0078d4;
}

.win-update-option-text {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.win-update-option-text strong {
  font-size: 0.86rem;
  font-weight: 600;
}

.win-update-toggle-btn {
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
  flex-shrink: 0;
}

.win-update-inline-link {
  border: none;
  background: transparent;
  color: #0067c0;
  font: inherit;
  font-size: inherit;
  cursor: pointer;
  padding: 0;
}

.win-update-inline-link:hover {
  text-decoration: underline;
}

.win-update-sustainability {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 20px;
  font-size: 0.82rem;
  color: #605e5c;
}

.win-update-sustainability-icon {
  font-size: 1rem;
}

.win-update-support-body {
  padding: 0 16px 12px 52px;
}

.win-icon {
  color: #fff;
}

.win-quick-settings {
  background: rgba(32, 32, 32, 0.94);
  color: #f3f3f3;
  border-color: rgba(255, 255, 255, 0.1);
}

.win-quick-settings-vpn {
  right: 12px;
}

.win-quick-tile span {
  display: block;
  font-size: 0.68rem;
  color: #999;
}

.win-start-menu.hidden {
  display: none;
}

.win-start-search {
  width: 100%;
  padding: 10px 14px;
  border-radius: 20px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  background: #fff;
  color: #444;
  margin-bottom: 22px;
  font-size: 0.84rem;
}

.win-start-section {
  margin-bottom: 16px;
}

.win-start-section h4 {
  margin: 0 0 10px;
  font-size: 0.78rem;
  color: #605e5c;
}

.win-pinned {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 6px;
}

.win-app-tile {
  display: grid;
  justify-items: center;
  gap: 6px;
  padding: 8px 4px;
  border-radius: 6px;
  color: #1a1a1a;
  font-size: 0.68rem;
  text-align: center;
  border: none;
  background: transparent;
}

.win-app-tile:hover {
  background: rgba(0, 0, 0, 0.05);
}

.win-app-icon {
  width: 32px;
  height: 32px;
}

.win-start-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.win-user-tile {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.78rem;
}

.win-user-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, #0078d4, #50e6ff);
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
}


.win-quick-settings {
  position: absolute;
  right: 12px;
  bottom: 62px;
  width: 320px;
  padding: 14px;
  border-radius: 8px;
  background: rgba(243, 243, 243, 0.94);
  backdrop-filter: blur(24px);
  border: 1px solid rgba(255, 255, 255, 0.55);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
  z-index: 40;
  color: #1a1a1a;
}

.win-quick-settings.hidden {
  display: none;
}

.win-quick-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
  margin-bottom: 10px;
}

.win-quick-tile {
  padding: 10px;
  border-radius: 6px;
  border: 1px solid rgba(0, 0, 0, 0.06);
  background: rgba(255, 255, 255, 0.7);
  font-size: 0.78rem;
  text-align: left;
}

.win-terminal {
  width: min(720px, 92%);
  height: min(440px, 72%);
  background: #0c0c0c;
  border-radius: 8px;
}

.win-terminal .window-titlebar {
  background: #1f1f1f;
  color: #ccc;
  border-bottom: 1px solid #333;
}

.win-terminal .window-body {
  font-family: "Cascadia Mono", Consolas, monospace;
  color: #cccccc;
  height: calc(100% - 32px);
  overflow: auto;
  font-size: 0.82rem;
}

.win-terminal .term-action {
  color: #4fc1ff;
  background: transparent;
  border: 1px dashed #444;
  border-radius: 4px;
  padding: 2px 8px;
  margin-left: 6px;
  font-family: inherit;
  font-size: 0.8rem;
}

.win-control-panel {
  width: min(980px, 96%);
  height: min(640px, 86%);
  background: #fff;
  color: #1a1a1a;
  border-radius: 0;
  border: 1px solid #ababab;
  display: flex;
  flex-direction: column;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.28);
}

.win-control-panel .win-window-titlebar {
  background: #fff;
  color: #1a1a1a;
  border-bottom: 1px solid #e5e5e5;
  height: 30px;
  min-height: 30px;
  font-size: 0.72rem;
}

.win-cp-title-icon {
  display: inline-flex;
  margin-right: 6px;
  vertical-align: middle;
}

.win-cp-title-icon svg {
  width: 14px;
  height: 14px;
}

.win-cp-toolbar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-bottom: 1px solid #d6d6d6;
  background: #fff;
}

.win-cp-nav-btns {
  display: flex;
  gap: 2px;
}

.win-cp-nav-btn {
  min-width: 28px;
  height: 26px;
  border: 1px solid #ccc;
  border-radius: 2px;
  background: #fff;
  color: #333;
  font-size: 0.85rem;
}

.win-cp-nav-btn.disabled {
  opacity: 0.45;
  pointer-events: none;
}

.win-cp-address-wrap {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 1;
  min-width: 0;
  height: 26px;
  padding: 0 8px;
  border: 1px solid #ccc;
  border-radius: 2px;
  background: #fff;
}

.win-cp-address-icon svg {
  width: 14px;
  height: 14px;
}

.win-cp-address-path {
  font-size: 0.78rem;
  color: #333;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.win-cp-search {
  width: min(220px, 28%);
}

.win-cp-search-input {
  width: 100%;
  height: 26px;
  padding: 0 8px;
  border: 1px solid #ccc;
  border-radius: 2px;
  font-size: 0.78rem;
  background: #fff;
}

.win-cp-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 18px 10px;
  border-bottom: 1px solid #e8e8e8;
}

.win-cp-heading {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 400;
  color: #1a1a1a;
}

.win-cp-viewby {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.82rem;
  color: #333;
  white-space: nowrap;
}

.win-cp-viewby-btn {
  border: 1px solid #ccc;
  border-radius: 2px;
  background: #fff;
  padding: 4px 10px;
  font-size: 0.82rem;
  color: #333;
}

.win-cp-content {
  flex: 1;
  overflow: auto;
  padding: 8px 18px 20px;
  background: #fff;
}

.win-cp-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 32px;
}

.win-cp-category {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 14px 8px;
  min-height: 96px;
}

.win-cp-icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
}

.win-cp-icon svg {
  display: block;
  width: 48px;
  height: 48px;
}

.win-cp-category-body {
  min-width: 0;
}

.win-cp-category-title {
  display: inline;
  border: none;
  background: transparent;
  padding: 0;
  margin: 0 0 6px;
  font-size: 0.95rem;
  font-weight: 600;
  color: #007272;
  text-align: left;
  cursor: pointer;
}

.win-cp-category-title:hover {
  text-decoration: underline;
}

.win-cp-link-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.win-cp-link-list li + li {
  margin-top: 2px;
}

.win-cp-link {
  border: none;
  background: transparent;
  padding: 0;
  font-size: 0.82rem;
  color: #0066cc;
  text-align: left;
  cursor: pointer;
}

.win-cp-link:hover {
  text-decoration: underline;
}

.win-explorer {
  width: min(920px, 96%);
  height: min(580px, 82%);
  background: #fff;
  color: #1a1a1a;
  border-radius: 0;
  border: 1px solid #ababab;
  display: flex;
  flex-direction: column;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.28);
}

.win-explorer .win-window-titlebar {
  background: #fff;
  color: #1a1a1a;
  border-bottom: 1px solid #e5e5e5;
  height: 30px;
  min-height: 30px;
  font-size: 0.72rem;
}

.win-explorer-title-icon {
  display: inline-flex;
  margin-right: 6px;
  vertical-align: middle;
}

.win-explorer-title-icon svg {
  width: 14px;
  height: 14px;
}

.win-explorer-ribbon {
  background: #fff;
  border-bottom: 1px solid #d6d6d6;
  flex-shrink: 0;
}

.win-explorer-tabs {
  display: flex;
  gap: 0;
  padding: 0 8px;
  border-bottom: 1px solid #d6d6d6;
}

.win-explorer-tab {
  padding: 6px 14px 5px;
  font-size: 0.72rem;
  color: #333;
  border-bottom: 2px solid transparent;
}

.win-explorer-tab.active {
  border-bottom-color: #0078d4;
  color: #0078d4;
}

.win-explorer-ribbon-body {
  display: flex;
  gap: 16px;
  padding: 8px 12px 10px;
  overflow-x: auto;
}

.win-explorer-ribbon-group {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-right: 16px;
  border-right: 1px solid #e8e8e8;
}

.win-explorer-ribbon-group:last-child {
  border-right: none;
}

.win-explorer-ribbon-group-label {
  font-size: 0.62rem;
  color: #666;
  text-align: center;
}

.win-explorer-ribbon-actions {
  display: flex;
  gap: 4px;
}

.win-explorer-ribbon-btn {
  padding: 4px 8px;
  border: 1px solid transparent;
  border-radius: 2px;
  background: transparent;
  color: #333;
  font-size: 0.68rem;
  white-space: nowrap;
}

.win-explorer-toolbar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  background: #fafafa;
  border-bottom: 1px solid #d6d6d6;
  flex-shrink: 0;
}

.win-explorer-nav-btns {
  display: flex;
  gap: 2px;
}

.win-explorer-nav-btn {
  width: 28px;
  height: 26px;
  padding: 0;
  border: 1px solid #ccc;
  border-radius: 2px;
  background: #fff;
  color: #333;
  font-size: 0.85rem;
}

.win-explorer-nav-btn.disabled {
  opacity: 0.45;
  pointer-events: none;
}

.win-explorer-address-wrap {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  height: 26px;
  padding: 0 8px;
  border: 1px solid #ccc;
  border-radius: 2px;
  background: #fff;
  font-size: 0.75rem;
}

.win-explorer-address-icon {
  display: inline-flex;
  flex-shrink: 0;
}

.win-explorer-address-icon svg {
  width: 14px;
  height: 14px;
}

.win-explorer-address-path {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.win-explorer-search {
  width: 180px;
  flex-shrink: 0;
}

.win-explorer-search-input {
  width: 100%;
  height: 26px;
  padding: 0 8px;
  border: 1px solid #ccc;
  border-radius: 2px;
  font-size: 0.72rem;
  background: #fff;
}

.win-explorer-layout {
  display: grid;
  grid-template-columns: 220px 1fr;
  flex: 1;
  min-height: 0;
}

.win-explorer-sidebar {
  background: #fbfbfb;
  border-right: 1px solid #d6d6d6;
  padding: 6px 0;
  overflow: auto;
  min-height: 0;
}

.win-explorer-sidebar-node {
  display: flex;
  align-items: center;
  gap: 4px;
  width: 100%;
  text-align: left;
  padding: 4px 8px 4px 8px;
  border: none;
  border-radius: 0;
  background: transparent;
  color: #1a1a1a;
  font-size: 0.76rem;
  line-height: 1.3;
}

.win-explorer-sidebar-node:hover {
  background: rgba(0, 0, 0, 0.04);
}

.win-explorer-sidebar-node.active {
  background: rgba(0, 120, 212, 0.14);
  color: #005a9e;
}

.win-explorer-sidebar-node.muted {
  color: #555;
}

.win-explorer-sidebar-chevron {
  display: inline-block;
  width: 12px;
  flex-shrink: 0;
  font-size: 0.65rem;
  color: #666;
  text-align: center;
}

.win-explorer-sidebar-icon {
  display: inline-flex;
  flex-shrink: 0;
}

.win-explorer-sidebar-icon svg {
  width: 16px;
  height: 16px;
}

.win-explorer-sidebar-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.win-explorer-main {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
  min-height: 0;
  background: #fff;
}

.win-explorer-content {
  flex: 1;
  overflow: auto;
  padding: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.win-explorer-folder-view {
  position: relative;
  flex: 1;
  min-height: 240px;
}

.win-explorer-pane-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.win-explorer-section {
  margin-bottom: 24px;
}

.win-explorer-section-title {
  font-size: 0.78rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 12px;
}

.win-explorer-tile-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
}

.win-explorer-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  width: 88px;
  padding: 8px 6px;
  border: 1px solid transparent;
  border-radius: 2px;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: center;
}

.win-explorer-tile:hover {
  background: rgba(0, 120, 212, 0.08);
  border-color: rgba(0, 120, 212, 0.25);
}

.win-explorer-tile-icon svg {
  width: 48px;
  height: 48px;
}

.win-explorer-tile-label {
  font-size: 0.72rem;
  line-height: 1.2;
  word-break: break-word;
}

.win-explorer-drive-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.win-explorer-drive-tile {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  width: min(360px, 100%);
  padding: 10px 12px;
  border: 1px solid transparent;
  border-radius: 2px;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
}

.win-explorer-drive-tile:hover {
  background: rgba(0, 120, 212, 0.08);
  border-color: rgba(0, 120, 212, 0.25);
}

.win-explorer-drive-icon svg {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
}

.win-explorer-drive-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  flex: 1;
}

.win-explorer-drive-name {
  font-size: 0.78rem;
  font-weight: 600;
}

.win-explorer-drive-bar {
  display: block;
  width: 100%;
  height: 8px;
  background: #e8e8e8;
  border-radius: 1px;
  overflow: hidden;
}

.win-explorer-drive-bar-fill {
  display: block;
  height: 100%;
  background: #0078d4;
  border-radius: 1px;
}

.win-explorer-drive-bar-fill.low {
  background: #e81123;
  width: 93%;
}

.win-explorer-drive-space {
  font-size: 0.68rem;
  color: #666;
}

.win-explorer-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.78rem;
  overflow: auto;
  display: block;
  max-height: 100%;
  position: relative;
  z-index: 1;
}

.win-explorer-table thead,
.win-explorer-table tbody {
  display: table;
  width: 100%;
  table-layout: fixed;
}

.win-explorer-table th,
.win-explorer-table td {
  padding: 8px 12px;
  text-align: left;
  border-bottom: 1px solid #efefef;
}

.win-explorer-table th {
  background: #fff;
  color: #666;
  font-weight: 600;
  position: sticky;
  top: 0;
}

.win-explorer-table tbody tr:hover {
  background: rgba(0, 120, 212, 0.08);
}

.win-explorer-row.selected {
  background: rgba(0, 120, 212, 0.16);
}

.win-explorer-row.renaming {
  background: rgba(0, 120, 212, 0.12);
}

.win-explorer-rename-input {
  width: min(100%, 260px);
  font: inherit;
  font-size: 0.78rem;
  padding: 2px 4px;
  border: 1px solid #0078d4;
  border-radius: 2px;
  outline: none;
  box-shadow: 0 0 0 1px rgba(0, 120, 215, 0.35);
}

.win-explorer-name {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  text-align: left;
  padding: 0;
  border: none;
  background: transparent;
  color: inherit;
  font: inherit;
}

.win-explorer-row-icon svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.win-explorer-empty {
  color: #666;
  font-style: italic;
}

.win-explorer-empty-row td {
  height: 280px;
  vertical-align: top;
  padding-top: 12px;
  padding-left: 12px;
}

/* Win11 File Explorer command bar + more menu */
.win-explorer-command-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 6px 10px;
  border-bottom: 1px solid #e5e5e5;
  background: #fafafa;
}

.win-explorer-cmd-group,
.win-explorer-cmd-right {
  display: flex;
  align-items: center;
  gap: 4px;
}

.win-explorer-cmd-btn {
  border: 1px solid transparent;
  background: transparent;
  color: #1a1a1a;
  font: inherit;
  font-size: 0.78rem;
  padding: 4px 8px;
  border-radius: 4px;
  cursor: default;
}

.win-explorer-cmd-btn:not(.disabled):not(:disabled) {
  cursor: pointer;
}

.win-explorer-cmd-btn:not(.disabled):not(:disabled):hover {
  background: rgba(0, 0, 0, 0.04);
  border-color: rgba(0, 0, 0, 0.06);
}

.win-explorer-cmd-btn.disabled,
.win-explorer-cmd-btn:disabled {
  opacity: 0.45;
}

.win-explorer-cmd-btn.win-explorer-more-btn {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 1px;
  min-width: 32px;
}

.win-explorer-cmd-btn.win-explorer-more-btn.active {
  background: rgba(0, 120, 212, 0.12);
  border-color: rgba(0, 120, 212, 0.35);
}

.win-explorer-cmd-sep {
  width: 1px;
  height: 20px;
  background: #ddd;
  margin: 0 4px;
}

.win-explorer-more-wrap {
  position: relative;
}

.win-explorer-more-menu {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  min-width: 240px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 6px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14);
  padding: 4px 0;
  z-index: 60;
}

.win-explorer-more-item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 8px 14px;
  border: none;
  background: transparent;
  color: #1a1a1a;
  font: inherit;
  font-size: 0.82rem;
  text-align: left;
  cursor: pointer;
}

.win-explorer-more-item:hover {
  background: rgba(0, 120, 212, 0.08);
}

.win-explorer-more-icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  background: #0078d4;
  border-radius: 3px;
  opacity: 0.85;
}

.win-explorer-more-icon.icon-map-drive {
  background: linear-gradient(135deg, #0078d4 50%, #107c10 50%);
}

.win-explorer-more-icon.icon-disconnect-drive {
  background: linear-gradient(135deg, #0078d4 50%, #e81123 50%);
}

.win-explorer-more-sep {
  height: 1px;
  background: #e8e8e8;
  margin: 4px 0;
}

.win-explorer-more-dismiss {
  position: fixed;
  inset: 0;
  z-index: 55;
  border: none;
  background: transparent;
  cursor: default;
}

.win-explorer-more-backdrop {
  position: absolute;
  inset: 0;
  z-index: 74;
  border: none;
  background: transparent;
  cursor: default;
}

.win-explorer-more-popup {
  position: absolute;
  top: 108px;
  right: 48px;
  min-width: 260px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 6px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14);
  padding: 4px 0;
  z-index: 78;
}

/* Map Network Drive dialog */
.win-map-drive-overlay {
  z-index: 90;
}

.win-classic-overlay.win-map-drive-overlay {
  z-index: 90;
}

.win-map-drive-dialog {
  width: min(560px, calc(100vw - 32px));
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 8px;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.18);
  overflow: hidden;
}

.win-map-drive-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-bottom: 1px solid #eee;
  font-size: 0.82rem;
  color: #333;
}

.win-map-drive-back {
  color: #666;
  font-size: 1rem;
}

.win-map-drive-body {
  padding: 20px 24px 12px;
}

.win-map-drive-heading {
  margin: 0 0 8px;
  font-size: 1.35rem;
  font-weight: 600;
  color: #0078d4;
}

.win-map-drive-desc {
  margin: 0 0 18px;
  color: #333;
  font-size: 0.88rem;
}

.win-map-drive-field {
  display: grid;
  grid-template-columns: 72px 1fr;
  align-items: center;
  gap: 8px 12px;
  margin-bottom: 12px;
}

.win-map-drive-folder-field {
  align-items: start;
}

.win-map-drive-label {
  font-size: 0.88rem;
  color: #333;
}

.win-map-drive-select {
  justify-self: start;
  min-width: 72px;
  padding: 4px 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background: #fff;
  font: inherit;
  font-size: 0.88rem;
  cursor: pointer;
}

.win-map-drive-folder-row {
  display: flex;
  gap: 8px;
  align-items: center;
}

.win-map-drive-input {
  flex: 1;
  min-width: 0;
  padding: 6px 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font: inherit;
  font-size: 0.88rem;
}

.win-map-drive-input:focus {
  outline: none;
  border-color: #0078d4;
  box-shadow: 0 0 0 1px rgba(0, 120, 212, 0.35);
}

.win-map-drive-browse-btn {
  flex-shrink: 0;
  padding: 6px 14px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background: #f5f5f5;
  font: inherit;
  font-size: 0.84rem;
  cursor: pointer;
}

.win-map-drive-browse-btn:hover {
  background: #ebebeb;
}

.win-map-drive-example {
  grid-column: 2;
  margin: 4px 0 0;
  font-size: 0.78rem;
  color: #666;
}

.win-map-drive-checks {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 16px 0;
}

.win-map-drive-check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: none;
  background: transparent;
  padding: 0;
  font: inherit;
  font-size: 0.88rem;
  color: #333;
  cursor: pointer;
  text-align: left;
}

.win-map-drive-link {
  display: block;
  border: none;
  background: transparent;
  padding: 0;
  font: inherit;
  font-size: 0.84rem;
  color: #0078d4;
  text-decoration: underline;
  cursor: pointer;
  text-align: left;
}

.win-map-drive-footer {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 12px 16px 16px;
}

.win-map-drive-btn {
  padding: 6px 20px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background: #f5f5f5;
  font: inherit;
  font-size: 0.88rem;
  cursor: pointer;
}

.win-map-drive-btn-primary {
  background: #0078d4;
  border-color: #0078d4;
  color: #fff;
}

.win-map-drive-btn-primary.disabled,
.win-map-drive-btn-primary:disabled {
  opacity: 0.45;
  cursor: default;
}

.win-disconnect-drive-list {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
}

.win-disconnect-drive-item {
  display: block;
  width: 100%;
  padding: 8px 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: #fafafa;
  font: inherit;
  text-align: left;
  cursor: pointer;
  margin-bottom: 6px;
}

.win-disconnect-drive-item:hover {
  background: rgba(0, 120, 212, 0.08);
  border-color: #0078d4;
}

.win-explorer-net-drive-tile .win-explorer-drive-bar-fill {
  background: #107c10;
}

.win-map-drive-browse-list {
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
}

.win-map-drive-browse-item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: #fff;
  font: inherit;
  text-align: left;
  cursor: pointer;
  margin-bottom: 8px;
}

.win-map-drive-browse-item:hover {
  background: rgba(0, 120, 212, 0.08);
  border-color: #0078d4;
}

.win-map-drive-browse-icon svg {
  width: 28px;
  height: 28px;
}

.win-map-drive-browse-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.win-map-drive-browse-meta strong {
  font-size: 0.88rem;
}

.win-map-drive-browse-meta span {
  font-size: 0.78rem;
  color: #666;
}

.os-windows .overlay-window {
  z-index: 40;
}

.os-windows .win-quick-settings {
  z-index: 45;
}

.os-mac {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

/* macOS Tahoe desktop */
.os-mac .desktop-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-image: url('assets/macos-tahoe-wallpaper.png?v=20260726b');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.os-mac .mac-desktop-surface {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
}

.mac-desktop-hd-icon {
  margin-top: 4px;
}

.mac-hd-icon .mac-desktop-icon-graphic svg {
  width: 64px;
  height: 64px;
}

.mac-finder-main-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 12px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  background: rgba(255, 255, 255, 0.92);
}

.mac-finder-toolbar-left,
.mac-finder-toolbar-right {
  display: flex;
  align-items: center;
  gap: 8px;
}

.mac-finder-toolbar-title {
  font-size: 13px;
  font-weight: 600;
  color: #1d1d1f;
  margin-left: 4px;
}

.mac-finder-view-btn {
  border: none;
  background: transparent;
  color: #636366;
  font-size: 12px;
  padding: 4px 8px;
  border-radius: 6px;
  cursor: pointer;
}

.mac-finder-view-btn.active,
.mac-finder-view-btn:hover {
  background: rgba(0, 0, 0, 0.06);
  color: #1d1d1f;
}

.mac-finder-search {
  width: 140px;
  padding: 5px 10px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 8px;
  font-size: 12px;
  background: rgba(255, 255, 255, 0.9);
}

.mac-finder-app-icon svg {
  width: 48px;
  height: 48px;
}

.mac-finder-hd-row .mac-finder-app-icon svg {
  width: 56px;
  height: 56px;
}

.mac-desktop-icons {
  position: absolute;
  top: 40px;
  right: 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-end;
  pointer-events: auto;
  z-index: 2;
}

.mac-desktop-icons.mac-use-stacks {
  top: auto;
  bottom: 88px;
  right: 18px;
}

.mac-desktop-icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  width: 84px;
  padding: 6px 4px;
  border: none;
  background: transparent;
  border-radius: 6px;
  cursor: default;
  color: #fff;
  text-align: center;
}

.mac-desktop-icon.selected,
.mac-desktop-icon:hover {
  background: rgba(0, 122, 255, 0.32);
}

.mac-desktop-icon-graphic {
  display: block;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.35));
}

.mac-desktop-icon-graphic svg {
  width: 56px;
  height: 56px;
  display: block;
}

.mac-desktop-icon-label {
  font-size: 0.72rem;
  line-height: 1.25;
  max-width: 80px;
  word-break: break-word;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.85);
}

.mac-desktop-rename-input {
  width: 76px;
  padding: 2px 4px;
  border-radius: 4px;
  border: 1px solid #007aff;
  background: rgba(255, 255, 255, 0.95);
  color: #1d1d1f;
  font-size: 0.72rem;
  text-align: center;
}

.mac-context-menu {
  position: absolute;
  min-width: 224px;
  padding: 5px 0;
  border-radius: 8px;
  background: rgba(252, 252, 252, 0.94);
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  border: 1px solid rgba(0, 0, 0, 0.12);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.18);
  z-index: 50;
  color: #1d1d1f;
}

.mac-ctx-item,
.mac-ctx-item.mac-ctx-parent {
  display: flex;
  align-items: center;
  width: 100%;
  text-align: left;
  padding: 3px 18px 3px 28px;
  border: none;
  background: transparent;
  color: inherit;
  font-size: 0.82rem;
  min-height: 24px;
  position: relative;
  border-radius: 0;
}

.mac-ctx-item:hover:not(.disabled),
.mac-ctx-has-submenu:hover > .mac-ctx-parent {
  background: #007aff;
  color: #fff;
}

.mac-ctx-item.disabled {
  opacity: 0.45;
  pointer-events: none;
}

.mac-ctx-check {
  position: absolute;
  left: 10px;
  width: 12px;
  font-size: 0.72rem;
  line-height: 1;
}

.mac-ctx-label {
  flex: 1;
}

.mac-ctx-arrow {
  margin-left: auto;
  padding-left: 20px;
  font-size: 0.9rem;
  opacity: 0.65;
}

.mac-ctx-separator {
  height: 1px;
  margin: 5px 0;
  background: rgba(0, 0, 0, 0.12);
}

.mac-ctx-item-wrap {
  position: relative;
}

.mac-ctx-submenu {
  display: none;
  position: absolute;
  left: calc(100% - 4px);
  top: -5px;
  min-width: 196px;
  padding: 5px 0;
  border-radius: 8px;
  background: rgba(252, 252, 252, 0.94);
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  border: 1px solid rgba(0, 0, 0, 0.12);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.18);
  z-index: 51;
}

.mac-ctx-has-submenu:hover > .mac-ctx-submenu {
  display: block;
}

.mac-finder-context-menu {
  min-width: 260px;
}

.mac-ctx-color-labels {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 18px 4px 28px;
}

.mac-ctx-color-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: none;
  padding: 0;
  cursor: pointer;
  flex-shrink: 0;
}

.mac-ctx-color-dot.selected {
  box-shadow: 0 0 0 2px #fff, 0 0 0 3px rgba(0, 0, 0, 0.35);
}

.mac-ctx-color-red { background: #ff3b30; }
.mac-ctx-color-orange { background: #ff9500; }
.mac-ctx-color-yellow { background: #ffcc00; }
.mac-ctx-color-green { background: #34c759; }
.mac-ctx-color-blue { background: #007aff; }
.mac-ctx-color-purple { background: #af52de; }
.mac-ctx-color-gray { background: #8e8e93; }

.mac-menubar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px 0 10px;
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  color: rgba(0, 0, 0, 0.85);
  font-size: 0.76rem;
  font-weight: 500;
  z-index: 30;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.mac-menu-left,
.mac-menu-right {
  display: flex;
  align-items: center;
  gap: 0;
}

.mac-menu-right {
  gap: 2px;
}

.mac-apple {
  width: 28px;
  height: 22px;
  display: grid;
  place-items: center;
  border: none;
  background: transparent;
  color: rgba(0, 0, 0, 0.88);
  padding: 0;
  border-radius: 4px;
}

.mac-apple:hover,
.mac-apple.active {
  background: rgba(0, 0, 0, 0.08);
}

.mac-apple svg {
  width: 14px;
  height: 17px;
  display: block;
}

.mac-menu-item {
  border: none;
  background: transparent;
  color: rgba(0, 0, 0, 0.88);
  padding: 2px 9px;
  border-radius: 4px;
  font-size: 0.76rem;
  font-weight: 500;
}

.mac-menu-item:hover,
.mac-menu-item.active {
  background: rgba(0, 0, 0, 0.08);
}

.mac-menu-bold {
  font-weight: 600;
}

.mac-menu-shortcut {
  float: right;
  opacity: 0.55;
  margin-left: 24px;
  font-size: 0.72rem;
}

.mac-menu-separator {
  height: 1px;
  margin: 5px 0;
  background: rgba(0, 0, 0, 0.12);
}

.mac-menu-entry {
  display: flex;
  align-items: center;
  width: 100%;
  text-align: left;
  padding: 4px 16px 4px 28px;
  border: none;
  background: transparent;
  color: #1d1d1f;
  font-size: 0.82rem;
  min-height: 24px;
  position: relative;
  border-radius: 0;
}

.mac-menu-entry:hover:not(.disabled),
.mac-menu-submenu-wrap:hover > .mac-menu-parent {
  background: #007aff;
  color: #fff;
}

.mac-menu-entry.disabled {
  opacity: 0.45;
  pointer-events: none;
}

.mac-menu-check {
  position: absolute;
  left: 10px;
  width: 12px;
  font-size: 0.72rem;
}

.mac-menu-label {
  flex: 1;
}

.mac-menu-arrow {
  opacity: 0.65;
  float: none;
  margin-left: auto;
}

.mac-menu-submenu-wrap {
  position: relative;
}

.mac-menu-submenu {
  display: none;
  position: absolute;
  left: calc(100% - 4px);
  top: -5px;
  min-width: 196px;
  padding: 5px 0;
  border-radius: 8px;
  background: rgba(252, 252, 252, 0.94);
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  border: 1px solid rgba(0, 0, 0, 0.12);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.18);
  z-index: 41;
}

.mac-menu-submenu-wrap:hover > .mac-menu-submenu {
  display: block;
}

.mac-help-search-wrap {
  padding: 6px 10px 8px;
}

.mac-help-search {
  width: 100%;
  padding: 6px 10px;
  border-radius: 6px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  background: rgba(255, 255, 255, 0.85);
  color: #1d1d1f;
  font-size: 0.82rem;
}

.mac-dropdown .menu-item {
  color: inherit;
  font-size: 0.82rem;
  padding: 0;
  border-radius: 0;
}

.mac-dropdown .menu-item:hover {
  background: transparent;
}

.mac-menu-status-btn {
  display: grid;
  place-items: center;
  width: 26px;
  height: 22px;
  border: none;
  background: transparent;
  color: rgba(0, 0, 0, 0.82);
  padding: 0;
  border-radius: 4px;
}

.mac-menu-status-btn:hover {
  background: rgba(0, 0, 0, 0.06);
}

.mac-menu-status-btn svg {
  width: 15px;
  height: 15px;
  display: block;
}

.mac-menu-status-btn.mac-menu-wifi-btn svg {
  width: 14px;
  height: 14px;
}

.mac-menu-status-btn.mac-menu-battery-btn svg {
  width: 22px;
  height: 12px;
}

.mac-menu-clock {
  margin-left: 4px;
  padding: 0 4px;
  font-size: 0.74rem;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.88);
  white-space: nowrap;
  letter-spacing: -0.01em;
  border: none;
  background: transparent;
  cursor: pointer;
  font-family: inherit;
}

.mac-menu-clock:hover {
  background: rgba(0, 0, 0, 0.06);
  border-radius: 4px;
}

.mac-dock {
  position: relative;
  display: flex;
  gap: 4px;
  padding: 4px 8px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.28);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
  max-width: min(92vw, 980px);
  overflow-x: auto;
  scrollbar-width: none;
}

.mac-dock::-webkit-scrollbar {
  display: none;
}

.mac-dock-app {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  border: none;
  background: transparent;
  padding: 2px;
  position: relative;
  flex-shrink: 0;
}

.mac-dock-app[data-dock-reorderable="true"] {
  cursor: grab;
  touch-action: none;
}

.mac-dock-app.mac-dock-dragging {
  opacity: 0.82;
  transform: scale(1.14);
  z-index: 2;
  cursor: grabbing;
}

.mac-dock-app.mac-dock-drop-before::before,
.mac-dock-app.mac-dock-drop-after::after {
  content: "";
  position: absolute;
  top: 6px;
  bottom: 6px;
  width: 3px;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.82);
}

.mac-dock-app.mac-dock-drop-before::before {
  left: -3px;
}

.mac-dock-app.mac-dock-drop-after::after {
  right: -3px;
}

.mac-dock-app .icon-app,
.mac-dock-app .icon-mac-app,
.mac-dock-app .icon-mac-hires {
  width: 52px;
  height: 52px;
  border-radius: 12px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.28);
}

.icon-mac-hires {
  image-rendering: auto;
}

.mac-launchpad {
  position: absolute;
  inset: 0;
  padding: 48px 32px 80px;
  background: rgba(18, 22, 32, 0.88);
  z-index: 36;
  overflow: auto;
}

.mac-launchpad.hidden {
  display: none;
}

.mac-launchpad-search-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 320px;
  margin: 0 auto 28px;
  padding: 8px 14px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #fff;
}

.mac-launchpad-search-wrap svg {
  width: 16px;
  height: 16px;
  opacity: 0.8;
}

.mac-launchpad-search {
  flex: 1;
  border: none;
  background: transparent;
  color: #fff;
  font-size: 0.9rem;
  outline: none;
}

.mac-launchpad-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
  gap: 24px 16px;
  max-width: 900px;
  margin: 0 auto;
}

.mac-launchpad-tile {
  display: grid;
  justify-items: center;
  gap: 8px;
  border: none;
  background: transparent;
  color: #fff;
  font-size: 0.72rem;
  text-align: center;
  padding: 8px;
  border-radius: 12px;
}

.mac-launchpad-tile:hover {
  background: rgba(255, 255, 255, 0.08);
}

.mac-launchpad-icon svg {
  width: 72px;
  height: 72px;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}

.mac-dock-app.active::after,
.mac-dock-app.running::after {
  content: "";
  position: absolute;
  bottom: -2px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.85);
}

.mac-dock-divider {
  width: 1px;
  height: 42px;
  background: rgba(255, 255, 255, 0.15);
  margin: 0 2px;
}

.mac-dropdown {
  position: absolute;
  top: 28px;
  min-width: 248px;
  border-radius: 8px;
  background: rgba(252, 252, 252, 0.94);
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  border: 1px solid rgba(0, 0, 0, 0.12);
  padding: 5px 0;
  z-index: 40;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.18);
  color: #1d1d1f;
}

.mac-dropdown-apple {
  left: 8px;
}

.mac-dropdown-finder {
  left: 52px;
}

.mac-dropdown-file {
  left: 108px;
}

.mac-dropdown-edit {
  left: 152px;
}

.mac-dropdown-view {
  left: 198px;
}

.mac-dropdown-go {
  left: 244px;
}

.mac-dropdown-window {
  left: 278px;
}

.mac-dropdown-help {
  left: 348px;
}

.mac-desktop-layer {
  position: absolute;
  inset: 0;
  z-index: 29;
  border: none;
  background: transparent;
  display: none;
  cursor: default;
}

.os-mac.menus-open .mac-desktop-layer {
  display: block;
}

.mac-finder-sidebar-group {
  margin-bottom: 12px;
}

.mac-finder-sidebar-heading {
  display: block;
  padding: 4px 10px 6px;
  font-size: 11px;
  font-weight: 600;
  color: #6e6e73;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.mac-finder-pathbar {
  padding: 6px 12px;
  font-size: 12px;
  color: #6e6e73;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  background: rgba(255, 255, 255, 0.65);
}

.mac-finder-nav-toolbar {
  display: flex;
  gap: 6px;
  align-items: center;
  padding: 8px 12px;
}

.mac-finder-nav-btn {
  min-width: 28px;
  height: 24px;
  padding: 0 8px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 6px;
  background: #fff;
  color: #1d1d1f;
  font-size: 12px;
}

.mac-finder-nav-btn.disabled {
  opacity: 0.35;
  pointer-events: none;
}

.mac-finder-statusbar {
  padding: 4px 12px;
  font-size: 11px;
  color: #6e6e73;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  background: rgba(255, 255, 255, 0.65);
}

.mac-finder-view-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.mac-finder-view-list .mac-finder-app-row {
  flex-direction: row;
  justify-content: flex-start;
  width: 100%;
  padding: 6px 10px;
}

.mac-finder-view-list .mac-finder-app-icon svg {
  width: 20px;
  height: 20px;
}

.mac-finder-view-columns {
  display: block;
}

.mac-finder-view-gallery {
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
}

.mac-finder-view-gallery .mac-finder-app-icon svg {
  width: 72px;
  height: 72px;
}

.mac-textedit {
  width: min(720px, 92%);
  height: min(520px, 78%);
  background: #fff;
  color: #1d1d1f;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.12);
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35);
  display: flex;
  flex-direction: column;
}

.mac-textedit .mac-window-titlebar {
  background: #ececec;
  color: #1d1d1f;
  flex-shrink: 0;
}

.mac-textedit-toolbar {
  display: flex;
  gap: 12px;
  padding: 6px 14px;
  background: #f5f5f7;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  font-size: 0.78rem;
  color: #6e6e73;
  flex-shrink: 0;
}

.mac-textedit-body {
  flex: 1;
  min-height: 0;
  background: #fff;
}

.mac-textedit-content {
  width: 100%;
  height: 100%;
  border: none;
  resize: none;
  padding: 18px 22px;
  font: 15px/1.5 -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #1d1d1f;
  background: #fff;
  outline: none;
}

.mac-activity-monitor {
  width: min(920px, 94%);
  height: min(580px, 82%);
  background: #ececec;
  border: 1px solid rgba(0, 0, 0, 0.18);
  border-radius: 10px;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.32);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  font: 12px/1.35 -apple-system, BlinkMacSystemFont, "Lucida Grande", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.mac-activity-monitor .mac-window-titlebar {
  background: linear-gradient(#e8e8e8, #dcdcdc);
  border-bottom: 1px solid #b8b8b8;
  min-height: 22px;
  padding: 6px 12px 5px;
}

.mac-activity-monitor .mac-window-titlebar .window-title {
  font-size: 13px;
  font-weight: 500;
  color: #333;
}

.mac-activity-toolbar {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 6px 10px 7px;
  background: linear-gradient(#ebebeb, #dfdfdf);
  border-bottom: 1px solid #bdbdbd;
}

.mac-activity-toolbar-left {
  display: flex;
  align-items: center;
  gap: 6px;
}

.mac-activity-tool-btn {
  width: 28px;
  height: 28px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 4px;
  background: linear-gradient(#fafafa, #e6e6e6);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  cursor: pointer;
}

.mac-activity-tool-btn:hover {
  background: linear-gradient(#fff, #ececec);
}

.mac-activity-tool-icon {
  font: 600 13px/1 -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #444;
}

.mac-activity-tool-quit {
  color: #c0392b;
  font-size: 14px;
}

.mac-activity-tool-info {
  font-style: italic;
  font-weight: 700;
}

.mac-activity-tabs {
  display: inline-flex;
  justify-content: center;
  margin: 0 auto;
  border: 1px solid #a8a8a8;
  border-radius: 5px;
  overflow: hidden;
  background: #d8d8d8;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.08);
}

.mac-activity-tab {
  border: none;
  background: transparent;
  color: #333;
  padding: 4px 14px;
  font: 12px/1.2 -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
  cursor: pointer;
  border-right: 1px solid #b0b0b0;
}

.mac-activity-tab:last-child {
  border-right: none;
}

.mac-activity-tab.active {
  background: linear-gradient(#666, #555);
  color: #fff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.35);
}

.mac-activity-tab:not(.active):hover {
  background: rgba(255, 255, 255, 0.35);
}

.mac-activity-search-wrap {
  min-width: 140px;
}

.mac-activity-search {
  width: 140px;
  height: 22px;
  border: 1px solid #a8a8a8;
  border-radius: 11px;
  padding: 0 10px 0 24px;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") no-repeat 8px center;
  font: 12px/22px -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
  outline: none;
}

.mac-activity-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  background: #fff;
}

.mac-activity-table-head,
.mac-activity-row {
  display: grid;
  grid-template-columns: minmax(160px, 2.2fr) repeat(6, minmax(54px, 1fr));
  align-items: center;
  gap: 0;
  padding: 0 8px;
}

.mac-activity-monitor[data-tab="energy"] .mac-activity-table-head,
.mac-activity-monitor[data-tab="energy"] .mac-activity-row {
  grid-template-columns: minmax(160px, 2fr) repeat(5, minmax(64px, 1fr));
}

.mac-activity-monitor[data-tab="disk"] .mac-activity-table-head,
.mac-activity-monitor[data-tab="disk"] .mac-activity-row,
.mac-activity-monitor[data-tab="network"] .mac-activity-table-head,
.mac-activity-monitor[data-tab="network"] .mac-activity-row {
  grid-template-columns: minmax(180px, 2.4fr) repeat(4, minmax(70px, 1fr));
}

.mac-activity-table-head {
  background: linear-gradient(#f6f6f6, #ececec);
  border-bottom: 1px solid #c8c8c8;
  font-weight: 600;
  color: #333;
  min-height: 22px;
}

.mac-activity-table-head .mac-activity-col,
.mac-activity-row .mac-activity-col {
  padding: 3px 6px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.mac-activity-table-head .mac-activity-col:not(.mac-activity-col-name),
.mac-activity-row .mac-activity-col:not(.mac-activity-col-name) {
  text-align: right;
}

.mac-activity-table {
  flex: 1;
  overflow: auto;
}

.mac-activity-row {
  width: 100%;
  border: none;
  background: #fff;
  text-align: left;
  cursor: pointer;
  font: inherit;
  color: #222;
  border-bottom: 1px solid #f0f0f0;
}

.mac-activity-row:nth-child(even) {
  background: #fafafa;
}

.mac-activity-row:hover {
  background: #e8f0fe;
}

.mac-activity-row.selected {
  background: #4a90e2;
  color: #fff;
}

.mac-activity-row.selected:hover {
  background: #4a90e2;
}

.mac-activity-row.highlight:not(.selected) {
  background: #fff8e6;
}

.mac-activity-empty {
  padding: 24px;
  text-align: center;
  color: #777;
}

.mac-activity-footer {
  display: grid;
  grid-template-columns: 1fr minmax(120px, 160px) 1fr;
  gap: 12px;
  padding: 10px 14px 12px;
  background: linear-gradient(#f0f0f0, #e4e4e4);
  border-top: 1px solid #bdbdbd;
}

.mac-activity-footer-generic {
  padding: 10px 14px;
  color: #666;
  font-size: 11px;
}

.mac-activity-footer-stats {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.mac-activity-stat {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 11px;
  color: #333;
}

.mac-activity-stat strong {
  font-weight: 600;
}

.mac-activity-footer-graph {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

.mac-activity-graph-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #555;
}

.mac-activity-pressure-chart {
  width: 100%;
  height: 48px;
  border: 1px solid #ccc;
  border-radius: 2px;
  background: #fff;
}

.mac-settings {
  width: min(960px, 96%);
  height: min(640px, 88%);
  background: #ececec;
  color: #1d1d1f;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.12);
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35);
}

.mac-settings .mac-window-titlebar {
  padding: 12px 16px 8px;
  background: #ececec;
  border-bottom: none;
  min-height: 28px;
}

.mac-settings .mac-window-titlebar .window-title {
  display: none;
}

.mac-settings-layout {
  display: grid;
  grid-template-columns: 268px 1fr;
  height: calc(100% - 40px);
}

.mac-settings-nav {
  background: rgba(255, 255, 255, 0.45);
  border-right: 1px solid rgba(0, 0, 0, 0.08);
  padding: 4px 10px 12px;
  overflow: auto;
}

.mac-settings-search-wrap {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 4px 2px 10px;
  padding: 6px 10px;
  border-radius: 8px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  background: rgba(255, 255, 255, 0.65);
}

.mac-settings-search-wrap svg {
  width: 14px;
  height: 14px;
  opacity: 0.45;
  flex-shrink: 0;
}

.mac-settings-search {
  width: 100%;
  border: none;
  background: transparent;
  font-size: 0.82rem;
  color: #1d1d1f;
  outline: none;
}

.mac-settings-profile {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 8px 12px;
  margin-bottom: 4px;
}

.mac-settings-avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #fff;
  display: grid;
  place-items: center;
  font-size: 1.1rem;
  flex-shrink: 0;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.06);
}

.mac-settings-profile-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

.mac-settings-profile-text strong {
  font-size: 0.84rem;
  font-weight: 600;
}

.mac-settings-profile-text span {
  font-size: 0.72rem;
  color: #636366;
}

.mac-settings-nav .settings-nav-item {
  color: #1d1d1f;
  border-radius: 8px;
  padding: 7px 10px;
  font-size: 0.82rem;
  margin-bottom: 1px;
}

.mac-settings-nav .settings-nav-item.active,
.mac-settings-nav .settings-nav-item:hover {
  background: rgba(0, 0, 0, 0.05);
}

.mac-settings-nav .settings-nav-item.active {
  background: rgba(0, 122, 255, 0.14);
  color: #007aff;
}

.mac-settings-nav .settings-nav-icon svg {
  width: 18px;
  height: 18px;
}

.mac-settings-content {
  padding: 8px 28px 28px;
  overflow: auto;
  background: #ececec;
}

.mac-settings-toolbar {
  display: flex;
  gap: 4px;
  margin-bottom: 12px;
}

.mac-settings-nav-btn {
  width: 28px;
  height: 28px;
  border: none;
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.06);
  color: #636366;
  font-size: 1rem;
  line-height: 1;
  display: grid;
  place-items: center;
  cursor: pointer;
}

.mac-settings-nav-btn.disabled {
  opacity: 0.35;
  cursor: default;
  pointer-events: none;
}

.mac-settings-page-header {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 20px;
}

.mac-settings-page-icon svg {
  width: 64px;
  height: 64px;
}

.mac-settings-page-heading {
  flex: 1;
  min-width: 0;
}

.mac-settings-page-title,
.mac-settings-detail-title {
  margin: 0 0 6px;
  font-size: 1.65rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.mac-settings-page-desc {
  margin: 0;
  font-size: 0.84rem;
  color: #636366;
  line-height: 1.45;
  max-width: 520px;
}

.mac-settings-detail-title {
  margin-bottom: 16px;
}

.mac-settings-groups {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.mac-settings-group {
  border-radius: 10px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.mac-settings-detail-group {
  padding: 0;
}

.mac-settings-detail-group .settings-card {
  border: none;
  border-radius: 0;
  margin: 0;
  box-shadow: none;
}

.mac-settings-row {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 10px 14px;
  border: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  background: transparent;
  text-align: left;
  cursor: pointer;
  font-size: 0.84rem;
  color: #1d1d1f;
}

.mac-settings-row:last-child {
  border-bottom: none;
}

.mac-settings-row:hover {
  background: rgba(0, 0, 0, 0.03);
}

.mac-settings-row-icon svg {
  width: 22px;
  height: 22px;
}

.mac-settings-row-label {
  flex: 1;
  font-weight: 500;
}

.mac-settings-row-chevron {
  color: #aeaeb2;
  font-size: 1.1rem;
  font-weight: 300;
}

.mac-settings-row-status {
  font-size: 0.78rem;
  color: #6e6e73;
  margin-right: 4px;
}

.mac-privacy-row-icon svg {
  width: 24px;
  height: 24px;
  border-radius: 5px;
}

.mac-privacy-section-label {
  padding-left: 0;
  margin-top: 8px;
}

.mac-privacy-scroll {
  padding-bottom: 12px;
}

.mac-settings-toolbar-title {
  align-items: center;
  position: relative;
  justify-content: center;
  min-height: 28px;
}

.mac-settings-toolbar-heading {
  font-size: 0.82rem;
  font-weight: 600;
  color: #1d1d1f;
}

.mac-settings-toolbar-title .mac-settings-nav-btn {
  position: absolute;
  left: 0;
}

.mac-settings-toolbar-title .mac-settings-nav-btn:last-of-type {
  left: 32px;
}

.mac-settings-radio-row {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 8px 14px;
  border: none;
  background: transparent;
  text-align: left;
  cursor: pointer;
  font-size: 0.82rem;
}

.mac-settings-radio-row:hover {
  background: rgba(0, 0, 0, 0.03);
}

.mac-settings-radio {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 2px solid #c7c7cc;
  flex-shrink: 0;
  position: relative;
}

.mac-settings-radio.selected {
  border-color: var(--mac-accent, #007aff);
}

.mac-settings-radio.selected::after {
  content: "";
  position: absolute;
  inset: 3px;
  border-radius: 50%;
  background: var(--mac-accent, #007aff);
}

.mac-settings-security-block {
  padding: 10px 14px 6px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.mac-settings-security-label {
  font-size: 0.82rem;
  font-weight: 500;
  margin-bottom: 6px;
}

.mac-settings-profile-warning {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin: 8px 14px 10px;
  font-size: 0.72rem;
  color: #6e6e73;
  line-height: 1.35;
}

.mac-settings-select-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.mac-settings-select-value {
  color: #6e6e73;
  font-size: 0.78rem;
  white-space: nowrap;
}

.mac-settings-inline-pills {
  padding: 0 14px 12px;
}

.mac-privacy-footer {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  padding: 16px 0 8px;
}

.mac-btn-help {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  padding: 0;
  display: grid;
  place-items: center;
  font-size: 0.85rem;
}

.mac-user-row {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 10px 14px;
  border: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.mac-user-row:last-child {
  border-bottom: none;
}

.mac-user-row.selected {
  background: rgba(0, 122, 255, 0.08);
}

.mac-user-row:hover {
  background: rgba(0, 0, 0, 0.03);
}

.mac-user-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fff;
  display: grid;
  place-items: center;
  font-size: 1.2rem;
  flex-shrink: 0;
}

.mac-user-info {
  flex: 1;
  min-width: 0;
}

.mac-user-name {
  display: block;
  font-size: 0.84rem;
  font-weight: 600;
  color: #1d1d1f;
}

.mac-user-kind {
  display: block;
  font-size: 0.74rem;
  color: #6e6e73;
}

.mac-user-selected {
  color: var(--mac-accent, #007aff);
  font-weight: 700;
}

.mac-settings-add-user {
  display: block;
  width: calc(100% - 28px);
  margin: 8px 14px 10px;
  padding: 8px 12px;
  border: 1px dashed rgba(0, 0, 0, 0.15);
  border-radius: 8px;
  background: transparent;
  color: var(--mac-accent, #007aff);
  font-size: 0.82rem;
  cursor: pointer;
  text-align: center;
}

.mac-settings-action-row {
  font-weight: 500;
}

.mac-touchid-fingerprints {
  padding: 8px 14px 12px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.mac-touchid-scanner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 16px;
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.04);
  margin-bottom: 10px;
}

.mac-touchid-icon svg {
  width: 48px;
  height: 48px;
}

.mac-touchid-label {
  font-size: 0.82rem;
  font-weight: 500;
  color: #1d1d1f;
}

.mac-touchid-label.muted {
  color: #6e6e73;
  font-weight: 400;
}

.mac-touchid-add-btn {
  width: 100%;
}

.mac-scan-group .settings-card {
  padding: 14px;
}

.mac-network-row-text {
  flex: 1;
  min-width: 0;
}

.mac-network-status {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.74rem;
  color: #6e6e73;
  margin-top: 2px;
}

.mac-network-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  display: inline-block;
}

.mac-network-dot.green { background: #34c759; }
.mac-network-dot.red { background: #ff3b30; }
.mac-network-dot.gray { background: #aeaeb2; }

.mac-vpn-detail-group {
  padding: 4px 0;
}

.mac-vpn-detail-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 14px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  font-size: 0.82rem;
}

.mac-vpn-detail-row:last-child {
  border-bottom: none;
}

.mac-vpn-detail-label {
  color: #1d1d1f;
  flex-shrink: 0;
}

.mac-vpn-detail-value {
  color: #6e6e73;
  text-align: right;
  display: flex;
  align-items: center;
  gap: 6px;
  justify-content: flex-end;
}

.mac-vpn-detail-muted {
  color: #aeaeb2;
}

.mac-vpn-auth-card {
  padding-top: 4px;
}

.mac-vpn-auth-card .mac-settings-section-label {
  padding: 8px 14px 4px;
}

.mac-vpn-auth-actions {
  padding: 10px 14px 14px;
  display: flex;
  justify-content: flex-end;
}

.mac-network-row .mac-settings-row-label {
  font-size: 0.84rem;
  font-weight: 500;
  color: #1d1d1f;
}

.mac-settings-card-toggle-item {
  display: block;
  width: 100%;
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.mac-settings-card-toggle {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
}

.mac-settings-card-toggle-item:hover .mac-settings-card-toggle {
  background: rgba(0, 0, 0, 0.03);
}

.mac-settings-card-icon svg {
  width: 24px;
  height: 24px;
}

.mac-settings-card-label {
  display: block;
  font-size: 0.84rem;
  font-weight: 600;
}

.mac-settings-dropdown-row {
  padding: 10px 14px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.mac-settings-dropdown-row:last-child {
  border-bottom: none;
}

.mac-settings-dropdown-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.mac-settings-dropdown-label {
  font-size: 0.82rem;
  font-weight: 500;
  flex: 1;
}

.mac-settings-dropdown-btn {
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
}

.mac-settings-row-note {
  margin-top: 4px;
  font-size: 0.72rem;
  color: #6e6e73;
}

.mac-settings-inline-warning {
  margin: 8px 0 0;
}

.mac-settings-dropdown-row.disabled .mac-settings-select-value.disabled {
  color: #aeaeb2;
}

.mac-settings-battery-status {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.82rem;
  color: #6e6e73;
  margin: 0 0 12px;
}

.mac-settings-battery-status svg {
  width: 18px;
  height: 18px;
}

.mac-battery-tabs {
  display: flex;
  gap: 6px;
  padding: 12px 14px 8px;
}

.mac-battery-charged-label {
  padding: 0 14px 10px;
  font-size: 0.82rem;
  font-weight: 600;
}

.mac-battery-charged-label span {
  font-weight: 400;
  color: #6e6e73;
}

.mac-battery-chart {
  padding: 0 14px 16px;
}

.mac-battery-chart-title {
  font-size: 0.78rem;
  font-weight: 600;
  margin-bottom: 8px;
}

.mac-battery-chart-area {
  position: relative;
  background: rgba(255, 255, 255, 0.72);
  border-radius: 8px;
  padding: 8px 8px 24px 36px;
  min-height: 100px;
}

.mac-battery-y-labels {
  position: absolute;
  left: 6px;
  top: 8px;
  bottom: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  font-size: 0.62rem;
  color: #aeaeb2;
}

.mac-battery-x-labels {
  display: flex;
  justify-content: space-between;
  font-size: 0.62rem;
  color: #aeaeb2;
  margin-top: 4px;
}

.mac-battery-bars {
  display: flex;
  align-items: flex-end;
  gap: 3px;
  height: 72px;
}

.mac-battery-bars.green-bars .mac-battery-bar {
  background: #34c759;
  flex: 1;
  border-radius: 2px 2px 0 0;
}

.mac-battery-bars.green-bars .mac-battery-bar.full {
  height: 100%;
}

.mac-battery-bars.blue-bars .mac-battery-bar {
  background: #007aff;
  flex: 1;
  border-radius: 2px 2px 0 0;
  min-height: 4px;
}

.mac-battery-health-row {
  justify-content: space-between;
}

.mac-bt-device-row {
  align-items: center;
}

.mac-bt-device-icon svg {
  width: 24px;
  height: 24px;
}

.mac-bt-nearby-icon svg {
  width: 22px;
  height: 22px;
}

.mac-bt-device-info {
  flex: 1;
  min-width: 0;
}

.mac-bt-device-name {
  display: block;
  font-size: 0.84rem;
  font-weight: 500;
}

.mac-bt-device-status {
  display: block;
  font-size: 0.74rem;
  color: #6e6e73;
}

.mac-bt-device-info-btn {
  color: #aeaeb2;
  font-size: 1rem;
}

.mac-bt-scanning {
  font-size: 0.75rem;
  color: #aeaeb2;
  animation: mac-bt-spin 1.2s linear infinite;
}

@keyframes mac-bt-spin {
  to { transform: rotate(360deg); }
}

.mac-visual-scroll {
  padding-bottom: 12px;
}

.mac-visual-preview-row {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 16px;
  padding: 8px 0 16px;
  align-items: start;
}

.mac-visual-preview-thumb {
  aspect-ratio: 16 / 10;
  border-radius: 10px;
  border: 2px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.mac-visual-preview-name {
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 8px;
  padding: 8px 12px;
  background: rgba(255, 255, 255, 0.72);
  border-radius: 8px;
  border: 1px solid rgba(0, 0, 0, 0.08);
}

.mac-visual-preview-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.mac-visual-category {
  margin-bottom: 18px;
}

.mac-visual-category-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 10px;
}

.mac-visual-category-title {
  font-size: 0.88rem;
  font-weight: 700;
}

.mac-visual-show-all {
  font-size: 0.72rem;
  color: #6e6e73;
}

.mac-visual-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.mac-visual-item {
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
  text-align: center;
}

.mac-visual-thumb {
  position: relative;
  aspect-ratio: 16 / 10;
  border-radius: 8px;
  border: 2px solid transparent;
  overflow: hidden;
  margin-bottom: 6px;
}

.mac-visual-item.selected .mac-visual-thumb,
.mac-visual-thumb.selected {
  border-color: var(--mac-accent, #007aff);
  box-shadow: 0 0 0 2px rgba(0, 122, 255, 0.25);
}

.mac-visual-label {
  font-size: 0.72rem;
  color: #1d1d1f;
  line-height: 1.25;
}

.mac-visual-play,
.mac-visual-download,
.mac-visual-shuffle {
  position: absolute;
  bottom: 4px;
  right: 4px;
  font-size: 0.55rem;
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  border-radius: 3px;
  padding: 1px 3px;
}

.mac-visual-shuffle {
  inset: 0;
  display: grid;
  place-items: center;
  font-size: 1.2rem;
  background: rgba(0, 0, 0, 0.25);
}

.mac-screensaver-alert {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  margin-bottom: 16px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(0, 0, 0, 0.08);
  font-size: 0.76rem;
  color: #6e6e73;
}

.mac-settings-lock-message-row {
  display: flex;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.mac-settings-lock-message-row .mac-settings-toggle-item {
  flex: 1;
  border-bottom: none;
}

.mac-settings-content .settings-card {
  background: rgba(255, 255, 255, 0.72);
  border-color: rgba(0, 0, 0, 0.06);
  border-radius: 10px;
}

.mac-settings-home-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.mac-settings-home-tile {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(0, 0, 0, 0.06);
  font-size: 0.8rem;
  text-align: left;
}

.mac-settings-home-tile .settings-nav-icon {
  width: 28px;
  height: 28px;
}

.mac-settings-section-label {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #6e6e73;
  padding: 10px 14px 6px;
}

.mac-settings-sub-label {
  padding-top: 14px;
}

.mac-settings-toggle-item {
  display: block;
  width: 100%;
  border: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  background: transparent;
  padding: 0;
  text-align: left;
  cursor: pointer;
}

.mac-settings-toggle-item:last-child {
  border-bottom: none;
}

.mac-settings-toggle-item.disabled {
  opacity: 0.45;
  cursor: default;
}

.mac-settings-toggle-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
}

.mac-settings-toggle-item:not(.disabled):hover .mac-settings-toggle-row {
  background: rgba(0, 0, 0, 0.03);
}

.mac-settings-toggle-label {
  display: block;
  font-size: 0.84rem;
  font-weight: 500;
  color: #1d1d1f;
}

.mac-settings-toggle-desc {
  display: block;
  margin-top: 3px;
  font-size: 0.74rem;
  color: #6e6e73;
  line-height: 1.35;
}

.mac-toggle {
  position: relative;
  width: 44px;
  height: 26px;
  border-radius: 999px;
  background: #e5e5ea;
  flex-shrink: 0;
  transition: background 0.2s ease;
}

.mac-toggle.on {
  background: var(--mac-accent, #007aff);
}

.mac-toggle-knob {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);
  transition: transform 0.2s ease;
}

.mac-toggle.on .mac-toggle-knob {
  transform: translateX(18px);
}

.mac-settings-slider-row {
  padding: 10px 14px 14px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.mac-settings-slider-row:last-child {
  border-bottom: none;
}

.mac-settings-slider-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  font-size: 0.82rem;
}

.mac-settings-slider-icon svg {
  width: 16px;
  height: 16px;
  color: #636366;
}

.mac-settings-slider-label {
  flex: 1;
  font-weight: 500;
}

.mac-settings-slider-value {
  color: #6e6e73;
  font-variant-numeric: tabular-nums;
}

.mac-settings-slider {
  width: 100%;
  accent-color: var(--mac-accent, #007aff);
}

.mac-settings-info-row {
  padding: 10px 14px;
  font-size: 0.82rem;
  color: #1d1d1f;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.mac-settings-info-row:last-child {
  border-bottom: none;
}

.mac-settings-info-row kbd {
  display: inline-block;
  padding: 1px 5px;
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.06);
  font-size: 0.75rem;
}

.mac-settings-device-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.mac-sound-mute-btn {
  font-size: 0.72rem;
  padding: 4px 10px;
}

.mac-appearance-themes {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  padding: 8px 14px 14px;
}

.mac-appearance-btn {
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
}

.mac-appearance-option {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 8px;
  border-radius: 10px;
  border: 2px solid transparent;
}

.mac-appearance-option.selected {
  border-color: var(--mac-accent, #007aff);
}

.mac-appearance-preview {
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: 8px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.mac-appearance-preview-auto {
  background: linear-gradient(135deg, #f5f5f7 50%, #1c1c1e 50%);
}

.mac-appearance-preview-light {
  background: linear-gradient(180deg, #fff 0%, #f2f2f7 100%);
}

.mac-appearance-preview-dark {
  background: linear-gradient(180deg, #2c2c2e 0%, #1c1c1e 100%);
}

.mac-appearance-label {
  font-size: 0.78rem;
  font-weight: 500;
  color: #1d1d1f;
}

.mac-accent-colors,
.mac-settings-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 8px 14px 14px;
}

.mac-accent-btn {
  border: none;
  background: transparent;
  padding: 2px;
  cursor: pointer;
}

.mac-accent-swatch {
  display: block;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 2px solid transparent;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08);
}

.mac-accent-swatch.selected {
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--mac-accent, #007aff);
}

.mac-accent-multicolor {
  background: conic-gradient(#ff375f, #bf5af2, #5ac8fa, #30d158, #ff9f0a, #ff375f);
}

.mac-accent-blue { background: #007aff; }
.mac-accent-purple { background: #af52de; }
.mac-accent-pink { background: #ff2d55; }
.mac-accent-red { background: #ff3b30; }
.mac-accent-orange { background: #ff9500; }
.mac-accent-yellow { background: #ffcc00; }
.mac-accent-green { background: #34c759; }
.mac-accent-graphite { background: #8e8e93; }

.mac-settings-pill {
  border: 1px solid rgba(0, 0, 0, 0.12);
  background: rgba(255, 255, 255, 0.8);
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 0.76rem;
  cursor: pointer;
  color: #1d1d1f;
}

.mac-settings-pill.selected {
  background: var(--mac-accent, #007aff);
  border-color: var(--mac-accent, #007aff);
  color: #fff;
}

.mac-display-arrangement {
  padding: 8px 14px 14px;
}

.mac-display-arrangement-controls {
  display: flex;
  gap: 8px;
  margin-bottom: 14px;
}

.mac-display-canvas {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 24px;
  min-height: 140px;
  padding: 16px;
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.04);
  border: 1px dashed rgba(0, 0, 0, 0.1);
}

.mac-display-canvas.mirror {
  flex-direction: column;
  align-items: center;
}

.mac-display-canvas.mirror .mac-display-monitor.external {
  opacity: 0.85;
  transform: scale(0.92);
}

.mac-display-canvas.swapped {
  flex-direction: row-reverse;
}

.mac-display-canvas.mirror.swapped {
  flex-direction: column-reverse;
}

.mac-display-monitor-btn {
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
}

.mac-display-monitor {
  position: relative;
  width: 120px;
  height: 78px;
  border-radius: 8px;
  background: linear-gradient(180deg, #4a90e2 0%, #357abd 100%);
  border: 2px solid #636366;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease, border-color 0.2s ease;
}

.mac-display-monitor.external {
  width: 140px;
  height: 88px;
}

.mac-display-monitor.primary {
  border-color: var(--mac-accent, #007aff);
  box-shadow: 0 0 0 2px rgba(0, 122, 255, 0.25), 0 4px 12px rgba(0, 0, 0, 0.15);
}

.mac-display-monitor-btn:hover .mac-display-monitor {
  transform: translateY(-2px);
}

.mac-display-monitor-bar {
  position: absolute;
  top: 6px;
  left: 8px;
  right: 8px;
  height: 4px;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.35);
}

.mac-display-monitor-label {
  font-size: 0.62rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.95);
  text-align: center;
  padding: 0 6px;
}

.mac-display-primary-badge {
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 0.62rem;
  font-weight: 600;
  color: var(--mac-accent, #007aff);
  background: #fff;
  border-radius: 999px;
  padding: 2px 8px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}

.mac-display-arrangement-actions {
  margin-top: 12px;
}

.mac-btn-secondary {
  background: rgba(0, 0, 0, 0.06);
  color: #1d1d1f;
  border: 1px solid rgba(0, 0, 0, 0.08);
}

.os-mac.mac-accent-blue { --mac-accent: #007aff; }
.os-mac.mac-accent-purple { --mac-accent: #af52de; }
.os-mac.mac-accent-pink { --mac-accent: #ff2d55; }
.os-mac.mac-accent-red { --mac-accent: #ff3b30; }
.os-mac.mac-accent-orange { --mac-accent: #ff9500; }
.os-mac.mac-accent-yellow { --mac-accent: #ffcc00; }
.os-mac.mac-accent-green { --mac-accent: #34c759; }
.os-mac.mac-accent-graphite { --mac-accent: #8e8e93; }
.os-mac.mac-accent-multicolor { --mac-accent: #bf5af2; }

.os-mac.mac-theme-dark .desktop-bg {
  filter: brightness(0.72) saturate(0.9);
}

.os-mac.mac-theme-light .desktop-bg {
  filter: brightness(1.05) saturate(1.02);
}

.os-mac.menus-open .mac-menubar {
  z-index: 55;
}

.os-mac.menus-open .mac-dropdown,
.os-mac.menus-open .mac-wifi-popup {
  z-index: 56;
}

.os-mac.menus-open .mac-menu-submenu {
  z-index: 57;
}

.mac-about-modal .mac-about-card {
  text-align: center;
  max-width: 360px;
}

.mac-about-device svg {
  width: 64px;
  height: 64px;
  margin-bottom: 8px;
}

.mac-about-title {
  margin: 0 0 4px;
  font-size: 1.2rem;
}

.mac-about-subtitle,
.mac-about-specs {
  margin: 0 0 8px;
  color: #6e6e73;
  font-size: 0.84rem;
}

.mac-about-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin: 16px 0;
}

.mac-about-ok {
  width: 100%;
}

.mac-modal-desc {
  margin: 0 0 12px;
  font-size: 0.84rem;
  color: #6e6e73;
}

.mac-modal-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

.win-modal-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin-top: 12px;
}

.win-about-card {
  margin-bottom: 12px;
}

.win-about-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.win-about-copy-btn {
  border: none;
  background: transparent;
  color: #0067c0;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  padding: 0;
}

.win-about-spec-list {
  display: grid;
  gap: 8px;
  margin: 0;
}

.win-about-spec-list > div {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 12px;
  font-size: 0.82rem;
}

.win-about-spec-list dt {
  margin: 0;
  color: #5c5c5c;
}

.win-about-spec-list dd {
  margin: 0;
  color: #1a1a1a;
}

.win-about-related-title {
  display: block;
  margin-bottom: 8px;
}

.win-about-related-links {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.win-about-related-link {
  border: none;
  background: transparent;
  color: #0067c0;
  font-size: 0.84rem;
  font-weight: 600;
  cursor: pointer;
  padding: 0;
}

.win-classic-overlay {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  background: rgba(0, 0, 0, 0.35);
  z-index: 70;
  padding: 20px;
}

.win-classic-dialog {
  width: min(430px, 96%);
  background: #f0f0f0;
  border: 1px solid #888;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
  color: #1a1a1a;
  font-size: 0.82rem;
}

.win-classic-dialog-sm {
  width: min(360px, 92%);
}

.win-classic-titlebar {
  background: linear-gradient(180deg, #fff 0%, #ebebeb 100%);
  border-bottom: 1px solid #ababab;
  padding: 6px 8px;
}

.win-classic-title {
  font-weight: 600;
  font-size: 0.84rem;
}

.win-classic-body {
  padding: 14px 16px 10px;
}

.win-classic-lead {
  margin: 0 0 12px;
  line-height: 1.45;
}

.win-classic-subtext {
  margin: -6px 0 12px;
  color: #444;
}

.win-classic-label {
  display: block;
  margin-bottom: 10px;
  font-size: 0.82rem;
}

.win-classic-input {
  display: block;
  width: 100%;
  margin-top: 4px;
  padding: 4px 6px;
  border: 1px solid #7a7a7a;
  background: #fff;
  font: inherit;
  box-sizing: border-box;
}

.win-classic-input:disabled {
  background: #ececec;
  color: #666;
}

.win-classic-member-group {
  display: grid;
  gap: 6px;
  margin-top: 8px;
}

.win-classic-radio-row {
  display: flex;
  align-items: center;
  gap: 8px;
  border: none;
  background: transparent;
  padding: 0;
  font: inherit;
  cursor: pointer;
  text-align: left;
}

.win-classic-radio {
  width: 14px;
  height: 14px;
  border: 1px solid #666;
  border-radius: 50%;
  background: #fff;
  position: relative;
  flex: 0 0 14px;
}

.win-classic-radio.checked::after {
  content: "";
  position: absolute;
  inset: 3px;
  border-radius: 50%;
  background: #1a1a1a;
}

.win-classic-member-input {
  margin-left: 22px;
  max-width: calc(100% - 22px);
}

.win-classic-buttons {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 10px 16px 14px;
}

.win-classic-btn {
  min-width: 75px;
  padding: 4px 14px;
  border: 1px solid #707070;
  background: #e1e1e1;
  font: inherit;
  cursor: pointer;
}

.win-classic-btn:disabled {
  opacity: 0.55;
  cursor: default;
}

.win-classic-btn-primary {
  border-color: #003c74;
  box-shadow: inset 0 0 0 1px #0078d7;
}

.win-drive-props-dialog {
  width: min(560px, 96%);
}

.win-drive-props-dialog .win-classic-body {
  min-height: 280px;
  padding: 10px 16px 8px;
}

.win-drive-props-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: 0 0 10px;
  padding: 0 2px;
  border-bottom: 1px solid #aca899;
}

.win-drive-props-tab {
  border: none;
  background: transparent;
  padding: 5px 10px 6px;
  font-size: 0.78rem;
  color: #222;
  cursor: pointer;
  margin-bottom: -1px;
  font-family: inherit;
}

.win-drive-props-tab:hover {
  background: #f3f3f3;
}

.win-drive-props-tab.active {
  border: 1px solid #aca899;
  border-bottom-color: #fff;
  background: #fff;
  font-weight: 600;
}

.win-drive-props-body {
  min-height: 230px;
}

.win-drive-props-panel {
  font-size: 0.82rem;
  color: #222;
}

.win-drive-props-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 12px;
}

.win-drive-props-icon {
  font-size: 2rem;
  line-height: 1;
  flex-shrink: 0;
}

.win-drive-props-icon svg {
  width: 32px;
  height: 32px;
}

.win-drive-props-meta {
  flex: 1;
  min-width: 0;
}

.win-drive-props-label-input {
  display: block;
  width: 100%;
  max-width: 280px;
  padding: 2px 4px;
  border: 1px solid #7a7a7a;
  font: inherit;
  font-weight: 600;
  margin-bottom: 4px;
  background: #fff;
}

.win-drive-props-meta p {
  margin: 2px 0 0;
  font-size: 0.82rem;
  color: #222;
}

.win-drive-props-stats {
  display: grid;
  gap: 4px;
  margin-bottom: 12px;
  font-size: 0.78rem;
}

.win-drive-props-stat {
  display: flex;
  align-items: center;
  gap: 8px;
}

.win-drive-props-stat-swatch {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
  border: 1px solid rgba(0, 0, 0, 0.15);
}

.win-drive-props-stat-used .win-drive-props-stat-swatch {
  background: #0078d4;
}

.win-drive-props-stat-free .win-drive-props-stat-swatch {
  background: #bfbfbf;
}

.win-drive-props-stat-capacity {
  padding-left: 20px;
  color: #333;
}

.win-drive-props-chart-row {
  margin-bottom: 14px;
}

.win-drive-props-chart-block {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.win-drive-props-donut-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

.win-drive-props-donut {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: conic-gradient(#0078d4 0 calc(var(--used-pct, 22) * 1%), #bfbfbf 0);
  border: 1px solid #999;
}

.win-drive-props-drive-label {
  font-size: 0.78rem;
  color: #333;
}

.win-drive-props-details-btn {
  margin-top: 28px;
}

.win-drive-props-check {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  width: 100%;
  border: none;
  background: transparent;
  font: inherit;
  text-align: left;
  color: #222;
  margin: 8px 0;
  padding: 0;
  cursor: pointer;
}

.win-drive-props-check.disabled {
  opacity: 0.55;
  cursor: default;
}

.win-drive-props-check input {
  margin-top: 2px;
  flex-shrink: 0;
}

.win-drive-props-section-title {
  margin: 0 0 8px;
  font-weight: 600;
}

.win-drive-props-lead {
  margin: 0 0 12px;
  line-height: 1.45;
}

.win-drive-props-note {
  margin: 10px 0 0;
  color: #555;
  font-size: 0.78rem;
}

.win-drive-props-tool-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid #e5e5e5;
}

.win-drive-props-tool-row:last-child {
  border-bottom: none;
}

.win-drive-props-tool-text {
  flex: 1;
}

.win-drive-props-tool-text strong {
  display: block;
  margin-bottom: 2px;
}

.win-drive-props-tool-text p {
  margin: 0;
  color: #444;
  font-size: 0.78rem;
  line-height: 1.4;
}

.win-drive-props-tool-btn,
.win-drive-props-inline-btn {
  flex-shrink: 0;
  align-self: center;
}

.win-drive-props-hardware-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
}

.win-drive-props-hardware-icon svg {
  width: 24px;
  height: 24px;
}

.win-drive-props-hardware-name {
  flex: 1;
}

.win-drive-props-sharing-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.win-drive-props-security-layout {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 14px;
}

.win-drive-props-security-list {
  border: 1px solid #7a7a7a;
  background: #fff;
  min-height: 120px;
  max-height: 140px;
  overflow: auto;
}

.win-drive-props-security-user {
  padding: 3px 6px;
  font-size: 0.78rem;
}

.win-drive-props-security-user.active {
  background: #0078d4;
  color: #fff;
}

.win-drive-props-security-btns {
  display: flex;
  gap: 8px;
  margin-top: 8px;
}

.win-drive-props-perms-head,
.win-drive-props-perms-row {
  display: grid;
  grid-template-columns: 1.4fr 52px 52px;
  gap: 6px;
  align-items: center;
  font-size: 0.76rem;
}

.win-drive-props-perms-head {
  font-weight: 600;
  margin-bottom: 4px;
}

.win-drive-props-perms-row {
  padding: 2px 0;
}

.win-drive-props-perms-row input {
  justify-self: center;
}

.win-drive-props-open-btn {
  margin-top: 8px;
}

.win-drive-props-quota-actions {
  margin-top: 10px;
}

.win-drive-props-quota-actions .disabled {
  opacity: 0.55;
  pointer-events: none;
}

.win-drive-cleanup-btn {
  white-space: nowrap;
}

.win-run-dialog {
  width: min(420px, 96%);
}

.win-run-dialog .os-input-group input {
  width: 100%;
}

.win-footer-run-link {
  border: none;
  background: transparent;
  color: #fff;
  font-size: 0.72rem;
  opacity: 0.92;
  padding: 4px 8px;
  cursor: pointer;
}

.win-footer-run-link:hover {
  text-decoration: underline;
}

.win-explorer-temp-banner {
  margin: 12px 16px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
}

.win-disk-cleanup-dialog {
  width: min(440px, 96%);
}

.win-sys-props-dialog {
  width: min(480px, 96%);
}

.win-sys-props-tabs {
  display: flex;
  gap: 2px;
  margin-bottom: 12px;
  border-bottom: 1px solid #ccc;
}

.win-sys-props-tab {
  padding: 4px 10px 6px;
  font-size: 0.8rem;
  color: #444;
}

.win-sys-props-tab.active {
  border: 1px solid #ccc;
  border-bottom-color: #f0f0f0;
  margin-bottom: -1px;
  background: #f0f0f0;
  color: #1a1a1a;
}

.win-sys-props-icon-row {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 12px;
}

.win-sys-props-os-icon svg {
  width: 48px;
  height: 48px;
}

.win-sys-props-note {
  margin: 4px 0 0;
  color: #444;
}

.win-sys-props-summary {
  display: grid;
  gap: 6px;
  margin: 12px 0;
  padding: 8px 0;
  border-top: 1px solid #d0d0d0;
  border-bottom: 1px solid #d0d0d0;
}

.win-sys-props-summary div {
  display: flex;
  gap: 8px;
}

.win-sys-props-summary span {
  min-width: 130px;
  color: #444;
}

.win-sys-props-actions {
  display: flex;
  gap: 8px;
  margin-top: 10px;
}

.win-domain-security-dialog .win-classic-body {
  padding-top: 8px;
}

.win-security-subtitle {
  margin: 0 0 10px;
  font-weight: 600;
}

.win-security-body {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.win-security-shield {
  font-size: 2rem;
  line-height: 1;
}

.win-security-fields {
  flex: 1;
}

.win-info-dialog-content {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.win-info-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #0078d4;
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 700;
  font-style: italic;
  flex: 0 0 32px;
}

.win-info-dialog-content p {
  margin: 0;
  line-height: 1.45;
}

.win-rdp-connection {
  width: min(520px, 96vw);
  min-height: 0;
  background: #f0f0f0;
  border: 1px solid #888;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
  font-size: 0.82rem;
  color: #1a1a1a;
}

.win-rdp-connection.win-rdp-expanded {
  width: min(560px, 96vw);
}

.win-rdp-titlebar {
  display: flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(180deg, #fff 0%, #ebebeb 100%);
  border-bottom: 1px solid #ababab;
  padding: 4px 8px;
}

.win-rdp-titlebar-icon svg {
  width: 16px;
  height: 16px;
}

.win-rdp-body {
  padding: 14px 16px 12px;
  background: #f0f0f0;
}

.win-rdp-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.win-rdp-header-icon svg {
  width: 48px;
  height: 48px;
}

.win-rdp-header-title {
  font-size: 1.45rem;
  font-weight: 400;
  color: #0067b8;
  letter-spacing: -0.01em;
}

.win-rdp-form-collapsed {
  display: grid;
  gap: 6px;
  padding-left: 4px;
}

.win-rdp-label {
  display: grid;
  grid-template-columns: 76px 1fr;
  align-items: center;
  gap: 8px;
  font-size: 0.82rem;
}

.win-rdp-input {
  width: 100%;
  padding: 3px 4px;
  border: 1px solid #7a7a7a;
  background: #fff;
  font: inherit;
  box-sizing: border-box;
}

.win-rdp-input:disabled {
  background: #f0f0f0;
  color: #666;
}

.win-rdp-user-line {
  margin: 2px 0 0 84px;
  font-size: 0.82rem;
  color: #1a1a1a;
}

.win-rdp-note {
  margin: 4px 0 0 84px;
  font-size: 0.82rem;
  color: #1a1a1a;
  line-height: 1.35;
}

.win-rdp-tabs {
  display: flex;
  gap: 0;
  border-bottom: 1px solid #ababab;
  margin-bottom: 10px;
}

.win-rdp-tab {
  border: 1px solid transparent;
  border-bottom: none;
  background: transparent;
  padding: 6px 14px 7px;
  font: inherit;
  font-size: 0.82rem;
  cursor: pointer;
  color: #1a1a1a;
  margin-bottom: -1px;
}

.win-rdp-tab:hover {
  background: rgba(255, 255, 255, 0.45);
}

.win-rdp-tab.active {
  background: #f0f0f0;
  border-color: #ababab;
  border-bottom-color: #f0f0f0;
  font-weight: 600;
}

.win-rdp-tab-panel {
  min-height: 280px;
  max-height: 320px;
  overflow: auto;
  padding-right: 4px;
}

.win-rdp-group {
  border: 1px solid #ababab;
  margin: 0 0 12px;
  padding: 10px 12px 12px;
  background: #f0f0f0;
}

.win-rdp-group-legend {
  padding: 0 4px;
  font-size: 0.82rem;
  font-weight: 600;
}

.win-rdp-group-inner {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 10px;
  align-items: start;
}

.win-rdp-group-icon {
  font-size: 1.6rem;
  line-height: 1;
  padding-top: 2px;
}

.win-rdp-group-content {
  min-width: 0;
}

.win-rdp-group-lead {
  margin: 0 0 10px;
  line-height: 1.35;
}

.win-rdp-field-row {
  display: grid;
  grid-template-columns: 118px 1fr;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.win-rdp-field-row.win-rdp-field-input {
  grid-template-columns: 118px 1fr;
}

.win-rdp-field-label {
  text-align: left;
  font-size: 0.82rem;
}

.win-rdp-status-line {
  margin: 4px 0 0;
  font-size: 0.82rem;
  line-height: 1.35;
}

.win-rdp-file-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.win-rdp-classic-btn {
  min-width: 72px;
  padding: 4px 14px;
  border: 1px solid #707070;
  background: linear-gradient(180deg, #fefefe 0%, #e8e8e8 100%);
  font: inherit;
  font-size: 0.82rem;
  cursor: pointer;
  color: #1a1a1a;
}

.win-rdp-classic-btn:hover:not(:disabled) {
  background: linear-gradient(180deg, #fff 0%, #efefef 100%);
  border-color: #555;
}

.win-rdp-classic-btn:disabled {
  opacity: 0.55;
  cursor: default;
}

.win-rdp-classic-btn-primary {
  min-width: 82px;
  font-weight: 600;
}

.win-rdp-dropdown {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 3px 6px;
  border: 1px solid #7a7a7a;
  background: #fff;
  font: inherit;
  font-size: 0.82rem;
  text-align: left;
  cursor: pointer;
  color: #1a1a1a;
}

.win-rdp-dropdown:hover {
  border-color: #555;
}

.win-rdp-dropdown-arrow {
  color: #666;
  font-size: 0.72rem;
  margin-left: 8px;
}

.win-rdp-check-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  border: none;
  background: transparent;
  padding: 2px 0;
  font: inherit;
  font-size: 0.82rem;
  text-align: left;
  cursor: pointer;
  color: #1a1a1a;
}

.win-rdp-check {
  width: 13px;
  height: 13px;
  border: 1px solid #707070;
  background: #fff;
  display: inline-block;
  flex-shrink: 0;
  position: relative;
}

.win-rdp-check.checked::after {
  content: "✓";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-size: 0.68rem;
  font-weight: 700;
  color: #1a1a1a;
}

.win-rdp-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #ccc;
}

.win-rdp-options-toggle {
  border: none;
  background: transparent;
  color: #0067b8;
  font: inherit;
  font-size: 0.82rem;
  cursor: pointer;
  padding: 4px 0;
}

.win-rdp-options-toggle:hover {
  text-decoration: underline;
}

.win-rdp-footer-actions {
  display: flex;
  gap: 8px;
}

.win-rdp-security-overlay {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  background: rgba(0, 0, 0, 0.35);
  z-index: 80;
  padding: 20px;
}

.win-rdp-security-card {
  width: min(380px, 92vw);
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.28);
  overflow: hidden;
}

.win-rdp-security-head {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-bottom: 1px solid #eee;
  font-size: 0.82rem;
  font-weight: 600;
}

.win-rdp-security-shield {
  font-size: 1rem;
}

.win-rdp-security-close {
  margin-left: auto;
  border: none;
  background: transparent;
  font-size: 1rem;
  cursor: pointer;
  color: #666;
}

.win-rdp-security-body {
  padding: 18px 20px 20px;
}

.win-rdp-security-title {
  margin: 0 0 6px;
  font-size: 1.15rem;
  font-weight: 700;
}

.win-rdp-security-desc {
  margin: 0 0 16px;
  font-size: 0.84rem;
  color: #444;
  line-height: 1.4;
}

.win-rdp-security-label {
  display: block;
  margin-bottom: 10px;
}

.win-rdp-security-input {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font: inherit;
  box-sizing: border-box;
}

.win-rdp-security-remember {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 8px 0 16px;
  font-size: 0.82rem;
  color: #444;
}

.win-rdp-security-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.win-rdp-security-btn,
.win-rdp-security-btn-primary {
  padding: 10px 16px;
  border-radius: 4px;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}

.win-rdp-security-btn {
  border: 1px solid #ccc;
  background: #fff;
}

.win-rdp-security-btn-primary {
  border: 1px solid #0d6e6e;
  background: #0d6e6e;
  color: #fff;
}

.win-rdp-session {
  width: min(920px, 96vw);
  height: min(620px, 88vh);
  display: flex;
  flex-direction: column;
  background: #1a1a1a;
  border: 1px solid #555;
}

.win-rdp-session-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  background: #111;
}

.win-rdp-session-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 10px;
  background: #2d2d2d;
  color: #ddd;
  font-size: 0.75rem;
  border-bottom: 1px solid #444;
}

.win-rdp-session-bar-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #107c10;
}

.win-rdp-remote-desktop {
  position: relative;
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

.win-rdp-remote-surface {
  position: absolute;
  inset: 0;
  z-index: 1;
  border: none;
  background: transparent;
  cursor: default;
  padding: 0;
}

.win-rdp-remote-wallpaper {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.win-rdp-remote-icons {
  position: absolute;
  top: 12px;
  left: 12px;
  display: grid;
  gap: 10px;
  z-index: 2;
}

.win-rdp-remote-icon {
  display: grid;
  justify-items: center;
  gap: 4px;
  width: 76px;
  padding: 6px 4px;
  border: 1px solid transparent;
  border-radius: 4px;
  background: transparent;
  color: #fff;
  font: inherit;
  cursor: pointer;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
}

.win-rdp-remote-icon.selected {
  border-color: rgba(255, 255, 255, 0.35);
  background: rgba(0, 120, 212, 0.35);
}

.win-rdp-remote-icon-graphic svg {
  width: 40px;
  height: 40px;
}

.win-rdp-remote-icon-label {
  font-size: 0.68rem;
  text-align: center;
  line-height: 1.2;
}

.win-rdp-remote-taskbar {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 40px;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 0 8px;
  background: rgba(243, 243, 243, 0.92);
  backdrop-filter: blur(12px);
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  z-index: 3;
}

.win-rdp-remote-taskbar-btn {
  width: 40px;
  height: 36px;
  display: grid;
  place-items: center;
  border: none;
  background: transparent;
  border-radius: 4px;
  cursor: pointer;
}

.win-rdp-remote-taskbar-btn:hover {
  background: rgba(0, 0, 0, 0.06);
}

.win-rdp-remote-taskbar-btn svg {
  width: 20px;
  height: 20px;
}

.win-rdp-remote-start-btn svg {
  width: 18px;
  height: 18px;
}

.win-rdp-remote-taskbar-spacer {
  flex: 1;
}

.win-rdp-remote-clock {
  font-size: 0.72rem;
  color: #1a1a1a;
  padding: 0 8px;
}

.mac-force-quit-list {
  display: grid;
  gap: 4px;
  margin-bottom: 12px;
}

.mac-force-quit-row {
  display: block;
  width: 100%;
  text-align: left;
  padding: 8px 12px;
  border: none;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.04);
  cursor: pointer;
  font-size: 0.84rem;
}

.mac-force-quit-row:hover {
  background: rgba(0, 122, 255, 0.12);
}

.mac-lock-screen {
  position: absolute;
  inset: 0;
  z-index: 60;
  display: grid;
  place-items: center;
  background: rgba(0, 0, 0, 0.82);
  backdrop-filter: blur(24px);
  color: #fff;
  text-align: center;
}

.mac-lock-screen-time {
  font-size: 5rem;
  font-weight: 200;
  line-height: 1;
}

.mac-lock-screen-date {
  font-size: 1.2rem;
  opacity: 0.85;
  margin-bottom: 24px;
}

.mac-lock-screen-hint {
  font-size: 0.82rem;
  opacity: 0.6;
}

.mac-lock-screen-unlock {
  position: absolute;
  inset: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  color: transparent;
}

.mac-sleep-screen {
  position: absolute;
  inset: 0;
  z-index: 58;
  background: #000;
  display: grid;
  place-items: center;
}

.mac-sleep-wake-btn {
  border: none;
  background: transparent;
  color: rgba(255, 255, 255, 0.35);
  font-size: 0.82rem;
  cursor: pointer;
  position: absolute;
  inset: 0;
}

.os-mac.mac-sleeping-active .mac-desktop-surface,
.os-mac.mac-sleeping-active .mac-dock-wrap,
.os-mac.mac-sleeping-active .overlay-window {
  visibility: hidden;
}

.mac-terminal {
  width: min(720px, 92%);
  height: min(440px, 72%);
  background: rgba(30, 30, 30, 0.92);
  backdrop-filter: blur(20px);
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.mac-terminal .window-titlebar {
  background: transparent;
  color: rgba(255, 255, 255, 0.85);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.mac-terminal .window-body {
  font-family: "SF Mono", Menlo, monospace;
  color: #f5f5f7;
  height: calc(100% - 42px);
  overflow: auto;
  font-size: 0.82rem;
}

.mac-terminal .term-action {
  color: #30d158;
  background: transparent;
  border: 1px dashed rgba(255, 255, 255, 0.2);
  border-radius: 6px;
  padding: 2px 8px;
  margin-left: 6px;
  font-family: inherit;
}

.mac-menu-icon {
  opacity: 0.9;
  font-size: 0.85rem;
}

.mac-wifi-popup {
  right: 168px;
  top: 32px;
}

.mac-desktop-widget {
  display: none;
  position: absolute;
  top: 48px;
  left: 24px;
  z-index: 2;
}

.os-mac.mac-widgets-on-desktop .mac-desktop-widget {
  display: block;
}

.mac-widget-card {
  width: 148px;
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.28);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: #fff;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}

.mac-widget-title {
  display: block;
  font-size: 0.72rem;
  opacity: 0.85;
}

.mac-widget-day {
  display: block;
  font-size: 2rem;
  line-height: 1.05;
  margin: 2px 0;
}

.mac-widget-sub {
  display: block;
  font-size: 0.78rem;
  opacity: 0.9;
}

.os-mac.mac-desktop-hide-items .mac-desktop-icons,
.os-mac.mac-desktop-hide-items .mac-desktop-hd-icon {
  display: none;
}

.mac-desktop-wallpaper {
  position: absolute;
  inset: 0;
  border: none;
  padding: 0;
  cursor: default;
  z-index: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.os-mac.mac-desktop-revealed .overlay-window {
  opacity: 0.08;
  pointer-events: none;
  transform: scale(0.92) translateY(12px);
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.os-mac.mac-stage-manager-on .overlay-window:not(.hidden) {
  top: auto !important;
  bottom: 88px !important;
  left: 50% !important;
  transform: translateX(-50%) scale(0.78) !important;
  max-width: 72%;
}

.mac-dock-wrap {
  position: absolute;
  z-index: 30;
  pointer-events: none;
}

.mac-dock-wrap .mac-dock {
  pointer-events: auto;
}

.os-mac.mac-dock-pos-bottom .mac-dock-wrap {
  left: 50%;
  bottom: 8px;
  transform: translateX(-50%);
}

.os-mac.mac-dock-pos-left .mac-dock-wrap {
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
}

.os-mac.mac-dock-pos-right .mac-dock-wrap {
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
}

.os-mac.mac-dock-pos-left .mac-dock,
.os-mac.mac-dock-pos-right .mac-dock {
  flex-direction: column;
  max-width: none;
  max-height: min(88%, 720px);
  overflow-y: auto;
  overflow-x: hidden;
}

.os-mac.mac-dock-pos-left .mac-dock-divider,
.os-mac.mac-dock-pos-right .mac-dock-divider {
  width: 42px;
  height: 1px;
  margin: 2px 0;
}

.mac-dock {
  transform: scale(var(--mac-dock-scale, 1));
  transform-origin: center bottom;
  transition: transform 0.18s ease, opacity 0.2s ease;
}

.os-mac.mac-dock-pos-left .mac-dock,
.os-mac.mac-dock-pos-right .mac-dock {
  transform: scale(var(--mac-dock-scale, 1));
  transform-origin: center center;
}

.os-mac.mac-dock-autohide .mac-dock-wrap {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
}

.os-mac.mac-dock-autohide:hover .mac-dock-wrap,
.os-mac.mac-dock-autohide .mac-dock-wrap:hover {
  opacity: 1;
  pointer-events: auto;
}

.os-mac.mac-dock-autohide::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 6px;
  z-index: 29;
}

.os-mac.mac-dock-pos-right.mac-dock-autohide::after {
  left: auto;
  top: 0;
  bottom: 0;
  right: 0;
  width: 6px;
  height: auto;
}

.os-mac.mac-dock-pos-left.mac-dock-autohide::after {
  right: auto;
  top: 0;
  bottom: 0;
  left: 0;
  width: 6px;
  height: auto;
}

.os-mac.mac-dock-autohide:hover::after {
  pointer-events: none;
}

.os-mac.mac-dock-magnify-enabled .mac-dock-app:hover {
  transform: scale(calc(1 + var(--mac-dock-mag, 0.25)));
  z-index: 3;
}

.os-mac.mac-dock-animate-open .mac-dock-app {
  animation: macDockBounce 0.45s ease;
}

@keyframes macDockBounce {
  0% { transform: translateY(0) scale(1); }
  35% { transform: translateY(-14px) scale(1.08); }
  100% { transform: translateY(0) scale(1); }
}

.overlay-window.mac-window-filled {
  width: 96% !important;
  height: 88% !important;
  left: 2% !important;
  top: 6% !important;
}

.mac-desktop-dock-settings .mac-settings-section-desc {
  margin: 0 0 8px;
  padding: 0 2px;
  color: #6e6e73;
  font-size: 0.78rem;
  line-height: 1.45;
}

.mac-settings-checkbox-group {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 14px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.mac-settings-checkbox-group:last-child {
  border-bottom: none;
}

.mac-settings-checkbox-group-label {
  font-size: 0.84rem;
  color: #1d1d1f;
}

.mac-settings-checkbox-options {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
}

.mac-settings-checkbox-row,
.mac-settings-checkbox-inline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
  font: inherit;
  color: #1d1d1f;
}

.mac-settings-checkbox {
  width: 16px;
  height: 16px;
  border-radius: 4px;
  border: 1px solid rgba(0, 0, 0, 0.18);
  display: grid;
  place-items: center;
  font-size: 0.72rem;
  color: #fff;
  background: #fff;
}

.mac-settings-checkbox.checked {
  background: #007aff;
  border-color: #007aff;
}

.mac-settings-checkbox-label {
  font-size: 0.82rem;
}

.mac-dock-slider-row {
  padding: 12px 14px 14px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.mac-dock-slider-row.muted {
  opacity: 0.45;
}

.mac-dock-slider-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  font-size: 0.84rem;
  color: #1d1d1f;
}

.mac-dock-slider-track {
  display: grid;
  grid-template-columns: auto auto 1fr auto;
  align-items: center;
  gap: 10px;
}

.mac-dock-slider-end {
  font-size: 0.72rem;
  color: #6e6e73;
  white-space: nowrap;
}

.mac-dock-slider-mid {
  justify-self: center;
}

.mac-dock-range {
  width: 100%;
}

.mac-browser-option {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.mac-browser-icon {
  width: 18px;
  height: 18px;
  border-radius: 4px;
  display: inline-block;
}

.mac-browser-chrome {
  background: linear-gradient(180deg, #34a853 0%, #34a853 33%, #fbbc05 33%, #fbbc05 66%, #ea4335 66%, #ea4335 100%);
}

.mac-browser-safari {
  background: radial-gradient(circle at 50% 50%, #fff 0 24%, transparent 25%), linear-gradient(180deg, #5ac8fa, #007aff);
}

.mac-browser-firefox {
  background: linear-gradient(180deg, #ff7139, #c0392b);
}

.mac-browser-edge {
  background: linear-gradient(135deg, #0078d4, #28a8ea);
}

.mac-settings-dropdown-row .mac-browser-option {
  color: #6e6e73;
  font-size: 0.78rem;
}

.os-linux {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

/* Red Hat Enterprise Linux desktop */
.os-linux .desktop-bg {
  background-color: #0a1020;
  background-image: url('assets/wallpaper-rhel.png?v=20260726b');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.os-linux.overview-mode .desktop-bg {
  background:
    radial-gradient(circle at 30% 20%, rgba(255, 255, 255, 0.08), transparent 40%),
    linear-gradient(160deg, #1a2744 0%, #243b55 45%, #2f4f4f 100%);
  filter: none;
}

.linux-overview-backdrop {
  position: absolute;
  inset: 0;
  border: none;
  background: transparent;
  z-index: 0;
  cursor: default;
}

.linux-overview-content {
  position: relative;
  z-index: 1;
  height: 100%;
  overflow: auto;
  padding: 60px 40px 40px 72px;
}

.linux-overview-hint {
  margin-left: auto;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.74rem;
}

.linux-topbar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 10px;
  background: rgba(36, 36, 36, 0.92);
  color: #fff;
  font-size: 0.8rem;
  z-index: 30;
  font-family: "Cantarell", "Segoe UI", sans-serif;
}

.linux-topbar-left,
.linux-topbar-right {
  display: flex;
  align-items: center;
  gap: 8px;
}

.linux-topbar {
  background: #000;
  height: 32px;
  font-size: 0.78rem;
}

.linux-topbar-link {
  border: none;
  background: transparent;
  color: #fff;
  padding: 4px 8px;
  font-weight: 600;
}

.linux-topbar-search-wrap {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: 32;
}

.linux-topbar-search {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  width: min(320px, 40vw);
  padding: 4px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.08);
}

.linux-search-results {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  max-height: 320px;
  overflow: auto;
  background: rgba(36, 36, 36, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
  padding: 4px;
}

.linux-search-results .search-result-row {
  color: #fff;
}

.linux-overview-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.linux-app-count {
  color: rgba(255, 255, 255, 0.65);
  font-size: 0.82rem;
}

.linux-topbar-search input {
  flex: 1;
  border: none;
  background: transparent;
  color: #fff;
  font-size: 0.78rem;
  outline: none;
}

.linux-topbar-search svg {
  width: 14px;
  height: 14px;
  opacity: 0.7;
}

.linux-dash {
  position: absolute;
  left: 8px;
  top: 44px;
  bottom: 8px;
  width: 58px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 10px 0 8px;
  border-radius: 16px;
  background: rgba(28, 28, 28, 0.88);
  backdrop-filter: blur(14px);
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.35);
  z-index: 25;
}

.linux-dash-apps {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  width: 100%;
}

.linux-dash-footer {
  margin-top: auto;
  width: 100%;
  display: flex;
  justify-content: center;
  padding-top: 8px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.linux-show-apps-btn {
  width: 46px;
  height: 46px;
  border: none;
  background: transparent;
  padding: 2px;
  border-radius: 12px;
  cursor: pointer;
  display: grid;
  place-items: center;
}

.linux-show-apps-btn:hover {
  background: rgba(255, 255, 255, 0.1);
}

.linux-show-apps-btn .icon-rhel-app,
.linux-show-apps-btn svg {
  width: 40px;
  height: 40px;
}

.linux-dash-app {
  width: 48px;
  height: 48px;
  border: none;
  background: transparent;
  padding: 2px;
  border-radius: 12px;
  cursor: pointer;
  display: grid;
  place-items: center;
  position: relative;
}

.linux-dash-app .icon-rhel-app,
.linux-dash-app .icon-app,
.linux-dash-app svg {
  width: 40px;
  height: 40px;
  display: block;
}

.linux-dash-app:hover {
  background: rgba(255, 255, 255, 0.1);
}

.linux-dash-app.active::after {
  content: "";
  position: absolute;
  left: -4px;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 18px;
  border-radius: 999px;
  background: #fff;
}

.linux-overview {
  padding: 48px 24px 60px 72px;
  background: transparent;
  backdrop-filter: none;
}

.linux-grid-toggle {
  display: flex;
  justify-content: center;
  gap: 0;
  margin-top: 24px;
}

.linux-grid-toggle span {
  padding: 6px 16px;
  border-radius: 999px;
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.7);
}

.linux-grid-toggle span.active {
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
}

.linux-wifi-popup,
.linux-vpn-popup {
  top: 36px;
}

.linux-status-btn {
  display: grid;
  place-items: center;
  min-width: 28px;
  height: 26px;
  padding: 0 6px;
  border-radius: 6px;
  border: none;
  background: transparent;
  color: #fff;
  font-size: 0.72rem;
}

.linux-status-btn svg {
  width: 15px;
  height: 15px;
}

.linux-status-btn:hover {
  background: rgba(255, 255, 255, 0.08);
}

.linux-desktop-surface {
  position: absolute;
  inset: 32px 0 0 0;
  z-index: 1;
}

.linux-desktop-layer {
  position: absolute;
  inset: 0;
  border: none;
  background: transparent;
  z-index: 0;
  display: none;
}

.os-linux.linux-context-open .linux-desktop-layer {
  display: block;
  z-index: 20;
}

.linux-desktop-icons {
  position: absolute;
  top: 16px;
  left: 16px;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 18px 24px;
  max-height: calc(100% - 32px);
  z-index: 2;
}

.linux-desktop-icon {
  display: grid;
  justify-items: center;
  gap: 6px;
  width: 88px;
  padding: 6px 4px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: #fff;
  text-align: center;
  font-size: 0.72rem;
  cursor: default;
}

.linux-desktop-icon.selected,
.linux-desktop-icon:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.15);
}

.linux-desktop-icon-graphic svg {
  width: 48px;
  height: 48px;
}

.linux-desktop-icon-label {
  line-height: 1.2;
  word-break: break-word;
}

.linux-desktop-rename-input {
  width: 84px;
  padding: 2px 4px;
  border: 1px solid #3584e4;
  border-radius: 4px;
  background: #fff;
  color: #222;
  font-size: 0.72rem;
  text-align: center;
}

.linux-context-menu {
  position: absolute;
  min-width: 200px;
  padding: 6px 0;
  border-radius: 8px;
  background: #383838;
  color: #fff;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
  z-index: 50;
  font-size: 0.82rem;
}

.linux-ctx-item {
  display: block;
  width: 100%;
  border: none;
  background: transparent;
  color: inherit;
  text-align: left;
  padding: 8px 16px;
  cursor: default;
}

.linux-ctx-item:hover:not(.disabled) {
  background: #3584e4;
}

.linux-ctx-item.disabled {
  opacity: 0.45;
}

.linux-ctx-separator {
  height: 1px;
  margin: 4px 0;
  background: rgba(255, 255, 255, 0.12);
}

.linux-files {
  width: min(720px, 92vw);
  height: min(480px, 72vh);
}

.linux-files-layout {
  display: grid;
  grid-template-columns: 160px 1fr;
  height: calc(100% - 36px);
}

.linux-files-sidebar {
  padding: 10px 8px;
  border-right: 1px solid rgba(0, 0, 0, 0.08);
  background: #f6f6f6;
}

.linux-files-sidebar-item {
  display: block;
  width: 100%;
  border: none;
  background: transparent;
  text-align: left;
  padding: 8px 10px;
  border-radius: 6px;
  font-size: 0.82rem;
  color: #222;
}

.linux-files-sidebar-item:hover {
  background: rgba(53, 132, 228, 0.12);
}

.linux-files-main {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.linux-desktop-icons.positioned {
  position: relative;
  display: block;
  width: 100%;
  height: calc(100% - 32px);
  max-height: none;
}

.linux-desktop-icons.positioned .linux-desktop-icon {
  position: absolute;
}

.linux-desktop-icon.dragging {
  opacity: 0.88;
  z-index: 12;
  cursor: grabbing;
}

.linux-files-toolbar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  background: #fafafa;
}

.linux-files-nav-btn {
  flex-shrink: 0;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 6px;
  background: #fff;
  color: #222;
  font-size: 0.78rem;
  padding: 4px 10px;
  cursor: default;
}

.linux-files-nav-btn:hover:not(.disabled) {
  background: rgba(53, 132, 228, 0.1);
}

.linux-files-nav-btn.disabled {
  opacity: 0.45;
  pointer-events: none;
}

.linux-files-toolbar .linux-files-pathbar {
  flex: 1;
  border-bottom: none;
  padding: 4px 8px;
  background: transparent;
}

.linux-files-pathbar {
  padding: 8px 12px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  font-size: 0.82rem;
  color: #444;
  background: #fff;
}

.linux-files-list {
  flex: 1;
  overflow: auto;
  padding: 4px 0;
  background: #fff;
}

.linux-files-row {
  display: grid;
  grid-template-columns: 28px 1fr 80px;
  gap: 8px;
  align-items: center;
  width: 100%;
  border: none;
  background: transparent;
  text-align: left;
  padding: 6px 12px;
  font-size: 0.82rem;
  color: #222;
}

.linux-files-row.selected,
.linux-files-row:hover {
  background: rgba(53, 132, 228, 0.12);
}

.linux-files-row-size {
  color: #666;
  font-size: 0.76rem;
  text-align: right;
}

.linux-files-empty {
  padding: 24px;
  color: #666;
  font-size: 0.84rem;
}

.linux-text-viewer {
  width: min(560px, 90vw);
  height: min(420px, 70vh);
}

.linux-text-viewer-body {
  height: calc(100% - 36px);
  overflow: auto;
  padding: 12px 16px;
  background: #fff;
}

.linux-text-viewer-body pre {
  margin: 0;
  white-space: pre-wrap;
  font-family: "Source Code Pro", monospace;
  font-size: 0.82rem;
  color: #222;
}

.linux-overview {
  position: absolute;
  inset: 0;
  padding: 0;
  background: rgba(26, 26, 46, 0.72);
  z-index: 35;
}

.linux-overview.hidden {
  display: none;
}

.linux-overview-search {
  width: 100%;
  max-width: 420px;
  padding: 10px 14px;
  margin-bottom: 24px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  font-size: 0.88rem;
}

.linux-app-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(100px, 1fr));
  gap: 24px 16px;
  max-width: 900px;
}

.linux-app-tile {
  display: grid;
  justify-items: center;
  gap: 8px;
  color: #fff;
  font-size: 0.76rem;
  text-align: center;
  border: none;
  background: transparent;
}

.linux-app-icon {
  width: 56px;
  height: 56px;
}

.linux-app-icon .icon-app,
.linux-app-icon .icon-rhel-app {
  width: 56px;
  height: 56px;
}

.linux-settings,
.linux-tweaks {
  width: min(860px, 96%);
  height: min(620px, 86%);
  background: #fafafa;
  color: #2e3436;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #c0bfbc;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18), 0 2px 8px rgba(0, 0, 0, 0.08);
}

.gnome-settings-titlebar {
  display: grid;
  grid-template-columns: 240px 1fr;
  min-height: 46px;
  padding: 0;
  background: #ebebeb;
  border-bottom: 1px solid #c0bfbc;
  cursor: grab;
  color: #2e3436;
}

.gnome-settings-titlebar-side {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 10px;
  border-right: 1px solid #c0bfbc;
  min-width: 0;
}

.gnome-header-app-name {
  flex: 1;
  text-align: center;
  font-weight: 600;
  font-size: 0.84rem;
}

.gnome-settings-titlebar-main {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 0 12px;
  min-width: 0;
}

.gnome-header-page-title {
  font-weight: 600;
  font-size: 0.84rem;
}

.gnome-header-icon-btn {
  width: 32px;
  height: 32px;
  border: none;
  background: transparent;
  border-radius: 6px;
  display: grid;
  place-items: center;
  cursor: pointer;
  color: #2e3436;
  font-size: 0.9rem;
  flex-shrink: 0;
  padding: 0;
}

.gnome-header-icon-btn:hover {
  background: rgba(0, 0, 0, 0.06);
}

.gnome-header-icon-btn .icon-rhel-app,
.gnome-header-icon-btn svg {
  width: 18px;
  height: 18px;
}

.gnome-header-window-controls {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: stretch;
}

.gnome-header-window-btn {
  width: 40px;
  border: none;
  background: transparent;
  color: #2e3436;
  font-size: 0.82rem;
  display: grid;
  place-items: center;
  cursor: default;
  padding: 0;
}

.gnome-header-close {
  cursor: pointer;
}

.gnome-header-close:hover {
  background: #c01c28;
  color: #fff;
}

.linux-tweaks .window-titlebar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 0 0 14px;
  min-height: 38px;
  background: #ebebeb;
  color: #2e3436;
  border-bottom: 1px solid #deddda;
  font-weight: 600;
  font-size: 0.82rem;
  cursor: grab;
}

.linux-settings .linux-window-close,
.linux-tweaks .linux-window-close {
  color: #2e3436;
}

.linux-settings .linux-window-close:hover,
.linux-tweaks .linux-window-close:hover {
  background: rgba(0, 0, 0, 0.08);
  color: #c01c28;
}

.os-linux .overlay-window > .window-titlebar {
  cursor: grab;
}

.os-linux .overlay-window.dragging > .window-titlebar {
  cursor: grabbing;
}

.linux-settings-layout {
  display: grid;
  grid-template-columns: 240px 1fr;
  height: calc(100% - 46px);
}

.gnome-settings-nav {
  background: #f6f5f4;
  border-right: 1px solid #c0bfbc;
  padding: 4px 6px 8px;
  overflow: auto;
}

.gnome-nav-search {
  width: calc(100% - 4px);
  box-sizing: border-box;
  margin: 4px 2px 8px;
  border: 1px solid #c0bfbc;
  border-radius: 8px;
  padding: 7px 10px;
  font-size: 0.82rem;
  background: #fff;
}

.gnome-settings-nav .settings-nav-item {
  display: flex;
  align-items: center;
  width: 100%;
  color: #2e3436;
  border-radius: 8px;
  font-size: 0.84rem;
  padding: 8px 10px;
  gap: 10px;
  border: none;
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.gnome-settings-nav .settings-nav-label {
  flex: 1;
}

.gnome-settings-nav .settings-nav-chevron {
  color: #77767b;
  font-size: 1rem;
  line-height: 1;
}

.gnome-settings-nav .settings-nav-item:hover:not(.active) {
  background: rgba(0, 0, 0, 0.04);
}

.gnome-settings-nav .settings-nav-item.active {
  background: #e95420;
  color: #fff;
  font-weight: 600;
}

.gnome-settings-nav .settings-nav-item.active .settings-nav-chevron {
  color: rgba(255, 255, 255, 0.85);
}

.gnome-settings-nav .settings-nav-icon svg,
.gnome-settings-nav .settings-nav-icon .icon-rhel-app {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.gnome-settings-nav .settings-nav-item.active .settings-nav-icon svg * {
  fill: #fff !important;
  stroke: #fff !important;
}

.linux-settings-main {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: #fafafa;
}

.gnome-settings-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 28px 10px;
  border-bottom: 1px solid #ebebeb;
  background: #fafafa;
}

.gnome-tweaks-header .gnome-master-toggle {
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
}

.gnome-settings-title {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 700;
  color: #2e3436;
}

.gnome-settings-content {
  padding: 20px 28px 28px;
  overflow: auto;
  flex: 1;
  background: #fafafa;
}

.gnome-network-page {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.gnome-panel-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}

.gnome-panel-section-title {
  font-weight: 600;
  font-size: 0.88rem;
  color: #2e3436;
}

.gnome-panel-add-btn {
  width: 28px;
  height: 28px;
  border: none;
  background: transparent;
  border-radius: 6px;
  font-size: 1.2rem;
  line-height: 1;
  color: #2e3436;
  cursor: pointer;
  padding: 0;
}

.gnome-panel-add-btn:hover {
  background: rgba(0, 0, 0, 0.06);
}

.gnome-panel-box {
  background: #fff;
  border: 1px solid #deddda;
  border-radius: 10px;
  padding: 14px 16px;
  color: #2e3436;
  font-size: 0.88rem;
}

.gnome-panel-empty {
  color: #5e5c64;
}

.gnome-panel-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  text-align: left;
  cursor: pointer;
  border: 1px solid #deddda;
  background: #fff;
}

.gnome-panel-row-label {
  font-weight: 500;
}

.gnome-panel-row-meta {
  color: #5e5c64;
  display: flex;
  align-items: center;
  gap: 6px;
}

.gnome-panel-gear {
  font-size: 0.9rem;
}

.gnome-vpn-setup {
  margin-top: 10px;
  display: grid;
  gap: 8px;
}

.gnome-background-page {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.gnome-wallpaper-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 14px;
}

.gnome-wallpaper-tile {
  display: flex;
  flex-direction: column;
  gap: 8px;
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
  text-align: left;
}

.gnome-wallpaper-thumb {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: 10px;
  border: 2px solid transparent;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}

.gnome-wallpaper-tile.selected .gnome-wallpaper-thumb {
  border-color: #e95420;
  box-shadow: 0 0 0 2px rgba(233, 84, 32, 0.25);
}

.gnome-wallpaper-tile:hover .gnome-wallpaper-thumb {
  border-color: rgba(233, 84, 32, 0.45);
}

.gnome-wallpaper-label {
  font-size: 0.82rem;
  color: #2e3436;
  font-weight: 500;
}

.win-wallpaper-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 14px;
  margin-top: 12px;
}

.win-wallpaper-tile {
  display: flex;
  flex-direction: column;
  gap: 8px;
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
  text-align: left;
}

.win-wallpaper-thumb {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: 8px;
  border: 2px solid transparent;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}

.win-wallpaper-tile.selected .win-wallpaper-thumb {
  border-color: #0078d4;
  box-shadow: 0 0 0 2px rgba(0, 120, 212, 0.25);
}

.win-wallpaper-tile:hover .win-wallpaper-thumb {
  border-color: rgba(0, 120, 212, 0.45);
}

.win-wallpaper-label {
  font-size: 0.82rem;
  color: #1a1a1a;
  font-weight: 500;
}

.datetime-settings-card {
  margin-top: 8px;
}

.datetime-settings-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.datetime-settings-note {
  margin-top: 12px;
}

.linux-topbar-clock {
  border: none;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
  padding: 2px 8px;
  border-radius: 4px;
}

.linux-topbar-clock:hover {
  background: rgba(255, 255, 255, 0.08);
}

.os-input-group input[type="date"],
.os-input-group input[type="time"] {
  width: 100%;
  max-width: 240px;
  padding: 8px 10px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 6px;
  font: inherit;
  background: #fff;
  color: #1a1a1a;
}

.mac-settings-detail-group .os-input-group input[type="date"],
.mac-settings-detail-group .os-input-group input[type="time"],
.gnome-simple-page .os-input-group input[type="date"],
.gnome-simple-page .os-input-group input[type="time"] {
  background: #fff;
}

.gnome-settings-content .settings-card {
  background: #fff;
  border: 1px solid #deddda;
  border-radius: 10px;
  color: #2e3436;
  padding: 14px;
  margin-top: 12px;
}

.gnome-page-lead {
  color: #5e5c64;
  font-size: 0.88rem;
  margin: 0 0 16px;
  line-height: 1.45;
}

.gnome-settings-group {
  background: #fff;
  border: 1px solid #deddda;
  border-radius: 12px;
  margin-bottom: 16px;
  overflow: hidden;
}

.gnome-group-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px 8px;
}

.gnome-group-head h3 {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
}

.gnome-group-icon svg {
  opacity: 0.55;
}

.gnome-group-body {
  padding: 0 18px 12px;
}

.gnome-toggle-row,
.gnome-dropdown-row,
.gnome-link-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  border: none;
  background: transparent;
  padding: 12px 0;
  text-align: left;
  cursor: pointer;
  font: inherit;
  color: inherit;
  border-top: 1px solid #f0f0f0;
}

.gnome-group-body > :first-child {
  border-top: none;
}

.gnome-toggle-row:hover,
.gnome-dropdown-row:hover,
.gnome-link-row:hover {
  background: rgba(0, 0, 0, 0.02);
  margin: 0 -8px;
  padding: 12px 8px;
  border-radius: 8px;
}

.gnome-row-text strong {
  display: block;
  font-size: 0.88rem;
  font-weight: 600;
}

.gnome-row-desc {
  display: block;
  font-size: 0.78rem;
  color: #77767b;
  margin-top: 3px;
  line-height: 1.35;
  max-width: 420px;
}

.gnome-dropdown-value,
.gnome-link-value {
  font-size: 0.84rem;
  color: #3584e4;
  white-space: nowrap;
}

.gnome-switch {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 28px;
  border-radius: 14px;
  background: #c0bfbc;
  flex-shrink: 0;
  transition: background 0.15s ease;
}

.gnome-switch.on {
  background: #3584e4;
}

.gnome-switch-text {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #fff;
}

.gnome-slider-row {
  padding: 12px 0;
  border-top: 1px solid #f0f0f0;
}

.gnome-slider-row strong {
  display: block;
  font-size: 0.88rem;
  margin-bottom: 10px;
}

.gnome-slider-track {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
}

.gnome-slider-end {
  font-size: 0.78rem;
  color: #77767b;
}

.gnome-slider {
  width: 100%;
  accent-color: #3584e4;
}

.gnome-dropdown-wrap {
  position: relative;
}

.gnome-inline-menu {
  position: absolute;
  right: 0;
  top: calc(100% - 4px);
  z-index: 5;
  min-width: 220px;
  background: #fff;
  border: 1px solid #deddda;
  border-radius: 10px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
  padding: 6px;
}

.gnome-menu-item {
  display: block;
  width: 100%;
  border: none;
  background: transparent;
  text-align: left;
  padding: 8px 12px;
  border-radius: 6px;
  font: inherit;
  font-size: 0.84rem;
  cursor: pointer;
  color: #2e3436;
}

.gnome-menu-item:hover,
.gnome-menu-item.active {
  background: rgba(53, 132, 228, 0.12);
  color: #3584e4;
}

.gnome-page-toolbar {
  position: relative;
  display: flex;
  justify-content: flex-end;
  margin-bottom: 8px;
}

.gnome-toolbar-btn {
  border: 1px solid #deddda;
  background: #fff;
  border-radius: 8px;
  padding: 6px 12px;
  font: inherit;
  font-size: 0.82rem;
  cursor: pointer;
  color: #2e3436;
}

.gnome-toolbar-btn:hover {
  background: #f6f5f4;
}

.gnome-extensions-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.gnome-extension-row {
  display: grid;
  grid-template-columns: 32px 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 14px 12px;
  border: 1px solid transparent;
  border-radius: 10px;
  margin-bottom: 4px;
}

.gnome-extension-row.enabled,
.gnome-extension-row:hover {
  background: #fff;
  border-color: #deddda;
}

.gnome-extension-gear,
.gnome-extension-gear-spacer {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.gnome-extension-gear {
  border: none;
  background: transparent;
  border-radius: 6px;
  cursor: pointer;
  font-size: 1rem;
  color: #5e5c64;
}

.gnome-extension-gear:hover {
  background: rgba(0, 0, 0, 0.06);
}

.gnome-extension-info strong {
  display: block;
  font-size: 0.9rem;
}

.gnome-extension-toggle {
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
}

.gnome-apps-page {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.gnome-apps-search-wrap {
  margin-top: 4px;
}

.gnome-apps-search {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #deddda;
  border-radius: 8px;
  padding: 8px 12px;
  font-size: 0.88rem;
  background: #fff;
  color: #2e3436;
}

.gnome-apps-search:focus {
  outline: 2px solid rgba(53, 132, 228, 0.35);
  border-color: #3584e4;
}

.gnome-app-list {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #deddda;
  border-radius: 12px;
  overflow: hidden;
}

.gnome-app-list-row {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  border: none;
  border-bottom: 1px solid #ebebeb;
  background: #fff;
  padding: 10px 14px;
  text-align: left;
  cursor: pointer;
  color: #2e3436;
  font-size: 0.88rem;
}

.gnome-app-list-row:last-child {
  border-bottom: none;
}

.gnome-app-list-row:hover {
  background: rgba(53, 132, 228, 0.08);
}

.gnome-app-list-icon .icon-rhel-app,
.gnome-app-list-icon .icon-app,
.gnome-app-list-icon svg {
  width: 32px;
  height: 32px;
  display: block;
}

.gnome-app-list-name {
  flex: 1;
  font-weight: 500;
}

.gnome-app-list-chevron {
  color: #77767b;
  font-size: 1.1rem;
}

.gnome-app-detail-toolbar {
  margin-bottom: 8px;
}

.gnome-app-back-btn {
  border: none;
  background: transparent;
  color: #3584e4;
  font-size: 0.9rem;
  font-weight: 600;
  padding: 4px 0;
  cursor: pointer;
}

.gnome-app-back-btn:hover {
  text-decoration: underline;
}

.gnome-app-detail-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
}

.gnome-app-detail-icon .icon-rhel-app,
.gnome-app-detail-icon .icon-app,
.gnome-app-detail-icon svg {
  width: 48px;
  height: 48px;
  display: block;
}

.gnome-app-detail-title {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 700;
  color: #2e3436;
}

.gnome-app-detail-actions {
  margin-top: 16px;
}

.linux-settings-content .settings-page-title {
  color: #2e3436;
}

.linux-settings-content .settings-breadcrumb {
  color: #77767b;
}

.linux-terminal {
  width: min(720px, 92%);
  height: min(440px, 72%);
  background: #241f31;
  border-radius: 10px;
  border: 1px solid #454545;
}

.linux-terminal .window-titlebar {
  background: #262626;
  color: #fff;
  border-bottom: 1px solid #454545;
}

.linux-terminal .window-body {
  font-family: "JetBrains Mono", "Ubuntu Mono", monospace;
  color: #33d17a;
  height: calc(100% - 38px);
  overflow: auto;
  font-size: 0.82rem;
}

.linux-terminal .term-action {
  color: #62a0ea;
  background: transparent;
  border: 1px dashed #555;
  border-radius: 4px;
  padding: 2px 8px;
  margin-left: 6px;
  font-family: inherit;
}

.rhel-about-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 8px;
  background: rgba(238, 0, 0, 0.12);
  border: 1px solid rgba(238, 0, 0, 0.25);
  font-size: 0.78rem;
  margin-bottom: 14px;
}

.os-modal {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  background: rgba(0, 0, 0, 0.55);
  z-index: 50;
  padding: 20px;
}

.os-modal-card {
  width: min(360px, 92%);
  padding: 20px 22px;
  border-radius: 12px;
  background: rgba(32, 32, 32, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.45);
  color: #f3f3f3;
}

.os-mac .os-modal-card {
  background: rgba(236, 236, 236, 0.95);
  color: #1d1d1f;
  border-color: rgba(0, 0, 0, 0.1);
}

.os-linux .os-modal-card {
  background: #303030;
  color: #fff;
  border-color: #555;
}

.os-modal-card h3 {
  margin: 0 0 10px;
  font-size: 1.05rem;
}

.inline-sudo {
  margin-bottom: 10px;
  padding: 10px 12px;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

@media (max-width: 1200px) {
  .app {
    grid-template-columns: 1fr;
  }

  .header-stats {
    display: none;
  }

  .desktop-frame {
    height: 70vh;
    min-height: 520px;
  }
}

/* Programs and Features (Windows) */
.win-programs {
  width: min(760px, 92vw);
  height: min(520px, 78vh);
}

.win-programs-title-icon svg {
  width: 16px;
  height: 16px;
}

.win-programs-toolbar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border-bottom: 1px solid #e5e5e5;
  background: #fafafa;
}

.win-programs-hint {
  margin-left: auto;
  font-size: 12px;
  color: #666;
}

.win-programs-list-head,
.win-program-row {
  display: grid;
  grid-template-columns: 2fr 1.5fr 1fr 0.7fr;
  gap: 8px;
  align-items: center;
  padding: 8px 14px;
  text-align: left;
}

.win-programs-list-head {
  font-size: 12px;
  font-weight: 600;
  color: #444;
  border-bottom: 1px solid #e5e5e5;
  background: #f3f3f3;
}

.win-program-row {
  width: 100%;
  border: none;
  background: #fff;
  font: inherit;
  cursor: pointer;
}

.win-program-row:hover {
  background: #eef6fc;
}

.win-program-row.selected {
  background: #cce8ff;
}

.win-programs-list {
  overflow: auto;
  max-height: calc(100% - 120px);
}

.win-programs-dialog {
  margin: 12px 14px;
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 6px;
  background: #fff;
}

/* Task Manager (Windows 11) */
.win-task-manager {
  width: min(1040px, 96vw);
  height: min(680px, 88vh);
  background: #fafafa;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.22);
  display: flex;
  flex-direction: column;
  font-family: "Segoe UI Variable", "Segoe UI", system-ui, sans-serif;
}

.win-task-manager .win-tm-chrome {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 8px 12px 8px 16px;
  background: #fafafa;
  border-bottom: 1px solid #ebebeb;
}

.win-tm-app-title {
  font-size: 12px;
  font-weight: 400;
  color: #1a1a1a;
  white-space: nowrap;
}

.win-tm-search-wrap {
  position: relative;
  max-width: 420px;
  width: 100%;
  margin: 0 auto;
  justify-self: center;
}

.win-tm-search-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 12px;
  opacity: 0.55;
  pointer-events: none;
}

.win-tm-search {
  width: 100%;
  padding: 8px 12px 8px 34px;
  border: 1px solid #e0e0e0;
  border-bottom: 2px solid #0067c0;
  border-radius: 4px;
  background: #fff;
  font-size: 13px;
  outline: none;
}

.win-tm-search:focus {
  border-color: #0067c0;
}

.win-tm-chrome-actions {
  display: flex;
  align-items: center;
  gap: 2px;
}

.win-tm-winbtn,
.win-tm-chrome-close {
  width: 36px;
  height: 28px;
  border: none;
  background: transparent;
  cursor: default;
  font-size: 11px;
  color: #444;
  border-radius: 4px;
}

.win-tm-chrome-close {
  cursor: pointer;
}

.win-tm-chrome-close:hover {
  background: #e81123;
  color: #fff;
}

.win-tm-layout {
  display: grid;
  grid-template-columns: 52px 1fr;
  flex: 1;
  min-height: 0;
}

.win-tm-nav {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 6px 4px;
  background: #f3f3f3;
  border-right: 1px solid #e5e5e5;
}

.win-tm-nav-menu {
  width: 40px;
  height: 32px;
  border: none;
  background: transparent;
  cursor: pointer;
  border-radius: 4px;
  margin-bottom: 4px;
  font-size: 14px;
}

.win-tm-nav-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 44px;
  min-height: 44px;
  border: none;
  background: transparent;
  cursor: pointer;
  border-radius: 4px;
  color: #424242;
  font-size: 0;
  padding: 4px;
}

.win-tm-nav-item svg {
  width: 20px;
  height: 20px;
}

.win-tm-nav-item .win-tm-nav-label {
  display: none;
}

.win-tm-nav-item:hover {
  background: #ebebeb;
}

.win-tm-nav-item.active {
  background: #e8e8e8;
  box-shadow: inset 3px 0 0 #0067c0;
}

.win-tm-nav-settings {
  margin-top: auto;
}

.win-tm-main {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #fff;
}

.win-tm-main-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px 10px;
  gap: 12px;
  flex-wrap: wrap;
}

.win-tm-main-head h2 {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
}

.win-tm-head-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.win-tm-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid #d1d1d1;
  background: #fff;
  padding: 6px 12px;
  border-radius: 4px;
  font-size: 13px;
  cursor: pointer;
  color: #1a1a1a;
}

.win-tm-action-btn:hover:not(.disabled) {
  background: #f5f5f5;
}

.win-tm-action-btn.disabled {
  opacity: 0.45;
  cursor: default;
  pointer-events: none;
}

.win-tm-action-primary {
  border-color: #c8c8c8;
}

.win-tm-end-task:not(.disabled) {
  border-color: #0067c0;
  color: #0067c0;
}

.win-tm-more-btn {
  min-width: 36px;
  justify-content: center;
  font-size: 16px;
  padding: 4px 10px;
}

.win-tm-action-ico {
  font-size: 14px;
  line-height: 1;
}

.win-tm-table-wrap {
  overflow: auto;
  flex: 1;
}

.win-tm-section-label {
  padding: 10px 16px 6px;
  font-size: 13px;
  font-weight: 600;
  color: #0067c0;
  background: #fff;
  border-top: 1px solid #f0f0f0;
}

.win-tm-table-head,
.win-tm-row {
  display: grid;
  grid-template-columns: minmax(180px, 2.4fr) 0.9fr 0.75fr 0.95fr 0.75fr 0.75fr;
  gap: 8px;
  align-items: center;
  padding: 8px 16px;
  font-size: 12px;
}

.win-tm-table-head {
  font-weight: 600;
  color: #444;
  border-bottom: 1px solid #e5e5e5;
  background: #fafafa;
  position: sticky;
  top: 0;
  z-index: 1;
}

.win-tm-table-head-metrics .win-tm-col-metric {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
  line-height: 1.15;
}

.win-tm-table-head-metrics .win-tm-col-metric strong {
  font-size: 16px;
  font-weight: 600;
  color: #1a1a1a;
}

.win-tm-table-head-metrics .win-tm-col-metric span:last-child {
  font-size: 11px;
  font-weight: 400;
  color: #666;
}

.win-tm-sort-indicator {
  font-size: 10px;
  color: #666;
  margin-left: 4px;
}

.win-tm-row {
  width: 100%;
  border: none;
  background: #fff;
  text-align: left;
  cursor: pointer;
  border-bottom: 1px solid #f5f5f5;
}

.win-tm-row:hover {
  background: #f0f6fc;
}

.win-tm-row.selected,
.win-tm-row.highlight.selected {
  background: #cce8ff;
}

.win-tm-row.highlight:not(.selected) {
  background: #fff8e5;
}

.win-tm-name-cell {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.win-tm-name-cell svg,
.win-tm-proc-icon-fallback {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
}

.win-tm-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.win-tm-status.not-responding {
  color: #c50f1f;
  font-weight: 600;
}

.win-tm-status-ico {
  margin-right: 4px;
}

.win-tm-heat {
  border-radius: 2px;
  padding: 4px 6px;
}

.win-tm-heat-1 { background: rgba(0, 120, 212, 0.08); }
.win-tm-heat-2 { background: rgba(0, 120, 212, 0.16); }
.win-tm-heat-3 { background: rgba(0, 120, 212, 0.28); }
.win-tm-heat-4 { background: rgba(0, 120, 212, 0.42); }
.win-tm-heat-5 { background: rgba(0, 120, 212, 0.58); color: #fff; }

.win-tm-empty-row {
  padding: 12px 16px;
  color: #666;
  font-size: 12px;
}

.win-tm-perf-layout {
  display: grid;
  grid-template-columns: 240px 1fr;
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

.win-tm-perf-list {
  overflow: auto;
  border-right: 1px solid #eee;
  padding: 8px;
  background: #fafafa;
}

.win-tm-perf-card {
  display: block;
  width: 100%;
  text-align: left;
  border: none;
  background: #fff;
  padding: 10px 12px;
  border-radius: 6px;
  cursor: pointer;
  margin-bottom: 4px;
}

.win-tm-perf-card:hover {
  background: #f5f5f5;
}

.win-tm-perf-card.active {
  background: #eef6fc;
  box-shadow: inset 3px 0 0 #0067c0;
}

.win-tm-perf-card-head {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  font-weight: 600;
}

.win-tm-perf-sub {
  font-size: 11px;
  color: #666;
  margin: 2px 0 6px;
}

.win-tm-spark {
  width: 100%;
  height: 24px;
  display: block;
}

.win-tm-perf-detail {
  padding: 16px 20px;
  overflow: auto;
}

.win-tm-perf-detail-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 12px;
}

.win-tm-perf-detail-head h3 {
  margin: 0;
  font-size: 22px;
}

.win-tm-perf-badge {
  font-size: 12px;
  color: #666;
}

.win-tm-perf-graph {
  margin-bottom: 16px;
}

.win-tm-perf-graph-sm {
  opacity: 0.85;
}

.win-tm-perf-graph-label {
  font-size: 12px;
  color: #666;
  margin-bottom: 4px;
}

.win-tm-perf-graph-area {
  position: relative;
  height: 120px;
  background: #fafafa;
  border: 1px solid #eee;
  border-radius: 4px;
  padding: 8px;
}

.win-tm-perf-graph-large {
  height: 140px;
}

.win-tm-perf-graph-sm .win-tm-perf-graph-area {
  height: 72px;
}

.win-tm-graph-scale {
  position: absolute;
  bottom: 4px;
  right: 8px;
  font-size: 10px;
  color: #999;
}

.win-tm-graph-scale-y {
  position: absolute;
  top: 8px;
  right: 8px;
  font-size: 10px;
  color: #999;
}

.win-tm-perf-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px 20px;
  font-size: 12px;
}

.win-tm-perf-stats div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.win-tm-perf-stats span {
  color: #666;
}

.win-tm-perf-stats strong {
  font-size: 14px;
}

.win-tm-perf-live-stats {
  display: flex;
  gap: 32px;
  margin: 12px 0 16px;
  font-size: 13px;
}

.win-tm-perf-live-stats div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.win-tm-perf-stats-network {
  grid-template-columns: 1fr 1fr;
}

.win-tm-ipv4 {
  color: #c50f1f;
}

.win-tm-perf-adapter {
  margin: 4px 0 0;
  font-size: 13px;
  color: #666;
}

.win-tm-perf-live {
  font-size: 14px;
  color: #666;
}

.win-tm-perf-empty-spark {
  font-size: 11px;
  color: #888;
  padding: 4px 0;
}

.win-tm-perf-bt-status {
  font-size: 18px;
  font-weight: 600;
  margin: 16px 0 8px;
}

.win-tm-placeholder {
  padding: 32px 24px;
  color: #666;
  font-size: 13px;
}

.win-tm-users-wrap {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 0 4px 16px;
  flex: 1;
  overflow: auto;
}

.win-tm-users-head,
.win-tm-users-row {
  display: grid;
  grid-template-columns: 1.4fr 1fr 0.7fr 0.9fr 0.8fr 0.8fr;
  gap: 8px;
  align-items: center;
  padding: 8px 12px;
  font-size: 12px;
}

.win-tm-users-head {
  font-weight: 600;
  color: #444;
  border-bottom: 1px solid #e5e5e5;
  background: #fafafa;
  position: sticky;
  top: 0;
}

.win-tm-users-row {
  border-bottom: 1px solid #f0f0f0;
}

.win-tm-users-row.active {
  background: #eef6fc;
}

.win-tm-users-name {
  font-weight: 600;
}

.win-tm-users-status.running {
  color: #107c10;
}

.win-tm-users-status.disconnected {
  color: #ca5010;
}

.win-tm-users-status.disabled {
  color: #666;
}

.win-tm-users-actions {
  display: flex;
  gap: 8px;
  padding-top: 4px;
}

.win-tm-users-manage {
  border-color: #0067c0;
  color: #0067c0;
}

.win-tm-apphist-head,
.win-tm-apphist-row {
  grid-template-columns: 2fr 0.8fr 0.8fr 1fr;
}

.win-tm-startup-head,
.win-tm-startup-row {
  grid-template-columns: 2fr 1.5fr 0.8fr;
}

.win-tm-details-head,
.win-tm-details-row {
  grid-template-columns: 2fr 0.6fr 0.9fr 1.4fr 0.6fr 0.8fr;
}

.win-tm-services-head,
.win-tm-services-row {
  grid-template-columns: 1.2fr 0.5fr 2fr 0.7fr;
}

.win-tm-svc-status.running {
  color: #107c10;
}

.win-tm-svc-status.stopped {
  color: #666;
}

.win-tray-wifi-icon {
  margin-right: 2px;
}

/* Event Viewer (classic MMC) */
.win-event-viewer {
  width: min(1060px, 98vw);
  height: min(640px, 88vh);
  background: #fff;
  display: flex;
  flex-direction: column;
  border-radius: 0;
  overflow: hidden;
  font-family: "Segoe UI", Tahoma, sans-serif;
}

.win-ev-chrome {
  display: flex; align-items: center; gap: 6px; padding: 4px 8px;
  background: linear-gradient(180deg, #fff 0%, #ececec 100%);
  border-bottom: 1px solid #adadad;
}
.win-ev-app-icon svg { width: 16px; height: 16px; }
.win-ev-app-title { flex: 1; font-size: 12px; font-weight: 600; }
.win-ev-chrome-close { border: none; background: transparent; cursor: pointer; padding: 2px 8px; }

.win-ev-menubar {
  display: flex; gap: 0; padding: 0; font-size: 12px;
  background: #fff; border-bottom: 1px solid #d4d4d4;
}
.win-ev-menu-item {
  border: none; background: transparent; padding: 4px 12px; font: inherit; font-size: 12px; cursor: pointer;
}
.win-ev-menu-item:hover { background: #eef6fc; }

.win-ev-toolbar {
  display: flex; gap: 2px; padding: 4px 6px; background: #f0f0f0; border-bottom: 1px solid #ccc;
}
.win-ev-tool-btn {
  min-width: 28px; height: 24px; border: 1px solid transparent; background: transparent; cursor: pointer; border-radius: 2px;
  font-size: 13px;
}
.win-ev-tool-btn:hover:not(:disabled) { border-color: #ccc; background: #fff; }
.win-ev-tool-btn:disabled { opacity: 0.4; cursor: default; }
.win-ev-tool-help { color: #0067c0; font-weight: 700; }

.win-ev-layout {
  display: grid;
  grid-template-columns: 240px 1fr 200px;
  flex: 1;
  min-height: 0;
}
.win-ev-layout.win-ev-hide-tree { grid-template-columns: 1fr 200px; }
.win-ev-layout.win-ev-hide-actions { grid-template-columns: 240px 1fr; }
.win-ev-layout.win-ev-hide-tree.win-ev-hide-actions { grid-template-columns: 1fr; }

.win-ev-tree {
  overflow: auto; padding: 2px 0; background: #fff; border-right: 1px solid #d4d4d4; font-size: 12px;
}
.win-ev-tree-branch { margin: 0; }
.win-ev-tree-folder {
  display: flex; align-items: center; gap: 2px; padding: 2px 4px; font-weight: 600;
}
.win-ev-tree-toggle {
  border: none; background: transparent; cursor: pointer; width: 16px; padding: 0; font-size: 10px; color: #444;
}
.win-ev-tree-folder-label { font-size: 12px; }
.win-ev-tree-children { margin-left: 4px; }
.win-ev-tree-item {
  display: flex; align-items: center; gap: 4px; width: 100%; text-align: left; border: none; background: transparent;
  padding: 2px 4px; font-size: 12px; cursor: pointer;
}
.win-ev-tree-root { font-weight: 600; padding: 3px 6px; }
.win-ev-tree-root-icon { font-size: 14px; }
.win-ev-tree-leaf { padding-left: 0; }
.win-ev-tree-leaf-icon { font-size: 12px; opacity: 0.7; }
.win-ev-tree-leaf-label { flex: 1; }
.win-ev-tree-item:hover { background: #eef6fc; }
.win-ev-tree-item.active { background: #cce8ff; }
.win-ev-tree-empty { padding: 4px 20px; color: #666; font-size: 11px; margin: 0; }

.win-ev-main { overflow: auto; background: #fff; font-size: 12px; min-width: 0; }
.win-ev-overview-head {
  display: flex; justify-content: space-between; align-items: center; padding: 6px 12px;
  background: linear-gradient(180deg, #6b6b6b, #4a4a4a); color: #fff; font-weight: 600; font-size: 12px;
}
.win-ev-refreshed { font-weight: 400; color: #ddd; font-size: 11px; }
.win-ev-overview-section { padding: 0 0 8px; border-bottom: 1px solid #eee; }
.win-ev-overview-title {
  padding: 4px 10px; background: linear-gradient(180deg, #f0f0f0, #e0e0e0);
  border: 1px solid #ccc; border-bottom: none; font-weight: 600; margin: 8px 8px 0; font-size: 12px;
}
.win-ev-overview-body {
  display: flex; gap: 12px; align-items: flex-start; padding: 8px 12px; border: 1px solid #ccc; margin: 0 8px;
  background: #fff;
}
.win-ev-overview-graphic {
  position: relative; width: 48px; height: 48px; flex-shrink: 0;
}
.win-ev-overview-monitor { font-size: 40px; line-height: 1; }
.win-ev-overview-badge {
  position: absolute; width: 16px; height: 16px; border-radius: 50%; font-size: 10px; font-weight: 700;
  display: flex; align-items: center; justify-content: center; border: 1px solid #fff;
}
.win-ev-overview-badge.warn { background: #ffb900; color: #1a1a1a; right: -2px; top: 8px; }
.win-ev-overview-badge.error { background: #e81123; color: #fff; right: 4px; bottom: 0; }
.win-ev-overview-text { margin: 0; color: #444; line-height: 1.45; font-size: 12px; }
.win-ev-admin-reading { margin: 8px 12px; color: #444; font-size: 12px; }
.win-ev-summary-table { width: calc(100% - 16px); margin: 0 8px 8px; border-collapse: collapse; font-size: 11px; border: 1px solid #ccc; }
.win-ev-summary-table th, .win-ev-summary-table td { border: 1px solid #ddd; padding: 4px 8px; text-align: left; }
.win-ev-summary-table th { background: #f5f5f5; font-weight: 600; }
.win-ev-table-empty { height: 24px; background: #fff; }
.win-ev-log-summary-link {
  border: none; background: transparent; color: #0067c0; font: inherit; font-size: inherit; cursor: pointer; padding: 0; text-align: left;
}
.win-ev-log-summary-link:hover { text-decoration: underline; }

.win-ev-log-head { padding: 8px 12px; background: linear-gradient(180deg, #6b6b6b, #4a4a4a); color: #fff; font-weight: 600; font-size: 12px; }
.win-ev-list-head, .win-ev-row {
  display: grid; grid-template-columns: 100px 130px 1.2fr 70px 2fr; gap: 4px;
  padding: 4px 8px; font-size: 11px; align-items: center;
}
.win-ev-list-head { font-weight: 600; background: #f3f3f3; border-bottom: 1px solid #ddd; position: sticky; top: 0; }
.win-ev-row { width: 100%; border: none; background: #fff; text-align: left; cursor: pointer; border-bottom: 1px solid #f0f0f0; }
.win-ev-row:hover { background: #eef6fc; }
.win-ev-row.selected { background: #cce8ff; }
.win-ev-ico-error, .win-ev-ico-warn, .win-ev-ico-info, .win-ev-ico-crit {
  display: inline-block; width: 14px; height: 14px; border-radius: 50%; vertical-align: middle; margin-right: 4px;
}
.win-ev-ico-error { background: #e81123; }
.win-ev-ico-warn { background: #ffb900; }
.win-ev-ico-info { background: #0078d4; }
.win-ev-ico-crit { background: #8b0000; }
.win-ev-level-cell { display: flex; align-items: center; }

.win-ev-details {
  padding: 10px 12px; border-top: 1px solid #ccc; background: #fafafa;
}
.win-ev-details-meta { color: #666; font-size: 11px; }
.win-ev-empty { padding: 20px; color: #666; }

.win-ev-properties { display: flex; flex-direction: column; height: 100%; }
.win-ev-prop-toolbar {
  display: flex; align-items: center; gap: 12px; padding: 8px 12px;
  background: linear-gradient(180deg, #f5f5f5, #e8e8e8); border-bottom: 1px solid #ccc;
}
.win-ev-back-link {
  border: none; background: transparent; color: #0067c0; font: inherit; font-size: 12px; cursor: pointer; padding: 0;
}
.win-ev-back-link:hover { text-decoration: underline; }
.win-ev-prop-title { font-weight: 600; font-size: 12px; }
.win-ev-prop-tabs {
  display: flex; gap: 0; padding: 0 12px; background: #f0f0f0; border-bottom: 1px solid #ccc;
}
.win-ev-prop-tab {
  padding: 6px 14px; font-size: 12px; border-bottom: 2px solid transparent;
}
.win-ev-prop-tab.active { border-bottom-color: #0067c0; font-weight: 600; background: #fff; }
.win-ev-prop-tab.muted { color: #888; }
.win-ev-prop-body { flex: 1; overflow: auto; padding: 16px; }
.win-ev-prop-icon-row { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 16px; }
.win-ev-prop-level { width: 24px; height: 24px; border-radius: 50%; flex-shrink: 0; }
.win-ev-prop-level-text { margin: 4px 0 0; color: #666; font-size: 12px; }
.win-ev-prop-grid {
  display: grid; grid-template-columns: 140px 1fr; gap: 6px 12px; font-size: 12px;
}
.win-ev-prop-grid dt { color: #666; font-weight: 400; }
.win-ev-prop-grid dd { margin: 0; }
.win-ev-prop-full { grid-column: 1 / -1; display: grid; grid-template-columns: 140px 1fr; gap: 6px 12px; }
.win-ev-prop-actions {
  display: flex; justify-content: flex-end; gap: 8px; padding: 10px 12px; border-top: 1px solid #ccc; background: #f5f5f5;
}
.win-ev-prop-btn {
  min-width: 75px; padding: 4px 16px; border: 1px solid #adadad; background: #f0f0f0; font: inherit; font-size: 12px; cursor: pointer;
}
.win-ev-prop-btn-primary { background: #0067c0; border-color: #0067c0; color: #fff; }
.win-ev-prop-btn:hover { background: #e5e5e5; }
.win-ev-prop-btn-primary:hover { background: #005a9e; }

.win-ev-actions-pane { border-left: 1px solid #d4d4d4; background: #fff; overflow: auto; font-size: 12px; }
.win-ev-actions-title { padding: 8px; font-weight: 600; background: #f5f5f5; border-bottom: 1px solid #ddd; }
.win-ev-actions-sub { padding: 6px 8px; font-weight: 600; color: #0067c0; border-bottom: 1px solid #eee; font-size: 11px; }
.win-ev-action-link {
  display: flex; align-items: center; gap: 6px; width: 100%; text-align: left; border: none; background: transparent;
  padding: 5px 10px; font-size: 12px; color: #0067c0; cursor: pointer;
}
.win-ev-action-link:hover { background: #eef6fc; text-decoration: underline; }
.win-ev-action-ico { width: 16px; text-align: center; flex-shrink: 0; font-size: 12px; }
.win-ev-action-arrow { margin-left: auto; color: #666; }
.win-ev-action-has-arrow { justify-content: flex-start; }

/* Device Manager (classic MMC) */
.win-device-manager {
  width: min(1020px, 98vw);
  height: min(620px, 88vh);
  background: #fff;
  display: flex;
  flex-direction: column;
  border-radius: 0;
  overflow: hidden;
}

.win-dm-chrome {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  background: linear-gradient(180deg, #fff 0%, #ececec 100%);
  border-bottom: 1px solid #adadad;
}
.win-dm-app-icon svg { width: 16px; height: 16px; }
.win-dm-app-title { flex: 1; font-size: 12px; font-weight: 600; }
.win-dm-chrome-close {
  border: none;
  background: transparent;
  cursor: pointer;
  padding: 2px 8px;
}

.win-dm-menubar {
  display: flex;
  gap: 16px;
  padding: 2px 8px;
  font-size: 12px;
  background: #fff;
  border-bottom: 1px solid #d4d4d4;
}

.win-dm-toolbar {
  display: flex;
  gap: 2px;
  padding: 4px 6px;
  background: #f0f0f0;
  border-bottom: 1px solid #ccc;
}
.win-dm-tool-btn {
  min-width: 28px;
  height: 24px;
  border: 1px solid transparent;
  background: transparent;
  cursor: pointer;
  border-radius: 2px;
}
.win-dm-tool-btn:hover { border-color: #ccc; background: #fff; }
.win-dm-tool-help { color: #0067c0; font-weight: 700; }

.win-dm-layout {
  display: grid;
  grid-template-columns: 260px 1fr 190px;
  flex: 1;
  min-height: 0;
}

.win-dm-tree-pane {
  overflow: auto;
  background: #fff;
  border-right: 1px solid #d4d4d4;
  font-size: 12px;
  padding: 4px 0;
}

.win-dm-tree-row {
  display: flex;
  align-items: center;
  gap: 2px;
  min-height: 22px;
  padding-right: 4px;
}
.win-dm-tree-row.active { background: #cce8ff; }
.win-dm-tree-row:hover { background: #eef6fc; }
.win-dm-tree-computer { padding-left: 4px; font-weight: 600; }

.win-dm-tree-toggle {
  width: 18px;
  height: 22px;
  border: none;
  background: transparent;
  cursor: pointer;
  color: #444;
  padding: 0;
  flex-shrink: 0;
}
.win-dm-tree-label-btn {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 4px;
  border: none;
  background: transparent;
  text-align: left;
  cursor: pointer;
  padding: 2px 4px;
  font-size: 12px;
}
.win-dm-tree-children { padding-left: 14px; }
.win-dm-tree-chevron { display: inline-block; width: 12px; font-size: 10px; color: #666; }
.win-dm-tree-warn { color: #ca5010; font-size: 11px; }
.win-dm-tree-pc { font-size: 12px; }

.win-dm-main {
  overflow: auto;
  background: #fff;
  font-size: 12px;
}

.win-dm-summary-head,
.win-dm-list-head {
  padding: 8px 12px;
  background: linear-gradient(180deg, #f5f5f5, #e8e8e8);
  border-bottom: 1px solid #ccc;
  font-weight: 600;
}
.win-dm-summary { padding: 12px; }
.win-dm-summary-text { margin: 0 0 12px; color: #444; line-height: 1.45; }

.win-dm-list-table-head,
.win-dm-list-row {
  display: grid;
  grid-template-columns: 24px 2fr 1.2fr 1fr 0.8fr;
  gap: 8px;
  align-items: center;
  padding: 6px 12px;
}
.win-dm-list-table-head {
  font-weight: 600;
  color: #444;
  border-bottom: 1px solid #e5e5e5;
  background: #fafafa;
  position: sticky;
  top: 0;
}
.win-dm-list-row {
  width: 100%;
  border: none;
  background: #fff;
  text-align: left;
  cursor: pointer;
  border-bottom: 1px solid #f0f0f0;
}
.win-dm-list-row:hover { background: #eef6fc; }
.win-dm-list-row.selected { background: #cce8ff; }
.win-dm-list-row.is-disabled { opacity: 0.72; }
.win-dm-list-name { font-weight: 600; }
.win-dm-list-status.error { color: #a4262c; }
.win-dm-list-status.disabled { color: #666; }

.win-dm-status-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  font-size: 11px;
  font-weight: 700;
}
.win-dm-status-ico.ok { color: #107c10; }
.win-dm-status-ico.error { color: #ca5010; }
.win-dm-status-ico.disabled { color: #666; }

.win-dm-prop-grid {
  display: grid;
  gap: 8px;
  margin: 0;
}
.win-dm-prop-grid div {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 12px;
  padding: 4px 0;
  border-bottom: 1px solid #f0f0f0;
}
.win-dm-prop-grid dt { margin: 0; color: #666; }
.win-dm-prop-grid dd { margin: 0; color: #1a1a1a; }

.win-dm-properties {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
.win-dm-prop-toolbar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 12px;
  border-bottom: 1px solid #ddd;
  background: #f5f5f5;
}
.win-dm-back-link {
  border: none;
  background: transparent;
  color: #0067c0;
  cursor: pointer;
  font-size: 12px;
  padding: 0;
}
.win-dm-prop-title { font-weight: 600; }
.win-dm-prop-tabs {
  display: flex;
  gap: 0;
  padding: 0 12px;
  border-bottom: 1px solid #ccc;
  background: #f9f9f9;
}
.win-dm-prop-tab {
  padding: 8px 14px;
  font-size: 12px;
  border-bottom: 2px solid transparent;
}
.win-dm-prop-tab.active {
  border-bottom-color: #0067c0;
  font-weight: 600;
}
.win-dm-prop-tab.muted { color: #888; }
.win-dm-prop-body { padding: 16px; flex: 1; }
.win-dm-prop-icon-row {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 16px;
}
.win-dm-prop-status { margin: 4px 0 0; color: #107c10; }
.win-dm-prop-status.error { color: #a4262c; }
.win-dm-prop-status.disabled { color: #666; }
.win-dm-prop-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 12px 16px;
  border-top: 1px solid #ddd;
  background: #f5f5f5;
}
.win-dm-prop-btn {
  min-width: 72px;
  padding: 6px 14px;
  border: 1px solid #adadad;
  background: #f0f0f0;
  cursor: pointer;
  font-size: 12px;
}
.win-dm-prop-btn-primary {
  border-color: #0067c0;
  background: #0067c0;
  color: #fff;
}

.win-dm-actions-pane {
  overflow: auto;
  background: #fff;
  border-left: 1px solid #d4d4d4;
  font-size: 12px;
}
.win-dm-actions { padding: 8px; }
.win-dm-actions-title { font-weight: 600; margin-bottom: 4px; }
.win-dm-actions-sub { color: #666; font-size: 11px; margin-bottom: 8px; }
.win-dm-action-link {
  display: block;
  width: 100%;
  text-align: left;
  border: none;
  background: transparent;
  padding: 4px 6px;
  cursor: pointer;
  font-size: 12px;
  color: #0067c0;
}
.win-dm-action-link:hover { background: #eef6fc; text-decoration: underline; }

/* Reliability Monitor (Control Panel) */
.win-reliability-monitor {
  width: min(960px, 96vw);
  height: min(680px, 90vh);
  background: #fff;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.win-rel-chrome {
  display: flex; align-items: center; padding: 4px 8px;
  background: linear-gradient(180deg, #fff, #ececec); border-bottom: 1px solid #adadad;
}
.win-rel-app-title { flex: 1; font-size: 12px; }
.win-rel-chrome-close { border: none; background: transparent; cursor: pointer; }

.win-rel-cp-toolbar { flex-shrink: 0; }
.win-rel-menubar {
  display: flex; gap: 16px; padding: 2px 10px; font-size: 12px;
  border-bottom: 1px solid #d4d4d4;
}

.win-rel-body { overflow: auto; padding: 12px 16px 16px; flex: 1; }
.win-rel-heading { margin: 0 0 8px; font-size: 18px; font-weight: 400; color: #0067c0; }
.win-rel-intro { margin: 0 0 12px; font-size: 12px; color: #444; line-height: 1.45; max-width: 820px; }
.win-rel-controls {
  display: flex; justify-content: space-between; align-items: center;
  font-size: 12px; margin-bottom: 8px;
}
.win-rel-view-btn {
  border: none; background: transparent; color: #0067c0; cursor: pointer; font-size: 12px; padding: 0 2px;
}
.win-rel-view-btn.active { font-weight: 700; text-decoration: underline; }
.win-rel-updated { color: #666; font-size: 11px; }

.win-rel-chart-wrap {
  display: grid; grid-template-columns: 28px 1fr; gap: 4px;
  border: 1px solid #ccc; background: #fafafa; margin-bottom: 12px; min-height: 220px;
}
.win-rel-y-axis {
  display: flex; flex-direction: column; justify-content: space-between;
  padding: 8px 0; font-size: 10px; color: #666; text-align: right;
}
.win-rel-chart-main { position: relative; padding: 8px 8px 4px; overflow-x: auto; }
.win-rel-stability-line {
  width: 100%; height: 80px; display: block; margin-bottom: 4px;
}
.win-rel-event-rows { font-size: 10px; margin-bottom: 4px; }
.win-rel-event-row {
  display: grid; grid-template-columns: 130px 1fr; align-items: center;
  border-top: 1px solid #e0e0e0; min-height: 22px;
}
.win-rel-event-row > span { padding: 2px 4px; color: #444; }
.win-rel-day-cols { display: flex; gap: 0; }
.win-rel-mini-ico {
  flex: 1; min-width: 18px; text-align: center; font-size: 10px; color: transparent;
  border-left: 1px solid #e8e8e8; min-height: 18px;
}
.win-rel-mini-ico.has { color: #fff; font-weight: 700; }
.win-rel-mini-ico.has.crit { background: #e81123; color: #fff; }
.win-rel-mini-ico.has.warn { background: #ffb900; color: #1a1a1a; }
.win-rel-mini-ico.has.info { background: #0078d4; color: #fff; }

.win-rel-day-columns { display: flex; gap: 0; border-top: 1px solid #ccc; }
.win-rel-day-col {
  flex: 1; min-width: 28px; border: none; background: transparent; cursor: pointer;
  border-left: 1px solid #e0e0e0; padding: 0; text-align: center;
}
.win-rel-day-col.selected { background: #cce8ff; }
.win-rel-col-date { font-size: 9px; color: #666; padding: 2px 0 4px; }

.win-rel-ico {
  display: inline-flex; align-items: center; justify-content: center;
  width: 14px; height: 14px; border-radius: 50%; font-size: 10px; font-weight: 700; color: #fff;
}
.win-rel-ico-crit { background: #e81123; }
.win-rel-ico-warn { background: #ffb900; color: #1a1a1a; }
.win-rel-ico-info { background: #0078d4; font-style: italic; font-family: Georgia, serif; }

.win-rel-details { border: 1px solid #ccc; background: #fff; }
.win-rel-details-head {
  display: flex; justify-content: space-between; align-items: center;
  padding: 8px 10px; background: #f5f5f5; border-bottom: 1px solid #ddd; font-size: 12px;
}
.win-rel-link {
  border: none; background: transparent; color: #0067c0; font-size: 12px; cursor: pointer;
}
.win-rel-link:hover { text-decoration: underline; }
.win-rel-detail-group { border-bottom: 1px solid #eee; }
.win-rel-detail-group-head {
  display: flex; align-items: center; gap: 6px; padding: 6px 10px;
  font-size: 12px; font-weight: 600; background: #fafafa;
}
.win-rel-detail-row {
  display: grid; grid-template-columns: 20px 1fr 2fr 130px auto;
  gap: 6px; align-items: center; padding: 5px 10px; font-size: 11px; border-top: 1px solid #f0f0f0;
}
.win-rel-detail-row.selected { background: #eef6fc; }
.win-rel-detail-main { border: none; background: transparent; text-align: left; cursor: pointer; padding: 0; font-weight: 600; color: #1a1a1a; }
.win-rel-detail-summary { color: #444; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.win-rel-detail-date { color: #666; }
.win-rel-detail-action {
  border: none; background: transparent; color: #0067c0; cursor: pointer; font-size: 11px; white-space: nowrap;
}
.win-rel-detail-action:hover { text-decoration: underline; }

.os-windows.win-taskbar-context-open .win-taskbar-dismiss-layer {
  position: absolute;
  inset: 0;
  z-index: 52;
  border: none;
  background: transparent;
  cursor: default;
  display: block;
}

.os-windows .win-taskbar-context-menu,
.os-windows .win-start-context-menu {
  z-index: 55;
  transform: translateY(-100%);
  margin-top: -6px;
}

.win-start-context-menu {
  min-width: 280px;
  max-height: min(420px, 70vh);
  overflow: auto;
}

/* Taskbar context menu */
.win-taskbar-context-menu {
  position: absolute;
  min-width: 200px;
}

.win-taskbar-context-menu .win-ctx-item {
  display: flex;
}

/* Windows Display settings */
.win-display-preview {
  height: 120px;
  border-radius: 8px;
  background: linear-gradient(135deg, #0078d4, #50e6ff);
  display: flex;
  align-items: flex-end;
  padding: 12px;
  margin-bottom: 16px;
  transition: opacity 0.15s ease;
}

.win-display-preview-label {
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.win-display-slider-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  font-size: 13px;
}

.win-display-slider {
  flex: 1;
  accent-color: #0067c0;
}

.win-display-value {
  min-width: 36px;
  text-align: right;
  color: #666;
  font-size: 12px;
}

.win-display-toggle-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  border: none;
  background: transparent;
  padding: 10px 0;
  font-size: 13px;
  cursor: pointer;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
  margin-bottom: 16px;
}

.win-toggle {
  width: 40px;
  height: 22px;
  border-radius: 999px;
  background: #ccc;
  position: relative;
  transition: background 0.15s;
}

.win-toggle.on {
  background: #0067c0;
}

.win-toggle-knob {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  transition: transform 0.15s;
}

.win-toggle.on .win-toggle-knob {
  transform: translateX(18px);
}

.win-display-scale strong {
  display: block;
  margin-bottom: 8px;
  font-size: 13px;
}

.win-display-scale-options {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}

.win-display-scale-btn {
  border: 1px solid #ccc;
  background: #fff;
  padding: 6px 14px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 13px;
}

.win-display-scale-btn.active {
  border-color: #0067c0;
  background: #eef6fc;
  color: #0067c0;
  font-weight: 600;
}

.settings-breadcrumb-link {
  border: none;
  background: transparent;
  color: #0067c0;
  cursor: pointer;
  font-size: inherit;
  padding: 0;
}

.settings-breadcrumb-link:hover {
  text-decoration: underline;
}

.settings-breadcrumb-sep {
  color: #666;
}

.win-settings-detail-section {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #eee;
}

.win-settings-detail-head {
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 10px;
  color: #1a1a1a;
}

.win-settings-toggle-row,
.win-settings-dropdown-row,
.win-settings-link-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  border: none;
  background: transparent;
  padding: 10px 0;
  text-align: left;
  cursor: pointer;
  font: inherit;
}

.win-settings-toggle-row:hover,
.win-settings-dropdown-row:hover,
.win-settings-link-row:hover {
  background: rgba(0, 0, 0, 0.02);
  margin: 0 -8px;
  padding: 10px 8px;
  border-radius: 4px;
}

.win-settings-toggle-text strong,
.win-settings-dropdown-text strong,
.win-settings-link-text strong {
  display: block;
  font-size: 13px;
}

.win-settings-dropdown-value {
  font-size: 13px;
  color: #0067c0;
  white-space: nowrap;
}

.win-settings-option-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 12px 0;
}

.win-settings-option-group-inline {
  flex-direction: row;
  flex-wrap: wrap;
}

.win-settings-option {
  border: 1px solid #ccc;
  background: #fff;
  padding: 8px 14px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 13px;
  text-align: left;
}

.win-settings-option.active {
  border-color: #0067c0;
  background: #eef6fc;
  color: #0067c0;
  font-weight: 600;
}

.win-settings-subhead {
  font-size: 12px;
  font-weight: 600;
  color: #666;
  margin: 12px 0 4px;
}

.win-settings-device-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
}

.win-settings-device-icon {
  font-size: 20px;
  width: 32px;
  text-align: center;
}

.win-storage-drive {
  margin-bottom: 16px;
}

.win-storage-drive-head {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  margin-bottom: 8px;
}

.win-storage-bar {
  height: 8px;
  background: #e0e0e0;
  border-radius: 4px;
  overflow: hidden;
}

.win-storage-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, #0067c0, #50e6ff);
  border-radius: 4px;
}

.win-storage-drive-row {
  display: block;
  width: 100%;
  text-align: left;
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
}

.win-storage-drive-row:hover .win-storage-drive-head strong {
  color: #0067c0;
}

.win-storage-drive-details {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #eee;
  display: grid;
  gap: 8px;
  font-size: 13px;
}

.win-storage-drive-details > div {
  display: flex;
  justify-content: space-between;
}

.win-users-list {
  display: grid;
  gap: 10px;
  margin-bottom: 16px;
}

.win-users-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 12px;
  background: #f9f9f9;
  border-radius: 6px;
  font-size: 13px;
}

.win-power-battery-card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-bottom: 16px;
  margin-bottom: 8px;
  border-bottom: 1px solid #eee;
}

.win-power-battery-ring {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: 4px solid #0067c0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 600;
  color: #0067c0;
}

/* macOS Finder */
.mac-finder {
  width: min(820px, 94vw);
  height: min(520px, 78vh);
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.12);
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35);
}

.mac-finder-layout {
  display: grid;
  grid-template-columns: 160px 1fr;
  height: calc(100% - 36px);
}

.mac-finder-sidebar {
  padding: 10px 8px;
  border-right: 1px solid rgba(0, 0, 0, 0.08);
  background: rgba(245, 245, 247, 0.95);
}

.mac-finder-sidebar-item {
  display: block;
  width: 100%;
  text-align: left;
  border: none;
  background: transparent;
  padding: 6px 10px;
  border-radius: 6px;
  font-size: 13px;
  cursor: pointer;
}

.mac-finder-sidebar-item.active,
.mac-finder-sidebar-item:hover {
  background: rgba(0, 0, 0, 0.06);
}

.mac-finder-main {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.mac-finder-toolbar {
  padding: 10px 12px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.mac-finder-apps {
  padding: 12px;
  overflow: auto;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 10px;
}

.mac-finder-app-row {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 10px 8px;
  border: none;
  border-radius: 8px;
  background: transparent;
  cursor: pointer;
}

.mac-finder-app-row.selected {
  background: rgba(0, 122, 255, 0.12);
}

.mac-finder-app-icon svg {
  width: 42px;
  height: 42px;
}

.mac-finder-app-name {
  font-size: 12px;
  text-align: center;
}

.mac-finder-empty {
  padding: 20px;
  color: #666;
}

.mac-finder-trash-btn {
  margin: 0;
}

/* Windows Security (Windows 11) */
.win-security {
  width: min(980px, 96vw);
  height: min(640px, 88vh);
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.22);
  display: flex;
  flex-direction: column;
  font-family: "Segoe UI Variable", "Segoe UI", system-ui, sans-serif;
  color: #1a1a1a;
}

.win-sec-titlebar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 0 0 16px;
  min-height: 32px;
  background: #fafafa;
  border-bottom: 1px solid #ebebeb;
  font-size: 12px;
  font-weight: 400;
}

.win-sec-title {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.win-sec-titlebar-actions {
  display: flex;
  align-items: center;
}

.win-sec-close {
  width: 46px;
  height: 32px;
  border: none;
  background: transparent;
  cursor: pointer;
  font-size: 11px;
  color: #444;
}

.win-sec-close:hover {
  background: #e81123;
  color: #fff;
}

.win-sec-toolbar {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 6px 12px;
  background: #fff;
  border-bottom: 1px solid #ebebeb;
}

.win-sec-toolbar-btn {
  width: 36px;
  height: 32px;
  border: none;
  background: transparent;
  border-radius: 4px;
  cursor: pointer;
  font-size: 16px;
  color: #1a1a1a;
}

.win-sec-toolbar-btn:hover {
  background: #f0f0f0;
}

.win-sec-layout {
  display: grid;
  grid-template-columns: 220px 1fr;
  flex: 1;
  min-height: 0;
}

.win-sec-nav {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px 0;
  background: #f9f9f9;
  border-right: 1px solid #ebebeb;
  overflow-y: auto;
}

.win-sec-nav-item {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 40px;
  padding: 8px 16px 8px 14px;
  border: none;
  background: transparent;
  cursor: pointer;
  text-align: left;
  font: inherit;
  font-size: 13px;
  color: #1a1a1a;
  border-left: 3px solid transparent;
  border-radius: 0;
}

.win-sec-nav-item:hover {
  background: #f0f0f0;
}

.win-sec-nav-item.active {
  background: #eef6fc;
  border-left-color: #0067c0;
  color: #0067c0;
}

.win-sec-nav-item.active .win-sec-nav-icon {
  color: #0067c0;
}

.win-sec-nav-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  flex-shrink: 0;
  color: #444;
}

.win-sec-nav-label {
  line-height: 1.25;
}

.win-sec-nav-settings {
  margin-top: auto;
}

.win-sec-main {
  overflow-y: auto;
  padding: 28px 36px 32px;
  background: #fff;
}

.win-sec-page-title {
  margin: 0 0 8px;
  font-size: 28px;
  font-weight: 600;
  line-height: 1.2;
}

.win-sec-page-lead {
  margin: 0 0 24px;
  font-size: 14px;
  color: #5c5c5c;
  line-height: 1.45;
  max-width: 720px;
}

.win-sec-page-head {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 20px;
}

.win-sec-page-icon svg,
.win-sec-page-icon .icon-app svg {
  width: 40px;
  height: 40px;
}

.win-sec-glance-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.win-sec-glance-card {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 20px;
  border: 1px solid #ebebeb;
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
  text-align: left;
  font: inherit;
  color: inherit;
  min-height: 120px;
  transition: background 0.12s, border-color 0.12s;
}

.win-sec-glance-card:hover {
  background: #fafafa;
  border-color: #d6d6d6;
}

.win-sec-glance-warn {
  cursor: default;
}

.win-sec-glance-warn:hover {
  background: #fff;
  border-color: #ebebeb;
}

.win-sec-glance-icon {
  position: relative;
  flex-shrink: 0;
  color: #0067c0;
}

.win-sec-card-shield svg {
  width: 36px;
  height: 36px;
}

.win-sec-status-ok,
.win-sec-status-warn {
  position: absolute;
  right: -4px;
  bottom: -2px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  border: 2px solid #fff;
}

.win-sec-status-ok {
  background: #0f7b0f;
  color: #fff;
}

.win-sec-status-warn {
  background: #f9a825;
  color: #1a1a1a;
}

.win-sec-glance-text {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.win-sec-glance-text strong {
  font-size: 15px;
  font-weight: 600;
}

.win-sec-glance-text span {
  font-size: 13px;
  color: #5c5c5c;
  line-height: 1.4;
}

.win-sec-warn-text {
  color: #1a1a1a !important;
}

.win-sec-card-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 4px;
}

.win-sec-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 16px;
  border: 1px solid #8a8a8a;
  border-radius: 4px;
  background: #f3f3f3;
  font: inherit;
  font-size: 13px;
  cursor: pointer;
  color: #1a1a1a;
}

.win-sec-btn:hover {
  background: #ebebeb;
}

.win-sec-btn-primary {
  background: #0067c0;
  border-color: #0067c0;
  color: #fff;
}

.win-sec-btn-primary:hover {
  background: #005a9e;
  border-color: #005a9e;
}

.win-sec-link-btn {
  border: none;
  background: transparent;
  color: #0067c0;
  font: inherit;
  font-size: 13px;
  cursor: pointer;
  padding: 4px 0;
}

.win-sec-link-btn:hover {
  text-decoration: underline;
}

.win-sec-card-block {
  padding: 20px;
  border: 1px solid #ebebeb;
  border-radius: 4px;
  margin-bottom: 12px;
}

.win-sec-card-block h3 {
  margin: 0 0 8px;
  font-size: 15px;
  font-weight: 600;
}

.win-sec-status-line {
  margin: 0;
  font-size: 13px;
  color: #5c5c5c;
}

.win-sec-muted {
  margin: 0 0 12px;
  font-size: 13px;
  color: #5c5c5c;
  line-height: 1.45;
}

.win-sec-scan-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}

.win-sec-custom-scan {
  margin-bottom: 12px;
}

.win-sec-custom-scan .os-input-group {
  margin: 0;
}

.win-sec-custom-scan input {
  width: 100%;
  max-width: 360px;
  padding: 8px 10px;
  border: 1px solid #8a8a8a;
  border-bottom: 2px solid #0067c0;
  border-radius: 4px;
  font: inherit;
  font-size: 13px;
}

.win-sec-field-label {
  display: block;
  margin-bottom: 6px;
  font-size: 13px;
  color: #1a1a1a;
}

.win-sec-scan-status {
  margin-top: 10px;
  padding: 12px 14px;
  border-radius: 4px;
  background: #eef6fc;
  border: 1px solid #cce4f5;
}

.win-sec-scan-status strong {
  display: block;
  font-size: 13px;
  margin-bottom: 4px;
}

.win-sec-scan-status span {
  font-size: 12px;
  color: #5c5c5c;
}

.win-sec-net-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.win-sec-net-card {
  padding: 16px;
  border: 1px solid #ebebeb;
  border-radius: 4px;
}

.win-sec-net-card strong {
  display: block;
  font-size: 14px;
  margin-bottom: 4px;
}

.win-sec-net-card p {
  margin: 8px 0 0;
  font-size: 13px;
  color: #5c5c5c;
}

.win-sec-status-ok-inline {
  display: inline-block;
  margin-left: 8px;
  padding: 1px 8px;
  border-radius: 4px;
  background: #dff6dd;
  color: #0f7b0f;
  font-size: 12px;
  font-weight: 600;
}

.win-sec-health-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}

.win-sec-health-item {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid #ebebeb;
  border-radius: 4px;
  font-size: 13px;
}

.win-sec-health-item span {
  color: #0f7b0f;
  font-weight: 600;
}

.win-sec-history-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.win-sec-history-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid #ebebeb;
  border-radius: 4px;
}

.win-sec-history-row strong {
  display: block;
  font-size: 14px;
  margin-bottom: 2px;
}

.win-sec-history-row span {
  font-size: 12px;
  color: #5c5c5c;
}

.win-sec-history-ico {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 12px;
  font-weight: 700;
}

.win-sec-history-ico.ok {
  background: #dff6dd;
  color: #0f7b0f;
}

.win-sec-history-ico.info {
  background: #eef6fc;
  color: #0067c0;
}

@media (max-width: 760px) {
  .win-sec-layout {
    grid-template-columns: 1fr;
  }

  .win-sec-nav {
    flex-direction: row;
    flex-wrap: wrap;
    border-right: none;
    border-bottom: 1px solid #ebebeb;
  }

  .win-sec-nav-label {
    display: none;
  }

  .win-sec-glance-grid,
  .win-sec-net-grid,
  .win-sec-health-grid {
    grid-template-columns: 1fr;
  }
}
