*{box-sizing:border-box}
:root{--bg:#071018;--panel:#0d1c29;--panel2:#102536;--border:#294256;--text:#e8edf2;--muted:#aebbc7;--gold:#d9b15f;--gold2:#f0d48a;--danger:#ef8585}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.5}
a{color:var(--gold2);text-decoration:none}a:hover{text-decoration:underline}
.site-shell{min-height:100vh}.public-main{max-width:1100px;margin:auto;padding:36px 20px 20px}
.public-footer{max-width:1100px;margin:auto;padding:30px 20px 40px;color:#8797a5;text-align:center;font-size:13px}.public-footer a{color:#fff}
.public-title{text-align:center;margin:0 0 8px;color:var(--gold2);font-size:34px}.public-intro{text-align:center;color:var(--muted);margin:0 auto 28px;max-width:760px}
.public-actions{text-align:center;margin:20px 0 35px}.button{display:inline-block;border:0;border-radius:7px;padding:11px 17px;background:var(--gold);color:#071018;font-weight:bold;cursor:pointer;text-decoration:none}.button:hover{background:var(--gold2);text-decoration:none}.button.secondary{background:#20384b;color:var(--text)}.button.danger{background:#5b2929;color:#ffd8d8}.button.small{padding:8px 11px;font-size:13px}
.date-group{margin-bottom:30px}.date-heading{border-bottom:1px solid var(--border);padding-bottom:8px;color:var(--gold2);font-size:22px}
.meetup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px}.card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:19px}.card h3{margin:0 0 10px;color:#fff}.meta{margin:7px 0;color:var(--muted)}.meta strong{color:var(--text)}
.empty{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:30px;text-align:center;color:var(--muted)}
.form-panel{max-width:760px;margin:auto;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:25px}
.form-group{margin-bottom:18px}.form-group label{display:block;font-weight:bold;margin-bottom:7px}
input,textarea,select{width:100%;background:#071018;color:#fff;border:1px solid #395267;border-radius:7px;padding:11px 12px;font:inherit}textarea{min-height:130px;resize:vertical}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--gold)}
.help{font-size:13px;color:var(--muted);margin-top:5px}.alert{border-radius:8px;padding:12px 14px;margin-bottom:18px}.alert.error{background:#4a2020;border:1px solid #8a4141;color:#ffd0d0}.alert.success{background:#183b29;border:1px solid #3e805a;color:#c8f0d4}
.privacy-box{margin-top:20px;padding:15px;border-left:3px solid var(--gold);background:rgba(217,177,95,.07);color:#c8d1d9;font-size:13px}.detail{max-width:760px;margin:auto;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:28px}.detail h1{color:var(--gold2);margin-top:0}.detail h2{color:var(--gold2);font-size:19px;margin-top:28px}.detail-row{padding:11px 0;border-bottom:1px solid #1e3444}.detail-row strong{display:block;color:var(--gold2);font-size:13px;text-transform:uppercase;letter-spacing:.04em}.detail-row span{display:block;margin-top:3px}.back{text-align:center;margin-top:22px}
.eyebrow{color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:bold}
.admin-body{background:#071018}.admin-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 28px;background:#0b1824;border-bottom:1px solid var(--border)}.admin-header h1{margin:2px 0;color:var(--gold2);font-size:24px}
.admin-nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.admin-nav a{padding:8px 10px;border-radius:6px;background:#13293a;color:#dce7ef;font-size:13px}.admin-nav a:hover{background:#1b374c;text-decoration:none}
.admin-main{max-width:1250px;margin:auto;padding:28px 20px 45px}.admin-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.admin-title h2{margin:0;color:var(--gold2)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:25px}.stat{background:var(--panel);border:1px solid var(--border);border-radius:9px;padding:17px}.stat .number{font-size:27px;font-weight:bold}.stat .label{color:var(--muted);font-size:13px}
.admin-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:20px;margin-bottom:22px;overflow:auto}.admin-table{width:100%;border-collapse:collapse;min-width:760px}.admin-table th,.admin-table td{text-align:left;padding:11px 10px;border-bottom:1px solid #1f3546;vertical-align:top}.admin-table th{color:var(--gold2);font-size:13px}.admin-table td{color:#e0e7ed}.actions{display:flex;gap:6px;flex-wrap:wrap}.inline{display:inline}.status{display:inline-block;border-radius:20px;padding:3px 9px;font-size:12px;font-weight:bold}.status.approved{background:#183b29;color:#a9e5bd}.status.rejected,.status.archived{background:#352b30;color:#c9b9c1}
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-panel{width:100%;max-width:430px;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:28px;box-shadow:0 15px 40px rgba(0,0,0,.3)}.login-panel h1{margin-top:0;color:var(--gold2)}.notice{color:var(--muted);font-size:13px}
@media(max-width:700px){.admin-header{align-items:flex-start;flex-direction:column}.admin-nav{justify-content:flex-start}.public-main{padding-top:25px}.public-title{font-size:28px}}

.form-actions {
    display: flex;
    gap: 12px;
    align-items: center;
}

.button-secondary {
    background: transparent;
    border: 1px solid #294256;
    color: #f0d48a;
}

.button-secondary:hover {
    background: #0d1c29;
    border-color: #d9b15f;
}

.form-actions {
    display: flex;
    gap: 12px;
    align-items: center;
}

.form-actions .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 150px;
    height: 44px;
    padding: 0 20px;
    font-size: 1rem;
    font-family: inherit;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
}

.public-footer {
    margin-top: 40px;
    padding: 0 20px 30px;
}

.footer-box {
    max-width: 900px;
    margin: 0 auto;
    padding: 24px 30px;

    background: #0d1c29;
    border: 1px solid #294256;
    border-radius: 10px;

    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.25);

    color: #aebdca;
    font-size: 0.85rem;
    line-height: 1.6;
    text-align: center;
}

.footer-box::before {
    content: "";
    display: block;
    width: 60px;
    height: 2px;
    margin: 0 auto 18px;

    background: #d9b15f;
}

.footer-box p {
    margin: 0 0 12px;
}

.footer-box p:last-child {
    margin-bottom: 0;
}

.footer-box a {
    color: #f0d48a;
    text-decoration: none;
}

.footer-box a:hover {
    color: #ffffff;
    text-decoration: underline;
}

.footer-links {
    padding: 10px 0;
}

.footer-links a {
    margin: 0 5px;
}

.footer-privacy {
    margin-top: 18px !important;
    padding-top: 14px;
    border-top: 1px solid #294256;
}

.footer-privacy a {
    font-weight: 600;
}