/* SMRC Portal - app shell, sidebar nav, stat cards, tables, forms */
/* =====================================================
   PORTAL APP SHELL
   ===================================================== */
.smrc-portal-wrap { max-width:1220px; margin:0 auto; padding: 22px 18px 100px; }

.smrc-portal-topbar {
	display:flex; justify-content:space-between; align-items:center; padding:16px 24px;
	background: linear-gradient(120deg, rgba(67,56,202,.92), rgba(99,102,241,.9) 55%, rgba(6,182,212,.88));
	backdrop-filter: blur(20px) saturate(160%); -webkit-backdrop-filter: blur(20px) saturate(160%);
	color:#fff; border-radius: 22px 22px 0 0; border:1px solid rgba(255,255,255,.25); border-bottom:none;
	box-shadow: var(--smrc-shadow-lg); position:relative; z-index:6;
}
.smrc-portal-user { display:flex; align-items:center; gap:12px; font-family:var(--smrc-heading-font); }
.smrc-portal-avatar {
	width:38px; height:38px; border-radius:50%; background: rgba(255,255,255,.22);
	display:flex; align-items:center; justify-content:center; font-weight:800; font-size:14px;
	border:1.5px solid rgba(255,255,255,.5); flex-shrink:0;
}
.smrc-portal-user-info { display:flex; flex-direction:column; gap:2px; }
.smrc-portal-user strong { font-size:14.5px; line-height:1; }
.smrc-badge {
	background:rgba(255,255,255,.22); padding:2px 11px; border-radius:20px; font-size:10.5px;
	text-transform:uppercase; letter-spacing:.06em; font-weight:800; width:fit-content;
}

.smrc-portal-body {
	display:flex; border:1px solid rgba(255,255,255,.5); border-top:none;
	border-radius: 0 0 22px 22px; min-height:580px;
	background: rgba(255,255,255,.55);
	backdrop-filter: blur(24px) saturate(160%); -webkit-backdrop-filter: blur(24px) saturate(160%);
	box-shadow: var(--smrc-shadow); overflow:hidden;
}

.smrc-portal-nav { width:232px; border-right:1px solid rgba(15,23,42,.06); padding:16px 12px; flex-shrink:0; }
.smrc-portal-nav button {
	display:flex; align-items:center; gap:10px; width:100%; text-align:left; padding:11px 14px; margin-bottom:4px;
	background:none; border:none; cursor:pointer; font-size:13.5px; color:var(--smrc-body); border-radius: 12px;
	font-family:var(--smrc-font); font-weight:600; transition: all .15s ease;
}
.smrc-portal-nav button .smrc-nav-icon { font-size:15px; width:20px; text-align:center; flex-shrink:0; }
.smrc-portal-nav button:hover { background:rgba(99,102,241,.08); color:var(--smrc-ink); }
.smrc-portal-nav button.active {
	background: linear-gradient(135deg, rgba(99,102,241,.16), rgba(6,182,212,.12));
	color: var(--smrc-primary-dark); font-weight:800;
	box-shadow: inset 0 0 0 1.5px rgba(99,102,241,.25);
}

.smrc-portal-main { flex:1; padding:28px 30px; overflow-x:auto; min-width:0; }
.smrc-loading { color:var(--smrc-muted); padding:70px; text-align:center; font-size:14px; font-weight:600; }

.smrc-modal {
	position:fixed; inset:0; background:rgba(15,23,42,.55); backdrop-filter: blur(4px);
	display:flex; align-items:center; justify-content:center; z-index:9999;
}
.smrc-modal-box {
	background: rgba(255,255,255,.9); backdrop-filter: blur(20px); padding:30px; border-radius: var(--smrc-radius);
	width:360px; box-shadow: var(--smrc-shadow-lg); border:1px solid rgba(255,255,255,.6);
}

.smrc-h1 { font-size:21px; margin:0 0 20px; color:var(--smrc-ink); font-family:var(--smrc-heading-font); font-weight:800; }

/* =====================================================
   Stat / dashboard glass cards
   ===================================================== */
