/* === BRUTALISTE ÉDITORIAL — SCV IMMO (espace client) === */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;0,900;1,400;1,700;1,900&family=Source+Serif+4:ital,opsz,wght@0,8..60,300;0,8..60,400;0,8..60,500;0,8..60,600;0,8..60,700;1,8..60,400&family=JetBrains+Mono:wght@400;500;600;700&display=swap');

:root{
  --paper:#FFFFFF;
  --paper-2:#EEF1F7;
  --ink:#1E47C7;
  --ink-2:#15349A;
  --ink-soft:#7A8AA8;
  --rule:#1E47C7;
  --brick:#0A2785;
  --brick-dark:#061858;
  --cream:#FBFCFE;
  --sky:#9DB8FF;

  /* legacy aliases (compat avec inline styles existants) */
  --primary:#1E47C7;
  --primary-dark:#15349A;
  --primary-light:#EEF1F7;
  --primary-glow:#9DB8FF;
  --primary-subtle:#FBFCFE;
  --bg:#FFFFFF;
  --surface:#FFFFFF;
  --dark:#1E47C7;
  --border:#1E47C7;
  --text:#1E47C7;
  --text-light:#15349A;
  --text-muted:#7A8AA8;
  --gray-100:#EEF1F7;
  --gray-200:#D6DCE8;
  --gray-300:#B6BFD0;
  --gray-400:#7A8AA8;
  --gray-500:#7A8AA8;
  --gray-700:#2C3A55;
  --gray-900:#0E1B33;
  --radius-sm:0;
  --radius-md:0;
  --radius-lg:0;
  --shadow-sm:none;
  --shadow-md:none;
  --font:'Source Serif 4','Source Serif Pro',Georgia,serif;
  --font-heading:'Playfair Display','Times New Roman',serif;
  --font-mono:'JetBrains Mono','IBM Plex Mono',monospace;
}

/* ── Reset ───────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font);
  color:var(--ink);
  background:var(--paper);
  display:flex;flex-direction:column;min-height:100vh;
  line-height:1.55;
  font-feature-settings:"liga","kern","onum";
  -webkit-font-smoothing:antialiased;
}
a{color:var(--brick);text-decoration:none;transition:color .15s linear;}
a:hover{color:var(--ink);}

/* Lucide icon sizing — kept */
.nav-menu i[data-lucide],
.section-header i[data-lucide],
.page-header i[data-lucide],
.card h3 i[data-lucide]{
  width:14px;height:14px;vertical-align:-2px;margin-right:8px;color:var(--brick);
}

/* ── Header ─────────────────────────────────────────── */
.header{
  background:var(--paper);
  color:var(--ink);
  padding:18px 40px;
  display:flex;align-items:center;justify-content:space-between;
  border-bottom:2px solid var(--ink);
  position:sticky;top:0;z-index:50;
  font-family:var(--font-mono);
}
.header h1{
  font-family:var(--font-heading);
  font-size:1.45rem;font-weight:900;font-style:italic;
  letter-spacing:-0.02em;text-transform:none;line-height:1;
}
.header h1 a{color:var(--ink);}
.header h1 span{color:var(--brick);font-style:normal;font-weight:400;padding:0 2px;}

.header-nav-links{display:flex;gap:28px;align-items:center;}
.header-nav-links a{
  font-family:var(--font-mono);
  text-transform:uppercase;letter-spacing:0.14em;font-size:11px;
  color:var(--ink);font-weight:500;
  padding:6px 0;border-bottom:2px solid transparent;
  transition:border-color .15s linear;
}
.header-nav-links a:hover,.header-nav-links a.active{border-bottom-color:var(--brick);color:var(--ink);}

.header-actions{display:flex;gap:14px;align-items:center;}
.header-actions a,
.header-actions button{
  background:var(--paper);cursor:pointer;
  color:var(--ink);font-family:var(--font-mono);
  text-transform:uppercase;letter-spacing:0.14em;font-size:11px;font-weight:600;
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 16px;border:2px solid var(--ink);
  transition:background .15s linear,color .15s linear;
}
.header-actions button:hover,
.header-actions a:hover{background:var(--ink);color:var(--paper);}
.header-actions button i[data-lucide],
.header-actions a i[data-lucide]{width:12px;height:12px;color:inherit;margin:0;}

