/* PALMA IMMOBILIÈRE — Admin Panel CSS v2.0 */
:root{--gold:#C9A96E;--gold-light:#E2C99A;--gold-dark:#9E7A44;--dark:#0d0d0d;--dark-2:#131313;--dark-3:#1a1a1a;--dark-4:#222;--dark-5:#2c2c2c;--dark-6:#363636;--white:#fff;--text:#d8d8d8;--text-muted:#7a7a7a;--border:rgba(255,255,255,0.07);--border-2:rgba(255,255,255,0.04);--sidebar-w:250px;--topbar-h:60px;--blue:#60a5fa;--green:#34d399;--purple:#a78bfa;--red:#f87171;--orange:#fb923c;--font:'Inter',system-ui,sans-serif;--font-heading:'Playfair Display',Georgia,serif;--radius:6px;--radius-lg:10px;--shadow:0 4px 24px rgba(0,0,0,.5);--t:.22s ease}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:14px}
body{font-family:var(--font);background:var(--dark-2);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
ul{list-style:none}
img{display:block;max-width:100%}
input,select,textarea,button{font-family:inherit;font-size:inherit}
::-webkit-scrollbar{width:4px;height:4px}
::-webkit-scrollbar-track{background:var(--dark-3)}
::-webkit-scrollbar-thumb{background:var(--dark-6);border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:var(--gold-dark)}

/* LAYOUT */
.admin-layout{display:flex;min-height:100vh}
.main-area{flex:1;display:flex;flex-direction:column;margin-left:var(--sidebar-w);min-width:0;transition:margin-left var(--t)}
.admin-content{flex:1;padding:1.6rem 2rem 3rem}

/* SIDEBAR */
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);background:var(--dark);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:300;overflow-y:auto;transition:transform var(--t)}
.sidebar-brand{display:flex;align-items:center;gap:11px;padding:1.2rem 1.1rem;border-bottom:1px solid var(--border);flex-shrink:0}
.sidebar-brand-text{display:flex;flex-direction:column;line-height:1.25}
.sidebar-brand-text span{font-family:var(--font-heading);font-size:1rem;font-weight:700;color:var(--white)}
.sidebar-brand-text span em{font-style:italic;color:var(--gold)}
.sidebar-brand-text small{font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted)}
.sidebar-nav{flex:1;padding:.8rem 0}
.nav-group-label{font-size:.6rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);padding:.9rem 1.2rem .3rem;opacity:.7}
.nav-item{display:flex;align-items:center;gap:9px;padding:.62rem 1.2rem;font-size:.855rem;font-weight:500;color:var(--text-muted);border-left:2px solid transparent;transition:color var(--t),background var(--t),border-color var(--t);white-space:nowrap;overflow:hidden}
.nav-item svg{flex-shrink:0;opacity:.7;transition:opacity var(--t)}
.nav-item:hover{color:var(--white);background:var(--border-2)}
.nav-item:hover svg{opacity:1}
.nav-logo-img{height:58px;width:auto;object-fit:contain}
.nav-logo-img-login{height:88px;width:auto;object-fit:contain}
.nav-logo{display:flex;align-items:center;gap:10px;flex-shrink:0}
.nav-item.active{color:var(--gold);background:rgba(201,169,110,.08);border-left-color:var(--gold);font-weight:600}
.nav-item.active svg{opacity:1;color:var(--gold)}
.nav-badge{margin-left:auto;background:#ef4444;color:#fff;font-size:.62rem;font-weight:700;padding:1px 6px;border-radius:20px;min-width:18px;text-align:center;flex-shrink:0}
.sidebar-footer{padding:.8rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:2px;flex-shrink:0}
.sidebar-footer-link{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:500;padding:.45rem .7rem;border-radius:var(--radius);transition:background var(--t),color var(--t)}
.sidebar-link-visit{color:var(--text-muted)}
.sidebar-link-visit:hover{background:rgba(201,169,110,.1);color:var(--gold)}
.sidebar-link-logout{color:var(--text-muted)}
.sidebar-link-logout:hover{background:rgba(248,113,113,.1);color:var(--red)}
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:299;backdrop-filter:blur(2px)}
.sidebar-overlay.open{display:block}

