/* ==========================================================================
   MCRemote — Design System
   --------------------------------------------------------------------------
   Osnovni dizajn sistem za MCRemote.Server konzolu.
   Sloj 1: MCRetail ERP foundations (--mc-* tokeni + .mc-* komponente),
           ekstrahovano iz admin-design-system.css (WebCommerce).
   Sloj 2: MCRemote konzola (.mcr-* shell + .rc-* ScreenConnect-style zone),
           iz "MCRemote — Standalone" dizajna.
   Tema: data-bs-theme="light|dark" na <html> (kompatibilno sa Bootstrap-om).
   Font: Google Sans (CDN) · Ikone: Font Awesome Pro (fa-light kit).
   ========================================================================== */

/* ==========================================================================
   1. TOKENI
   ========================================================================== */
:root {
	/* ── BRAND / PRIMARY ── */
	--mc-primary:        #4f46e5;  /* Indigo 600 — brand accent */
	--mc-primary-hover:  #4338ca;
	--mc-primary-soft:   rgba(79, 70, 229, 0.10);
	--mc-primary-rgb:    79, 70, 229;

	/* ── SEMANTIC ── */
	--mc-success:        #059669;
	--mc-success-soft:   rgba(5, 150, 105, 0.10);
	--mc-warning:        #d97706;
	--mc-warning-soft:   rgba(217, 119, 6, 0.10);
	--mc-danger:         #dc2626;
	--mc-danger-soft:    rgba(220, 38, 38, 0.10);
	--mc-info:           #2563eb;
	--mc-info-soft:      rgba(37, 99, 235, 0.10);

	/* ── NEUTRALS (slate scale) ── */
	--mc-slate-50:   #f8fafc;
	--mc-slate-100:  #f1f5f9;
	--mc-slate-200:  #e2e8f0;
	--mc-slate-300:  #cbd5e1;
	--mc-slate-400:  #94a3b8;
	--mc-slate-500:  #64748b;
	--mc-slate-600:  #475569;
	--mc-slate-700:  #334155;
	--mc-slate-800:  #1e293b;
	--mc-slate-900:  #0f172a;

	/* ── SURFACES ── */
	--mc-body-bg:        #e9ebf1;  /* warm-cool app canvas */
	--mc-card-bg:        #ffffff;
	--mc-card-border:    #d9dfe7;
	--mc-card-shadow:    0 1px 2px rgba(0, 0, 0, 0.05);
	--mc-card-shadow-lg: 0 4px 12px rgba(0, 0, 0, 0.08);
	--mc-card-radius:    0.75rem;  /* 12px */
	--mc-radius-sm:      0.375rem; /* 6px */
	--mc-radius-md:      0.5rem;   /* 8px */
	--mc-radius-pill:    9999px;

	/* ── SIDEBAR (always dark) ── */
	--mc-sidebar-bg:            #0f172a;
	--mc-sidebar-border:        rgba(255, 255, 255, 0.06);
	--mc-sidebar-text:          rgba(255, 255, 255, 0.55);
	--mc-sidebar-text-hover:    rgba(255, 255, 255, 0.85);
	--mc-sidebar-text-active:   #ffffff;
	--mc-sidebar-hover-bg:      rgba(255, 255, 255, 0.05);
	--mc-sidebar-section-text:  rgba(255, 255, 255, 0.30);

	/* ── TEXT ── */
	--mc-fg-primary:     #0f172a;  /* h1/body strong */
	--mc-fg-secondary:   #64748b;  /* secondary copy */
	--mc-fg-muted:       #94a3b8;  /* labels, meta, placeholder */
	--mc-fg-on-primary:  #ffffff;

	/* ── INPUTS ── */
	--mc-input-bg:       #ffffff;
	--mc-input-border:   #cbd5e1;
	--mc-border-color:   #e2e8f0;

	/* ── LAYOUT METRICS ── */
	--mc-rail-width:              86px;
	--mc-topbar-height:           56px;
	--mc-content-padding:         1.5rem;
	--mc-transition-speed:        0.25s;

	/* ── FONT STACKS ── */
	--mc-font-sans: 'Google Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	--mc-font-mono: 'JetBrains Mono', 'SF Mono', 'Cascadia Code', 'Fira Code', Consolas, ui-monospace, monospace;

	/* ── TYPE SCALE (semantic) ── */
	--mc-size-display:   1.65rem;
	--mc-size-h1:        1.5rem;
	--mc-size-h2:        1.3rem;
	--mc-size-h3:        1.05rem;
	--mc-size-h4:        0.95rem;
	--mc-size-body:      0.85rem;
	--mc-size-body-sm:   0.82rem;
	--mc-size-small:     0.78rem;
	--mc-size-meta:      0.72rem;
	--mc-size-label:     0.65rem;

	--mc-weight-regular: 400;
	--mc-weight-medium:  500;
	--mc-weight-bold:    700;
	--mc-weight-black:   800;

	--mc-lh-tight:  1.2;
	--mc-lh-snug:   1.35;
	--mc-lh-normal: 1.5;
	--mc-lh-loose:  1.65;

	--mc-tracking-tight: -0.02em;
	--mc-tracking-h:     -0.01em;
	--mc-tracking-upper: 0.08em;
}

/* ── DARK MODE ── */
[data-bs-theme="dark"] {
	--mc-body-bg:      #0c0f1a;
	--mc-card-bg:      #111827;
	--mc-card-border:  rgba(255, 255, 255, 0.06);
	--mc-card-shadow:  0 1px 3px rgba(0, 0, 0, 0.3);
	--mc-fg-primary:   #f1f5f9;
	--mc-fg-secondary: #94a3b8;
	--mc-fg-muted:     #64748b;
	--mc-border-color: rgba(255, 255, 255, 0.08);
	--mc-input-bg:     #1e293b;
	--mc-input-border: rgba(255, 255, 255, 0.10);
}

/* ==========================================================================
   2. TIPOGRAFIJA / RESET
   ========================================================================== */
* { box-sizing: border-box; }
html, body { height: 100%; }
body {
	margin: 0;
	overflow: hidden;
	font-family: var(--mc-font-sans);
	font-size: 16px;
	color: var(--mc-fg-primary);
	background: var(--mc-body-bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--mc-font-sans);
	font-weight: var(--mc-weight-bold);
	color: var(--mc-fg-primary);
	letter-spacing: var(--mc-tracking-h);
	margin: 0;
}
h1 { font-size: var(--mc-size-h1); font-weight: var(--mc-weight-black); line-height: var(--mc-lh-tight); }
h2 { font-size: var(--mc-size-h2); font-weight: var(--mc-weight-black); line-height: var(--mc-lh-tight); }
h3 { font-size: var(--mc-size-h3); line-height: var(--mc-lh-snug); }
h4 { font-size: var(--mc-size-h4); line-height: var(--mc-lh-snug); }
p  { font-size: var(--mc-size-body); line-height: var(--mc-lh-normal); color: var(--mc-fg-primary); margin: 0 0 0.75rem; }
small, .mc-small { font-size: var(--mc-size-small); color: var(--mc-fg-secondary); }
code, kbd, pre, .mc-mono { font-family: var(--mc-font-mono); font-variant-numeric: tabular-nums; font-size: 0.82rem; }
a { color: var(--mc-primary); text-decoration: none; }
a:hover { color: var(--mc-primary-hover); }

.mc-label, .mc-section-label {
	font-size: var(--mc-size-label); font-weight: var(--mc-weight-bold);
	text-transform: uppercase; letter-spacing: var(--mc-tracking-upper);
	color: var(--mc-fg-muted); line-height: 1.2;
}
.mc-eyebrow {
	font-size: 0.62rem; font-weight: var(--mc-weight-bold);
	text-transform: uppercase; letter-spacing: var(--mc-tracking-upper); color: var(--mc-fg-muted);
}
.mc-num { font-variant-numeric: tabular-nums; font-family: var(--mc-font-mono); }

/* ==========================================================================
   3. BASE KOMPONENTE (.mc-*)
   ========================================================================== */

/* ── BUTTONS ── */
.mc-btn { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px;
	font: 600 0.85rem var(--mc-font-sans); border-radius: 8px; cursor: pointer; transition: all 0.15s;
	border: 1px solid transparent; text-decoration: none; }