/* Generic nav classes (used on annonce.html etc.) */
nav{
  position:relative;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  padding:18px 40px;background:var(--paper);
  border-bottom:2px solid var(--ink);
  font-family:var(--font-mono);
}
.nav-logo{
  font-family:var(--font-heading);
  font-weight:900;font-style:italic;
  font-size:1.45rem;color:var(--ink);
  letter-spacing:-0.02em;white-space:nowrap;
}
.nav-logo .amp{font-style:normal;color:var(--brick);font-weight:400;padding:0 2px;}
.nav-logo span{color:var(--brick);font-style:normal;font-weight:400;padding:0 2px;}
.nav-links{display:flex;gap:28px;list-style:none;align-items:center;justify-content:flex-end;}
.nav-links a{
  font-family:var(--font-mono);text-transform:uppercase;letter-spacing:0.14em;font-size:11px;
  color:var(--ink);font-weight:500;padding:6px 0;
  border-bottom:2px solid transparent;transition:border-color .15s linear;
}
.nav-links a:hover,.nav-links a.active{border-bottom-color:var(--brick);}
.nav-cta{
  background:var(--ink) !important;color:var(--paper) !important;
  padding:10px 18px !important;border-bottom:none !important;position:relative;
}
.nav-cta::after{content:'';position:absolute;inset:4px -4px -4px 4px;background:var(--brick);z-index:-1;}
.nav-cta:hover{background:var(--brick) !important;}
.nav-cta:hover::after{background:var(--ink);}

/* ── Dashboard layout ───────────────────────────────── */
.dashboard{
  display:grid;
  grid-template-columns:260px 1fr 300px;
  gap:24px;width:100%;max-width:1280px;
  margin:32px auto;padding:0 24px;
}

/* ── Sidebar ────────────────────────────────────────── */
.sidebar{display:flex;flex-direction:column;gap:18px;}

.profile-card{
  background:var(--ink);color:var(--paper);
  padding:24px;border:2px solid var(--ink);text-align:left;
  position:relative;font-family:var(--font);
}
.profile-card::after{content:'';position:absolute;inset:6px -6px -6px 6px;background:var(--brick);z-index:-1;}
.profile-card .name{
  font-family:var(--font-heading);font-style:italic;font-weight:900;
  font-size:1.3rem;letter-spacing:-0.02em;line-height:1.1;margin-bottom:6px;
}
.profile-card .role{
  font-family:var(--font-mono);font-size:10px;letter-spacing:0.18em;
  text-transform:uppercase;color:var(--sky);font-weight:600;
}
.profile-card .account{
  font-family:var(--font-mono);font-size:10px;letter-spacing:0.14em;
  text-transform:uppercase;color:var(--paper);opacity:.55;margin-top:10px;
}

.address-card{
  background:var(--paper);padding:18px 20px;
  font-family:var(--font);font-size:.92rem;line-height:1.55;
  border:2px solid var(--ink);
}
.address-card strong{
  color:var(--ink);font-family:var(--font-heading);font-weight:700;font-size:1rem;
}

.nav-menu{list-style:none;border-top:2px solid var(--ink);}
.nav-menu li{border-bottom:1px solid var(--ink);position:relative;}
.nav-menu li a{
  display:flex;align-items:center;gap:10px;
  padding:14px 14px;font-size:13px;color:var(--ink);
  font-family:var(--font-mono);text-transform:uppercase;letter-spacing:0.12em;font-weight:500;
  transition:background .15s,color .15s;
}
.nav-menu li a:hover,.nav-menu li a.active{
  background:var(--ink);color:var(--paper);
}
.nav-menu li a:hover i[data-lucide],
.nav-menu li a.active i[data-lucide]{color:var(--sky);}

/* ── Notification badges ────────────────────────────── */
.notif-badge{
  position:absolute;top:50%;right:14px;transform:translateY(-50%);
  min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;
  background:var(--brick);color:var(--paper);
  font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.05em;
  padding:0 6px;border-radius:0;
}
.nav-menu li a:hover .notif-badge,
.nav-menu li a.active .notif-badge{background:var(--sky);color:var(--ink);}

/* ── Main content ───────────────────────────────────── */
.main{display:flex;flex-direction:column;gap:32px;}

