/* ==========================================================
   Shubh Muhoort Reality — Admin Panel stylesheet
   Uses the same brand variables as the public site (style.css)
   ========================================================== */
:root{
  --navy: #142a52;
  --navy-dark: #0d1d3d;
  --navy-light: #1c3765;
  --red: #e5322d;
  --red-dark: #c22320;
  --light: #f4f7fb;
  --white: #ffffff;
  --text: #29303d;
  --muted: #6b7480;
  --border: #e6eaf2;
  --radius: 10px;
  --shadow: 0 6px 20px rgba(20,42,82,0.08);
  --sidebar-w: 270px;
}

*{box-sizing:border-box;}
body.admin-body{
  margin:0;
  font-family:"Poppins","Segoe UI",Arial,sans-serif;
  background:var(--light);
  color:var(--text);
}
a{text-decoration:none;color:inherit;}
ul{list-style:none;margin:0;padding:0;}

/* ---------------- LOGIN PAGE ---------------- */
.admin-login-wrap{
  min-height:100vh;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--navy) 0%, var(--navy-dark) 100%);
  padding:20px;
}
.admin-login-card{
  background:var(--white);
  border-radius:var(--radius);
  box-shadow:0 20px 50px rgba(0,0,0,0.25);
  width:100%;max-width:400px;
  padding:38px 34px;
  text-align:center;
}
.admin-login-card img{
  height:64px;width:64px;border-radius:50%;margin:0 auto 12px;object-fit:cover;
}
.admin-login-card h2{color:var(--navy);margin:0 0 4px;font-size:20px;}
.admin-login-card p.sub{color:var(--muted);font-size:13px;margin:0 0 26px;}
.admin-login-card .form-group{text-align:left;margin-bottom:16px;}
.admin-login-card label{display:block;font-size:13px;font-weight:600;color:var(--navy);margin-bottom:6px;}
.admin-login-card input[type="email"],
.admin-login-card input[type="password"],
.admin-login-card input[type="text"]{
  width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:6px;font-size:14px;
}
.admin-login-card .remember{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin-bottom:18px;}
.admin-login-card button{
  width:100%;padding:12px;border:none;border-radius:30px;
  background:var(--red);color:var(--white);font-weight:600;font-size:14px;cursor:pointer;
  transition:background .2s;
}
.admin-login-card button:hover{background:var(--red-dark);}
.admin-error{
  background:#fdeceb;color:var(--red-dark);border:1px solid #f6c6c4;
  padding:10px 14px;border-radius:6px;font-size:13px;margin-bottom:18px;text-align:left;
}
.admin-hint{margin-top:18px;font-size:12px;color:var(--muted);background:var(--light);padding:10px;border-radius:6px;}

/* ---------------- ADMIN SHELL LAYOUT ---------------- */
.admin-shell{display:flex;min-height:100vh;}

