/* ============================================================
   RENTIVA v2 — Design System
   Cabinet Grotesk + General Sans · Terracotta & Bone palette
   ============================================================ */
@import url('https://api.fontshare.com/v2/css?f[]=cabinet-grotesk@800,500,700,900&f[]=general-sans@400,500,600,700&display=swap');

:root{
  --font-heading:'Cabinet Grotesk',ui-sans-serif,system-ui,sans-serif;
  --font-body:'General Sans',ui-sans-serif,system-ui,sans-serif;

  --c-primary:#D95D39;
  --c-primary-hover:#C04E2B;
  --c-primary-soft:#FCE9E1;
  --c-secondary:#0F380F;
  --c-accent:#F0A202;

  --c-bg:#F9F8F6;
  --c-surface:#FFFFFF;
  --c-surface-hover:#F2EFE9;
  --c-text:#1A1A1A;
  --c-muted:#66635E;
  --c-border:#E5E2DB;
  --c-border-strong:#CFC9BE;

  --c-success:#2D7A5D;
  --c-warning:#F0A202;
  --c-danger:#D03027;
  --c-info:#2E6FB0;

  --r-sm:4px; --r-md:8px; --r-lg:12px; --r-xl:20px; --r-pill:9999px;

  --sh-sm:0 1px 2px rgba(26,26,26,.05);
  --sh-md:0 4px 12px rgba(26,26,26,.08);
  --sh-lg:0 20px 40px rgba(26,26,26,.10);

  --t-fast:150ms cubic-bezier(.4,0,.2,1);
  --t-normal:280ms cubic-bezier(.4,0,.2,1);

  --sidebar-w:240px;
  --topbar-h:64px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:var(--font-body);
  background:var(--c-bg);
  color:var(--c-text);
  font-size:15px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font-family:inherit;cursor:pointer}
input,select,textarea{font-family:inherit}

h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;letter-spacing:-.02em;margin:0 0 .5rem;color:var(--c-text)}
h1{font-size:2.5rem;line-height:1.1;font-weight:800}
h2{font-size:1.875rem}
h3{font-size:1.375rem}
h4{font-size:1.125rem}

/* ---------- LAYOUT ---------- */
.container{max-width:1280px;margin:0 auto;padding:0 24px}
.container-sm{max-width:960px;margin:0 auto;padding:0 24px}

/* ---------- BUTTONS ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.35rem;font-weight:600;font-size:.9rem;border-radius:var(--r-pill);border:1px solid transparent;transition:transform var(--t-fast),background var(--t-fast),box-shadow var(--t-fast);cursor:pointer;text-decoration:none;white-space:nowrap}
.btn-primary{background:var(--c-primary);color:#fff}
.btn-primary:hover{background:var(--c-primary-hover);transform:translateY(-1px);box-shadow:var(--sh-md)}
.btn-secondary{background:var(--c-secondary);color:#fff}
.btn-secondary:hover{background:#082508;transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--c-text);border-color:var(--c-border)}
.btn-ghost:hover{background:var(--c-surface-hover)}
.btn-danger{background:var(--c-danger);color:#fff}
.btn-danger:hover{background:#a52620}
.btn-sm{padding:.5rem 1rem;font-size:.82rem}
.btn-lg{padding:.95rem 1.75rem;font-size:1rem}
.btn-block{width:100%}
.btn-saas{border-radius:var(--r-md)}

/* ---------- CARDS ---------- */
.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);overflow:hidden;transition:box-shadow var(--t-fast),transform var(--t-fast)}
.card:hover{box-shadow:var(--sh-md)}
.card-body{padding:1.5rem}
.card-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--c-border);display:flex;align-items:center;justify-content:space-between}
.card-title{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;margin:0}