.smrc-stats-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(190px,1fr)); gap:16px; margin-bottom:24px; }
.smrc-stat-card {
	background: rgba(255,255,255,.65); backdrop-filter: blur(16px);
	border:1px solid rgba(255,255,255,.7); border-radius: var(--smrc-radius);
	padding:20px 22px; box-shadow: var(--smrc-shadow); position:relative; overflow:hidden;
	transition: transform .18s ease, box-shadow .18s ease;
}
.smrc-stat-card:hover { transform: translateY(-3px); box-shadow: 0 18px 36px -14px rgba(79,70,229,.3); }
.smrc-stat-card::before {
	content:""; position:absolute; top:0; left:0; width:100%; height:3px;
	background: linear-gradient(90deg, var(--smrc-primary), var(--smrc-accent), var(--smrc-pink));
}
.smrc-stat-icon {
	width:38px; height:38px; border-radius:11px; font-size:18px; margin-bottom:12px;
	display:flex; align-items:center; justify-content:center;
	background: linear-gradient(135deg, rgba(99,102,241,.16), rgba(6,182,212,.12));
}
.smrc-stat-value { font-family:var(--smrc-heading-font); font-size:22px; font-weight:800; color:var(--smrc-ink); display:block; line-height:1.25; }
.smrc-stat-label { font-size:11.5px; color:var(--smrc-muted); font-weight:700; text-transform:uppercase; letter-spacing:.04em; }

.smrc-card {
	background: rgba(255,255,255,.65); backdrop-filter: blur(16px);
	border:1px solid rgba(255,255,255,.7); border-radius: var(--smrc-radius);
	padding:22px; margin-bottom:20px; box-shadow: var(--smrc-shadow);
}
.smrc-card h3 { margin-top:0; font-size:15px; font-weight:800; }

.smrc-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }

/* =====================================================
   Tables
   ===================================================== */
