/* Lightweight admin pages — shared content styles */
.stats{ display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px; }
.stat{ background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:18px 18px 16px; }
.stat .k{ font-size:13px;color:var(--text-2);margin-bottom:10px;display:flex;align-items:center;gap:8px; }
.stat .k .dot{ width:9px;height:9px;border-radius:3px;background:var(--primary); }
.stat .v{ font-size:30px;font-weight:800;letter-spacing:-1px;color:#1f2530; }
.stat .d{ font-size:12px;margin-top:6px;color:var(--text-3); }
.stat .d.up{ color:var(--green); } .stat .d.down{ color:var(--red); }

.grid2{ display:grid;grid-template-columns:2fr 1fr;gap:16px;align-items:start; }
.section-h{ display:flex;align-items:center;gap:10px;padding:16px 18px;border-bottom:1px solid var(--border-2); }
.section-h h2{ margin:0;font-size:16px;font-weight:700;color:#222; }
.section-h .more{ margin-left:auto;font-size:13px;color:var(--link);font-weight:600;cursor:pointer; }
.section-b{ padding:6px 18px 14px; }
.section-b{ overflow:auto; }

table.tbl{ width:100%;border-collapse:collapse;font-size:14px; }
table.tbl th{ text-align:left;color:var(--text-2);font-weight:600;font-size:13px;padding:11px 10px;border-bottom:1px solid var(--border); }
table.tbl td{ padding:12px 10px;border-bottom:1px solid var(--border-2);color:#2b2f36; }
table.tbl tr:last-child td{ border-bottom:0; }
.pill{ display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;padding:3px 10px;border-radius:20px; }
.pill.green{ background:var(--green-soft);color:var(--green); }
.pill.red{ background:var(--red-soft);color:var(--red); }
.pill.orange{ background:var(--orange-soft);color:#b9770b; }
.pill.blue{ background:var(--blue-soft);color:var(--primary); }
.pill.gray{ background:#eef1f5;color:#6a7180; }

.list{ list-style:none;margin:0;padding:0; }
.list li{ display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border-2);font-size:14px; }
.list li:last-child{ border-bottom:0; }
.list .ico{ width:34px;height:34px;border-radius:9px;background:var(--blue-soft);color:var(--primary);display:flex;align-items:center;justify-content:center;flex:0 0 34px; }
.list .ico svg{ width:18px;height:18px; }
.list .nm{ flex:1 1 auto; } .list .nm b{ display:block;font-weight:600;color:#2b2f36; } .list .nm span{ font-size:12px;color:var(--text-3); }
.muted{ color:var(--text-3);font-size:13px; }

.btn{ border:1px solid var(--border);background:#fff;color:#2b2f36;border-radius:9px;height:38px;padding:0 14px;font-family:inherit;font-weight:700;cursor:pointer; }
.btn.primary{ border-color:var(--primary);background:var(--primary);color:#fff;box-shadow:0 6px 14px rgba(6,89,224,.18); }
.btn.realtime-status{ min-width:132px;cursor:default; }
.btn.realtime-status.ok{ border-color:rgba(22,163,74,.28);background:var(--green-soft);color:var(--green); }
.btn.realtime-status.warn{ border-color:rgba(217,119,6,.32);background:var(--orange-soft);color:#b9770b; }
.btn:hover{ filter:brightness(.98); }
.row-actions{ display:flex;gap:8px;align-items:center; }
.link-btn{ border:0;background:transparent;color:var(--link);font-family:inherit;font-weight:700;cursor:pointer;padding:0; }
.link-btn.danger{ color:var(--red); }
.select{ height:34px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:0 8px;font-family:inherit;color:#374151; }

.modal-backdrop{ position:fixed;inset:0;background:rgba(15,23,42,.42);display:none;align-items:center;justify-content:center;z-index:100; }
.modal-backdrop.open{ display:flex; }
.modal{ width:520px;max-width:calc(100vw - 32px);background:#fff;border-radius:12px;box-shadow:0 24px 70px rgba(15,23,42,.28);overflow:hidden; }
.modal-h{ display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border); }
.modal-h h3{ margin:0;font-size:18px;color:#111827; }
.modal-x{ border:0;background:#eef1f5;border-radius:8px;width:32px;height:32px;cursor:pointer;font-size:20px;color:#4b5563; }
.modal-b{ padding:18px 20px;display:grid;gap:12px; }
.modal-b .kv-list{ display:grid;gap:8px; }
.modal-b .kv-row{ display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:start;border:1px solid var(--border-2);border-radius:8px;padding:10px 12px;background:#f8fafc; }
.modal-b .kv-row span{ font-size:12px;font-weight:800;color:var(--text-3); }
.modal-b .kv-row b{ font-size:13px;line-height:1.45;color:#111827;word-break:break-word; }
.form-row{ display:grid;gap:6px; }
.form-row label{ font-size:13px;font-weight:700;color:#4b5563; }
.form-row input,.form-row select,.form-row textarea{ width:100%;border:1px solid var(--border);border-radius:9px;padding:10px 11px;font-family:inherit;font-size:14px;color:#111827;background:#fff; }
.form-row textarea{ min-height:92px;resize:vertical; }
.form-row .inline-actions{ display:flex;align-items:center;gap:10px; }
.form-row .inline-actions .btn{ flex:0 0 auto; }
.form-row .hint{ color:var(--text-3);font-size:12px;line-height:1.35; }
.modal-f{ padding:14px 20px 18px;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--border-2); }
.toast{ position:fixed;right:24px;bottom:24px;z-index:120;background:#111827;color:#fff;border-radius:10px;padding:12px 15px;box-shadow:0 18px 42px rgba(15,23,42,.26);font-size:14px;font-weight:700;opacity:0;transform:translateY(12px);transition:.18s ease;pointer-events:none; }
.toast.show{ opacity:1;transform:translateY(0); }

.user-stats .stat{ min-height:126px; }
.user-toolbar{ gap:12px; }
.user-toolbar h2{ flex:0 0 auto; }
.user-toolbar .more{ flex:0 0 auto; }
.user-search{ margin-left:auto;width:270px;height:34px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:0 11px;font-family:inherit;font-size:13px;color:#111827; }
.mono-id{ font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:12px;color:#111827;letter-spacing:0; }

.media-grid{ display:grid;grid-template-columns:repeat(6,1fr);gap:14px; }
.media-card{ min-height:150px;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#f8fafc;position:relative; }
.media-card img{ width:100%;height:100%;object-fit:cover;display:block; }
.media-meta{ position:absolute;left:0;right:0;bottom:0;padding:10px;background:linear-gradient(180deg,transparent,rgba(15,23,42,.78));color:#fff;font-size:12px;font-weight:700; }
.media-actions{ display:flex;gap:8px;margin-top:8px; }
.media-actions button{ border:1px solid rgba(255,255,255,.38);background:rgba(255,255,255,.12);color:#fff;border-radius:7px;padding:4px 8px;font-family:inherit;font-weight:800;font-size:12px;cursor:pointer; }
.material-incident-card{ margin-bottom:16px; }
.material-incident-select{ margin-left:auto;min-width:340px;height:38px;font-weight:700; }
.material-incident-summary{ display:grid;grid-template-columns:1.2fr repeat(4,.6fr);gap:12px;overflow:visible; }
.material-incident-summary .summary-main,.material-incident-summary .summary-stat{ border:1px solid var(--border-2);border-radius:10px;background:#f8fafc;padding:12px 14px; }
.material-incident-summary span{ display:block;font-size:12px;font-weight:800;color:var(--text-3);margin-bottom:7px; }
.material-incident-summary b{ display:block;font-size:16px;color:#111827;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.material-incident-summary p{ margin:6px 0 0;font-size:13px;color:var(--text-2);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.material-incident-summary .summary-stat b{ font-size:22px; }
.resource-scope-card{ margin-bottom:16px; }
.resource-scope-tabs{ display:flex;align-items:center;gap:0;border:1px solid var(--border);border-radius:9px;overflow:hidden;background:#fff;margin-left:auto; }
.resource-scope-tabs button{ height:36px;border:0;border-right:1px solid var(--border-2);background:#fff;padding:0 18px;font-family:inherit;font-weight:800;color:#4b5563;cursor:pointer; }
.resource-scope-tabs button:last-child{ border-right:0; }
.resource-scope-tabs button.on{ background:var(--primary);color:#fff; }
.resource-incident-select{ min-width:340px;height:38px;font-weight:700; }
.timeline{ display:grid;gap:14px;max-height:60vh;overflow:auto;padding-right:4px; }
.timeline-day{ border:1px solid var(--border-2);border-radius:10px;overflow:hidden;background:#fff; }
.timeline-day h4{ margin:0;padding:11px 13px;border-bottom:1px solid var(--border-2);background:#f8fafc;font-size:13px;color:#374151; }
.timeline-item{ display:grid;grid-template-columns:92px 1fr auto;gap:12px;align-items:start;padding:12px 13px;border-bottom:1px solid var(--border-2); }
.timeline-item:last-child{ border-bottom:0; }
.timeline-time{ font-size:12px;font-weight:900;color:var(--primary);white-space:nowrap; }
.timeline-item b{ display:block;font-size:14px;color:#111827;margin-bottom:4px; }
.timeline-item p{ margin:0;font-size:13px;color:var(--text-2);line-height:1.45; }
.empty{ padding:34px;text-align:center;color:var(--text-3);font-size:14px; }

.system-kv{ display:grid;gap:8px; }
.system-kv .kv-row{ display:grid;grid-template-columns:82px 1fr;gap:10px;align-items:start;border:1px solid var(--border-2);border-radius:8px;padding:10px 12px;background:#f8fafc; }
.system-kv .kv-row span{ font-size:12px;font-weight:800;color:var(--text-3); }
.system-kv .kv-row b{ font-size:13px;line-height:1.45;color:#111827;word-break:break-all; }
.system-actions{ margin-top:12px;flex-wrap:wrap; }
.system-actions.mini{ margin-top:8px;gap:6px; }
.system-actions.mini .btn{ height:30px;padding:0 9px;border-radius:7px;font-size:12px;text-decoration:none;display:inline-flex;align-items:center; }
.system-action-text{ font-size:13px;line-height:1.45;color:#2b2f36; }
