VMS - Haikal It Support

VMS

Dashboard Kamera TMC :root { --bg: #eef4f8; --panel: rgba(255, 255, 255, 0.9); --panel-strong: #ffffff; --line: #d7e2ea; --text: #133142; --muted: #5b7381; --accent: #0b6e87; --accent-strong: #0a4f63; --success-bg: #dff5e8; --success-text: #18794e; --shadow: 0 20px 50px rgba(19, 49, 66, 0.12); } * { box-sizing: border-box; } body { margin: 0; font-family: "Trebuchet MS", "Segoe UI", sans-serif; color: var(--text); background: radial-gradient(circle at top left, rgba(11, 110, 135, 0.16), transparent 30%), radial-gradient(circle at bottom right, rgba(5, 89, 92, 0.12), transparent 25%), linear-gradient(180deg, #f7fbfd 0%, var(--bg) 100%); min-height: 100vh; } .app-shell { width: min(1200px, calc(100% - 32px)); margin: 0 auto; padding: 32px 0 48px; } .hero { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 24px; align-items: start; margin-bottom: 24px; } .eyebrow { margin: 0 0 10px; color: var(--accent); font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.78rem; } h1, h2, p { margin-top: 0; } h1 { margin-bottom: 12px; font-size: clamp(2rem, 3vw, 3.1rem); line-height: 1.05; } .hero-copy, .hero-note p, #tableSummary { color: var(--muted); } .hero-note, .panel, .stat-card { background: var(--panel); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.65); box-shadow: var(--shadow); border-radius: 22px; } .hero-note { padding: 22px; } .badge { display: inline-flex; align-items: center; padding: 8px 12px; border-radius: 999px; font-size: 0.85rem; font-weight: 700; } .badge-online { background: var(--success-bg); color: var(--success-text); } .stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 24px; } .stat-card { padding: 22px; } .stat-label { display: block; margin-bottom: 10px; color: var(--muted); font-size: 0.92rem; } .stat-card strong { font-size: 2rem; } .panel { padding: 20px; } .controls { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(180px, 220px) auto; gap: 16px; margin-bottom: 24px; } .search-field, .select-field { display: grid; gap: 10px; color: var(--muted); font-size: 0.92rem; } .search-field input, .select-field select { width: 100%; min-height: 48px; border-radius: 14px; border: 1px solid var(--line); background: var(--panel-strong); padding: 0 14px; font: inherit; color: var(--text); } .search-field input:focus, .select-field select:focus, .button:focus { outline: 3px solid rgba(11, 110, 135, 0.18); outline-offset: 2px; } .button-group { display: flex; align-items: end; gap: 12px; flex-wrap: wrap; } .button { min-height: 48px; border: 0; border-radius: 14px; padding: 0 18px; font: inherit; font-weight: 700; cursor: pointer; transition: transform 0.18s ease, opacity 0.18s ease, background 0.18s ease; } .button:hover { transform: translateY(-1px); } .button.primary { background: var(--accent); color: #ffffff; } .button.primary:hover { background: var(--accent-strong); } .button.secondary { background: #dceff4; color: var(--accent-strong); } .table-panel { padding-bottom: 10px; } .table-header { display: flex; justify-content: space-between; gap: 16px; align-items: center; margin-bottom: 14px; } .table-wrapper { overflow-x: auto; border-radius: 18px; border: 1px solid var(--line); background: var(--panel-strong); } table { width: 100%; border-collapse: collapse; min-width: 860px; } thead th { background: #eef7fa; color: var(--accent-strong); text-align: left; font-size: 0.9rem; padding: 15px 14px; } tbody td { padding: 14px; border-top: 1px solid var(--line); vertical-align: middle; } tbody tr:hover { background: #f8fcfe; } .status-pill { display: inline-flex; align-items: center; justify-content: center; min-width: 82px; padding: 7px 12px; border-radius: 999px; font-size: 0.84rem; font-weight: 700; } .status-pill.online { background: var(--success-bg); color: var(--success-text); } .status-pill.offline { background: #fde8e8; color: #b42318; } .password-cell { font-family: Consolas, "Courier New", monospace; } .actions { display: flex; gap: 8px; flex-wrap: wrap; } .mini-button { border: 1px solid var(--line); background: #ffffff; color: var(--text); border-radius: 12px; padding: 9px 12px; font: inherit; font-size: 0.88rem; cursor: pointer; } .mini-button:hover { border-color: var(--accent); color: var(--accent); } .empty-state { text-align: center; color: var(--muted); padding: 40px 14px; } .noscript { margin: 20px auto 0; width: min(1200px, calc(100% - 32px)); padding: 16px 20px; border-radius: 16px; background: #fff1f1; color: #b42318; border: 1px solid #f7caca; } @media (max-width: 920px) { .hero, .controls, .stats { grid-template-columns: 1fr; } .button-group { align-items: stretch; } .button { width: 100%; } }

Sistem Pusat Komando

Dashboard Kamera TMC

Aplikasi ini menampilkan daftar IP kamera, username, password, dan status koneksi agar bisa diakses cepat melalui browser seperti Mozilla Firefox dan Google Chrome.

Internal Use

Password disembunyikan secara default untuk membantu menjaga kerahasiaan saat layar sedang dibagikan.

Total Kamera 0
Status Online 0
Filter Aktif 0

Daftar Kamera

Memuat data kamera...

No Lokasi IP Kamera Username Password Status Aksi

Post a Comment

Silakan tinggalkan komentar Anda dengan bahasa yang sopan dan relevan dengan topik.
Pertanyaan, saran, atau sharing pengalaman seputar IT Support sangat kami apresiasi.
Komentar yang mengandung spam, promosi, atau ujaran tidak pantas tidak akan ditampilkan.
Terima kasih 🙏