.mc-btn:disabled, .mc-btn.disabled { opacity: 0.5; cursor: not-allowed; }
.mc-btn-primary { background: var(--mc-primary); border-color: var(--mc-primary); color: #fff; }
.mc-btn-primary:hover { background: var(--mc-primary-hover); color: #fff; }
.mc-btn-secondary { background: var(--mc-card-bg); border-color: var(--mc-border-color); color: var(--mc-fg-secondary); }
.mc-btn-secondary:hover { background: var(--mc-primary-soft); color: var(--mc-primary); border-color: var(--mc-primary); }
.mc-btn-outline { background: var(--mc-card-bg); border-color: rgba(79,70,229,0.3); color: var(--mc-primary); }
.mc-btn-outline:hover { background: var(--mc-primary-soft); border-color: var(--mc-primary); color: var(--mc-primary); }
.mc-btn-success { background: var(--mc-success); border-color: var(--mc-success); color: #fff; }
.mc-btn-success:hover { filter: brightness(1.06); color: #fff; }
.mc-btn-danger { background: var(--mc-card-bg); border-color: rgba(220,38,38,0.3); color: var(--mc-danger); }
.mc-btn-danger:hover { background: var(--mc-danger-soft); color: var(--mc-danger); }
.mc-btn-sm { padding: 4px 10px; font-size: 0.78rem; }

/* ── BADGES ── */
.mc-badge { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 9999px;
	font: 600 0.72rem var(--mc-font-sans); line-height: 1.4; white-space: nowrap; }
.mc-badge.dot::before { content: ""; width: 6px; height: 6px; border-radius: 50%; margin-right: 6px; }
.mc-badge-success { background: var(--mc-success-soft); color: var(--mc-success); }
.mc-badge-success.dot::before { background: var(--mc-success); }
.mc-badge-warning { background: var(--mc-warning-soft); color: var(--mc-warning); }
.mc-badge-warning.dot::before { background: var(--mc-warning); }
.mc-badge-danger  { background: var(--mc-danger-soft);  color: var(--mc-danger); }
.mc-badge-danger.dot::before { background: var(--mc-danger); }
.mc-badge-info    { background: var(--mc-info-soft);    color: var(--mc-info); }
.mc-badge-info.dot::before { background: var(--mc-info); }
.mc-badge-primary { background: var(--mc-primary-soft); color: var(--mc-primary); }
.mc-badge-primary.dot::before { background: var(--mc-primary); }
.mc-badge-neutral { background: rgba(100,116,139,0.10); color: var(--mc-fg-secondary); }

/* ── CARDS ── */
.mc-card { background: var(--mc-card-bg); border: 1px solid var(--mc-card-border); border-radius: var(--mc-card-radius);
	box-shadow: var(--mc-card-shadow); overflow: hidden; }
.mc-card-banner { padding: 0.65rem 1.25rem; font: 700 0.8rem var(--mc-font-sans);
	display: flex; align-items: center; gap: 0.5rem; border-bottom: 1px solid var(--mc-border-color); }
.mc-banner-primary { background: var(--mc-primary-soft); color: var(--mc-primary); }
.mc-banner-success { background: var(--mc-success-soft); color: var(--mc-success); }
.mc-banner-warning { background: var(--mc-warning-soft); color: var(--mc-warning); }
.mc-banner-info { background: var(--mc-info-soft); color: var(--mc-info); }
.mc-banner-danger { background: var(--mc-danger-soft); color: var(--mc-danger); }
.mc-card-header { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.25rem;
	border-bottom: 1px solid var(--mc-card-border); gap: 1rem; }
.mc-card-title { font: 700 0.95rem var(--mc-font-sans); color: var(--mc-fg-primary); }
.mc-card-subtitle { font: 400 0.8rem var(--mc-font-sans); color: var(--mc-fg-muted); margin-top: 2px; }
.mc-card-body { padding: 1.25rem; }

/* ── STAT CARDS ── */
.mc-stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-bottom: 1.25rem; }
.mc-stat-card { background: var(--mc-card-bg); border: 1px solid var(--mc-card-border); border-radius: var(--mc-card-radius);
	box-shadow: var(--mc-card-shadow); padding: 1.25rem; display: flex; align-items: flex-start;
	justify-content: space-between; gap: 1rem; transition: all 0.2s; }
.mc-stat-card:hover { box-shadow: var(--mc-card-shadow-lg); transform: translateY(-1px); }
.mc-stat-label { font: 500 0.8rem var(--mc-font-sans); color: var(--mc-fg-secondary); margin-bottom: 0.375rem; }
.mc-stat-value { font: 800 1.65rem var(--mc-font-sans); color: var(--mc-fg-primary); line-height: 1.2;
	letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.mc-stat-footer { display: flex; align-items: center; gap: 0.5rem; margin-top: 0.5rem; font-size: 0.78rem; color: var(--mc-fg-muted); }
.mc-stat-icon { width: 46px; height: 46px; border-radius: 10px; display: flex; align-items: center;
	justify-content: center; font-size: 1.15rem; flex-shrink: 0; }
.mc-stat-icon.primary { background: var(--mc-primary-soft); color: var(--mc-primary); }
.mc-stat-icon.success { background: var(--mc-success-soft); color: var(--mc-success); }
.mc-stat-icon.warning { background: var(--mc-warning-soft); color: var(--mc-warning); }
.mc-stat-icon.danger  { background: var(--mc-danger-soft);  color: var(--mc-danger); }
.mc-stat-icon.info    { background: var(--mc-info-soft);    color: var(--mc-info); }

/* ── PAGE HEADER ── */
.mc-page-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem;
	flex-wrap: wrap; padding: 0.25rem 0 1.25rem; }
.mc-page-title { font: 800 1.5rem var(--mc-font-sans); margin: 0; letter-spacing: -0.02em; }
.mc-breadcrumb { margin: 0.3rem 0 0; padding: 0; list-style: none; display: flex; gap: 0.35rem;
	font-size: 0.8rem; color: var(--mc-fg-muted); }
.mc-breadcrumb li + li::before { content: "\203A"; margin-right: 0.35rem; color: var(--mc-fg-muted); }
.mc-page-actions { display: flex; gap: 0.5rem; flex-wrap: wrap; }

/* ── FORM ── */
.mc-field { display: flex; flex-direction: column; gap: 6px; }
.mc-field label { font: 600 0.78rem var(--mc-font-sans); color: var(--mc-fg-secondary); }
.mc-field input, .mc-field select, .mc-field textarea { font: 400 0.85rem var(--mc-font-sans);
	background: var(--mc-input-bg); border: 1px solid var(--mc-input-border); border-radius: 8px;
	padding: 8px 14px; color: var(--mc-fg-primary); outline: none; }
.mc-field input:focus, .mc-field select:focus, .mc-field textarea:focus {
	border-color: var(--mc-primary); box-shadow: 0 0 0 3px var(--mc-primary-soft); }
.mc-input { font: 400 0.85rem var(--mc-font-sans); background: var(--mc-input-bg);
	border: 1px solid var(--mc-input-border); border-radius: 8px; padding: 8px 14px;
	color: var(--mc-fg-primary); outline: none; }
.mc-input:focus { border-color: var(--mc-primary); box-shadow: 0 0 0 3px var(--mc-primary-soft); }
.mc-check { accent-color: var(--mc-primary); width: 16px; height: 16px; cursor: pointer; }
.mc-checkrow { display: flex; align-items: center; gap: 8px; padding: 4px 0; font-size: 0.85rem; }
.mc-checkrow label { cursor: pointer; }

/* ── TABLE ── */
.mc-table { width: 100%; border-collapse: collapse; font-size: 0.85rem; }
.mc-table thead th { font: 700 0.7rem var(--mc-font-sans); text-transform: uppercase; letter-spacing: 0.04em;
	color: var(--mc-fg-muted); padding: 10px 12px; border-bottom: 2px solid var(--mc-border-color); text-align: left; }
.mc-table thead th.num { text-align: right; }
.mc-table tbody td { padding: 11px 12px; border-bottom: 1px solid var(--mc-border-color); vertical-align: middle; color: var(--mc-fg-primary); }
.mc-table tbody td.num { text-align: right; font-variant-numeric: tabular-nums; font-family: var(--mc-font-mono); font-size: 0.82rem; }
.mc-table tbody tr:hover { background: rgba(79,70,229,0.035); }
.mc-table tbody tr:last-child td { border-bottom: none; }

/* ── ALERTS ── */
.mc-alert { display: flex; align-items: flex-start; gap: 10px; padding: 11px 14px; border-radius: 10px;
	font: 500 0.84rem var(--mc-font-sans); border: 1px solid transparent; margin-bottom: 1rem; }
.mc-alert i { line-height: 1; margin-top: 0.125rem; font-size: 0.95rem; }
.mc-alert-danger { background: var(--mc-danger-soft); color: var(--mc-danger); border-color: rgba(220,38,38,0.25); }
.mc-alert-warning { background: var(--mc-warning-soft); color: var(--mc-warning); border-color: rgba(217,119,6,0.25); }
.mc-alert-info { background: var(--mc-info-soft); color: var(--mc-info); border-color: rgba(37,99,235,0.25); }
.mc-alert-success { background: var(--mc-success-soft); color: var(--mc-success); border-color: rgba(5,150,105,0.25); }

/* ── kv list (reused in detail) ── */
.mc-kv { display: grid; grid-template-columns: 150px 1fr; gap: 8px 12px; font-size: 0.8rem; }
.mc-kv dt { color: var(--mc-fg-muted); font-weight: 500; }
.mc-kv dd { margin: 0; color: var(--mc-fg-primary); font-weight: 500; overflow-wrap: anywhere; }
.mc-kv dd.mono { font: 500 0.76rem var(--mc-font-mono); }

/* ==========================================================================
   4. APP SHELL (.mcr-*)
   ========================================================================== */
.mcr-shell { display: flex; height: 100vh; width: 100vw; overflow: hidden;
	background: var(--mc-body-bg); color: var(--mc-fg-primary); }
.mcr-body { flex: 1; min-width: 0; display: flex; flex-direction: column; min-height: 0; }

/* Top-level (ne-admin) stranice pod MainLayout-om: skrolabilni container (kao .mcr-admin-main); sadržaj ide u .mc-content. */
.mcr-scroll { flex: 1; overflow-y: auto; min-height: 0; }

/* console fills body edge-to-edge, horizontal scroll for narrow viewports */
.mcr-console { flex: 1; display: flex; min-height: 0; overflow-x: auto; overflow-y: hidden; }
.mcr-console::-webkit-scrollbar { height: 10px; }
.mcr-console::-webkit-scrollbar-thumb { background: var(--mc-slate-400); border-radius: 8px; }

/* admin/standard pages: scrollable padded content */
.mcr-scroll { flex: 1; overflow-y: auto; min-height: 0; }
.mc-content { padding: 1.25rem var(--mc-content-padding) var(--mc-content-padding); max-width: 1280px; }
.mc-content-wide { max-width: none; }

/* ── ZONE 1 — ICON RAIL (always dark) ── */
.rc-rail { width: var(--mc-rail-width); flex-shrink: 0; background: var(--mc-sidebar-bg);
	display: flex; flex-direction: column; align-items: center;
	border-right: 1px solid var(--mc-sidebar-border); z-index: 50; }
.rc-rail-logo { width: var(--mc-rail-width); height: 64px; display: flex; align-items: center; justify-content: center;
	border-bottom: 1px solid var(--mc-sidebar-border); flex-shrink: 0; }
.rc-rail-logo .tile { width: 40px; height: 40px; background: var(--mc-primary); border-radius: 10px;
	display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1.15rem;
	box-shadow: 0 4px 14px -4px rgba(var(--mc-primary-rgb), 0.7); text-decoration: none; }
.rc-rail-nav { display: flex; flex-direction: column; width: 100%; padding-top: 6px; }
.rc-rail-spacer { flex: 1; }
.rc-rail-btn { position: relative; width: 100%; padding: 12px 4px;
	background: none; border: none; cursor: pointer; text-decoration: none;
	display: flex; flex-direction: column; align-items: center; gap: 5px;
	color: var(--mc-sidebar-text); font: 500 0.66rem var(--mc-font-sans);
	transition: color 0.15s, background 0.15s; }
.rc-rail-btn i { font-size: 1.2rem; }
.rc-rail-btn:hover { color: var(--mc-sidebar-text-hover); background: var(--mc-sidebar-hover-bg); }
.rc-rail-btn.active { color: var(--mc-sidebar-text-active); }
.rc-rail-btn.active::before { content: ""; position: absolute; left: 0; top: 10px; bottom: 10px; width: 3px;
	background: var(--mc-primary); border-radius: 0 3px 3px 0; }
.rc-rail-btn.active i { color: #fff; }
.rc-rail-btn.disabled { opacity: 0.55; cursor: default; }
.rc-rail-btn.disabled:hover { background: none; color: var(--mc-sidebar-text); }
.rc-rail-foot { width: 100%; padding-bottom: 10px; display: flex; flex-direction: column; align-items: center; gap: 2px; }
.rc-rail-icon { width: 100%; padding: 11px 4px; background: none; border: none; cursor: pointer;
	color: var(--mc-sidebar-text); font-size: 1.05rem; transition: color 0.15s; position: relative;
	display: flex; align-items: center; justify-content: center; }
.rc-rail-icon:hover { color: var(--mc-sidebar-text-hover); }
.rc-rail-dot { position: absolute; top: 8px; right: 26px; width: 8px; height: 8px; border-radius: 50%;
	background: var(--mc-danger); border: 2px solid var(--mc-sidebar-bg); }
/* Firing-count bedž na rail stavci (npr. Alarmi) */
.rc-rail-badge { position: absolute; top: 6px; right: 10px;
	min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9999px;
	background: var(--mc-danger); color: #fff;
	font: 700 0.65rem var(--mc-font-mono); display: grid; place-items: center;
	border: 2px solid var(--mc-sidebar-bg); pointer-events: none; }
.rc-rail-avatar { width: 36px; height: 36px; border-radius: 50%;
	background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.12);
	color: rgba(255,255,255,0.85); display: flex; align-items: center; justify-content: center;
	font: 700 0.78rem var(--mc-font-sans); margin: 6px 0; }

/* ── ADMIN SECONDARY NAV ── */
.mcr-admin { flex: 1; display: flex; min-height: 0; }
.mcr-subnav { width: 248px; flex-shrink: 0; background: var(--mc-card-bg);
	border-right: 1px solid var(--mc-border-color); display: flex; flex-direction: column; min-height: 0; }
.mcr-subnav-head { padding: 18px 20px 10px; }
.mcr-subnav-title { font: 800 1.2rem var(--mc-font-sans); letter-spacing: -0.02em; margin: 0; }
.mcr-subnav-sub { font: 400 0.76rem var(--mc-font-sans); color: var(--mc-fg-muted); margin-top: 3px; }
.mcr-subnav-list { flex: 1; overflow-y: auto; padding: 4px 8px 8px; }
.mcr-admin-main { flex: 1; overflow-y: auto; min-height: 0; }

/* ──────────────────────────────────────────────
   ZONE 2 — ACCESS / GROUPS PANEL
   ────────────────────────────────────────────── */
.rc-access { width: 304px; flex-shrink: 0; background: var(--mc-card-bg);
	border-right: 1px solid var(--mc-border-color); display: flex; flex-direction: column; min-height: 0; }
.rc-access-head { padding: 18px 20px 14px; }
.rc-access-title { font: 800 1.35rem var(--mc-font-sans); letter-spacing: -0.02em; margin: 0; }
.rc-access-sub { font: 400 0.78rem var(--mc-font-sans); color: var(--mc-fg-muted); margin: 4px 0 14px; line-height: 1.45; }
.rc-build-btn { width: 100%; padding: 11px; border: none; border-radius: 9px; cursor: pointer; text-decoration: none;
	background: var(--mc-primary); color: #fff; font: 700 0.9rem var(--mc-font-sans);
	display: flex; align-items: center; justify-content: center; gap: 8px;
	box-shadow: 0 4px 14px -4px rgba(var(--mc-primary-rgb), 0.55); transition: background 0.15s, transform 0.15s; }
.rc-build-btn:hover { background: var(--mc-primary-hover); transform: translateY(-1px); color: #fff; }
.rc-tree { flex: 1; overflow-y: auto; padding: 4px 8px 8px; min-height: 0; }
.rc-tree::-webkit-scrollbar { width: 8px; }
.rc-tree::-webkit-scrollbar-thumb { background: var(--mc-slate-300); border-radius: 8px; border: 2px solid var(--mc-card-bg); }
[data-bs-theme="dark"] .rc-tree::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.14); }

.rc-grp { display: flex; align-items: center; gap: 8px; padding: 7px 10px; border-radius: 8px; cursor: pointer;
	font: 500 0.84rem var(--mc-font-sans); color: var(--mc-fg-secondary); text-decoration: none;
	transition: background 0.12s, color 0.12s; user-select: none; }
.rc-grp:hover { background: rgba(var(--mc-primary-rgb), 0.05); color: var(--mc-fg-primary); }
.rc-grp.active { background: var(--mc-primary-soft); color: var(--mc-primary); font-weight: 700; }
.rc-grp .caret { width: 14px; font-size: 0.7rem; color: var(--mc-fg-muted); transition: transform 0.15s; text-align: center;
	background: none; border: none; cursor: pointer; padding: 0; }
.rc-grp.open .caret { transform: rotate(90deg); }
.rc-grp .gicon { width: 18px; text-align: center; font-size: 0.92rem; color: var(--mc-fg-muted); flex-shrink: 0; }
.rc-grp.active .gicon { color: var(--mc-primary); }
.rc-grp .glabel { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rc-grp .gcount { font: 600 0.72rem var(--mc-font-mono); color: var(--mc-fg-muted);
	background: rgba(100,116,139,0.12); padding: 1px 8px; border-radius: 9999px; min-width: 24px; text-align: center; }
.rc-grp.active .gcount { background: rgba(var(--mc-primary-rgb), 0.16); color: var(--mc-primary); }
.rc-grp.child { padding-left: 34px; font-size: 0.82rem; }
.rc-tree-sep { height: 1px; background: var(--mc-border-color); margin: 8px 10px; }
.rc-access-foot { padding: 10px 16px; border-top: 1px solid var(--mc-border-color); }
.rc-create-grp { background: none; border: none; cursor: pointer; color: var(--mc-fg-muted);
	font: 600 0.78rem var(--mc-font-sans); display: inline-flex; align-items: center; gap: 7px; padding: 4px;
	text-decoration: none; }
.rc-create-grp:hover { color: var(--mc-primary); }

/* ──────────────────────────────────────────────
   ZONE 3 — MACHINE LIST
   ────────────────────────────────────────────── */
.rc-list { flex: 1 0 560px; min-width: 560px; display: flex; flex-direction: column; min-height: 0;
	border-right: 1px solid var(--mc-border-color); background: var(--mc-card-bg); }
.rc-list-head { display: flex; align-items: center; justify-content: space-between; gap: 12px;
	padding: 14px 20px; border-bottom: 1px solid var(--mc-border-color); flex-shrink: 0; flex-wrap: wrap; }
.rc-list-title { font: 700 1.05rem var(--mc-font-sans); letter-spacing: -0.01em; display: flex; align-items: center; gap: 8px; }
.rc-list-title .sep { color: var(--mc-fg-muted); font-weight: 400; }
.rc-list-title .dim { color: var(--mc-fg-muted); font-weight: 500; font-size: 0.9rem; }
.rc-toolbar { display: flex; align-items: center; gap: 2px; }
.rc-tool { display: inline-flex; align-items: center; gap: 7px; padding: 7px 12px;
	background: none; border: none; border-radius: 8px; cursor: pointer; text-decoration: none;
	font: 600 0.82rem var(--mc-font-sans); color: var(--mc-fg-secondary); transition: all 0.13s; }
.rc-tool i { font-size: 0.92rem; color: var(--mc-fg-muted); }
.rc-tool:hover { background: var(--mc-primary-soft); color: var(--mc-primary); }
.rc-tool:hover i { color: var(--mc-primary); }
.rc-tool:disabled { opacity: 0.4; cursor: not-allowed; }
.rc-tool:disabled:hover { background: none; color: var(--mc-fg-secondary); }
.rc-tool:disabled:hover i { color: var(--mc-fg-muted); }
.rc-tool.primary, .rc-tool.primary i { color: var(--mc-primary); }

.rc-list-sub { display: flex; align-items: center; gap: 12px; padding: 10px 20px;
	border-bottom: 1px solid var(--mc-border-color); flex-shrink: 0; }
.rc-check { appearance: none; width: 16px; height: 16px; border: 1.5px solid var(--mc-slate-400);
	border-radius: 4px; cursor: pointer; flex-shrink: 0; position: relative; background: var(--mc-input-bg); transition: all 0.12s; }
.rc-check:checked { background: var(--mc-primary); border-color: var(--mc-primary); }
/* Čekmark crtan CSS bordurom (bez Font Awesome glifa) — nezavisan od FA verzije kita
   (FA7 kit nema "Font Awesome 6 Pro" familiju → glif bi pao na tofu kvadratić). */
.rc-check:checked::after { content: ""; position: absolute; left: 5px; top: 2px;
	width: 4px; height: 8px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.rc-search { position: relative; flex: 1; max-width: 360px; margin-left: auto; }
.rc-search i { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--mc-fg-muted); font-size: 0.85rem; }
.rc-search input { width: 100%; height: 36px; padding: 0 12px 0 34px; border: 1px solid var(--mc-input-border);
	border-radius: 9999px; background: var(--mc-input-bg); color: var(--mc-fg-primary);
	font: 400 0.84rem var(--mc-font-sans); outline: none; }
.rc-search input:focus { border-color: var(--mc-primary); box-shadow: 0 0 0 3px var(--mc-primary-soft); }

.rc-rows { flex: 1; overflow-y: auto; min-height: 0; }
.rc-rows::-webkit-scrollbar { width: 10px; }
.rc-rows::-webkit-scrollbar-thumb { background: var(--mc-slate-300); border-radius: 8px; border: 3px solid var(--mc-card-bg); }
[data-bs-theme="dark"] .rc-rows::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.14); }

.rc-row { display: flex; align-items: center; gap: 14px; padding: 13px 20px;
	border-bottom: 1px solid var(--mc-border-color); cursor: pointer; transition: background 0.12s; position: relative; }
.rc-row:hover { background: rgba(var(--mc-primary-rgb), 0.035); }
.rc-row.selected { background: var(--mc-primary-soft); }
.rc-row.selected::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--mc-primary); }