/* Sidebar */
.admin-sidebar{
  width:var(--sidebar-w);
  background:var(--navy-dark);
  color:#c6cee3;
  flex-shrink:0;
  display:flex;flex-direction:column;
  position:fixed;top:0;left:0;bottom:0;
  overflow-y:auto;
  transition:transform .25s ease;
  z-index:100;
}
.admin-sidebar .sidebar-brand{
  display:flex;align-items:center;gap:12px;
  padding:20px 18px;border-bottom:1px solid #1c3765;
}
.admin-sidebar .sidebar-brand img{height:42px;width:42px;border-radius:50%;object-fit:cover;}
.admin-sidebar .sidebar-brand h4{color:var(--white);font-size:14px;margin:0;line-height:1.3;}
.admin-sidebar .sidebar-brand span{font-size:11px;color:#93a0c0;}

.admin-nav{padding:14px 10px;flex:1;}
.admin-nav .nav-label{
  font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#5f6d90;
  padding:14px 12px 6px;
}
.admin-nav > ul > li{margin-bottom:4px;}
.admin-nav a.nav-link, .admin-nav button.nav-toggle-btn{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  width:100%;
  padding:11px 14px;border-radius:8px;
  color:#c6cee3;font-size:14px;font-weight:500;
  background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;
}
.admin-nav a.nav-link i.nav-icon, .admin-nav button.nav-toggle-btn i.nav-icon{
  width:20px;text-align:center;margin-right:10px;color:#8b98bd;
}
.admin-nav a.nav-link:hover, .admin-nav button.nav-toggle-btn:hover{background:var(--navy-light);color:var(--white);}
.admin-nav a.nav-link.active{background:var(--red);color:var(--white);}
.admin-nav a.nav-link.active i.nav-icon{color:var(--white);}

.admin-nav .has-submenu > button {
    width: 100%;
    height: 44px;
    padding: 0 14px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    border: 0;
    outline: none;
    border-radius: 8px;

    background: transparent;
    color: #ffffff;

    font-family: inherit;
    font-size: 14px;
    font-weight: 500;

    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;

    transition: all 0.2s ease;
}

/* Left side: icon + text */
.admin-nav .has-submenu > button > span {
    display: flex;
    align-items: center;
    gap: 11px;
    color: #ffffff;
}

/* Main navigation icon */
.admin-nav .has-submenu > button .nav-icon {
    width: 18px;
    text-align: center;
    font-size: 14px;
}

/* Chevron */
.admin-nav .has-submenu > button .chevron {
    font-size: 10px;
    color: rgba(255,255,255,0.75);
    transition: transform 0.2s ease;
}

/* Hover */
.admin-nav .has-submenu > button:hover {
    background: rgba(255,255,255,0.08);
    color: #ffffff;
}

.admin-nav .has-submenu > button:hover .chevron {
    color: #ffffff;
}

/* Open submenu */
.admin-nav .has-submenu.open > button {
    background: #ef3030;
    color: #ffffff;
}

.admin-nav .has-submenu.open > button > span {
    color: #ffffff;
}

.admin-nav .has-submenu.open > button .chevron {
    color: #ffffff;
    transform: rotate(90deg);
}

.admin-submenu{
  max-height:0;overflow:hidden;transition:max-height .25s ease;
  padding-left:14px;border-left:1px solid #253d6e;margin:2px 0 2px 24px;
}
.admin-submenu.show{max-height:300px;}
.admin-submenu li a{
  display:block;padding:9px 14px;font-size:13px;color:#a9b4d0;border-radius:6px;
}
.admin-submenu li a:hover{color:var(--white);background:var(--navy-light);}
.admin-submenu li a.active{color:var(--red);font-weight:600;background:none;}
.admin-submenu li a i{width:16px;margin-right:8px;}

.sidebar-footer{padding:16px;border-top:1px solid #1c3765;}
.sidebar-footer form button{
  width:100%;display:flex;align-items:center;gap:10px;justify-content:center;
  padding:10px;border:1px solid #2a4275;border-radius:8px;background:none;color:#c6cee3;
  cursor:pointer;font-size:13px;font-family:inherit;
}
.sidebar-footer form button:hover{background:var(--red);border-color:var(--red);color:var(--white);}

/* Main content area */
.admin-main{margin-left:var(--sidebar-w);flex:1;min-width:0;display:flex;flex-direction:column;}

.admin-topbar{
  background:var(--white);border-bottom:1px solid var(--border);
  padding:14px 26px;display:flex;align-items:center;justify-content:space-between;
  position:sticky;top:0;z-index:40;
}
.admin-topbar h1{font-size:19px;margin:0;color:var(--navy);}
.admin-topbar .crumb{font-size:12px;color:var(--muted);}
.sidebar-toggle-mobile{display:none;background:none;border:none;font-size:20px;color:var(--navy);cursor:pointer;}
.topbar-right{display:flex;align-items:center;gap:16px;}
.admin-avatar{
  width:36px;height:36px;border-radius:50%;background:var(--navy);color:var(--white);
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;
}
.admin-user-info{font-size:13px;line-height:1.3;}
.admin-user-info strong{display:block;color:var(--navy);}
.admin-user-info span{color:var(--muted);font-size:11px;}
a.view-site{
  font-size:13px;color:var(--navy);font-weight:600;border:1px solid var(--border);
  padding:8px 14px;border-radius:20px;
}
a.view-site:hover{background:var(--light);}

.admin-content{padding:26px;flex:1;}

@media (max-width:960px){
  .admin-sidebar{transform:translateX(-100%);}
  .admin-sidebar.open{transform:translateX(0);}
  .admin-main{margin-left:0;}
  .sidebar-toggle-mobile{display:block;}
}

/* ---------------- Dashboard widgets ---------------- */
.stat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-bottom:28px;}
@media (max-width:1100px){.stat-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:640px){.stat-grid{grid-template-columns:repeat(2,1fr);}}
.stat-card{
  background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);
  padding:20px;display:flex;align-items:center;gap:14px;
}
.stat-card .stat-icon{
  width:48px;height:48px;border-radius:10px;background:var(--light);color:var(--red);
  display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;
}
.stat-card h3{margin:0;font-size:22px;color:var(--navy);}
.stat-card p{margin:0;font-size:12px;color:var(--muted);}

.admin-card{
  background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);
  padding:22px;margin-bottom:24px;
}
.admin-card h3{margin:0 0 18px;font-size:16px;color:var(--navy);}