/* TOPBAR */
.topbar{height:var(--topbar-h);background:var(--dark);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 1.6rem;gap:1rem;position:sticky;top:0;z-index:200;flex-shrink:0}
.topbar-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:5px;flex-shrink:0}
.topbar-hamburger span{display:block;width:20px;height:1.5px;background:var(--text-muted);border-radius:2px;transition:var(--t)}
.topbar-hamburger:hover span{background:var(--gold)}
.topbar-title{font-family:var(--font-heading);font-size:1.05rem;font-weight:700;color:var(--white);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-right{display:flex;align-items:center;gap:.8rem;position:relative}
.topbar-notif{position:relative;width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.05);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);transition:color var(--t),background var(--t)}
.topbar-notif:hover{color:var(--gold);background:rgba(201,169,110,.1)}
.notif-dot{position:absolute;top:-4px;right:-4px;background:#ef4444;color:#fff;font-size:.58rem;font-weight:700;padding:1px 4px;border-radius:10px;min-width:16px;text-align:center}
.topbar-user{display:flex;align-items:center;gap:9px;cursor:pointer;padding:.35rem .7rem;border-radius:var(--radius);border:1px solid var(--border);background:rgba(255,255,255,.03);transition:background var(--t),border-color var(--t);user-select:none}
.topbar-user:hover{background:rgba(201,169,110,.08);border-color:rgba(201,169,110,.2)}
.topbar-user .chevron{transition:transform var(--t);opacity:.4;flex-shrink:0}
.topbar-user.open .chevron{transform:rotate(180deg)}
.user-avatar{width:30px;height:30px;background:var(--gold);color:var(--dark);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;flex-shrink:0}
.user-avatar--md{width:36px;height:36px;font-size:.9rem}
.user-info{display:flex;flex-direction:column}
.user-name{font-size:.8rem;font-weight:600;color:var(--white);line-height:1.2}
.user-role{font-size:.62rem;color:var(--gold);text-transform:uppercase;letter-spacing:.08em}
.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:220px;background:var(--dark-3);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity var(--t),transform var(--t);z-index:400;overflow:hidden}
.user-dropdown.open{opacity:1;transform:translateY(0);pointer-events:all}
.dropdown-user-head{display:flex;align-items:center;gap:10px;padding:.9rem 1rem}
.dropdown-user-head strong{display:block;font-size:.85rem;color:var(--white)}
.dropdown-user-head small{font-size:.72rem;color:var(--text-muted)}
.dropdown-hr{border:none;border-top:1px solid var(--border);margin:0}
.dropdown-item{display:flex;align-items:center;gap:9px;padding:.65rem 1rem;font-size:.82rem;color:var(--text-muted);transition:background var(--t),color var(--t)}
.dropdown-item:hover{background:rgba(255,255,255,.05);color:var(--white)}
.dropdown-item--danger:hover{background:rgba(248,113,113,.08);color:var(--red)}

/* STAT CARDS */
.dash-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;margin-bottom:1.6rem}
.stat-card{background:var(--dark-3);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.2rem 1.4rem;display:flex;align-items:center;gap:1rem;position:relative;overflow:hidden;transition:transform var(--t),box-shadow var(--t)}
.stat-card::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;border-radius:3px 0 0 3px}
.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.stat-card--gold::before{background:var(--gold)}
.stat-card--blue::before{background:var(--blue)}
.stat-card--green::before{background:var(--green)}
.stat-card--purple::before{background:var(--purple)}
.stat-card__icon{font-size:1.8rem;flex-shrink:0}
.stat-card__body{display:flex;flex-direction:column;min-width:0}
.stat-card__label{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:2px;white-space:nowrap}
.stat-card__value{font-family:var(--font-heading);font-size:1.9rem;font-weight:700;color:var(--white);line-height:1}
.stat-card__sub{font-size:.72rem;color:var(--text-muted);margin-top:3px}