.section-header{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:14px;padding-bottom:12px;border-bottom:2px solid var(--ink);
}
.section-header h2,
.main section h2{
  font-family:var(--font-heading);font-weight:900;font-style:italic;
  font-size:1.5rem;letter-spacing:-0.02em;color:var(--ink);
  display:flex;align-items:center;gap:8px;text-transform:none;
}
.main section h2{padding-bottom:12px;border-bottom:2px solid var(--ink);margin-bottom:14px;}

/* page-header (used on biens.html etc.) */
.page-header{
  padding:24px 0;border-bottom:2px solid var(--ink);margin-bottom:24px;
}
.page-header h1,.page-header h2{
  font-family:var(--font-heading);font-weight:900;font-style:italic;
  font-size:2.2rem;letter-spacing:-0.025em;line-height:1;
}

/* ── Buttons ────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:14px 22px;border:2px solid var(--ink);background:var(--paper);color:var(--ink);
  cursor:pointer;
  font-family:var(--font-mono);font-size:11px;letter-spacing:0.18em;
  text-transform:uppercase;font-weight:700;
  position:relative;transition:transform .12s ease;border-radius:0;
}
.btn::after{
  content:'';position:absolute;inset:5px -5px -5px 5px;
  background:var(--ink);z-index:-1;transition:inset .15s ease;
}
.btn:hover{transform:translate(-2px,-2px);}
.btn:hover::after{inset:7px -7px -7px 7px;}
.btn-primary{background:var(--ink);color:var(--paper);}
.btn-primary::after{background:var(--brick);}

.btn-create,.btn-save,.btn-submit,.btn-upload,.btn-faire-demande,.btn-browse,.btn-proof{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:12px 22px;border:2px solid var(--ink);background:var(--ink);color:var(--paper);
  cursor:pointer;
  font-family:var(--font-mono);font-size:11px;letter-spacing:0.18em;
  text-transform:uppercase;font-weight:700;border-radius:0;
  position:relative;transition:transform .12s ease;
}
.btn-create::after,.btn-save::after,.btn-submit::after,.btn-upload::after,
.btn-faire-demande::after,.btn-browse::after,.btn-proof::after{
  content:'';position:absolute;inset:5px -5px -5px 5px;background:var(--brick);z-index:-1;
  transition:inset .15s ease;
}
.btn-create:hover,.btn-save:hover,.btn-submit:hover,.btn-upload:hover,
.btn-faire-demande:hover,.btn-browse:hover,.btn-proof:hover{transform:translate(-2px,-2px);}
.btn-create:hover::after,.btn-save:hover::after,.btn-submit:hover::after,
.btn-upload:hover::after,.btn-faire-demande:hover::after,.btn-browse:hover::after,
.btn-proof:hover::after{inset:7px -7px -7px 7px;}

.btn-cancel{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 22px;border:2px solid var(--ink);background:var(--paper);color:var(--ink);
  cursor:pointer;font-family:var(--font-mono);font-size:11px;letter-spacing:0.18em;
  text-transform:uppercase;font-weight:700;border-radius:0;
}
.btn-cancel:hover{background:var(--ink);color:var(--paper);}

.btn-danger{
  display:inline-flex;align-items:center;gap:8px;padding:10px 18px;
  border:2px solid var(--ink);background:var(--brick);color:var(--paper);
  font-family:var(--font-mono);font-size:11px;letter-spacing:0.18em;
  text-transform:uppercase;font-weight:700;cursor:pointer;border-radius:0;
}
.btn-danger:hover{background:var(--ink);}

/* ── Tables ─────────────────────────────────────────── */
table,.data-table{
  width:100%;border-collapse:collapse;background:var(--paper);
  border:2px solid var(--ink);border-radius:0;
}
thead th{
  background:var(--ink);color:var(--paper);text-align:left;
  padding:14px 16px;font-family:var(--font-mono);font-size:11px;
  letter-spacing:0.18em;text-transform:uppercase;font-weight:600;
  border-right:1px solid rgba(255,255,255,.15);
}
thead th:last-child{border-right:0;}
tbody td{
  padding:14px 16px;font-family:var(--font);font-size:.92rem;
  line-height:1.5;color:var(--ink-2);border-bottom:1px solid var(--ink);
}
tbody tr:last-child td{border-bottom:0;}
tbody tr:hover{background:var(--paper-2);}

