:root {
  --robot-bg: var(--bg-primary);
  --robot-panel: var(--bg-card);
  --robot-panel-raised: var(--bg-card-hover);
  --robot-panel-soft: var(--bg-secondary);
  --robot-line: var(--border);
  --robot-line-bright: var(--green-border);
  --robot-text: var(--text-primary);
  --robot-muted: var(--text-secondary);
  --robot-faint: var(--text-muted);
  --robot-blue: var(--green);
  --robot-blue-deep: var(--green-dark);
  --robot-green: var(--green);
  --robot-accent-rgb: 29, 185, 84;
  --robot-amber: #f4ba58;
  --robot-red: #ff7777;
}

.robot-admin-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 20% -12%, rgba(0, 185, 122, 0.16), transparent 34rem),
    linear-gradient(180deg, #071620 0%, #071d1f 18%, #07101a 48%, #061018 100%);
  color: var(--robot-text);
  overflow-x: hidden;
}

.robot-admin-page::before {
  display: none;
}

.robot-admin-shell {
  position: relative;
  z-index: 1;
  min-height: 100vh;
  display: flex !important;
}

.robot-admin-shell[hidden] { display: none !important; }

.robot-sidebar {
  width: var(--admin-sidebar-width, 280px) !important;
  padding: 24px 18px !important;
  background: linear-gradient(180deg, rgba(10, 32, 42, 0.96), rgba(7, 17, 26, 0.98)), #081520 !important;
  border-right: 1px solid rgba(130, 163, 190, 0.16) !important;
  box-shadow: 18px 0 44px rgba(0, 0, 0, 0.18) !important;
  backdrop-filter: none;
}

.robot-sidebar .sidebar-logo {
  padding: 4px 2px 26px !important;
  border-bottom-color: rgba(145, 174, 198, 0.12) !important;
}

