:root{
--bg: #f5f7fa;
--surface: #ffffff;
--muted: #6b7280;
--text: #111827;
--primary: #4CAF50; /* same green palette */
--primary-600: #3d8b40;
--accent: #0ea5e9;
--danger: #ef4444;
--radius: 12px;
--card-radius: 14px;
--shadow-sm: 0 4px 12px rgba(16,24,40,0.06);
--shadow-md: 0 10px 30px rgba(16,24,40,0.08);
--gap: 16px;
--max-width: 1200px;
}


/* Reset + base */
*{box-sizing:border-box}
html,body{height:100%;margin:0;background:var(--bg);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,'Helvetica Neue',Arial;color:var(--text);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.container{max-width:var(--max-width);margin:0 auto;padding:20px}


/* Typography */
h1,h2,h3,h4{margin:0;color:var(--text)}
p{color:var(--muted);margin:0}


/* Utilities */
.hidden{display:none}
.center{text-align:center}
.muted{color:var(--muted)}


/* Buttons */
.btn{background:var(--primary);color:#fff;padding:10px 14px;border-radius:10px;border:0;font-weight:700;cursor:pointer}
.btn.ghost{background:transparent;color:var(--primary);border:1px solid rgba(76,175,80,0.12)}
.btn.small{padding:6px 10px;font-size:14px}


/* Inputs */
.input{padding:10px 12px;border-radius:10px;border:1px solid #e6eef6;background:var(--surface);width:100%}
select.input{appearance:none}


/* Cards */
.card{background:var(--surface);border-radius:var(--card-radius);padding:18px;box-shadow:var(--shadow-sm)}
.card.pad-lg{padding:28px}


/* Layout helpers */
.row{display:flex;gap:12px;align-items:center}
.col{display:flex;flex-direction:column;gap:12px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media(max-width:900px){.grid-2{grid-template-columns:1fr}}