.gm-wrapper { padding: 16px 0; }
.gm-container { max-width: 1100px; margin: 0 auto; padding: 0 12px; }

/* Typo */
.gm-wrapper h1, .gm-wrapper h2, .gm-wrapper h3 { color: #212529; margin: 0 0 12px; }
.gm-wrapper .notice { background: #e9f7ef; border: 1px solid #c6f0d5; padding: 10px 12px; border-radius: 6px; }

/* Tables */
.gm-table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid #e9ecef; border-radius: 8px; overflow: hidden; box-shadow: 0 1px 3px rgba(16,24,40,0.06); }
.gm-table th, .gm-table td { border-bottom: 1px solid #e9ecef; padding: 10px 12px; text-align: left; vertical-align: top; }
.gm-table th { background: #f8f9fa; font-weight: 600; color: #495057; }
.gm-table tr:nth-child(even) { background: #fcfcfd; }
.gm-table tr:hover { background: #f8f9fb; }
.gm-table-responsive { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* Form styles for admin front */
.gm-form { margin-top: 16px; padding: 16px; background: #fff; border: 1px solid #e9ecef; border-radius: 8px; box-shadow: 0 1px 3px rgba(16,24,40,0.06); }
.gm-form .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; }
.gm-form .form-group { display:flex; flex-direction:column; }
.gm-form label { font-weight:600; margin-bottom:6px; color:#495057; }
.gm-form input[type="text"],
.gm-form input[type="email"],
.gm-form input[type="date"],
.gm-form input[type="number"],
.gm-form select,
.gm-form input[type="file"],
.gm-form textarea { padding:10px 12px; border:1px solid #ced4da; border-radius:6px; font-size:14px; background:#fff; color:#212529; }
.gm-form textarea { min-height: 96px; }
.gm-form .form-actions { margin-top: 10px; display:flex; gap:10px; }

/* Buttons (bootstrap-like) */
.button { display:inline-block; padding:8px 14px; border-radius:6px; border:1px solid transparent; cursor:pointer; text-decoration:none; font-weight:600; font-size:14px; }
.button.button-primary { background:#0d6efd; border-color:#0d6efd; color:#fff; }
.button.button-primary:hover { background:#0b5ed7; border-color:#0b5ed7; }
.button.button-secondary { background:#6c757d; border-color:#6c757d; color:#fff; }
.button.button-secondary:hover { background:#5c636a; border-color:#5c636a; }
.edit-icon, .delete-icon { text-decoration:none; font-size:16px; }

/* Badges */
.gm-badge { display:inline-block; padding:.35em .6em; font-size: 12px; font-weight:600; color:#fff; background:#6c757d; border-radius: 999px; }

/* Responsive */
@media (max-width: 992px) { .gm-form .form-grid { grid-template-columns: 1fr; } }
@media (max-width: 768px) { .gm-table th, .gm-table td { padding: 8px 10px; } }
