/* unicorn-core.css (Enterprise Utilities) */
:root{
  --primary: var(--primary, #6366f1);
  --secondary: var(--secondary, #ec4899);
  --bg-app: var(--bg-app, #f3f4f6);
  --glass: var(--glass, rgba(255,255,255,.7));
  --text: #0f172a;
  --muted: #64748b;
  --border: rgba(15,23,42,.12);
  --radius: 18px;
  --t-fast: 180ms;
  --ease: cubic-bezier(.2,.8,.2,1);
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  font-family: var(--font-main, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif);
  background: var(--bg-app);
  color: var(--text);
}

/* Layout */
.container{ width:100%; max-width:1120px; margin:0 auto; padding:0 16px; }
.hidden{ display:none !important; }
.w-full{ width:100%; }
.grow{ flex:1 1 auto; }
.overflow-auto{ overflow:auto; }

/* Flex */
.flex{ display:flex; }
.items-center{ align-items:center; }
.justify-between{ justify-content:space-between; }
.justify-end{ justify-content:flex-end; }
.items-start{ align-items:flex-start; }
.gap-2{ gap:8px; }
.gap-3{ gap:12px; }
.gap-4{ gap:16px; }

/* Grid */
.grid{ display:grid; }
.grid-cols-1{ grid-template-columns: repeat(1,minmax(0,1fr)); }
.md\:grid-cols-2{ grid-template-columns: repeat(1,minmax(0,1fr)); }
.md\:grid-cols-3{ grid-template-columns: repeat(1,minmax(0,1fr)); }
.md\:col-span-2{ grid-column: span 1 / span 1; }
@media (min-width: 768px){
  .md\:grid-cols-2{ grid-template-columns: repeat(2,minmax(0,1fr)); }
  .md\:grid-cols-3{ grid-template-columns: repeat(3,minmax(0,1fr)); }
  .md\:col-span-2{ grid-column: span 2 / span 2; }
}

/* Spacing */
.p-2{ padding:8px; }
.p-4{ padding:16px; }
.p-6{ padding:24px; }
.m-2{ margin:8px; }
.mt-2{ margin-top:8px; }
.mt-3{ margin-top:12px; }
.mt-4{ margin-top:16px; }
.mb-2{ margin-bottom:8px; }
.mb-3{ margin-bottom:12px; }
.mb-4{ margin-bottom:16px; }
.mb-6{ margin-bottom:24px; }
.py-6{ padding-top:24px; padding-bottom:24px; }

/* Typography */
.text-xs{ font-size:.75rem; }
.text-sm{ font-size:.875rem; }
.text-xl{ font-size:1.25rem; }
.font-semibold{ font-weight:600; }
.font-bold{ font-weight:700; }
.text-gray-500{ color: var(--muted); }

/* Basics */
.bg-app{ background: var(--bg-app); }
.antialiased{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }

.border{ border:1px solid var(--border); }
.rounded-lg{ border-radius:14px; }

/* Form base */
input,select,textarea,button{ font:inherit; }
input,select,textarea{
  width:100%;
  border:1px solid var(--border);
  border-radius:14px;
  padding:12px 14px;
  outline:none;
  background: rgba(255,255,255,.82);
}
textarea{ resize:vertical; min-height:120px; }
input:disabled{
  opacity:.7;
  cursor:not-allowed;
}

/* HR helper */
.hr{ height:1px; background: var(--border); width:100%; }
