.form_grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.form_group { display: grid; gap: 6px; }
.form_group label { font-size: 13px; color: var(--tc_muted); font-weight: 700; }
.form_group input, .form_group select, .form_group textarea {
  width: 100%;
  border: 1px solid var(--tc_border);
  border-radius: 14px;
  padding: 8px 12px;
  font-size: 14px;
  color: var(--tc_text);
  background: #fbfdfb;
}
.form_group textarea { min-height: 38px; resize: vertical; }
.form_actions { display: flex; gap: 10px; justify-content: flex-end; margin-top: 10px; }
.full { grid-column: 1 / -1; }
@media (max-width: 860px) { .form_grid { grid-template-columns: 1fr; } }


.user_module_grid { display: grid; grid-template-columns: 0.95fr 1.05fr; gap: 14px; height: calc(100% - 82px); min-height: 0; }
.user_panel { border: 1px solid var(--tc_border); border-radius: 16px; background: #fff; padding: 14px; min-height: 0; overflow: auto; }
.user_panel h2 { margin: 0 0 8px; font-size: 17px; color: var(--tc_green); }
.inline_form { display: inline; }
.small_input { height: 32px; border: 1px solid var(--tc_border); border-radius: 12px; padding: 0 9px; font-size: 13px; background: #fbfdfb; }
.inline_select { height: 32px; border: 1px solid var(--tc_border); border-radius: 12px; padding: 0 9px; font-size: 13px; background: #fbfdfb; }
.request_success { border: 1px solid #c8dfcf; border-radius: 18px; padding: 18px; background: #f5fbf7; color: var(--tc_green); line-height: 1.5; }
.request_success strong { display:block; font-size: 20px; margin-bottom: 8px; }
@media(max-width: 1100px){ .user_module_grid{ grid-template-columns:1fr; height:auto; } .user_panel{ overflow:visible; } }


/* User Access Fix 03B */
.admin_summary_strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.section_gap { margin-top: 10px; }
.admin_users_table { height: 360px; }
.admin_action_stack { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.admin_action_stack .action_btn { min-height: 30px; padding: 0 10px; font-size: 12px; }
.tc_table small { color: var(--tc_muted); font-size: 12px; }
button[disabled], select[disabled] { opacity: .55; cursor: not-allowed; }
@media(max-width: 1100px){ .admin_summary_strip{ grid-template-columns: 1fr; } .admin_users_table{ height: auto; max-height: 68vh; } }
