:root{
  --sam-bg        : #ffffff;
  --sam-backdrop  : rgba(15,23,42,0.55);
  --sam-border    : #e6eef8;
  --sam-muted     : #6b7280;
  --sam-accent    : #2563eb;
  --sam-accent-600: #1e40af;
  --sam-success   : #16a34a;
  --sam-danger    : #ef4444;
  --card-bg       : linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  --glass         : rgba(255,255,255,0.75);
}

.sources-admin-modal { position: fixed; inset: 0; display: none; z-index: 9999; font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial; }
.sources-admin-modal.open { display: block; }
.sources-admin-modal .sam-backdrop { position:absolute; inset:0; background:var(--sam-backdrop); backdrop-filter: blur(4px) saturate(1.05); }

.sources-admin-modal .sam-dialog {
  position      : absolute;
  left          : 50%;
  top           : 50%;
  transform     : translate(-50%,-50%);
  width         : 920px;
  max-width     : calc(100% - 40px);
  max-height    : 86vh;
  border-radius : 12px;
  overflow      : hidden;
  background    : #C9E8FD; /*var(--card-bg);*/
  box-shadow    : 0 12px 40px rgba(2,6,23,0.45);
  border        : 1px solid var(--sam-border);
  display       : flex;
  flex-direction: column;
}

.sam-header {
  display        : flex;
  justify-content: space-between;
  align-items    : center;
  padding        : 14px 18px;
  gap            : 12px;
  background     : #2EB2FF; /*linear-gradient(90deg, rgba(37,99,235,0.08), rgba(37,99,235,0.02));*/
  border-bottom  : 1px solid rgba(37,99,235,0.06);
}
.sam-header h2 {
  margin     : 0;
  font-size  : 16px;
  font-weight: 600;
  color      : #FFFFFF;/*#0f172a;*/
  display    : flex;
  align-items: center;
  gap        : 10px;
}
.sam-header .sam-close {
  border       : 0;
  background   : transparent;
  font-size    : 20px;
  cursor       : pointer;
  color        : #0f172a;
  padding      : 6px 8px;
  border-radius: 6px;
}
.sam-header .sam-close:hover { background: rgba(2,6,23,0.04); }

.sam-body { padding:16px; overflow:auto; flex:1 1 auto; }

.sam-controls {
  display      : flex;
  gap          : 10px;
  align-items  : center;
  margin-bottom: 8px;
  flex-wrap    : wrap;
}
.sam-controls .btn {
  display      : inline-flex;
  align-items  : center;
  gap          : 8px;
  padding      : 8px 12px;
  border-radius: 8px;
  font-weight  : 600;
  font-size    : 13px;
  cursor       : pointer;
  border       : 1px solid rgba(15,23,42,0.06);
  background   : #49B3FB;
  color        : #FFF;
  transition: all .14s ease;
}
.sam-controls .btn:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(2,6,23,0.08); }
.btn-primary { 
	background  : linear-gradient(180deg,var(--sam-accent),var(--sam-accent-600)); 
	color       : #fff; 
	border-color: transparent; 
	box-shadow  : 0 6px 18px rgba(37,99,235,0.14); 
	padding     : 4px 10px;
}
.btn-secondary { 
	background  : #EFEFEF;
	color       : #000; 
	border		  : 1px solid #646464; 
	padding     : 4px 10px;
}
.sam-msg { margin-left:6px; font-size:13px; color:var(--sam-muted); }

.sam-list { display:block; }
.sam-sources { display:grid; gap:12px; grid-template-columns: 1fr; }
.sam-src-card {
  position      : relative;
  display       : flex;
  flex-direction: column;
  border-radius : 10px;
  padding       : 10px;
  background    : linear-gradient(180deg, rgba(255,255,255,0.9), rgba(244,247,255,0.6));
  border        : 1px solid rgba(15,23,42,0.04);
  transition    : transform .12s ease, box-shadow .12s ease;
}
.sam-src-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(2,6,23,0.06); }

.sam-src-head { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.sam-src-name { font-weight:700; color:#0f172a; font-size:14px; display:flex; align-items:center; gap:8px; }
.sam-src-actions { display:flex; gap:6px; }
.sam-src-actions button {
  border:0; background:transparent; cursor:pointer; padding:6px; border-radius:6px; font-size:15px;
}
.sam-src-actions button:hover { background: rgba(15,23,42,0.04); }

.sam-src-body {
  margin-top           : 10px;
  padding-top          : 8px;
  border-top           : 1px dashed rgba(2,6,23,0.04);
  display              : grid;
  grid-template-columns: 1fr 1fr;
  gap                  : 10px 14px;
}

.sam-src-body label { display:flex; flex-direction:column; gap:6px; font-size:13px; color:var(--sam-muted); padding : 4px;}
.sam-src-body input[type="text"],
.sam-src-body input[type="number"] {
  padding      : 10px 12px;
  border-radius: 8px;
  border       : 1px solid rgba(15,23,42,0.16);
  background   : linear-gradient(180deg,#fff,#fbfdff);
  outline      : none;
  font-size    : 13px;
  color        : #0f172a;
  transition   : box-shadow .12s ease, border-color .12s ease;
}
.sam-src-body input:focus { box-shadow: 0 8px 20px rgba(37,99,235,0.06); border-color: rgba(37,99,235,0.18); }

.sam-src-body .full { grid-column: 1 / -1; }

.sam-src-foot { grid-column: 1 / -1; display:flex; gap:8px; justify-content:flex-end; margin-top:4px; }
.sam-src-foot .btn { padding:8px 10px; }
.sam-footer { padding:12px 16px; border-top: 1px solid rgba(2,6,23,0.04); display:flex; gap:10px; justify-content:flex-end; align-items:center; background: linear-gradient(180deg, rgba(255,255,255,0.6), rgba(245,247,255,0.6)); }

.note-pill {
  display:inline-flex; align-items:center; gap:8px; padding:6px 10px; border-radius:999px; background: rgba(2,6,23,0.04); color:var(--sam-muted); font-size:13px;
}
.small { font-size:12px; color:var(--sam-muted); }

.sam-src-actions .del { color: var(--sam-danger); font-weight:700; }

.sam-meta {
	padding : 4px 0px;
}
.sam-src-card.drop-top::before,
.sam-src-card.drop-bottom::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  height: 0;
  border-top: 2px dashed #999;
}

.sam-src-card.drop-top::before {
  top: -2px;
}

.sam-src-card.drop-bottom::after {
  bottom: -2px;
}

.sam-src-card.dragging {
  opacity: 0.6;
}

.drag-handle {
  cursor: grab;
  user-select: none;
}

#metaTimer, #alertHighPct {
		width      : 50px;
		text-align : center;
		padding    : 4px;
}

@media (max-width:860px) {
  .sam-src-body { grid-template-columns: 1fr; }
  .sources-admin-modal .sam-dialog { width: 92%; max-height: 90vh; }
}
