
:root{--ink:#142238;--nav:#0b2942;--nav2:#123e5c;--gold:#d8aa4d;--cream:#fbfaf7;--bg:#f4f6f8;--white:#fff;--line:#e6e9ee;--muted:#687386;--ok:#14805c;--red:#bc3e35;--shadow:0 8px 28px rgba(16,42,67,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px Inter,Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}
.auth{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:var(--white)}.visual{padding:60px;background:linear-gradient(145deg,var(--nav),#1b587d);color:white;display:flex;flex-direction:column;justify-content:space-between}.visual h1{font-size:48px;line-height:1.06;margin:18px 0}.visual p{font-size:17px;max-width:580px;color:#d9e7f1}.mark{font-size:22px;font-weight:900;letter-spacing:.5px}.gold{color:var(--gold)}.authside{display:grid;place-items:center;padding:28px}.authbox{width:min(455px,100%)}.authbox h2{font-size:30px;margin-bottom:6px}.muted{color:var(--muted);font-size:13px}.tabs{display:flex;background:#eef2f5;padding:5px;border-radius:12px;margin:22px 0}.tabs button{flex:1;border:0;padding:10px;background:transparent;border-radius:9px;font-weight:700}.tabs button.active{background:white;box-shadow:0 2px 9px #00000012}.panel{display:none}.panel.active{display:block}.field{margin:13px 0}.field label{display:block;font-weight:700;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;padding:12px;border:1px solid #d6dde5;border-radius:10px;background:#fff}.btn{border:0;border-radius:10px;padding:11px 16px;background:var(--gold);color:#172033;font-weight:800}.btn.dark{background:var(--nav);color:white}.btn.light{background:#edf2f6;color:var(--nav)}.btn.danger{background:#fdecea;color:var(--red)}.msg{padding:11px;border-radius:10px;margin:12px 0;display:none}.error{background:#fdecea;color:#8f2921}.success{background:#e8f7f0;color:#0d6749}
.app{display:none;min-height:100vh}.side{position:fixed;inset:0 auto 0 0;width:255px;background:var(--nav);color:#fff;padding:24px 15px}.brand{font-size:19px;font-weight:900;padding:0 10px}.side-sub{font-size:12px;color:#b8cbd8;padding:5px 10px 24px}.nav button{display:block;width:100%;text-align:left;border:0;background:transparent;color:#dce8ef;padding:12px;border-radius:10px;margin:3px 0}.nav button:hover,.nav button.active{background:#174563}.main{margin-left:255px;width:calc(100% - 255px);padding:26px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:12px}.top h1{margin:0;font-size:26px}.user{background:white;border:1px solid var(--line);padding:9px 12px;border-radius:11px}.hero{background:linear-gradient(125deg,var(--nav),#1a587c);color:#fff;border-radius:20px;padding:30px;box-shadow:var(--shadow)}.hero h2{font-size:31px;margin:0 0 8px}.hero p{color:#dceaf2;max-width:650px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:16px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.card{background:white;border:1px solid var(--line);border-radius:16px;padding:19px;box-shadow:var(--shadow)}.card h2,.card h3{margin-top:0}.metric{font-size:25px;font-weight:900;margin:8px 0}.section{margin-top:18px}.two{display:grid;grid-template-columns:1.4fr 1fr;gap:15px}.row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.badge{display:inline-block;padding:5px 9px;border-radius:30px;background:#e9f7f1;color:var(--ok);font-size:12px;font-weight:800}.badge.blue{background:#e9f2fb;color:#225f8e}.badge.red{background:#fdecea;color:var(--red)}.actions{display:flex;gap:8px;flex-wrap:wrap}.table{width:100%;border-collapse:collapse}.table td,.table th{padding:11px;border-bottom:1px solid var(--line);text-align:left}.empty{text-align:center;padding:30px;color:var(--muted)}.document{display:flex;align-items:center;gap:15px;padding:16px;border:1px solid var(--line);border-radius:13px;background:var(--cream)}.docicon{width:48px;height:58px;border-radius:8px;background:#fff;border:1px solid #e2e5ea;display:grid;place-items:center;font-size:25px}.modal{position:fixed;inset:0;background:#0007;display:none;place-items:center;padding:20px;z-index:20}.modal.open{display:grid}.modalbox{background:white;width:min(570px,100%);max-height:90vh;overflow:auto;padding:23px;border-radius:17px}.code{font-size:27px;font-weight:900;letter-spacing:3px;background:#f3f5f7;padding:18px;border-radius:12px;text-align:center}.footer{font-size:12px;color:#98a2b3;margin-top:30px}
@media(max-width:900px){.auth{grid-template-columns:1fr}.visual{display:none}.side{width:70px}.brand,.side-sub,.nav span{display:none}.main{margin-left:70px;width:calc(100% - 70px);padding:17px}.grid,.grid3,.two{grid-template-columns:1fr 1fr}}@media(max-width:560px){.grid,.grid3,.two{grid-template-columns:1fr}.top{flex-direction:column;align-items:flex-start}.hero h2{font-size:25px}}

.chat-shell{display:grid;grid-template-columns:250px 1fr;min-height:500px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:white}.chat-list{border-right:1px solid var(--line);overflow:auto}.person{padding:12px;border-bottom:1px solid var(--line);cursor:pointer}.person:hover,.person.active{background:#f4f7fa}.chat-panel{display:flex;flex-direction:column}.chat-head{padding:14px;border-bottom:1px solid var(--line);font-weight:800}.messages{flex:1;padding:14px;overflow:auto;background:#f8fafc}.bubble{max-width:75%;padding:10px 12px;border-radius:14px;margin:7px 0;background:white;border:1px solid var(--line)}.bubble.me{margin-left:auto;background:#e9f2fb}.chat-send{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}.chat-send input{flex:1;padding:10px;border:1px solid #d6dde5;border-radius:9px}.thumbs{display:flex;gap:8px;flex-wrap:wrap}.thumb{width:100px;height:78px;object-fit:cover;border-radius:9px;border:1px solid var(--line)}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.notice{padding:12px;border-radius:10px;background:#fff7e4;border:1px solid #f1dcaa}.brand img,.mark img{filter:drop-shadow(0 3px 8px #0003)}@media(max-width:650px){.chat-shell{grid-template-columns:1fr}.chat-list{max-height:180px;border-right:0;border-bottom:1px solid var(--line)}.profile-grid{grid-template-columns:1fr}}



:root{
  --nav:#0a0a0a!important;
  --nav2:#171717!important;
  --gold:#c6a15b!important;
  --gold2:#ead8ad!important;
  --bg:#f6f5f2!important;
  --white:#ffffff!important;
  --line:#dedbd3!important;
  --text:#111111!important;
  --muted:#6c6962!important;
  --ok:#23644a!important;
  --red:#9f352e!important;
  --blue:#4c5967!important;
  --shadow:0 12px 32px rgba(0,0,0,.055)!important;
}
body{background:var(--bg)!important;color:var(--text)!important}
.auth-visual,.visual{
  background:#090909!important;
  background-size:cover!important;background-position:center!important;
  position:relative
}
.auth-visual:after,.visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.24));pointer-events:none}
.auth-visual>*,.visual>*{position:relative;z-index:1}
.side{background:#090909!important;border-right:1px solid #272727}
.nav button{color:#d9d5ca!important;border-radius:3px!important}
.nav button:hover,.nav button.active{background:#181818!important;color:#fff!important;border-left:2px solid var(--gold)}
.hero{
  background:#101010!important;border-radius:5px!important;
  box-shadow:none!important;border:1px solid #242424!important;
  background-size:cover!important;background-position:center!important
}
.hero:after{display:none!important}
.card{border-radius:5px!important;box-shadow:none!important;border:1px solid var(--line)!important}
.btn{border-radius:3px!important;background:var(--gold)!important}
.btn.dark{background:#090909!important;color:#fff!important}
.btn.light{background:#fff!important;border:1px solid #cfc9bc!important;color:#111!important}
.field input,.field select,.field textarea{border-radius:3px!important}
.user-pill,.user{border-radius:3px!important}
.table th{background:#f1efe9;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.table td,.table th{border-bottom:1px solid #e7e3dc!important}
.badge{border-radius:2px!important}
h1,h2,h3,.brand,.big-logo{letter-spacing:.01em}
.admin-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}
.property-actions{display:flex;gap:6px}
.theme-preview{min-height:260px;background:#0a0a0a center/cover no-repeat;border:1px solid #282828;position:relative;color:#fff;padding:28px;display:flex;align-items:flex-end}
.theme-preview:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#000b,transparent)}
.theme-preview>div{position:relative;z-index:1}
.swatches{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.swatch input{height:48px;padding:3px}
.upload-zone{border:1px dashed #b6af9f;padding:16px;background:#faf9f6}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:760px){.settings-grid,.swatches{grid-template-columns:1fr}.admin-toolbar{align-items:flex-start;flex-direction:column}}



.status-box{padding:12px 14px;border:1px solid #dedbd3;background:#fff;margin-bottom:14px;font-size:13px}
.status-box.ok{border-left:3px solid #2d6a4f}.status-box.error{border-left:3px solid #a63a32;background:#fff8f7}
.admin-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.admin-card{border:1px solid #dedbd3;background:#fff;padding:16px}
.admin-card .role{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#9b7a3e}
.invite-note{font-size:12px;color:#6c6962;line-height:1.5}
.code-type{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#9b7a3e;margin-bottom:8px}



:root{
  --black:#0b0d0f;
  --black2:#121518;
  --gold:#c99832;
  --gold2:#e0b55a;
  --cream:#fbfaf7;
  --bg:#f6f6f4;
  --panel:#ffffff;
  --border:#e7e5df;
  --text:#111315;
  --muted:#777a80;
  --green:#24a065;
  --red:#d45145;
  --orange:#d59134;
  --shadow:0 1px 2px rgba(16,18,20,.03);
}
*{box-sizing:border-box}
body{background:var(--bg)!important;color:var(--text)!important;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
.app{background:var(--bg)!important}
.side{
  width:220px!important;
  background:linear-gradient(180deg,#090b0d,#101315)!important;
  border-right:1px solid #1d2125!important;
  padding:22px 14px!important;
}
.main{
  margin-left:220px!important;
  width:calc(100% - 220px)!important;
  padding:0!important;
}
.brand{display:flex!important;flex-direction:column!important;gap:5px!important;align-items:flex-start!important;padding:3px 12px 18px!important;border-bottom:1px solid #23272b!important}
.brand img{width:42px!important;height:42px!important;margin-bottom:8px}
.brand span{font-size:14px!important;letter-spacing:.12em!important;line-height:1.25!important}
.side-sub{display:block!important;padding:8px 12px 16px!important;color:#b89652!important;text-transform:uppercase!important;font-size:10px!important;letter-spacing:.16em!important}
.nav button{
  padding:11px 13px!important;
  margin:4px 0!important;
  border-radius:7px!important;
  color:#e7e8ea!important;
  font-weight:600!important;
  font-size:14px!important;
  transition:.18s ease!important;
}
.nav button:hover{background:#171b1f!important}
.nav button.active{
  background:linear-gradient(180deg,#d7a942,#c99730)!important;
  color:#121212!important;
  border-left:0!important;
  box-shadow:inset 0 1px rgba(255,255,255,.28),0 4px 14px rgba(201,151,48,.18)!important;
}
.top{
  min-height:66px!important;
  background:#fff!important;
  border-bottom:1px solid var(--border)!important;
  padding:0 26px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
}
.top:before{
  content:"☰";
  font-size:20px;
  color:#222;
  margin-right:16px;
}
#title{font-size:0!important;margin-right:auto!important}
#title:after{
  content:"Rechercher un logement, un locataire, un contrat…";
  display:block;
  width:440px;
  max-width:43vw;
  border:1px solid #e1e1de;
  border-radius:7px;
  color:#8b8d92;
  font-size:13px;
  font-weight:400;
  padding:11px 42px 11px 14px;
  background:linear-gradient(90deg,#fff,#fdfdfc);
}
.user-pill{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  font-weight:600!important;
}
#content{padding:20px 26px 30px!important}
.card{
  background:#fff!important;
  border:1px solid var(--border)!important;
  border-radius:7px!important;
  box-shadow:var(--shadow)!important;
  padding:17px!important;
}
.hero{
  background:#fff!important;
  color:var(--text)!important;
  border:0!important;
  box-shadow:none!important;
  padding:0 0 18px!important;
}
.hero h2{font-size:23px!important;margin:0 0 4px!important;color:#111!important}
.hero p{color:#777a80!important;margin:0!important}
.grid{grid-template-columns:repeat(4,1fr)!important;gap:12px!important;margin:0!important}
.grid .card{min-height:112px!important;padding:18px!important}
.grid .card .muted{text-transform:none!important;font-size:12px!important}
.metric{font-size:24px!important;line-height:1.1!important;margin:10px 0 5px!important}
.table{font-size:13px!important}
.table th{
  background:#fbfaf8!important;
  color:#666b70!important;
  font-size:10px!important;
  letter-spacing:.05em!important;
  padding:11px 12px!important;
}
.table td{padding:12px!important;vertical-align:middle!important}
.btn{
  background:linear-gradient(180deg,#d6aa4b,#c8942c)!important;
  color:#171717!important;
  border:1px solid #b98221!important;
  border-radius:6px!important;
  padding:9px 13px!important;
  font-weight:700!important;
  box-shadow:none!important;
}
.btn.dark{background:#111315!important;color:#fff!important;border-color:#111315!important}
.btn.light{background:#fff!important;color:#202226!important;border:1px solid #dededb!important}
.btn.red{background:#fff!important;color:#cc4d45!important;border:1px solid #efcbc8!important}
.badge{padding:4px 7px!important;border-radius:4px!important;font-size:10px!important}
.section{margin-top:14px!important}
.two{gap:12px!important}
.v6-admin-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:14px}
.v6-main-column{min-width:0}
.v6-side-column{display:flex;flex-direction:column;gap:14px}
.v6-welcome{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:18px}
.v6-welcome h2{margin:0 0 4px;font-size:22px}
.v6-date{display:flex;gap:9px}
.v6-date span{border:1px solid var(--border);background:#fff;padding:9px 12px;border-radius:6px;font-size:12px}
.v6-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}
.v6-stat{padding:15px;background:#fff;border:1px solid var(--border);border-radius:7px}
.v6-stat-label{font-size:11px;color:#676b70}
.v6-stat-value{font-size:22px;font-weight:800;margin:9px 0 3px}
.v6-stat-foot{font-size:10px;color:#96989c}
.v6-stat-icon{float:left;width:34px;height:34px;border-radius:50%;background:#fbf2dd;color:#ba8522;display:grid;place-items:center;margin-right:10px;font-size:15px}
.v6-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.v6-panel-head h3{margin:0;font-size:15px}
.v6-admin{display:flex;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--border)}
.v6-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#111;color:#fff;font-size:11px;font-weight:800;flex:0 0 auto}
.v6-admin-info{flex:1;min-width:0}
.v6-admin-info b{display:block;font-size:12px}.v6-admin-info span{font-size:10px;color:var(--muted)}
.v6-theme-dots{display:flex;gap:12px;margin:12px 0 18px}
.v6-theme-dots button{width:28px;height:28px;border-radius:50%;border:2px solid transparent}
.v6-theme-dots button.active{outline:2px solid #c99730;outline-offset:3px}
.v6-banner-preview{height:120px;border-radius:5px;background:#ece9e2 center/cover no-repeat;margin:10px 0}
.v6-bottom{display:grid;grid-template-columns:1.1fr .95fr .95fr;gap:12px;margin-top:14px}
.v6-chart{height:150px;position:relative;border-left:1px solid #eee;border-bottom:1px solid #eee;margin-top:14px}
.v6-chart svg{width:100%;height:100%}
.v6-list-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border);font-size:12px}
.v6-money-green{color:#249b61;font-weight:700}.v6-money-red{color:#d1654c;font-weight:700}
.property-photo{width:46px;height:34px;object-fit:cover;border-radius:4px;background:#eee;display:block}
.v6-mini-photo{width:52px;height:40px;border-radius:4px;object-fit:cover}
.modalbox{border-radius:8px!important}
.auth-visual{
  background:#0d0f11 center/cover no-repeat!important;
}
.auth-box{max-width:430px}
@media(max-width:1180px){
  .v6-admin-layout{grid-template-columns:1fr}
  .v6-side-column{display:grid;grid-template-columns:1fr 1fr}
  .v6-stats{grid-template-columns:repeat(2,1fr)}
  .v6-bottom{grid-template-columns:1fr}
}
@media(max-width:850px){
  .side{width:76px!important}
  .main{margin-left:76px!important;width:calc(100% - 76px)!important}
  .brand span,.side-sub,.nav span{display:none!important}
  #title:after{width:300px;max-width:55vw}
  .v6-side-column{grid-template-columns:1fr}
}
@media(max-width:620px){
  #content{padding:15px!important}.top{padding:0 14px!important}
  #title:after{width:190px;max-width:48vw;font-size:11px}
  .v6-stats{grid-template-columns:1fr}
  .v6-welcome{align-items:flex-start;flex-direction:column;gap:10px}
}



/* Personalisation variables réellement utilisées partout */
:root{
  --brand-primary:#0b0d0f;
  --brand-surface:#ffffff;
  --brand-accent:#c99730;
}
.side{background:linear-gradient(180deg,var(--brand-primary),color-mix(in srgb,var(--brand-primary) 88%,white))!important}
.nav button.active,.btn:not(.light):not(.red):not(.dark){
  background:var(--brand-accent)!important;
  border-color:color-mix(in srgb,var(--brand-accent) 80%,black)!important;
}
.v6-stat-icon{color:var(--brand-accent)!important;background:color-mix(in srgb,var(--brand-accent) 12%,white)!important}
.v6-chart polyline[stroke]{stroke:var(--brand-accent)!important}
.v6-chart circle{fill:var(--brand-accent)!important}
.v6-theme-dots button.active{outline-color:var(--brand-accent)!important}
body,.app,#content{background:color-mix(in srgb,var(--brand-surface) 94%,#efefec)!important}

/* SAV QCM */
.sav-shell{max-width:920px;margin:auto}
.sav-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:18px}
.sav-step-dot{height:5px;background:#e9e7e1;border-radius:10px;overflow:hidden}
.sav-step-dot.active,.sav-step-dot.done{background:var(--brand-accent)}
.sav-question{font-size:21px;font-weight:800;margin:5px 0 4px}
.sav-help{color:var(--muted);font-size:13px;margin-bottom:16px}
.sav-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.sav-option{
  appearance:none;text-align:left;background:#fff;border:1px solid var(--border);
  padding:15px;border-radius:7px;cursor:pointer;font-weight:700;color:#202226;
  min-height:62px;transition:.15s ease;
}
.sav-option:hover{border-color:var(--brand-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand-accent) 12%,transparent)}
.sav-option.selected{border-color:var(--brand-accent);background:color-mix(in srgb,var(--brand-accent) 8%,white)}
.sav-option small{display:block;font-weight:400;color:var(--muted);margin-top:4px;line-height:1.35}
.sav-summary{background:#fbfaf7;border:1px solid var(--border);padding:14px;border-radius:6px;margin:14px 0}
.sav-summary-row{display:flex;justify-content:space-between;gap:20px;padding:7px 0;border-bottom:1px solid #ece9e2;font-size:13px}
.sav-summary-row:last-child{border-bottom:0}
.sav-actions{display:flex;justify-content:space-between;gap:10px;margin-top:18px}
.sav-history-card{margin-top:18px}
.sav-ticket{padding:13px 0;border-bottom:1px solid var(--border)}
.sav-ticket:last-child{border-bottom:0}
.sav-status-line{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sav-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.sav-admin-ticket{border:1px solid var(--border);background:#fff;border-radius:7px;padding:14px}
.sav-admin-ticket .meta{font-size:11px;color:var(--muted);margin-top:4px}
@media(max-width:700px){.sav-options{grid-template-columns:1fr}.sav-progress{gap:5px}}



.pay-shell{max-width:920px;margin:auto}
.pay-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:18px}
.pay-step-dot{height:5px;background:#e9e7e1;border-radius:10px}
.pay-step-dot.active,.pay-step-dot.done{background:var(--brand-accent)}
.pay-question{font-size:21px;font-weight:800;margin:5px 0 4px}
.pay-help{color:var(--muted);font-size:13px;margin-bottom:16px}
.pay-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pay-option{
  background:#fff;border:1px solid var(--border);padding:15px;border-radius:7px;cursor:pointer;text-align:left;
  min-height:72px;font-weight:700;color:#202226
}
.pay-option:hover,.pay-option.selected{border-color:var(--brand-accent);background:color-mix(in srgb,var(--brand-accent) 7%,white)}
.pay-option small{display:block;color:var(--muted);font-weight:400;margin-top:5px;line-height:1.35}
.pay-summary{background:#fbfaf7;border:1px solid var(--border);padding:14px;border-radius:6px;margin:14px 0}
.pay-summary-row{display:flex;justify-content:space-between;gap:20px;padding:7px 0;border-bottom:1px solid #ece9e2;font-size:13px}
.pay-summary-row:last-child{border-bottom:0}
.pay-actions{display:flex;justify-content:space-between;gap:10px;margin-top:18px}
.pay-method-logo{
  width:38px;height:38px;border-radius:8px;display:grid;place-items:center;
  background:#111;color:#fff;font-size:11px;font-weight:900;margin-bottom:8px
}
.pay-warning{background:#fff8e9;border:1px solid #ecd9a8;padding:11px;border-radius:6px;font-size:12px;color:#705728}
@media(max-width:700px){.pay-options{grid-template-columns:1fr}}



.lease-shell{max-width:1050px;margin:auto}.lease-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}
.lease-status{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.lease-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.signature-wrap{border:1px solid var(--border);background:#fff;padding:12px;border-radius:7px}.signature-canvas{display:block;width:100%;height:180px;border:1px dashed #b9b5aa;background:#fff;touch-action:none;cursor:crosshair}
.signature-actions{display:flex;gap:8px;margin-top:9px}.contract-preview{background:#fbfaf7;border:1px solid var(--border);padding:16px;line-height:1.55;font-size:13px}.contract-preview h3{margin-top:0}
.contract-card{border:1px solid var(--border);padding:14px;border-radius:7px;margin-bottom:10px;background:#fff}.contract-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.contract-meta>div{background:#faf9f6;padding:10px;border:1px solid #ece9e2;border-radius:5px}
@media(max-width:800px){.lease-grid,.lease-form-grid{grid-template-columns:1fr}.contract-meta{grid-template-columns:1fr}}



.public-site{min-height:100vh;background:#f5f4f0;color:#111}
.public-top{height:72px;background:#0b0d0f;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid #242424}
.public-brand{font-weight:900;letter-spacing:.08em}.public-brand span{color:var(--brand-accent,#c99730)}
.public-actions{display:flex;gap:10px}
.public-wrap{max-width:1280px;margin:auto;padding:38px 5vw 60px}
.public-hero{background:#111;color:#fff;padding:42px;border-radius:8px;margin-bottom:24px}
.public-hero h1{font-size:38px;margin:0 0 10px}.public-hero p{max-width:720px;color:#d2d2cf;line-height:1.6}
.listing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.listing-card{background:#fff;border:1px solid #e1ded6;border-radius:8px;overflow:hidden}
.listing-cover{height:220px;background:#e8e5dd center/cover no-repeat}
.listing-body{padding:16px}.listing-body h3{margin:0 0 6px}.listing-price{font-size:20px;font-weight:900;margin:12px 0}.listing-status{font-size:11px;background:#e8f6ef;color:#1b7450;padding:4px 7px;border-radius:4px}
.application-modal{max-width:680px}
.proof-box{border:1px dashed #bdb7aa;padding:16px;border-radius:7px;background:#fbfaf7}
.proof-state{padding:9px 11px;border-radius:5px;font-size:12px}
.proof-pending{background:#fff6db;color:#73591b}.proof-ok{background:#e9f7ef;color:#1e704f}.proof-bad{background:#fdecea;color:#9b352f}
.scan-checks{display:grid;gap:7px;margin:12px 0}.scan-check{font-size:12px;padding:9px;background:#faf9f6;border:1px solid #ece9e2}
@media(max-width:900px){.listing-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.listing-grid{grid-template-columns:1fr}.public-hero{padding:26px}.public-hero h1{font-size:29px}.public-top{padding:0 16px}}



html,body{
  min-height:100%!important;
  height:auto!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
}
body{
  position:static!important;
}
.app{
  min-height:100vh!important;
  height:auto!important;
  overflow:visible!important;
}
.main{
  min-height:100vh!important;
  height:auto!important;
  overflow:visible!important;
}
#content{
  overflow:visible!important;
  min-height:calc(100vh - 90px)!important;
  padding-bottom:80px!important;
}
.side{
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
}
.auth{
  min-height:100vh!important;
  height:auto!important;
  overflow-y:auto!important;
}
.auth-side,.auth-box{
  overflow:visible!important;
}
.public-site{
  min-height:100vh!important;
  height:auto!important;
  overflow:visible!important;
}
.public-wrap{
  overflow:visible!important;
  padding-bottom:90px!important;
}
.modal{
  overflow-y:auto!important;
  align-items:start!important;
  padding-top:24px!important;
  padding-bottom:24px!important;
  -webkit-overflow-scrolling:touch!important;
}
.modal.open{
  display:flex!important;
  justify-content:center!important;
}
.modalbox{
  max-height:none!important;
  height:auto!important;
  overflow:visible!important;
  margin:auto 0!important;
}
.table-wrap{
  overflow-x:auto!important;
  overflow-y:visible!important;
}
@media(max-width:850px){
  .side{
    height:100vh!important;
    overflow-y:auto!important;
  }
  .main{
    min-height:100vh!important;
  }
}



/* Sidebar/menu : scroll indépendant et fiable */
.side{
  position:fixed!important;
  top:0!important;
  left:0!important;
  bottom:0!important;
  height:100dvh!important;
  max-height:100dvh!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  padding-bottom:110px!important;
  scrollbar-width:thin!important;
  scrollbar-color:#5d5d5d #111!important;
}

.side::-webkit-scrollbar{
  width:7px!important;
}
.side::-webkit-scrollbar-track{
  background:#111!important;
}
.side::-webkit-scrollbar-thumb{
  background:#555!important;
  border-radius:10px!important;
}
.side::-webkit-scrollbar-thumb:hover{
  background:#777!important;
}

.nav{
  display:block!important;
  min-height:max-content!important;
  overflow:visible!important;
}

.nav button{
  flex-shrink:0!important;
}

/* Déconnexion toujours accessible */
.side > button:last-of-type{
  margin-bottom:24px!important;
}

@media(max-width:850px){
  .side{
    height:100dvh!important;
    max-height:100dvh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding-bottom:90px!important;
  }
}



/* ==================== VITRINE PUBLIQUE V6.7 ==================== */
:root{--pub-black:#0b0c0e;--pub-gold:var(--brand-accent,#c99730);--pub-cream:#f5f2eb;--pub-line:#e4dfd5;--pub-text:#17191c;--pub-muted:#686a6e}
#publicSite{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#fff;color:var(--pub-text);min-height:100vh;overflow-x:hidden}
.pub-header{position:sticky;top:0;z-index:80;height:76px;display:flex;align-items:center;background:rgba(11,12,14,.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)}
.pub-header-in{width:min(1380px,92vw);margin:auto;display:flex;align-items:center;gap:28px}
.pub-logo{display:flex;align-items:center;gap:10px;color:#fff;font-size:15px;font-weight:900;letter-spacing:.085em;white-space:nowrap}.pub-logo-mark{width:38px;height:38px;border:1px solid rgba(201,151,48,.6);display:grid;place-items:center;border-radius:50%;color:var(--pub-gold);font-family:Georgia,serif;font-size:18px}.pub-logo img{width:38px;height:38px;object-fit:contain}
.pub-nav{margin-left:auto;display:flex;align-items:center;gap:25px}.pub-nav a{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:#d8d8d5;text-decoration:none;font-weight:700}.pub-nav a:hover{color:#fff}.pub-portals{display:flex;gap:8px;margin-left:8px}.pub-portal{border:1px solid rgba(255,255,255,.18);background:transparent;color:#fff;padding:10px 13px;border-radius:5px;cursor:pointer;font-size:12px;font-weight:800;display:flex;align-items:center;gap:7px}.pub-portal:hover{border-color:var(--pub-gold)}.pub-portal.admin{background:var(--pub-gold);border-color:var(--pub-gold);color:#111}
.pub-menu-btn{display:none;margin-left:auto;background:transparent;border:0;color:#fff;padding:7px}
.pub-hero{position:relative;min-height:680px;display:flex;align-items:center;background:#111 center/cover no-repeat;overflow:hidden}.pub-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,7,8,.91) 0%,rgba(6,7,8,.72) 42%,rgba(6,7,8,.26) 72%,rgba(6,7,8,.18) 100%)}.pub-hero:after{content:"";position:absolute;inset:auto 0 0;height:150px;background:linear-gradient(transparent,#111)}
.pub-hero-content{position:relative;z-index:2;width:min(1380px,92vw);margin:auto;padding:76px 0 130px}.pub-eyebrow{display:flex;align-items:center;gap:10px;color:var(--pub-gold);text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:900}.pub-eyebrow:before{content:"";width:38px;height:1px;background:var(--pub-gold)}.pub-hero h1{max-width:790px;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(46px,6vw,82px);line-height:.98;font-weight:500;letter-spacing:-.035em;margin:18px 0 22px}.pub-hero p{max-width:670px;color:#d8d8d5;font-size:17px;line-height:1.7;margin:0 0 30px}.pub-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.pub-cta{border:0;border-radius:4px;padding:14px 20px;font-weight:900;cursor:pointer;font-size:13px;display:inline-flex;align-items:center;gap:9px;text-decoration:none}.pub-cta.gold{background:var(--pub-gold);color:#111}.pub-cta.ghost{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);color:#fff}
.pub-search-wrap{position:relative;z-index:5;width:min(1180px,90vw);margin:-62px auto 0}.pub-search{background:#fff;border:1px solid #e8e2d7;box-shadow:0 22px 55px rgba(0,0,0,.13);padding:18px;display:grid;grid-template-columns:1.1fr .8fr .8fr auto;gap:10px;border-radius:7px}.pub-search-field{border:1px solid #e6e1d8;border-radius:5px;padding:9px 11px}.pub-search-field label{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:900;color:#8a857b;margin-bottom:4px}.pub-search-field select,.pub-search-field input{border:0;outline:0;width:100%;font-size:13px;background:#fff;color:#151515}.pub-search button{border:0;background:var(--pub-black);color:#fff;border-radius:5px;padding:0 20px;font-weight:900;cursor:pointer}
.pub-section{padding:92px 0}.pub-section.alt{background:var(--pub-cream)}.pub-container{width:min(1380px,92vw);margin:auto}.pub-section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:32px}.pub-section-head h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,4vw,52px);font-weight:500;margin:7px 0 0;letter-spacing:-.025em}.pub-section-head p{max-width:570px;color:var(--pub-muted);line-height:1.65;font-size:14px}.pub-link{color:#111;font-weight:900;text-decoration:none;font-size:12px;border-bottom:1px solid var(--pub-gold);padding-bottom:3px}
.pub-listings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.pub-card{border:1px solid var(--pub-line);background:#fff;border-radius:8px;overflow:hidden;transition:.22s ease}.pub-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(0,0,0,.09)}.pub-card-photo{height:250px;background:#e9e5dc center/cover no-repeat;position:relative;cursor:pointer}.pub-card-photo:after{content:"Voir le logement";position:absolute;inset:auto 12px 12px auto;background:rgba(10,10,10,.78);color:#fff;padding:8px 10px;border-radius:4px;font-size:10px;font-weight:900;letter-spacing:.05em}.pub-badge{position:absolute;top:12px;left:12px;background:#fff;color:#166b49;padding:6px 9px;border-radius:4px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.pub-card-body{padding:17px}.pub-card-title-row{display:flex;align-items:start;justify-content:space-between;gap:12px}.pub-card h3{margin:0;font-size:17px}.pub-card-loc{display:flex;align-items:center;gap:5px;color:#77736b;font-size:12px;margin-top:5px}.pub-card-desc{font-size:12px;line-height:1.6;color:#62605b;min-height:38px;margin:12px 0}.pub-features{display:flex;gap:12px;flex-wrap:wrap;border-top:1px solid #eeeae2;padding-top:12px}.pub-feature{display:flex;align-items:center;gap:5px;color:#575650;font-size:11px}.pub-price{font-size:18px;font-weight:900;white-space:nowrap}.pub-price small{font-size:9px;color:#7c7972;font-weight:600;display:block;text-align:right}.pub-empty{grid-column:1/-1;padding:40px;border:1px dashed #ccc6bb;text-align:center;color:#77736b;background:#fff}
.pub-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.pub-service{padding:24px;border:1px solid var(--pub-line);background:#fff;border-radius:7px}.pub-icon-box{width:45px;height:45px;display:grid;place-items:center;border-radius:50%;background:#f6f0e4;color:#9b711d;margin-bottom:18px}.pub-service h3{font-size:15px;margin:0 0 8px}.pub-service p{font-size:12px;line-height:1.65;color:var(--pub-muted);margin:0}
.pub-about{display:grid;grid-template-columns:1fr 1fr;min-height:580px;background:var(--pub-black)}.pub-about-photo{background:#222 center/cover no-repeat;min-height:500px}.pub-about-copy{color:#fff;padding:70px clamp(35px,6vw,90px);display:flex;flex-direction:column;justify-content:center}.pub-about-copy h2{font-family:Georgia,serif;font-size:46px;font-weight:500;line-height:1.05;margin:10px 0 22px}.pub-about-copy p{color:#c9c9c5;line-height:1.75;font-size:14px}.pub-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:26px}.pub-stat{border-top:1px solid #3b3b3b;padding-top:15px}.pub-stat b{font-size:26px;color:var(--pub-gold);display:block}.pub-stat span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#aaa}
.pub-process{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--pub-line);background:#fff}.pub-step{padding:28px;position:relative;border-right:1px solid var(--pub-line)}.pub-step:last-child{border-right:0}.pub-step-num{font-family:Georgia,serif;color:var(--pub-gold);font-size:28px}.pub-step h3{font-size:14px;margin:12px 0 7px}.pub-step p{font-size:12px;line-height:1.6;color:var(--pub-muted);margin:0}
.pub-contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:25px}.pub-contact-info{background:var(--pub-black);color:#fff;padding:34px;border-radius:8px}.pub-contact-info h2{font-family:Georgia,serif;font-size:38px;font-weight:500;margin:8px 0 16px}.pub-contact-info p{color:#bbb;line-height:1.65;font-size:13px}.pub-contact-line{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid #2d2e31}.pub-contact-line:last-child{border-bottom:0}.pub-contact-line svg{color:var(--pub-gold);flex:0 0 auto}.pub-contact-line b{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:3px}.pub-contact-line span,.pub-contact-line a{font-size:13px;color:#d4d4d1;text-decoration:none}.pub-contact-form{border:1px solid var(--pub-line);padding:30px;border-radius:8px;background:#fff}.pub-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pub-field{margin-bottom:12px}.pub-field label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:900;color:#77736b;margin-bottom:6px}.pub-field input,.pub-field textarea,.pub-field select{width:100%;border:1px solid #ded9cf;border-radius:5px;padding:12px;background:#fff;font:inherit;font-size:13px}.pub-field textarea{resize:vertical}.pub-submit{background:var(--pub-gold);border:0;padding:13px 17px;border-radius:4px;font-weight:900;cursor:pointer}
.pub-footer{background:#08090b;color:#c6c6c3;padding:52px 0 22px}.pub-footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr 1fr;gap:30px}.pub-footer h4{color:#fff;font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin:0 0 13px}.pub-footer p,.pub-footer a{color:#9d9d99;font-size:12px;line-height:1.8;text-decoration:none;display:block}.pub-footer-bottom{border-top:1px solid #252628;margin-top:34px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#6f706f}
.pub-floating{position:fixed;right:22px;bottom:22px;z-index:70;width:50px;height:50px;border-radius:50%;border:0;background:#24b866;color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.2);display:grid;place-items:center;cursor:pointer}
.pub-modal{display:none;position:fixed;inset:0;z-index:130;background:rgba(5,5,5,.68);padding:22px;overflow-y:auto}.pub-modal.open{display:flex;align-items:flex-start;justify-content:center}.pub-modal-card{width:min(980px,100%);margin:auto;background:#fff;border-radius:9px;overflow:hidden;position:relative}.pub-modal-close{position:absolute;right:12px;top:12px;z-index:3;width:38px;height:38px;border-radius:50%;border:0;background:rgba(0,0,0,.75);color:#fff;font-size:22px;cursor:pointer}.pub-detail-grid{display:grid;grid-template-columns:1.1fr .9fr}.pub-gallery-main{height:460px;background:#e8e3da center/cover no-repeat}.pub-gallery-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;padding:6px;background:#f3f0e9}.pub-gallery-thumb{height:72px;background:center/cover no-repeat;cursor:pointer;border:2px solid transparent}.pub-gallery-thumb.active{border-color:var(--pub-gold)}.pub-detail-copy{padding:34px}.pub-detail-copy h2{font-family:Georgia,serif;font-size:35px;font-weight:500;margin:0 0 7px}.pub-detail-price{font-size:26px;font-weight:900;margin:20px 0}.pub-detail-desc{font-size:13px;line-height:1.75;color:#5f5e5a}.pub-detail-actions{display:flex;gap:8px;margin-top:22px}.pub-application{padding:34px}.pub-application h2{font-family:Georgia,serif;font-size:33px;font-weight:500;margin:0 0 7px}.pub-toast{padding:10px 12px;margin-bottom:12px;border-radius:5px;font-size:12px}.pub-toast.ok{background:#eaf8f1;color:#176b4a}.pub-toast.err{background:#fdeceb;color:#9a302a}
.portal-back{border:0;background:transparent;color:#64676b;font-weight:800;font-size:12px;cursor:pointer;margin-bottom:18px;padding:0}.portal-kind{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border-radius:4px;background:#f5f0e5;color:#7a5a18;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px}
@media(max-width:1050px){.pub-nav{display:none;position:absolute;top:76px;left:0;right:0;background:#101114;padding:20px 4vw;flex-direction:column;align-items:flex-start;border-top:1px solid #2b2c2e}.pub-nav.open{display:flex}.pub-portals{margin-left:0;flex-wrap:wrap}.pub-menu-btn{display:block}.pub-search{grid-template-columns:1fr 1fr}.pub-search button{min-height:50px}.pub-listings{grid-template-columns:repeat(2,1fr)}.pub-service-grid{grid-template-columns:repeat(2,1fr)}.pub-about{grid-template-columns:1fr}.pub-about-photo{min-height:420px}.pub-footer-grid{grid-template-columns:1fr 1fr}.pub-contact-grid{grid-template-columns:1fr}}
@media(max-width:680px){.pub-header{height:68px}.pub-logo{font-size:12px}.pub-logo-mark{width:33px;height:33px}.pub-nav{top:68px}.pub-hero{min-height:620px}.pub-hero-content{padding-top:65px}.pub-hero h1{font-size:45px}.pub-search-wrap{margin-top:-38px}.pub-search{grid-template-columns:1fr;padding:12px}.pub-listings,.pub-service-grid{grid-template-columns:1fr}.pub-section{padding:68px 0}.pub-section-head{display:block}.pub-section-head p{margin-top:14px}.pub-process{grid-template-columns:1fr}.pub-step{border-right:0;border-bottom:1px solid var(--pub-line)}.pub-form-grid{grid-template-columns:1fr}.pub-footer-grid{grid-template-columns:1fr}.pub-footer-bottom{display:block}.pub-detail-grid{grid-template-columns:1fr}.pub-gallery-main{height:300px}.pub-detail-copy,.pub-application{padding:24px}.pub-stats{grid-template-columns:1fr 1fr 1fr}.pub-about-copy{padding:50px 26px}.pub-about-copy h2{font-size:36px}.pub-floating{right:14px;bottom:14px}}



/* V6.8 — finition production : sobriété, cohérence, lisibilité */
:root{
  --ui-radius:6px;
  --ui-border:#e6e2d9;
  --ui-muted:#6c6a65;
  --ui-shadow:0 8px 24px rgba(17,17,17,.06);
}
body{font-feature-settings:"kern" 1,"liga" 1;text-rendering:optimizeLegibility}
button,input,select,textarea{font:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--brand-accent,#c99730);outline-offset:2px}

/* Interface privée : moins de "template", plus produit métier */
.card,.contract-card,.upload-zone,.theme-preview{border-radius:var(--ui-radius)!important;box-shadow:none!important}
.card{border-color:var(--ui-border)!important}
.btn{border-radius:5px!important;box-shadow:none!important;font-weight:750!important;letter-spacing:0!important}
.metric{letter-spacing:-.03em!important}
.badge{border-radius:4px!important;font-weight:750!important}

/* Site public */
#publicSite{background:#fff!important;color:#151515!important}
.pub-header{height:72px!important;background:#0c0d0f!important;backdrop-filter:none!important}
.pub-header-in{width:min(1320px,92vw)!important;gap:24px!important}
.pub-logo{font-size:13px!important;letter-spacing:.07em!important}
.pub-logo-mark{width:34px!important;height:34px!important;border-radius:4px!important;font-family:inherit!important;font-size:12px!important;font-weight:900!important}
.pub-nav{gap:22px!important}
.pub-nav a{font-size:11px!important;text-transform:none!important;letter-spacing:.015em!important;font-weight:650!important;color:#cfcfcb!important}
.pub-portals{gap:7px!important}
.pub-portal{padding:9px 11px!important;border-radius:4px!important;font-size:11px!important;font-weight:700!important}
.pub-portal.admin{background:var(--pub-gold)!important}

.pub-hero{min-height:610px!important;background-position:center!important}
.pub-hero:before{background:linear-gradient(90deg,rgba(7,8,10,.86) 0%,rgba(7,8,10,.70) 46%,rgba(7,8,10,.22) 78%)!important}
.pub-hero:after{display:none!important}
.pub-hero-content{width:min(1320px,92vw)!important;padding:88px 0 100px!important}
.pub-eyebrow{font-size:10px!important;letter-spacing:.12em!important;font-weight:750!important}
.pub-eyebrow:before{width:26px!important}
.pub-hero h1{max-width:750px!important;font-family:Georgia,"Times New Roman",serif!important;font-size:clamp(44px,5vw,70px)!important;line-height:1.03!important;font-weight:500!important;letter-spacing:-.025em!important;margin:16px 0 20px!important}
.pub-hero p{max-width:610px!important;font-size:15px!important;line-height:1.65!important;color:#d2d2cf!important;margin-bottom:28px!important}
.pub-cta{border-radius:4px!important;padding:12px 16px!important;font-size:12px!important;font-weight:750!important}

.pub-search-wrap{width:min(1100px,90vw)!important;margin:-38px auto 0!important}
.pub-search{padding:12px!important;border-radius:5px!important;border:1px solid #ddd8ce!important;box-shadow:0 10px 28px rgba(0,0,0,.08)!important;grid-template-columns:1fr 1fr 1fr auto!important}
.pub-search-field{border-radius:4px!important;padding:8px 10px!important;background:#fff!important}
.pub-search-field label{font-size:9px!important;letter-spacing:.05em!important;color:#77736c!important}
.pub-search button{border-radius:4px!important;padding:0 18px!important;font-size:12px!important}

.pub-section{padding:78px 0!important}
.pub-section.alt{background:#f7f5f0!important}
.pub-container{width:min(1320px,92vw)!important}
.pub-section-head{margin-bottom:26px!important;align-items:flex-end!important}
.pub-section-head h2{font-size:clamp(30px,3.4vw,44px)!important;letter-spacing:-.02em!important}
.pub-section-head p{font-size:13px!important;line-height:1.6!important;color:#696761!important}

.pub-listings{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}
.pub-card{border-radius:5px!important;border:1px solid #e3dfd6!important;transition:border-color .15s ease!important;box-shadow:none!important}
.pub-card:hover{transform:none!important;box-shadow:none!important;border-color:#cfc8bb!important}
.pub-card-photo{height:238px!important}
.pub-card-photo:after{content:"Détails"!important;background:rgba(9,10,11,.72)!important;padding:6px 8px!important;border-radius:3px!important;font-size:9px!important}
.pub-badge{top:10px!important;left:10px!important;border-radius:3px!important;padding:5px 7px!important;font-size:9px!important;box-shadow:none!important}
.pub-card-body{padding:15px!important}
.pub-card h3{font-size:16px!important;font-weight:750!important}
.pub-card-loc{font-size:11px!important;color:#76736c!important}
.pub-card-desc{font-size:12px!important;line-height:1.55!important;min-height:37px!important;color:#66635d!important}
.pub-features{gap:10px!important;padding-top:11px!important}
.pub-feature{font-size:10.5px!important}
.pub-price{font-size:17px!important;letter-spacing:-.02em!important}
.pub-price small{font-size:9px!important;text-align:left!important;margin-top:2px!important}

.pub-service-grid{grid-template-columns:repeat(3,1fr)!important;gap:14px!important}
.pub-service{padding:22px!important;border-radius:5px!important;border-color:#e3dfd6!important}
.pub-icon-box{width:38px!important;height:38px!important;border-radius:4px!important;background:#f0eadf!important;margin-bottom:14px!important}
.pub-service h3{font-size:14px!important}
.pub-service p{font-size:12px!important}

.pub-about{min-height:520px!important}
.pub-about-photo{min-height:500px!important}
.pub-about-copy{padding:64px clamp(34px,5vw,72px)!important}
.pub-about-copy h2{font-size:40px!important}
.pub-about-copy p{font-size:13px!important;line-height:1.7!important}
.pub-stats{display:none!important}

/* pas de chiffres marketing artificiels */
.pub-process{display:none!important}

.pub-contact-grid{grid-template-columns:.8fr 1.2fr!important;gap:18px!important}
.pub-contact-info,.pub-contact-form{border-radius:5px!important}
.pub-contact-info{padding:30px!important}
.pub-contact-info h2{font-size:34px!important}
.pub-contact-form{padding:28px!important}
.pub-field input,.pub-field textarea,.pub-field select{border-radius:4px!important;padding:11px!important}
.pub-submit{border-radius:4px!important;padding:12px 16px!important}

.pub-footer{padding:44px 0 20px!important}
.pub-footer-grid{grid-template-columns:1.35fr .7fr .7fr 1fr!important}
.pub-footer p,.pub-footer a{font-size:11.5px!important;line-height:1.7!important}
.pub-footer-bottom{font-size:9.5px!important}
.pub-floating{width:46px!important;height:46px!important;border-radius:50%!important;box-shadow:0 7px 22px rgba(0,0,0,.16)!important}

.pub-modal-card{border-radius:6px!important;box-shadow:0 22px 70px rgba(0,0,0,.26)!important}
.pub-modal-close{width:34px!important;height:34px!important;font-size:18px!important}
.pub-gallery-main{height:430px!important}
.pub-detail-copy{padding:30px!important}
.pub-detail-copy h2{font-size:31px!important}
.pub-detail-desc{font-size:12.5px!important;line-height:1.7!important}

/* Mobile */
@media(max-width:1050px){
 .pub-listings{grid-template-columns:repeat(2,1fr)!important}
 .pub-service-grid{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:680px){
 .pub-header{height:66px!important}
 .pub-hero{min-height:560px!important}
 .pub-hero-content{padding:72px 0 84px!important}
 .pub-hero h1{font-size:42px!important}
 .pub-hero p{font-size:14px!important}
 .pub-search{grid-template-columns:1fr!important}
 .pub-listings,.pub-service-grid{grid-template-columns:1fr!important}
 .pub-section{padding:58px 0!important}
 .pub-contact-grid{grid-template-columns:1fr!important}
 .pub-footer-grid{grid-template-columns:1fr!important}
}



.lease-admin-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}
.lease-admin-toolbar h2{margin:0 0 4px}
.lease-list{display:grid;gap:10px}
.lease-new-summary{background:#f8f6f1;border:1px solid #e4dfd5;border-radius:6px;padding:12px;margin:10px 0 14px}
.lease-new-summary .row{padding:5px 0;border-bottom:1px solid #ebe6dc}
.lease-new-summary .row:last-child{border-bottom:0}
@media(max-width:700px){.lease-admin-toolbar{display:block}.lease-admin-toolbar .btn{margin-top:12px;width:100%}}



.system-warning{border:1px solid #e5c96d;background:#fff9e6;color:#55430e;padding:11px 13px;border-radius:5px;font-size:12px;margin:10px 0}
.system-error{border:1px solid #e0aaa5;background:#fff1ef;color:#8d2f29;padding:12px 14px;border-radius:5px;margin:12px 0}
.system-ok{border:1px solid #acd7bd;background:#eef9f2;color:#226541;padding:11px 13px;border-radius:5px;font-size:12px;margin:10px 0}
.admin-health{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}
.admin-health>div{border:1px solid var(--border);padding:10px;border-radius:5px;background:#faf9f6;font-size:12px}
.page-loading{padding:32px;text-align:center;color:var(--muted)}
@media(max-width:700px){.admin-health{grid-template-columns:1fr}}



:root{
  --dash-black:#0d0e10;
  --dash-gold:var(--brand-accent,#c99730);
  --dash-soft:#f7f5f0;
  --dash-line:#e7e3da;
  --dash-muted:#71716c;
  --dash-green:#16885c;
  --dash-red:#b7473d;
  --dash-orange:#c77920;
}
.dashboard-premium{display:grid;gap:14px}
.dash-topgrid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px}
.dash-hero-premium{min-height:210px;border:1px solid var(--dash-line);border-radius:7px;background:#fff;position:relative;overflow:hidden;padding:29px 31px;display:flex;align-items:center}
.dash-hero-premium .copy{position:relative;z-index:2;max-width:51%}
.dash-kicker{font-size:10px;font-weight:850;letter-spacing:.09em;text-transform:uppercase;color:#a77718;margin-bottom:10px}
.dash-hero-premium h2{font-size:25px;letter-spacing:-.025em;margin:0 0 8px;color:#111}
.dash-hero-premium p{font-size:12.5px;color:#676760;line-height:1.6;max-width:510px;margin:0}
.dash-hero-premium .meta{margin-top:17px;display:flex;gap:17px;align-items:center;font-size:11px;color:#5e5e58}
.dash-hero-premium .art{position:absolute;right:0;bottom:-3px;width:55%;height:100%;object-fit:contain;object-position:right bottom;opacity:.9}
.dash-sidecard{border:1px solid var(--dash-line);background:#fff;border-radius:7px;padding:20px}
.dash-sidecard h3,.dash-panel h3{font-size:11px;letter-spacing:.055em;text-transform:uppercase;margin:0 0 15px;color:#222}
.health-item{display:grid;grid-template-columns:10px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid #efede7;font-size:11.5px}
.health-item:last-child{border-bottom:0}.health-dot{width:8px;height:8px;border-radius:50%;margin-top:3px;background:#17a36a}.health-dot.warn{background:#e09a26}.health-dot.bad{background:#d94a43}.health-item b{display:block;margin-bottom:2px}.health-item small{color:#88857f}
.dash-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.dash-kpi{border:1px solid var(--dash-line);background:#fff;border-radius:7px;padding:17px;display:flex;gap:13px;align-items:center;min-height:94px}
.kpi-ico{width:43px;height:43px;flex:0 0 43px;border-radius:50%;display:grid;place-items:center;background:#f6efe2;color:#a97718}
.kpi-label{font-size:9px;text-transform:uppercase;letter-spacing:.055em;font-weight:800;color:#66645e}.kpi-value{font-size:21px;font-weight:850;letter-spacing:-.025em;margin:3px 0}.kpi-sub{font-size:10px;color:#77746d}.kpi-sub.good{color:var(--dash-green)}.kpi-sub.warn{color:var(--dash-orange)}
.dash-actions{border:1px solid var(--dash-line);border-radius:7px;background:#fff;padding:14px 16px}.dash-actions-label{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}.dash-actions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.dash-action{border:1px solid #dfdbd1;background:#fff;color:#171717;border-radius:5px;padding:11px 12px;cursor:pointer;font-weight:750;font-size:11px;display:flex;align-items:center;justify-content:center;gap:7px}.dash-action.primary{background:#0e0f11;color:#fff;border-color:#0e0f11}.dash-action:hover{border-color:#b88a2b}
.dash-content-grid{display:grid;grid-template-columns:1.15fr .9fr .9fr;gap:12px}.dash-panel{border:1px solid var(--dash-line);border-radius:7px;background:#fff;padding:17px;min-width:0}.dash-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.dash-panel-head h3{margin:0}.dash-panel-link{border:0;background:none;padding:0;color:#555;font-size:10px;font-weight:750;cursor:pointer}
.revenue-main{font-size:23px;font-weight:850;margin:3px 0}.revenue-note{font-size:10px;color:#777}
.mini-bars{height:115px;display:flex;align-items:flex-end;gap:9px;padding-top:14px;border-bottom:1px solid #ece9e2}.mini-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:5px}.mini-bar{width:70%;max-width:24px;min-height:2px;background:#d0a347;border-radius:3px 3px 0 0}.mini-bar-label{font-size:8.5px;color:#888}
.dash-feed-item{display:grid;grid-template-columns:29px 1fr auto;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid #efede8;font-size:10.5px}.dash-feed-item:last-child{border-bottom:0}.feed-ico{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#f4f1eb;color:#6a665f}.feed-title{font-weight:750;color:#222}.feed-sub{font-size:9.5px;color:#85827b;margin-top:2px}.feed-status{font-size:8.5px;border-radius:4px;padding:4px 6px;background:#f2f1ee;color:#666;white-space:nowrap}.feed-status.red{background:#fdebea;color:#b23e37}.feed-status.orange{background:#fff1df;color:#ac641c}.feed-status.green{background:#eaf7f0;color:#217b55}.feed-status.blue{background:#edf2fb;color:#416aa1}
.dash-properties{border:1px solid var(--dash-line);background:#fff;border-radius:7px;padding:17px}.dash-property-row{display:grid;grid-template-columns:1.2fr .8fr .7fr .7fr .8fr auto;gap:12px;align-items:center;padding:9px 5px;border-bottom:1px solid #efede7;font-size:10.5px}.dash-property-row.head{font-size:8.5px;text-transform:uppercase;color:#85827c;font-weight:800}.dash-property-row:last-child{border-bottom:0}
.status-pill{font-size:8.5px;border-radius:4px;padding:4px 6px;background:#eee}.status-pill.available{background:#e9f7ef;color:#247b55}.status-pill.occupied{background:#edf2fb;color:#446c9d}.status-pill.maintenance{background:#fff0df;color:#ad641a}
.tenant-topgrid{grid-template-columns:minmax(0,1fr) 300px}.tenant-due-card{background:#fff;border:1px solid var(--dash-line);border-radius:7px;padding:21px}.tenant-due-amount{font-size:27px;font-weight:850;margin:12px 0 5px}.tenant-due-card .btn{width:100%;margin-top:16px}
.tenant-lower{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.tenant-wide{grid-column:span 2}.tenant-doc-row,.tenant-note-row{display:grid;grid-template-columns:27px 1fr auto;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid #efede8;font-size:10.5px}.tenant-doc-row:last-child,.tenant-note-row:last-child{border-bottom:0}
.empty-illustrated{text-align:center;padding:26px 10px;color:#7a7871}.empty-illustrated svg{width:58px;height:58px;color:#c99730;margin-bottom:7px}
@media(max-width:1200px){.dash-topgrid,.tenant-topgrid{grid-template-columns:1fr}.dash-sidecard{order:2}.dash-content-grid{grid-template-columns:1fr 1fr}.dash-content-grid .dash-panel:first-child{grid-column:span 2}.dash-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.dash-hero-premium{padding:22px;min-height:260px;align-items:flex-start}.dash-hero-premium .copy{max-width:100%}.dash-hero-premium .art{width:78%;height:52%;opacity:.38}.dash-kpis,.dash-actions-grid,.dash-content-grid,.tenant-lower{grid-template-columns:1fr}.dash-content-grid .dash-panel:first-child,.tenant-wide{grid-column:auto}.dash-property-row{grid-template-columns:1fr auto}.dash-property-row>*:not(:first-child):not(:last-child){display:none}.dash-property-row.head{display:none}}



#emailVerificationScreen{
  position:fixed;inset:0;z-index:500;background:#f7f5f0;display:none;
  align-items:center;justify-content:center;padding:24px;font-family:Inter,system-ui,-apple-system,sans-serif
}
#emailVerificationScreen.open{display:flex}
.verify-shell{width:min(560px,100%);background:#fff;border:1px solid #e4dfd5;border-radius:10px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.10)}
.verify-top{height:8px;background:#0d0e10}
.verify-body{padding:42px 38px;text-align:center}
.verify-mark{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;margin:0 auto 20px;background:#eef8f2;color:#18855b}
.verify-mark.error{background:#fff0ef;color:#b8473e}
.verify-body h1{font-size:28px;letter-spacing:-.025em;margin:0 0 10px;color:#111}
.verify-body p{font-size:13.5px;line-height:1.7;color:#696761;margin:0 auto;max-width:440px}
.verify-email{display:inline-block;margin:18px 0 4px;padding:8px 12px;border-radius:5px;background:#f7f4ed;color:#4f4c46;font-size:12px;font-weight:700}
.verify-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:26px}
.verify-btn{border:1px solid #ddd8cf;background:#fff;color:#181818;border-radius:5px;padding:12px 14px;font-size:12px;font-weight:800;cursor:pointer}
.verify-btn.primary{background:#0d0e10;border-color:#0d0e10;color:#fff}
.verify-btn:hover{border-color:#b98b2f}
.verify-note{margin-top:18px!important;font-size:11px!important;color:#8b8881!important}
@media(max-width:560px){.verify-body{padding:32px 22px}.verify-actions{grid-template-columns:1fr}.verify-body h1{font-size:24px}}



/* ==============================================================
   V7 — Gestion locative pro
   Principes : densité utile, navigation métier, zéro effet gratuit.
   ============================================================== */
:root{
  --v7-sidebar:#111317;
  --v7-sidebar-2:#181b20;
  --v7-gold:var(--brand-accent,#c99730);
  --v7-bg:#f5f5f3;
  --v7-card:#fff;
  --v7-line:#e7e6e1;
  --v7-text:#17181a;
  --v7-muted:#71736f;
  --v7-green:#1c805a;
  --v7-red:#b4433d;
  --v7-orange:#b86f22;
  --v7-blue:#416b99;
  --v7-radius:7px;
}
body{background:var(--v7-bg)!important;color:var(--v7-text)!important}
.app{background:var(--v7-bg)!important}
.side{
  width:248px!important;background:var(--v7-sidebar)!important;padding:20px 13px 18px!important;
  border-right:1px solid #24272c!important;display:flex!important;flex-direction:column!important;
}
.brand{
  display:flex!important;align-items:center!important;gap:9px!important;padding:3px 9px!important;
  font-size:14px!important;letter-spacing:.015em!important;line-height:1.2!important;color:#fff!important;
}
.brand img{width:31px!important;height:31px!important;margin:0!important}
.side-sub{padding:4px 9px 17px!important;color:#858b94!important;font-size:9.5px!important;letter-spacing:.055em!important;text-transform:uppercase!important}
.nav{overflow-y:auto!important;padding-right:2px!important;scrollbar-width:thin!important;scrollbar-color:#343942 transparent!important}
.nav-group{margin:15px 0 6px;padding:0 9px;font-size:8.5px;font-weight:850;text-transform:uppercase;letter-spacing:.11em;color:#6f747d}
.nav button{
  display:flex!important;align-items:center!important;gap:10px!important;border-radius:5px!important;
  padding:9px 10px!important;margin:1px 0!important;color:#c8cbd0!important;font-size:11.5px!important;
  font-weight:600!important;transition:background .12s ease,color .12s ease!important;
}
.nav button svg{width:16px;height:16px;flex:0 0 16px;color:#8e939b}
.nav button:hover{background:#1b1e23!important;color:#fff!important}
.nav button.active{background:#2b2415!important;color:#f0c766!important}
.nav button.active svg{color:#d8aa4d!important}
.side-logout{
  margin-top:13px!important;border-top:1px solid #282b30!important;padding-top:12px!important;
  color:#a7abb1!important;background:transparent!important;
}
.side-public{
  margin-top:10px;border:1px solid #765b24;background:#17130b;color:#d9b65d;border-radius:5px;
  padding:10px 11px;font-size:10.5px;font-weight:750;display:flex;align-items:center;justify-content:center;gap:7px
}
.main{margin-left:248px!important;width:calc(100% - 248px)!important;padding:0 24px 28px!important;min-height:100vh!important}
.top{
  min-height:66px!important;margin:0 -24px 18px!important;padding:0 24px!important;background:#fff!important;
  border-bottom:1px solid var(--v7-line)!important;position:sticky!important;top:0!important;z-index:45!important;
  display:grid!important;grid-template-columns:minmax(210px,.8fr) minmax(300px,1.1fr) auto!important;gap:16px!important;
}
.top h1{font-size:20px!important;letter-spacing:-.025em!important;white-space:nowrap!important}
.v7-top-search{position:relative;align-self:center}
.v7-top-search input{
  width:100%;height:38px;border:1px solid #deddd8;border-radius:5px;background:#fafafa;padding:0 38px 0 35px;
  color:#242526;font-size:11.5px;outline:none
}
.v7-top-search input:focus{background:#fff;border-color:#bc9b57;box-shadow:0 0 0 2px rgba(201,151,48,.08)}
.v7-search-icon{position:absolute;left:12px;top:10px;color:#888c91}
.v7-search-kbd{position:absolute;right:9px;top:8px;border:1px solid #ddd;background:#fff;border-radius:4px;padding:2px 5px;font-size:9px;color:#999}
.v7-search-results{
  position:absolute;left:0;right:0;top:44px;background:#fff;border:1px solid #deddd8;border-radius:6px;
  box-shadow:0 16px 40px rgba(0,0,0,.12);max-height:360px;overflow:auto;display:none;z-index:100
}
.v7-search-results.open{display:block}
.v7-search-result{padding:10px 12px;border-bottom:1px solid #efeee9;cursor:pointer;display:flex;justify-content:space-between;gap:12px;font-size:11px}
.v7-search-result:hover{background:#f7f5f0}.v7-search-result:last-child{border-bottom:0}.v7-search-result b{display:block}.v7-search-result small{color:#85847f}
.v7-search-empty{padding:20px;text-align:center;color:#888;font-size:11px}
.v7-top-right{display:flex;align-items:center;gap:9px}
.v7-date-chip,.user{
  min-height:38px!important;background:#fff!important;border:1px solid #e0dfda!important;border-radius:5px!important;
  padding:8px 10px!important;font-size:10.5px!important;color:#555!important;display:flex!important;align-items:center!important;gap:7px!important;
}
.user{font-weight:700!important;color:#222!important;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#content{max-width:1500px;margin:0 auto}
.footer{display:none!important}
.card,.dash-panel,.dash-properties,.dash-actions,.dash-kpi,.dash-sidecard,.tenant-due-card{
  border-radius:var(--v7-radius)!important;border-color:var(--v7-line)!important;box-shadow:none!important
}
.table-wrap{overflow:auto}.table{font-size:11px}.table th{font-size:8.5px;text-transform:uppercase;letter-spacing:.055em;color:#85847e;background:#faf9f6;white-space:nowrap}
.table td{vertical-align:middle}.table tr:hover td{background:#fcfbf8}
.btn{border-radius:5px!important;font-size:10.5px!important;padding:9px 12px!important}
.field input,.field select,.field textarea{border-radius:5px!important;font-size:11.5px!important}
.modalbox{border-radius:7px!important}

/* business pages */
.v7-page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:3px 0 15px}
.v7-page-head h2{margin:0 0 4px;font-size:21px;letter-spacing:-.025em}.v7-page-head p{margin:0;color:var(--v7-muted);font-size:11px}
.v7-toolbar{display:flex;gap:7px;flex-wrap:wrap}.v7-filter{height:34px;border:1px solid #deddd8;background:#fff;border-radius:5px;padding:0 9px;font-size:10.5px}
.v7-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.v7-summary-card{background:#fff;border:1px solid var(--v7-line);border-radius:6px;padding:15px}
.v7-summary-label{font-size:8.5px;text-transform:uppercase;letter-spacing:.055em;font-weight:800;color:#777873}
.v7-summary-value{font-size:20px;font-weight:850;letter-spacing:-.025em;margin:5px 0}.v7-summary-sub{font-size:9.5px;color:#85847e}
.v7-grid-2{display:grid;grid-template-columns:1.2fr .8fr;gap:11px}.v7-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}
.v7-panel{background:#fff;border:1px solid var(--v7-line);border-radius:6px;padding:16px;min-width:0}
.v7-panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px}
.v7-panel-head h3{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.055em}.v7-panel-head span{font-size:9.5px;color:#85847e}
.v7-finance-row{display:grid;grid-template-columns:1.1fr .8fr .7fr .7fr .75fr;gap:10px;padding:10px 4px;border-bottom:1px solid #efeee9;font-size:10.5px;align-items:center}
.v7-finance-row.head{font-size:8px;text-transform:uppercase;color:#888780;font-weight:800}.v7-finance-row:last-child{border-bottom:0}
.v7-pill{display:inline-flex;align-items:center;width:max-content;padding:4px 6px;border-radius:4px;font-size:8.5px;font-weight:750;background:#f0f0ed;color:#666}
.v7-pill.good{background:#e8f6ee;color:#247a55}.v7-pill.bad{background:#fdebea;color:#a93b35}.v7-pill.warn{background:#fff0df;color:#a9621c}.v7-pill.blue{background:#edf2fa;color:#486c99}
.v7-bars{height:180px;display:flex;align-items:flex-end;gap:12px;padding:12px 6px 0;border-bottom:1px solid #eceae5}
.v7-bar-col{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px}.v7-bar{width:min(28px,65%);min-height:2px;background:#c89a36;border-radius:3px 3px 0 0}.v7-bar-label{font-size:8px;color:#888}
.v7-donut{width:128px;height:128px;border-radius:50%;display:grid;place-items:center;margin:8px auto;background:conic-gradient(var(--v7-gold) var(--pct),#eceae5 0)}
.v7-donut:after{content:"";width:82px;height:82px;border-radius:50%;background:#fff;position:absolute}.v7-donut-wrap{position:relative;width:128px;margin:auto}.v7-donut-value{position:absolute;inset:0;z-index:2;display:grid;place-items:center;font-weight:850;font-size:20px}
.v7-task{display:grid;grid-template-columns:8px 1fr auto;gap:10px;align-items:start;padding:11px 3px;border-bottom:1px solid #efeee9}.v7-task:last-child{border-bottom:0}
.v7-task-dot{width:7px;height:7px;border-radius:50%;margin-top:4px;background:#d29c31}.v7-task-dot.bad{background:#d64a43}.v7-task-dot.good{background:#24936a}.v7-task-title{font-size:10.5px;font-weight:750}.v7-task-sub{font-size:9.5px;color:#85847e;margin-top:3px}
.v7-contact{display:grid;grid-template-columns:40px 1.2fr .9fr .8fr auto;gap:10px;align-items:center;padding:10px 4px;border-bottom:1px solid #efeee9;font-size:10.5px}
.v7-avatar{width:34px;height:34px;border-radius:50%;background:#f0ece2;color:#8a681e;display:grid;place-items:center;font-weight:850}
.v7-comms{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.v7-com-item{padding:11px 2px;border-bottom:1px solid #efeee9}.v7-com-item:last-child{border-bottom:0}.v7-com-item b{font-size:10.5px}.v7-com-item p{font-size:10px;color:#73736e;line-height:1.5;margin:4px 0}.v7-com-item small{font-size:8.5px;color:#9a9892}
.v7-perf-note{padding:10px 12px;background:#f7f5ef;border:1px solid #e5dfd1;border-radius:5px;font-size:10px;color:#69665f}

/* public side refinement */
#publicSite .pub-header{box-shadow:none!important}
#publicSite .pub-card{box-shadow:none!important}
#publicSite .pub-section{scroll-margin-top:75px}

/* mobile */
@media(max-width:1080px){
  .top{grid-template-columns:1fr auto!important}.v7-top-search{display:none}.v7-summary{grid-template-columns:repeat(2,1fr)}.v7-grid-2,.v7-comms{grid-template-columns:1fr}
}
@media(max-width:780px){
  .side{width:66px!important;padding:17px 8px!important}.side .brand span,.side-sub,.nav-group,.nav button span,.side-public span{display:none!important}
  .brand{justify-content:center!important;padding:0!important}.brand img{width:34px!important;height:34px!important}
  .nav button{justify-content:center!important;padding:10px!important}.side-public{padding:10px!important}
  .main{margin-left:66px!important;width:calc(100% - 66px)!important;padding:0 13px 20px!important}
  .top{margin:0 -13px 14px!important;padding:0 13px!important;min-height:60px!important}.top h1{font-size:17px!important}.v7-date-chip{display:none!important}
  .v7-summary{grid-template-columns:1fr 1fr}.v7-grid-3{grid-template-columns:1fr}.v7-finance-row{grid-template-columns:1fr auto}.v7-finance-row>*:not(:first-child):not(:last-child){display:none}
  .v7-contact{grid-template-columns:36px 1fr auto}.v7-contact>*:nth-child(3),.v7-contact>*:nth-child(4){display:none}
}
@media(max-width:520px){.v7-summary{grid-template-columns:1fr}.v7-page-head{display:block}.v7-toolbar{margin-top:10px}.user{max-width:115px}}



/* ==============================================================
   V8 — Product Design layer
   Canva-ready visual system + UX polish
   ============================================================== */
:root{
  --pd-bg:#f3f3f1;
  --pd-surface:#ffffff;
  --pd-surface-2:#faf9f6;
  --pd-line:#e7e3da;
  --pd-line-strong:#d9d3c7;
  --pd-text:#141517;
  --pd-muted:#6f6f69;
  --pd-gold:#c99730;
  --pd-gold-soft:#f5eee0;
  --pd-green:#1a815c;
  --pd-red:#b5473e;
  --pd-shadow:0 10px 30px rgba(20,21,23,.05);
  --pd-radius:8px;
}
body,.app{background:var(--pd-bg)!important;color:var(--pd-text)!important}
.top,.v7-summary-card,.v7-panel,.dash-panel,.dash-properties,.dash-kpi,.dash-sidecard,.tenant-due-card,.card,.dash-actions,.verify-shell{
  box-shadow:var(--pd-shadow)!important;
}
.v7-summary-card,.v7-panel,.card,.dash-panel,.dash-properties,.dash-kpi,.dash-sidecard,.tenant-due-card,.dash-actions,.table-wrap{
  border:1px solid var(--pd-line)!important;
}
.hero,.dash-hero-premium{
  border:1px solid var(--pd-line)!important;
  border-radius:12px!important;
}
.dash-hero-premium{
  background:
    radial-gradient(circle at top right, rgba(201,151,48,.12), transparent 38%),
    linear-gradient(180deg,#fff,#fcfbf8)!important;
}
.dash-sidecard,.v7-panel,.card,.tenant-due-card,.dash-properties,.dash-actions{border-radius:12px!important}
.table,.v7-panel,.v7-summary-card,.dash-panel,.dash-properties,.card{font-size:11px}
.table th,.v7-summary-label,.dash-kicker,.dash-panel h3,.v7-panel-head h3{letter-spacing:.08em!important}
.btn{
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease, color .12s ease, border-color .12s ease!important;
}
.btn:hover,.dash-action:hover{transform:translateY(-1px)}
.btn:active,.dash-action:active{transform:translateY(0)}
.btn.light{background:#f6f4ee!important;color:#1a1b1e!important;border:1px solid #e4dfd4!important}
.btn.dark,.dash-action.primary{box-shadow:0 8px 24px rgba(0,0,0,.10)}
.field input,.field select,.field textarea,.v7-filter,.v7-top-search input{
  background:#fff!important;border:1px solid #ddd8ce!important;border-radius:10px!important
}
.field input:focus,.field select:focus,.field textarea:focus,.v7-top-search input:focus{
  border-color:#c08f2c!important;box-shadow:0 0 0 3px rgba(201,151,48,.10)!important;outline:0!important
}
.badge,.v7-pill,.feed-status,.status-pill{
  border-radius:999px!important;font-weight:800!important;letter-spacing:.02em
}

/* auth / onboarding */
.auth{
  background:
   radial-gradient(circle at 20% 10%, rgba(201,151,48,.10), transparent 28%),
   linear-gradient(180deg,#f6f6f2 0%, #f3f1ea 100%)!important;
}
.visual{
  position:relative;overflow:hidden;border-right:1px solid rgba(255,255,255,.07)!important;
  background:
    linear-gradient(180deg, rgba(8,10,13,.92), rgba(16,19,24,.97)),
    linear-gradient(140deg,#14171b,#0f1115)!important;
}
.visual:before{
  content:"";position:absolute;inset:auto -40px -30px auto;width:280px;height:280px;border-radius:50%;
  background:radial-gradient(circle, rgba(201,151,48,.24), rgba(201,151,48,0) 68%);
}
.visual:after{
  content:"";position:absolute;inset:0;background:
  linear-gradient(120deg, transparent 0 60%, rgba(201,151,48,.06) 60% 61%, transparent 61% 100%);
  pointer-events:none
}
.visual .mark{font-size:15px!important;letter-spacing:.14em!important;text-transform:uppercase;color:#f0ede8!important}
.visual h1{font-size:52px!important;letter-spacing:-.035em!important;max-width:700px}
.visual p{max-width:620px!important;color:#ccd2d9!important}
.authside{padding:36px!important}
.authbox{
  width:min(520px,100%)!important;background:#fff;border:1px solid var(--pd-line);border-radius:18px;
  box-shadow:0 26px 80px rgba(20,21,23,.08);padding:30px 28px
}
.authbox h2{font-size:32px!important;letter-spacing:-.03em}
.tabs{background:#f3f0ea!important;border:1px solid #e6e1d6!important;padding:6px!important}
.tabs button{font-size:12px!important;font-weight:800!important}
.tabs button.active{box-shadow:none!important;border:1px solid #ece6d8}
.panel .muted{line-height:1.6}
.v8-auth-bullets{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 6px}
.v8-auth-bullet{
  display:flex;gap:10px;align-items:flex-start;padding:10px 11px;background:#faf9f6;border:1px solid #ebe5d9;border-radius:12px
}
.v8-auth-bullet i{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#f0e7d5;color:#8f6915;font-style:normal;font-weight:900;font-size:11px}
.v8-auth-bullet b{display:block;font-size:11px}.v8-auth-bullet span{display:block;font-size:10px;color:#7b786f;margin-top:2px}
.v8-visual-card{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;align-self:end;max-width:520px;margin-top:30px
}
.v8-visual-mini{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(10px);
  border-radius:14px;padding:16px
}
.v8-visual-mini .k{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#b7bcc4}
.v8-visual-mini .v{font-size:24px;font-weight:900;margin-top:6px;color:#fff}
.v8-visual-mini .s{font-size:10px;color:#c6cbd1;margin-top:5px}
.portal-back{margin-bottom:14px}

/* topbar and nav */
.top{backdrop-filter:saturate(130%) blur(10px)!important;background:rgba(255,255,255,.92)!important}
.nav button{min-height:38px}
.nav button span{letter-spacing:.005em}
.nav-group{font-size:8px!important}
.v7-top-search input{background:#fbfbfa!important}

/* product layout details */
.v7-page-head h2,.dash-hero-premium h2{font-weight:900}
.v7-summary{gap:12px!important}
.v7-summary-card{padding:18px!important}
.v7-summary-value{font-size:24px!important}
.v7-panel .empty,.card .empty,.empty-illustrated,.dash-properties .empty{
  background:linear-gradient(180deg,#fff,#fcfbf8);border:1px dashed #e4dfd4;border-radius:12px;padding:26px 18px
}
.v7-finance-row,.v7-contact,.dash-property-row{min-height:52px}
.v7-com-item p,.feed-sub,.v7-summary-sub{line-height:1.55}
.v7-panel-head,.dash-panel-head{margin-bottom:14px!important}

/* public site polish */
#publicSite{
  background:
    radial-gradient(circle at top left, rgba(201,151,48,.10), transparent 22%),
    #fff!important
}
.pub-hero{background-color:#111!important}
.pub-card,.pub-step,.pub-process,.pub-service-item,.pub-search,.pub-detail-copy,.pub-application{
  box-shadow:var(--pd-shadow)!important;border:1px solid #eee8da!important;border-radius:16px!important
}
.pub-search{padding:15px!important}
.pub-card h3,.pub-detail-copy h2,.pub-about-copy h2{letter-spacing:-.025em}
.pub-btn,.pub-btn-outline{border-radius:999px!important;padding:13px 18px!important;font-weight:800!important}
.pub-filter select,.pub-form input,.pub-form textarea,.pub-form select{border-radius:12px!important}
.pub-filter select:focus,.pub-form input:focus,.pub-form textarea:focus,.pub-form select:focus{
  outline:0;border-color:#c08f2c!important;box-shadow:0 0 0 3px rgba(201,151,48,.10)!important
}

/* responsive */
@media(max-width:1080px){
  .v8-auth-bullets{grid-template-columns:1fr}
}
@media(max-width:760px){
  .auth{grid-template-columns:1fr!important}
  .visual{min-height:420px;padding:34px 26px!important}
  .visual h1{font-size:38px!important}
  .authbox{padding:24px 20px!important;border-radius:16px}
  .v8-visual-card{grid-template-columns:1fr 1fr}
}
@media(max-width:540px){
  .v8-visual-card{grid-template-columns:1fr}
  .authbox h2{font-size:27px!important}
}


/* ==============================================================
   V8.1 — Canva Brand + Product UI
   ============================================================== */
:root{
  --v81-panel:#fff;
  --v81-soft:#faf8f3;
  --v81-line:#e9e4d8;
  --v81-deep:#0f1114;
  --v81-gold:#c99730;
}
.brand img{object-fit:contain}
.v81-hero-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}
.v81-hero-kpi{background:#fff;border:1px solid var(--v81-line);border-radius:14px;padding:14px 15px;box-shadow:var(--pd-shadow)}
.v81-hero-kpi b{display:block;font-size:22px;letter-spacing:-.03em;color:#16171a}
.v81-hero-kpi span{display:block;font-size:10px;color:#7c786f;text-transform:uppercase;letter-spacing:.08em;font-weight:800;margin-top:3px}
.v81-action-center{display:grid;grid-template-columns:1.1fr .9fr;gap:12px;margin-top:12px}
.v81-stack{display:grid;gap:12px}.v81-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.v81-panel{background:var(--v81-panel);border:1px solid var(--v81-line);border-radius:14px;padding:18px;box-shadow:var(--pd-shadow)}
.v81-panel h3{margin:0 0 14px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.v81-panel h4{margin:0 0 6px;font-size:17px;letter-spacing:-.02em}
.v81-list{display:grid;gap:10px}.v81-item{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #efeade}
.v81-item:last-child{border-bottom:0}.v81-item .ico{width:32px;height:32px;border-radius:10px;background:#f6f0e4;color:#a1731a;display:grid;place-items:center}
.v81-item b{display:block;font-size:11px}.v81-item small{display:block;color:#868178;font-size:9.5px;margin-top:2px}
.v81-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 9px;background:#f6f4ee;border:1px solid #e8e2d5;color:#646159;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.v81-banner{display:flex;justify-content:space-between;gap:16px;align-items:center;background:linear-gradient(135deg,#111317,#1a1d22);color:#fff;border-radius:16px;padding:22px 24px;border:1px solid #292d33;box-shadow:0 18px 40px rgba(17,19,23,.18)}
.v81-banner h3{font-size:22px;letter-spacing:-.03em;margin:0 0 8px}.v81-banner p{margin:0;color:#c5c9d0;font-size:11px;line-height:1.6;max-width:620px}
.v81-banner .actions{display:flex;gap:8px;flex-wrap:wrap}
.v81-banner .btn.light{background:rgba(255,255,255,.08)!important;color:#fff!important;border-color:rgba(255,255,255,.14)!important}
.v81-public-ribbon{width:min(1320px,92vw);margin:-42px auto 0;position:relative;z-index:5}
.v81-public-ribbon-inner{display:grid;grid-template-columns:1fr 1fr 1fr;background:#fff;border:1px solid #eee5d5;border-radius:18px;box-shadow:0 18px 50px rgba(16,17,20,.08);overflow:hidden}
.v81-public-ribbon-item{padding:18px 22px;border-right:1px solid #f0eadf}.v81-public-ribbon-item:last-child{border-right:0}
.v81-public-ribbon-item b{display:block;font-size:22px;letter-spacing:-.03em}.v81-public-ribbon-item span{display:block;color:#716f69;font-size:11px;margin-top:4px;line-height:1.55}
.v81-public-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.v81-public-badge{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12);color:#fff;border-radius:999px;padding:9px 12px;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.v81-public-split{display:grid;grid-template-columns:1.2fr .8fr;gap:12px;margin-top:12px}
.v81-public-note{background:#fff;border:1px solid #ebe4d5;border-radius:16px;padding:18px;box-shadow:var(--pd-shadow)}
.v81-public-note h3{margin:0 0 8px;font-size:18px;letter-spacing:-.02em}.v81-public-note p{margin:0;color:#6c6961;font-size:11px;line-height:1.65}
.v81-note-list{display:grid;gap:8px;margin-top:12px}.v81-note-line{display:flex;gap:9px;align-items:flex-start;font-size:10.5px;color:#383733}
.v81-note-line i{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#f1e7d2;color:#936812;font-style:normal;font-size:10px;font-weight:900;flex:0 0 18px}
.v81-empty-card{padding:20px;border:1px dashed #e5dfd2;border-radius:14px;background:linear-gradient(180deg,#fff,#fcfbf8)}
.v81-brand-inline{display:flex;align-items:center;gap:10px}.v81-brand-inline img{height:26px}
#content .hero{border-radius:16px!important}
#content .hero .actions .btn{border-radius:999px!important}
@media(max-width:1080px){.v81-action-center,.v81-public-split{grid-template-columns:1fr}.v81-hero-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.v81-banner{display:block}.v81-banner .actions{margin-top:14px}.v81-public-ribbon{margin:-26px auto 0}.v81-public-ribbon-inner{grid-template-columns:1fr}.v81-public-ribbon-item{border-right:0;border-bottom:1px solid #f0eadf}.v81-public-ribbon-item:last-child{border-bottom:0}}
@media(max-width:540px){.v81-hero-kpis,.v81-mini-grid{grid-template-columns:1fr}}


/* ==============================================================
   V8.2 — PREMIUM SAFE RELEASE
   VISUAL-ONLY. No business logic changes in this release.
   ============================================================== */
:root{
  --lux-black:#101216;
  --lux-black-2:#17191e;
  --lux-gold:#c99730;
  --lux-gold-2:#e1c47d;
  --lux-ivory:#fbfaf7;
  --lux-line:#e8e3d9;
  --lux-muted:#74716a;
  --lux-shadow:0 12px 34px rgba(18,19,22,.055);
}
body{letter-spacing:-.003em}
.side{background:linear-gradient(180deg,#111318,#0d0f12)!important;border-right-color:#24272d!important}
.side:before{content:"";position:absolute;left:0;top:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#c99730,transparent);opacity:.45}
.brand{padding-top:5px!important}.brand img{filter:drop-shadow(0 7px 16px rgba(0,0,0,.20))}
.nav-group{color:#767b85!important;margin-top:18px!important}
.nav button{border:1px solid transparent!important}
.nav button.active{background:linear-gradient(90deg,rgba(201,151,48,.17),rgba(201,151,48,.06))!important;border-color:rgba(201,151,48,.16)!important;color:#f1ce76!important}
.nav button:hover{border-color:#292d33!important}
.main{background:radial-gradient(circle at 95% 0%,rgba(201,151,48,.035),transparent 28%),var(--pd-bg)!important}
.top{box-shadow:0 6px 20px rgba(25,26,28,.035)!important}
.top h1{font-weight:900!important}
.v7-top-search input{height:40px!important}
.v7-search-kbd{border-radius:6px!important;background:#f6f4ef!important}

/* dashboard / admin */
.v81-banner{position:relative;overflow:hidden;background:linear-gradient(135deg,#0e1013 0%,#171a20 68%,#1d2026 100%)!important}
.v81-banner:after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;right:-110px;top:-150px;background:radial-gradient(circle,rgba(201,151,48,.24),rgba(201,151,48,0) 68%);pointer-events:none}
.v81-banner>*{position:relative;z-index:1}
.v81-hero-kpi,.v81-panel,.dash-properties,.v7-panel,.v7-summary-card,.card,.tenant-due-card,.dash-actions{box-shadow:var(--lux-shadow)!important}
.v81-hero-kpi{transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.v81-hero-kpi:hover{transform:translateY(-2px);border-color:#dcd2bf!important;box-shadow:0 18px 38px rgba(18,19,22,.075)!important}
.v81-hero-kpi b{font-size:23px!important}.v81-item{min-height:54px}.v81-item .ico{border:1px solid #eadfcb!important}
.v7-bars{background:linear-gradient(180deg,#fff,#fcfbf8);border-radius:10px 10px 0 0;padding-left:12px!important;padding-right:12px!important}
.v7-bar{background:linear-gradient(180deg,#e4c674,#bb8628)!important}
.dash-property-row{transition:background .12s ease}.dash-property-row:not(.head):hover{background:#fbfaf7}

/* auth */
.authbox{border-color:#e6dfd2!important;box-shadow:0 28px 90px rgba(14,16,19,.11)!important}
.authbox:before{content:"";display:block;width:42px;height:3px;border-radius:999px;background:linear-gradient(90deg,#c99730,#e2c57e);margin-bottom:21px}
.visual{background:radial-gradient(circle at 25% 15%,rgba(201,151,48,.16),transparent 25%),linear-gradient(145deg,#0e1014,#181b21)!important}
.visual .mark{color:#e2c57e!important}
.visual h1{max-width:650px!important}
.v8-visual-mini{border-color:rgba(255,255,255,.11)!important;background:rgba(255,255,255,.055)!important}
.v8-auth-bullet{background:#fbfaf7!important;border-color:#ebe4d8!important}
.tabs{border-radius:14px!important}.tabs button{border-radius:10px!important}

/* forms / modals */
.modal{backdrop-filter:blur(7px)}
.modalbox{border:1px solid #e8e1d4!important;box-shadow:0 30px 90px rgba(12,14,17,.18)!important}
.field label{font-size:10.5px!important;letter-spacing:.015em}
.field input,.field select,.field textarea{min-height:42px}
.field textarea{min-height:105px}
.actions{gap:8px!important}.btn{min-height:36px}
.btn:not(.light):not(.danger):not(.red){background:linear-gradient(180deg,#d0a044,#bb872b)!important;color:#111317!important}
.btn.dark{background:linear-gradient(180deg,#171a1f,#0e1013)!important;color:#fff!important}

/* public website */
.pub-header{border-bottom-color:rgba(255,255,255,.10)!important}
.pub-logo-mark{border-color:#c99730!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.pub-hero-content{padding-top:104px!important;padding-bottom:110px!important}
.pub-hero h1{max-width:820px!important}
.pub-hero p{max-width:650px!important}
.pub-cta.gold{background:linear-gradient(180deg,#d7ad55,#bd8727)!important}
.pub-search{border-radius:18px!important;box-shadow:0 22px 60px rgba(15,16,19,.11)!important}
.pub-card{border-radius:16px!important;overflow:hidden!important;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease!important}
.pub-card:hover{transform:translateY(-3px)!important;border-color:#dcd2c0!important;box-shadow:0 20px 48px rgba(15,16,19,.09)!important}
.pub-card-photo{height:255px!important}.pub-card-photo:after{border-radius:999px!important;padding:7px 11px!important}
.pub-badge{border-radius:999px!important;padding:6px 9px!important}
.pub-card-body{padding:18px!important}.pub-card-desc{min-height:40px!important}
.pub-about-copy{position:relative}.pub-about-copy:before{content:"";display:block;width:38px;height:2px;background:#c99730;margin-bottom:18px}
.pub-service{border-radius:16px!important;box-shadow:var(--lux-shadow)!important}
.pub-icon-box{border-radius:12px!important;border:1px solid #e9deca!important}
.pub-contact-info,.pub-contact-form{border-radius:18px!important}
.pub-contact-info{background:linear-gradient(145deg,#111317,#1a1d23)!important}
.pub-footer{border-top:1px solid #22252a!important}
.pub-modal-card{border-radius:18px!important}.pub-gallery-main{border-radius:0!important}
.v81-public-ribbon-inner,.v81-public-note{border-color:#e9e1d3!important}

/* mobile polish */
@media(max-width:760px){
 .side{box-shadow:5px 0 18px rgba(0,0,0,.08)}
 .pub-hero-content{padding-top:78px!important;padding-bottom:82px!important}
 .pub-card-photo{height:230px!important}
 .authside{padding:18px!important}
}

/* V8.2.1 startup correction: preserve dynamic inline public hero photo. */
#publicSite .pub-hero[style*="background-image"]{background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