.amount-credit{color:var(--brick);font-weight:700;font-family:var(--font-mono);}
.amount-debit{color:#A33;font-weight:700;font-family:var(--font-mono);}

/* ── Balance card ───────────────────────────────────── */
.balance-card{
  background:var(--ink);color:var(--paper);
  padding:32px 28px;border:2px solid var(--ink);text-align:left;
  position:relative;
}
.balance-card::after{content:'';position:absolute;inset:6px -6px -6px 6px;background:var(--brick);z-index:-1;}
.balance-card .label{
  font-family:var(--font-mono);font-size:11px;letter-spacing:0.2em;
  text-transform:uppercase;color:var(--sky);margin-bottom:10px;font-weight:600;
}
.balance-card .amount{
  font-family:var(--font-heading);font-style:italic;font-weight:900;
  font-size:2.6rem;color:var(--paper);letter-spacing:-0.03em;line-height:1;
}

/* ── Right sidebar cards ────────────────────────────── */
.right-sidebar{display:flex;flex-direction:column;gap:18px;}

.card{
  background:var(--paper);padding:22px 24px;
  border:2px solid var(--ink);
  transition:background .15s linear;
}
.card:hover{background:var(--paper-2);}
.card h3{
  font-family:var(--font-heading);font-weight:900;font-style:italic;
  font-size:1.15rem;letter-spacing:-0.015em;color:var(--ink);
  margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--ink);
  display:flex;align-items:center;gap:8px;
}
.card p{font-size:.92rem;line-height:1.55;color:var(--ink-2);}
.card .detail{color:var(--ink-soft);font-size:.85rem;margin-top:6px;}

/* ── Forms ──────────────────────────────────────────── */
.form-group{margin-bottom:18px;}
.form-group label{
  display:block;font-family:var(--font-mono);font-size:11px;
  letter-spacing:0.18em;text-transform:uppercase;font-weight:600;
  color:var(--ink);margin-bottom:8px;
}
.form-group input,
.form-group select,
.form-group textarea{
  width:100%;padding:12px 14px;
  border:2px solid var(--ink);background:var(--paper);
  color:var(--ink);font-family:var(--font);font-size:.95rem;
  border-radius:0;outline:none;transition:box-shadow .15s linear;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
  background:var(--paper-2);box-shadow:4px 4px 0 var(--brick);
}
.form-group input::placeholder,
.form-group textarea::placeholder{color:var(--ink-soft);font-style:italic;}

.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px;}

/* ── Login page ─────────────────────────────────────── */
.login-wrapper{
  display:flex;align-items:center;justify-content:center;
  min-height:calc(100vh - 60px);background:var(--paper);
  padding:40px 24px;
}
.login-wrapper::before,.login-wrapper::after{display:none;}
.login-box{
  background:var(--paper);padding:48px 44px;
  width:100%;max-width:440px;
  border:2px solid var(--ink);position:relative;
}
.login-box::after{content:'';position:absolute;inset:8px -8px -8px 8px;background:var(--brick);z-index:-1;}
.login-box h2{
  text-align:left;color:var(--ink);
  font-family:var(--font-heading);font-style:italic;font-weight:900;
  font-size:2.2rem;letter-spacing:-0.025em;line-height:1;margin-bottom:8px;
  text-transform:none;
}
.login-box h2 span{color:var(--brick);font-style:normal;font-weight:400;padding:0 2px;}
.login-subtitle{
  font-family:var(--font-mono);font-size:11px;letter-spacing:0.2em;
  text-transform:uppercase;color:var(--ink-soft);text-align:left;margin-bottom:32px;
  padding-bottom:18px;border-bottom:1px solid var(--ink);
}
.login-box .btn{width:100%;padding:18px;font-size:12px;letter-spacing:0.2em;}
.login-error{
  color:#A33;font-family:var(--font-mono);font-size:11px;letter-spacing:0.14em;
  text-transform:uppercase;text-align:center;margin-top:14px;display:none;font-weight:600;
}

/* show/hide pwd */
.password-wrapper{position:relative;display:flex;align-items:center;}
.password-wrapper input{flex:1;padding-right:44px;}
.show-pwd-btn{
  position:absolute;right:10px;background:none;border:none;cursor:pointer;
  padding:4px;color:var(--ink-soft);display:flex;align-items:center;
}
.show-pwd-btn:hover{color:var(--brick);}