/* DASH ROWS & CARDS */
.dash-row{display:grid;grid-template-columns:1fr 300px;gap:1.1rem;margin-bottom:1.6rem}
.dash-card{background:var(--dark-3);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.4rem;overflow:hidden}
.dash-card__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem;padding-bottom:.8rem;border-bottom:1px solid var(--border)}
.dash-card__head h3{font-family:var(--font-heading);font-size:.95rem;font-weight:700;color:var(--white)}
.chart-wrap{position:relative}
.chart-wrap--sm{height:170px;display:flex;align-items:center;justify-content:center}
.chart-legend{margin-top:1rem;display:flex;flex-direction:column;gap:.45rem}
.legend-item{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--text-muted)}
.legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.legend-val{margin-left:auto;font-weight:700;color:var(--white);font-size:.85rem}
.activity-list{display:flex;flex-direction:column;gap:.75rem}
.activity-item{display:flex;gap:10px;align-items:flex-start}
.activity-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);flex-shrink:0;margin-top:5px}
.activity-body{display:flex;flex-direction:column;gap:1px;min-width:0}
.activity-action{font-size:.8rem;font-weight:600;color:var(--white)}
.activity-who{font-size:.75rem;color:var(--gold)}
.activity-detail{font-size:.74rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.activity-time{font-size:.68rem;color:var(--dark-6)}

/* TABLES */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.admin-table{width:100%;border-collapse:collapse;font-size:.84rem;min-width:500px}
.admin-table th{text-align:left;padding:.55rem .85rem;font-size:.65rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;background:var(--dark-3)}
.admin-table td{padding:.7rem .85rem;border-bottom:1px solid var(--border-2);color:var(--text);vertical-align:middle}
.admin-table tbody tr:last-child td{border-bottom:none}
.admin-table tbody tr:hover td{background:rgba(255,255,255,.02)}
.admin-table tbody tr.row-new td{background:rgba(201,169,110,.04)}
.dot-new{display:inline-block;width:6px;height:6px;background:var(--gold);border-radius:50%;margin-left:5px;vertical-align:middle;animation:blink 1.5s ease infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}

/* BADGES */
.badge{display:inline-flex;align-items:center;gap:4px;padding:.18rem .6rem;border-radius:20px;font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.badge-gold,.badge-new{background:rgba(201,169,110,.15);color:var(--gold);border:1px solid rgba(201,169,110,.2)}
.badge-contacted{background:rgba(96,165,250,.12);color:var(--blue);border:1px solid rgba(96,165,250,.2)}
.badge-qualified{background:rgba(52,211,153,.1);color:var(--green);border:1px solid rgba(52,211,153,.2)}
.badge-converted{background:rgba(167,139,250,.1);color:var(--purple);border:1px solid rgba(167,139,250,.2)}
.badge-rejected{background:rgba(248,113,113,.1);color:var(--red);border:1px solid rgba(248,113,113,.2)}
.badge-delivered{background:rgba(52,211,153,.1);color:var(--green);border:1px solid rgba(52,211,153,.2)}
.badge-construction{background:rgba(251,146,60,.1);color:var(--orange);border:1px solid rgba(251,146,60,.2)}
.badge-planned{background:rgba(96,165,250,.12);color:var(--blue);border:1px solid rgba(96,165,250,.2)}
.badge-suspended{background:rgba(248,113,113,.1);color:var(--red);border:1px solid rgba(248,113,113,.2)}
.badge-superadmin{background:rgba(201,169,110,.15);color:var(--gold);border:1px solid rgba(201,169,110,.2)}
.badge-admin{background:rgba(167,139,250,.1);color:var(--purple);border:1px solid rgba(167,139,250,.2)}
.badge-editor{background:rgba(96,165,250,.12);color:var(--blue);border:1px solid rgba(96,165,250,.2)}

/* BUTTONS */
.btn-admin-primary{display:inline-flex;align-items:center;gap:6px;padding:.58rem 1.3rem;background:var(--gold);color:#0d0d0d;font-size:.82rem;font-weight:700;border:none;border-radius:var(--radius);cursor:pointer;transition:background var(--t),transform .15s,box-shadow var(--t);text-decoration:none;white-space:nowrap}
.btn-admin-primary:hover{background:var(--gold-light);transform:translateY(-1px);box-shadow:0 4px 14px rgba(201,169,110,.3)}
.btn-admin-outline{display:inline-flex;align-items:center;gap:6px;padding:.55rem 1.2rem;background:transparent;color:var(--text-muted);font-size:.82rem;font-weight:500;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color var(--t),color var(--t),background var(--t);text-decoration:none;white-space:nowrap}
.btn-admin-outline:hover{border-color:var(--gold);color:var(--gold);background:rgba(201,169,110,.06)}
.btn-admin-danger{display:inline-flex;align-items:center;gap:6px;padding:.55rem 1.2rem;background:rgba(248,113,113,.08);color:var(--red);border:1px solid rgba(248,113,113,.2);border-radius:var(--radius);font-size:.82rem;font-weight:600;cursor:pointer;transition:background var(--t),border-color var(--t);text-decoration:none;white-space:nowrap}
.btn-admin-danger:hover{background:rgba(248,113,113,.18);border-color:rgba(248,113,113,.4)}
.btn-admin-green{display:inline-flex;align-items:center;gap:6px;padding:.55rem 1.2rem;background:rgba(37,211,102,.08);color:#25D366;border:1px solid rgba(37,211,102,.2);border-radius:var(--radius);font-size:.82rem;font-weight:600;cursor:pointer;transition:background var(--t);text-decoration:none;white-space:nowrap}
.btn-admin-green:hover{background:rgba(37,211,102,.18)}
.btn-sm{display:inline-flex;align-items:center;gap:4px;padding:.25rem .65rem;font-size:.72rem;font-weight:600;background:rgba(255,255,255,.06);border:1px solid var(--border);border-radius:4px;color:var(--text-muted);cursor:pointer;transition:background var(--t),color var(--t);text-decoration:none;white-space:nowrap}
.btn-sm:hover{background:rgba(201,169,110,.12);color:var(--gold);border-color:rgba(201,169,110,.3)}
.btn-sm--danger:hover{background:rgba(248,113,113,.12);color:var(--red);border-color:rgba(248,113,113,.3)}
.btn-sm--perm-danger{color:#ef4444;border-color:rgba(220,38,38,.35);background:rgba(220,38,38,.1);font-weight:700}
.btn-sm--perm-danger:hover{background:rgba(220,38,38,.22);color:#ff6b6b;border-color:rgba(220,38,38,.55)}
.btn-sm--green:hover{background:rgba(52,211,153,.12);color:var(--green)}
.btn-link{font-size:.8rem;color:var(--gold);transition:opacity var(--t)}
.btn-link:hover{opacity:.7}
.w-full{width:100%;justify-content:center}

/* FORMS */
.field-group{display:flex;flex-direction:column;gap:5px;margin-bottom:1rem}
.field-group:last-child{margin-bottom:0}
.field-group label{font-size:.69rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}
.field-group input,.field-group select,.field-group textarea{background:var(--dark-4);border:1px solid var(--border);border-radius:var(--radius);color:var(--white);padding:.62rem .85rem;font-size:.88rem;outline:none;transition:border-color var(--t),background var(--t);appearance:none;-webkit-appearance:none;width:100%}
.field-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpath d='M1 1l4.5 5L10 1' stroke='%237a7a7a' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:calc(100% - 11px) center;padding-right:2.2rem;cursor:pointer}
.field-group select option{background:var(--dark-4);color:var(--white)}
.field-group input:focus,.field-group select:focus,.field-group textarea:focus{border-color:var(--gold);background:rgba(201,169,110,.05)}
.field-group input[type="file"]{padding:.45rem .7rem;font-size:.8rem;color:var(--text-muted)}
.field-group input[type="checkbox"]{width:auto;accent-color:var(--gold)}
.field-group textarea{resize:vertical;min-height:90px}
.field-group .hint{font-size:.72rem;color:var(--text-muted);margin-top:2px}
.checkbox-label{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text);cursor:pointer}
.input-wrap{position:relative}
.pw-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;transition:color var(--t)}
.pw-toggle:hover{color:var(--gold)}
.form-2col{display:grid;grid-template-columns:1fr 1fr;gap:0 1.4rem}
.field-group--full{grid-column:1/-1}

/* ALERTS */
.alert{display:flex;align-items:flex-start;gap:10px;padding:.85rem 1.1rem;border-radius:var(--radius);margin-bottom:1.2rem;font-size:.85rem;font-weight:500;animation:slideIn .25s ease}
@keyframes slideIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.alert-success{background:rgba(52,211,153,.08);border:1px solid rgba(52,211,153,.22);color:var(--green)}
.alert-error{background:rgba(248,113,113,.08);border:1px solid rgba(248,113,113,.22);color:var(--red)}
.alert-info{background:rgba(96,165,250,.08);border:1px solid rgba(96,165,250,.22);color:var(--blue)}

/* PAGE STRUCTURE */
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.4rem}
.page-head h2{font-family:var(--font-heading);font-size:1.55rem;font-weight:700;color:var(--white)}
.page-head p{font-size:.8rem;color:var(--text-muted);margin-top:2px}
.filters-bar{margin-bottom:1.1rem}
.filters-form{display:flex;gap:.7rem;flex-wrap:wrap}
.filters-form input,.filters-form select{background:var(--dark-3);border:1px solid var(--border);border-radius:var(--radius);color:var(--white);padding:.52rem .85rem;font-size:.84rem;outline:none;appearance:none;-webkit-appearance:none;transition:border-color var(--t)}
.filters-form input{min-width:200px}
.filters-form select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpath d='M1 1l4.5 5L10 1' stroke='%237a7a7a' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:calc(100% - 10px) center;padding-right:2rem;cursor:pointer}
.filters-form input:focus,.filters-form select:focus{border-color:var(--gold)}
.pagination{display:flex;gap:.35rem;padding:1rem 0 0;flex-wrap:wrap}
.page-btn{padding:.3rem .7rem;font-size:.78rem;border:1px solid var(--border);border-radius:4px;color:var(--text-muted);background:var(--dark-4);cursor:pointer;transition:border-color var(--t),color var(--t),background var(--t)}
.page-btn:hover{border-color:var(--gold);color:var(--gold)}
.page-btn.active{background:var(--gold);border-color:var(--gold);color:var(--dark);font-weight:700}

/* DETAIL VIEW */
.detail-grid{display:grid;grid-template-columns:1fr 290px;gap:1.2rem;align-items:start}
.detail-row{display:flex;align-items:baseline;gap:1rem;padding:.68rem 0;border-bottom:1px solid var(--border-2);font-size:.85rem}
.detail-row>span:first-child{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);width:130px;flex-shrink:0}
.detail-row strong{color:var(--white)}
.detail-row a{color:var(--gold)}
.detail-row--full{flex-direction:column;gap:.4rem}
.detail-row--full p{color:var(--text);line-height:1.7}
.detail-actions h4{color:var(--gold);font-size:.9rem;margin-bottom:1rem;font-weight:600}
.quick-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}

