
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  --ui-bg-1:#f5f7fb;
  --ui-bg-2:#eef3fb;
  --ui-panel:#ffffff;
  --ui-panel-soft:#f8fbff;
  --ui-line:#e2e8f0;
  --ui-text:#0f172a;
  --ui-muted:#64748b;
  --ui-primary:#2563eb;
  --ui-primary-2:#0ea5e9;
  --ui-success:#16a34a;
  --ui-danger:#dc2626;
  --ui-shadow:0 20px 50px rgba(15,23,42,.08);
  --ui-shadow-soft:0 10px 30px rgba(15,23,42,.05);
  --ui-radius:18px;
}

html,body{
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}

body{
  background:
    radial-gradient(circle at top left, rgba(37,99,235,.08), transparent 26%),
    radial-gradient(circle at top right, rgba(14,165,233,.08), transparent 24%),
    linear-gradient(180deg,var(--ui-bg-1) 0%, var(--ui-bg-2) 100%) !important;
  color:var(--ui-text);
  font-size: 14px;
}

.card,.summary-card,.stat,.panel{
  background:linear-gradient(180deg,#ffffff 0%, #fbfdff 100%) !important;
  border:1px solid rgba(148,163,184,.16) !important;
  border-radius:var(--ui-radius) !important;
  box-shadow:var(--ui-shadow-soft) !important;
}

.card:hover,.summary-card:hover{
  transform:translateY(-1px);
  transition:.18s ease;
}

input,select,textarea{
  border-radius:12px !important;
  border:1px solid #dbe3ef !important;
  background:#ffffff !important;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.02);
}

input:focus,select:focus,textarea:focus{
  outline:none !important;
  border-color:#93c5fd !important;
  box-shadow:0 0 0 4px rgba(37,99,235,.08) !important;
}

.btn{
  border-radius:12px !important;
  box-shadow:0 10px 25px rgba(37,99,235,.08);
}
.btn-primary{
  background:linear-gradient(135deg,#2563eb 0%, #1d4ed8 55%, #0ea5e9 100%) !important;
  color:#fff !important;
  border:none !important;
}
.btn-danger{
  background:linear-gradient(135deg,#ef4444,#dc2626) !important;
  color:#fff !important;
  border:none !important;
}
.btn:hover{filter:brightness(.98)}

.notice{
  border-radius:14px !important;
  box-shadow:var(--ui-shadow-soft);
}

table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
}
table th{
  background:#f8fafc !important;
  color:#334155;
  font-weight:700;
}
table th,table td{
  border-bottom:1px solid #eef2f7;
}
table tr:nth-child(even) td{
  background:#fcfdff;
}

.page-title{
  letter-spacing:-.02em;
}
.page-sub,.muted{
  color:var(--ui-muted) !important;
}


/* Contrast fixes v2 */
input,select,textarea{
  color:#0f172a !important;
  caret-color:#0f172a !important;
}
input::placeholder, textarea::placeholder{
  color:#94a3b8 !important;
}
input[readonly], textarea[readonly]{
  color:#0f172a !important;
  background:#f8fbff !important;
}
select option{
  color:#0f172a !important;
  background:#ffffff !important;
}
.field label, label{
  color:#334155 !important;
  font-weight:600 !important;
}
table td{
  color:#1f2937 !important;
}
.menu-link,.menu-link .menu-title,.menu-link .menu-icon{
  color:#dbeafe !important;
}
.menu-link.active,.menu-link.active .menu-title,.menu-link.active .menu-icon{
  color:#ffffff !important;
}
.menu-link:hover,.menu-link:hover .menu-title,.menu-link:hover .menu-icon{
  color:#ffffff !important;
}
.user-name{
  color:#ffffff !important;
}
.user-email{
  color:#cbd5e1 !important;
}
.brand-title{
  color:#ffffff !important;
}
.brand-sub{
  color:#93c5fd !important;
}
.page-title{
  color:#0f172a !important;
}
.btn{
  color:inherit;
}
.btn-primary,.btn-danger{
  color:#fff !important;
}
