/* SystemTEC UI — camada visual compartilhada, sem alterar lógica ou contratos existentes. */
@import url('../theme.css.php');

:root {
  /* Paleta alinhada à logo: laranja, verde vivo, azul profundo e superfícies quentes. */
  --ui-primary: #d95f02;
  --ui-primary-strong: #a84400;
  --ui-primary-soft: #ffedd5;
  --ui-secondary: #16803c;
  --ui-secondary-strong: #11632f;
  --ui-accent: #22c55e;
  --ui-blue: #174ea6;
  --ui-bg: #fffaf3;
  --ui-surface: #fffdf9;
  --ui-surface-soft: #fff7ed;
  --ui-text: #243047;
  --ui-muted: #58657a;
  --ui-border: #eadfce;
  --ui-danger: #c62828;
  --ui-success: #187a3d;
  --ui-radius: 14px;
  --ui-shadow: 0 10px 30px rgba(104, 72, 35, .09);
  --ui-shadow-hover: 0 16px 36px rgba(104, 72, 35, .16);
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  color: var(--ui-text);
  background: radial-gradient(circle at top left, rgba(255, 237, 213, .58), transparent 34rem), var(--ui-bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: var(--ui-primary); transition: color .2s ease, opacity .2s ease; }
a:hover { color: var(--ui-primary-strong); }
strong, b { color: var(--ui-text); }
.text-muted, .muted, small, .subtitle { color: var(--ui-muted); }
.badge-primary, .tag-primary { background: var(--ui-primary-soft); color: var(--ui-primary-strong); }
.badge-success, .tag-success { background: #dcfce7; color: var(--ui-secondary-strong); }
button, input, select, textarea { font: inherit; }
button, [type="button"], [type="submit"], [type="reset"] { cursor: pointer; }
main, .container, .content, .page-content, .main-content, .dashboard-container { min-width: 0; }
.container, .page-container, .content-container { width: min(100% - 32px, 1400px); margin-inline: auto; }
.card, .panel, .box, .dashboard-card, .form-container, .table-container, .section-card {
  background: var(--ui-surface);
  border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius);
  box-shadow: var(--ui-shadow);
}
.card, .panel, .box, .dashboard-card, .form-container, .section-card { padding: clamp(18px, 2.5vw, 28px); }
h1, h2, h3, h4 { color: var(--ui-text); line-height: 1.2; letter-spacing: -.02em; }
h1 { font-size: clamp(1.6rem, 2.5vw, 2.25rem); }
h2 { font-size: clamp(1.25rem, 2vw, 1.7rem); }
hr { border: 0; border-top: 1px solid var(--ui-border); margin: 1.5rem 0; }
label { color: var(--ui-text); font-weight: 600; }
input:not([type="checkbox"]):not([type="radio"]), select, textarea {
  width: 100%; min-height: 42px; border: 1px solid var(--ui-border); border-radius: 10px;
  background: var(--ui-surface); color: var(--ui-text); padding: .65rem .8rem;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
input:not([type="checkbox"]):not([type="radio"]):focus, select:focus, textarea:focus {
  outline: 0; border-color: var(--ui-primary); box-shadow: 0 0 0 3px rgba(217,95,2,.16);
}
input[type="checkbox"], input[type="radio"] { accent-color: var(--ui-primary); }
button, .btn, a.btn, input[type="submit"], input[type="button"] {
  display: inline-flex; align-items: center; justify-content: center; gap: .45rem;
  min-height: 40px; border-radius: 10px; border: 1px solid transparent;
  padding: .6rem 1rem; font-weight: 700; text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
button:hover, .btn:hover, a.btn:hover, input[type="submit"]:hover, input[type="button"]:hover { transform: translateY(-1px); box-shadow: 0 7px 16px rgba(15,23,42,.12); }
.btn-primary, .button-primary, button.primary, input[type="submit"] {   background: var(--ui-primary); color: #fffaf3; }
.btn-primary:hover, .button-primary:hover, button.primary:hover, input[type="submit"]:hover {   background: var(--ui-primary-strong); color: #fffaf3; }
.btn-secondary, .button-secondary, button.secondary { background: var(--ui-surface-soft); color: var(--ui-text); border-color: var(--ui-border); }
.btn-green, .btn-secondary-green, .button-green, button.green { background: var(--ui-secondary); color: #f4fff7; }
.btn-blue, .button-blue, button.blue { background: var(--ui-blue); color: #f7fbff; }
.btn-danger, .button-danger, button.danger {   background: var(--ui-danger); color: #fffaf3; }
.btn-success, .button-success, button.success {   background: var(--ui-success); color: #f4fff7; }
table { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--ui-surface); border: 1px solid var(--ui-border); border-radius: var(--ui-radius); overflow: hidden; }
thead th { background: #fff0df; color: #654321; font-size: .76rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
th, td { padding: .8rem .9rem; border-bottom: 1px solid var(--ui-border); text-align: left; vertical-align: middle; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover { background: #fff8ef; }
.alert, .message, .flash, .notification { border-radius: 10px; border: 1px solid var(--ui-border); padding: .8rem 1rem; }
.alert-success, .success, .message-success { background: #effcf3; border-color: #b8e8c5; color: #155d31; }
.alert-danger, .error, .message-error { background: #fff1f0; border-color: #f3b7b2; color: #8f211c; }
.alert-warning, .warning { background: #fff7df; border-color: #f2d287; color: #76530a; }
nav, .navbar, .topbar, .header { border-color: var(--ui-border); }
.modal-content, .modal-dialog, .dropdown-menu, .popover { border: 1px solid var(--ui-border); border-radius: var(--ui-radius); box-shadow: 0 24px 60px rgba(15,23,42,.2); }
.table-responsive, .table-wrapper, .responsive-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
@media (max-width: 900px) {
  .container, .page-container, .content-container { width: min(100% - 24px, 100%); }
  .grid, .cards-grid, .dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sidebar { width: min(86vw, 320px); }
}
@media (max-width: 640px) {
  body { font-size: .95rem; }
  .container, .page-container, .content-container { width: min(100% - 20px, 100%); }
  .grid, .cards-grid, .dashboard-grid, .row, .form-row { grid-template-columns: 1fr !important; display: grid; }
  .card, .panel, .box, .dashboard-card, .form-container, .section-card { padding: 16px; border-radius: 12px; }
  h1 { font-size: 1.5rem; }
  table { min-width: 620px; }
  .table-responsive, .table-wrapper, .responsive-table { margin-inline: -4px; }
  button, .btn, a.btn, input[type="submit"], input[type="button"] { width: 100%; }
  .actions, .button-group, .form-actions { display: grid; grid-template-columns: 1fr; gap: .6rem; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; } }
