/* PolyOps — Professional Light UI (no glass, no dark) */

:root{
  --bg: #f5f7fb;
  --panel: #ffffff;
  --panel2: #fafbff;
  --border: #e6eaf2;

  --text: #0b1220;
  --muted: #5b6778;

  --primary: #2563eb;   /* blue */
  --success: #16a34a;
  --warning: #f59e0b;
  --danger:  #dc2626;

  --radius-lg: 16px;
  --radius-md: 12px;

  --shadow-sm: 0 1px 2px rgba(16,24,40,.06);
  --shadow:    0 10px 24px rgba(16,24,40,.08);
}

html, body{ height:100%; }
body{
  background: var(--bg);
  color: var(--text);
}

/* ✅ Edge-to-edge on desktop, comfy padding */
.container{
  max-width: 100%;
  padding-left: 22px;
  padding-right: 22px;
}

/* Keep tables/forms readable on huge screens */
.gx-page{
  max-width: 1400px;
  margin: 0 auto;
}

/* Links */
a{ text-decoration:none; }

/* Top bar */
.navbar{
  background: var(--panel) !important;
  border-bottom: 1px solid var(--border);
  box-shadow: var(--shadow-sm);
}

.navbar-brand{
  letter-spacing: .2px;
  font-weight: 700;
}

/* Nav links */
.nav-link{
  color: var(--muted) !important;
  border-radius: 10px;
  padding: .45rem .65rem !important;
  font-weight: 600;
}

.nav-link:hover{
  background: #f1f4fb;
  color: var(--text) !important;
}

.nav-link.active{
  background: rgba(37,99,235,.10);
  color: var(--primary) !important;
}

/* Cards */
.card{
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}

.card.p-3, .card.p-4{ box-shadow: var(--shadow); }

/* Tables */
.table{ color: var(--text); }
.table thead th{
  font-weight: 700;
  color: #2b3648;
  border-bottom: 1px solid var(--border) !important;
  background: var(--panel2);
}

.table td, .table th{
  border-color: var(--border) !important;
}

.table-hover tbody tr:hover{
  background: #f7f9ff;
}

/* Badges */
.badge-soft{
  background: rgba(37,99,235,.10);
  color: var(--primary);
  border: 1px solid rgba(37,99,235,.18);
  border-radius: 999px;
  padding: .35rem .6rem;
  font-weight: 600;
}

/* Buttons */
.btn{
  border-radius: 12px;
  padding: .55rem .9rem;
  font-weight: 650;
}

.btn-dark{
  background: var(--primary);
  border-color: var(--primary);
}
.btn-dark:hover{ filter: brightness(.95); }

.btn-outline-secondary{
  border-color: #cfd6e3;
  color: #334155;
}
.btn-outline-secondary:hover{
  background: #eef2ff;
  border-color: #c7d2fe;
}

/* Forms */
.form-control, .form-select{
  background: #ffffff;
  border: 1px solid #cfd6e3;
  color: var(--text);
  border-radius: 12px;
}

.form-control:focus, .form-select:focus{
  border-color: rgba(37,99,235,.55);
  box-shadow: 0 0 0 .2rem rgba(37,99,235,.15);
}

.text-secondary{ color: var(--muted) !important; }

.alert{
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  background: #ffffff;
  color: var(--text);
  box-shadow: var(--shadow-sm);
}

hr{ border-color: var(--border); }

/* Responsive */
@media (max-width: 768px){
  .container{ padding-left: 14px; padding-right: 14px; }
  .gx-page{ max-width: 100%; }
}