.smrc-table-wrap { width:100%; overflow-x:auto; border-radius: var(--smrc-radius-sm); border:1px solid rgba(15,23,42,.08); }
.smrc-table { width:100%; border-collapse:collapse; font-size:13px; background: rgba(255,255,255,.5); }
.smrc-table th, .smrc-table td { padding:12px 14px; text-align:left; border-bottom:1px solid rgba(15,23,42,.06); }
.smrc-table th { background:rgba(99,102,241,.06); font-weight:800; color:#334155; font-size:11px; text-transform:uppercase; letter-spacing:.04em; }
.smrc-table tr:last-child td { border-bottom:none; }
.smrc-table tr:hover td { background:rgba(99,102,241,.05); }
.smrc-table input[type=number], .smrc-table input[type=text] {
	width:78px; padding:7px 9px; border:1.5px solid rgba(15,23,42,.1); border-radius:8px; font-family:var(--smrc-font); background:#fff;
}

.smrc-pill { display:inline-block; padding:4px 12px; border-radius:20px; font-size:10.5px; font-weight:800; text-transform:uppercase; letter-spacing:.03em; }
.smrc-pill.pending, .smrc-pill.upcoming { background:var(--smrc-warn-bg); color:#92400e; }
.smrc-pill.approved, .smrc-pill.open, .smrc-pill.active, .smrc-pill.read { background:var(--smrc-success-bg); color:#166534; }
.smrc-pill.rejected, .smrc-pill.suspended, .smrc-pill.closed { background:var(--smrc-danger-bg); color:#991b1b; }
.smrc-pill.exam, .smrc-pill.unread { background:rgba(99,102,241,.14); color:#3730a3; }

.smrc-toolbar { display:flex; gap:8px; margin-bottom:16px; flex-wrap:wrap; align-items:center; }
.smrc-inline-form { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-bottom:18px; }
.smrc-inline-form label { font-size:12px; font-weight:700; color:#334155; }
.smrc-inline-form input, .smrc-inline-form select {
	padding:10px 12px; border:1.5px solid rgba(15,23,42,.1); border-radius: var(--smrc-radius-sm);
	font-size:13px; font-family:var(--smrc-font); background: rgba(255,255,255,.7); transition: all .15s ease;
}
.smrc-inline-form input:focus, .smrc-inline-form select:focus { outline:none; border-color:var(--smrc-primary); background:#fff; box-shadow:0 0 0 3px rgba(99,102,241,.14); }

.smrc-card form label { display:block; margin:10px 0 5px; font-size:12px; font-weight:700; color:#334155; }
.smrc-card form input, .smrc-card form textarea, .smrc-card form select {
	width:100%; padding:11px 13px; border:1.5px solid rgba(15,23,42,.1); border-radius: var(--smrc-radius-sm);
	font-family:var(--smrc-font); font-size:14px; background: rgba(255,255,255,.7);
}
.smrc-card form input:focus, .smrc-card form textarea:focus, .smrc-card form select:focus {
	outline:none; border-color:var(--smrc-primary); background:#fff; box-shadow:0 0 0 3px rgba(99,102,241,.14);
}


.smrc-audit-bar {
	display: flex;
	justify-content: flex-end;
	gap: 6px;
	margin: 8px 0 6px;
	flex-wrap: wrap;
}

.smrc-row-actions {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}

.smrc-danger-zone {
	display: flex;
	justify-content: flex-end;
	gap: 6px;
	margin-top: 10px;
	flex-wrap: wrap;
}

.smrc-edit-row td {
	background: rgba(99, 102, 241, 0.06);
}

@media print {
	.smrc-audit-bar,
	.smrc-danger-zone { display: none !important; }
}

/* Locked marks / configuration notice */
.smrc-lock-note {
	background: #fff7ed;
	border: 1px solid #fdba74;
	color: #9a3412;
	border-radius: 8px;
	padding: 10px 12px;
	margin: 10px 0;
	font-size: 13px;
	font-weight: 600;
}

/* =====================================================
   Async button state, wide modals, transfer profiles
   ===================================================== */
.smrc-btn-busy { position:relative; opacity:.75; cursor:progress !important; }
.smrc-btn-busy::after {
	content:""; display:inline-block; width:12px; height:12px; margin-left:8px;
	border:2px solid currentColor; border-right-color:transparent; border-radius:50%;
	vertical-align:-2px; animation: smrc-spin .6s linear infinite;
}
@keyframes smrc-spin { to { transform: rotate(360deg); } }

.smrc-modal-box-wide { width:min(560px, 94vw); }
.smrc-modal-scroll { max-height:88vh; overflow-y:auto; }
.smrc-modal-box-wide h4 { margin:0 0 8px; font-size:14px; font-weight:800; }
.smrc-modal-box-wide textarea,
.smrc-modal-box-wide input[type="number"] { width:100%; }
.smrc-modal-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; }

.smrc-section-gate{max-width:980px;margin:0 auto;padding:24px 8px}
.smrc-section-gate-head h1{font-size:26px;margin:0 0 6px}
.smrc-section-gate-head p{color:var(--smrc-muted,#6b7280);margin:0 0 22px}
.smrc-section-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.smrc-section-card{display:flex;flex-direction:column;gap:8px;text-align:left;padding:22px;border-radius:16px;border:1px solid rgba(0,0,0,.08);background:#fff;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.smrc-section-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.12)}
.smrc-section-card.is-loading{opacity:.6;pointer-events:none}
.smrc-section-card-icon{font-size:34px}
.smrc-section-card-name{font-size:19px;font-weight:700}
.smrc-section-card-tag{font-size:13px;color:#6b7280}
.smrc-section-card-list{display:flex;flex-direction:column;gap:3px;font-size:12px;color:#6b7280;margin-top:6px}
.smrc-section-card-counts{font-size:12px;font-weight:600;margin-top:8px}
.smrc-section-card-go{margin-top:10px;font-weight:700}
.smrc-section-card-nursery{border-top:5px solid #e0632f}
.smrc-section-card-nursery .smrc-section-card-go{color:#e0632f}
.smrc-section-card-primary{border-top:5px solid #1f6feb}
.smrc-section-card-primary .smrc-section-card-go{color:#1f6feb}
.smrc-section-badge{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 12px;padding:9px 12px;border-radius:10px;font-weight:700;font-size:13px;color:#fff}
.smrc-section-nursery{background:#e0632f}
.smrc-section-primary{background:#1f6feb}
.smrc-section-badge .smrc-section-switch{background:rgba(255,255,255,.22);border:0;color:#fff;border-radius:7px;padding:4px 9px;cursor:pointer;font-size:12px}
.smrc-section-hero-nursery{border-left:6px solid #e0632f}
.smrc-section-hero-primary{border-left:6px solid #1f6feb}
.smrc-section-hero-counts{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px;font-size:13px}
.smrc-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;margin:12px 0}
.smrc-check{display:flex;align-items:center;gap:8px;font-size:14px}
.smrc-move-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.06)}

/* --- Section workspace context (v15.1) --- */
.smrc-section-badge{flex-wrap:wrap}
.smrc-section-badge-sub{flex:1 1 100%;order:3;font-weight:600;font-size:11px;opacity:.85;letter-spacing:.02em}
.smrc-nav-note{display:block;font-size:11px;font-weight:600;opacity:.7;margin-top:2px}
.smrc-nav-offsection{opacity:.72}
.smrc-nav-offsection:hover{opacity:1}
.smrc-pill-warn{background:#fff4e0;color:#9a5b06;border:1px solid #f0c98a}
.smrc-unassigned-tag{font-size:11px;margin-left:6px}
