/* Compléments SaaS — s'appuie sur les variables et composants de style.css */
.nx-tenant{margin:-6px 18px 14px;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.08);color:#dbe7ff;font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nx-me{color:inherit;text-decoration:none}
.nx-plan{font-size:12px;font-weight:700;padding:6px 10px;border-radius:999px;text-decoration:none;margin-right:10px}
.nx-plan.trial{background:#fff4e5;color:#9a5b00;border:1px solid #f5d199}
.nx-readonly{margin:0 0 18px;padding:12px 16px;border-radius:12px;background:#fff1f0;border:1px solid #f3b8b2;color:#8a1c12;font-size:14px}
.nx-flash{margin:0 0 18px;padding:14px 16px;border-radius:12px;background:#ecfdf3;border:1px solid #a6e4bf;color:#05603a}
.nx-flash code{display:inline-block;margin-top:6px;padding:6px 10px;border-radius:8px;background:#fff;border:1px dashed #36a36b;font-size:16px;letter-spacing:.5px;user-select:all}
.nx-error-box{margin:0 0 14px;padding:12px 14px;border-radius:10px;background:#fff1f0;border:1px solid #f3b8b2;color:#8a1c12}
.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 16px;background:linear-gradient(135deg,#0b1f45,#163b7a 55%,#1f5fbf)}
.auth-card{width:100%;max-width:460px;background:#fff;border-radius:18px;padding:32px;box-shadow:0 30px 80px rgba(3,15,40,.35)}
.auth-card.wide{max-width:640px}
.auth-card h1{margin:14px 0 4px;font-size:24px}
.auth-card p.sub{margin:0 0 20px;color:#5b6b86;font-size:14px}
.auth-card label{display:block;font-size:13px;font-weight:600;color:#344054;margin:12px 0 0}
.auth-card input,.auth-card select{width:100%;margin-top:6px;box-sizing:border-box}
.auth-card button{width:100%;margin-top:20px}
.auth-card .grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.auth-brand{display:flex;align-items:center;gap:10px}
.auth-brand span{display:inline-flex;width:40px;height:40px;border-radius:12px;align-items:center;justify-content:center;background:#1f5fbf;color:#fff;font-weight:800;font-size:20px}
.auth-links{margin-top:18px;font-size:13px;text-align:center;color:#5b6b86}
.auth-links a{color:#1f5fbf;font-weight:600}
.check{display:flex!important;gap:10px;align-items:flex-start;font-weight:500!important}
.check input{width:auto!important;margin-top:3px!important}
.perm-group{border:1px solid #e4e9f2;border-radius:12px;padding:12px 14px;margin:0 0 12px}
.perm-group h3{margin:0 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:#5b6b86}
.perm-group label{display:flex;gap:10px;align-items:flex-start;padding:6px 0;font-size:14px}
.perm-group input{margin-top:3px}
.perm-locked{opacity:.65}
.badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:700;background:#eef2f8;color:#344054}
.badge.ok{background:#ecfdf3;color:#05603a}.badge.warn{background:#fff4e5;color:#9a5b00}.badge.bad{background:#fff1f0;color:#b42318}
.inline-form{display:inline}
.pager{display:flex;gap:8px;align-items:center;justify-content:flex-end;padding:12px 16px}
.qr-box{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.qr-box svg{width:200px;height:200px;background:#fff;padding:8px;border:1px solid #e4e9f2;border-radius:12px}
.secret{font-family:Consolas,monospace;font-size:14px;padding:6px 10px;background:#f4f6fb;border-radius:8px;user-select:all;word-break:break-all}
.platform-top{display:flex;justify-content:space-between;align-items:center;padding:16px 28px;background:#0b1f45;color:#fff}
.platform-top a{color:#c7d7f5}
.platform-main{padding:28px;max-width:1400px;margin:0 auto}
.platform-main table input,.platform-main table select{min-width:0;padding:6px 8px;font-size:13px}
.small{font-size:12px;color:#5b6b86}
.muted{color:#5b6b86}
.doctor-switch{display:flex;gap:8px;align-items:center}
.doctor-switch select{padding:6px 10px}
@media (max-width:700px){.auth-card .grid2{grid-template-columns:1fr}}
.loginmain{display:block!important;padding:0!important}
.nx-flash-big{border-width:2px;font-size:15px}.flash-grid{display:flex;gap:18px;align-items:flex-end;flex-wrap:wrap;margin-top:10px}.flash-grid>div{display:flex;flex-direction:column;gap:4px}
/* Consultation : la carte Ordonnance ne recouvre plus les boutons ; barre d'actions toujours visible */
.clinical-entry-grid .rx-editor{position:static}
.clinical-entry-grid .consultation-submit{position:sticky;bottom:0;z-index:20;margin:0 -4px;padding:12px 16px;background:rgba(244,247,252,.96);backdrop-filter:blur(6px);border:1px solid #e4e9f2;border-radius:14px;box-shadow:0 -6px 20px rgba(15,35,80,.08);align-items:center}
/* Abonnement */
.sub-status{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:20px 24px}
.sub-status>div{display:flex;flex-direction:column;gap:4px}.sub-status b{font-size:20px;color:#0b1f45}
.sub-pending{border:2px solid #f5d199;background:#fffaf2}
.sub-steps{margin:0 0 14px;padding-left:20px;line-height:1.9;font-size:14px}
.sub-steps code{background:#fff;border:1px dashed #9a5b00;padding:2px 8px;border-radius:6px;font-weight:700}
.sub-toggle{display:inline-flex;gap:4px;padding:4px;background:#e8eef8;border-radius:12px;margin-bottom:14px}
.sub-toggle button{border:0;background:transparent;padding:8px 16px;border-radius:9px;font-weight:700;color:#344054;cursor:pointer}
.sub-toggle button.active{background:#fff;color:#0b1f45;box-shadow:0 2px 8px rgba(15,35,80,.12)}
.sub-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sub-plan{position:relative;padding:22px 22px 20px;display:flex;flex-direction:column;gap:6px}
.sub-plan.current{border:2px solid #36a36b}
.sub-plan h2{margin:0;font-size:22px}
.sub-users{margin:0;color:#5b6b86}
.sub-price{margin:8px 0}.sub-price b{font-size:32px;color:#0b1f45}.sub-price small{display:block;color:#5b6b86;margin-top:2px}
.sub-plan ul{margin:6px 0 14px;padding-left:18px;line-height:1.8;font-size:14px;color:#344054;flex:1}
.sub-current{position:absolute;top:14px;right:14px}
.nx-renew{margin:0 0 18px;padding:12px 16px;border-radius:12px;background:#fff8eb;border:1px solid #f5d199;color:#7a4a00;font-size:14px}
.nx-renew a{font-weight:700;color:#1f5fbf;margin-left:6px}
.platform-nav{display:flex;gap:18px;align-items:center}.platform-nav a.active{color:#fff;font-weight:700}
.platform-top img{height:28px;vertical-align:middle;margin-right:8px;background:#fff;border-radius:6px;padding:2px}
.auth-brand img{width:44px;height:44px;object-fit:contain}
@media (max-width:1000px){.sub-plans,.sub-status{grid-template-columns:1fr}}
.sub-save{color:#05603a!important;font-weight:700}
