:root{--blue:#004AAD;--blue-700:#003A86;--dark:#0B1F3A;--orange:#F17024;--orange-700:#C95008;--light:#F5F7FA;--text:#1A2530;--muted:#5D6B7C;--green:#16A34A;--red:#DC2626;--white:#fff;--border:#D8E2F0;--radius:18px;--shadow:0 20px 45px rgba(11,31,58,.10)}
html{background:var(--light)}body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--light)}
a{color:var(--blue)}a:hover{color:var(--blue-700)}.navbar{box-shadow:0 8px 25px rgba(11,31,58,.06);background:#fff}.brand-logo{height:44px;width:44px;border-radius:12px;object-fit:cover}.brand-text{font-weight:900;color:var(--dark);letter-spacing:.02em}.brand-text span{color:var(--blue)}
.button{font-weight:800}.button.is-primary{background:var(--blue)!important;border-color:var(--blue)!important;color:#fff!important}.button.is-primary:hover{background:var(--blue-700)!important;border-color:var(--blue-700)!important;color:#fff!important}.button.is-warning{background:var(--orange)!important;border-color:var(--orange)!important;color:#fff!important;font-weight:900}.button.is-warning:hover{background:var(--orange-700)!important;border-color:var(--orange-700)!important;color:#fff!important}.button.is-light-blue{background:#EAF3FF!important;color:var(--blue)!important;border:1px solid #BCD7FF!important;font-weight:800}.button.is-light-blue:hover{background:#DDEBFF!important;color:var(--blue-700)!important}.button.is-rounded{border-radius:999px}
.hero-main{background:radial-gradient(circle at top left,rgba(0,74,173,.22),transparent 34%),linear-gradient(135deg,#ffffff,#eef5ff);padding:4rem 0 3rem}.hero-title{font-size:clamp(2rem,5vw,4rem);line-height:1.03;font-weight:950;color:var(--dark)}.hero-title strong{color:var(--blue)}.hero-subtitle{font-size:1.15rem;color:var(--muted);max-width:720px}.search-card{background:#fff;border-radius:24px;box-shadow:var(--shadow);padding:1.2rem;margin-top:2rem;border:1px solid #e5eaf2}.search-grid{display:grid;grid-template-columns:2fr 1.2fr 1fr 1fr auto;gap:.75rem}.input,.select select,.textarea{background:#fff!important;color:var(--text)!important;border-radius:12px;border:1px solid var(--border);box-shadow:none}.input::placeholder,.textarea::placeholder{color:#7A8798!important}.select:not(.is-multiple):not(.is-loading)::after{border-color:var(--blue)!important}.label{color:var(--dark);font-size:.85rem;font-weight:800}.help{color:var(--muted)}.section-title{font-size:2rem;font-weight:900;color:var(--dark)}.section-subtitle{color:var(--muted)}
.category-card,.property-card,.feature-card,.dashboard-card,.auth-card,.adminish-card{background:#fff;border-radius:var(--radius);box-shadow:0 10px 30px rgba(11,31,58,.07);border:1px solid #edf1f7;overflow:hidden}.category-card{padding:1.4rem;height:100%;transition:.2s}.category-card:hover,.property-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.category-icon{width:56px;height:56px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:#eef5ff;color:var(--blue);font-size:1.6rem;margin-bottom:1rem}
.property-cover{height:220px;background:#dbeafe;position:relative;overflow:hidden}.property-cover img{width:100%;height:100%;object-fit:cover;display:block}.property-body{padding:1rem}.property-title{font-weight:900;color:var(--dark);font-size:1.08rem}.property-price{font-weight:950;color:var(--blue);font-size:1.25rem}.badge{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.25rem .7rem;font-weight:900;font-size:.75rem}.badge.verified{background:#DCFCE7;color:#14532D}.badge.pending{background:#FFF7ED;color:#7C2D12}.badge.status{background:#EAF3FF;color:var(--blue)}.property-meta{display:flex;gap:.8rem;flex-wrap:wrap;color:var(--muted);font-size:.9rem}.property-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}
.steps{counter-reset:step}.step{background:#fff;border-radius:18px;padding:1.4rem;border:1px solid #edf1f7;position:relative;min-height:150px}.step:before{counter-increment:step;content:counter(step);position:absolute;right:1rem;top:1rem;width:38px;height:38px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900}.cta{background:linear-gradient(135deg,var(--blue),#0B1F3A);color:#fff;border-radius:28px;padding:2rem;box-shadow:var(--shadow)}.cta .title,.cta .subtitle{color:#fff}.footer{background:#fff;border-top:1px solid #edf1f7}.social-links a{display:inline-flex;width:38px;height:38px;border-radius:50%;align-items:center;justify-content:center;background:#EAF3FF;color:var(--blue);margin-right:.35rem}.social-links a:hover{background:var(--blue);color:#fff}.detail-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:.75rem}.detail-gallery img,.detail-gallery video{width:100%;height:180px;object-fit:cover;border-radius:18px;background:#0B1F3A}.detail-gallery img:first-child{grid-row:span 2;height:372px}.video-box{background:#fff;border-radius:20px;border:1px solid #edf1f7;padding:1rem;box-shadow:0 10px 25px rgba(11,31,58,.06)}.video-box video{width:100%;border-radius:16px;background:#000}.sticky-box{position:sticky;top:90px}.stat-card{background:#fff;border-radius:20px;padding:1.25rem;border:1px solid #edf1f7;box-shadow:0 10px 25px rgba(11,31,58,.06)}.stat-number{font-size:2rem;font-weight:950;color:var(--blue)}.dashboard-menu{background:#fff;border-radius:20px;padding:.75rem;border:1px solid #edf1f7}.dashboard-menu a{display:block;padding:.8rem 1rem;border-radius:14px;color:var(--dark);font-weight:800}.dashboard-menu a:hover,.dashboard-menu a.is-active{background:#eef5ff;color:var(--blue)}.table-container{background:#fff;border-radius:20px;padding:1rem;border:1px solid #edf1f7}.notice{border-radius:16px;padding:1rem;margin-bottom:1rem;font-weight:700}.notice.success{background:#DCFCE7;color:#14532D}.notice.error{background:#FEE2E2;color:#7F1D1D}.mobile-bottom{display:none}
@media(max-width:900px){.search-grid{grid-template-columns:1fr}.hero-main{padding:2rem 0}.detail-gallery{grid-template-columns:1fr}.detail-gallery img,.detail-gallery img:first-child,.detail-gallery video{height:230px;grid-row:auto}.sticky-box{position:static}.mobile-bottom{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e5eaf2;z-index:30;justify-content:space-around;padding:.35rem}.mobile-bottom a{font-size:.78rem;color:var(--dark);font-weight:800;text-align:center}.footer{padding-bottom:4rem}}
/* V4 — parcours complet */
.gap-2{gap:.5rem}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.quick-grid a{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;min-height:95px;border:1px solid #dbeafe;border-radius:18px;background:#f8fbff;color:#0b1f3a;font-weight:800;text-align:center}.quick-grid i{font-size:1.5rem;color:#004AAD}.mini-item{padding:12px 0;border-bottom:1px solid #edf2f7}.mini-item:last-child{border-bottom:0}.notification-row{display:flex;justify-content:space-between;gap:16px;padding:16px;border:1px solid #e5edf7;border-radius:16px;margin-bottom:12px;color:#0b1f3a;background:#fff}.notification-row.unread{background:#eff6ff;border-color:#bfdbfe}.notification-row p{margin:.25rem 0;color:#64748b}.trust-strip{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px}.trust-strip>div{background:#fff;border:1px solid #dbeafe;border-radius:18px;padding:14px;box-shadow:0 10px 30px rgba(15,23,42,.06)}.trust-strip i{color:#004AAD;margin-right:8px}.trust-strip .progress{height:8px;margin:8px 0}.inline-form{display:inline-block;margin:2px}.status-pending,.status-draft{background:#fff7ed;color:#9a3412}.status-paid,.status-published,.status-approved,.status-success,.status-confirmed,.status-done,.status-interested{background:#dcfce7;color:#166534}.status-failed,.status-rejected,.status-refused,.status-danger,.status-cancelled,.status-suspended,.status-reported{background:#fee2e2;color:#991b1b}.status-rented,.status-reserved{background:#dbeafe;color:#1e40af}.status-open,.status-reviewing{background:#fef9c3;color:#854d0e}.status-resolved{background:#dcfce7;color:#166534}.status-cancelled{background:#fee2e2;color:#991b1b}@media(max-width:900px){.quick-grid,.trust-strip{grid-template-columns:1fr 1fr}}@media(max-width:560px){.quick-grid,.trust-strip{grid-template-columns:1fr}.notification-row{flex-direction:column}}

/* V5 - intelligence, matching, contrats */
.info-box,.signature-card,.signature-box,.gateway-card{border:1px solid #dbe7f5;border-radius:18px;background:#f8fbff;padding:1rem}
.contract-document{background:#fff;border:1px solid #dbe7f5;box-shadow:0 20px 50px rgba(11,31,58,.08)}
.contract-document h2{color:#0B1F3A}
.signature-box{background:#eef6ff;border-color:#bcd7ff}
.signature-card{background:#fff}
.status-active,.status-completed,.status-owner_signed,.status-tenant_signed,.status-published{background:#dcfce7!important;color:#166534!important}
.status-paused,.status-draft,.status-pending{background:#fef9c3!important;color:#854d0e!important}
.status-deleted,.status-cancelled,.status-rejected{background:#fee2e2!important;color:#991b1b!important}
.gap-2{gap:.5rem}
@media print{.navbar,.footer,.dashboard-menu,.mobile-bottom,.signature-box{display:none!important}.column.is-3{display:none!important}.column{width:100%!important}.contract-document{box-shadow:none;border:0}.section{padding:0}}

/* V6 PWA automatic update notice */
.pwa-update-notice {
  position: fixed;
  left: 50%;
  bottom: 78px;
  transform: translateX(-50%);
  z-index: 9999;
  max-width: calc(100% - 32px);
  padding: 12px 18px;
  border-radius: 999px;
  background: #0B1F3A;
  color: #FFFFFF;
  font-weight: 700;
  box-shadow: 0 12px 30px rgba(11, 31, 58, .25);
}


/* V6.1 - lisibilité formulaires/authentification */
.auth-card .title,
.auth-card h1,
.auth-card h2,
.auth-card h3 { color:#0B1F3A!important; }
.auth-card p,
.auth-card .help,
.auth-card .has-text-grey { color:#5D6B7C!important; }
.auth-card .radio,
.auth-card .checkbox { color:#0B1F3A!important; }
.auth-card .input,
.auth-card .textarea,
.auth-card .select select { background:#FFFFFF!important;color:#1A2530!important;border-color:#D8E2F0!important; }
.auth-card .button.is-primary { color:#FFFFFF!important; }

/* Lot 3 - états métier supplémentaires */
.status-disputed{background:#ffedd5!important;color:#9a3412!important}
.status-refunded{background:#ede9fe!important;color:#5b21b6!important}
.status-reversed{background:#e5e7eb!important;color:#374151!important}
.status-not_interested{background:#fee2e2!important;color:#991b1b!important}
.status-sent{background:#dbeafe!important;color:#1e40af!important}

/* Lot 5 - messagerie et notifications */
.menu-count,.nav-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#004AAD;color:#fff;font-size:.72rem;font-weight:900;margin-left:auto}.nav-count{margin-left:2px;background:#dc2626}.menu-count.is-danger{background:#dc2626}.message-thread-row{display:flex;justify-content:space-between;gap:14px;padding:15px;border:1px solid #e5edf7;border-radius:15px;margin-bottom:10px;background:#fff;color:#0b1f3a}.message-thread-row:hover{border-color:#93c5fd;background:#f8fbff}.message-thread-row.unread{background:#eff6ff;border-color:#93c5fd}.message-thread-row p{margin:.25rem 0;color:#64748b}.conversation-box{display:flex;flex-direction:column;gap:12px}.conversation-message{max-width:82%;padding:14px 16px;border-radius:18px;background:#f1f5f9}.conversation-message.mine{align-self:flex-end;background:#dbeafe}.conversation-message.theirs{align-self:flex-start}.message-meta{display:flex;justify-content:space-between;gap:14px;margin-bottom:6px}.message-meta small{color:#64748b}@media(max-width:700px){.conversation-message{max-width:96%}.message-thread-row{flex-direction:column}}