.rc-presence { width: 38px; height: 38px; border-radius: 50%; flex-shrink: 0; position: relative;
	display: flex; align-items: center; justify-content: center; font-size: 1rem; }
.rc-presence.online { background: var(--mc-success-soft); color: var(--mc-success); }
.rc-presence.offline { background: rgba(100,116,139,0.12); color: var(--mc-slate-400); }
.rc-presence .ind { position: absolute; bottom: -1px; right: -1px; width: 12px; height: 12px; border-radius: 50%;
	border: 2px solid var(--mc-card-bg); }
.rc-presence.online .ind { background: var(--mc-success); }
.rc-presence.offline .ind { background: var(--mc-slate-400); }

.rc-machine-info { min-width: 0; width: 248px; flex-shrink: 0; }
.rc-machine-name { font: 700 0.92rem var(--mc-font-mono); color: var(--mc-fg-primary); letter-spacing: -0.01em;
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rc-machine-meta { font: 400 0.72rem var(--mc-font-sans); color: var(--mc-fg-muted); line-height: 1.55; margin-top: 2px; }
.rc-machine-meta .mk { color: var(--mc-fg-secondary); }
.rc-user-active { color: var(--mc-success); font-weight: 600; }

/* ── Oznake (tagovi) mašine ── */
.rc-machine-tags { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 5px; }
.mcr-tag-mini { display: inline-flex; align-items: center; padding: 1px 7px; border-radius: var(--mc-radius-pill);
	background: var(--mc-primary-soft); color: var(--mc-primary); font: 500 0.66rem var(--mc-font-sans); line-height: 1.5; }
.mcr-tags { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.mcr-tag { display: inline-flex; align-items: center; gap: 3px; padding: 3px 5px 3px 11px; border-radius: var(--mc-radius-pill);
	background: var(--mc-primary-soft); color: var(--mc-primary); font: 500 0.76rem var(--mc-font-sans); line-height: 1.4; }
.mcr-tag.no-x { padding-right: 11px; }
.mcr-tag-x { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; padding: 0;
	border: none; border-radius: 50%; background: transparent; color: inherit; cursor: pointer; font-size: 0.68rem;
	opacity: 0.55; transition: opacity 0.15s, background 0.15s; }
.mcr-tag-x:hover { opacity: 1; background: rgba(var(--mc-primary-rgb), 0.18); }
.mcr-tag-add { display: flex; gap: 8px; margin-top: 12px; }
.mcr-tag-add .mc-input { flex: 1; }
.mcr-tag-empty { color: var(--mc-fg-muted); font-size: 0.82rem; }

/* ── Health severity (CPU/RAM/disk tile vrijednost) ── */
.rc-tile-v.health-warm { color: var(--mc-warning); }
.rc-tile-v.health-hot { color: var(--mc-danger); }

.rc-sessions { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 7px; max-width: 340px; }
.rc-sess { display: flex; align-items: center; gap: 9px; }
.rc-sess-label { font: 600 0.68rem var(--mc-font-sans); color: var(--mc-fg-secondary); width: 96px; flex-shrink: 0;
	text-align: right; white-space: nowrap; }
.rc-sess-track { flex: 1; height: 6px; border-radius: 9999px; background: rgba(100,116,139,0.14); overflow: hidden; }
.rc-sess-fill { height: 100%; border-radius: 9999px; }
.rc-sess-fill.host { background: var(--mc-primary); }
.rc-sess-fill.guest { background: var(--mc-success); }
.rc-sess-fill.idle { background: var(--mc-slate-400); }

/* ── Dvodjelni track (ScreenConnect-stil): lijevo = operater kontroliše, desno = mašina online ── */
.rc-sess-track.split { display: flex; gap: 4px; background: transparent; overflow: visible; }
.rc-sess-seg { flex: 1; height: 6px; border-radius: 9999px; background: rgba(100,116,139,0.20);
	transition: background 0.2s ease; }
.rc-sess-seg.on { background: var(--mc-success); }

/* Badge "deinstalacija na čekanju" u meta redu liste */
.rc-pending-uninstall { display: inline-flex; align-items: center; gap: 5px; margin-top: 5px; padding: 1px 8px;
	border-radius: var(--mc-radius-pill); background: rgba(220,53,69,0.12); color: var(--mc-danger);
	font: 600 0.66rem var(--mc-font-sans); line-height: 1.6; }

/* ── Thumbnail (posljednji snimak ekrana) u redu liste — crni ekran kad offline ── */
.rc-thumb { width: 86px; height: 50px; flex-shrink: 0; border-radius: 7px; overflow: hidden; background: #000;
	border: 1px solid var(--mc-border-color); display: flex; align-items: center; justify-content: center;
	color: var(--mc-slate-400); position: relative; }
.rc-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rc-thumb i { font-size: 1.05rem; opacity: 0.5; }
.rc-thumb.off { border-style: dashed; }
/* Suzi track-zonu kad thumbnail oduzme prostor (held desktop širina) */
@media (max-width: 1180px) { .rc-thumb { display: none; } }

.rc-connect { width: 40px; height: 40px; border-radius: 9px; flex-shrink: 0;
	border: 1px solid var(--mc-border-color); background: var(--mc-input-bg); cursor: pointer; text-decoration: none;
	display: flex; align-items: center; justify-content: center; color: var(--mc-fg-secondary);
	font-size: 1.05rem; transition: all 0.13s; }
.rc-connect:hover { background: var(--mc-success); border-color: var(--mc-success); color: #fff; box-shadow: 0 4px 12px -4px rgba(5,150,105,0.6); }
.rc-connect.offline { opacity: 0.45; cursor: not-allowed; }
.rc-connect.offline:hover { background: var(--mc-input-bg); border-color: var(--mc-border-color); color: var(--mc-fg-secondary); box-shadow: none; }

.rc-empty { padding: 60px 20px; text-align: center; color: var(--mc-fg-muted); font-size: 0.88rem;
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; }
.rc-empty i { font-size: 2rem; opacity: 0.5; line-height: 1; }

/* ──────────────────────────────────────────────
   ZONE 4 — DETAIL PANEL
   ────────────────────────────────────────────── */
.rc-detail { width: 488px; flex-shrink: 0; display: flex; background: var(--mc-card-bg); min-height: 0; }
.rc-detail.empty { align-items: center; justify-content: center; }
.rc-detail-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px;
	text-align: center; color: var(--mc-fg-muted); padding: 30px; }
.rc-detail-empty i { font-size: 2.4rem; opacity: 0.4; line-height: 1; }

.rc-dtabs { width: 52px; flex-shrink: 0; border-right: 1px solid var(--mc-border-color);
	display: flex; flex-direction: column; align-items: center; padding-top: 8px; gap: 2px; background: var(--mc-body-bg); }
.rc-dtab { width: 40px; height: 40px; border-radius: 9px; border: none; background: none; cursor: pointer;
	color: var(--mc-fg-muted); font-size: 1.02rem; display: flex; align-items: center; justify-content: center;
	position: relative; transition: all 0.13s; }
.rc-dtab:hover { background: var(--mc-card-bg); color: var(--mc-fg-secondary); }
.rc-dtab.active { background: var(--mc-primary); color: #fff; box-shadow: 0 4px 12px -4px rgba(var(--mc-primary-rgb),0.6); }

.rc-dmain { flex: 1; min-width: 0; display: flex; flex-direction: column; min-height: 0; }
.rc-dhead { display: flex; align-items: center; gap: 10px; padding: 14px 18px;
	border-bottom: 1px solid var(--mc-border-color); flex-shrink: 0; }
.rc-dhead-name { font: 800 1.1rem var(--mc-font-mono); letter-spacing: -0.01em; flex: 1; min-width: 0;
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rc-dhead-close { width: 32px; height: 32px; border-radius: 8px; border: 1px solid var(--mc-border-color);
	background: var(--mc-input-bg); color: var(--mc-fg-muted); cursor: pointer; flex-shrink: 0; }
.rc-dhead-close:hover { color: var(--mc-danger); border-color: var(--mc-danger); }
.rc-dbody { flex: 1; overflow-y: auto; min-height: 0; padding: 16px 18px; }
.rc-dbody::-webkit-scrollbar { width: 10px; }
.rc-dbody::-webkit-scrollbar-thumb { background: var(--mc-slate-300); border-radius: 8px; border: 3px solid var(--mc-card-bg); }
[data-bs-theme="dark"] .rc-dbody::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.14); }

.rc-card { border: 1px solid var(--mc-border-color); border-radius: 10px; background: var(--mc-card-bg);
	box-shadow: var(--mc-card-shadow); margin-bottom: 14px; overflow: hidden; }
.rc-card-h { padding: 9px 14px; border-bottom: 1px solid var(--mc-border-color);
	font: 700 0.74rem var(--mc-font-sans); text-transform: uppercase; letter-spacing: 0.06em; color: var(--mc-fg-muted);
	display: flex; align-items: center; gap: 8px; background: rgba(100,116,139,0.04); }
.rc-card-b { padding: 14px; }

/* event log (Sigurnost tab) */
.rc-evt-meta { display: flex; align-items: center; gap: 8px; padding: 14px 2px 7px;
	font: 400 0.74rem var(--mc-font-sans); color: var(--mc-fg-muted); }
.rc-evt-actor { font-weight: 700; color: var(--mc-fg-secondary); }
.rc-evt-meta .spacer { flex: 1; }
.rc-evt { border: 1px solid var(--mc-border-color); border-radius: 10px; background: var(--mc-card-bg);
	box-shadow: var(--mc-card-shadow); padding: 14px 16px; }
.rc-evt.pending { border-color: rgba(var(--mc-primary-rgb), 0.4); box-shadow: 0 0 0 3px var(--mc-primary-soft); }
.rc-evt-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.rc-evt-title { font: 700 0.95rem var(--mc-font-sans); color: var(--mc-fg-primary); }
.rc-evt-status { display: inline-flex; align-items: center; gap: 6px; font: 600 0.82rem var(--mc-font-sans); }
.rc-evt-status.approved { color: var(--mc-success); }
.rc-evt-status.denied { color: var(--mc-danger); }
.rc-evt-status i { font-size: 1rem; }
.rc-evt-detail { margin-top: 12px; }
.rc-evt-actions { display: flex; gap: 8px; }
.rc-act-btn { display: inline-flex; align-items: center; gap: 7px; padding: 8px 16px; border-radius: 8px;
	font: 700 0.82rem var(--mc-font-sans); cursor: pointer; border: 1px solid transparent; transition: all 0.14s; }
.rc-act-btn.approve { background: var(--mc-success); color: #fff; box-shadow: 0 4px 12px -4px rgba(5,150,105,0.55); }
.rc-act-btn.approve:hover { filter: brightness(1.06); transform: translateY(-1px); }
.rc-act-btn.deny { background: var(--mc-danger); color: #fff; box-shadow: 0 4px 12px -4px rgba(220,38,38,0.5); }
.rc-act-btn.deny:hover { filter: brightness(1.06); transform: translateY(-1px); }
.rc-evt-reason { font-size: 0.82rem; color: var(--mc-fg-secondary); }
.rc-evt-reason b { color: var(--mc-fg-primary); font-family: var(--mc-font-mono); font-weight: 600; }

/* terminal tab (Komande) */
.rc-term { background: #0c0f1a; border: 1px solid var(--mc-border-color); border-radius: 10px; overflow: hidden; }
.rc-term-bar { display: flex; align-items: center; gap: 7px; padding: 8px 12px; border-bottom: 1px solid rgba(255,255,255,0.07); }
.rc-term-dot { width: 11px; height: 11px; border-radius: 50%; }
.rc-term-body { padding: 14px; font: 400 0.78rem var(--mc-font-mono); color: #cbd5e1; line-height: 1.7; min-height: 220px; }
.rc-term-body .p { color: var(--mc-success); }
.rc-term-body .c { color: #fff; }
.rc-term-body .o { color: #94a3b8; }
.rc-term-cursor { display: inline-block; width: 8px; height: 15px; background: var(--mc-success); vertical-align: middle;
	animation: rc-blink 1.1s step-end infinite; }
@keyframes rc-blink { 50% { opacity: 0; } }

/* notes tab (Bilješke) */
.rc-note { display: flex; gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--mc-border-color); }
.rc-note:last-child { border-bottom: none; }
.rc-note-av { width: 32px; height: 32px; border-radius: 50%; color: #fff; flex-shrink: 0;
	display: flex; align-items: center; justify-content: center; font: 700 0.72rem var(--mc-font-sans); }
.rc-note-h { display: flex; align-items: baseline; gap: 8px; margin-bottom: 2px; }
.rc-note-au { font: 700 0.82rem var(--mc-font-sans); }
.rc-note-t { font: 400 0.7rem var(--mc-font-sans); color: var(--mc-fg-muted); }
.rc-note-x { font: 400 0.82rem var(--mc-font-sans); color: var(--mc-fg-secondary); line-height: 1.55; }

/* stat tiles (Pregled) */
.rc-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 14px; }
.rc-tile { border: 1px solid var(--mc-border-color); border-radius: 10px; padding: 12px 14px; background: var(--mc-card-bg); }
.rc-tile-l { font: 500 0.72rem var(--mc-font-sans); color: var(--mc-fg-muted); display: flex; align-items: center; gap: 7px; }
.rc-tile-l i { color: var(--mc-primary); }
.rc-tile-v { font: 800 1.1rem var(--mc-font-sans); margin-top: 5px; letter-spacing: -0.01em; font-variant-numeric: tabular-nums; }
.rc-tile-v .u { font-size: 0.74rem; color: var(--mc-fg-muted); font-weight: 600; margin-left: 3px; }
.rc-gauge { height: 5px; border-radius: 9999px; background: rgba(100,116,139,0.16); margin-top: 8px; overflow: hidden; }
.rc-gauge > i { display: block; height: 100%; border-radius: 9999px; background: var(--mc-primary); }

/* ==========================================================================
   5. BUILD MODAL
   ========================================================================== */
.rc-backdrop { position: fixed; inset: 0; z-index: 150; background: rgba(8,12,22,0.55);
	display: flex; align-items: center; justify-content: center; padding: 24px; animation: rc-fade 0.16s ease; }
[data-bs-theme="dark"] .rc-backdrop { background: rgba(0,0,0,0.65); }
@keyframes rc-fade { from { opacity: 0; } to { opacity: 1; } }
.rc-modal { display: flex; flex-direction: column; width: 500px; max-width: 100%; max-height: calc(100vh - 48px); overflow: hidden; background: var(--mc-card-bg);
	border: 1px solid var(--mc-border-color); border-radius: 14px; box-shadow: 0 40px 90px -25px rgba(0,0,0,0.45);
	animation: rc-pop 0.2s cubic-bezier(.16,1,.3,1); }
@keyframes rc-pop { from { opacity: 0; transform: translateY(12px) scale(0.98); } to { opacity: 1; transform: none; } }
/* size varijante — zamjena za inline width:Npx (sm = potvrde, md = forme, lg = editori) */
.rc-modal-sm { width: 420px; }
.rc-modal-md { width: 500px; }
.rc-modal-lg { width: 680px; }
.rc-modal-h { display: flex; align-items: center; gap: 12px; padding: 15px 20px; border-bottom: 1px solid var(--mc-border-color); flex-shrink: 0; }
.rc-modal-h .ic { width: 38px; height: 38px; border-radius: 10px; background: var(--mc-primary-soft); color: var(--mc-primary);
	display: flex; align-items: center; justify-content: center; font-size: 1.05rem; flex-shrink: 0; }
.rc-modal-h .tt { flex: 1; min-width: 0; }
.rc-modal-h .tt h3 { font: 800 1.05rem var(--mc-font-sans); margin: 0; letter-spacing: -0.01em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rc-modal-h .tt p { font: 400 0.78rem var(--mc-font-sans); color: var(--mc-fg-muted); margin: 2px 0 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rc-modal-b { flex: 1; min-height: 0; overflow-y: auto; padding: 18px 20px; display: flex; flex-direction: column; gap: 14px; }
.rc-modal-b > p { margin: 0; }
.rc-modal-b::-webkit-scrollbar { width: 10px; }
.rc-modal-b::-webkit-scrollbar-thumb { background: var(--mc-slate-300); border-radius: 8px; border: 3px solid var(--mc-card-bg); }
[data-bs-theme="dark"] .rc-modal-b::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.14); }
.rc-seg { display: flex; gap: 4px; background: rgba(100,116,139,0.1); padding: 4px; border-radius: 10px; margin-bottom: 18px; }
.rc-seg button { flex: 1; padding: 9px; border: none; background: none; cursor: pointer; border-radius: 7px;
	font: 600 0.82rem var(--mc-font-sans); color: var(--mc-fg-secondary); display: inline-flex; align-items: center; justify-content: center; gap: 7px; transition: all 0.13s; }
.rc-seg button.active { background: var(--mc-card-bg); color: var(--mc-primary); box-shadow: var(--mc-card-shadow); }
.rc-fieldrow { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 16px; }
.rc-f { display: flex; flex-direction: column; gap: 6px; }
.rc-f label { font: 600 0.76rem var(--mc-font-sans); color: var(--mc-fg-secondary); }
.rc-f input, .rc-f select { height: 40px; padding: 0 12px; border: 1px solid var(--mc-input-border); border-radius: 8px;
	background: var(--mc-input-bg); color: var(--mc-fg-primary); font: 400 0.85rem var(--mc-font-sans); outline: none; }
.rc-f input:focus, .rc-f select:focus { border-color: var(--mc-primary); box-shadow: 0 0 0 3px var(--mc-primary-soft); }
.rc-cmd { background: #0c0f1a; border-radius: 9px; padding: 14px 16px; font: 500 0.76rem var(--mc-font-mono);
	color: #cbd5e1; display: flex; align-items: center; gap: 12px; margin-bottom: 4px; }
.rc-cmd code { flex: 1; overflow-x: auto; white-space: nowrap; }
.rc-cmd code .p { color: var(--mc-success); }
.rc-cmd .copy { background: rgba(255,255,255,0.08); border: none; color: #cbd5e1; cursor: pointer; padding: 6px 10px;
	border-radius: 6px; font-size: 0.85rem; flex-shrink: 0; }
.rc-cmd .copy:hover { background: rgba(255,255,255,0.16); color: #fff; }
.rc-modal-f { display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding: 13px 20px; flex-shrink: 0;
	border-top: 1px solid var(--mc-border-color); }
/* Crvena ikona u zaglavlju modala za destruktivne radnje (Ukloni / Deinstaliraj) */
.rc-modal-h .ic.danger { background: rgba(220,53,69,0.12); color: var(--mc-danger); }

/* ── "Ukloni mašinu" modal — radio opcije (Deinstaliraj+obriši / Samo obriši / Samo deinstaliraj) ── */
.rc-remove-opt { display: flex; gap: 11px; padding: 13px 14px; border: 1px solid var(--mc-border-color); border-radius: 11px;
	cursor: pointer; transition: border-color 0.15s, background 0.15s; align-items: flex-start; }
.rc-remove-opt:hover { border-color: var(--mc-primary); }
.rc-remove-opt.sel { border-color: var(--mc-primary); background: var(--mc-primary-soft); }
.rc-remove-opt.danger:hover { border-color: var(--mc-danger); }
.rc-remove-opt.danger.sel { border-color: var(--mc-danger); background: rgba(220,53,69,0.08); }
.rc-remove-opt input { margin-top: 2px; flex-shrink: 0; width: 16px; height: 16px; accent-color: var(--mc-primary); }
.rc-remove-opt.danger input { accent-color: var(--mc-danger); }
.rc-remove-opt > span { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.rc-remove-opt .ro-t { font: 700 0.86rem var(--mc-font-sans); color: var(--mc-fg-primary); }
.rc-remove-opt .ro-d { font: 400 0.76rem var(--mc-font-sans); color: var(--mc-fg-muted); line-height: 1.5; }

/* ── Detalj: "Uklanjanje" danger zona u Akcije kartici ── */
.rc-danger-zone { margin-top: 6px; padding-top: 12px; border-top: 1px dashed var(--mc-border-color);
	display: flex; flex-direction: column; gap: 9px; }
.rc-danger-label { font: 700 0.72rem var(--mc-font-sans); text-transform: uppercase; letter-spacing: 0.04em;
	color: var(--mc-danger); display: inline-flex; align-items: center; gap: 6px; }
.rc-pending-note { display: flex; align-items: flex-start; gap: 7px; padding: 8px 11px; border-radius: 8px;
	background: rgba(220,53,69,0.08); color: var(--mc-fg-secondary); font: 500 0.76rem var(--mc-font-sans); line-height: 1.5; }
.rc-pending-note i { color: var(--mc-danger); margin-top: 1px; }
.mc-btn-danger-outline { border-color: rgba(220,53,69,0.4); color: var(--mc-danger); align-self: flex-start; }
.mc-btn-danger-outline:hover { background: rgba(220,53,69,0.1); border-color: var(--mc-danger); color: var(--mc-danger); }

/* ── modal: grupisanje sekcija + helperi za guste editore (jasan razmak) ── */
.rc-modal-section { display: flex; flex-direction: column; gap: 8px; padding-top: 14px;
	border-top: 1px solid var(--mc-border-color); }
.rc-modal-section.tight { padding-top: 0; border-top: none; }
.rc-section-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.rc-section-title { font: 700 0.72rem var(--mc-font-sans); text-transform: uppercase; letter-spacing: 0.05em;
	color: var(--mc-fg-secondary); display: inline-flex; align-items: center; gap: 6px; }
.rc-section-empty { font-size: 0.82rem; color: var(--mc-fg-muted); margin: 0; }

/* korak-kartica u editoru koraka (zamjena za inline border/background sa pokvarenim tokenima) */
.rc-step-card { border: 1px solid var(--mc-border-color); border-radius: 10px; padding: 12px 14px;
	background: var(--mc-body-bg); display: flex; flex-direction: column; gap: 10px; }
.rc-step-head { display: flex; align-items: center; gap: 8px; }
.rc-step-head .ttl { font-weight: 600; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rc-step-icon { color: var(--mc-fg-secondary); font-size: 1rem; flex-shrink: 0; }

/* red polja u dvije kolone + grupa checkbox-ova unutar modala */
.rc-row { display: flex; gap: 12px; flex-wrap: wrap; }
.rc-row > .mc-field { flex: 1; min-width: 160px; }
.rc-checkgroup { display: flex; flex-wrap: wrap; gap: 10px 22px; align-items: flex-start; }

/* kompaktnija tabela kad je u modalu */
.rc-modal .mc-table thead th { padding: 7px 9px; }
.rc-modal .mc-table tbody td { padding: 6px 9px; }

/* ==========================================================================
   6. TOAST
   ========================================================================== */
.rc-toast { position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%); z-index: 300;
	background: var(--mc-slate-900); color: #fff; padding: 12px 20px; border-radius: 10px;
	font: 600 0.85rem var(--mc-font-sans); display: flex; align-items: center; gap: 10px;
	box-shadow: 0 16px 40px -12px rgba(0,0,0,0.5); animation: rc-toast-in 0.25s cubic-bezier(.16,1,.3,1); }
.rc-toast i { color: var(--mc-success); }
@keyframes rc-toast-in { from { opacity: 0; transform: translate(-50%, 12px); } to { opacity: 1; transform: translate(-50%, 0); } }

/* ==========================================================================
   7. LOGIN
   ========================================================================== */
.mcr-login { display: flex; align-items: center; justify-content: center; min-height: 100vh; padding: 24px;
	background: radial-gradient(circle at 50% 0%, rgba(79,70,229,0.10), transparent 60%), var(--mc-body-bg); }
.mcr-login-card { width: 100%; max-width: 400px; background: var(--mc-card-bg);
	border: 1px solid var(--mc-card-border); border-radius: 16px; box-shadow: 0 30px 70px -25px rgba(15,23,42,0.35);
	padding: 32px 30px; }
.mcr-login-brand { display: flex; flex-direction: column; align-items: center; gap: 12px; margin-bottom: 22px; }
.mcr-login-logo { width: 52px; height: 52px; border-radius: 14px; background: var(--mc-primary); color: #fff;
	display: flex; align-items: center; justify-content: center; font-size: 1.5rem;
	box-shadow: 0 8px 22px -6px rgba(var(--mc-primary-rgb), 0.6); }
.mcr-login-title { font: 800 1.35rem var(--mc-font-sans); letter-spacing: -0.02em; }
.mcr-login-sub { font: 400 0.82rem var(--mc-font-sans); color: var(--mc-fg-muted); text-align: center; margin-top: -4px; }

/* ==========================================================================
   8. RESPONSIVE
   ========================================================================== */
@media (max-width: 1280px) {
	.rc-detail { width: 420px; }
	.rc-machine-info { width: 200px; }
}
@media (max-width: 1100px) {
	.mc-stats-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ==========================================================================
   9. MOBILNI LAYOUT (≤ 820px)
   --------------------------------------------------------------------------
   Ispod 820px konzola (.mcr-console) se sakriva i prikazuje se mobilni
   prikaz (.mcr-mobile): app-bar + kartice + donja tab traka + bottom-sheet
   filter + full-screen push detalj. Portovano iz "MCRemote — Mobilna"
   mockup-a (.mob-*), bez chrome-a telefona. Stanje je DIJELJENO sa konzolom
   (isti @code u Machines.razor) — render-uju se oba template-a, CSS bira.
   ========================================================================== */

/* ── prebacivanje konzola ⇄ mobilni (default = desktop) ── */
.mcr-mobile { display: none; }
.mob-screen, .mob-backdrop { display: none; }  /* render-uju se i na desktopu (npr. _selectedId) — sakrij ih */

/* donja tab traka (shell-level; vidljiva tek na mobilnom) */
.mcr-tabbar { display: none; flex-shrink: 0; background: var(--mc-card-bg);
	border-top: 1px solid var(--mc-border-color); padding: 8px 8px 12px; }
.mcr-tabbar form { display: contents; }  /* logout forma — dugme postaje flex dijete trake */
.mcr-tab { flex: 1; background: none; border: none; cursor: pointer; text-decoration: none;
	display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 6px 2px;
	color: var(--mc-fg-muted); font: 600 0.66rem var(--mc-font-sans); transition: color 0.14s; }
.mcr-tab i { font-size: 1.3rem; }
.mcr-tab:hover { color: var(--mc-fg-secondary); }
.mcr-tab.active, .mcr-tab.active i { color: var(--mc-primary); }

@media (max-width: 820px) {
	.mcr-shell { flex-direction: column; }
	.rc-rail { display: none; }
	.mcr-console { display: none; }
	.mcr-mobile { display: flex; flex-direction: column; flex: 1; min-height: 0; position: relative; }
	.mcr-tabbar { display: flex; }
	.mob-screen, .mob-backdrop { display: flex; }

	/* admin subnav → horizontalni scroller na vrhu */
	.mcr-admin { flex-direction: column; }
	.mcr-subnav { width: 100%; flex-direction: row; border-right: none;
		border-bottom: 1px solid var(--mc-border-color); overflow-x: auto; }
	.mcr-subnav-head { display: none; }
	.mcr-subnav-list { flex-direction: row; gap: 4px; padding: 8px 12px; overflow: visible; }
	.mcr-subnav-list .rc-grp { white-space: nowrap; }
	.mcr-subnav-list .rc-tree-sep { display: none; }
	.mc-content { padding: 1rem; }
}

/* ── APP BAR ── */
.mob-appbar { flex-shrink: 0; background: var(--mc-card-bg);
	border-bottom: 1px solid var(--mc-border-color); padding: 10px 16px 12px; }
.mob-appbar-top { display: flex; align-items: center; gap: 12px; min-height: 42px; }
.mob-appbar-title { font: 800 1.45rem var(--mc-font-sans); letter-spacing: -0.025em; margin: 0; }
.mob-appbar-sub { display: block; font: 500 0.74rem var(--mc-font-sans); color: var(--mc-fg-muted); margin-top: 1px; }
.mob-iconbtn { width: 40px; height: 40px; flex-shrink: 0; border-radius: 11px;
	border: 1px solid var(--mc-border-color); background: var(--mc-input-bg);
	color: var(--mc-fg-secondary); font-size: 1.05rem; cursor: pointer;
	display: flex; align-items: center; justify-content: center; position: relative; transition: all 0.14s; }
.mob-iconbtn:active { transform: scale(0.93); }
.mob-iconbtn .dot { position: absolute; top: 8px; right: 9px; width: 8px; height: 8px; border-radius: 50%;
	background: var(--mc-danger); border: 2px solid var(--mc-card-bg); }
.mob-avatar { width: 40px; height: 40px; flex-shrink: 0; border-radius: 50%;
	background: var(--mc-primary); color: #fff; font: 700 0.82rem var(--mc-font-sans);
	display: flex; align-items: center; justify-content: center; }
.mob-searchrow { display: flex; gap: 10px; margin-top: 12px; }
.mob-search { position: relative; flex: 1; }
.mob-search i { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--mc-fg-muted); font-size: 0.9rem; }
.mob-search input { width: 100%; height: 44px; padding: 0 14px 0 38px;
	border: 1px solid var(--mc-input-border); border-radius: 12px;
	background: var(--mc-input-bg); color: var(--mc-fg-primary); font: 400 0.9rem var(--mc-font-sans); outline: none; }
.mob-search input:focus { border-color: var(--mc-primary); box-shadow: 0 0 0 3px var(--mc-primary-soft); }
.mob-filterbtn { height: 44px; padding: 0 16px; flex-shrink: 0; border-radius: 12px;
	border: 1px solid var(--mc-border-color); background: var(--mc-input-bg);
	color: var(--mc-fg-secondary); font: 700 0.84rem var(--mc-font-sans); cursor: pointer;
	display: flex; align-items: center; gap: 8px; transition: all 0.14s; }
.mob-filterbtn.on { background: var(--mc-primary-soft); border-color: rgba(var(--mc-primary-rgb),0.35); color: var(--mc-primary); }
.mob-filterbtn .num { background: var(--mc-primary); color: #fff; font: 700 0.68rem var(--mc-font-mono);
	min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9999px;
	display: inline-flex; align-items: center; justify-content: center; }

/* ── CONTENT / LIST ── */
.mob-content { flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch; min-height: 0; background: var(--mc-body-bg); }
.mob-content::-webkit-scrollbar { width: 0; }
.mob-list { padding: 12px 16px 24px; display: flex; flex-direction: column; gap: 10px; }
.mob-sectlabel { font: 700 0.7rem var(--mc-font-sans); text-transform: uppercase; letter-spacing: 0.08em;
	color: var(--mc-fg-muted); padding: 8px 4px 2px; display: flex; align-items: center; gap: 8px; }
.mob-sectlabel .cnt { font-weight: 600; }

/* ── MACHINE CARD ── */
.mob-card { background: var(--mc-card-bg); border: 1px solid var(--mc-card-border); border-radius: 16px;
	padding: 14px; box-shadow: var(--mc-card-shadow); cursor: pointer;
	transition: transform 0.12s, box-shadow 0.12s; position: relative; overflow: hidden; }
.mob-card:active { transform: scale(0.985); }
.mob-card.offline { opacity: 0.72; }
.mob-card-top { display: flex; align-items: center; gap: 12px; }
.mob-card-id { flex: 1; min-width: 0; }
.mob-card-name { font: 700 0.98rem var(--mc-font-mono); letter-spacing: -0.01em; color: var(--mc-fg-primary);
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mob-card-meta { font: 400 0.76rem var(--mc-font-sans); color: var(--mc-fg-muted); margin-top: 2px;
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mob-card-meta .mk { color: var(--mc-fg-secondary); font-weight: 500; }
.mob-presence { width: 44px; height: 44px; border-radius: 13px; flex-shrink: 0; position: relative;
	display: flex; align-items: center; justify-content: center; font-size: 1.15rem; }
.mob-presence.online { background: var(--mc-success-soft); color: var(--mc-success); }
.mob-presence.offline { background: rgba(100,116,139,0.12); color: var(--mc-slate-400); }
.mob-presence .ind { position: absolute; bottom: -2px; right: -2px; width: 13px; height: 13px; border-radius: 50%;
	border: 2.5px solid var(--mc-card-bg); }
.mob-presence.online .ind { background: var(--mc-success); }
.mob-presence.offline .ind { background: var(--mc-slate-400); }
.mob-statusbadge { display: inline-flex; align-items: center; gap: 5px; flex-shrink: 0;
	font: 700 0.68rem var(--mc-font-sans); padding: 4px 9px 4px 8px; border-radius: 9999px;
	text-transform: uppercase; letter-spacing: 0.03em; }
.mob-statusbadge.online { background: var(--mc-success-soft); color: var(--mc-success); }
.mob-statusbadge.offline { background: rgba(100,116,139,0.13); color: var(--mc-slate-500); }
.mob-statusbadge .d { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.mob-card-sess { margin-top: 12px; display: flex; flex-direction: column; gap: 8px; }
.mob-sess { display: flex; align-items: center; gap: 10px; }
.mob-sess-label { font: 600 0.7rem var(--mc-font-sans); color: var(--mc-fg-secondary); width: 104px; flex-shrink: 0;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mob-sess-track { flex: 1; height: 6px; border-radius: 9999px; background: rgba(100,116,139,0.16); overflow: hidden; }
.mob-sess-fill { height: 100%; border-radius: 9999px; }
.mob-sess-fill.host { background: var(--mc-primary); }
.mob-sess-fill.guest { background: var(--mc-success); }
.mob-sess-fill.idle { background: var(--mc-slate-400); }

/* Dvodjelni track na mobilnoj kartici (lijevo = kontrola, desno = online) */
.mob-sess-track.split { display: flex; gap: 5px; background: transparent; overflow: visible; }
.mob-sess-seg { flex: 1; height: 6px; border-radius: 9999px; background: rgba(100,116,139,0.22); transition: background 0.2s ease; }
.mob-sess-seg.on { background: var(--mc-success); }
.mob-card-actions { margin-top: 12px; display: flex; gap: 9px; }
.mob-card-connect { flex: 1; height: 44px; border-radius: 12px; border: none; cursor: pointer;
	background: var(--mc-success); color: #fff; font: 700 0.88rem var(--mc-font-sans);
	display: flex; align-items: center; justify-content: center; gap: 8px;
	box-shadow: 0 4px 14px -5px rgba(5,150,105,0.7); transition: filter 0.14s, transform 0.12s; }
.mob-card-connect:active { transform: scale(0.97); }
.mob-card-connect.disabled { background: var(--mc-input-bg); color: var(--mc-fg-muted);
	border: 1px solid var(--mc-border-color); box-shadow: none; cursor: not-allowed; }
.mob-card-detail { width: 44px; height: 44px; flex-shrink: 0; border-radius: 12px; cursor: pointer;
	border: 1px solid var(--mc-border-color); background: var(--mc-input-bg); color: var(--mc-fg-secondary);
	font-size: 1rem; display: flex; align-items: center; justify-content: center; }
.mob-card-detail:active { transform: scale(0.93); }
.mob-empty { padding: 70px 24px; text-align: center; color: var(--mc-fg-muted); font-size: 0.92rem;
	display: flex; flex-direction: column; align-items: center; gap: 14px; }
.mob-empty i { font-size: 2.4rem; opacity: 0.5; }

/* ── FILTER BOTTOM SHEET ── */
.mob-backdrop { position: fixed; inset: 0; z-index: 70; background: rgba(8,12,22,0.5);
	align-items: flex-end; animation: mob-fade 0.2s ease; }
[data-bs-theme="dark"] .mob-backdrop { background: rgba(0,0,0,0.6); }
@keyframes mob-fade { from { opacity: 0; } to { opacity: 1; } }
.mob-sheet { width: 100%; max-height: 78%; background: var(--mc-card-bg); border-radius: 24px 24px 0 0;
	display: flex; flex-direction: column; animation: mob-slideup 0.28s cubic-bezier(.16,1,.3,1); overflow: hidden; }
@keyframes mob-slideup { from { transform: translateY(100%); } to { transform: translateY(0); } }
.mob-sheet-grip { width: 40px; height: 5px; border-radius: 9999px; background: var(--mc-slate-300); margin: 10px auto 4px; flex-shrink: 0; }
.mob-sheet-head { display: flex; align-items: center; justify-content: space-between; padding: 8px 20px 12px; }
.mob-sheet-head h3 { font: 800 1.12rem var(--mc-font-sans); margin: 0; letter-spacing: -0.01em; }
.mob-sheet-head button { background: none; border: none; color: var(--mc-fg-muted); font-size: 1.2rem; cursor: pointer; padding: 4px; }
.mob-sheet-body { overflow-y: auto; padding: 0 12px 24px; }
.mob-grp { display: flex; align-items: center; gap: 12px; padding: 13px 14px; border-radius: 13px; cursor: pointer;
	font: 600 0.92rem var(--mc-font-sans); color: var(--mc-fg-secondary); transition: background 0.12s; }
.mob-grp:active { background: rgba(var(--mc-primary-rgb),0.06); }
.mob-grp.active { background: var(--mc-primary-soft); color: var(--mc-primary); }
.mob-grp .gi { width: 22px; text-align: center; font-size: 1.05rem; color: var(--mc-fg-muted); flex-shrink: 0; }
.mob-grp.active .gi { color: var(--mc-primary); }
.mob-grp .gl { flex: 1; }
.mob-grp .gc { font: 700 0.74rem var(--mc-font-mono); color: var(--mc-fg-muted);
	background: rgba(100,116,139,0.13); padding: 2px 10px; border-radius: 9999px; }
.mob-grp.active .gc { background: rgba(var(--mc-primary-rgb),0.18); color: var(--mc-primary); }
.mob-grp-sep { height: 1px; background: var(--mc-border-color); margin: 6px 14px; }

/* ── PUSH DETALJ (full-screen) ── */
.mob-screen { position: fixed; inset: 0; z-index: 80; background: var(--mc-body-bg);
	flex-direction: column; animation: mob-pushin 0.26s cubic-bezier(.22,1,.36,1); }
@keyframes mob-pushin { from { transform: translateX(100%); } to { transform: translateX(0); } }
.mob-screen-bar { flex-shrink: 0; background: var(--mc-card-bg); border-bottom: 1px solid var(--mc-border-color);
	padding: 8px 12px; display: flex; align-items: center; gap: 8px; }
.mob-back { width: 40px; height: 40px; border-radius: 11px; border: none; background: none;
	color: var(--mc-fg-secondary); font-size: 1.15rem; cursor: pointer; flex-shrink: 0;
	display: flex; align-items: center; justify-content: center; }
.mob-back:active { background: var(--mc-input-bg); }
.mob-screen-title { flex: 1; min-width: 0; }
.mob-screen-title .nm { font: 800 1.02rem var(--mc-font-mono); letter-spacing: -0.01em;
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mob-screen-title .st { font: 500 0.72rem var(--mc-font-sans); color: var(--mc-fg-muted); margin-top: 1px; }
.mob-screen-title .st .on { color: var(--mc-success); font-weight: 700; }
.mob-dtabs { display: flex; gap: 4px; padding: 8px 12px; border-bottom: 1px solid var(--mc-border-color);
	background: var(--mc-card-bg); overflow-x: auto; flex-shrink: 0; }
.mob-dtabs::-webkit-scrollbar { height: 0; }
.mob-dtab { flex: 0 0 auto; padding: 8px 14px; border-radius: 9px; border: none; background: none; cursor: pointer;
	color: var(--mc-fg-secondary); font: 600 0.82rem var(--mc-font-sans);
	display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
.mob-dtab i { font-size: 0.95rem; color: var(--mc-fg-muted); }
.mob-dtab.active { background: var(--mc-primary); color: #fff; }
.mob-dtab.active i { color: #fff; }
.mob-detail-body { flex: 1; overflow-y: auto; min-height: 0; padding: 16px; }
.mob-detail-body::-webkit-scrollbar { width: 0; }
.mob-hero { background: linear-gradient(180deg, var(--mc-primary-soft), transparent);
	border: 1px solid rgba(var(--mc-primary-rgb),0.18); border-radius: 18px; padding: 18px; margin-bottom: 16px; text-align: center; }
.mob-hero .ring { width: 64px; height: 64px; border-radius: 18px; margin: 0 auto 12px;
	display: flex; align-items: center; justify-content: center; font-size: 1.6rem;
	background: var(--mc-card-bg); box-shadow: var(--mc-card-shadow); }
.mob-hero.online .ring { color: var(--mc-success); }
.mob-hero.offline .ring { color: var(--mc-slate-400); }
.mob-hero .os { font: 600 0.82rem var(--mc-font-sans); color: var(--mc-fg-secondary); }
.mob-hero .ip { font: 600 0.78rem var(--mc-font-mono); color: var(--mc-fg-muted); margin-top: 3px; }
.mob-connect-lg { width: 100%; height: 52px; margin-top: 16px; border-radius: 14px; border: none; cursor: pointer;
	background: var(--mc-success); color: #fff; font: 700 1rem var(--mc-font-sans);
	display: flex; align-items: center; justify-content: center; gap: 9px;
	box-shadow: 0 6px 18px -6px rgba(5,150,105,0.7); transition: transform 0.12s; }
.mob-connect-lg:active { transform: scale(0.98); }
.mob-connect-lg.disabled { background: var(--mc-input-bg); color: var(--mc-fg-muted);
	border: 1px solid var(--mc-border-color); box-shadow: none; cursor: not-allowed; }

@media (prefers-reduced-motion: reduce) {
	.mob-backdrop, .mob-sheet, .mob-screen { animation: none !important; }
}

/* ── Blok C: per-mašina galerija medija (MachineMedia.razor) ───────────────── */
.mcm-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 14px;
}
.mcm-tile {
	display: flex; flex-direction: column; text-align: left;
	background: var(--mc-card-bg); border: 1px solid var(--mc-card-border);
	border-radius: var(--mc-radius-md); overflow: hidden; cursor: pointer; padding: 0;
	transition: border-color .12s ease, box-shadow .12s ease, transform .12s ease;
}
.mcm-tile:hover { border-color: var(--mc-primary); box-shadow: var(--mc-card-shadow); transform: translateY(-2px); }
.mcm-thumb {
	position: relative; aspect-ratio: 16 / 10; display: flex; align-items: center; justify-content: center;
	background: #0f1115; color: rgba(255,255,255,.55); overflow: hidden;
}
.mcm-thumb.is-img { background: #0b0c10; }
.mcm-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mcm-thumb > i { font-size: 30px; }
.mcm-dur {
	position: absolute; right: 6px; bottom: 6px; padding: 2px 7px; font-size: 12px; font-weight: 600;
	color: #fff; background: rgba(0,0,0,.66); border-radius: var(--mc-radius-pill);
}
.mcm-meta { display: flex; flex-direction: column; gap: 2px; padding: 9px 11px; }
.mcm-when { font-size: 13px; font-weight: 600; color: var(--mc-fg-primary); }
.mcm-sub { font-size: 12px; color: var(--mc-fg-muted); }
.mcm-empty { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 42px 0; color: var(--mc-fg-muted); }
.mcm-empty > i { font-size: 38px; opacity: .6; }
.mcm-more { display: flex; justify-content: center; margin-top: 16px; }

/* Player / lightbox modal */
.mcm-scrim {
	position: fixed; inset: 0; z-index: 1080; display: flex; align-items: center; justify-content: center;
	background: rgba(8,10,14,.74); padding: 24px; backdrop-filter: blur(2px);
}
.mcm-player {
	display: flex; flex-direction: column; max-width: min(1100px, 96vw); max-height: 92vh;
	background: var(--mc-card-bg); border: 1px solid var(--mc-card-border);
	border-radius: var(--mc-radius-md); box-shadow: var(--mc-card-shadow-lg); overflow: hidden;
}
.mcm-player-head {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	padding: 11px 14px; border-bottom: 1px solid var(--mc-border-color);
	font-size: 13px; font-weight: 600; color: var(--mc-fg-secondary);
}
.mcm-close {
	background: transparent; border: 0; cursor: pointer; color: var(--mc-fg-muted);
	font-size: 18px; line-height: 1; padding: 4px 6px; border-radius: var(--mc-radius-sm);
}
.mcm-close:hover { background: var(--mc-sidebar-hover-bg); color: var(--mc-fg-primary); }
.mcm-player-body { display: flex; align-items: center; justify-content: center; background: #000; min-height: 240px; }
.mcm-player-body video, .mcm-player-body img { max-width: 100%; max-height: calc(92vh - 110px); display: block; }
.mcm-player-foot { display: flex; justify-content: flex-end; padding: 10px 14px; border-top: 1px solid var(--mc-border-color); }

/* ── Blok C: "Snimci" tab preview u Machines.razor detalju ─────────────────── */
.rc-snimci-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.rc-snimci-grid {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(112px, 1fr)); gap: 10px;
}
.rc-snimci-tile {
	display: flex; flex-direction: column; gap: 5px; text-decoration: none;
	border-radius: var(--mc-radius-sm); overflow: hidden; transition: transform .12s ease;
}
.rc-snimci-tile:hover { transform: translateY(-2px); }
.rc-snimci-thumb {
	position: relative; aspect-ratio: 16 / 10; display: flex; align-items: center; justify-content: center;
	background: #0f1115; color: rgba(255,255,255,.5); border: 1px solid var(--mc-card-border);
	border-radius: var(--mc-radius-sm); overflow: hidden;
}
.rc-snimci-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rc-snimci-thumb > i { font-size: 22px; }
.rc-snimci-tile:hover .rc-snimci-thumb { border-color: var(--mc-primary); }
.rc-snimci-kind {
	position: absolute; left: 5px; top: 5px; width: 20px; height: 20px; display: flex; align-items: center;
	justify-content: center; font-size: 10px; color: #fff; background: rgba(0,0,0,.6); border-radius: 5px;
}
.rc-snimci-when { font-size: 11.5px; color: var(--mc-fg-muted); text-align: center; }

/* ==========================================================================
   10. INVENTAR (Inventory.razor)
   --------------------------------------------------------------------------
   Scope tabovi (Po mašini · Fleet pretraga · Politika) + per-mašina konzola:
   pretraživi/virtualizovani picker mašina (lijevo) + detalj sa pod-tabovima
   (Sažetak · Softver · Promjene · Poslovi) desno. Reuse .mc-* / .rc-* sloja.
   ========================================================================== */
.inv-root { flex: 1; display: flex; flex-direction: column; min-height: 0; }

/* ── Scope tab bar ── */
.inv-scopebar { flex-shrink: 0; display: flex; align-items: center; gap: 4px;
	padding: 10px 16px; background: var(--mc-card-bg); border-bottom: 1px solid var(--mc-border-color);
	overflow-x: auto; }
.inv-scopebar::-webkit-scrollbar { height: 0; }
.inv-scope { display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; padding: 8px 16px;
	border: 1px solid transparent; border-radius: 9px; background: none; cursor: pointer;
	font: 600 0.86rem var(--mc-font-sans); color: var(--mc-fg-secondary); white-space: nowrap; transition: all 0.13s; }
.inv-scope i { font-size: 0.95rem; color: var(--mc-fg-muted); }
.inv-scope:hover { background: var(--mc-primary-soft); color: var(--mc-primary); }
.inv-scope:hover i { color: var(--mc-primary); }
.inv-scope.active { background: var(--mc-primary); color: #fff; box-shadow: 0 4px 12px -5px rgba(var(--mc-primary-rgb),0.6); }
.inv-scope.active i { color: #fff; }
.inv-scope .cnt { font: 700 0.7rem var(--mc-font-mono); padding: 1px 7px; border-radius: 9999px;
	background: rgba(100,116,139,0.14); color: var(--mc-fg-muted); }
.inv-scope.active .cnt { background: rgba(255,255,255,0.22); color: #fff; }

/* ── Stage (drži ili konzolu ili skrolabilni scope) ── */
.inv-stage { flex: 1; min-height: 0; display: flex; }
.inv-scroll { flex: 1; overflow-y: auto; min-height: 0; }
.inv-scroll::-webkit-scrollbar { width: 10px; }
.inv-scroll::-webkit-scrollbar-thumb { background: var(--mc-slate-300); border-radius: 8px; border: 3px solid var(--mc-body-bg); }
[data-bs-theme="dark"] .inv-scroll::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.14); }

/* ── Konzola: picker + detalj ── */
.inv-console { flex: 1; display: flex; min-height: 0; }

/* Picker (lijevo) */
.inv-picker { width: 332px; flex-shrink: 0; display: flex; flex-direction: column; min-height: 0;
	background: var(--mc-card-bg); border-right: 1px solid var(--mc-border-color); }
.inv-picker-head { padding: 14px 16px 12px; display: flex; flex-direction: column; gap: 10px; flex-shrink: 0;
	border-bottom: 1px solid var(--mc-border-color); }
.inv-picker-title { font: 700 1rem var(--mc-font-sans); letter-spacing: -0.01em; display: flex; align-items: center; gap: 8px; }
.inv-picker-title .dim { color: var(--mc-fg-muted); font-weight: 500; font-size: 0.82rem; font-family: var(--mc-font-mono); margin-left: auto; }
.inv-chips { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.inv-chip { display: inline-flex; align-items: center; gap: 5px; padding: 4px 11px; border-radius: 9999px;
	border: 1px solid var(--mc-border-color); background: var(--mc-input-bg); color: var(--mc-fg-secondary); cursor: pointer;
	font: 600 0.74rem var(--mc-font-sans); transition: all 0.12s; }
.inv-chip:hover { border-color: var(--mc-primary); color: var(--mc-primary); }
.inv-chip.active { background: var(--mc-primary-soft); border-color: rgba(var(--mc-primary-rgb),0.4); color: var(--mc-primary); }
.inv-chip-select { margin-left: auto; border-radius: 9999px !important; }

.inv-prows { flex: 1; overflow-y: auto; min-height: 0; }
.inv-prows::-webkit-scrollbar { width: 10px; }
.inv-prows::-webkit-scrollbar-thumb { background: var(--mc-slate-300); border-radius: 8px; border: 3px solid var(--mc-card-bg); }
[data-bs-theme="dark"] .inv-prows::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.14); }
.inv-prow { display: flex; align-items: center; gap: 11px; padding: 11px 16px; cursor: pointer; position: relative;
	border-bottom: 1px solid var(--mc-border-color); transition: background 0.12s; }
.inv-prow:hover { background: rgba(var(--mc-primary-rgb),0.04); }
.inv-prow.selected { background: var(--mc-primary-soft); }
.inv-prow.selected::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--mc-primary); }
.inv-prow .body { min-width: 0; flex: 1; }
.inv-prow .nm { font: 700 0.85rem var(--mc-font-mono); color: var(--mc-fg-primary); letter-spacing: -0.01em;
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.inv-prow .meta { font: 400 0.71rem var(--mc-font-sans); color: var(--mc-fg-muted); margin-top: 1px;
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.inv-dot { width: 9px; height: 9px; border-radius: 50%; flex-shrink: 0; }
.inv-dot.on { background: var(--mc-success); box-shadow: 0 0 0 3px var(--mc-success-soft); }
.inv-dot.off { background: var(--mc-slate-400); box-shadow: 0 0 0 3px rgba(100,116,139,0.12); }

/* Detalj (desno) */
.inv-detail { flex: 1; min-width: 0; display: flex; flex-direction: column; min-height: 0; background: var(--mc-body-bg); }
.inv-detail.empty { align-items: center; justify-content: center; }

.inv-dhead { flex-shrink: 0; display: flex; align-items: center; gap: 11px; padding: 13px 20px;
	background: var(--mc-card-bg); border-bottom: 1px solid var(--mc-border-color); }
.inv-dhead .nm { font: 800 1.15rem var(--mc-font-mono); letter-spacing: -0.01em; max-width: 320px;
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.inv-dhead .sp { flex: 1; }
.inv-back { display: none; width: 38px; height: 38px; border-radius: 9px; border: 1px solid var(--mc-border-color);
	background: var(--mc-input-bg); color: var(--mc-fg-secondary); cursor: pointer; flex-shrink: 0;
	align-items: center; justify-content: center; font-size: 1rem; }
.inv-back:hover { color: var(--mc-primary); border-color: var(--mc-primary); }

.inv-subtabs { flex-shrink: 0; display: flex; gap: 4px; padding: 0 16px; background: var(--mc-card-bg);
	border-bottom: 1px solid var(--mc-border-color); overflow-x: auto; }
.inv-subtabs::-webkit-scrollbar { height: 0; }
.inv-subtab { flex: 0 0 auto; padding: 11px 14px; border: none; background: none; cursor: pointer;
	font: 600 0.84rem var(--mc-font-sans); color: var(--mc-fg-secondary); white-space: nowrap;
	display: inline-flex; align-items: center; gap: 8px; border-bottom: 2px solid transparent; transition: all 0.13s; }
.inv-subtab i { font-size: 0.92rem; color: var(--mc-fg-muted); }
.inv-subtab:hover { color: var(--mc-fg-primary); }
.inv-subtab.active { color: var(--mc-primary); border-bottom-color: var(--mc-primary); }
.inv-subtab.active i { color: var(--mc-primary); }
.inv-subtab .cnt { font: 700 0.68rem var(--mc-font-mono); padding: 1px 7px; border-radius: 9999px;
	background: rgba(100,116,139,0.14); color: var(--mc-fg-muted); }
.inv-subtab.active .cnt { background: var(--mc-primary-soft); color: var(--mc-primary); }

.inv-subbody { flex: 1; overflow-y: auto; min-height: 0; padding: 18px 20px; }
.inv-subbody::-webkit-scrollbar { width: 10px; }
.inv-subbody::-webkit-scrollbar-thumb { background: var(--mc-slate-300); border-radius: 8px; border: 3px solid var(--mc-body-bg); }
[data-bs-theme="dark"] .inv-subbody::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.14); }
/* stat kartice unutar detalja: prilagodljiv grid (detalj je uži od pune stranice) */
.inv-subbody .mc-stats-grid { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); margin-bottom: 1rem; }

/* Softver toolbar */
.inv-toolbar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.inv-filter { position: relative; flex: 1; min-width: 200px; max-width: 360px; }
.inv-filter i { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--mc-fg-muted); font-size: 0.85rem; }
.inv-filter input { width: 100%; height: 38px; padding: 0 12px 0 34px; border: 1px solid var(--mc-input-border);
	border-radius: 9px; background: var(--mc-input-bg); color: var(--mc-fg-primary); font: 400 0.84rem var(--mc-font-sans); outline: none; }
.inv-filter input:focus { border-color: var(--mc-primary); box-shadow: 0 0 0 3px var(--mc-primary-soft); }

/* Sortabilni headeri tabele softvera */
.mc-table th.srt { cursor: pointer; user-select: none; white-space: nowrap; transition: color 0.12s; }
.mc-table th.srt:hover { color: var(--mc-fg-secondary); }
.mc-table th.srt .ca { margin-left: 4px; opacity: 0.35; font-size: 0.72rem; }
.mc-table th.srt.on { color: var(--mc-primary); }
.mc-table th.srt.on .ca { opacity: 1; }

/* ── Responsive: ≤820px konzola se stack-uje (picker ⇄ detalj) ── */
@media (max-width: 820px) {
	.inv-picker { width: 100%; border-right: none; }
	.inv-console .inv-detail { width: 100%; }
	.inv-console:not(.has-sel) .inv-detail { display: none; }
	.inv-console.has-sel .inv-picker { display: none; }
	.inv-back { display: flex; }
	.inv-dhead .nm { max-width: none; flex: 1; }
}

/* ==========================================================================
   11. TOAST NOTIFIKACIJE (ToastHost.razor)
   --------------------------------------------------------------------------
   Server-push kartice (gore desno): završene softverske akcije, alarmi…
   Renderuje ih Blazor (nema Bootstrap JS) — OperatorNotificationService gura,
   ToastHost prikazuje stack. Boja po nivou (success/error/warning/info),
   tema-svjestan kroz --mc-* tokene. Auto-dismiss + ručni X.
   (Različito od .rc-toast — to je transient pill za clipboard u mcremote.js.)
   ========================================================================== */
.mcr-toasts { position: fixed; top: 18px; right: 18px; z-index: 1090;
	display: flex; flex-direction: column; gap: 10px; width: min(360px, calc(100vw - 36px));
	pointer-events: none; }
.mcr-toast { pointer-events: auto; display: flex; align-items: flex-start; gap: 12px;
	background: var(--mc-card-bg); color: var(--mc-fg-primary);
	border: 1px solid var(--mc-card-border); border-left: 4px solid var(--mc-fg-muted);
	border-radius: var(--mc-card-radius); padding: 12px 14px;
	box-shadow: 0 18px 40px -16px rgba(15,23,42,0.45);
	animation: mcr-toast-in 0.28s cubic-bezier(.16,1,.3,1); }
.mcr-toast-ico { font-size: 1.1rem; line-height: 1.3; flex-shrink: 0; color: var(--mc-fg-muted); }
.mcr-toast-body { flex: 1; min-width: 0; }
.mcr-toast-title { font: 700 0.86rem var(--mc-font-sans); letter-spacing: -0.01em; color: var(--mc-fg-primary); }
.mcr-toast-msg { font: 400 0.8rem var(--mc-font-sans); color: var(--mc-fg-secondary); margin-top: 2px; overflow-wrap: anywhere; }
.mcr-toast-x { flex-shrink: 0; background: none; border: none; cursor: pointer; padding: 2px 5px; line-height: 1;
	color: var(--mc-fg-muted); border-radius: var(--mc-radius-sm); font-size: 0.95rem; transition: all 0.12s; }
.mcr-toast-x:hover { background: rgba(var(--mc-primary-rgb),0.08); color: var(--mc-fg-primary); }

.mcr-toast.is-success { border-left-color: var(--mc-success); }
.mcr-toast.is-success .mcr-toast-ico { color: var(--mc-success); }
.mcr-toast.is-error { border-left-color: var(--mc-danger); }
.mcr-toast.is-error .mcr-toast-ico { color: var(--mc-danger); }
.mcr-toast.is-warning { border-left-color: var(--mc-warning); }
.mcr-toast.is-warning .mcr-toast-ico { color: var(--mc-warning); }
.mcr-toast.is-info { border-left-color: var(--mc-info); }
.mcr-toast.is-info .mcr-toast-ico { color: var(--mc-info); }

@keyframes mcr-toast-in { from { opacity: 0; transform: translateX(16px); } to { opacity: 1; transform: translateX(0); } }
@media (prefers-reduced-motion: reduce) { .mcr-toast { animation: none; } }

/* Mobilni: iznad donje tab trake, puna širina */
@media (max-width: 820px) {
	.mcr-toasts { top: auto; bottom: 78px; right: 12px; left: 12px; width: auto; }
}

/* ==========================================================================
   12. PROVISIONING (Provisioning.razor) — paritet sa /inventory
   --------------------------------------------------------------------------
   Page-chrome je dijeljena (.inv-scopebar/.inv-scope/.inv-stage/.inv-scroll/
   .inv-dot iz sekcije 10). "Pokretanje" scope je konzola: konfigurator
   (.prov-launch, lijevo) + live run-monitor (.prov-runs, desno) + step-timeline
   (.prov-timeline). Globalno (App.razor učitava SAMO mcremote.css — bez scoped
   bundle-a), zato sve .prov-* živi ovdje, ne u Provisioning.razor.css.
   ========================================================================== */

/* ── Pokretanje scope: konzola (konfigurator + live monitor) ── */
.prov-console { flex: 1; display: flex; min-height: 0; }

/* Lijevi rail — konfigurator pokretanja */
.prov-launch { width: 420px; flex-shrink: 0; display: flex; flex-direction: column; min-height: 0;
	background: var(--mc-card-bg); border-right: 1px solid var(--mc-border-color); }
.prov-launch-head { flex-shrink: 0; display: flex; align-items: center; gap: 8px; padding: 14px 18px;
	font: 700 1rem var(--mc-font-sans); letter-spacing: -0.01em; border-bottom: 1px solid var(--mc-border-color); }
.prov-launch-head i { color: var(--mc-primary); font-size: 1rem; }
.prov-launch-body { flex: 1; overflow-y: auto; min-height: 0; padding: 18px;
	display: flex; flex-direction: column; gap: 18px; }
.prov-launch-body::-webkit-scrollbar { width: 10px; }
.prov-launch-body::-webkit-scrollbar-thumb { background: var(--mc-slate-300); border-radius: 8px; border: 3px solid var(--mc-card-bg); }
[data-bs-theme="dark"] .prov-launch-body::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.14); }

/* Mod pokretanja — segmentni prekidač Šablon | Toolbox akcija */
.prov-mode { display: flex; gap: 4px; padding: 4px; background: var(--mc-input-bg);
	border: 1px solid var(--mc-border-color); border-radius: 10px; }
.prov-mode-btn { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 7px;
	padding: 8px 12px; border: none; background: transparent; border-radius: 7px; cursor: pointer;
	font: 600 0.82rem var(--mc-font-sans); color: var(--mc-fg-secondary); transition: all .15s; }
.prov-mode-btn i { color: var(--mc-fg-muted); }
.prov-mode-btn:hover:not(.active):not(:disabled) { background: var(--mc-primary-soft); color: var(--mc-primary); }
.prov-mode-btn.active { background: var(--mc-primary); color: #fff; box-shadow: 0 4px 12px -5px rgba(var(--mc-primary-rgb),0.6); }
.prov-mode-btn.active i { color: #fff; }
.prov-mode-btn:disabled { opacity: .55; cursor: not-allowed; }

/* Izbor mašina — redovi nalik inventarskom pickeru (+ globalni .inv-dot) */
.prov-mlist { display: flex; flex-direction: column; max-height: 280px; overflow-y: auto;
	border: 1px solid var(--mc-border-color); border-radius: 10px; background: var(--mc-input-bg); }
.prov-mlist::-webkit-scrollbar { width: 9px; }
.prov-mlist::-webkit-scrollbar-thumb { background: var(--mc-slate-300); border-radius: 8px; border: 3px solid var(--mc-input-bg); }
.prov-mrow { display: flex; align-items: center; gap: 10px; padding: 9px 12px; cursor: pointer;
	border-bottom: 1px solid var(--mc-border-color); transition: background .12s; }
.prov-mrow:last-child { border-bottom: none; }
.prov-mrow:hover { background: rgba(var(--mc-primary-rgb), 0.05); }
.prov-mrow.selected { background: var(--mc-primary-soft); }
.prov-mrow input[type="checkbox"] { flex-shrink: 0; cursor: pointer; }
.prov-mrow-name { flex: 1; min-width: 0; font: 600 0.82rem var(--mc-font-mono); color: var(--mc-fg-primary);
	letter-spacing: -0.01em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Desni panel — live run monitor */
.prov-runs { flex: 1; min-width: 0; display: flex; flex-direction: column; min-height: 0; background: var(--mc-body-bg); }
.prov-runs-head { flex-shrink: 0; display: flex; align-items: center; gap: 10px; padding: 14px 20px;
	background: var(--mc-card-bg); border-bottom: 1px solid var(--mc-border-color); }
.prov-runs-title { display: flex; align-items: center; gap: 8px; font: 700 1rem var(--mc-font-sans); letter-spacing: -0.01em; }
.prov-runs-title i { color: var(--mc-primary); }
.prov-runs-refresh { margin-left: auto; display: flex; align-items: center; gap: 5px;
	font: 500 0.76rem var(--mc-font-sans); color: var(--mc-fg-muted); }
.prov-runs-body { flex: 1; overflow-y: auto; min-height: 0; padding: 18px 20px;
	display: flex; flex-direction: column; gap: 14px; }
.prov-runs-body::-webkit-scrollbar { width: 10px; }
.prov-runs-body::-webkit-scrollbar-thumb { background: var(--mc-slate-300); border-radius: 8px; border: 3px solid var(--mc-body-bg); }
[data-bs-theme="dark"] .prov-runs-body::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.14); }
/* Run kartice ne smiju da se "stisnu" u flex-koloni — inače mc-card overflow:hidden siječe izlaz koraka
   (prov-output ima svoj scroll). flex-shrink:0 → kartica zadrži punu visinu, body skroluje. */
.prov-runs-body > .mc-card { flex-shrink: 0; }

/* Responsive ≤820px: konzola se stack-uje (konfig gore, monitor dolje) */
@media (max-width: 820px) {
	.prov-console { flex-direction: column; overflow-y: auto; }
	.prov-launch { width: 100%; border-right: none; border-bottom: 1px solid var(--mc-border-color); }
	.prov-launch-body, .prov-runs-body { overflow-y: visible; }
	.prov-mlist { max-height: 220px; }
}

/* ── Live run monitor — vertikalna STEP timeline (renderuje se u .prov-runs-body karticama) ── */
.prov-timeline { display: flex; flex-direction: column; gap: 0; margin-top: .5rem; }

/* Jedan red koraka — node na kičmi + sadržaj */
.prov-step { position: relative; display: flex; align-items: flex-start; gap: .75rem;
	padding: .6rem .5rem .6rem 1.75rem; border-radius: var(--mc-radius-md); transition: background .15s ease; }
/* Kičma (spine) — vertikalna linija kroz cijelu timeline */
.prov-step::before { content: ""; position: absolute; left: .55rem; top: 0; bottom: 0; width: 2px; background: var(--mc-card-border); }
.prov-step:first-child::before { top: 50%; }
.prov-step:last-child::before  { bottom: 50%; }
/* Čvor na kičmi sa ikonom tipa koraka */
.prov-step-node { position: absolute; left: 0; top: .7rem; width: 1.15rem; height: 1.15rem; border-radius: 9999px;
	background: var(--mc-card-bg); border: 2px solid var(--mc-card-border); display: grid; place-items: center;
	font-size: .6rem; color: var(--mc-fg-secondary); z-index: 1; }
/* Trenutni korak — akcenat + pulsiranje čvora */
.prov-step.current { background: var(--mc-primary-soft); }
.prov-step.current .prov-step-node { border-color: var(--mc-primary); color: var(--mc-primary);
	animation: prov-pulse 1.4s ease-in-out infinite; }
@keyframes prov-pulse {
	0%, 100% { box-shadow: 0 0 0 0 var(--mc-primary-soft); }
	50%      { box-shadow: 0 0 0 5px transparent; }
}
/* Sadržaj koraka */
.prov-step-main { flex: 1; display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.prov-step-row { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.prov-step-desc { font-weight: 600; font-size: .85rem; word-break: break-word; }
.prov-step-meta { font-size: .72rem; color: var(--mc-fg-secondary); }
/* Izlaz koraka (stdout tail) — mono, tamna pozadina, skrolabilan */
.prov-output { font-family: var(--mc-font-mono); font-size: .72rem; line-height: 1.45;
	background: var(--mc-slate-900); color: #cbd5e1; padding: .6rem .75rem; border-radius: var(--mc-radius-sm);
	margin: .4rem 0 0; max-height: 240px; overflow: auto; white-space: pre-wrap; word-break: break-word; }
/* Akcijski bar za NeedsOperatorDecision */
.prov-actions { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center;
	margin-top: .9rem; padding-top: .9rem; border-top: 1px solid var(--mc-card-border); }

/* ══════════════════════════════════════════════════════════════════════════
   Task 7 — Notification Bell: .mc-notif-* klase
   mc-notif-wrap = pozicija za panel (relative); mc-notif-panel = istorijat-popup.
   ══════════════════════════════════════════════════════════════════════════ */
.mc-notif-wrap { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; }
/* Panel pada ispod zvona u rail-u (desno od rail-a). */
.mc-notif-panel { position: absolute; bottom: 0; left: calc(100% + 8px);
	width: 320px; max-height: 480px; overflow-y: auto;
	background: var(--mc-card-bg); border: 1px solid var(--mc-card-border);
	border-radius: var(--mc-radius-md); box-shadow: 0 8px 32px rgba(0,0,0,.18);
	z-index: 900; display: flex; flex-direction: column; }
.mc-notif-header { display: flex; align-items: center; gap: 8px;
	padding: 10px 14px; border-bottom: 1px solid var(--mc-card-border); }
.mc-notif-title { flex: 1; font-weight: 600; font-size: .88rem; }
.mc-notif-markread { background: none; border: none; cursor: pointer;
	font-size: .78rem; color: var(--mc-primary); padding: 0; white-space: nowrap; }
.mc-notif-markread:hover { text-decoration: underline; }
.mc-notif-close { background: none; border: none; cursor: pointer;
	color: var(--mc-fg-secondary); font-size: .9rem; padding: 2px 4px; }
.mc-notif-close:hover { color: var(--mc-fg); }
.mc-notif-empty { padding: 20px 14px; font-size: .83rem; color: var(--mc-fg-secondary); text-align: center; }
.mc-notif-list { list-style: none; margin: 0; padding: 0; }
.mc-notif-item { display: flex; align-items: flex-start; gap: 10px;
	padding: 10px 14px; border-bottom: 1px solid var(--mc-card-border); font-size: .83rem; }
.mc-notif-item:last-child { border-bottom: none; }
.mc-notif-item.is-unread { background: var(--mc-primary-soft); }
.mc-notif-ico { font-size: .95rem; margin-top: 2px; flex-shrink: 0; }
.mc-notif-item.is-success .mc-notif-ico { color: var(--mc-success); }
.mc-notif-item.is-error   .mc-notif-ico { color: var(--mc-danger); }
.mc-notif-item.is-warning .mc-notif-ico { color: var(--mc-warning); }
.mc-notif-item.is-info    .mc-notif-ico { color: var(--mc-primary); }
.mc-notif-body { flex: 1; min-width: 0; }
.mc-notif-item-title { font-weight: 600; word-break: break-word; }
.mc-notif-item-msg { color: var(--mc-fg-secondary); margin-top: 2px; word-break: break-word; }
.mc-notif-item-time { font-size: .72rem; color: var(--mc-fg-secondary); margin-top: 4px; }
/* Na mobilnom: panel se otvara odozgo (appbar zvono, mob-iconbtn wrap je in-flow). */
@media (max-width: 820px) {
	.mc-notif-wrap { width: auto; }
	.mc-notif-panel { left: auto; bottom: auto; right: 0; top: calc(100% + 6px); }
}

/* Sakrij default disclosure marker za <details>/<summary> kartice (Napredno sekcija) */
details.mc-card > summary { list-style: none; }
details.mc-card > summary::-webkit-details-marker { display: none; }
