/* Base visual system for web (mobile + desktop) without external utility framework dependency */
:root {
  --cs-primary: #556B2F;
  --cs-primary-hover: #6B8E23;
  --cs-text: #0f172a;
  --cs-muted: #475569;
  --cs-border: #e2e8f0;
  --cs-bg: #f8fafc;
  --cs-surface: #ffffff;
}

html, body {
  margin: 0;
  padding: 0;
}

body {
  background: var(--cs-bg);
  color: var(--cs-text);
}

.h-full{height:100%}.min-h-screen{min-height:100vh}.h-screen{height:100vh}
.w-full{width:100%}.w-auto{width:auto}.max-w-md{max-width:28rem}
.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}
.flex-col{flex-direction:column}.flex-1{flex:1 1 0%}.grow{flex-grow:1}
.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}
.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}
.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}
.inset-0{inset:0}.top-0{top:0}.left-0{left:0}.z-10{z-index:10}
.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}
.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-5{margin-top:1.25rem}.mt-8{margin-top:2rem}
.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}
.p-4{padding:1rem}.p-6{padding:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}
.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}
.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-5>*+*{margin-top:1.25rem}
.border{border:1px solid var(--cs-border)}.border-b{border-bottom:1px solid var(--cs-border)}.border-r{border-right:1px solid var(--cs-border)}
.rounded-md{border-radius:.375rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}
.bg-white{background:#fff}.bg-slate-50{background:#f8fafc}.bg-slate-100{background:#f1f5f9}
.text-white{color:#fff}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-2xl{font-size:1.5rem}.text-5xl{font-size:3rem}
.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}
.text-center{text-align:center}
.shadow-sm{box-shadow:0 1px 2px rgba(15,23,42,.08)}.shadow-2xl{box-shadow:0 25px 50px -12px rgba(15,23,42,.25)}
.transition-colors{transition:color .2s, background-color .2s, border-color .2s}
.bg-cover{background-size:cover}.bg-center{background-position:center}

.text-slate-900{color:#0f172a}.text-slate-700{color:#334155}.text-slate-500{color:#64748b}
.border-slate-200{border-color:#e2e8f0}.border-slate-300{border-color:#cbd5e1}
.hover\:bg-slate-100:hover{background:#f1f5f9}.hover\:bg-slate-200:hover{background:#e2e8f0}

.bg-\[\#556B2F\]{background:#556B2F}.hover\:bg-\[\#6B8E23\]:hover{background:#6B8E23}
.text-\[\#1B4332\]{color:#1B4332}.text-\[\#2D3E2E\]\/75{color:rgba(45,62,46,.75)}
.border-\[\#74796D\]\/60{border-color:rgba(116,121,109,.6)}
.bg-\[\#F9FAEF\]\/95{background:rgba(249,250,239,.95)}

input, select, textarea, button {
  font: inherit;
}

@media (min-width: 640px){
  .sm\:h-auto{height:auto}.sm\:rounded-xl{border-radius:.75rem}.sm\:justify-center{justify-content:center}.sm\:p-4{padding:1rem}.sm\:p-6{padding:1.5rem}.sm\:max-h-24{max-height:6rem}
}

@media (min-width: 768px){
  .md\:p-12{padding:3rem}
}

@media (min-width: 1024px){
  .lg\:p-8{padding:2rem}.lg\:text-3xl{font-size:1.875rem}
}