/* ── Loading state ──────────────────────────────────── */
.loading{
  text-align:center;padding:24px;color:var(--ink-soft);
  font-family:var(--font-mono);font-size:11px;letter-spacing:0.18em;
  text-transform:uppercase;
}

/* ── Status badges ──────────────────────────────────── */
.badge{
  display:inline-block;padding:5px 12px;border:1px solid var(--ink);
  font-family:var(--font-mono);font-size:10px;letter-spacing:0.16em;
  text-transform:uppercase;font-weight:600;border-radius:0;
}
.badge-open{background:var(--paper);color:var(--brick);border-color:var(--brick);}
.badge-in-progress{background:var(--paper);color:#A86A00;border-color:#A86A00;}
.badge-resolved{background:var(--ink);color:var(--paper);}
.badge-closed{background:var(--paper-2);color:var(--ink-soft);}
.badge-gray{background:var(--paper-2);color:var(--ink-soft);}
.badge-green{background:var(--ink);color:var(--sky);}
.badge-red{background:var(--brick);color:var(--paper);}

/* ── Footer ─────────────────────────────────────────── */
.main-footer{
  background:var(--ink);color:var(--paper);
  padding:24px 40px;
  display:flex;align-items:center;justify-content:space-between;
  margin-top:auto;flex-wrap:wrap;gap:14px;
  font-family:var(--font-mono);font-size:11px;letter-spacing:0.18em;
  text-transform:uppercase;border-top:2px solid var(--ink);
}
.footer-links{display:flex;gap:0;align-items:center;flex-wrap:wrap;justify-content:center;}
.footer-links a{
  color:var(--paper);opacity:.7;font-size:10px;letter-spacing:0.16em;
  padding:0 8px;white-space:nowrap;transition:opacity .15s,color .15s;
}
.footer-links a:hover{opacity:1;color:var(--sky);}
.footer-sep{color:var(--paper);opacity:.25;}
.footer-left{white-space:nowrap;color:var(--paper);opacity:.7;}
.footer-right{width:80px;}

/* ── Generic / page-specific helpers ─────────────────── */
.modal-overlay{
  position:fixed;inset:0;background:rgba(14,27,51,.75);
  display:flex;align-items:center;justify-content:center;z-index:1000;
}
.modal{
  background:var(--paper);padding:36px;border:2px solid var(--ink);
  max-width:500px;width:90%;position:relative;
}
.modal::after{content:'';position:absolute;inset:8px -8px -8px 8px;background:var(--brick);z-index:-1;}
.modal-close{
  position:absolute;top:14px;right:14px;background:none;border:0;
  cursor:pointer;font-size:24px;color:var(--ink);font-family:var(--font-heading);
}

.toast{
  position:fixed;bottom:24px;right:24px;
  background:var(--ink);color:var(--paper);padding:14px 20px;
  border:2px solid var(--ink);
  font-family:var(--font-mono);font-size:11px;letter-spacing:0.16em;
  text-transform:uppercase;font-weight:600;z-index:2000;
}

.no-data,.empty-row{
  text-align:center;padding:32px;color:var(--ink-soft);
  font-family:var(--font-mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;
}

.tabs,.profile-tabs{
  display:flex;gap:0;border-bottom:2px solid var(--ink);margin-bottom:24px;
}
.tab,.profile-tab{
  padding:14px 22px;cursor:pointer;background:var(--paper);
  border:0;border-right:1px solid var(--ink);
  font-family:var(--font-mono);font-size:11px;letter-spacing:0.18em;
  text-transform:uppercase;color:var(--ink-soft);font-weight:600;
}
.tab:hover,.profile-tab:hover{color:var(--ink);background:var(--paper-2);}
.tab.active,.profile-tab.active{background:var(--ink);color:var(--paper);}

.filters,.toolbar{
  display:flex;gap:14px;flex-wrap:wrap;align-items:center;
  padding:16px 20px;border:2px solid var(--ink);background:var(--paper-2);
  margin-bottom:18px;
}
.filters select,.filters input,.toolbar select,.toolbar input{
  padding:10px 12px;border:2px solid var(--ink);background:var(--paper);
  color:var(--ink);font-family:var(--font);font-size:.9rem;border-radius:0;
}

.pagination{
  display:flex;gap:0;justify-content:center;margin-top:24px;
}
.pagination button,.pagination a{
  padding:10px 14px;border:2px solid var(--ink);background:var(--paper);
  font-family:var(--font-mono);font-size:11px;letter-spacing:0.16em;
  font-weight:600;cursor:pointer;border-right:0;color:var(--ink);
}
.pagination button:last-child,.pagination a:last-child{border-right:2px solid var(--ink);}
.pagination button.active,.pagination a.active,
.pagination button:hover,.pagination a:hover{background:var(--ink);color:var(--paper);}

/* doc-grid (mes-documents) */
.doc-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:0;
  border:2px solid var(--ink);
}
.doc-card{
  padding:24px 20px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);
  background:var(--paper);transition:background .15s;cursor:pointer;
}
.doc-card:hover{background:var(--paper-2);}
.doc-card.doc-unavailable{opacity:.45;cursor:not-allowed;}
.doc-icon{
  width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;
  background:var(--ink);color:var(--paper);margin-bottom:14px;
}
.doc-icon i[data-lucide]{color:var(--sky);width:18px;height:18px;margin:0;}
.doc-title{
  font-family:var(--font-heading);font-weight:900;font-size:1.05rem;
  letter-spacing:-0.015em;line-height:1.2;margin-bottom:6px;color:var(--ink);
}
.doc-desc{font-size:.85rem;color:var(--ink-2);line-height:1.5;}
.doc-status{
  display:inline-block;margin-top:14px;padding:4px 10px;
  font-family:var(--font-mono);font-size:10px;letter-spacing:0.16em;
  text-transform:uppercase;font-weight:600;border:1px solid var(--brick);color:var(--brick);
}
.doc-footer{padding-top:14px;border-top:1px solid var(--ink);margin-top:14px;}