/* SETTINGS */
.settings-section{margin-bottom:1.4rem}
.settings-section__head{display:flex;align-items:center;gap:8px;margin-bottom:.8rem}
.settings-section__head h3{font-size:.82rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em}

/* GALLERY ADMIN */
.gallery-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.8rem}
.gallery-admin-item{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--dark-4);border:1px solid var(--border);aspect-ratio:4/3;cursor:pointer}
.gallery-admin-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.gallery-admin-item:hover img{transform:scale(1.06)}
.gallery-admin-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;opacity:.15}
.gallery-admin-overlay{position:absolute;inset:0;background:rgba(0,0,0,.7);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;opacity:0;transition:opacity var(--t);padding:.5rem}
.gallery-admin-item:hover .gallery-admin-overlay{opacity:1}
.gallery-admin-info{font-size:.65rem;text-align:center;color:rgba(255,255,255,.65);line-height:1.4;word-break:break-all}

/* GALLERY SLOT ORDERING (drag & drop) */
.gallery-slots-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem}
.gallery-slot{position:relative;aspect-ratio:1/1;border:2px dashed var(--border-2);border-radius:var(--radius);background:var(--dark-4);overflow:hidden;transition:border-color .2s,background .2s}
.gallery-slot.drag-over{border-color:var(--gold);background:rgba(201,169,110,.08)}
.gallery-slot-num{position:absolute;top:6px;left:6px;z-index:2;background:rgba(0,0,0,.65);color:var(--gold);font-size:.7rem;font-weight:700;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.gallery-slot-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.gallery-slot-content img{width:100%;height:100%;object-fit:cover;cursor:grab}
.gallery-slot-content img:active{cursor:grabbing}
.gallery-slot-empty{color:var(--text-muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.gallery-pool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.6rem}
.gallery-pool-item{aspect-ratio:1/1;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);background:var(--dark-4)}
.gallery-pool-item img{width:100%;height:100%;object-fit:cover;cursor:grab}
.gallery-pool-item img:active{cursor:grabbing}
@media(max-width:640px){.gallery-slots-grid{grid-template-columns:repeat(2,1fr)}}

/* LOGIN */
.login-page{background:var(--dark)}
.login-wrap{display:flex;min-height:100vh;width:100%}
.login-left{flex:1;background:var(--dark-2);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:2.5rem 3rem;position:relative;overflow:hidden}
.login-brand{display:flex;align-items:center;gap:13px;margin-bottom:3rem}
.login-brand h1{font-family:var(--font-heading);font-size:1.25rem;font-weight:700;color:var(--white);line-height:1.1}
.login-brand p{font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-top:3px}
.login-tagline{margin:auto 0}
.login-tagline h2{font-family:var(--font-heading);font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:900;color:var(--white);line-height:1.1;margin-bottom:1rem}
.login-tagline p{color:var(--text-muted);font-size:.95rem;max-width:340px;line-height:1.7}
.login-features{margin-top:2rem;display:flex;flex-direction:column;gap:.6rem}
.login-feature{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--text-muted)}
.login-feature-dot{width:5px;height:5px;background:var(--gold);border-radius:50%;flex-shrink:0}
.login-deco{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(201,169,110,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(201,169,110,.035) 1px,transparent 1px);background-size:48px 48px}
.login-right{width:420px;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:3rem 2.5rem;background:var(--dark)}
.login-box{width:100%;max-width:360px}
.login-box h3{font-family:var(--font-heading);font-size:1.7rem;font-weight:700;color:var(--white);margin-bottom:.3rem}
.login-sub{color:var(--text-muted);font-size:.88rem;margin-bottom:2rem;line-height:1.6}
.login-footer{text-align:center;margin-top:2rem;font-size:.72rem;color:var(--dark-6)}
.login-default-hint{background:rgba(201,169,110,.06);border:1px solid rgba(201,169,110,.15);border-radius:var(--radius);padding:.7rem .9rem;font-size:.78rem;color:var(--gold);margin-bottom:1.5rem;line-height:1.6}

