:root { --bg: #f6f7f9; --surface: #ffffff; --border: #e5e7eb; --text: #111827; --muted: #6b7280; --accent: #111827; --accent-soft: #f3f4f6; --radius-sm: 6px; --radius-md: 10px; --shadow-sm: 0 6px 16px rgba(15, 23, 42, 0.08); } * { box-sizing: border-box; } body.app-body { font-family: 'Inter', system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; background: var(--bg); color: var(--text); font-size: 15px; } .navbar-brand { letter-spacing: -0.02em; } .card { border-radius: var(--radius-md); } .btn { border-radius: var(--radius-sm); font-weight: 600; letter-spacing: 0.01em; } .btn-dark { background: var(--accent); border-color: var(--accent); } .btn-outline-secondary { border-color: var(--border); color: var(--text); } .btn-outline-secondary:hover { background: var(--accent-soft); color: var(--text); } .photo-preview { min-height: 140px; background: var(--accent-soft); } .photo-thumb { width: 44px; height: 44px; object-fit: cover; } .detail-photo { width: 84px; height: 84px; object-fit: cover; } .table thead th { font-weight: 600; border-bottom: 1px solid var(--border); } .table tbody tr { border-bottom: 1px solid var(--border); } .border-bottom, .border-top { border-color: var(--border) !important; } .shadow-sm { box-shadow: var(--shadow-sm) !important; } .alert { border-radius: var(--radius-sm); } .badge { border-radius: 999px; } .form-control, .form-select { border-radius: var(--radius-sm); border-color: var(--border); } .form-control:focus, .form-select:focus { border-color: #9ca3af; box-shadow: 0 0 0 0.15rem rgba(17, 24, 39, 0.12); } @media (max-width: 768px) { .display-6 { font-size: 1.9rem; } }