
:root{
  --bp-navy:#063b4b;
  --bp-teal:#0c7a82;
  --bp-cyan:#1ca5b4;
  --bp-gold:#e7a51a;
  --bp-gold2:#ffd568;
  --bp-paper:#ffffff;
  --bp-bg:#f7f3e8;
  --bp-muted:#667d82;
  --bp-line:#d7e2df;
  --bp-success:#067647;
  --bp-danger:#b42318;
  --bp-shadow:0 18px 46px rgba(6,59,75,.11);
  --bp-radius:24px;
}
*{box-sizing:border-box}
body.bp-portal{margin:0;min-height:100vh;background:var(--bp-bg);color:var(--bp-navy);font-family:Arial,Helvetica,sans-serif;line-height:1.55}
.bp-shell{width:min(92%,1180px);margin:auto}
.bp-header{position:sticky;top:0;z-index:50;background:rgba(247,243,232,.97);border-bottom:1px solid rgba(6,59,75,.1);backdrop-filter:blur(12px)}
.bp-header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.bp-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--bp-navy)}
.bp-brand img{width:72px;height:60px;object-fit:contain}
.bp-brand-copy{font-weight:900;letter-spacing:.08em}
.bp-brand-copy small{display:block;color:var(--bp-gold);font-size:10px;letter-spacing:.17em;margin-top:3px}
.bp-nav{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.bp-nav a,.bp-nav button{border:0;background:transparent;text-decoration:none;color:var(--bp-navy);font:inherit;font-size:13px;font-weight:850;padding:10px 12px;border-radius:999px;cursor:pointer}
.bp-nav a:hover,.bp-nav button:hover{background:#e9f1ee}
.bp-nav .bp-nav-cta{background:var(--bp-navy);color:white}
.bp-main{padding:52px 0 80px}
.bp-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:stretch}
.bp-hero,.bp-card{background:white;border:1px solid var(--bp-line);border-radius:var(--bp-radius);box-shadow:var(--bp-shadow)}
.bp-hero{padding:38px;min-height:610px;display:flex;flex-direction:column;justify-content:center}
.bp-hero-logo{width:min(360px,85%);margin:0 auto 22px;display:block}
.bp-kicker{color:var(--bp-teal);font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.bp-title,.bp-toolbar h1{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.03em}
.bp-title{font-size:clamp(39px,5vw,60px);line-height:1.03;margin:12px 0 16px}
.bp-lead{font-size:17px;color:#526e74;max-width:750px}
.bp-card{padding:28px}.bp-form-card{padding:32px}
.bp-form{display:grid;gap:16px}
.bp-field{display:grid;gap:7px}
.bp-field label{font-size:13px;font-weight:850;color:#294f58}
.bp-field input,.bp-field select,.bp-field textarea{
  width:100%;border:1px solid #c5d6d9;background:#fff;color:var(--bp-navy);
  border-radius:13px;padding:13px 14px;font:inherit;outline:none
}
.bp-field textarea{min-height:112px;resize:vertical}
.bp-field input:focus,.bp-field select:focus,.bp-field textarea:focus{border-color:var(--bp-teal);box-shadow:0 0 0 4px rgba(12,122,130,.12)}
.bp-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.bp-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.bp-checks{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.bp-check{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--bp-line);border-radius:12px;background:#fbfdfc;font-size:13px}
.bp-btn{border:0;border-radius:999px;padding:12px 18px;font:inherit;font-weight:900;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;gap:8px;text-decoration:none}
.bp-btn:disabled{opacity:.6;cursor:not-allowed}
.bp-btn-primary{background:#f2bc42;color:var(--bp-navy)}
.bp-btn-dark{background:var(--bp-navy);color:white}
.bp-btn-soft{background:#eaf3ef;color:var(--bp-navy)}
.bp-help{font-size:13px;color:var(--bp-muted)}
.bp-alert{display:none;border-radius:13px;padding:12px 14px;font-size:14px}
.bp-alert.is-show{display:block}
.bp-alert.is-error{background:#fff1f0;color:var(--bp-danger);border:1px solid #f4c7c3}
.bp-alert.is-success{background:#ecfdf3;color:var(--bp-success);border:1px solid #abefc6}
.bp-alert.is-info{background:#eef8fa;color:#075d67;border:1px solid #b9dfe4}
.bp-divider{height:1px;background:var(--bp-line);margin:22px 0}
.bp-note{padding:15px 16px;border-left:4px solid var(--bp-gold);background:#fff8e7;border-radius:12px;color:#705e31}
.bp-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap;margin-bottom:24px}
.bp-toolbar h1{font-size:clamp(34px,5vw,48px);margin:4px 0}
.bp-stack{display:grid;gap:18px}
.bp-meta{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 18px}
.bp-meta span{padding:7px 10px;border-radius:999px;background:#eef5f2;border:1px solid var(--bp-line);font-size:12px;font-weight:800}
.bp-badge{display:inline-flex;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.07em}
.bp-badge.pending{background:#fff7df;color:#8a5a00}.bp-badge.approved{background:#eafaf0;color:#067647}.bp-badge.rejected{background:#fff0ee;color:#b42318}
.bp-directory-toolbar{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin:18px 0}
.bp-directory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.bp-property-card{background:white;border:1px solid var(--bp-line);border-radius:22px;overflow:hidden;box-shadow:0 12px 34px rgba(6,59,75,.08);display:flex;flex-direction:column}
.bp-property-image{height:210px;background:#eaf3ef;display:flex;align-items:center;justify-content:center;overflow:hidden}
.bp-property-image img{width:100%;height:100%;object-fit:cover}
.bp-property-body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}
.bp-property-body h2{font-family:Georgia,"Times New Roman",serif;font-size:28px;margin:0}
.bp-property-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.bp-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.bp-facilities{display:flex;gap:8px;flex-wrap:wrap}
.bp-facilities span{background:#edf5f2;border:1px solid var(--bp-line);padding:8px 10px;border-radius:999px;font-size:12px;font-weight:800}
.bp-table-wrap{overflow:auto;border:1px solid var(--bp-line);border-radius:18px}
.bp-table{width:100%;border-collapse:collapse;min-width:920px;background:white}
.bp-table th,.bp-table td{text-align:left;padding:14px;border-bottom:1px solid #e7eeec;vertical-align:top}
.bp-table th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;background:#f5faf8;color:#45636a}
.bp-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.bp-stat{border:1px solid var(--bp-line);background:#fbfdfc;border-radius:17px;padding:18px}
.bp-stat small{display:block;color:var(--bp-muted);font-weight:800;min-height:38px}
.bp-stat strong{font-size:29px}
.bp-feedback-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.bp-rating-field{border:1px solid var(--bp-line);border-radius:17px;padding:16px;background:#fbfdfc}
.bp-rating-field>span{display:block;font-size:13px;font-weight:850;margin-bottom:8px}
.bp-stars{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:3px}
.bp-stars input{position:absolute;opacity:0;pointer-events:none}
.bp-stars label{font-size:34px;line-height:1;color:#cbd5d6;cursor:pointer}
.bp-stars label:hover,.bp-stars label:hover~label,.bp-stars input:checked~label{color:var(--bp-gold)}
.bp-star-view{color:var(--bp-gold);letter-spacing:2px;white-space:nowrap}
.bp-star-empty{color:#cbd5d6}
.bp-feedback-list{display:grid;gap:12px}
.bp-feedback-item{padding:15px;border:1px solid var(--bp-line);border-radius:16px;background:#fbfdfc}
.bp-feedback-item h3{margin:0 0 5px}
.bp-feedback-item p{margin:7px 0;color:#536e74}
.bp-feedback-item time{font-size:11px;color:#87979a}
.bp-empty{padding:28px;text-align:center;color:var(--bp-muted);border:1px dashed #bdceca;border-radius:17px;background:white}
.bp-hidden{display:none!important}
.bp-footer{padding:34px 0;background:#052e3a;color:rgba(255,255,255,.72);font-size:13px}
.bp-footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
@media(max-width:1000px){.bp-auth-grid,.bp-detail-grid{grid-template-columns:1fr}.bp-directory-grid{grid-template-columns:repeat(2,1fr)}.bp-stat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.bp-header-inner{flex-direction:column;align-items:flex-start;padding:12px 0}.bp-nav{width:100%;overflow:auto;flex-wrap:nowrap}.bp-grid-2,.bp-grid-3,.bp-directory-toolbar,.bp-directory-grid,.bp-stat-grid,.bp-feedback-grid{grid-template-columns:1fr}.bp-checks{grid-template-columns:1fr}.bp-hero{min-height:auto}.bp-card,.bp-form-card,.bp-hero{padding:20px}}
/* ==================================================
   BALEVA ADMIN DASHBOARD
================================================== */

.bp-admin-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 30px;

    margin-bottom: 28px;
}

.bp-admin-hero h1 {
    margin: 6px 0 8px;
}

.bp-admin-user {
    margin-top: 12px;
    font-size: 14px;
}

.bp-admin-hero-action {
    display: flex;
    align-items: center;
}


/* SUMMARY */

.bp-admin-summary {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 18px;

    margin: 25px 0 35px;
}

.bp-summary-card {
    padding: 22px;

    border: 1px solid rgba(15, 41, 61, 0.12);

    border-radius: 14px;

    background: #ffffff;
}

.bp-summary-label {
    display: block;

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 0.12em;

    margin-bottom: 10px;

    opacity: 0.6;
}

.bp-summary-card strong {
    display: block;

    font-size: 18px;

    margin-bottom: 7px;
}

.bp-summary-card p {
    margin: 0;

    font-size: 14px;

    line-height: 1.6;

    opacity: 0.75;
}


/* SECTION HEADING */

.bp-section-heading {
    display: flex;

    justify-content: space-between;

    align-items: flex-end;

    gap: 20px;

    margin-bottom: 16px;
}

.bp-section-heading h2 {
    margin: 5px 0 5px;
}


/* REGISTRATION EDITOR */

.bp-registration-editor {
    margin-top: 28px;
}


/* FORM NOTE */

.bp-field-note {
    display: block;

    margin-top: 7px;

    font-size: 12px;

    line-height: 1.5;

    opacity: 0.65;
}


/* ACTIVE NAVIGATION */

.bp-nav-active {
    font-weight: 700;
}


/* MOBILE */

@media (max-width: 800px) {

    .bp-admin-hero {
        flex-direction: column;
    }

    .bp-admin-summary {
        grid-template-columns: 1fr;
    }

    .bp-admin-hero-action {
        width: 100%;
    }

    .bp-admin-hero-action .bp-btn {
        width: 100%;
        text-align: center;
    }

}
/* ==================================================
   BALEVA PARTNER DASHBOARD V2
================================================== */

/* -----------------------------------------------
   WELCOME AREA
------------------------------------------------ */

.bp-partner-welcome{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:30px;
    margin-bottom:24px;
}

.bp-partner-welcome h1{
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(34px,5vw,48px);
    letter-spacing:-.03em;
    line-height:1.1;
    margin:6px 0 8px;
}


/* -----------------------------------------------
   DASHBOARD SECTION
------------------------------------------------ */

.bp-dashboard-section{
    margin-top:36px;
}

.bp-access-note{
    margin-top:18px;
}


/* -----------------------------------------------
   QUICK ACCESS
------------------------------------------------ */

.bp-dashboard-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.bp-dashboard-card{
    display:flex;
    align-items:flex-start;
    gap:18px;

    padding:24px;

    background:var(--bp-paper);

    border:1px solid var(--bp-line);
    border-radius:18px;

    box-shadow:0 10px 28px rgba(6,59,75,.06);

    color:var(--bp-navy);
    text-decoration:none;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

a.bp-dashboard-card:hover{
    transform:translateY(-3px);

    border-color:rgba(12,122,130,.35);

    box-shadow:
        0 16px 34px rgba(6,59,75,.11);
}


/* NUMBER / ICON */

.bp-dashboard-icon{
    width:46px;
    height:46px;
    flex:0 0 46px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:14px;

    background:#eaf3ef;
    color:var(--bp-teal);

    font-size:12px;
    font-weight:900;
}


/* CARD LABEL */

.bp-dashboard-card-label{
    display:block;

    margin-bottom:6px;

    color:var(--bp-teal);

    font-size:10px;
    font-weight:900;

    letter-spacing:.13em;
}


/* CARD TITLE */

.bp-dashboard-card h3{
    margin:0 0 8px;

    color:var(--bp-navy);

    font-family:Georgia,"Times New Roman",serif;

    font-size:21px;
}


/* CARD DESCRIPTION */

.bp-dashboard-card p{
    margin:0 0 14px;

    color:var(--bp-muted);

    font-size:13px;
    line-height:1.65;
}


/* LINK */

.bp-dashboard-link{
    display:inline-flex;
    align-items:center;

    color:var(--bp-teal);

    font-size:13px;
    font-weight:900;
}


/* -----------------------------------------------
   FUTURE / COMING SOON MODULES
------------------------------------------------ */

.bp-dashboard-card-future{
    box-shadow:none;

    background:
        linear-gradient(
            135deg,
            #ffffff,
            #fafcfb
        );
}

.bp-coming-soon{
    display:inline-flex;
    align-items:center;

    padding:6px 9px;

    border-radius:999px;

    background:#fff7df;
    color:#8a5a00;

    border:1px solid #f4df9c;

    font-size:9px;
    font-weight:900;

    letter-spacing:.09em;
}


/* -----------------------------------------------
   BALEVA SERVICES
------------------------------------------------ */

.bp-service-grid{
    display:grid;

    grid-template-columns:
        repeat(4,minmax(0,1fr));

    gap:15px;
}


.bp-service-card{
    position:relative;

    padding:22px;

    background:var(--bp-paper);

    border:1px solid var(--bp-line);

    border-radius:17px;

    box-shadow:
        0 8px 24px rgba(6,59,75,.05);
}


.bp-service-number{
    display:block;

    margin-bottom:18px;

    color:var(--bp-teal);

    font-size:11px;
    font-weight:900;

    letter-spacing:.08em;
}


.bp-service-card h3{
    margin:0 0 8px;

    color:var(--bp-navy);

    font-family:Georgia,"Times New Roman",serif;

    font-size:18px;
}


.bp-service-card p{
    min-height:50px;

    margin:0 0 15px;

    color:var(--bp-muted);

    font-size:13px;
    line-height:1.6;
}


/* -----------------------------------------------
   PARTNER SUPPORT
------------------------------------------------ */

.bp-partner-support{
    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:30px;

    margin-top:36px;

    padding:30px;

    border:1px solid rgba(12,122,130,.18);

    border-radius:20px;

    background:
        linear-gradient(
            135deg,
            #eef7f4,
            #fff9e9
        );
}


.bp-partner-support h2{
    margin:5px 0 7px;

    color:var(--bp-navy);

    font-family:Georgia,"Times New Roman",serif;

    font-size:27px;
}


.bp-partner-support p{
    max-width:680px;

    margin:0;

    color:#536e74;

    font-size:14px;
    line-height:1.65;
}


/* -----------------------------------------------
   ACTIVE NAV
------------------------------------------------ */

.bp-nav a.bp-nav-active{
    background:#e9f1ee;
    color:var(--bp-teal);
}


/* ==================================================
   PARTNER DASHBOARD RESPONSIVE
================================================== */

@media(max-width:1000px){

    .bp-service-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

}


@media(max-width:760px){

    .bp-partner-welcome{
        flex-direction:column;
        gap:12px;
    }

    .bp-dashboard-grid{
        grid-template-columns:1fr;
    }

    .bp-service-grid{
        grid-template-columns:1fr;
    }

    .bp-partner-support{
        flex-direction:column;
        align-items:flex-start;
    }

    .bp-partner-support .bp-btn{
        width:100%;
        text-align:center;
    }

}


@media(max-width:480px){

    .bp-dashboard-card{
        padding:19px;
        gap:13px;
    }

    .bp-dashboard-icon{
        width:40px;
        height:40px;
        flex-basis:40px;
    }

    .bp-partner-support{
        padding:22px;
    }

}
/* ==================================================
   BALEVA MY PROPERTY
================================================== */


/* HERO */

.bp-my-property-hero{
    display:grid;
    grid-template-columns:300px 1fr;
    gap:28px;
    align-items:center;
}


.bp-my-property-photo{
    height:230px;

    overflow:hidden;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:18px;

    background:#eaf3ef;
}


.bp-my-property-photo img{
    width:100%;
    height:100%;

    object-fit:cover;
}


.bp-my-property-heading h2{
    margin:7px 0 10px;

    color:var(--bp-navy);

    font-family:Georgia,"Times New Roman",serif;

    font-size:clamp(30px,4vw,42px);

    line-height:1.1;
}


.bp-my-property-heading p{
    max-width:720px;

    color:var(--bp-muted);

    line-height:1.7;
}


/* INFORMATION GRID */

.bp-my-property-grid{
    display:grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:18px;
}


/* TITLE */

.bp-property-section-title{
    margin:0 0 20px;

    color:var(--bp-navy);

    font-family:Georgia,"Times New Roman",serif;

    font-size:22px;
}


/* INFORMATION LIST */

.bp-property-info-list{
    display:grid;
    gap:0;
}


.bp-property-info-row{
    display:grid;

    grid-template-columns:
        minmax(130px,.7fr)
        minmax(0,1.3fr);

    gap:20px;

    align-items:start;

    padding:14px 0;

    border-bottom:
        1px solid var(--bp-line);
}


.bp-property-info-row:last-child{
    border-bottom:0;
}


.bp-property-info-row > span{
    color:var(--bp-muted);

    font-size:12px;
    font-weight:800;

    text-transform:uppercase;

    letter-spacing:.06em;
}


.bp-property-info-row strong{
    color:var(--bp-navy);

    font-size:14px;

    overflow-wrap:anywhere;
}


.bp-property-info-column{
    grid-template-columns:1fr;
    gap:10px;
}


/* LONG TEXT */

.bp-property-long-text{
    margin:0;

    color:#536e74;

    line-height:1.75;
}


/* UPDATE NOTE */

.bp-my-property-edit-note{
    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:28px;

    margin-top:36px;

    padding:28px;

    border-radius:20px;

    border:
        1px solid rgba(12,122,130,.18);

    background:
        linear-gradient(
            135deg,
            #eef7f4,
            #fff9e9
        );
}


.bp-my-property-edit-note h2{
    margin:5px 0 7px;

    font-family:Georgia,"Times New Roman",serif;

    font-size:26px;
}


.bp-my-property-edit-note p{
    margin:0;

    color:var(--bp-muted);
}


/* RESPONSIVE */

@media(max-width:850px){

    .bp-my-property-hero{
        grid-template-columns:1fr;
    }

    .bp-my-property-photo{
        height:300px;
    }

    .bp-my-property-grid{
        grid-template-columns:1fr;
    }

}


@media(max-width:600px){

    .bp-my-property-photo{
        height:220px;
    }

    .bp-property-info-row{
        grid-template-columns:1fr;
        gap:6px;
    }

    .bp-my-property-edit-note{
        flex-direction:column;
        align-items:flex-start;
    }

}
/* ==================================================
   BALEVA PROPERTY PHOTO GALLERY
================================================== */

.bp-photo-manager{
    display:grid;
    gap:20px;
}

.bp-photo-toolbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
}

.bp-photo-toolbar > div:first-child{
    display:grid;
    gap:3px;
}

.bp-photo-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}

.bp-photo-item{
    overflow:hidden;
    background:#fff;
    border:1px solid var(--bp-line);
    border-radius:17px;
}

.bp-photo-preview{
    position:relative;
    width:100%;
    aspect-ratio:1 / 1;
    overflow:hidden;
    background:#eaf3ef;
}

.bp-photo-preview img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.bp-photo-cover-badge{
    position:absolute;
    top:12px;
    left:12px;
    padding:6px 10px;
    border-radius:999px;
    background:var(--bp-gold);
    color:var(--bp-navy);
    font-size:10px;
    font-weight:900;
    letter-spacing:.07em;
}

.bp-photo-actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    padding:12px;
}

.bp-photo-actions .bp-btn{
    padding:8px 11px;
    font-size:11px;
}

.bp-photo-delete{
    border:0;
    background:transparent;
    color:var(--bp-danger);
    font:inherit;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
}

.bp-photo-cover-text{
    color:var(--bp-success);
    font-size:12px;
    font-weight:900;
}

.bp-photo-empty{
    grid-column:1/-1;
    padding:40px 20px;
    text-align:center;
    border:1px dashed #bdceca;
    border-radius:17px;
    background:#fbfdfc;
    color:var(--bp-muted);
}

.bp-photo-empty strong{
    display:block;
    color:var(--bp-navy);
    margin-bottom:6px;
}

.bp-photo-empty p{
    margin:0;
}

@media(max-width:900px){

    .bp-photo-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

}

@media(max-width:600px){

    .bp-photo-toolbar{
        flex-direction:column;
        align-items:stretch;
    }

    .bp-photo-toolbar .bp-property-actions{
        display:grid;
        grid-template-columns:1fr 1fr;
    }

    .bp-photo-grid{
        grid-template-columns:1fr;
    }

    .bp-photo-preview{
    }

}