/* file uploads */
.upload-zone{
  border:2px dashed var(--ink);padding:40px 20px;text-align:center;
  background:var(--paper-2);cursor:pointer;transition:background .15s;
}
.upload-zone:hover{background:var(--paper);}
.upload-zone .upload-hint{
  font-family:var(--font-mono);font-size:11px;letter-spacing:0.18em;
  text-transform:uppercase;color:var(--ink-soft);
}
.file-list{margin-top:14px;display:flex;flex-direction:column;gap:8px;}
.file-item{
  display:flex;justify-content:space-between;align-items:center;
  padding:10px 14px;border:1px solid var(--ink);background:var(--paper);
  font-family:var(--font-mono);font-size:11px;letter-spacing:0.1em;
}
.file-remove{background:none;border:0;cursor:pointer;color:var(--brick);font-weight:700;}

/* admin specific */
.admin-header{padding-bottom:14px;border-bottom:2px solid var(--ink);margin-bottom:24px;}
.admin-stats{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0;
  border:2px solid var(--ink);margin-bottom:24px;
}
.stat-card{
  padding:24px 22px;border-right:1px solid var(--ink);background:var(--paper);
}
.stat-card:last-child{border-right:0;}
.stat-card .label{
  font-family:var(--font-mono);font-size:10px;letter-spacing:0.2em;
  text-transform:uppercase;color:var(--ink-soft);font-weight:600;margin-bottom:10px;
}
.stat-card .value{
  font-family:var(--font-heading);font-style:italic;font-weight:900;
  font-size:2.2rem;color:var(--brick);letter-spacing:-0.025em;line-height:1;
}

.admin-layout{
  display:grid;grid-template-columns:240px 1fr;gap:24px;
  max-width:1280px;margin:32px auto;padding:0 24px;
}

/* IBAN card */
.iban-card{
  border:2px solid var(--ink);padding:24px;background:var(--paper);
  position:relative;
}
.iban-card::after{content:'';position:absolute;inset:6px -6px -6px 6px;background:var(--brick);z-index:-1;}
.iban-display{
  font-family:var(--font-mono);font-size:1.1rem;letter-spacing:0.1em;
  padding:14px;background:var(--paper-2);border:1px solid var(--ink);
  margin:14px 0;word-break:break-all;
}
.iban-masked{filter:blur(4px);}
.iban-actions{display:flex;gap:12px;flex-wrap:wrap;}

