/* Classic dark green theme */
:root{
  --bg:#0a1a10;            /* deep green */
  --card:#0f2a17;          /* card green */
  --accent:#2fb16e;        /* golf green accent */
  --text:#f1fff6;          /* near white */
  --muted:#a5cdb6;         /* muted sage */
  --ok:#44d48e;
  --warn:#ffdd57;
  --border:#1c3b27;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,'Helvetica Neue',Arial,'Noto Sans',sans-serif;}

.site-header, .site-footer{padding:16px 24px;background:rgba(11,34,20,.7);backdrop-filter:saturate(140%) blur(6px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}
.site-footer{border-top:1px solid var(--border);border-bottom:none;text-align:center;color:var(--muted);position:static}
.brand{display:flex;gap:12px;align-items:center}
.logo-img{width:40px;height:40px;border-radius:10px;border:1px solid var(--border)}
.logo{font-weight:900;letter-spacing:2px;background:linear-gradient(90deg,#d8f3dc,#95d5b2,#2fb16e);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:28px}
.tagline{color:var(--muted);font-size:14px}
.nav{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.nav a{color:var(--text);text-decoration:none;padding:8px 10px;border-radius:10px}
.nav a:hover{background:#12361f}
.controls{margin-top:8px;color:var(--muted)}

.container{max-width:1100px;margin:24px auto;padding:0 24px}
.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:0 10px 30px rgba(0,0,0,.25);}
.grid{display:grid;gap:16px}
.grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
input,select,button,textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:#0b2216;color:var(--text);}
button{cursor:pointer;background:var(--accent);border:none;font-weight:700}
button.ghost{background:transparent;border:1px solid var(--border)}
label{display:block;margin:10px 0 6px;color:var(--muted)}
.table{width:100%;border-collapse:collapse;margin-top:8px}
.table th,.table td{border-bottom:1px solid var(--border);padding:10px 8px;text-align:left;font-size:14px}
.kpi{display:flex;gap:10px;align-items:center}
.kpi .num{font-size:28px;font-weight:900}
.badge{padding:4px 8px;border-radius:8px;font-size:12px;background:#0b2216;border:1px solid var(--border);color:var(--muted)}
.notice{padding:12px;border-left:4px solid var(--warn);background:#2a2a07;color:#f7f7ff;border-radius:8px}
.success{border-left-color:var(--ok);background:#0d2b1f}
hr{border:none;border-top:1px solid var(--border);margin:16px 0}
a.inline{color:#c0f2d7}
.score-input{width:64px}
.hole-grid{display:grid;grid-template-columns:40px 1fr 1fr 1fr 80px;gap:8px;align-items:center}
.hole-grid .head{font-weight:700;color:var(--muted)}
.total{display:flex;justify-content:flex-end;gap:12px;margin-top:12px;font-weight:900}