/* ---------------- Tables ---------------- */
.table-wrap{overflow-x:auto;}
table.admin-table{width:100%;border-collapse:collapse;font-size:13.5px;}
table.admin-table th{
  text-align:left;background:var(--light);color:var(--navy);
  padding:12px 14px;font-weight:600;white-space:nowrap;border-bottom:2px solid var(--border);
}
table.admin-table td{padding:12px 14px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle;}
table.admin-table tr:hover td{background:#fafbfd;}
.thumb{width:52px;height:52px;border-radius:8px;object-fit:cover;background:var(--light);}
.badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;}
.badge-active{background:#e4f7ea;color:#1c8a41;}
.badge-inactive{background:#f0f1f4;color:#6b7480;}
.badge-rera{background:#fdeceb;color:var(--red-dark);}
.badge-unread{background:var(--red);color:var(--white);}
.row-actions{display:flex;gap:8px;}
.icon-btn{
  width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--border);background:var(--white);color:var(--navy);cursor:pointer;font-size:13px;
}
.icon-btn.edit:hover{background:var(--navy);color:var(--white);border-color:var(--navy);}
.icon-btn.delete:hover{background:var(--red);color:var(--white);border-color:var(--red);}
.action-btn {
    min-width: 100px;
    height: 34px;
    padding: 0 12px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border);
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    transition: 0.2s ease;
}

.receive-btn {
    background: #c19a5b;
    color: #fff;
    border-color: #c19a5b;
}

.receive-btn:hover {
    background: #a98248;
    color: #fff;
}

.invoice-btn {
    background: var(--white);
    color: var(--navy);
    border-color: var(--border);
}

.invoice-btn:hover {
    background: var(--navy);
    color: #fff;
}
/* ---------------- Forms ---------------- */
.admin-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media (max-width:700px){.admin-form .form-row{grid-template-columns:1fr;}}
.admin-form .form-group{margin-bottom:18px;}
.admin-form label{display:block;font-size:13px;font-weight:600;color:var(--navy);margin-bottom:7px;}
.admin-form input[type="text"],
.admin-form input[type="email"],
.admin-form input[type="number"],
.admin-form input[type="file"],
.admin-form input[type="date"],
.admin-form input[type="password"],
.admin-form select,
.admin-form textarea{
  width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:6px;font-size:14px;font-family:inherit;
}
.admin-form textarea{resize:vertical;}
.admin-form .checkbox-row{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--text);}
.form-actions{display:flex;gap:12px;margin-top:8px;}
.btn-admin{
  padding:11px 24px;border-radius:8px;border:none;font-size:14px;font-weight:600;cursor:pointer;
  display:inline-flex;align-items:center;gap:8px;
}
.btn-primary{background:var(--red);color:var(--white);}
.btn-primary:hover{background:var(--red-dark);}
.btn-secondary{background:var(--light);color:var(--navy);border:1px solid var(--border);}
.btn-secondary:hover{background:#e9edf5;}
.current-img{margin-bottom:10px;}
.current-img img{height:80px;border-radius:8px;object-fit:cover;}

/* alerts */
.alert-success{
  background:#e4f7ea;color:#1c8a41;border:1px solid #bfe9cc;
  padding:12px 16px;border-radius:8px;font-size:13.5px;margin-bottom:20px;
}
.alert-danger{
  background:#fdeceb;color:var(--red-dark);border:1px solid #f6c6c4;
  padding:12px 16px;border-radius:8px;font-size:13.5px;margin-bottom:20px;
}

/* pagination */
.pagination-wrap {
    margin-top: 20px;
    font-size: 13px;
}

/* Pagination main container */
.pagination-wrap nav {
    width: 100%;
}

/* Laravel pagination wrapper */
.pagination-wrap nav > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 15px;
}

/* Pagination links container */
.pagination-wrap nav > div > div:last-child {
    display: flex;
    align-items: center;
    gap: 6px;
}

/* All pagination buttons */
.pagination-wrap a,
.pagination-wrap span {
    min-width: 36px;
    height: 36px;
    padding: 0 12px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 8px;
    border: 1px solid #e5e7eb;

    background: #fff;
    color: #29303d;

    text-decoration: none;
    font-weight: 500;

    transition: all 0.2s ease;
}

/* Hover */
.pagination-wrap a:hover {
    background: #f3f4f6;
    border-color: #d1d5db;
}

/* Active page */
.pagination-wrap span[aria-current="page"] {
    background: var(--red, #ef2b32);
    border-color: var(--red, #ef2b32);
    color: #fff;
}

/* Disabled Previous / Next */
.pagination-wrap span[aria-disabled="true"] {
    color: #9ca3af;
    background: #f9fafb;
    cursor: not-allowed;
}

/* Mobile */
@media (max-width: 576px) {

    .pagination-wrap nav > div {
        justify-content: center;
    }

    .pagination-wrap a,
    .pagination-wrap span {
        min-width: 34px;
        height: 34px;
        padding: 0 10px;
    }
}

/* empty state */
.empty-state{text-align:center;padding:50px 20px;color:var(--muted);}
.empty-state i{font-size:40px;color:#d7deec;margin-bottom:12px;}

/* star rating display */
.stars-admin{color:#f5a623;font-size:13px;}
