@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&family=Playfair+Display:wght@400;600;700&display=swap');
:root{--bg:#080808;--panel:#101010;--panel2:#141414;--line:rgba(255,255,255,.08);--gold:#d1b47b;--gold2:#e7d3a8;--muted:#8a8a8a;--red:#ef7b7b;--green:#8bc9a0}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#fff;font-family:Montserrat,Arial,sans-serif}.font-heading,h1,h2,h3{font-family:'Playfair Display',serif}.portal-center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at top,rgba(209,180,123,.08),transparent 45%),var(--bg)}.auth-shell{width:min(460px,100%)}.brand-lockup{display:flex;justify-content:center;align-items:center;gap:13px;margin-bottom:28px}.brand-lockup img{height:52px;width:auto;object-fit:contain}.brand-lockup strong{display:block;font:600 24px 'Playfair Display',serif;color:var(--gold)}.brand-lockup span{display:block;font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:#666}.auth-card,.panel,.stat-card{background:linear-gradient(180deg,#121212,#0d0d0d);border:1px solid var(--line);border-radius:4px;box-shadow:0 20px 60px rgba(0,0,0,.28)}.auth-card{padding:30px}.eyebrow{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin:0 0 8px}.auth-card h1{font-size:32px;margin:0 0 8px}.muted,.small{color:#777;font-size:12px;line-height:1.7}.field{margin:18px 0}.label{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#999;margin-bottom:8px}.input,.select,.textarea{width:100%;background:#080808;border:1px solid #262626;color:#fff;border-radius:3px;padding:12px 13px;outline:none;font:inherit;font-size:13px}.input:focus,.select:focus,.textarea:focus{border-color:rgba(209,180,123,.7);box-shadow:0 0 0 3px rgba(209,180,123,.07)}.btn{border:1px solid transparent;border-radius:3px;padding:11px 15px;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-gold{background:var(--gold);color:#080808}.btn-gold:hover{background:#fff}.btn-outline{background:transparent;color:#bbb;border-color:var(--line)}.btn-outline:hover{border-color:var(--gold);color:#fff}.btn-danger{background:transparent;color:#f19a9a;border-color:rgba(239,123,123,.25)}.btn-block{width:100%}.notice{padding:12px 14px;border-radius:3px;font-size:12px;margin:15px 0}.notice.error{background:rgba(239,123,123,.08);border:1px solid rgba(239,123,123,.25);color:#f0a0a0}.notice.success{background:rgba(139,201,160,.08);border:1px solid rgba(139,201,160,.25);color:#9bd2ad}.warning{color:#8c6f4d;font-size:11px;margin-top:18px}.portal{min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:250px;background:#090909;border-right:1px solid var(--line);padding:24px 16px;z-index:30}.logo{display:flex;align-items:center;gap:10px;padding:4px 10px 28px}.logo img{height:38px;width:auto}.logo b{font:600 19px 'Playfair Display',serif;color:var(--gold)}.logo span{display:block;color:#555;font-size:8px;letter-spacing:.18em;text-transform:uppercase}.nav{display:grid;gap:4px}.nav button{background:none;border:0;color:#888;text-align:left;width:100%;padding:12px;border-radius:3px;font:500 10px Montserrat;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}.nav button:hover,.nav button.active{color:#fff;background:#151515}.nav button.active{box-shadow:inset 2px 0 0 var(--gold)}.side-bottom{position:absolute;bottom:22px;left:20px;right:20px;border-top:1px solid var(--line);padding-top:18px}.side-user{font-size:12px;color:#aaa;margin-bottom:12px}.side-user b{color:#fff}.main{margin-left:250px;min-height:100vh}.topbar{height:74px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:rgba(8,8,8,.9);position:sticky;top:0;z-index:20}.topbar h1{font-size:24px;margin:3px 0}.content{padding:30px 32px 60px}.grid{display:grid;gap:16px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:24px}.stat-card{padding:20px}.stat-label{font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:#666}.stat-value{font:600 28px 'Playfair Display',serif;color:var(--gold);margin-top:7px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin:0 0 16px}.section-head h2{font-size:26px;margin:2px 0}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:3px;background:#0d0d0d}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{padding:13px 14px;border-bottom:1px solid rgba(255,255,255,.055);font-size:11px;text-align:left;white-space:nowrap}.table th{color:#666;font-size:9px;letter-spacing:.12em;text-transform:uppercase;font-weight:600}.table td{color:#c8c8c8}.table tr:last-child td{border-bottom:0}.badge{display:inline-flex;padding:4px 7px;border-radius:20px;font-size:8px;letter-spacing:.08em;text-transform:uppercase}.badge.gold{background:rgba(209,180,123,.1);color:var(--gold2)}.badge.green{background:rgba(139,201,160,.1);color:var(--green)}.badge.red{background:rgba(239,123,123,.1);color:#ed9b9b}.toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.toolbar .input,.toolbar .select{width:auto;min-width:150px}.modal{position:fixed;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(5px);display:none;align-items:center;justify-content:center;padding:18px;z-index:60}.modal.open{display:flex}.modal-card{width:min(720px,100%);max-height:90vh;overflow:auto;background:#111;border:1px solid #292929;border-radius:4px;padding:25px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-head h2{font-size:25px;margin:0}.x{background:none;border:0;color:#777;font-size:25px;cursor:pointer}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.full{grid-column:1/-1}.empty{padding:35px;text-align:center;color:#666;font-size:12px}.mobile-toggle{display:none;background:none;border:0;color:#aaa;font-size:20px}.right{display:flex;align-items:center;gap:10px}.hidden{display:none!important}.text-gold{color:var(--gold)}
@media(max-width:900px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:translateX(0)}.main{margin-left:0}.mobile-toggle{display:block}.topbar{padding:0 18px}.content{padding:22px 18px 45px}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.stats{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.auth-card{padding:22px}.topbar h1{font-size:20px}.right .website{display:none}}
.map{height:380px;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.08);margin:18px 0 22px}.location-card{padding:14px 16px;border:1px solid rgba(211,175,55,.25);background:rgba(211,175,55,.06);border-radius:12px;margin:14px 0}.location-card .muted{margin-top:4px}.table a{color:inherit;text-decoration:underline}.leaflet-container{font:inherit}
/* =========================================================
   SITE MODAL FIX
========================================================= */

#modal {
    z-index: 99999 !important;
}

#modal .modal-card {
    position: relative;
    z-index: 100000;
    max-height: 90vh;
    overflow: hidden;
}

#modal #modalBody {
    max-height: calc(90vh - 90px);
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 8px;
}

#modal .site-form {
    width: 100%;
}

#modal .site-form .form-grid {
    width: 100%;
}

#modal .site-form-actions {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    padding-top: 8px;
    padding-bottom: 5px;
}

#modal .site-form-actions .btn {
    min-width: 140px;
}

/* Prevent the Sites map from appearing above the popup */

#sitesMap {
    position: relative;
    z-index: 1;
}

.leaflet-container {
    z-index: 1 !important;
}

/* Modal must always stay above Leaflet */

#modal,
#modal  {
    position: relative;
}

#modal {
    position: fixed !important;
}

/* Mobile */

@media (max-width: 700px) {

    #modal .modal-card {
        width: calc(100% - 24px);
        max-height: 92vh;
    }

    #modal #modalBody {
        max-height: calc(92vh - 80px);
    }

    #modal .site-form-actions {
        flex-direction: column-reverse;
    }

    #modal .site-form-actions .btn {
        width: 100%;
    }

}
