:root{
  --bg:#fff8ed;
  --surface:#ffffff;
  --surface-soft:#f6ead4;
  --text:#1f1a17;
  --muted:#6b5f52;
  --green:#075c3b;
  --green-dark:#043b27;
  --gold:#d8a63a;
  --gold-soft:#fff1d6;
  --red:#b3261e;
  --border:#e8d8bc;
  --shadow:0 16px 42px rgba(31,26,23,.10);
  --radius:22px;
  --container:1160px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:
    radial-gradient(900px 420px at 8% 0%, rgba(216,166,58,.20), transparent 60%),
    radial-gradient(900px 520px at 100% 8%, rgba(7,92,59,.10), transparent 55%),
    var(--bg);
  color:var(--text);
  line-height:1.55;
}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:none}
img{max-width:100%}
.container{width:min(var(--container),92%);margin:0 auto}.site-main{padding:24px 0 42px}

.site-header{position:sticky;top:0;z-index:100;background:rgba(255,248,237,.90);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0;position:relative}.brand{display:flex;align-items:center;gap:12px;min-width:0}.site-logo{width:54px;height:54px;object-fit:cover;border-radius:50%;background:white;border:2px solid var(--gold);box-shadow:0 8px 22px rgba(31,26,23,.12)}.brand-text{display:flex;flex-direction:column;min-width:0}.brand-title{font-weight:900;color:var(--green-dark);font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-subtitle{font-size:12px;color:var(--muted);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navlinks{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.navlinks a{color:var(--green-dark);font-weight:800;font-size:14px;padding:9px 12px;border-radius:999px}.navlinks a:hover,.navlinks a.admin-link{background:var(--gold-soft);color:var(--green-dark)}.nav-toggle{display:none;border:1px solid var(--border);background:var(--surface);border-radius:14px;width:46px;height:46px;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:4px}.nav-toggle span{display:block;width:22px;height:2px;background:var(--green-dark);border-radius:2px}

h1,h2,h3{margin:0 0 10px;line-height:1.12}h1{font-size:clamp(34px,4.5vw,58px);letter-spacing:-.04em}h2{font-size:clamp(24px,2.4vw,34px)}h3{font-size:20px}p{margin:0 0 12px;color:var(--muted)}.lead{font-size:20px;color:#4b4037}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:900;font-size:12px;color:var(--red);margin-bottom:8px}.muted{color:var(--muted)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:11px 16px;background:var(--green);color:white;font-weight:900;cursor:pointer;box-shadow:0 12px 24px rgba(7,92,59,.18)}.btn:hover{filter:brightness(1.04)}.btn.secondary{background:var(--surface);color:var(--green-dark);border:1px solid var(--border);box-shadow:none}.btn.danger{background:var(--red);color:white}.btn.light{background:rgba(255,255,255,.92);color:var(--green-dark)}.action-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.action-row.small .btn{padding:9px 12px;font-size:14px}

.panel,.card{background:rgba(255,255,255,.92);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;margin-bottom:18px}.warm-panel{background:linear-gradient(145deg,var(--gold-soft),#fff)}.notice-box,.paid-message{background:var(--gold-soft);border:1px solid #efd39a;border-left:5px solid var(--gold);border-radius:18px;padding:16px;margin:12px 0}.success-panel{border-left:6px solid var(--green)}

.home-hero{display:grid;grid-template-columns:1.1fr .85fr;gap:28px;align-items:center;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(246,234,212,.88));border:1px solid var(--border);border-radius:32px;padding:38px;box-shadow:var(--shadow);overflow:hidden;position:relative}.home-hero:before{content:"";position:absolute;right:-130px;bottom:-150px;width:430px;height:430px;border-radius:50%;border:46px solid rgba(7,92,59,.08)}.hero-copy{position:relative;z-index:1}.hero-logo-card{position:relative;z-index:1;display:flex;justify-content:center}.hero-logo-card img{max-height:380px;filter:drop-shadow(0 18px 26px rgba(31,26,23,.18))}.page-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,var(--green),var(--green-dark));color:white;border-radius:30px;padding:32px;margin-bottom:22px;overflow:hidden;box-shadow:var(--shadow)}.page-hero p{color:rgba(255,255,255,.86)}.page-hero .eyebrow{color:var(--gold-soft)}.page-hero.slim h1{font-size:clamp(30px,3.4vw,44px)}.page-hero-logo{width:210px;height:210px;object-fit:contain;background:white;border-radius:50%;padding:8px}

.section-block{margin-top:28px}.section-heading{margin-bottom:16px}.section-heading.split{display:flex;justify-content:space-between;align-items:end;gap:16px}.event-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.event-card{background:var(--surface);border:1px solid var(--border);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.event-card-image{height:190px;background-size:cover;background-position:center;background-color:var(--gold-soft)}.event-card-body{padding:18px}.event-card-topline{display:flex;justify-content:space-between;gap:8px;align-items:center;color:var(--red);font-weight:900;font-size:13px;margin-bottom:8px}.status-pill{background:var(--gold-soft);color:var(--green-dark);border:1px solid #eed296;border-radius:999px;padding:4px 8px}.featured-card{grid-column:span 2}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.feature-card{background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:20px;box-shadow:var(--shadow);display:block}.feature-card span{font-size:34px}.feature-card p{margin-bottom:0}.memory-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.memory-strip img{width:100%;height:170px;object-fit:cover;border-radius:20px;box-shadow:var(--shadow)}

.content-grid{display:grid;gap:18px}.content-grid.two-one{grid-template-columns:2fr 1fr}.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:1fr 1fr}.form-row{display:grid;gap:10px}label{font-weight:900;color:var(--green-dark)}input,textarea,select{width:100%;border:1px solid var(--border);border-radius:16px;background:#fff;padding:13px 14px;font:inherit;color:var(--text)}textarea{min-height:130px;resize:vertical}input:focus,textarea:focus,select:focus{outline:3px solid rgba(216,166,58,.25);border-color:var(--gold)}.required{color:var(--red);font-size:12px}.check-row{display:flex;gap:10px;align-items:center}.check-row input{width:auto}.suggestion-chips{display:flex;flex-wrap:wrap;gap:8px}.suggestion-chips button{border:1px solid var(--border);background:var(--gold-soft);color:var(--green-dark);border-radius:999px;padding:8px 10px;font-weight:800;cursor:pointer}.validation-summary{background:#fff0ef;border:1px solid #f1b8b4;color:var(--red);border-radius:16px;padding:12px}

.register-hero,.event-detail-hero,.admin-event-banner{min-height:260px;border-radius:30px;margin-bottom:18px;overflow:hidden;background-image:linear-gradient(90deg,rgba(4,59,39,.90),rgba(4,59,39,.54)),var(--event-image);background-size:cover;background-position:center;display:flex;align-items:end;padding:30px;color:white;box-shadow:var(--shadow)}.register-hero p,.event-detail-hero p,.admin-event-banner p{color:rgba(255,255,255,.88)}.register-hero .eyebrow,.event-detail-hero .eyebrow,.admin-event-banner .eyebrow{color:var(--gold-soft)}.register-hero-content,.event-detail-content{max-width:760px}.event-side-card img{width:135px;height:135px;object-fit:contain;margin-bottom:12px}.admin-toolbar{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap}.copy-box{display:flex;gap:10px}.copy-box input{font-size:14px}

.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:13px 12px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}.table th{color:var(--green-dark);background:var(--gold-soft);font-weight:900}.clean-table tr:hover td{background:#fffdf8}.admin-event-list{display:grid;gap:16px}.admin-event-card{display:grid;grid-template-columns:220px 1fr;background:var(--surface);border:1px solid var(--border);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.admin-event-thumb{background-size:cover;background-position:center;min-height:180px;background-color:var(--gold-soft)}.admin-event-body{padding:18px}.admin-grid .admin-card:hover{transform:translateY(-2px)}

.gallery,.event-photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.photo,.event-photo{border:1px solid var(--border);border-radius:20px;overflow:hidden;background:white;box-shadow:var(--shadow);padding:0;cursor:pointer;text-align:left}.photo img,.event-photo img{width:100%;height:190px;object-fit:cover;display:block}.photo .meta{padding:12px}.meta .title{font-weight:900;color:var(--green-dark)}.meta .time{color:var(--muted);font-size:13px}.event-video-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.video-card{border:1px solid var(--border);border-radius:20px;overflow:hidden;background:white}.video-title{padding:12px 14px;font-weight:900}.video-embed{aspect-ratio:16/9}.video-embed iframe{width:100%;height:100%;display:block;border:0}

.badge{display:inline-flex;align-items:center;gap:6px;background:var(--gold-soft);border:1px solid var(--border);border-radius:999px;padding:8px 10px;font-weight:800;color:var(--green-dark)}.nice-list{padding-left:20px}.nice-list li{margin:10px 0}.year-filter{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.site-footer{background:var(--green-dark);color:white;padding:28px 0;margin-top:34px}.site-footer p,.site-footer div{color:rgba(255,255,255,.80)}.footer-grid{display:flex;justify-content:space-between;gap:18px;align-items:center}

.lightbox{position:fixed;inset:0;display:none;z-index:9999}.lightbox.open{display:block}.lightbox-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.74)}.lightbox-panel{position:relative;width:min(1000px,94vw);margin:5vh auto 0;background:white;border-radius:22px;padding:14px;box-shadow:0 30px 80px rgba(0,0,0,.45)}.lightbox-close{position:absolute;top:10px;right:10px;width:44px;height:44px;border-radius:50%;border:0;background:var(--green);color:white;font-size:30px;cursor:pointer}.lightbox-figure{margin:0}.lightbox-img{width:100%;max-height:78vh;object-fit:contain;border-radius:16px}.lightbox-caption{margin-top:8px;color:var(--muted)}

@media (max-width:980px){.home-hero,.content-grid.two-one{grid-template-columns:1fr}.event-card-grid,.feature-grid{grid-template-columns:repeat(2,1fr)}.gallery,.event-photo-grid,.memory-strip{grid-template-columns:repeat(2,1fr)}.admin-event-card{grid-template-columns:1fr}.admin-event-thumb{height:190px}.event-video-grid{grid-template-columns:1fr}}
@media (max-width:760px){.brand-subtitle{display:none}.brand-title{font-size:16px}.site-logo{width:46px;height:46px}.nav-toggle{display:flex}.navlinks{position:absolute;top:72px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;background:#fffaf1;border:1px solid var(--border);border-radius:20px;padding:12px;box-shadow:var(--shadow)}.navlinks.open{display:flex}.navlinks a{padding:12px 14px;background:white;border:1px solid var(--border)}.home-hero{padding:24px}.hero-logo-card img{max-height:260px}.page-hero{display:block}.page-hero-logo{margin-top:16px;width:160px;height:160px}.event-card-grid,.feature-grid,.gallery,.event-photo-grid,.memory-strip{grid-template-columns:1fr}.form-grid.two{grid-template-columns:1fr}.copy-box{display:grid}.footer-grid{display:block}.section-heading.split{display:block}.table{font-size:14px}.admin-toolbar{display:block}.admin-toolbar .action-row{margin-top:10px}}
.grid{display:grid;gap:14px}.form-panel{max-width:980px}.story-panel p{font-size:17px}.admin-card{color:inherit}.admin-card:hover{box-shadow:0 20px 50px rgba(31,26,23,.14)}
@media (max-width:760px){.grid[style*="grid-template-columns"]{grid-template-columns:1fr!important}}


.activity-options {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 8px 0;
}

.activity-chip {
    border: 1px solid var(--border);
    background: var(--surface-soft);
    color: var(--green-dark);
    padding: 8px 12px;
    border-radius: 999px;
    cursor: pointer;
    font-weight: 700;
    transition: 0.15s ease;
}

    .activity-chip:hover,
    .activity-chip.selected {
        background: var(--green);
        color: #fff;
        border-color: var(--green);
    }

.validation-summary {
    border: 1px solid rgba(179, 38, 30, 0.25);
    background: rgba(179, 38, 30, 0.08);
    color: var(--red);
    padding: 12px;
    border-radius: 14px;
    margin-bottom: 12px;
}

    .validation-summary ul {
        margin: 0;
        padding-left: 18px;
    }

.required {
    color: var(--red);
    font-size: 12px;
    font-weight: 700;
}


.activity-options {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 8px 0;
}

.activity-chip {
    border: 1px solid var(--border);
    background: var(--surface-soft);
    color: var(--green-dark);
    padding: 8px 12px;
    border-radius: 999px;
    cursor: pointer;
    font-weight: 700;
    transition: 0.15s ease;
}

    .activity-chip:hover,
    .activity-chip.selected {
        background: var(--green);
        color: #fff;
        border-color: var(--green);
    }

.validation-summary {
    border: 1px solid rgba(179, 38, 30, 0.25);
    background: rgba(179, 38, 30, 0.08);
    color: var(--red);
    padding: 12px;
    border-radius: 14px;
    margin-bottom: 12px;
}

    .validation-summary ul {
        margin: 0;
        padding-left: 18px;
    }

.required {
    color: var(--red);
    font-size: 12px;
    font-weight: 700;
}

.terms-box {
    border: 1px solid var(--border);
    background: var(--surface-soft);
    border-radius: 18px;
    padding: 14px;
}

    .terms-box h3 {
        margin: 0 0 8px;
    }

    .terms-box summary {
        cursor: pointer;
        font-weight: 800;
        color: var(--green-dark);
        margin-top: 8px;
    }

.terms-text {
    margin-top: 10px;
    white-space: pre-line;
    color: var(--text);
    line-height: 1.65;
}

    .terms-text.large {
        font-size: 16px;
    }

.stats-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 16px 0;
}

.stat-box {
    min-width: 120px;
    border: 1px solid var(--border);
    background: var(--surface-soft);
    border-radius: 16px;
    padding: 14px;
}

    .stat-box strong {
        display: block;
        font-size: 28px;
        color: var(--green-dark);
    }

    .stat-box span {
        color: var(--muted);
        font-weight: 700;
    }

.status-pill {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 5px 9px;
    font-size: 12px;
    font-weight: 800;
    background: var(--surface-soft);
    color: var(--green-dark);
}

    .status-pill.success {
        background: rgba(7, 92, 59, 0.12);
        color: var(--green-dark);
    }

.btn.danger {
    background: var(--red);
    color: #fff;
}

.btn.small {
    padding: 7px 10px;
    font-size: 13px;
}

.link-button {
    border: 0;
    background: transparent;
    color: var(--red);
    cursor: pointer;
    font-weight: 800;
    padding: 5px 0;
}

.admin-card-list {
    display: grid;
    gap: 14px;
}

.admin-event-card {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 16px;
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 12px;
    background: #fff;
}

.admin-event-thumb {
    min-height: 120px;
    border-radius: 16px;
    background-size: cover;
    background-position: center;
    background-color: var(--surface-soft);
}

.admin-event-main h2 {
    margin-top: 0;
}

.action-row.wrap {
    flex-wrap: wrap;
}

.table-scroll {
    overflow-x: auto;
}

.admin-table {
    width: 100%;
    border-collapse: collapse;
}

    .admin-table th,
    .admin-table td {
        border-bottom: 1px solid var(--border);
        padding: 10px;
        text-align: left;
        vertical-align: top;
    }

    .admin-table th {
        color: var(--green-dark);
        font-size: 13px;
    }

@media (max-width: 720px) {
    .admin-event-card {
        grid-template-columns: 1fr;
    }

    .admin-event-thumb {
        min-height: 180px;
    }
}

/* Admin interested members table improvements */
.registration-table tbody tr:nth-child(even) td {
    background: #f6f1e8;
}

.registration-table tbody tr:nth-child(odd) td {
    background: #ffffff;
}

.registration-table tbody tr:hover td {
    background: #fff7e6;
}

.status-action-cell {
    min-width: 120px;
}

.status-action-stack {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 9px;
}

    .status-action-stack form {
        margin: 0;
    }

.link-button {
    border: 0;
    background: transparent;
    color: var(--red);
    cursor: pointer;
    font-weight: 900;
    padding: 4px 0;
    margin-top: 2px;
}

.btn.small {
    padding: 8px 12px;
    font-size: 13px;
    white-space: nowrap;
}

/* Public event interested count */
.interest-pill {
    background: rgba(7, 92, 59, 0.10);
    border-color: rgba(7, 92, 59, 0.20);
    color: var(--green-dark);
    white-space: nowrap;
}

.event-meta-row {
    align-items: flex-start;
}

.event-location {
    color: var(--green-dark);
    font-weight: 800;
    margin-top: -4px;
}

.event-card-actions {
    margin-top: 14px;
}

/* Better mobile for registration table */
@media (max-width: 760px) {
    .admin-event-banner {
        min-height: 210px;
        padding: 22px;
        border-radius: 22px;
    }

        .admin-event-banner h1 {
            font-size: 28px;
            line-height: 1.1;
        }

    .stats-row {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .stat-box {
        width: 100%;
    }

    .filter-row {
        display: grid;
        grid-template-columns: 1fr;
    }

        .filter-row .btn {
            width: 100%;
        }

    .table-wrap {
        overflow: visible;
    }

    .mobile-card-table {
        border-collapse: separate;
        border-spacing: 0 12px;
    }

        .mobile-card-table thead {
            display: none;
        }

        .mobile-card-table,
        .mobile-card-table tbody,
        .mobile-card-table tr,
        .mobile-card-table td {
            display: block;
            width: 100%;
        }

            .mobile-card-table tr {
                border: 1px solid var(--border);
                border-radius: 18px;
                overflow: hidden;
                background: #fff;
                box-shadow: 0 8px 22px rgba(31, 26, 23, 0.07);
            }

            .mobile-card-table tbody tr:nth-child(even) {
                background: #f6f1e8;
            }

                .mobile-card-table tbody tr:nth-child(even) td {
                    background: #f6f1e8;
                }

            .mobile-card-table tbody tr:nth-child(odd) td {
                background: #fff;
            }

            .mobile-card-table td {
                border-bottom: 1px solid var(--border);
                padding: 10px 12px;
                display: grid;
                grid-template-columns: 120px 1fr;
                gap: 10px;
                align-items: start;
            }

                .mobile-card-table td:last-child {
                    border-bottom: 0;
                }

                .mobile-card-table td::before {
                    content: attr(data-label);
                    color: var(--green-dark);
                    font-weight: 900;
                    font-size: 13px;
                }

    .status-action-stack {
        gap: 8px;
    }

    .status-action-cell form {
        margin: 0;
    }

    .status-action-cell .btn.small {
        width: fit-content;
    }

    .copy-box {
        grid-template-columns: 1fr;
    }

        .copy-box .btn {
            width: 100%;
        }

    .public-events-grid {
        grid-template-columns: 1fr;
    }

    .public-event-card .event-card-image {
        height: 210px;
    }

    .event-meta-row {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .interest-pill {
        width: fit-content;
    }

    .event-card-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

        .event-card-actions .btn {
            width: 100%;
        }
}

/* Better admin event cards on mobile too */
@media (max-width: 760px) {
    .admin-event-card {
        grid-template-columns: 1fr;
    }

    .admin-event-thumb {
        min-height: 210px;
    }

    .admin-event-body .action-row {
        display: grid;
        grid-template-columns: 1fr;
    }

        .admin-event-body .action-row .btn,
        .admin-event-body .action-row form,
        .admin-event-body .action-row button {
            width: 100%;
        }

    .mini-stats-row {
        display: grid;
        grid-template-columns: 1fr;
    }

        .mini-stats-row span {
            text-align: center;
        }
}

/* Admin event counts */
.admin-event-counts {
    display: grid;
    grid-template-columns: repeat(3, minmax(90px, 1fr));
    gap: 10px;
    margin: 14px 0;
}

.admin-count-card {
    display: block;
    text-decoration: none;
    border: 1px solid var(--border);
    background: var(--surface-soft);
    border-radius: 16px;
    padding: 12px;
    color: var(--text);
}

    .admin-count-card strong {
        display: block;
        font-size: 24px;
        color: var(--green-dark);
        line-height: 1;
    }

    .admin-count-card span {
        display: block;
        margin-top: 5px;
        color: var(--muted);
        font-weight: 800;
        font-size: 13px;
    }

    .admin-count-card:hover {
        background: var(--gold-soft);
        border-color: var(--gold);
    }

/* Interested members table */
.registration-table tbody tr:nth-child(even) td {
    background: #f6f1e8;
}

.registration-table tbody tr:nth-child(odd) td {
    background: #ffffff;
}

.registration-table tbody tr:hover td {
    background: #fff7e6;
}

.status-action-cell {
    min-width: 130px;
}

.status-action-stack {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

    .status-action-stack form {
        margin: 0;
    }

.link-button {
    border: 0;
    background: transparent;
    color: var(--red);
    cursor: pointer;
    font-weight: 900;
    padding: 5px 0;
    margin-top: 2px;
}

.btn.small {
    padding: 8px 12px;
    font-size: 13px;
    white-space: nowrap;
}

.focus-row td {
    outline: 2px solid rgba(216, 166, 58, 0.35);
}

.focus-row-active td {
    animation: focusRowFlash 1.5s ease;
}

@keyframes focusRowFlash {
    0% {
        background: #fff1d6;
    }

    100% {
        background: inherit;
    }
}

/* Mobile layout for admin event cards and registration table */
@media (max-width: 760px) {
    .admin-event-card {
        grid-template-columns: 1fr;
    }

    .admin-event-thumb {
        min-height: 210px;
    }

    .admin-event-counts {
        grid-template-columns: 1fr;
    }

    .admin-event-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

        .admin-event-actions .btn,
        .admin-event-actions form,
        .admin-event-actions button {
            width: 100%;
        }

    .stats-row {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .stat-box {
        width: 100%;
    }

    .filter-row {
        display: grid;
        grid-template-columns: 1fr;
    }

        .filter-row .btn {
            width: 100%;
        }

    .table-wrap {
        overflow: visible;
    }

    .mobile-card-table {
        border-collapse: separate;
        border-spacing: 0 12px;
    }

        .mobile-card-table thead {
            display: none;
        }

        .mobile-card-table,
        .mobile-card-table tbody,
        .mobile-card-table tr,
        .mobile-card-table td {
            display: block;
            width: 100%;
        }

            .mobile-card-table tr {
                border: 1px solid var(--border);
                border-radius: 18px;
                overflow: hidden;
                background: #fff;
                box-shadow: 0 8px 22px rgba(31, 26, 23, 0.07);
            }

            .mobile-card-table tbody tr:nth-child(even) td {
                background: #f6f1e8;
            }

            .mobile-card-table tbody tr:nth-child(odd) td {
                background: #fff;
            }

            .mobile-card-table td {
                border-bottom: 1px solid var(--border);
                padding: 10px 12px;
                display: grid;
                grid-template-columns: 125px 1fr;
                gap: 10px;
                align-items: start;
            }

                .mobile-card-table td:last-child {
                    border-bottom: 0;
                }

                .mobile-card-table td::before {
                    content: attr(data-label);
                    color: var(--green-dark);
                    font-weight: 900;
                    font-size: 13px;
                }

    .copy-box {
        grid-template-columns: 1fr;
    }

        .copy-box .btn {
            width: 100%;
        }
}

/* Registration search */
.registration-search-box {
    margin: 14px 0 18px;
    padding: 14px;
    border: 1px solid var(--border);
    background: var(--surface-soft);
    border-radius: 18px;
}

.registration-search-row {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 10px;
    align-items: center;
}

    .registration-search-row input {
        width: 100%;
    }

/* Registration bottom total */
.registration-bottom-summary {
    margin-top: 16px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
    border-top: 1px solid var(--border);
    padding-top: 14px;
}

    .registration-bottom-summary > div {
        min-width: 150px;
        border: 1px solid var(--border);
        background: var(--gold-soft);
        border-radius: 16px;
        padding: 12px;
        text-align: center;
    }

    .registration-bottom-summary strong {
        display: block;
        color: var(--green-dark);
        font-size: 26px;
        line-height: 1;
    }

    .registration-bottom-summary span {
        display: block;
        margin-top: 5px;
        color: var(--muted);
        font-weight: 800;
        font-size: 13px;
    }

@media (max-width: 760px) {
    .registration-search-row {
        grid-template-columns: 1fr;
    }

        .registration-search-row .btn {
            width: 100%;
        }

    .registration-bottom-summary {
        display: grid;
        grid-template-columns: 1fr;
    }

        .registration-bottom-summary > div {
            width: 100%;
        }
}

.registration-search-box {
    margin: 14px 0 18px;
    padding: 14px;
    border: 1px solid var(--border);
    background: var(--surface-soft);
    border-radius: 18px;
}

.registration-search-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    align-items: center;
}

    .registration-search-row input {
        width: 100%;
    }

.registration-bottom-summary {
    margin-top: 16px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
    border-top: 1px solid var(--border);
    padding-top: 14px;
}

    .registration-bottom-summary > div {
        min-width: 150px;
        border: 1px solid var(--border);
        background: var(--gold-soft);
        border-radius: 16px;
        padding: 12px;
        text-align: center;
    }

    .registration-bottom-summary strong {
        display: block;
        color: var(--green-dark);
        font-size: 26px;
        line-height: 1;
    }

    .registration-bottom-summary span {
        display: block;
        margin-top: 5px;
        color: var(--muted);
        font-weight: 800;
        font-size: 13px;
    }

@media (max-width: 760px) {
    .registration-search-row {
        grid-template-columns: 1fr;
    }

        .registration-search-row .btn {
            width: 100%;
        }

    .registration-bottom-summary {
        display: grid;
        grid-template-columns: 1fr;
    }

        .registration-bottom-summary > div {
            width: 100%;
        }
}