/* RESPONSIVE */
@media(max-width:1100px){.dash-stats{grid-template-columns:repeat(2,1fr)}.dash-row{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}}
@media(max-width:900px){.sidebar{transform:translateX(calc(-1 * var(--sidebar-w)))}.sidebar.open{transform:translateX(0)}.main-area{margin-left:0}.topbar-hamburger{display:flex}.form-2col{grid-template-columns:1fr}.field-group--full{grid-column:1}.login-left{display:none}.login-right{width:100%}}
@media(max-width:640px){.dash-stats{grid-template-columns:1fr 1fr}.admin-content{padding:1rem 1.1rem 2rem}.page-head{flex-direction:column;align-items:flex-start}.filters-form{flex-direction:column}.filters-form input{min-width:100%}.topbar-user .user-info{display:none}.topbar-user .chevron{display:none}}
@media(max-width:420px){.dash-stats{grid-template-columns:1fr}}

/* ════════════════════════
   ADMIN MOBILE EXTRA FIXES
════════════════════════ */
@media(max-width:640px){
  .dash-row{gap:.8rem}
  .dash-card{padding:1rem}
  .dash-card__head{margin-bottom:.9rem;padding-bottom:.6rem}
  .stat-card{padding:1rem 1.1rem;gap:.7rem}
  .stat-card__value{font-size:1.6rem}
  .stat-card__icon{font-size:1.4rem}
  .admin-table th,.admin-table td{padding:.5rem .65rem;font-size:.78rem}
  .admin-content{padding:.9rem .9rem 2rem}
  .page-head h2{font-size:1.3rem}
  .form-2col{grid-template-columns:1fr}
  .detail-grid{grid-template-columns:1fr}
  .detail-row{flex-direction:column;gap:.25rem}
  .detail-row>span:first-child{width:auto}
  .gallery-admin-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
  .topbar{padding:0 .9rem;gap:.7rem}
  .topbar-title{font-size:.9rem}
  .topbar-right{gap:.5rem}
  .user-dropdown{right:-.5rem;width:200px}
  .topbar-notif{width:30px;height:30px}
  .nav-logo{gap:6px}
  .nav-logo-img{height:38px;width:auto}
  .nav-logo-img-login{height:38px;width:auto}
}
@media(max-width:400px){
  .dash-stats{grid-template-columns:1fr}
  .btn-admin-primary,.btn-admin-outline{padding:.5rem 1rem;font-size:.78rem}
}

