/* ============================================================
   Rent Bridge — Dashboard polish (tenant + owner dashboards)
   ============================================================ */

/* ---- Section spacing ---- */
.ct_acc_pg_section{
    padding:48px 0 64px;
}

/* Landing on #dashboard-content after a menu click shouldn't sit flush
   against the very top edge of the viewport. */
#dashboard-content{
    scroll-margin-top:24px;
}

/* ---- Sidebar navigation ---- */
.ct_acc_tabs{
    height:auto;
    min-height:0;
    padding:20px 0;
    border-radius:16px;
    box-shadow:0 2px 14px rgba(0,0,0,.05);
}
.ct_acc_tabs .nav-link{
    display:flex;
    align-items:center;
    gap:12px;
    border-radius:10px;
    margin:2px 14px;
    border-left:none;
}
.ct_acc_tabs .nav-link i{
    width:18px;
    text-align:center;
    font-size:15px;
}
.ct_acc_tabs .nav-link:hover{
    background:rgba(46,182,93,.07);
}
.ct_acc_tabs .nav-link.active{
    background:rgba(46,182,93,.12);
}
.ct_acc_tabs .nav-link .badge{
    margin-left:auto;
    border-radius:999px;
}
.ct_acc_tabs form{
    margin:0;
}

/* ---- Rental / payment cards ---- */
.ct_my_rental_box,
.ct_payment_property{
    background:#fff;
    border-radius:16px;
    box-shadow:0 2px 14px rgba(0,0,0,.05);
    border:1px solid rgba(0,0,0,.04);
    padding:24px;
}
.ct_my_rental_box{
    margin-bottom:22px !important;
    transition:box-shadow .2s ease;
}
.ct_my_rental_box:hover{
    box-shadow:0 10px 26px rgba(0,0,0,.08);
}
.ct_payment_property{
    margin-bottom:18px;
}
.ct_rental_left{
    border-color:rgba(0,0,0,.06) !important;
    background:#fafafa !important;
}

/* ---- Notifications ---- */
.ct_notification_card{
    border-radius:14px;
    box-shadow:0 2px 10px rgba(0,0,0,.04);
    transition:box-shadow .2s ease;
}
.ct_notification_card:hover{
    box-shadow:0 8px 22px rgba(0,0,0,.07);
}
.ct_notification_active{
    background:rgba(46,182,93,.05);
}
.ct_notification_icon{
    width:38px;
    height:38px;
    background:linear-gradient(135deg, #2eb65d, #1f9c4c);
}
.ct_notification_icon svg{
    width:18px;
    height:18px;
}

/* ---- Stat cards (dashboard overview) ---- */
.rb-stat-card{
    background:#fff;
    border-radius:16px;
    padding:24px;
    box-shadow:0 2px 14px rgba(0,0,0,.06);
    border:1px solid #e9ecef;
    display:flex;
    align-items:center;
    gap:16px;
    height:100%;
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.rb-stat-card:hover{
    border-color:#d5dade;
    transform:translateY(-4px);
    box-shadow:0 12px 28px rgba(0,0,0,.09);
}
.rb-stat-icon{
    width:52px;
    height:52px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:20px;
    color:#fff;
    flex-shrink:0;
}
.rb-stat-icon.rb-green{ background:linear-gradient(135deg, #2eb65d, #1f9c4c); }
.rb-stat-icon.rb-amber{ background:linear-gradient(135deg, #f7b733, #d98c00); }
.rb-stat-icon.rb-blue{ background:linear-gradient(135deg, #3d8bfd, #1f63d8); }
.rb-stat-icon.rb-purple{ background:linear-gradient(135deg, #a86bf7, #7b2ff7); }
.rb-stat-value{
    font-size:26px;
    font-weight:700;
    color:#17181a;
    line-height:1.1;
}
.rb-stat-label{
    font-size:13px;
    color:#767676;
    margin-top:2px;
}

/* ---- Card wrapper for tables ---- */
.rb-card{
    background:#fff;
    border-radius:16px;
    box-shadow:0 2px 14px rgba(0,0,0,.05);
    border:1px solid rgba(0,0,0,.04);
    padding:24px;
    margin-bottom:28px;
}
.rb-card table{
    margin-bottom:0;
}
.rb-card table thead th{
    border-bottom:2px solid #f0f0f0;
    color:#8a8a8a;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.04em;
    font-weight:600;
    padding-bottom:14px;
    white-space:nowrap;
}
.rb-card table td{
    border-color:#f4f4f4;
}
.rb-card table tbody tr{
    transition:background .15s ease;
}
.rb-card table tbody tr:hover{
    background:rgba(46,182,93,.035);
}
.rb-card-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:20px;
    gap:12px;
    flex-wrap:wrap;
}
.rb-card-header h5{
    margin:0;
    font-weight:600;
}

/* .ct_btn sets a fixed width/height but never centers its own text, and
   an <a> (unlike <button>) won't even honor that width/height outside a
   flex container since anchors are inline by default. Fix both. */
a.ct_btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    text-align:center;
    line-height:1.2;
}

/* Pay Now buttons carry longer, amount-specific labels ("Pay Deposit:
   $30,000 Now") that don't fit ct_btn's fixed 200px width - let them grow
   to fit their text on one line instead of wrapping inside the fixed height. */
.ct_pay_btn_group .ct_btn{
    width:auto;
    height:auto;
    min-height:48px;
    padding:10px 24px;
    white-space:nowrap;
}

/* ---- Badges ---- */
.badge{
    font-weight:600;
    letter-spacing:.02em;
    padding:.42em .8em;
    border-radius:999px;
}

/* ---- Sign-up account type buttons ---- */
.ct_account_type_btn{
    min-height:84px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    border-width:2px !important;
}
.ct_account_type_btn i{
    font-size:19px;
}