/* check-row (mon-profil) */
.check-row{
  display:flex;align-items:center;gap:14px;
  padding:14px 0;border-bottom:1px solid var(--ink);
}
.check-row:last-child{border-bottom:0;}

/* ticket-detail */
.detail-header{padding:24px;border:2px solid var(--ink);background:var(--ink);color:var(--paper);position:relative;margin-bottom:24px;}
.detail-header::after{content:'';position:absolute;inset:6px -6px -6px 6px;background:var(--brick);z-index:-1;}
.detail-objet{
  font-family:var(--font-heading);font-weight:900;font-style:italic;
  font-size:1.6rem;letter-spacing:-0.02em;color:var(--paper);line-height:1.1;
}
.detail-content,.message-thread{display:flex;flex-direction:column;gap:14px;}
.message-block{
  padding:18px 20px;border:2px solid var(--ink);background:var(--paper);
}
.message-block.author-tenant,.message-block.author-self{background:var(--paper-2);}
.message-block.author-manager{background:var(--paper);}
.message-header{display:flex;justify-content:space-between;margin-bottom:10px;}
.message-author{
  font-family:var(--font-mono);font-size:11px;letter-spacing:0.18em;
  text-transform:uppercase;font-weight:600;color:var(--brick);
}
.message-date{font-family:var(--font-mono);font-size:11px;color:var(--ink-soft);letter-spacing:0.14em;}
.message-body{font-size:.95rem;line-height:1.6;color:var(--ink-2);}

.reply-box{padding:18px;border:2px solid var(--ink);background:var(--paper);margin-top:18px;}
.reply-box textarea{
  width:100%;min-height:100px;padding:12px;border:2px solid var(--ink);
  background:var(--paper);font-family:var(--font);font-size:.95rem;border-radius:0;
}
.reply-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:14px;}

/* category cards (tickets) */
.category-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0;
  border:2px solid var(--ink);
}
.category-card{
  padding:24px 20px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);
  cursor:pointer;background:var(--paper);transition:background .15s;
}
.category-card:hover{background:var(--ink);color:var(--paper);}
.category-card:hover .cat-icon{background:var(--brick);}
.cat-icon{
  width:40px;height:40px;background:var(--ink);color:var(--paper);
  display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px;
}
.cat-icon i[data-lucide]{color:var(--paper);margin:0;}

/* notices */
.info-notice,.closed-notice{
  padding:16px 20px;border:2px solid var(--ink);background:var(--paper-2);
  display:flex;gap:14px;align-items:flex-start;margin-bottom:18px;
}
.notice-icon{flex-shrink:0;color:var(--brick);}

/* listing (annonce.html) — inline styles handle most, just normalize */
.property-box,.listing-section{border:2px solid var(--ink);}

/* 404 */
.not-found-wrapper{
  min-height:calc(100vh - 60px);display:flex;flex-direction:column;
  align-items:center;justify-content:center;padding:60px 24px;text-align:center;
}
.not-found-code{
  font-family:var(--font-heading);font-style:italic;font-weight:900;
  font-size:clamp(6rem,18vw,14rem);color:var(--brick);letter-spacing:-0.04em;line-height:.9;
}
.not-found-title{
  font-family:var(--font-heading);font-weight:900;font-size:2.4rem;
  letter-spacing:-0.025em;color:var(--ink);margin:18px 0 14px;
}
.not-found-desc{font-size:1.1rem;color:var(--ink-2);max-width:50ch;margin-bottom:30px;}
.not-found-btn{display:inline-block;}

/* ── Responsive ─────────────────────────────────────── */
@media (max-width:1100px){
  .dashboard{grid-template-columns:240px 1fr;}
  .right-sidebar{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;}
  .right-sidebar .card{flex:1 1 280px;}
  .admin-layout{grid-template-columns:1fr;}
}
@media (max-width:900px){
  .header{padding:14px 20px;}
  .header-nav-links{display:none;}
  .dashboard{grid-template-columns:1fr;padding:0 16px;margin:20px auto;}
  .main-footer{padding:18px 20px;flex-direction:column;text-align:center;}
  nav{grid-template-columns:1fr auto;padding:14px 20px;}
}
@media (max-width:600px){
  .nav-links a:not(.nav-cta){display:none;}
  .login-box{padding:32px 24px;}
}