/* LIGHT THEME */
[data-theme="light"]{--gold:#C9A96E;--gold-light:#E2C99A;--gold-dark:#9E7A44;--dark:#f8f9fa;--dark-2:#f1f3f5;--dark-3:#ffffff;--dark-4:#e9ecef;--dark-5:#dee2e6;--dark-6:#ced4da;--white:#111;--text:#333;--text-muted:#6c757d;--border:rgba(0,0,0,0.1);--border-2:rgba(0,0,0,0.05)}

/* RTL / ARABIC SUPPORT */
[lang="ar"]{direction:rtl;font-family:var(--font-ar, 'Tajawal', sans-serif)}
[lang="ar"] .main-area{margin-left:0;margin-right:var(--sidebar-w);transition:margin-right var(--t)}
[lang="ar"] .sidebar{inset:0 0 0 auto;border-right:none;border-left:1px solid var(--border);transform:translateX(calc(100% * 1))}
[lang="ar"] .sidebar.open{transform:translateX(0)}
@media(min-width:901px){ [lang="ar"] .sidebar{transform:translateX(0)} }
[lang="ar"] .nav-item{border-left:none;border-right:2px solid transparent}
[lang="ar"] .nav-item.active{border-left-color:transparent;border-right-color:var(--gold)}
[lang="ar"] .nav-badge{margin-left:0;margin-right:auto}
[lang="ar"] .user-dropdown{right:auto;left:0}
[lang="ar"] .dot-new{margin-left:0;margin-right:5px}
[lang="ar"] .login-left{border-right:none;border-left:1px solid var(--border)}
@media(max-width:900px){ [lang="ar"] .main-area{margin-right:0} }

/* RTL — Tables */
[lang="ar"] .admin-table th{text-align:right}
[lang="ar"] .admin-table td{text-align:right}
[lang="ar"] .admin-table th:first-child,[lang="ar"] .admin-table td:first-child{text-align:center}

/* RTL — Page header */
[lang="ar"] .page-head{flex-direction:row-reverse;justify-content:flex-end}
[lang="ar"] .page-head div{text-align:right;margin-right:0;margin-left:auto}
[lang="ar"] .page-head h2{font-size:1.7rem;letter-spacing:0;border-bottom:2px solid var(--gold);padding-bottom:.35rem;display:inline-block;direction:rtl}
[lang="ar"] .page-head p{font-size:.85rem;direction:rtl}
[lang="ar"] .topbar-title{text-align:right;direction:rtl}
[lang="ar"] .admin-content h2,[lang="ar"] .admin-content h3{direction:rtl}

/* RTL — Dash cards */
[lang="ar"] .dash-card__head{flex-direction:row-reverse}
[lang="ar"] .dash-card__head h3{text-align:right}

/* RTL — Activity list */
[lang="ar"] .activity-list{direction:rtl}
[lang="ar"] .activity-item{
  flex-direction:row-reverse;
  align-items:flex-start;
  gap:10px;
  padding:.65rem .85rem;
  border-radius:8px;
  background:rgba(201,169,110,0.05);
  border:1px solid rgba(201,169,110,0.10)
}
[lang="ar"] .activity-dot{
  flex-shrink:0;
  margin-top:6px
}
[lang="ar"] .activity-body{
  direction:rtl;
  text-align:right;
  align-items:flex-end;
  flex:1;
  min-width:0;
  overflow:hidden
}
[lang="ar"] .activity-action,
[lang="ar"] .activity-who,
[lang="ar"] .activity-detail,
[lang="ar"] .activity-time{
  display:block;
  direction:rtl;
  text-align:right;
  unicode-bidi:plaintext;
  width:100%
}
[lang="ar"] .activity-detail{white-space:normal;word-break:break-word}
[lang="fr"] .activity-item{
  padding:.45rem .5rem;
  border-radius:6px;
  background:rgba(201,169,110,0.03);
  border:1px solid rgba(201,169,110,0.07)
}

/* RTL — dash-stats grid */
[lang="ar"] .dash-stats{direction:rtl}
[lang="ar"] .stat-card{
  flex-direction:row-reverse;
  text-align:right;
  padding-left:1.2rem;
  padding-right:1.4rem
}
[lang="ar"] .stat-card::before{
  left:auto !important;
  right:0 !important;
  border-radius:0 3px 3px 0 !important
}
[lang="ar"] .stat-card--gold::before,
[lang="ar"] .stat-card--blue::before,
[lang="ar"] .stat-card--green::before,
[lang="ar"] .stat-card--purple::before{
  left:auto !important;
  right:0 !important
}
[lang="ar"] .stat-card__icon{
  flex-shrink:0;
  order:2
}
[lang="ar"] .stat-card__body{
  order:1;
  text-align:right;
  align-items:flex-end;
  flex:1;
  min-width:0;
  width:100%
}
[lang="ar"] .stat-card__label{
  display:block;
  width:100%;
  text-align:right;
  letter-spacing:0;
  font-size:.74rem;
  white-space:normal
}
[lang="ar"] .stat-card__value{
  display:block;
  width:100%;
  text-align:right;
  direction:ltr;
  unicode-bidi:plaintext
}
[lang="ar"] .stat-card__sub{
  display:flex;
  flex-direction:row-reverse;
  gap:.25rem;
  justify-content:flex-end;
  width:100%;
  direction:rtl;
  text-align:right
}

/* RTL — Detail view */
[lang="ar"] .detail-row{flex-direction:row-reverse;text-align:right}
[lang="ar"] .detail-row span:first-child{text-align:right}

/* RTL — Forms */
[lang="ar"] .form-2col{direction:rtl}
[lang="ar"] .field-group label{text-align:right;display:block}
[lang="ar"] .settings-section__head h3{text-align:right}
[lang="ar"] .filters-form{flex-direction:row-reverse}

/* RTL — Quick actions & buttons */
[lang="ar"] .quick-actions{direction:rtl}
[lang="ar"] .chart-legend{direction:rtl}
[lang="ar"] .legend-val{margin-left:0;margin-right:auto}
[lang="ar"] .dropdown-item{flex-direction:row-reverse}
[lang="ar"] .dropdown-user-head{flex-direction:row-reverse;text-align:right}

/* RTL — Gallery admin */
[lang="ar"] .gallery-admin-info{text-align:right}

/* RTL — Topbar */
[lang="ar"] .topbar-right{flex-direction:row-reverse}
[lang="ar"] .topbar-user{flex-direction:row-reverse}
[lang="ar"] .user-info{text-align:right}


/* ══════════════════════════════════
   PPSM — additional status badges
   (apartment & reservation statuses,
   mapped onto the existing gold/dark palette)
══════════════════════════════════ */
.badge-available{background:rgba(52,211,153,.1);color:var(--green);border:1px solid rgba(52,211,153,.2)}
.badge-reserved{background:rgba(251,146,60,.1);color:var(--orange);border:1px solid rgba(251,146,60,.2)}
.badge-sold{background:rgba(201,169,110,.15);color:var(--gold);border:1px solid rgba(201,169,110,.2)}
.badge-blocked{background:rgba(248,113,113,.1);color:var(--red);border:1px solid rgba(248,113,113,.2)}
.badge-pending{background:rgba(96,165,250,.12);color:var(--blue);border:1px solid rgba(96,165,250,.2)}
.badge-approved{background:rgba(52,211,153,.1);color:var(--green);border:1px solid rgba(52,211,153,.2)}
.badge-cancelled{background:rgba(122,122,122,.12);color:var(--text-muted);border:1px solid var(--border)}
.badge-expired{background:rgba(122,122,122,.12);color:var(--text-muted);border:1px solid var(--border)}
.badge-none{background:rgba(122,122,122,.1);color:var(--text-muted);border:1px solid var(--border)}
.badge-medium{background:rgba(251,146,60,.1);color:var(--orange);border:1px solid rgba(251,146,60,.2)}
.badge-high{background:rgba(248,113,113,.1);color:var(--red);border:1px solid rgba(248,113,113,.2)}
.badge-critical{background:rgba(248,113,113,.18);color:#fff;border:1px solid var(--red)}

/* Inventory board tiles — reuse stat-card visual language */
.inv-building{background:var(--dark-3);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.2rem 1.4rem;margin-bottom:1.1rem}
.inv-building__title{font-family:var(--font-heading);font-size:1rem;font-weight:700;color:var(--white);margin-bottom:.9rem;padding-bottom:.6rem;border-bottom:1px solid var(--border)}
.inv-floor{display:flex;align-items:center;gap:.9rem;margin-bottom:.6rem}
.inv-floor__label{width:70px;flex-shrink:0;font-size:.72rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}
.inv-floor__units{display:flex;flex-wrap:wrap;gap:.5rem}
.inv-unit{display:inline-flex;align-items:center;justify-content:center;padding:.4rem .75rem;border-radius:var(--radius);font-size:.74rem;font-weight:700;letter-spacing:.02em;text-decoration:none;border:1px solid transparent;transition:transform var(--t),box-shadow var(--t)}
.inv-unit:hover{transform:translateY(-1px);box-shadow:var(--shadow)}
.inv-unit--available{background:rgba(52,211,153,.12);color:var(--green);border-color:rgba(52,211,153,.25)}
.inv-unit--reserved{background:rgba(251,146,60,.12);color:var(--orange);border-color:rgba(251,146,60,.25)}
.inv-unit--sold{background:rgba(201,169,110,.18);color:var(--gold);border-color:rgba(201,169,110,.3)}
.inv-unit--blocked{background:rgba(248,113,113,.12);color:var(--red);border-color:rgba(248,113,113,.25)}
.inv-legend{display:flex;gap:1.2rem;flex-wrap:wrap;margin-bottom:1.2rem;font-size:.78rem;color:var(--text-muted)}
.inv-legend span{display:inline-flex;align-items:center;gap:6px}
.inv-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}

/* Notification dropdown (topbar bell) */
.notif-dropdown{position:absolute;top:calc(100% + 8px);left:0;width:320px;max-height:380px;overflow-y:auto;background:var(--dark-3);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity var(--t),transform var(--t);z-index:400}
.notif-dropdown.open{opacity:1;transform:translateY(0);pointer-events:all}
[lang="ar"] .notif-dropdown{left:auto;right:0}
.notif-dropdown__item{display:block;padding:.7rem 1rem;border-bottom:1px solid var(--border-2);font-size:.78rem;color:var(--text)}
.notif-dropdown__item:last-child{border-bottom:none}
.notif-dropdown__item.unread{background:rgba(201,169,110,.05)}
.notif-dropdown__empty{padding:1.2rem;text-align:center;color:var(--text-muted);font-size:.8rem}

/* Duplicate-detection callout (kept on gold border like the note style already in the palette) */
.dup-alert{background:rgba(251,146,60,.08);border:1px solid rgba(251,146,60,.25);color:var(--orange);border-radius:var(--radius);padding:.85rem 1.1rem;margin-bottom:1.2rem;font-size:.85rem;font-weight:500}

/* Timeline list (apartment detail page) */
.timeline-list{display:flex;flex-direction:column;gap:0}
.timeline-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.68rem 0;border-bottom:1px solid var(--border-2);font-size:.83rem}
.timeline-item:last-child{border-bottom:none}
.timeline-item__meta{color:var(--text-muted);font-size:.7rem;white-space:nowrap}