.robot-sidebar .logo-text { font-size: 22px !important; font-weight: 900 !important; }
.robot-sidebar .logo-accent { color: #18d984 !important; }
.robot-sidebar .admin-badge {
  border-color: rgba(0, 218, 129, 0.34) !important;
  background: rgba(0, 178, 113, 0.12) !important;
  color: #22e68f !important;
  font-family: inherit;
  font-size: 11px !important;
  letter-spacing: .08em !important;
}

.robot-sidebar .sidebar-nav { padding: 22px 0 !important; gap: 8px !important; }
.robot-sidebar .nav-item {
  min-height: 46px !important;
  border-radius: 12px !important;
  color: #a9c4d6 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}
.robot-sidebar .nav-item:hover,
.robot-sidebar .nav-item.active {
  border-color: rgba(0, 218, 129, 0.26) !important;
  background: rgba(0, 178, 113, 0.12) !important;
  color: #f4fff9 !important;
}
.robot-sidebar .nav-item.active { box-shadow: none; }
.robot-sidebar .nav-item-icon {
  width: 30px !important;
  height: 30px !important;
  border-color: rgba(145, 174, 198, .16) !important;
  background: rgba(146, 178, 205, .08) !important;
  color: #23e58f !important;
  font-family: inherit;
  font-size: 10px !important;
}
.robot-sidebar .robot-nav-icon { color: #23e58f !important; border-color: rgba(0, 218, 129, .34) !important; background: rgba(0, 178, 113, .11) !important; }
.robot-sidebar .sidebar-footer { border-top-color: rgba(145, 174, 198, .12) !important; padding: 18px 2px 0 !important; }
.robot-sidebar .sidebar-footer strong { color: #cfe4f1 !important; }
.robot-sidebar .admin-logout-button { color: #8fa8bb !important; }

.robot-main-content {
  width: calc(100% - var(--admin-sidebar-width, 280px)) !important;
  max-width: none !important;
  min-height: 100vh;
  margin-left: var(--admin-sidebar-width, 280px) !important;
  padding: 34px 48px 72px !important;
}

.robot-page-header { align-items: flex-start; gap: 18px; padding: 0 0 28px; margin-bottom: 28px; border-bottom: 1px solid rgba(145, 174, 198, 0.14); }
.robot-header-topline,
.robot-header-row,
.robot-section-heading,
.robot-toolbar,
.robot-table-meta,
.robot-header-actions { display: flex; align-items: center; }
.robot-header-topline { display: none; }
.robot-breadcrumb { display: flex; align-items: center; gap: 9px; color: var(--robot-faint); font-size: 12px; }
.robot-breadcrumb a { color: #9eb6c7; }
.robot-breadcrumb strong { color: #d7e6ef; font-weight: 700; }
.robot-live-indicator { display: inline-flex; align-items: center; gap: 8px; color: #7f9cae; font-family: 'IBM Plex Mono', monospace; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.robot-live-indicator i { width: 7px; height: 7px; border-radius: 50%; background: var(--robot-green); box-shadow: 0 0 0 4px rgba(54, 227, 160, .1), 0 0 16px rgba(54, 227, 160, .55); }
.robot-header-row { width: 100%; justify-content: space-between; align-items: flex-end; gap: 22px; }
.robot-page-header .admin-eyebrow { color: #22e68f; font-family: inherit; font-size: 12px; letter-spacing: .12em; }
.robot-page-header .admin-title { margin: 0; font-size: clamp(28px, 2.8vw, 38px) !important; line-height: 1.05; letter-spacing: 0 !important; }
.robot-page-header .admin-subtitle { max-width: 660px; margin: 10px 0 0; color: #a9c4d6; font-size: 15px; line-height: 1.45; }
.robot-header-actions { gap: 10px; }
.robot-header-actions .btn { min-height: 42px; border-radius: 10px; font-size: 12px; font-weight: 800; }
.robot-add-button { background: var(--green) !important; border-color: transparent !important; box-shadow: none; color: #000 !important; }
.robot-save-button { color: var(--green-light) !important; border-color: rgba(0, 218, 129, .26) !important; }
.robot-header-actions .robot-save-button[hidden] { display: none !important; }

.robot-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 42px; }
.robot-summary-card {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  min-height: 132px;
  padding: 20px 20px 18px;
  overflow: hidden;
  border: 1px solid var(--robot-line);
  border-radius: 15px;
  background: linear-gradient(140deg, rgba(13, 39, 50, .86), rgba(15, 30, 46, .96));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .03);
}
.robot-summary-card::after { position: absolute; right: -28px; bottom: -42px; width: 130px; height: 130px; border-radius: 50%; content: ''; opacity: .12; filter: blur(1px); }
.robot-summary-card--blue::after { background: #60a5fa; }
.robot-summary-card--green::after { background: #10c878; }
.robot-summary-card--amber::after { background: #f5a623; }
.robot-summary-mark { display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px; border: 1px solid currentColor; border-radius: 11px; font-size: 22px; line-height: 1; }
.robot-summary-card--blue { border-color: rgba(96, 165, 250, .28); }
.robot-summary-card--green { border-color: rgba(16, 200, 120, .3); }
.robot-summary-card--amber { border-color: rgba(245, 166, 35, .28); }
.robot-summary-card--blue .robot-summary-mark { color: #8cc5ff; background: rgba(96, 165, 250, .09); }
.robot-summary-card--green .robot-summary-mark { color: #42e89a; background: rgba(16, 200, 120, .08); }
.robot-summary-card--amber .robot-summary-mark { color: #f5b84f; background: rgba(245, 166, 35, .08); }
.robot-summary-card--active { border-color: rgba(var(--robot-accent-rgb), .3); }
.robot-summary-card--active::after { background: var(--robot-green); }
.robot-summary-card--active .robot-summary-mark { color: var(--green-light); background: rgba(var(--robot-accent-rgb), .08); }
.robot-summary-card span { display: block; color: #9eb6c7; font-size: 12px; font-weight: 800; letter-spacing: .03em; }
.robot-summary-card strong { display: block; margin-top: 4px; color: #f4f8fb; font-size: 31px; font-weight: 900; letter-spacing: 0; line-height: 1; }
.robot-summary-card--blue strong { color: #8cc5ff; }
.robot-summary-card--green strong { color: #42e89a; }
.robot-summary-card--amber strong { color: #f5b84f; }
.robot-summary-card small { display: block; margin-top: 8px; color: #8fa8bb; font-size: 11px; }

.robot-catalog-section { min-width: 0; }
.robot-section-heading { justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.robot-section-kicker,
.robot-drawer-kicker,
.robot-dialog-kicker { color: var(--robot-blue); font-family: 'IBM Plex Mono', monospace; font-size: 10px; letter-spacing: .12em; }
.robot-section-heading h2 { margin-top: 7px; color: #f4f8fb; font-size: 21px; letter-spacing: 0; }
.robot-section-heading p { margin-top: 5px; color: #a9c4d6; font-size: 13px; }
.robot-table-meta { gap: 8px; flex: 0 0 auto; color: #7892a4; font-family: 'IBM Plex Mono', monospace; font-size: 10px; text-transform: uppercase; }
.robot-meta-dot { width: 4px; height: 4px; border-radius: 50%; background: #4c829f; }
.robot-status-legend { display: inline-flex; align-items: center; gap: 10px; margin-left: 6px; padding-left: 12px; border-left: 1px solid rgba(145, 174, 198, .14); text-transform: none; }
.robot-status-legend__item { display: inline-flex; align-items: center; gap: 5px; color: #8ca4b3; font-size: 10px; white-space: nowrap; }
.robot-status-legend__item i { width: 6px; height: 6px; border-radius: 50%; background: #8ca4b3; }
.robot-status-legend__item--active i { background: var(--robot-green); box-shadow: 0 0 0 3px rgba(var(--robot-accent-rgb), .1); }
.robot-status-legend__item--archived i { background: #97a6ae; }
.robot-toolbar { gap: 12px; margin-bottom: 16px; }
.robot-search-wrap { position: relative; display: block; flex: 1; max-width: 430px; }
.robot-search-wrap input,
.robot-filter-wrap select {
  height: 46px;
  border: 1px solid rgba(145, 174, 198, 0.18);
  border-radius: 10px;
  background: #091925;
  color: #f4f8fb;
  font-size: 14px;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.robot-search-wrap input { width: 100%; padding: 0 13px 0 37px; }
.robot-search-wrap input:focus,
.robot-filter-wrap select:focus { border-color: rgba(0, 218, 129, .58); background: #091925; box-shadow: 0 0 0 3px rgba(0, 218, 129, .12); }
.robot-search-icon { position: absolute; top: 50%; left: 14px; color: #7194a7; font-size: 20px; line-height: 1; transform: translateY(-53%); pointer-events: none; }
.robot-filter-wrap select { min-width: 190px; padding: 0 32px 0 12px; }
.robot-toolbar .robot-refresh-button { gap: 7px; min-height: 46px; padding: 0 13px; border: 1px solid rgba(145, 174, 198, .18); border-radius: 10px; color: #a9c4d6; font-size: 11px; }
.robot-refresh-button span:first-child { color: var(--robot-blue); font-size: 19px; }

.robot-table-surface {
  min-height: 260px;
  overflow: hidden;
  border: 1px solid rgba(130, 163, 190, 0.16);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(9, 38, 44, 0.64), rgba(18, 34, 53, 0.94)), #102235;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03), 0 18px 40px rgba(0, 0, 0, 0.18);
}
.robot-table-wrap { overflow-x: auto; }
.robot-table { width: 100%; min-width: 940px; border-collapse: collapse; }
.robot-table th { padding: 14px 15px; border-bottom: 1px solid rgba(145, 174, 198, .14); color: #84a4b9; font-family: inherit; font-size: 10px; font-weight: 900; letter-spacing: .09em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.robot-table td { padding: 16px 15px; border-bottom: 1px solid rgba(145, 174, 198, .1); color: #f4f8fb; font-size: 13px; vertical-align: middle; }
.robot-table tbody tr {
  --robot-row-line: rgba(139, 159, 174, .55);
  --robot-row-tint: rgba(139, 159, 174, .025);
  cursor: pointer;
  background: linear-gradient(90deg, var(--robot-row-tint), transparent 52%);
  transition: background .2s ease, transform .2s ease;
}
.robot-table tbody tr:hover { background: linear-gradient(90deg, rgba(146, 178, 205, .1), rgba(146, 178, 205, .035) 52%, transparent); }
.robot-table tbody tr:focus-within { outline: 2px solid rgba(var(--robot-accent-rgb), .42); outline-offset: -2px; }
.robot-table tbody tr.robot-row--active { --robot-row-line: rgba(var(--robot-accent-rgb), .9); --robot-row-tint: rgba(var(--robot-accent-rgb), .07); }
.robot-table tbody tr.robot-row--active:hover { background: linear-gradient(90deg, rgba(var(--robot-accent-rgb), .13), rgba(var(--robot-accent-rgb), .045) 52%, transparent); }
.robot-table tbody tr.robot-row--archived { --robot-row-line: rgba(145, 159, 168, .72); --robot-row-tint: rgba(145, 159, 168, .045); }
.robot-table tbody tr.robot-row--archived:hover { background: linear-gradient(90deg, rgba(145, 159, 168, .12), rgba(145, 159, 168, .04) 52%, transparent); }
.robot-table tbody tr.robot-row--archived .robot-avatar { border-color: rgba(145, 159, 168, .42); background: linear-gradient(145deg, rgba(145, 159, 168, .17), rgba(49, 63, 73, .42)); color: #aab8bf; filter: grayscale(.68); }
.robot-table tbody tr.robot-row--archived .robot-cell strong { color: #c9d3d8; }
.robot-table tbody tr.robot-row--archived .robot-mono { color: #82929b; }
.robot-table tbody tr.robot-row--inactive { --robot-row-line: rgba(244, 186, 88, .7); --robot-row-tint: rgba(244, 186, 88, .035); }
.robot-table tbody tr.robot-row--inactive:hover { background: linear-gradient(90deg, rgba(244, 186, 88, .1), rgba(244, 186, 88, .035) 52%, transparent); }
.robot-table tbody tr td:first-child { border-left: 3px solid var(--robot-row-line); padding-left: 12px; }
.robot-table tbody tr:last-child td { border-bottom: 0; }
.robot-cell { display: flex; align-items: center; gap: 12px; min-width: 190px; }
.robot-avatar { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; overflow: hidden; border: 1px solid rgba(var(--robot-accent-rgb), .28); border-radius: 10px; background: linear-gradient(145deg, rgba(var(--robot-accent-rgb), .2), rgba(21, 87, 47, .45)); color: var(--green-light); font-family: 'IBM Plex Mono', monospace; font-size: 10px; font-weight: 600; }
.robot-avatar img { width: 100%; height: 100%; object-fit: cover; }
.robot-avatar--large { flex-basis: 48px; width: 48px; height: 48px; border-radius: 14px; font-size: 12px; }
.robot-cell strong { display: block; color: #edf6fa; font-size: 12px; font-weight: 800; }
.robot-mono { color: #7795a8; font-family: 'IBM Plex Mono', monospace; font-size: 10px; }
.robot-cell .robot-mono { display: block; margin-top: 3px; }
.robot-version { color: var(--green-light); font-family: 'IBM Plex Mono', monospace; font-size: 11px; }
.robot-version small { display: block; margin-top: 4px; color: #668396; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 10px; }
.robot-license-count strong { display: block; color: #edf7f8; font-size: 15px; }
.robot-license-count small { display: block; margin-top: 2px; color: #688496; font-size: 10px; }
.robot-group-list { display: flex; flex-wrap: wrap; gap: 5px; max-width: 185px; }
.robot-group-chip,
.robot-status-chip { display: inline-flex; align-items: center; width: fit-content; min-height: 22px; padding: 0 8px; border: 1px solid rgba(139, 174, 194, .19); border-radius: 999px; background: rgba(132, 169, 190, .07); color: #9db9c8; font-size: 9px; font-weight: 700; white-space: nowrap; }
.robot-group-chip--green { border-color: rgba(54, 227, 160, .25); background: rgba(54, 227, 160, .08); color: #6aefb9; }
.robot-group-chip--blue { border-color: rgba(var(--robot-accent-rgb), .25); background: rgba(var(--robot-accent-rgb), .08); color: var(--green-light); }
.robot-group-chip--amber { border-color: rgba(244, 186, 88, .28); background: rgba(244, 186, 88, .08); color: #f4c977; }
.robot-status-chip { gap: 6px; border-color: rgba(54, 227, 160, .22); background: rgba(54, 227, 160, .08); color: #72e9bb; }
.robot-status-chip::before { width: 5px; height: 5px; border-radius: 50%; background: currentColor; content: ''; }
.robot-status-chip--inactive { border-color: rgba(244, 186, 88, .2); background: rgba(244, 186, 88, .07); color: #e8bd6a; }
.robot-status-chip--archived { border-color: rgba(139, 159, 174, .2); background: rgba(139, 159, 174, .07); color: #99aeba; }
.robot-status-chip--draft { border-color: rgba(var(--robot-accent-rgb), .25); background: rgba(var(--robot-accent-rgb), .08); color: var(--green-light); }
.robot-file-visibility { display: inline-flex; align-items: center; min-height: 20px; padding: 0 7px; border-radius: 999px; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 9px; font-weight: 800; }
.robot-file-visibility--visible { border: 1px solid rgba(54, 227, 160, .2); background: rgba(54, 227, 160, .07); color: #72e9bb; }
.robot-file-visibility--hidden { border: 1px solid rgba(244, 186, 88, .2); background: rgba(244, 186, 88, .07); color: #e8bd6a; }
.robot-date { color: #89a1b1; white-space: nowrap; }
.robot-date strong { display: block; color: #c8d9e3; font-size: 11px; font-weight: 600; }
.robot-date small { display: block; margin-top: 2px; color: #617d8f; font-size: 10px; }
.robot-row-actions { display: flex; align-items: center; justify-content: flex-end; gap: 5px; white-space: nowrap; }
.robot-row-actions .icon-button { width: 29px; height: 29px; font-size: 18px; }
.robot-row-actions .btn { min-height: 29px; padding: 0 9px; border-radius: 7px; font-size: 10px; }

.robot-skeleton { display: grid; gap: 14px; padding: 24px; }
.robot-skeleton[hidden] { display: none !important; }
.robot-skeleton span { display: block; height: 44px; border-radius: 8px; background: linear-gradient(90deg, rgba(106, 151, 179, .06), rgba(106, 151, 179, .15), rgba(106, 151, 179, .06)); background-size: 240% 100%; animation: robot-shimmer 1.4s ease-in-out infinite; }
.robot-skeleton span:nth-child(2) { width: 88%; }.robot-skeleton span:nth-child(3) { width: 94%; }.robot-skeleton span:nth-child(4) { width: 78%; }.robot-skeleton span:nth-child(5) { width: 91%; }
@keyframes robot-shimmer { 0% { background-position: 120% 0; } 100% { background-position: -120% 0; } }
.robot-state { display: grid; justify-items: center; gap: 9px; padding: 72px 22px; color: var(--robot-muted); text-align: center; }
.robot-state[hidden] { display: none; }
.robot-state-icon { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(var(--robot-accent-rgb), .25); border-radius: 12px; background: rgba(var(--robot-accent-rgb), .08); color: var(--robot-blue); font-family: 'IBM Plex Mono', monospace; font-size: 20px; }
.robot-state--error .robot-state-icon { border-color: rgba(255, 119, 119, .26); background: rgba(255, 119, 119, .08); color: var(--robot-red); }
.robot-state h3 { color: #dcebf3; font-size: 15px; }
.robot-state p { max-width: 390px; color: #728b9c; font-size: 12px; }
.robot-state .btn { margin-top: 6px; min-height: 36px; border-radius: 8px; font-size: 11px; }
.robot-footnote { margin-top: 17px; color: #5f7788; font-family: 'IBM Plex Mono', monospace; font-size: 10px; }
.robot-footnote span { margin-right: 7px; color: var(--robot-green); font-size: 8px; }

.robot-drawer-backdrop { position: fixed; inset: 0; z-index: 300; background: rgba(1, 7, 12, .56); backdrop-filter: blur(4px); }
.robot-drawer-backdrop[hidden] { display: none; }
.robot-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 301;
  display: flex;
  flex-direction: column;
  width: min(500px, 100vw);
  border-left: 1px solid rgba(130, 163, 190, .22);
  background: linear-gradient(145deg, #102a38, #0d1c2d);
  box-shadow: -24px 0 70px rgba(0, 0, 0, .48);
  transform: translateX(105%);
  transition: transform .24s cubic-bezier(.2, .8, .2, 1);
}
.robot-drawer.is-open { transform: translateX(0); }
.robot-drawer[aria-hidden="true"] { pointer-events: none; }
.robot-drawer-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 28px 28px 22px; border-bottom: 1px solid var(--robot-line); }
.robot-drawer-heading { display: flex; align-items: center; gap: 14px; min-width: 0; }
.robot-drawer-heading h2 { margin-top: 5px; color: #f3f9fb; font-size: 22px; letter-spacing: -.04em; }
.robot-drawer-heading .robot-mono { display: block; margin-top: 3px; }
.icon-button { display: inline-grid; place-items: center; flex: 0 0 auto; width: 34px; height: 34px; border: 1px solid rgba(140, 175, 195, .18); border-radius: 9px; background: rgba(135, 171, 193, .06); color: #96b2c2; cursor: pointer; font-size: 22px; line-height: 1; transition: border-color .18s ease, color .18s ease, background .18s ease; }
.icon-button:hover, .icon-button:focus-visible { border-color: rgba(var(--robot-accent-rgb), .44); background: rgba(var(--robot-accent-rgb), .1); color: #e8f0ec; outline: none; }
.robot-drawer-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 18px 28px; }
.robot-drawer-stat { padding: 11px 12px; border: 1px solid rgba(151, 187, 207, .12); border-radius: 9px; background: rgba(10, 23, 34, .6); }
.robot-drawer-stat span { display: block; color: #7290a2; font-family: 'IBM Plex Mono', monospace; font-size: 9px; text-transform: uppercase; }
.robot-drawer-stat strong { display: block; margin-top: 5px; color: #eaf5f8; font-size: 16px; }
.robot-drawer-tabs { display: flex; gap: 20px; padding: 0 28px; border-bottom: 1px solid var(--robot-line); }
.robot-drawer-tabs button { position: relative; min-height: 45px; border: 0; background: transparent; color: #718a9c; cursor: pointer; font-size: 11px; font-weight: 800; }
.robot-drawer-tabs button::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; border-radius: 99px 99px 0 0; background: var(--robot-blue); content: ''; opacity: 0; transform: scaleX(.4); transition: opacity .18s ease, transform .18s ease; }
.robot-drawer-tabs button[aria-selected="true"] { color: #e7f5fb; }.robot-drawer-tabs button[aria-selected="true"]::after { opacity: 1; transform: scaleX(1); }
.robot-drawer-content { flex: 1; overflow-y: auto; padding: 24px 28px 40px; }
.robot-drawer-loading { display: grid; gap: 13px; }.robot-drawer-loading span { height: 62px; border-radius: 10px; background: rgba(111, 154, 180, .09); animation: robot-shimmer 1.4s infinite; }
.drawer-section { margin-bottom: 26px; }.drawer-section:last-child { margin-bottom: 0; }
.drawer-section-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.drawer-section h3 { color: #e8f3f7; font-size: 13px; }.drawer-section p { margin-top: 4px; color: #71899a; font-size: 11px; line-height: 1.5; }
.drawer-actions { display: flex; flex-wrap: wrap; gap: 7px; }.drawer-actions .btn { min-height: 32px; padding: 0 10px; border-radius: 7px; font-size: 10px; }
.drawer-copy { padding: 15px; border: 1px solid rgba(151, 187, 207, .12); border-radius: 10px; background: rgba(9, 22, 33, .55); color: #adbfca; font-size: 12px; line-height: 1.6; }
.drawer-release-card, .drawer-license-card, .drawer-group-card, .drawer-audit-item { padding: 13px; border: 1px solid rgba(151, 187, 207, .12); border-radius: 10px; background: rgba(9, 22, 33, .55); }
.drawer-release-card + .drawer-release-card, .drawer-license-card + .drawer-license-card, .drawer-group-card + .drawer-group-card, .drawer-audit-item + .drawer-audit-item { margin-top: 8px; }
.drawer-release-top, .drawer-license-top, .drawer-group-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.drawer-release-card strong, .drawer-license-card strong, .drawer-group-card strong { color: #e6f1f5; font-size: 12px; }.drawer-release-card p, .drawer-license-card p, .drawer-group-card p { margin-top: 4px; }
.drawer-release-meta, .drawer-license-meta { display: flex; flex-wrap: wrap; gap: 7px 12px; margin-top: 10px; color: #6f899b; font-family: 'IBM Plex Mono', monospace; font-size: 9px; }
.drawer-card-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 11px; }.drawer-card-actions .btn { min-height: 27px; padding: 0 8px; border-radius: 6px; font-size: 9px; }
.drawer-empty { padding: 22px 14px; border: 1px dashed rgba(150, 184, 204, .18); border-radius: 10px; color: #71899a; font-size: 11px; text-align: center; }
.drawer-dl-icon { color: var(--robot-blue); font-size: 14px; }
.drawer-key { color: #b2cfde; font-family: 'IBM Plex Mono', monospace; font-size: 10px; }.drawer-user { display: block; margin-top: 5px; color: #7c96a7; font-size: 10px; }
.drawer-audit-item { color: #a9bbc5; font-size: 10px; }.drawer-audit-item strong { color: #dbeaf0; }.drawer-audit-item time { display: block; margin-top: 5px; color: #657f90; font-family: 'IBM Plex Mono', monospace; font-size: 9px; }
.robot-drawer .robot-form-message { margin-bottom: 13px; }

.robot-dialog { position: fixed; inset: 0; width: min(650px, calc(100vw - 28px)); max-height: min(760px, calc(100vh - 32px)); margin: auto; padding: 0; overflow: hidden; border: 1px solid rgba(130, 163, 190, .22); border-radius: 18px; background: linear-gradient(145deg, #102a38, #0d1c2d); color: var(--robot-text); box-shadow: 0 24px 70px rgba(0, 0, 0, .48); }
.robot-dialog--compact { width: min(480px, calc(100vw - 28px)); }
.robot-dialog::backdrop { background: rgba(2, 9, 15, .78); backdrop-filter: blur(4px); }
.robot-dialog form { display: flex; flex-direction: column; max-height: inherit; }
.robot-dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 24px 25px 18px; border-bottom: 1px solid rgba(145, 174, 198, .14); }
.robot-dialog-head h2 { margin-top: 5px; color: #f4f8fb; font-size: 23px; font-weight: 900; letter-spacing: 0; }
.robot-dialog-body { overflow-y: auto; padding: 22px 25px; }.robot-dialog-actions { display: flex; justify-content: flex-end; gap: 8px; padding: 16px 25px 20px; border-top: 1px solid var(--robot-line); }
.robot-dialog-actions .btn { min-height: 38px; border-radius: 8px; font-size: 11px; }
.robot-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 14px; }.robot-form-grid__wide { grid-column: 1 / -1; }
.robot-license-modes { min-width: 0; margin: 0; padding: 14px; border: 1px solid rgba(151, 187, 207, .14); border-radius: 10px; background: rgba(8, 20, 30, .38); }.robot-license-modes legend { padding: 0 5px; color: #dcecf2; font-size: 11px; font-weight: 800; }.robot-license-modes > small { display: block; margin-top: 9px; color: #728b9c; font-size: 10px; line-height: 1.45; }.robot-check-option:has(input:disabled) { cursor: not-allowed; opacity: .48; }
.robot-initial-assets { display: grid; gap: 14px; margin-top: 3px; padding-top: 17px; border-top: 1px solid var(--robot-line); }.robot-initial-assets[hidden] { display: none; }.robot-initial-assets__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }.robot-initial-assets__head div { display: grid; gap: 4px; }.robot-initial-assets__head strong { color: #dcecf2; font-size: 12px; }.robot-initial-assets__head small { color: #71899a; font-size: 10px; font-weight: 400; }.robot-initial-assets__head > span { flex: 0 0 auto; padding-top: 2px; color: var(--green-light); font-family: 'IBM Plex Mono', monospace; font-size: 9px; letter-spacing: .08em; }.robot-initial-files { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }.robot-initial-previews { display: grid; gap: 8px; }
.robot-version-field input[readonly] { border-color: rgba(var(--robot-accent-rgb), .28); background: rgba(var(--robot-accent-rgb), .055); color: var(--green-light); cursor: not-allowed; }.robot-version-field small[data-state="loading"] { color: #9cc3d5; }.robot-version-field small[data-state="success"] { color: var(--green-light); }.robot-version-field small[data-state="warning"] { color: #f1c17c; }
.robot-dialog label { display: grid; align-content: start; gap: 7px; color: #c4d6df; font-size: 11px; font-weight: 700; }.robot-dialog label > span { display: block; }.robot-dialog label em { color: #6e8798; font-style: normal; font-weight: 400; }
.robot-dialog input, .robot-dialog select, .robot-dialog textarea { width: 100%; border: 1px solid rgba(151, 187, 207, .17); border-radius: 8px; background: #0a1723; color: #ebf5f8; font: inherit; font-size: 12px; outline: none; transition: border-color .18s ease, box-shadow .18s ease; }.robot-dialog input, .robot-dialog select { height: 39px; padding: 0 11px; }.robot-dialog textarea { padding: 10px 11px; resize: vertical; }.robot-dialog input:focus, .robot-dialog select:focus, .robot-dialog textarea:focus { border-color: rgba(var(--robot-accent-rgb), .62); box-shadow: 0 0 0 3px rgba(var(--robot-accent-rgb), .1); }.robot-dialog label small { color: #6f8999; font-size: 10px; font-weight: 400; }
.robot-dropzone { position: relative; min-height: 96px; align-content: center; padding: 12px; border: 1px dashed rgba(var(--robot-accent-rgb), .34); border-radius: 10px; background: rgba(var(--robot-accent-rgb), .045); cursor: pointer; overflow: hidden; transition: border-color .18s ease, background .18s ease, transform .18s ease; }.robot-dropzone:hover, .robot-dropzone:focus-within, .robot-dropzone.is-dragging { border-color: rgba(var(--robot-accent-rgb), .8); background: rgba(var(--robot-accent-rgb), .1); }.robot-dropzone.is-dragging { transform: translateY(-1px); }.robot-dropzone > span:first-child { color: #c4d6df; }.robot-dropzone-copy { display: grid !important; gap: 4px; justify-items: center; pointer-events: none; text-align: center; }.robot-dropzone-copy strong { color: var(--green-light); font-size: 11px; }.robot-dropzone-copy small { color: #718d9d !important; font-size: 10px !important; font-weight: 400; }.robot-dropzone input[type="file"] { position: absolute; inset: 0; z-index: 1; height: 100%; padding: 0; border: 0; opacity: 0; cursor: pointer; }.robot-publish-now { margin-top: 15px; padding: 10px 12px; border: 1px solid rgba(var(--robot-accent-rgb), .14); border-radius: 8px; background: rgba(var(--robot-accent-rgb), .04); }
.robot-form-message { padding: 10px 12px; border-radius: 8px; font-size: 11px; line-height: 1.45; }.robot-form-message--error { border: 1px solid rgba(255, 119, 119, .25); background: rgba(255, 119, 119, .08); color: #ffaaa5; }.robot-form-message[hidden] { display: none; }
.robot-dialog-note { margin-top: 16px; color: #728c9d; font-size: 10px; line-height: 1.5; }
.robot-release-groups { display: grid; gap: 12px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--robot-line); }.robot-release-groups > div:first-child { display: grid; gap: 4px; }.robot-release-groups strong { color: #dcecf2; font-size: 11px; }.robot-release-groups span { color: #728b9c; font-size: 10px; }.robot-check-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }.robot-check-option { display: flex !important; grid-template-columns: none !important; align-items: center; gap: 7px !important; min-height: 37px; padding: 8px 9px; border: 1px solid rgba(151, 187, 207, .13); border-radius: 8px; background: rgba(8, 20, 30, .62); cursor: pointer; }.robot-check-option:has(input:checked) { border-color: rgba(54, 227, 160, .34); background: rgba(54, 227, 160, .07); }.robot-check-option input { width: 14px; height: 14px; accent-color: var(--robot-green); }.robot-check-option span { color: #b8cbd5 !important; font-size: 10px !important; }
.robot-upload-preview, .robot-file-selection { margin-top: 14px; padding: 11px 12px; border: 1px solid rgba(var(--robot-accent-rgb), .18); border-radius: 8px; background: rgba(var(--robot-accent-rgb), .06); color: var(--green-light); font-family: 'IBM Plex Mono', monospace; font-size: 10px; }.robot-upload-preview[hidden], .robot-file-selection[hidden] { display: none; }
.robot-set-preview-head { display: grid; gap: 3px; margin-bottom: 9px; }.robot-set-preview-head strong { color: #dcecf2; font-family: inherit; font-size: 11px; }.robot-set-preview-head span { color: #728c9d; font-family: inherit; font-size: 10px; }.robot-set-preview-row { display: grid; grid-template-columns: minmax(125px, 1.2fr) minmax(145px, 1fr) minmax(155px, 1fr); align-items: end; gap: 10px; padding: 9px 0; border-top: 1px solid rgba(var(--robot-accent-rgb), .12); }.robot-set-preview-row:first-of-type { border-top: 0; }.robot-set-preview-file { display: grid; gap: 3px; min-width: 0; align-self: center; }.robot-set-preview-file strong { overflow: hidden; color: #dcecf2; font-family: inherit; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }.robot-set-preview-file small { color: #728c9d; font-family: inherit; font-size: 9px; }.robot-set-preview-row label { gap: 5px; font-size: 9px; }.robot-set-preview-row label span, .robot-set-preview-download span { color: #7894a4; font-family: inherit; font-size: 9px; font-weight: 600; }.robot-set-preview-row input { height: 32px; padding: 0 8px; font-family: inherit; font-size: 10px; }.robot-set-preview-download { display: grid; gap: 5px; min-width: 0; }.robot-set-preview-download code, .drawer-file-name code { overflow-wrap: anywhere; color: var(--green-light); font-family: 'IBM Plex Mono', monospace; font-size: 9px; }.drawer-file-name { display: grid; gap: 4px; margin-top: 10px; padding-top: 9px; border-top: 1px solid rgba(151, 187, 207, .09); }.drawer-file-name span { color: #71899a; font-size: 9px; }
.robot-checkbox-line { display: flex !important; align-items: center; align-content: center; grid-template-columns: none !important; gap: 8px !important; padding-top: 21px; }.robot-checkbox-line input { width: 15px; height: 15px; accent-color: var(--robot-green); }.robot-checkbox-line span { color: #9bb1be !important; font-size: 10px !important; }
.robot-impact-card { padding: 13px; border: 1px solid rgba(54, 227, 160, .18); border-radius: 9px; background: rgba(54, 227, 160, .06); color: #93cdb6; font-size: 11px; line-height: 1.5; }.robot-impact-card strong { color: #c5f2df; }
.robot-autocomplete { position: relative; z-index: 2; max-height: 155px; overflow-y: auto; margin-top: -2px; border: 1px solid rgba(151, 187, 207, .2); border-top: 0; border-radius: 0 0 8px 8px; background: #112333; }.robot-autocomplete[hidden] { display: none; }.robot-user-option { display: block; width: 100%; padding: 9px 11px; border: 0; border-bottom: 1px solid rgba(151, 187, 207, .09); background: transparent; color: #e1eef3; cursor: pointer; font: inherit; font-size: 11px; text-align: left; }.robot-user-option:hover, .robot-user-option:focus-visible { background: rgba(var(--robot-accent-rgb), .1); outline: none; }.robot-user-option small { display: block; margin-top: 3px; color: #7895a6; font-size: 10px; }

.robot-toast-region { position: fixed; right: 24px; bottom: 24px; z-index: 500; display: grid; gap: 9px; width: min(360px, calc(100vw - 32px)); }.robot-toast { display: grid; grid-template-columns: auto 1fr auto; align-items: start; gap: 10px; padding: 13px 14px; border: 1px solid rgba(151, 187, 207, .18); border-radius: 10px; background: #102131; box-shadow: 0 16px 34px rgba(0, 0, 0, .3); color: #d9e9ef; font-size: 11px; animation: robot-toast-in .22s ease both; }.robot-toast--success { border-color: rgba(54, 227, 160, .28); }.robot-toast--error { border-color: rgba(255, 119, 119, .28); }.robot-toast-mark { color: var(--robot-blue); font-family: 'IBM Plex Mono', monospace; }.robot-toast--success .robot-toast-mark { color: var(--robot-green); }.robot-toast--error .robot-toast-mark { color: var(--robot-red); }.robot-toast button { border: 0; background: transparent; color: #7593a5; cursor: pointer; font-size: 16px; line-height: 1; }.robot-toast button:hover { color: #e5f3f8; }
@keyframes robot-toast-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 1180px) {
  .robot-main-content { padding-right: 24px !important; padding-left: 24px !important; }
  .robot-table th, .robot-table td { padding-right: 13px; padding-left: 13px; }
}

@media (min-width: 821px) and (max-width: 980px) {
  .robot-sidebar { width: 210px !important; }
  .robot-main-content { width: calc(100% - 210px) !important; margin-left: 210px !important; padding: 0 22px 52px !important; }
}

@media (max-width: 820px) {
  .robot-admin-shell { display: flex !important; flex-direction: column; }
  .robot-sidebar { position: static !important; width: 100% !important; height: auto !important; padding: 18px 14px 12px !important; border-right: 0 !important; border-bottom: 1px solid var(--border) !important; }
  .robot-sidebar .sidebar-logo { padding: 0 4px 14px !important; border-bottom: 0 !important; }
  .robot-sidebar .sidebar-nav { display: grid !important; grid-auto-flow: column; grid-auto-columns: max-content; overflow-x: auto; padding: 0 0 10px !important; }
  .robot-sidebar .sidebar-footer { padding: 12px 4px 0 !important; border-top: 1px solid var(--border) !important; }
  .robot-main-content { width: 100% !important; margin-left: 0 !important; padding: 0 16px 44px !important; }
  .robot-page-header { padding: 20px 0; margin-bottom: 22px; border-bottom: 1px solid var(--border); }
  .robot-header-row, .robot-section-heading { align-items: flex-start; flex-direction: column; }
  .robot-header-actions { width: 100%; justify-content: flex-start; }
  .robot-summary-grid { margin-bottom: 30px; }
  .robot-summary-card { min-height: 116px; padding: 16px; }
  .robot-table-meta { align-self: flex-start; }
}

@media (max-width: 560px) {
  .robot-header-topline { align-items: flex-start; flex-direction: column; gap: 12px; }
  .robot-page-header .admin-title { font-size: 32px !important; }
  .robot-summary-grid { grid-template-columns: 1fr; gap: 9px; }
  .robot-summary-card { min-height: 90px; }
  .robot-toolbar { align-items: stretch; flex-wrap: wrap; }
  .robot-search-wrap { flex-basis: 100%; max-width: none; }
  .robot-filter-wrap { flex: 1; }.robot-filter-wrap select { width: 100%; }
  .robot-toolbar .robot-refresh-button { flex: 0 0 auto; }
  .robot-drawer-head, .robot-drawer-content { padding-right: 18px; padding-left: 18px; }
  .robot-drawer-summary { gap: 6px; padding-right: 18px; padding-left: 18px; }
  .robot-drawer-stat { padding: 9px; }.robot-drawer-stat strong { font-size: 14px; }
  .robot-drawer-tabs { padding-right: 18px; padding-left: 18px; }
  .robot-form-grid { grid-template-columns: 1fr; }.robot-form-grid__wide { grid-column: auto; }
  .robot-initial-files { grid-template-columns: 1fr; }.robot-initial-assets__head { flex-direction: column; gap: 8px; }
  .robot-check-grid { grid-template-columns: 1fr; }
  .robot-dialog-body, .robot-dialog-head, .robot-dialog-actions { padding-right: 18px; padding-left: 18px; }
  .robot-dialog-actions { justify-content: stretch; }.robot-dialog-actions .btn { flex: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .robot-drawer, .robot-drawer-tabs button::after, .robot-skeleton span, .robot-drawer-loading span, .robot-toast { animation: none; transition: none; }
}

/* Use the same institutional green as the rest of the portal for every robot accent. */
.robot-live-indicator i { box-shadow: 0 0 0 4px rgba(var(--robot-accent-rgb), .1), 0 0 16px rgba(var(--robot-accent-rgb), .55); }
.robot-summary-card--green .robot-summary-mark { background: rgba(var(--robot-accent-rgb), .08); }
.robot-group-chip--green { border-color: rgba(var(--robot-accent-rgb), .25); background: rgba(var(--robot-accent-rgb), .08); color: var(--green-light); }
.robot-status-chip { border-color: rgba(var(--robot-accent-rgb), .22); background: rgba(var(--robot-accent-rgb), .08); color: var(--green-light); }
.robot-check-option:has(input:checked) { border-color: rgba(var(--robot-accent-rgb), .34); background: rgba(var(--robot-accent-rgb), .07); }
.robot-impact-card { border-color: rgba(var(--robot-accent-rgb), .18); background: rgba(var(--robot-accent-rgb), .06); }
.robot-toast--success { border-color: rgba(var(--robot-accent-rgb), .28); }

/* Keep the same compact desktop geometry as the shared admin sidebar. */
@media (min-width: 981px) {
  .robot-admin-shell.admin-sidebar-collapsed .robot-sidebar { width: 78px !important; }
  .robot-admin-shell.admin-sidebar-collapsed .robot-main-content { width: calc(100% - 78px) !important; margin-left: 78px !important; }
}

/* Keep the unified form readable at phone widths while preserving the two-column tablet layout. */
@media (max-width: 720px) {
  .robot-dialog { width: calc(100vw - 24px); max-height: calc(100vh - 24px); }
  .robot-dialog-head { padding: 20px 18px 16px; }
  .robot-dialog-body { padding: 20px 18px; }
  .robot-dialog-actions { justify-content: stretch; padding: 14px 18px 18px; }
  .robot-dialog-actions .btn { flex: 1; min-width: 0; }
  .robot-form-grid { grid-template-columns: 1fr; gap: 12px; }
  .robot-form-grid__wide { grid-column: auto; }
  .robot-initial-files { grid-template-columns: 1fr; }
  .robot-initial-assets__head { flex-direction: column; gap: 8px; }
  .robot-set-preview-row { grid-template-columns: 1fr; align-items: stretch; gap: 8px; }
}
