/* Styles communs à toutes les pages (repris du CRM d'origine) */
.required:after{content:' *'; color:#dc3545;}
.btn-primary {
--bs-btn-color:#fff; --bs-btn-bg:#0a0a0b; --bs-btn-border-color:#0a0a0b;
--bs-btn-hover-color:#fff; --bs-btn-hover-bg:#0a0a0b; --bs-btn-hover-border-color:#0a0a0b;
--bs-btn-active-color:#fff; --bs-btn-active-bg:#0a0a0b; --bs-btn-active-border-color:#0a0a0b;
--bs-btn-disabled-color:#fff; --bs-btn-disabled-bg:#0a0a0b; --bs-btn-disabled-border-color:#0a0a0b;
}
.bg-primary{ background-color:#0a0a0b!important; }
.btn-outline-primary{
--bs-btn-color:#0a0a0b; --bs-btn-border-color:#0a0a0b; --bs-btn-hover-color:#fff;
--bs-btn-hover-bg:#0a0a0b; --bs-btn-hover-border-color:#0a0a0b;
--bs-btn-disabled-color:#0a0a0b; --bs-btn-disabled-bg:transparent; --bs-btn-disabled-border-color:#0a0a0b;
}
.container, .container-lg, .container-md, .container-sm, .container-xl { max-width:95%; }
.text-bg-primary { color:#fff!important; background-color:#142D61!important; }

body{
background:linear-gradient(180deg,#fcfaf3 0%,#f1f3fb 100%);
color:#09090a;
font-family:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
min-height:100vh;
}

/* ── Barre recherche globale ── */
#gs-bar{background:#fff;border-bottom:1px solid #e8edf5;padding:.55rem 1.5rem;display:flex;align-items:center;gap:.8rem;
transition:max-height .32s cubic-bezier(.4,0,.2,1),opacity .26s ease,padding .26s ease;max-height:72px;overflow:visible;box-shadow:0 1px 0 #f1f5fb}
#gs-bar.gs-closed{max-height:0;opacity:0;padding-top:0;padding-bottom:0;overflow:hidden;pointer-events:none}
#gs-field{flex:1;position:relative;min-width:0}
#gs-ico{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none;transition:color .15s;display:flex;align-items:center}
#gs-bar:focus-within #gs-ico{color:#0a0a0b}
#gs-input{width:100%;padding:.52rem 5.8rem .52rem 2.55rem;border:1.5px solid #e2e8f0;border-radius:10px;font-size:.875rem;font-family:inherit;color:#09090a;
background:#f8fafc;outline:none;transition:border-color .18s,background .18s,box-shadow .18s;-webkit-appearance:none}
#gs-input:focus{border-color:#0a0a0b;background:#fff;box-shadow:0 0 0 3px rgba(4,45,97,.09)}
#gs-input::placeholder{color:#b0bcc9}
#gs-input::-webkit-search-cancel-button{display:none}
#gs-hint{position:absolute;right:36px;top:50%;transform:translateY(-50%);display:flex;gap:2px;pointer-events:none;transition:opacity .15s}
#gs-hint kbd{font-family:inherit;font-size:.63rem;background:#f1f5f9;border:1px solid #cbd5e1;border-bottom-width:2px;border-radius:5px;padding:.05rem .32rem;color:#94a3b8;line-height:1.6}
#gs-input:focus ~ #gs-hint{opacity:0}
#gs-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:20px;height:20px;border:none;border-radius:50%;background:#e2e8f0;color:#64748b;
cursor:pointer;display:none;align-items:center;justify-content:center;font-size:.65rem;padding:0;transition:background .12s;line-height:1}
#gs-clear:hover{background:#cbd5e1;color:#0f0f12}
#gs-clear.on{display:flex}
#gs-toggle{flex-shrink:0;display:inline-flex;align-items:center;gap:.3rem;padding:.42rem .75rem;background:none;border:1.5px solid #e2e8f0;border-radius:9px;color:#64748b;
font-size:.78rem;font-family:inherit;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .14s}
#gs-toggle:hover{border-color:#0a0a0b;color:#0a0a0b;background:#f0f4ff}
#gs-drop{position:absolute;top:calc(100% + 5px);left:0;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:14px;
box-shadow:0 16px 48px rgba(4,45,97,.13),0 2px 8px rgba(4,45,97,.05);z-index:9990;max-height:490px;overflow-y:auto;display:none;font-size:.855rem}
#gs-drop.on{display:block}
.gs-sec{display:flex;align-items:center;gap:.45rem;font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#94a3b8;padding:.65rem 1rem .28rem;border-top:1px solid #f1f5f9}
.gs-sec:first-child{border-top:none}
.gs-row{display:flex;align-items:flex-start;gap:.7rem;padding:.55rem 1rem;transition:background .09s;border-bottom:1px solid #f8fafc;cursor:pointer;text-decoration:none;color:inherit}
.gs-row:last-child{border-bottom:none}
.gs-row:hover,.gs-row.active{background:#f8fafc}
.gs-icon{flex-shrink:0;width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;margin-top:1px}
.ic-prospect{background:#fdf8e9;color:#d4af37}.ic-client{background:#f0fdf4;color:#16a34a}.ic-company{background:#fff1f2;color:#e11d48}
.ic-event{background:#fffbeb;color:#d97706}.ic-comment{background:#faf5ff;color:#9333ea}
.gs-body{flex:1;min-width:0}
.gs-name{font-weight:600;color:#09090a;display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;line-height:1.35;font-size:.875rem}
.gs-tag{font-size:.62rem;font-weight:700;padding:.07rem .42rem;border-radius:999px;letter-spacing:.03em}
.tag-prospect{background:#fff7ed;color:#c2410c}.tag-client{background:#f0fdf4;color:#15803d}
.gs-meta{display:flex;flex-wrap:wrap;gap:.15rem .7rem;margin-top:.2rem;color:#64748b;font-size:.75rem}
.gs-meta-item{display:flex;align-items:center;gap:.28rem;color:#64748b}
.gs-snippet{margin-top:.22rem;font-size:.74rem;color:#94a3b8;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gs-empty{padding:1.8rem 1rem;text-align:center;color:#94a3b8;font-size:.875rem}
.gs-empty strong{display:block;color:#475569;font-size:.95rem;margin-bottom:.3rem}
mark{background:#fef08a;color:inherit;border-radius:2px;padding:0 1px}
#gs-pill{display:none;position:sticky;top:58px;z-index:1040;justify-content:flex-end;padding:.45rem 1.5rem 0;pointer-events:none}
#gs-pill.on{display:flex}
#gs-pill-btn{pointer-events:all;display:flex;align-items:center;gap:.5rem;background:#0a0a0b;color:#fff;border:none;border-radius:999px;padding:.4rem 1rem .4rem .7rem;
font-size:.78rem;font-weight:500;font-family:inherit;cursor:pointer;box-shadow:0 4px 20px rgba(4,45,97,.3);white-space:nowrap}
.gs-pill-k{background:rgba(255,255,255,.2);border-radius:5px;padding:.04rem .3rem;font-size:.64rem}

/* ── Modales communes (style « design system ») ── */
.crm-modal .modal-content{border:0;border-radius:22px;box-shadow:0 30px 80px rgba(15,23,42,.22),0 0 0 1px rgba(15,23,42,.04);overflow:hidden;font-family:'Manrope',sans-serif}
.crm-modal .modal-header{background:linear-gradient(120deg,#09090a 0%,#0f0f12 55%,#8a6a12 100%);border:0;color:#fff;padding:18px 22px}
.crm-modal .modal-title{color:#fff!important;font-family:'Bricolage Grotesque','Manrope',sans-serif;font-weight:700;font-size:1.1rem;letter-spacing:-.01em}
.crm-modal .modal-header .btn-close{filter:invert(1) grayscale(1) brightness(2);opacity:.9}
.crm-modal .modal-body{background:#fafbff;padding:22px 24px}
.crm-modal .modal-footer{background:#fff;border-top:1px solid #eef0f7;padding:14px 22px;gap:8px}
.crm-modal .form-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin-bottom:5px}
.crm-modal .form-control,.crm-modal .form-select{border-radius:11px;border:1px solid #e9dfc4;background:#fcfaf3;padding:9px 13px;font-size:.9rem;color:#09090a;transition:all .15s}
.crm-modal .form-control:focus,.crm-modal .form-select:focus{background:#fff;border-color:#9c7a16;box-shadow:0 0 0 4px rgba(99,102,241,.12);outline:0}
.crm-modal .btn{border-radius:11px;font-weight:600;padding:9px 18px;font-size:.85rem}
.crm-modal .btn-primary,.btn-grad{background:linear-gradient(135deg,#0f0f12,#2b2b31)!important;border:0!important;color:#fff!important;box-shadow:0 4px 12px rgba(13,13,15,.3)}
.crm-modal .btn-outline-secondary{background:#fff;border:1px solid #e9dfc4;color:#09090a}
.crm-modal .form-error{background:#ffe4e6;color:#9f1239;border-radius:12px;padding:10px 14px;font-size:.85rem;margin-bottom:12px}

/* ── Toasts ── */
#toasts{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:20000;display:flex;flex-direction:column;gap:8px;align-items:center}
.toast-msg{background:#09090a;color:#fff;padding:10px 18px;border-radius:12px;font-weight:600;font-size:.88rem;box-shadow:0 10px 30px rgba(0,0,0,.2);animation:tpop .2s ease}
.toast-msg.err{background:#be123c}
@keyframes tpop{from{transform:translateY(8px);opacity:0}}

/* ── Connexion ── */
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px;
background:radial-gradient(1200px 600px at 10% -10%,rgba(99,102,241,.18),transparent),radial-gradient(900px 500px at 110% 110%,rgba(236,72,153,.14),transparent),#fcfaf3}
.login-card{width:100%;max-width:420px;background:#fff;border:1px solid #eef0f7;border-radius:22px;padding:34px 32px;box-shadow:0 20px 60px rgba(15,23,42,.08)}
.login-card .logo{font-weight:800;color:#0a0a0b;font-size:18px;margin-bottom:26px}
.login-card h1{font-family:'Bricolage Grotesque','Manrope',sans-serif;font-size:1.7rem;font-weight:700;letter-spacing:-.02em;margin:0}
.login-card p{color:#64748b;margin:6px 0 24px}
.login-card .form-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b}
.login-card .form-control{border-radius:11px;border:1px solid #e9dfc4;background:#fcfaf3;padding:10px 13px}
.login-card .btn{width:100%;border-radius:11px;padding:10px;font-weight:700;background:linear-gradient(135deg,#0f0f12,#2b2b31);border:0}
.login-card .foot{font-size:.78rem;color:#94a3b8;margin-top:22px;text-align:center}

/* Divers */
.cursor-pointer{cursor:pointer}
.demo-badge{background:#fbbf24;color:#3b2600;font-size:.62rem;font-weight:800;padding:2px 7px;border-radius:99px;margin-left:8px;vertical-align:2px}
.notes-pop{position:fixed;z-index:2000;background:#fff;border-radius:18px;box-shadow:0 25px 60px rgba(15,23,42,.22),0 0 0 1px rgba(15,23,42,.05);width:360px;max-height:420px;overflow:hidden;font-size:.82rem}

/* Le nom de l'utilisateur est masqué quand le menu manque de place */
@media (min-width:992px) and (max-width:1330px){ .nv-user-name{display:none} }
@media (min-width:992px) and (max-width:1100px){ .navbar-mda .nav-link>span:not(.user-avatar):not(.nv-user-name){font-size:.82rem} .navbar-mda .nav-link{padding-left:.55rem!important;padding-right:.55rem!important} }
body{overflow-x:hidden}
/* Formulaire plein écran dans une fenêtre défilante */
.crm-modal .modal-content > form{display:flex;flex-direction:column;min-height:0;max-height:100%}
.crm-modal .modal-content > form > .modal-body{overflow-y:auto;min-height:0}
.auto-ok{animation:autoOk 1.2s ease}
@keyframes autoOk{0%{background:#dcfce7;border-color:#86efac}100%{background:#fcfaf3}}
