/* Modern replacement for the legacy Content/Site.css — same base palette
   (black top border, light-blue accent) carried over, jQuery UI theme
   dependency dropped. */

:root {
    --pg-accent: #a6dbed;
    --pg-text: #333;
    --pg-border-top: #000;
}

* { box-sizing: border-box; }

body {
    background-color: #fff;
    border-top: solid 8px var(--pg-border-top);
    color: var(--pg-text);
    font-family: "Segoe UI", Verdana, Helvetica, Arial, sans-serif;
    font-size: 15px;
    margin: 0;
    line-height: 1.5;
}

.content-wrapper {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 1.25rem;
}

a { color: #1a5276; text-decoration: none; }
a:hover { text-decoration: underline; }

header {
    background-color: #f4f4f4;
    border-bottom: 1px solid #ddd;
    padding: 1rem 0;
}

header .left {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.site-title img { max-width: 340px; height: auto; }

#loginBody { text-align: right; }

#login ul, nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

nav ul { margin-top: 0.5rem; justify-content: flex-end; }

nav a {
    padding: 0.25rem 0.5rem;
    border-radius: 3px;
}

nav a:hover { background-color: var(--pg-accent); text-decoration: none; }

.link-button {
    background: none;
    border: none;
    color: #1a5276;
    cursor: pointer;
    padding: 0;
    font: inherit;
    text-decoration: underline;
}

main { padding: 2rem 0; min-height: 50vh; }

footer {
    border-top: 1px solid #ddd;
    color: #777;
    font-size: 0.85rem;
    padding: 1rem 0;
    margin-top: 2rem;
}

table.data-grid {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 1.5rem;
    font-size: 0.9rem;
}

table.data-grid caption {
    text-align: left;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

table.data-grid th, table.data-grid td {
    border: 1px solid #ddd;
    padding: 0.4rem 0.6rem;
    text-align: left;
}

table.data-grid th {
    background-color: var(--pg-accent);
}

table.data-grid tr:nth-child(even) { background-color: #f9f9f9; }

.form-group { margin-bottom: 1rem; max-width: 420px; }
.form-group label { display: block; font-weight: 600; margin-bottom: 0.25rem; }
.form-group input {
    width: 100%;
    padding: 0.5rem;
    border: 1px solid #ccc;
    border-radius: 3px;
}

.btn {
    display: inline-block;
    background-color: var(--pg-border-top);
    color: #fff;
    border: none;
    padding: 0.6rem 1.25rem;
    border-radius: 3px;
    cursor: pointer;
}
.btn:hover { background-color: #333; }

.error-message { color: #b00020; margin-bottom: 1rem; }
.field-validation-error { color: #b00020; font-size: 0.85rem; }

.filter-bar {
    display: flex;
    gap: 1rem;
    align-items: flex-end;
    flex-wrap: wrap;
    margin-bottom: 1.5rem;
}

/* Honeypot field — hidden from real users, still present in the DOM/tab
   order-avoidant way for bots that fill in every field. See
   Views/Account/Register.cshtml and Services/BotGuard.cs. */
.hp-field {
    position: absolute;
    left: -9999px;
    top: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* Carried over from Default.aspx's inline <style> block for the
   "Golf Prediction Model" home page explainer. */
.stat { margin-bottom: 15px; }
.stat-name { font-weight: bold; color: #3498db; }

/* Predictor page: weight inputs kept narrow since they're capped 0-100. */
.weight-input { width: 5rem; }

/* Register page: "what you get with an account" feature list — same
   visual language as .stat/.stat-name above, distinct class since it's a
   different page/purpose. */
.feature { margin-bottom: 15px; }
.feature-name { font-weight: bold; color: #3498db; }