/* Login: hint box reused for demo credentials removed from prod, kept for style parity */
.login-error-box{margin-bottom:1rem}

.btn-sm--gold{background:var(--gold);color:#1a1a1a;border-color:var(--gold);font-weight:600}
.btn-sm--gold:hover{background:var(--gold-light)}

/* Apartment photo gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.8rem}
.gallery-item{position:relative;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}
.gallery-item img{width:100%;height:100%;object-fit:cover;display:block}
.gallery-item__delete{position:absolute;top:6px;left:6px;margin:0}
[lang="ar"] .gallery-item__delete{left:auto;right:6px}
.gallery-item__delete button{width:24px;height:24px;border-radius:50%;border:none;background:rgba(0,0,0,.6);color:#fff;cursor:pointer;font-size:.8rem;line-height:1}
.gallery-item__delete button:hover{background:var(--red)}

.forgot-link{display:inline-block;margin-top:.4rem;font-size:.78rem;color:var(--gold);text-decoration:none}
.forgot-link:hover{text-decoration:underline}

/* Inline delete forms inside table action cells shouldn't add block spacing */
.admin-table td form{display:inline-block;margin:0}

/* Visual floor layout editor */
.layout-chip{display:inline-flex;align-items:center;gap:6px;padding:.4rem .7rem;border-radius:var(--radius);font-size:.72rem;font-weight:700;cursor:grab;user-select:none;border:1px solid transparent}
.layout-chip:active{cursor:grabbing}
.layout-chip--placed{position:absolute}
.layout-chip--available{background:rgba(52,211,153,.15);color:var(--green);border-color:rgba(52,211,153,.3)}
.layout-chip--reserved{background:rgba(251,146,60,.15);color:var(--orange);border-color:rgba(251,146,60,.3)}
.layout-chip--sold{background:rgba(201,169,110,.2);color:var(--gold);border-color:rgba(201,169,110,.35)}
.layout-chip--blocked{background:rgba(248,113,113,.15);color:var(--red);border-color:rgba(248,113,113,.3)}
.layout-chip__remove{background:none;border:none;color:inherit;cursor:pointer;font-size:.7rem;opacity:.7;padding:0;line-height:1}
.layout-chip__remove:hover{opacity:1}
#canvasWrap{max-width:100%;max-height:70vh}