/* ---------- BADGES ---------- */
.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-radius:var(--r-sm);background:var(--c-surface-hover);color:var(--c-text)}
.badge-primary{background:var(--c-primary-soft);color:var(--c-primary-hover)}
.badge-success{background:#DBEFE4;color:var(--c-success)}
.badge-warning{background:#FCEBC7;color:#A07300}
.badge-danger{background:#FBDDDA;color:var(--c-danger)}
.badge-info{background:#DBE7F5;color:var(--c-info)}
.badge-dark{background:var(--c-secondary);color:#fff}

/* ---------- FORMS ---------- */
label{display:block;font-size:.82rem;font-weight:600;color:var(--c-text);margin-bottom:.4rem}
.input,input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=date],input[type=file],select,textarea{
  width:100%;padding:.7rem .9rem;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);color:var(--c-text);font-size:.92rem;transition:border-color var(--t-fast),box-shadow var(--t-fast)
}
textarea{min-height:100px;resize:vertical}
.input:focus,input:focus,select:focus,textarea:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px rgba(217,93,57,.18)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-group{margin-bottom:1rem}
.form-hint{font-size:.78rem;color:var(--c-muted);margin-top:.35rem}

/* ---------- ALERTS ---------- */
.alert{padding:.85rem 1rem;border-radius:var(--r-md);border-left:4px solid;margin-bottom:1rem;font-size:.9rem}
.alert-success{background:#EEFAF3;border-color:var(--c-success);color:#154C39}
.alert-danger{background:#FDEEEC;border-color:var(--c-danger);color:#6B1815}
.alert-info{background:#EAF2FA;border-color:var(--c-info);color:#1B4A78}
.alert-warning{background:#FEF4E0;border-color:var(--c-warning);color:#6B4B00}

/* ---------- TABLE ---------- */
.table-wrap{overflow-x:auto;border-radius:var(--r-lg);border:1px solid var(--c-border);background:var(--c-surface)}
table.tbl{width:100%;border-collapse:collapse;font-size:.9rem}
table.tbl th{text-align:left;padding:.9rem 1rem;font-weight:500;color:var(--c-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;background:var(--c-bg);border-bottom:1px solid var(--c-border)}
table.tbl td{padding:.85rem 1rem;border-bottom:1px solid var(--c-border);vertical-align:middle}
table.tbl tr:last-child td{border-bottom:none}
table.tbl tbody tr:hover{background:var(--c-surface-hover)}

/* ---------- DASHBOARD SHELL ---------- */
.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}
.sidebar{background:var(--c-surface);border-right:1px solid var(--c-border);padding:1.25rem 0;position:sticky;top:0;height:100vh;overflow-y:auto}
.sidebar-brand{display:flex;align-items:center;gap:.6rem;padding:0 1.25rem 1.5rem;border-bottom:1px solid var(--c-border);margin-bottom:1rem}
.sidebar-brand .logo-mark{width:34px;height:34px;background:var(--c-primary);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-heading);font-weight:900;font-size:1.05rem}
.sidebar-brand .logo-text{font-family:var(--font-heading);font-weight:800;font-size:1.2rem;letter-spacing:-.02em}
.sidebar-section{padding:.75rem 1.25rem .25rem;font-size:.7rem;font-weight:600;color:var(--c-muted);text-transform:uppercase;letter-spacing:.08em}
.sidebar a.nav{display:flex;align-items:center;gap:.75rem;padding:.6rem 1.25rem;color:var(--c-text);font-size:.9rem;font-weight:500;border-left:3px solid transparent;transition:background var(--t-fast)}
.sidebar a.nav:hover{background:var(--c-surface-hover)}
.sidebar a.nav.active{background:var(--c-primary-soft);border-left-color:var(--c-primary);color:var(--c-primary-hover);font-weight:600}
.sidebar a.nav i{width:18px;height:18px}
.main{display:flex;flex-direction:column;min-width:0}
.topbar{height:var(--topbar-h);background:var(--c-surface);border-bottom:1px solid var(--c-border);display:flex;align-items:center;justify-content:space-between;padding:0 1.75rem;position:sticky;top:0;z-index:20}
.topbar .search{display:flex;align-items:center;gap:.5rem;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--r-pill);padding:.45rem .9rem;min-width:280px;color:var(--c-muted)}
.topbar .search input{border:none;background:transparent;padding:0;font-size:.9rem}
.topbar .search input:focus{box-shadow:none}
.topbar-actions{display:flex;align-items:center;gap:.9rem}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--c-primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--font-heading);font-size:.9rem}
.content{padding:1.75rem;flex:1}
.page-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}
.page-head h1{font-size:1.75rem;margin:0}
.page-head .sub{color:var(--c-muted);font-size:.9rem;margin-top:.25rem}

/* ---------- KPI GRID ---------- */
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1.5rem}
.kpi{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:1.25rem}
.kpi .k-top{display:flex;justify-content:space-between;align-items:center;color:var(--c-muted);font-size:.82rem;font-weight:500;margin-bottom:.75rem}
.kpi .k-icon{width:32px;height:32px;border-radius:var(--r-md);background:var(--c-primary-soft);color:var(--c-primary);display:flex;align-items:center;justify-content:center}
.kpi .k-value{font-family:var(--font-heading);font-size:1.8rem;font-weight:800;line-height:1;margin-bottom:.5rem}
.kpi .k-trend{font-size:.8rem;font-weight:600;display:flex;align-items:center;gap:.25rem}
.kpi .k-trend.up{color:var(--c-success)}
.kpi .k-trend.down{color:var(--c-danger)}

/* ---------- QUICK MENU CARDS (dashboard shortcuts) ---------- */
.menu-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}
.menu-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:1.25rem;text-decoration:none;color:var(--c-text);display:flex;flex-direction:column;gap:.6rem;transition:all var(--t-fast);position:relative;overflow:hidden}
.menu-card:hover{transform:translateY(-3px);box-shadow:var(--sh-md);border-color:var(--c-primary)}
.menu-card .mc-icon{width:42px;height:42px;border-radius:12px;background:var(--c-primary-soft);color:var(--c-primary);display:flex;align-items:center;justify-content:center;transition:background var(--t-fast)}
.menu-card:hover .mc-icon{background:var(--c-primary);color:#fff}
.menu-card .mc-title{font-family:var(--font-heading);font-weight:700;font-size:1rem;letter-spacing:-.01em}
.menu-card .mc-sub{color:var(--c-muted);font-size:.8rem;line-height:1.4}
.menu-card .mc-arrow{position:absolute;top:1.25rem;right:1.25rem;color:var(--c-muted);opacity:0;transform:translateX(-6px);transition:all var(--t-fast)}
.menu-card:hover .mc-arrow{opacity:1;transform:translateX(0)}
.menu-card .mc-count{position:absolute;top:1.25rem;right:1.25rem;background:var(--c-primary);color:#fff;font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:9999px}
.menu-card.mc-alert .mc-icon{background:#FBDDDA;color:var(--c-danger)}
.menu-card.mc-alert:hover .mc-icon{background:var(--c-danger);color:#fff}
.menu-card.mc-success .mc-icon{background:#DBEFE4;color:var(--c-success)}
.menu-card.mc-success:hover .mc-icon{background:var(--c-success);color:#fff}
.menu-card.mc-accent .mc-icon{background:#FCEBC7;color:#A07300}
.menu-card.mc-accent:hover .mc-icon{background:var(--c-accent);color:#fff}

/* ---------- NOTIFICATIONS DROPDOWN ---------- */
.notif-wrap{position:relative}
.notif-bell{background:transparent;border:none;padding:.5rem;cursor:pointer;color:var(--c-muted);position:relative;border-radius:8px;transition:background var(--t-fast)}
.notif-bell:hover{background:var(--c-surface-hover);color:var(--c-text)}
.notif-badge{position:absolute;top:2px;right:2px;background:var(--c-primary);color:#fff;font-size:.65rem;font-weight:700;border-radius:9999px;padding:1px 5px;min-width:16px;text-align:center}
.notif-panel{position:absolute;top:calc(100% + 8px);right:0;width:380px;max-height:520px;background-color:#FFFFFF;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--sh-lg);z-index:1000;overflow:hidden;display:none;flex-direction:column}
.notif-panel.open{display:flex;animation:notifIn var(--t-normal)}
@keyframes notifIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.notif-head{padding:1rem 1.25rem;border-bottom:1px solid var(--c-border);display:flex;justify-content:space-between;align-items:center}
.notif-head h4{margin:0;font-size:1rem;font-family:var(--font-heading);font-weight:700}
.notif-list{overflow-y:auto;max-height:400px;flex:1}
.notif-item{display:flex;gap:.75rem;padding:.85rem 1.25rem;border-bottom:1px solid var(--c-border);cursor:pointer;transition:background var(--t-fast);text-decoration:none;color:inherit}
.notif-item:hover{background:var(--c-surface-hover)}
.notif-item.unread{background:linear-gradient(90deg, rgba(217,93,57,.06), transparent 60%)}
.notif-item.unread::before{content:"";width:6px;height:6px;background:var(--c-primary);border-radius:50%;margin-top:.5rem;flex:0 0 6px}
.notif-item .ni-icon{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--c-primary-soft);color:var(--c-primary);flex:0 0 34px}
.notif-item.type-success .ni-icon{background:#DBEFE4;color:var(--c-success)}
.notif-item.type-warning .ni-icon{background:#FCEBC7;color:#A07300}
.notif-item.type-danger .ni-icon,.notif-item.type-alert .ni-icon{background:#FBDDDA;color:var(--c-danger)}
.notif-item .ni-body{flex:1;min-width:0}
.notif-item .ni-title{font-weight:600;font-size:.9rem;color:var(--c-text);margin-bottom:.15rem}
.notif-item .ni-msg{color:var(--c-muted);font-size:.82rem;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.notif-item .ni-time{color:var(--c-muted);font-size:.72rem;margin-top:.35rem}
.notif-empty{text-align:center;padding:3rem 1rem;color:var(--c-muted)}
.notif-empty i{width:44px;height:44px;color:var(--c-border-strong);margin-bottom:.75rem}
.notif-foot{padding:.75rem 1.25rem;border-top:1px solid var(--c-border);text-align:center}
@media(max-width:768px){.notif-panel{position:fixed;top:var(--topbar-h);right:0;left:0;width:auto;border-radius:0;max-height:calc(100vh - var(--topbar-h))}}

/* ---------- MARKETPLACE PROPERTY CARD ---------- */
.p-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);overflow:hidden;transition:transform var(--t-fast),box-shadow var(--t-fast);display:flex;flex-direction:column}
.p-card:hover{transform:translateY(-4px);box-shadow:var(--sh-lg)}
.p-card .img{height:200px;background:var(--c-surface-hover);position:relative;overflow:hidden}
.p-card .img img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-normal)}
.p-card:hover .img img{transform:scale(1.05)}
.p-card .img .tag{position:absolute;top:12px;left:12px;background:rgba(15,56,15,.9);color:#fff;padding:.3rem .65rem;border-radius:var(--r-pill);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.p-card .img .fav{position:absolute;top:12px;right:12px;background:rgba(255,255,255,.95);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--c-muted);border:none}
.p-card .img .fav:hover{color:var(--c-primary)}
.p-card .body{padding:1.15rem;display:flex;flex-direction:column;flex:1}
.p-card .price{font-family:var(--font-heading);font-size:1.35rem;font-weight:800;color:var(--c-text)}
.p-card .price small{color:var(--c-muted);font-size:.75rem;font-weight:500}
.p-card .title{font-family:var(--font-heading);font-size:1.05rem;font-weight:700;margin:.3rem 0 .25rem;letter-spacing:-.01em}
.p-card .loc{color:var(--c-muted);font-size:.85rem;display:flex;align-items:center;gap:.35rem;margin-bottom:.75rem}
.p-card .meta{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:auto;padding-top:.75rem;border-top:1px solid var(--c-border)}
.p-card .meta span{font-size:.75rem;color:var(--c-muted);display:inline-flex;align-items:center;gap:.25rem}

/* ---------- MARKETPLACE HERO ---------- */
.mp-hero{position:relative;min-height:520px;color:#fff;overflow:hidden;background:#0F380F}
.mp-hero .bg{position:absolute;inset:0}
.mp-hero .bg img{width:100%;height:100%;object-fit:cover;opacity:.55}
.mp-hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,56,15,.45),rgba(15,56,15,.85))}
.mp-hero .container{position:relative;padding-top:110px;padding-bottom:80px}
.mp-hero h1{font-size:3.5rem;font-weight:800;max-width:820px;line-height:1.05;color:#fff;letter-spacing:-.03em}
.mp-hero p.lead{font-size:1.15rem;max-width:640px;opacity:.9;margin:1rem 0 2rem}
.mp-searchbar{background:#fff;border-radius:var(--r-xl);padding:.85rem;display:flex;gap:.5rem;flex-wrap:wrap;box-shadow:var(--sh-lg);color:var(--c-text);max-width:900px}
.mp-searchbar select,.mp-searchbar input{border:none;background:var(--c-bg);border-radius:var(--r-md);padding:.85rem 1rem;flex:1;min-width:140px}
.mp-searchbar select:focus,.mp-searchbar input:focus{box-shadow:none;background:#fff;border:1px solid var(--c-primary)}
.mp-searchbar .btn{padding:.85rem 1.5rem}

/* ---------- PUBLIC NAVBAR ---------- */
.pnav{background:var(--c-surface);border-bottom:1px solid var(--c-border);position:sticky;top:0;z-index:30}
.pnav-inner{display:flex;align-items:center;justify-content:space-between;padding:1rem 0}
.pnav .brand{display:flex;align-items:center;gap:.6rem;font-family:var(--font-heading);font-weight:800;font-size:1.35rem;letter-spacing:-.02em}
.pnav .brand .mark{width:34px;height:34px;background:var(--c-primary);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-heading);font-weight:900}
.pnav ul{display:flex;list-style:none;gap:2rem;margin:0;padding:0}
.pnav ul a{font-size:.92rem;font-weight:500;color:var(--c-text);transition:color var(--t-fast)}
.pnav ul a:hover{color:var(--c-primary)}
.pnav .cta{display:flex;gap:.6rem;align-items:center}

/* ---------- FOOTER ---------- */
.pfooter{background:#0F380F;color:#DDE6DA;padding:4rem 0 2rem;margin-top:5rem}
.pfooter h4{color:#fff;font-family:var(--font-heading);font-weight:700;margin-bottom:1rem;font-size:.9rem;text-transform:uppercase;letter-spacing:.08em}
.pfooter a{display:block;padding:.3rem 0;color:#B5C4B0;font-size:.9rem}
.pfooter a:hover{color:#fff}
.pfooter-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2.5rem}
.pfooter-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:3rem;padding-top:1.5rem;font-size:.85rem;opacity:.75;text-align:center}

/* ---------- UTILS ---------- */
.grid{display:grid}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.flex{display:flex}
.items-center{align-items:center}
.justify-between{justify-content:space-between}
.gap-1{gap:.5rem}.gap-2{gap:1rem}.gap-3{gap:1.5rem}
.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}
.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}
.p-2{padding:1rem}.p-3{padding:1.5rem}.p-4{padding:2rem}
.text-muted{color:var(--c-muted)}
.text-primary{color:var(--c-primary)}
.text-success{color:var(--c-success)}
.text-danger{color:var(--c-danger)}
.text-sm{font-size:.85rem}
.text-xs{font-size:.75rem}
.text-lg{font-size:1.1rem}
.font-heading{font-family:var(--font-heading)}
.fw-700{font-weight:700}
.rounded{border-radius:var(--r-md)}
.empty-state{text-align:center;padding:3rem 1rem;color:var(--c-muted)}
.empty-state i{width:48px;height:48px;color:var(--c-border-strong);margin-bottom:1rem}

/* ---------- RESPONSIVE ---------- */
.hide-mobile{display:inline}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.table-wrap table{min-width:640px}

/* Public nav hamburger (hidden on desktop) */
.pnav-toggle{display:none;background:transparent;border:1px solid var(--c-border);border-radius:8px;padding:.55rem .6rem;cursor:pointer;flex-direction:column;gap:4px;width:42px;height:42px;align-items:center;justify-content:center}
.pnav-toggle span{width:22px;height:2px;background:var(--c-secondary);border-radius:2px;transition:transform var(--t-fast),opacity var(--t-fast)}
body.pnav-open .pnav-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
body.pnav-open .pnav-toggle span:nth-child(2){opacity:0}
body.pnav-open .pnav-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

@media(max-width:1024px){
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mp-hero h1{font-size:2.5rem}
  .page-head{flex-wrap:wrap}
}
@media(max-width:768px){
  .hide-mobile{display:none}
  .app{grid-template-columns:1fr}
  .sidebar{position:fixed;left:-260px;z-index:40;transition:left var(--t-normal);box-shadow:var(--sh-lg);width:260px;top:0;bottom:0;height:100vh;overflow-y:auto}
  .sidebar.open{left:0}
  body.sidebar-open::after{content:"";position:fixed;inset:0;background:rgba(15,56,15,.5);z-index:35;backdrop-filter:blur(2px)}
  .topbar{padding:0 1rem;gap:.5rem}
  #sidebar-toggle{display:inline-flex !important}
  .topbar .search{min-width:0;flex:1;max-width:none}
  .topbar .search input{font-size:16px}

  /* Public nav — full-width slide-down menu */
  .pnav-toggle{display:flex}
  .pnav .pnav-inner{flex-wrap:wrap;padding:.75rem 1rem;gap:.5rem}
  .pnav ul{display:none;flex-basis:100%;flex-direction:column;padding:0;margin:0;list-style:none;order:99;background:var(--c-surface);border-top:1px solid var(--c-border);margin:0 -1rem}
  .pnav ul li{border-bottom:1px solid var(--c-border-light,var(--c-border))}
  .pnav ul li a{display:block;padding:.85rem 1rem;text-decoration:none;color:var(--c-text)}
  .pnav ul li a:hover{background:var(--c-surface-hover)}
  body.pnav-open .pnav ul{display:flex}
  .pnav .cta{flex-basis:100%;order:100;padding-top:.4rem;display:none;flex-direction:column;gap:.4rem}
  body.pnav-open .pnav .cta{display:flex}
  .pnav .cta .btn{width:100%;justify-content:center}

  .grid-3,.grid-2{grid-template-columns:1fr}
  .mp-hero h1{font-size:2rem}
  .form-row{grid-template-columns:1fr;gap:0}
  .pfooter-grid{grid-template-columns:1fr 1fr}
  .content{padding:1rem}
  h1{font-size:1.5rem}
  h2{font-size:1.35rem}
  .page-head{flex-direction:column;align-items:flex-start;gap:.75rem}
  .page-head > .flex, .page-head > div{width:100%;flex-wrap:wrap}
  .menu-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .card.p-3, .card.p-4{padding:1rem}
  .btn.btn-lg{padding:.85rem 1.25rem;font-size:.95rem}
  section.pad{padding:2.5rem 0}
  .section-head{margin-bottom:1.75rem}
  .mp-searchbar{grid-template-columns:1fr}
  .p-card .img{height:170px}
  input,select,textarea{font-size:16px}   /* prevent iOS auto-zoom */
  .tbl th, .tbl td{padding:.6rem .5rem;font-size:.85rem}
  .notif-panel{width:calc(100vw - 2rem);right:-.5rem;max-height:70vh}
  .container{padding-left:1rem;padding-right:1rem}
  /* Force any hard-coded flex/grid to wrap on tiny screens */
  [style*="display:flex"]{flex-wrap:wrap}
  img{max-width:100%;height:auto}
  pre, code{max-width:100%;overflow-x:auto;word-break:break-word}
}
@media(max-width:480px){
  .menu-cards{grid-template-columns:1fr}
  .grid[style*="grid-template-columns"]{grid-template-columns:1fr !important}
  .flex.gap-1{gap:.35rem}
  .stats-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .brand{font-size:1.1rem}
  h1{font-size:1.35rem}
  .page-head .sub{font-size:.85rem}
  .btn{font-size:.85rem;padding:.55rem .85rem}
  .card{border-radius:12px}
  .p-card{border-radius:12px}
}

.verified-badge{display:inline-flex;align-items:center;gap:.25rem;background:linear-gradient(135deg,#0F380F,#1a4d1a);color:#fff;font-size:.7rem;padding:2px 8px;border-radius:20px;margin-left:.4rem;vertical-align:middle;letter-spacing:.03em;font-weight:600}
.verified-badge svg{stroke:#F5B96A}
.p-card .verified-strip{position:absolute;top:8px;left:8px;background:rgba(15,56,15,.92);color:#fff;font-size:.65rem;padding:3px 8px;border-radius:16px;font-weight:600;letter-spacing:.05em;display:flex;align-items:center;gap:.2rem;backdrop-filter:blur(4px)}
.p-card .verified-strip svg{stroke:#F5B96A;width:12px;height:12px}

/* ---------- SECTIONS ---------- */
section.pad{padding:5rem 0}
.section-head{max-width:720px;margin-bottom:3rem}
.section-head .eyebrow{display:inline-block;background:var(--c-primary-soft);color:var(--c-primary-hover);padding:.3rem .75rem;border-radius:var(--r-pill);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem}

/* ---------- AUTH ---------- */
.auth-wrap{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}
.auth-hero{background:linear-gradient(160deg,var(--c-secondary),#1a4d1a);color:#fff;padding:3rem;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.auth-hero::before{content:"";position:absolute;width:400px;height:400px;background:var(--c-primary);border-radius:50%;top:-100px;right:-100px;opacity:.15;filter:blur(80px)}
.auth-hero h2{color:#fff;font-size:2.5rem;line-height:1.1;position:relative}
.auth-hero p{opacity:.9;position:relative;max-width:400px}
.auth-form{padding:3rem;display:flex;align-items:center;justify-content:center;background:var(--c-bg)}
.auth-form .box{width:100%;max-width:420px}
@media(max-width:900px){.auth-wrap{grid-template-columns:1fr}.auth-hero{display:none}}
