@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&family=Roboto+Slab:wght@700&display=swap');
:root {
    --golf-green-deep: #04471C;
    --golf-green-light: #D4E9D7;
    --golf-sand-beige: #F0EAD6;
    --golf-card-white: #FFFFFF;
    --golf-sky-blue: #87CEEB;
    --golf-text-dark: #2C3E50;
    --golf-text-light: #7F8C8D;
    --dimple-svg: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23d9d5c7' fill-opacity='0.4' fill-rule='evenodd'%3E%3Ccircle cx='20' cy='20' r='3'/%3E%3C/g%3E%3C/svg%3E");
}

body {
    font-family: 'Inter', sans-serif;
    background-color: var(--golf-sand-beige);
    background-image: var(--dimple-svg);
    color: var(--golf-text-dark);
}
.branded-title {
    font-family: 'Roboto Slab', serif;
}
#scorecard-tables-container th, #scorecard-tables-container td {
    padding: 0.5rem 0.25rem;
    text-align: center;
    font-size: 0.875rem;
}
.total-header, .grand-total-header {
    font-weight: 900; /* Heavier font weight */
    font-size: 1.1rem; /* Slightly larger font size */
    background-color: var(--golf-green-light);
    color: var(--golf-green-deep);
}
.out-total, .in-total, .grand-total {
    font-weight: 800; /* Bolder */
    background-color: #E9E7DB;
}
#grand-total-status {
    font-weight: 900; /* Bolder */
}
.score-under-par {
    color: red;
}
.score-over-par {
    color: blue;
}
.no-calc-total {
    background-color: var(--golf-card-white);
    color: #ccc;
    font-weight: 500;
}
.score-row-data {
    background-color: #FEFDD5;
}
.sticky-label {
    position: sticky;
    left: 0;
    background-color: var(--golf-card-white);
    z-index: 10;
}
.static-display {
    display: block;
    font-weight: 700;
    font-size: 1.125rem;
    color: var(--golf-text-dark);
}
.table-input {
    width: 100%;
    text-align: center;
    padding: 0.1rem 0;
    border: 1px solid transparent;
    border-radius: 0.25rem;
    transition: border-color 0.15s;
    font-size: 0.875rem;
    font-weight: 500;
    background-color: transparent;
}
.table-input:focus {
    border-color: var(--golf-sky-blue);
    outline: none;
    background-color: var(--golf-card-white);
}
.score-display-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 36px;
    position: relative;
}
.score-bogey { border: 1px solid var(--golf-text-dark); border-radius: 4px; width: 28px; height: 28px; margin: 0 auto; }
.score-double-bogey { border: 1px solid var(--golf-text-dark); border-radius: 4px; width: 28px; height: 28px; margin: 0 auto; position: relative; }
.score-double-bogey::after { content: ''; position: absolute; top: -4px; left: -4px; right: -4px; bottom: -4px; border: 1px solid var(--golf-text-dark); border-radius: 6px; }
.score-birdie { border: 1px solid var(--golf-text-dark); border-radius: 50%; width: 28px; height: 28px; margin: 0 auto; }
.score-eagle { border: 1px solid var(--golf-text-dark); border-radius: 50%; width: 28px; height: 28px; margin: 0 auto; position: relative; }
.score-eagle::after { content: ''; position: absolute; top: -4px; left: -4px; right: -4px; bottom: -4px; border: 1px solid var(--golf-text-dark); border-radius: 50%; }

.action-button {
    border-radius: 0.5rem; /* More rounded corners */
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    transition: all 0.2s ease-in-out;
}
.action-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}
.action-button:disabled {
    transform: none;
    box-shadow: none;
}