/*
----------------------------------------------------
Wallaby Tails Caravan Club
Management System

Version 1.0
----------------------------------------------------
*/

:root{
    --primary:#2563eb;
    --primary-dark:#1d4ed8;
    --success:#16a34a;
    --warning:#d97706;
    --danger:#b91c1c;
    --secondary:#6b7280;

    --background:#f7f7f7;
    --card:#ffffff;
    --border:#dddddd;

    --text:#222222;
    --muted:#666666;

    --radius:12px;
    --shadow:0 1px 3px rgba(0,0,0,.08);
}

*{
    box-sizing:border-box;
}

body{
    margin:0;
    font-family:Arial,Helvetica,sans-serif;
    background:var(--background);
    color:var(--text);
}

.container{
    max-width:1100px;
    margin:0 auto;
    padding:24px;
}

.card{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:20px;
    margin-bottom:18px;
    box-shadow:var(--shadow);
}

h1{
    margin-top:0;
    margin-bottom:12px;
    font-size:32px;
}

h2{
    margin-top:0;
    margin-bottom:14px;
    padding-bottom:8px;
    border-bottom:2px solid #e5e7eb;
    font-size:24px;
}

h3{
    margin-top:0;
    margin-bottom:10px;
    font-size:20px;
}

.muted{
    color:var(--muted);
}

/* ---------- Buttons ---------- */

.btn,
.action-link,
.action-button {
    display: inline-block;
    padding: 12px 18px;
    border-radius: 8px;
    text-decoration: none !important;
    font-weight: bold;
    cursor: pointer;
    border: none;
    appearance: none;
    -webkit-appearance: none;
}

.action-link,
.action-button,
.btn-primary{
    background:var(--primary);
    color:#fff !important;
}

.action-link:hover,
.action-button:hover,
.btn-primary:hover{
    background:var(--primary-dark);
    color:#fff !important;
}
/* ---------- Button Variants ---------- */

.btn-primary {
    background-color: var(--primary) !important;
    color: #fff !important;
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--primary-dark) !important;
    color: #fff !important;
    text-decoration: none !important;
}

.btn-secondary {
    background-color: var(--secondary) !important;
    color: #fff !important;
}

.btn-secondary:hover,
.btn-secondary:focus {
    background-color: #4b5563 !important;
    color: #fff !important;
    text-decoration: none !important;
}

.btn-success {
    background-color: var(--success) !important;
    color: #fff !important;
}

.btn-success:hover,
.btn-success:focus {
    background-color: #15803d !important;
    color: #fff !important;
    text-decoration: none !important;
}

.btn-warning {
    background-color: var(--warning) !important;
    color: #fff !important;
}

.btn-warning:hover,
.btn-warning:focus {
    background-color: #b45309 !important;
    color: #fff !important;
    text-decoration: none !important;
}

.btn-danger {
    background-color: var(--danger) !important;
    color: #fff !important;
}

.btn-danger:hover,
.btn-danger:focus {
    background-color: #991b1b !important;
    color: #fff !important;
    text-decoration: none !important;
}

.btn-small {
    padding: 8px 12px;
    font-size: 14px;
}
/* ---------- Forms ---------- */

label{
    display:block;
    margin-top:14px;
    margin-bottom:6px;
    font-weight:bold;
}

input,
select,
textarea{
    width:100%;
    padding:10px;
    border:1px solid #ccc;
    border-radius:6px;
    font-size:16px;
}

textarea{
    min-height:120px;
}

/* ---------- Tables ---------- */

table{
    width:100%;
    border-collapse:collapse;
}
/* ---------- Messages ---------- */

.success {
    padding: 12px;
    background: #dff0d8;
    border: 1px solid #b7ddb0;
    border-radius: 8px;
    margin-bottom: 16px;
}

.error {
    padding: 12px;
    background: #f8d7da;
    border: 1px solid #f1aeb5;
    border-radius: 8px;
    margin-bottom: 16px;
    color: #842029;
}

.notice-warning {
    padding: 12px;
    background: #fff3cd;
    border: 1px solid #ffe69c;
    border-radius: 8px;
    color: #856404;
}

.notice-danger {
    padding: 12px;
    background: #f8d7da;
    border: 1px solid #f1aeb5;
    border-radius: 8px;
    color: #842029;
}

/* ---------- Layout Helpers ---------- */

.button-row {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

.two-column-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0 18px;
}

.span-2 {
    grid-column: span 1;
}

.checkbox-row {
    margin: 14px 0;
}

.checkbox-row label {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    font-weight: normal;
}

.checkbox-row input {
    width: auto;
    margin: 0;
}

.helper {
    margin-top: 6px;
    color: var(--muted);
    font-size: 14px;
}

@media (min-width: 760px) {
    .two-column-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width: 900px) {
    .grid {
        grid-template-columns: 1fr 1fr;
    }

    .span-2 {
        grid-column: span 2;
    }
}
th,
td{
    border:1px solid #ddd;
    padding:10px;
    text-align:left;
}

th{
    background:#f3f4f6;
}