*{box-sizing:border-box}
body{margin:0;background:#050505;font-family:Arial,Helvetica,sans-serif;font-size:14px;color:#111}.hidden{display:none!important}.error{color:#b00000;font-weight:bold;min-height:18px}.small-note{font-size:12px;color:#333;line-height:1.35}.app{width:1260px;height:760px;margin:12px auto;background:#bdbdbd;border:2px solid #7e7e7e;box-shadow:0 0 0 2px #e0e0e0 inset}.topbar{height:34px;display:flex;align-items:stretch;background:#c8c8c8;border-bottom:2px solid #9a9a9a;overflow:hidden}.main-tab,.side-tab,.classic-btn{font-family:Arial,Helvetica,sans-serif;border:2px outset #ddd;background:#c9c9c9;color:#111;cursor:pointer}.main-tab{min-width:84px;font-weight:bold;height:34px}.main-tab.active{background:#ededed;border-bottom-color:#ededed;color:#0b36cc}.main-tab.has-new,.private-tab.has-new{background:#fff36b!important;color:#111!important}.private-tabs{display:flex;align-items:stretch;margin-left:4px;min-width:0;overflow:hidden}.private-tab{font-family:Arial,Helvetica,sans-serif;border:2px outset #ddd;background:#c9c9c9;color:#111;cursor:pointer;height:34px;font-weight:bold;min-width:92px;max-width:160px;display:flex;align-items:center;gap:4px;padding:0 5px}.private-tab.active{background:#ededed;border-bottom-color:#ededed;color:#0b36cc}.private-tab .pv-close{font-style:normal;background:#b70000;color:#fff;border:1px outset #f2a0a0;width:14px;height:14px;line-height:12px;text-align:center;font-size:12px;margin-left:auto}.main-layout{display:grid;grid-template-columns:1fr 280px;gap:8px;padding:8px;height:724px}.old-panel{background:#c6c6c6;border:2px groove #e5e5e5}.left-area{padding:8px;min-width:0}.right-area{padding:6px}fieldset{border:2px groove #e4e4e4;margin:0;padding:10px;background:#c6c6c6}legend{padding:0 6px;color:#333;font-weight:bold}.tab-page{display:none;height:100%}.tab-page.active{display:flex;flex-direction:column}.dialogue-field{height:548px;background:#c6c6c6}.chat-log{height:508px;background:white;border:2px inset #ddd;overflow-y:auto;padding:8px;line-height:1.58;font-size:13px}.msg{white-space:pre-wrap;position:relative;margin-bottom:2px}.system{color:#666;font-style:italic}.private{color:#c55}.status-line{height:26px;padding:5px 4px 3px 4px;font-size:13px}.bottom-compose{display:grid;grid-template-columns:280px 1fr 118px;grid-template-rows:30px 32px;gap:7px 10px;align-items:center;padding:0 4px 2px 4px}.checks{grid-column:1;grid-row:1 / span 2;display:grid;grid-template-rows:30px 32px;gap:7px;padding:0;align-items:center}.checks label{height:30px;display:flex;align-items:center;gap:7px;margin:0;white-space:nowrap}.checks input{width:14px;height:14px;margin:0}.compose-controls{display:contents}.message-input{height:30px;width:100%;font-size:14px;margin:0}.sendbar button,#sendBtn,#adminSendBtn{height:30px}.compose-controls #messageInput{grid-column:2;grid-row:1}.compose-controls #sendBtn{grid-column:3;grid-row:1;width:118px}.select-row{grid-column:2 / span 2;grid-row:2;display:flex;align-items:center;gap:12px;height:32px}.select-row select{width:150px;height:28px;margin:0}.classic-input,.classic-select{border:2px inset #ddd;background:#fff;height:28px;padding:2px 5px;font-family:Arial,Helvetica,sans-serif}.classic-btn{height:30px;padding:3px 12px;font-weight:bold}.classic-btn:active,.main-tab:active,.side-tab:active{border-style:inset}.primary{color:#0b36cc}.danger-yellow{background:#ffc400!important;border-color:#f3d56b!important;color:#111!important;font-weight:bold}.danger-red{background:#f10b0b!important;border-color:#ff6b6b!important;color:#111!important;font-weight:bold}.side-tabs{display:flex;height:30px}.side-tab{width:80px;font-weight:bold}.side-tab.active{background:#ededed;color:#0b36cc}.side-page{display:none}.side-page.active{display:block}.members-list{height:472px;background:white;border:2px inset #ddd;overflow-y:auto;padding:6px}.member,.list-row{padding:4px 6px;min-height:24px;position:relative;border-bottom:1px solid #d8d8d8;background:#fff;cursor:pointer;overflow:visible}.member:hover,.list-row:hover{background:#e8e8ff}.member.selected,.list-row.selected{background:#dfe8ff!important;color:#111!important;font-weight:bold;outline:1px dotted #777}.member.ignored,.list-row.ignored{opacity:.45;text-decoration:line-through}.member.muted:after,.list-row.muted:after{content:'  (muet)';color:#b00}.members-info{padding:8px 4px;line-height:1.25}.sort-line{padding:3px 4px 8px;white-space:nowrap}.side-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.side-actions .danger-yellow{grid-column:1/3;height:34px}.big-list{background:white;border:2px inset #ddd;min-height:300px;overflow:auto;padding:8px;margin:12px 0}.big-list.small{min-height:90px;max-height:120px}.action-row{display:flex;gap:10px;flex-wrap:wrap}.intro{margin-top:0}.option-grid{display:grid;grid-template-columns:260px 260px;gap:18px}.option-grid label{display:flex;flex-direction:column;gap:6px}.user-help{margin-top:28px;padding:12px}.infos-field{height:100%;display:flex;flex-direction:column}.infos-log{background:white;border:2px inset #ddd;min-height:390px;flex:1;overflow:auto;padding:8px;margin-bottom:12px}.info-row{border-bottom:1px solid #d8d8d8;padding:8px 6px}.info-meta{color:#003bb3;font-weight:bold;margin-bottom:4px}.info-text{white-space:pre-wrap;line-height:1.45}.info-empty{color:#777;font-style:italic;padding:10px}.info-input{width:100%;height:74px;resize:none;font-family:Arial,Helvetica,sans-serif}.info-actions{display:flex;gap:8px;margin-top:8px}.forced-notice{border:2px solid #b00000;background:#fff4f4;color:#b00000;font-weight:bold;padding:12px;margin-top:8px;text-align:center}.rooms-field{height:100%;display:flex;flex-direction:column}.rooms-list{background:#fff;border:2px inset #ddd;overflow:auto;flex:1;padding:8px;margin-top:8px}.create-room-row{display:grid;grid-template-columns:1fr 120px;gap:8px;margin:6px 0 8px 0;align-items:center}.room-row{display:grid;grid-template-columns:1fr 96px;gap:8px;align-items:center;padding:4px 5px;border-bottom:1px solid #d6d6d6}.room-row.current{background:#e6eeff;outline:1px dotted #6a6a6a}.room-name{border:0;background:transparent;text-align:left;font-family:Arial,Helvetica,sans-serif;cursor:pointer;padding:4px;color:#003bb3}.room-name b{font-size:14px;color:#003bb3}.room-name span{float:right;color:#333;font-size:12px;margin-top:1px}.room-name:hover b{text-decoration:underline}.room-delete{height:26px!important;padding:2px 8px!important}.friends-item{display:flex;justify-content:space-between;align-items:center;padding:6px;border-bottom:1px solid #ddd}.smileys-grid{display:block;overflow:auto;height:570px;background:#fff;padding:8px}.smiley-title{font-size:12px;font-weight:bold;color:#003bb3;margin:2px 0 6px 0}.smiley-hint{font-size:11px;color:#333;margin:0 0 8px 0;background:#ffffd9;border:1px solid #d0d0a0;padding:4px}.smiley{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:58px;height:26px;margin:2px;border:1px outset #ddd;background:#f4f4f4;font-size:14px;padding:2px;vertical-align:top;cursor:pointer}.smiley span{font-size:16px;line-height:1}.smiley code{font-size:11px;color:#111;background:transparent}.smiley:hover{background:#fff6a9}.inline-smiley{font-size:16px;display:inline-block;margin:0 2px;vertical-align:-2px}.text-blue{color:#06177b}.text-red{color:#e00000}.text-green{color:#178000}.text-black{color:#111}.speech-whisper{font-size:11px!important;line-height:1.35!important}.speech-talk{font-size:13px!important;line-height:1.58!important}.speech-shout{font-size:17px!important;line-height:1.7!important;font-weight:bold!important}.nick{position:relative;cursor:pointer;font-weight:bold;display:inline-block;overflow:visible}.nick:hover{text-decoration:underline}.nick-admin{color:#f00000!important}.nick-supermod{color:#008a25!important}.nick-male{color:#0045d4!important}.nick-female{color:#ef48a8!important}.nick-other{color:#b59c00!important}.selected-nick{background:#e9efff!important;outline:1px dotted #777;font-weight:900}.profile-card{display:none;position:absolute;left:18px;top:16px;z-index:99999;width:max-content;max-width:260px;background:#ffffc9;border:1px solid #444;box-shadow:2px 2px 0 rgba(0,0,0,.25);padding:3px 6px;color:#111!important;text-decoration:none!important;font-weight:normal!important;line-height:1.35;font-size:11px;text-align:left;white-space:nowrap}.nick:hover .profile-card,.member:hover .profile-card,.list-row:hover .profile-card{display:block!important}.profile-card.admin-profile{color:#e00000!important}.profile-card.supermod-profile{color:#008a25!important}

/* Connexion visuelle façon ancien portail */
.local-login-screen{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#000!important;display:flex!important;align-items:center!important;justify-content:center!important}.local-login-artboard{position:relative;width:min(100vw, calc(100vh * 1.58677686));height:min(100vh, calc(100vw / 1.58677686));background:url('login-reference.jpg') center center / 100% 100% no-repeat;overflow:hidden}.local-login-input{position:absolute;z-index:20;border:2px inset #d6d6d6;background:#fff;color:#111;font:24px Arial,Helvetica,sans-serif;padding:2px 6px;outline:none}.local-login-input:focus{box-shadow:0 0 0 1px rgba(0,0,0,.25)}.local-account{left:52.75%;top:40.65%;width:12.95%;height:4.75%}.local-password{left:52.75%;top:46.95%;width:12.95%;height:4.75%}.local-enter-btn{position:absolute;z-index:21;left:49.25%;top:54.35%;width:12.35%;height:5.85%;border:0;background:transparent;cursor:pointer}.local-hotspot{position:absolute;z-index:19;border:0;background:transparent;cursor:pointer}.local-new-left{left:33.0%;top:57.5%;width:8.7%;height:17.5%}.local-new-main{left:49.2%;top:61.0%;width:31.0%;height:25.0%}.local-new-bottom{left:74.0%;top:75.0%;width:24.5%;height:12.5%}.local-enter-btn:hover,.local-hotspot:hover{box-shadow:0 0 0 1px rgba(255,255,255,.15) inset}.local-login-error{position:absolute;z-index:25;left:39.5%;top:62.8%;width:30%;min-height:22px;color:#e10000;font:bold 15px Arial,Helvetica,sans-serif;text-align:center;text-shadow:0 1px 0 rgba(255,255,255,.55)}.local-login-screen.hidden,#loginScreen.hidden{display:none!important;visibility:hidden!important;pointer-events:none!important}#app.hidden,#adminApp.hidden{display:none!important;visibility:hidden!important}#app:not(.hidden),#adminApp:not(.hidden){display:block!important}.retro-modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:120000}.retro-modal.hidden{display:none!important}.retro-modal-box{width:min(92vw,430px);padding:0;background:#c6c6c6;border:2px groove #e5e5e5;box-shadow:5px 5px 0 rgba(0,0,0,.45)}.retro-modal-title{background:linear-gradient(90deg,#003a95,#8db6ff);color:#fff;font-weight:bold;padding:4px 8px;border-bottom:1px solid #001f55}.retro-modal-body{display:grid;gap:10px;padding:14px}.retro-modal-body label{display:grid;gap:4px;font-weight:bold}.retro-modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:0 14px 14px}

/* Admin */
.admin-login-screen{min-height:100vh;background:#050505;display:flex;align-items:center;justify-content:center;padding:16px}.admin-login-box{width:430px;background:#c6c6c6;box-shadow:5px 5px 0 rgba(0,0,0,.45)}.admin-title{margin-left:auto;padding:8px 12px;color:#003bb3;font-weight:bold}.admin-layout{grid-template-columns:1fr 320px}.admin-compose{display:grid;grid-template-columns:1fr 112px;gap:8px;padding:4px}.admin-action-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.status-result{font-weight:bold;color:#003bb3;margin-top:10px;min-height:20px}.admin-help{margin-top:8px;font-size:12px;line-height:1.35}

@media(max-width:900px){.app{width:100vw;height:100vh;margin:0}.main-layout,.admin-layout{grid-template-columns:1fr;height:calc(100vh - 34px)}.right-area{display:none}.login-artboard{width:100vw}.option-grid{grid-template-columns:1fr}.bottom-compose{grid-template-columns:1fr;display:block}.checks{display:flex}.compose-controls{display:grid;grid-template-columns:1fr 90px}.select-row{grid-column:1/3}.dialogue-field,.chat-log{height:auto;min-height:50vh}.local-login-input{font-size:18px}}


/* v31 : applet admin aligné visuellement sur l'applet utilisateur + retour couleurs/hover originaux */
#adminApp .topbar{height:34px;display:flex;align-items:stretch;background:#c8c8c8;border-bottom:2px solid #9a9a9a;overflow:hidden}
#adminRoomTabBtn{order:6!important;margin-left:0!important;min-width:96px!important}
#adminPrivateTabs{order:7!important;margin-left:4px!important}
#adminApp .main-tab[data-tab="adminrooms"]{order:1!important;min-width:72px!important}
#adminApp .main-tab[data-tab="adminusers"]{order:2!important}
#adminInfosTabBtn{order:3!important}
#adminApp .main-tab[data-tab="adminfriends"]{order:4!important}
#adminApp .main-tab[data-tab="adminoptions"]{order:5!important}
#adminApp .main-layout{display:grid;grid-template-columns:1fr 280px;gap:8px;padding:8px;height:724px}
#adminApp .bottom-compose{display:grid!important;grid-template-columns:280px 1fr 118px!important;grid-template-rows:30px 32px!important;gap:7px 10px!important;align-items:center!important;padding:0 4px 2px 4px!important}
#adminApp .checks{grid-column:1!important;grid-row:1 / span 2!important;display:grid!important;grid-template-rows:30px 32px!important;gap:7px!important;padding:0!important;align-items:center!important}
#adminApp .checks label{height:30px!important;display:flex!important;align-items:center!important;gap:7px!important;margin:0!important;white-space:nowrap!important}
#adminApp .compose-controls{display:contents!important}
#adminApp #adminMessageInput{grid-column:2!important;grid-row:1!important;height:30px!important;width:100%!important;font-size:14px!important;margin:0!important}
#adminApp #adminSendBtn{grid-column:3!important;grid-row:1!important;height:30px!important;width:118px!important;margin:0!important;color:#111!important;-webkit-text-fill-color:#111!important}
#adminApp .select-row{grid-column:2 / span 2!important;grid-row:2!important;display:flex!important;align-items:center!important;gap:12px!important;height:32px!important}
#adminApp .select-row select{width:150px!important;height:28px!important;margin:0!important}
#adminApp .dialogue-field{height:548px!important}
#adminApp .chat-log{height:508px!important}
#adminApp .members-list{height:472px!important}
#adminApp .side-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px!important}
#adminExpelBtn:not(.hidden){display:block!important;grid-column:1/3!important;background:#f10b0b!important;color:#111!important;-webkit-text-fill-color:#111!important}
.admin-action-row .danger-red{background:#f10b0b!important;border-color:#ff6b6b!important;color:#111!important;-webkit-text-fill-color:#111!important}

/* Retour couleurs pseudos et mini-fiche style ancien CaraMail */
.nick-admin{color:#f00000!important}.nick-supermod{color:#008a25!important}.nick-male{color:#0045d4!important}.nick-female{color:#ef48a8!important}.nick-other{color:#b59c00!important}
.member,.list-row{padding:4px 6px!important;min-height:24px!important;position:relative!important;overflow:visible!important;border-bottom:1px solid #d8d8d8!important;background:#fff!important;}
.member:hover,.list-row:hover{background:#e8e8ff!important;text-decoration:none!important}.member.selected,.list-row.selected{background:#dfe8ff!important;color:#111!important;font-weight:bold!important;outline:1px dotted #777!important}
.nick{position:relative!important;cursor:pointer!important;font-weight:bold!important;display:inline-block!important;overflow:visible!important;padding-top:4px!important;margin-top:4px!important;vertical-align:baseline!important}.nick:hover,.member:hover .nick,.list-row:hover .nick{text-decoration:underline!important}.selected-nick{background:#e9efff!important;outline:1px dotted #777!important;font-weight:900!important}
.profile-card{display:none;position:absolute;left:18px;top:16px;z-index:99999;width:145px;background:#ffffc9;border:1px solid #444;box-shadow:2px 2px 0 rgba(0,0,0,.25);padding:2px 5px 4px 5px;color:#111!important;text-decoration:none!important;font-weight:normal!important;line-height:1.35;font-size:11px;text-align:left;white-space:normal}
.profile-card.band-admin .profile-role{color:#e00000!important}.profile-card.band-supermod .profile-role{color:#008a25!important}.profile-card.band-male .profile-role{color:#0045d4!important}.profile-card.band-female .profile-role{color:#ef48a8!important}.profile-card.band-other .profile-role{color:#b59c00!important}
.nick:hover .profile-card,.member:hover .profile-card,.list-row:hover .profile-card{display:block!important}.profile-card div{display:block;margin:0;padding:0;background:transparent!important;border:0!important}
.text-blue{color:#06177b}.text-red{color:#e00000}.text-green{color:#178000}.text-black{color:#111}


/* v31 : inscription majeure + panel comptes admin */
.register-grid{grid-template-columns:1fr 1fr;display:grid!important;gap:10px 14px!important}
.register-grid label{display:grid;gap:4px;font-weight:bold}
.register-note{grid-column:1/3;margin:0;background:#ffffd9;border:1px solid #d0d0a0;padding:6px;line-height:1.35}
.account-toolbar{display:grid;grid-template-columns:1fr 110px;gap:8px;margin-bottom:8px}
.accounts-list{min-height:360px;max-height:430px}
.account-row{background:#fff;border-bottom:1px solid #d6d6d6;padding:7px 8px;cursor:pointer;line-height:1.35}
.account-row:hover{background:#e8e8ff}
.account-row.selected{background:#dfe8ff!important;outline:1px dotted #777;font-weight:normal!important}
.account-row.status-banned{opacity:.72;text-decoration:none}
.account-pill{display:inline-block;border:1px solid #aaa;background:#efefef;padding:1px 5px;font-size:11px;margin-left:6px}
.account-status{display:inline-block;border:1px solid #aaa;background:#ffffd9;padding:1px 5px;font-size:11px;margin-left:4px}
.status-banned .account-status{background:#ffb2b2;border-color:#c33}
.account-details{font-size:12px;color:#333;margin-top:2px}
.admin-account-actions{margin-top:8px;padding:8px;display:grid;grid-template-columns:1fr 130px 90px 85px 85px 90px;gap:8px;align-items:center}
.admin-account-actions #adminSelectedAccountLabel{font-weight:bold;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-account-actions .classic-btn{height:28px;padding-left:8px;padding-right:8px}
.status-result{min-height:22px;margin-top:8px;color:#003bb3;font-weight:bold}
@media(max-width:900px){.register-grid{grid-template-columns:1fr}.register-note{grid-column:1}.admin-account-actions{grid-template-columns:1fr 1fr}.admin-account-actions #adminSelectedAccountLabel{grid-column:1/3}}

/* v32 : nouveau portail connexion / inscription / page personnelle */
.portal-body{min-height:100vh;margin:0;background:radial-gradient(circle at 18% 10%,#2d8fff 0,#08438d 35%,#05152f 72%,#020713 100%);font-family:Verdana,Arial,sans-serif;color:#10233f}
.portal-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px}
.portal-card{width:min(1080px,96vw);display:grid;grid-template-columns:1.05fr .85fr;background:#eef5ff;border:3px solid #b7d8ff;box-shadow:9px 9px 0 rgba(0,0,0,.35), inset 0 0 0 2px #fff}
.portal-left{padding:34px 36px;background:linear-gradient(135deg,#ffffff,#cfe6ff);border-right:2px groove #fff}.portal-left.compact{display:flex;flex-direction:column;justify-content:center}.portal-logo{width:min(430px,100%);display:block;margin:0 0 18px 0}.portal-left h1{margin:12px 0 8px;color:#003b9f;font-size:32px;letter-spacing:-1px}.portal-left p{font-size:15px;line-height:1.55;color:#1a3457}.portal-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.portal-badges span{background:#fff4b8;border:1px solid #c99100;color:#694500;padding:6px 9px;font-weight:bold;font-size:12px;box-shadow:2px 2px 0 rgba(0,0,0,.1)}
.portal-form{padding:28px;background:#c6c6c6;border-left:2px solid #a5a5a5;display:flex;flex-direction:column;gap:13px}.portal-titlebar{margin:-28px -28px 12px -28px;background:linear-gradient(90deg,#003a95,#78b6ff);color:white;font-weight:bold;padding:8px 12px;border-bottom:2px solid #002667}.portal-form label{display:flex;flex-direction:column;gap:5px;font-weight:bold;color:#10233f}.portal-input{height:36px;border:2px inset #ddd;background:white;padding:6px 8px;font:15px Arial,Helvetica,sans-serif}.portal-primary,.portal-secondary{height:38px;border:2px outset #ddd;font-weight:bold;cursor:pointer;font-family:Arial,Helvetica,sans-serif}.portal-primary{background:linear-gradient(#ffdd58,#f1a600);color:#392300}.portal-secondary{background:#d7d7d7;color:#003b9f}.portal-primary:active,.portal-secondary:active{border-style:inset}.portal-small{font-size:12px;line-height:1.4;color:#333;margin:2px 0}.portal-admin-link,.portal-back{color:#003b9f;font-weight:bold;text-decoration:none}.portal-admin-link:hover,.portal-back:hover{text-decoration:underline}.wide{width:100%}.small-button{width:auto;padding:0 16px}.big-launch{font-size:18px;height:54px;width:100%;margin-top:8px}
.register-card{grid-template-columns:.75fr 1.25fr}.register-form-page{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}.register-form-page .portal-titlebar,.register-form-page .wide{grid-column:1/3}.register-form-page label{min-width:0}
.profile-body{align-items:flex-start}.profile-header{width:min(1180px,96vw);margin:22px auto 14px;display:grid;grid-template-columns:240px 1fr auto;gap:18px;align-items:center;background:#eef5ff;border:3px solid #b7d8ff;box-shadow:6px 6px 0 rgba(0,0,0,.25);padding:12px 18px}.profile-header img{width:220px}.profile-header h1{margin:0;color:#003b9f}.profile-header p{margin:5px 0 0;color:#1a3457}.profile-layout{width:min(1180px,96vw);margin:0 auto 34px;display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.profile-panel{background:#c6c6c6;border:2px groove #e5e5e5;padding:16px;box-shadow:4px 4px 0 rgba(0,0,0,.22)}.profile-panel h2{margin:0 0 12px;color:#003b9f}.profile-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-form label{display:flex;flex-direction:column;gap:4px;font-weight:bold}.profile-form button{grid-column:1/3}.chat-launch-panel{align-self:start}.friends-admin-panel{grid-column:1/3}.friend-block{background:#efefef;border:2px inset #ddd;padding:10px;margin:10px 0}.friend-block h3{margin:0 0 8px;color:#003b9f}.friend-row{display:flex;align-items:center;justify-content:space-between;gap:8px;background:white;border-bottom:1px solid #d6d6d6;padding:7px}.friend-row span{font-weight:bold}.friend-row em{font-style:normal;color:#6b5200}.friend-empty{color:#666;font-style:italic;padding:8px;background:white}.room-system-label{font-size:11px;color:#555;align-self:center;text-align:right;padding-right:4px}.info-empty{color:#777;font-style:italic;padding:10px}
@media(max-width:820px){.portal-card,.register-card,.profile-layout,.profile-header{grid-template-columns:1fr}.portal-left{border-right:0;border-bottom:2px groove #fff}.register-form-page,.profile-form{grid-template-columns:1fr}.register-form-page .portal-titlebar,.register-form-page .wide,.profile-form button,.friends-admin-panel{grid-column:1}.profile-header img{width:180px}.portal-left h1{font-size:26px}}


/* v34 : accès admin retiré du portail public + fiche pseudo au survol non jaune */
.portal-admin-link{display:none!important}
.portal-staff-hidden-note{display:none!important}
.profile-card{
  background:#f2f2f2!important;
  border:1px solid #555!important;
  box-shadow:2px 2px 0 rgba(0,0,0,.25)!important;
  color:#111!important;
}
.profile-card .profile-role{
  font-weight:bold!important;
  background:transparent!important;
  border:0!important;
}
.profile-card.band-admin .profile-role{color:#f00000!important}
.profile-card.band-supermod .profile-role{color:#008a25!important}
.profile-card.band-male .profile-role{color:#0045d4!important}
.profile-card.band-female .profile-role{color:#ef48a8!important}
.profile-card.band-other .profile-role{color:#b59c00!important}
.nick:hover .profile-card,.member:hover .profile-card,.list-row:hover .profile-card{display:block!important}


/* v35 : aucune mention admin sur le portail public + bulle pseudo neutre */
.portal-small{color:#333!important}
.portal-admin-link,.portal-staff-hidden-note{display:none!important}
.profile-card{
  background:#f2f2f2!important;
  color:#111!important;
  border:1px solid #555!important;
  box-shadow:2px 2px 0 rgba(0,0,0,.25)!important;
}
.profile-card .profile-role{background:transparent!important;border:0!important;font-weight:bold!important}
.profile-card.band-admin .profile-role{color:#f00000!important}
.profile-card.band-supermod .profile-role{color:#008a25!important}
.profile-card.band-male .profile-role{color:#0045d4!important}
.profile-card.band-female .profile-role{color:#ef48a8!important}
.profile-card.band-other .profile-role{color:#b59c00!important}

/* v36 : panel admin complet + fiche pseudo colorée comme le pseudo */
.profile-card{
  border:1px solid #333!important;
  box-shadow:2px 2px 0 rgba(0,0,0,.35)!important;
  font-weight:bold!important;
}
.profile-card .profile-role{font-weight:bold!important;background:transparent!important;border:0!important}
.profile-card.band-admin{background:#f00000!important;color:#fff!important}.profile-card.band-admin .profile-role{color:#fff!important}
.profile-card.band-supermod{background:#008a25!important;color:#fff!important}.profile-card.band-supermod .profile-role{color:#fff!important}
.profile-card.band-male{background:#0045d4!important;color:#fff!important}.profile-card.band-male .profile-role{color:#fff!important}
.profile-card.band-female{background:#ef48a8!important;color:#fff!important}.profile-card.band-female .profile-role{color:#fff!important}
.profile-card.band-other{background:#ffe300!important;color:#111!important}.profile-card.band-other .profile-role{color:#111!important}

.admin-portal-body{min-height:100vh;margin:0;background:radial-gradient(circle at 20% 0,#275da8 0,#071c44 48%,#02050c 100%);font-family:Verdana,Arial,sans-serif;color:#111}
.admin-portal-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px}.admin-portal-card{width:min(980px,96vw);display:grid;grid-template-columns:1fr 430px;background:#eef5ff;border:3px solid #b7d8ff;box-shadow:9px 9px 0 rgba(0,0,0,.42), inset 0 0 0 2px #fff}.admin-portal-left{padding:34px;background:linear-gradient(135deg,#fff,#cfddff);border-right:2px groove #fff}.admin-portal-logo{width:min(360px,100%);display:block;margin-bottom:18px}.admin-portal-left h1{margin:10px 0 8px;color:#003b9f}.admin-portal-left p{line-height:1.5}.admin-portal-form{padding:28px;background:#c6c6c6;display:flex;flex-direction:column;gap:13px}.admin-portal-form label{display:flex;flex-direction:column;gap:5px;font-weight:bold;color:#10233f}
.admin-dashboard{width:min(1420px,98vw);margin:14px auto 32px}.admin-dashboard-header{display:grid;grid-template-columns:240px 1fr auto;gap:18px;align-items:center;background:#eef5ff;border:3px solid #b7d8ff;box-shadow:6px 6px 0 rgba(0,0,0,.28);padding:12px 16px}.admin-dashboard-header img{width:220px}.admin-dashboard-header h1{margin:0;color:#003b9f}.admin-dashboard-header p{margin:5px 0 0}.admin-header-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.admin-dashboard-grid{display:grid;grid-template-columns:360px 1fr;gap:14px;margin-top:14px}.admin-dashboard-panel{padding:14px}.admin-dashboard-panel h2{margin:0 0 12px;color:#003b9f}.admin-me-box{background:#fff;border:2px inset #ddd;padding:10px;line-height:1.7}.admin-staff-card{grid-column:1}.admin-staff-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.admin-staff-form label{display:flex;flex-direction:column;gap:4px;font-weight:bold}.admin-staff-form button{grid-column:1/3}.accounts-admin-card{grid-column:2;grid-row:1 / span 2}.admin-panel-title-row{display:grid;grid-template-columns:1fr 330px;gap:12px;align-items:center}.admin-accounts-table{background:#fff;border:2px inset #ddd;overflow:auto;max-height:560px}.admin-accounts-table table{border-collapse:collapse;width:100%;min-width:1120px;font-size:12px}.admin-accounts-table th{position:sticky;top:0;background:#d7d7d7;border-bottom:2px groove #fff;padding:6px;text-align:left}.admin-accounts-table td{border-bottom:1px solid #ddd;padding:6px;white-space:nowrap}.admin-accounts-table tr{cursor:pointer}.admin-accounts-table tbody tr:hover{background:#e8e8ff}.admin-accounts-table tr.selected{background:#dfe8ff!important;outline:1px dotted #777}.admin-accounts-table tr.banned-row{opacity:.65}.role-pill,.status-pill{display:inline-block;padding:1px 5px;border:1px solid #999;background:#efefef}.role-admin{background:#f00000!important;color:#fff}.role-supermod{background:#008a25!important;color:#fff}.role-member{background:#e8e8e8!important;color:#111}.status-banned{background:#ffb2b2!important;color:#111}.status-active{background:#e8ffe8!important;color:#064b00}.selected-account-card{grid-column:1}.selected-account-box{background:#fff;border:2px inset #ddd;min-height:78px;padding:9px;line-height:1.55}.selected-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.selected-actions label{grid-column:1/3;display:flex;flex-direction:column;gap:4px;font-weight:bold}.selected-actions button{width:100%}.admin-staff-form button:disabled,.selected-actions button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:1000px){.admin-portal-card,.admin-dashboard-header,.admin-dashboard-grid{grid-template-columns:1fr}.admin-portal-left{border-right:0;border-bottom:2px groove #fff}.accounts-admin-card,.admin-staff-card,.selected-account-card{grid-column:1;grid-row:auto}.admin-panel-title-row{grid-template-columns:1fr}.admin-dashboard-header img{width:180px}}

/* v37 : panel admin plus fluide, droits admin/modérateur, table complète */
.admin-dashboard-grid-v37{
  grid-template-columns:360px minmax(0,1fr);
  align-items:start;
}
.admin-dashboard-panel{
  border-radius:6px;
}
.admin-v37-help{
  margin-top:12px;
  background:#fffef1;
  border:1px solid #d8c86a;
  padding:9px;
  line-height:1.45;
  font-size:12px;
}
.admin-panel-title-row{
  position:sticky;
  top:0;
  z-index:2;
  background:#c6c6c6;
  padding-bottom:8px;
}
.admin-accounts-table-v37{
  max-height:640px!important;
  border-radius:4px;
}
.admin-accounts-table-v37 table{
  min-width:1650px!important;
  font-size:12px!important;
}
.admin-accounts-table-v37 th{
  background:#e7edf7!important;
  color:#10233f;
  white-space:nowrap;
}
.admin-accounts-table-v37 td{
  white-space:nowrap;
  vertical-align:top;
}
.selected-account-card-v37{
  position:sticky;
  top:12px;
}
.selected-actions-v37{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:9px!important;
}
.selected-actions-v37 label{
  grid-column:1 / 3!important;
  background:#efefef;
  border:1px solid #aaa;
  padding:7px;
}
.selected-actions-v37 button{
  min-height:32px;
}
.status-pill{
  max-width:170px;
  white-space:normal;
  line-height:1.25;
}
.hidden{display:none!important}
@media(max-width:1100px){
  .admin-dashboard-grid-v37{grid-template-columns:1fr!important}
  .selected-account-card-v37{position:static}
}


/* v38 : salons compacts, recherche connectés, signalements, bulle pseudo texte noir */
.profile-card.band-admin{background:#f00000!important;color:#111!important}.profile-card.band-admin .profile-role{color:#111!important}
.profile-card.band-supermod{background:#008a25!important;color:#111!important}.profile-card.band-supermod .profile-role{color:#111!important}
.profile-card.band-male{background:#0045d4!important;color:#111!important}.profile-card.band-male .profile-role{color:#111!important}
.profile-card.band-female{background:#ef48a8!important;color:#111!important}.profile-card.band-female .profile-role{color:#111!important}
.profile-card.band-other{background:#ffe300!important;color:#111!important}.profile-card.band-other .profile-role{color:#111!important}
.rooms-field{min-height:0!important;overflow:hidden!important}
.rooms-list{min-height:0!important;max-height:610px!important;overflow-y:auto!important;overflow-x:hidden!important;padding:5px!important}
.room-row{grid-template-columns:minmax(0,1fr) 82px!important;gap:5px!important;padding:2px 4px!important;min-height:28px!important}
.room-name{padding:2px 3px!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.room-name b{font-size:13px!important}.room-name span{font-size:11px!important}
.room-join{height:24px!important;padding:1px 6px!important;font-size:11px!important;min-width:0!important}
.connected-search{width:100%;margin:4px 0 8px;height:28px}
#connectedBigList{margin-top:6px;max-height:470px;min-height:0!important;overflow-y:auto!important}
.info-report{background:#fff7ce!important;border-left:4px solid #ffb000!important}
.info-join-room{margin-top:7px;height:26px!important;padding:2px 8px!important;color:#0b36cc!important}
.classic-btn:disabled{opacity:.55;cursor:not-allowed}

/* v39 : onglets propres, salons dans l'applet, compteurs, super ignorer */
.app:not(.chat-tab-active) .right-area{
  display:none!important;
}
.app:not(.chat-tab-active) .main-layout{
  grid-template-columns:1fr!important;
}
.app:not(.chat-tab-active) .left-area{
  width:100%!important;
}
#tab-rooms .rooms-field,
#tab-adminrooms .rooms-field{
  height:100%!important;
  overflow:hidden!important;
}
#tab-rooms .rooms-list,
#tab-adminrooms .rooms-list{
  max-height:none!important;
  min-height:0!important;
  flex:1 1 auto!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:6px!important;
}
.room-row{
  grid-template-columns:minmax(0,1fr) 96px!important;
  gap:6px!important;
  min-height:26px!important;
  padding:2px 4px!important;
}
.room-name{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
}
.room-name b{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.room-name span{
  float:none!important;
  flex:0 0 auto!important;
  color:#333!important;
  font-size:11px!important;
  margin:0!important;
}
.room-join,.room-delete{
  width:96px!important;
  min-width:96px!important;
  height:24px!important;
  padding:1px 5px!important;
  font-size:11px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.connected-count-line{
  background:#eef5ff;
  border:1px solid #9fb8df;
  padding:5px 7px;
  margin:4px 0 8px;
  font-weight:bold;
  color:#10233f;
}
#connectedBigList{
  max-height:500px!important;
  min-height:0!important;
}
#tab-adminusers .big-list,
#tab-adminaccounts .big-list{
  max-height:500px!important;
  min-height:0!important;
}
#adminPublishInfoBtn.danger-yellow{
  background:#ffc400!important;
  color:#111!important;
  border-color:#f3d56b!important;
}
.admin-side-actions{
  grid-template-columns:1fr 1fr!important;
}
.admin-side-actions #adminSuperIgnoreBtn,
.admin-side-actions #adminExpelBtn{
  width:100%!important;
}
.profile-card,
.profile-card .profile-role{
  color:#111!important;
}
.profile-card.band-admin .profile-role,
.profile-card.band-supermod .profile-role,
.profile-card.band-male .profile-role,
.profile-card.band-female .profile-role,
.profile-card.band-other .profile-role{
  color:#111!important;
}


/* v40 : salons contenus, recherches avancées, couleurs écriture, PV/smileys */
*{box-sizing:border-box}
.left-area,.right-area,.tab-page,.tab-page.active,fieldset{min-height:0}
.tab-page.active{overflow:hidden}
#tab-rooms,#tab-adminrooms{height:100%;min-height:0;overflow:hidden}
#tab-rooms .rooms-field,#tab-adminrooms .rooms-field{height:100%!important;max-height:100%!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;padding:8px!important}
#tab-rooms .intro,#tab-adminrooms .intro{margin:0 0 6px!important;flex:0 0 auto!important}
#tab-rooms .create-room-row,#tab-adminrooms .create-room-row{flex:0 0 auto!important;margin:4px 0 6px!important}
#tab-rooms .rooms-list,#tab-adminrooms .rooms-list{flex:1 1 0!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;margin-top:5px!important;padding:4px!important;background:#fff!important}
.room-row{grid-template-columns:minmax(0,1fr) 92px!important;align-items:center!important;min-height:24px!important;padding:1px 3px!important;gap:5px!important}
.room-name{height:23px!important;min-height:23px!important;padding:1px 4px!important;line-height:19px!important}
.room-name b{font-size:12px!important}
.room-name span{font-size:11px!important;color:#333!important;margin-left:8px!important}
.room-join,.room-delete{width:92px!important;min-width:92px!important;height:23px!important;font-size:11px!important;padding:0 4px!important;line-height:18px!important}
.pv-option-row{display:flex;align-items:center;gap:6px;background:#efefef;border:1px solid #aaa;padding:5px 7px;margin:4px 0 5px;font-weight:bold;flex:0 0 auto}
.connected-search-panel{background:#efefef;border:1px solid #aaa;padding:7px;margin:5px 0 8px}
.connected-search{width:100%;margin:0 0 6px!important}
.connected-search-grid{display:grid;grid-template-columns:1fr 90px 1fr 120px;gap:6px;align-items:center}
.connected-reset{margin-top:6px;height:26px!important;font-size:12px!important}
#connectedBigList{max-height:390px!important;min-height:0!important;overflow:auto!important;margin-top:6px!important}
.text-purple{color:#6b26a8}.text-orange{color:#d46b00}.text-pink{color:#c21872}.text-brown{color:#7b3f00}.text-gray{color:#555}
.app.pv-tab-active .side-tab[data-side="members"]{display:none!important}
.app.pv-tab-active #side-members{display:none!important}
.app.pv-tab-active #side-smileys{display:block!important}
.app.pv-tab-active .right-area{display:block!important}
.info-smileys-grid{height:96px!important;max-height:96px!important;overflow-y:auto!important;margin:6px 0!important;border:2px inset #ddd;background:white;padding:4px!important}
.info-smileys-grid .smiley-title,.info-smileys-grid .smiley-hint{display:none!important}
.info-smileys-grid .smiley{width:52px!important;height:24px!important;margin:1px!important}
#adminApp .admin-side-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}
#adminApp #adminIgnoreBtn,#adminApp #adminDialogBtn,#adminApp #adminSuperIgnoreBtn,#adminApp #adminExpelBtn{width:100%!important;height:30px!important;min-width:0!important;padding:2px 5px!important;font-size:12px!important}
#adminApp #adminUsersList,#adminApp #adminAccountsList{max-height:440px!important;overflow:auto!important}
@media(max-width:1100px){.connected-search-grid{grid-template-columns:1fr 1fr}.room-row{grid-template-columns:minmax(0,1fr) 84px!important}.room-join,.room-delete{width:84px!important;min-width:84px!important}}


/* v41 : applet classique plein écran, salons/connectés revus, amis en ligne */
.chat-client-body{overflow:hidden!important;background:#050505!important}
.chat-client-body .app{width:100vw!important;height:100vh!important;margin:0!important;border:0!important;box-shadow:none!important}
.chat-client-body .main-layout{height:calc(100vh - 34px)!important;padding:6px!important;grid-template-columns:minmax(0,1fr) 268px!important;gap:6px!important}
.chat-client-body .topbar{height:34px!important}
.chat-client-body .dialogue-field{height:auto!important;flex:1 1 auto!important;min-height:0!important;display:flex!important;flex-direction:column!important}
.chat-client-body .chat-log{height:auto!important;flex:1 1 auto!important;min-height:0!important}
.chat-client-body .status-line{flex:0 0 26px!important}
.chat-client-body .bottom-compose{flex:0 0 auto!important}
.main-tab.friends-online{background:#ffe400!important;color:#000!important;border-color:#f8d455!important}
.side-tab[data-side="smileys"]:not(.active){background:#ffe400!important;color:#000!important;font-weight:900!important}
#tab-rooms .rooms-field{padding:6px!important}
#tab-rooms .create-room-row{grid-template-columns:minmax(0,1fr) 112px!important;gap:6px!important;margin:3px 0 5px!important}
.room-options-inline-v41{flex:0 0 auto!important;background:#efefef;border:1px solid #aaa;padding:4px 6px;margin:2px 0 4px;font-size:12px}
.room-options-inline-v41 label{display:flex;align-items:center;gap:8px;white-space:nowrap}.room-options-inline-v41 select{height:24px;max-width:220px}
#tab-rooms .rooms-list{flex:1 1 auto!important;min-height:0!important;height:auto!important;max-height:none!important;padding:2px!important;margin-top:0!important}
#tab-rooms .room-row{grid-template-columns:minmax(0,1fr) 86px!important;min-height:21px!important;height:22px!important;padding:0 2px!important;gap:4px!important}
#tab-rooms .room-name{height:20px!important;line-height:18px!important;padding:0 3px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}
#tab-rooms .room-name b{font-size:12px!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
#tab-rooms .room-name span{float:none!important;margin:0!important;font-size:11px!important;white-space:nowrap!important;color:#333!important}
#tab-rooms .room-join{width:86px!important;min-width:86px!important;height:20px!important;font-size:11px!important;padding:0 3px!important}
.connected-field{height:100%!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;padding:6px!important}
.connected-layout-v41{flex:1 1 auto!important;min-height:0!important;display:grid!important;grid-template-columns:minmax(0,1fr) 245px!important;gap:8px!important;height:100%!important;overflow:hidden!important}
.connected-left-v41{min-height:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}.connected-left-v41 .intro{flex:0 0 auto!important;margin:0 0 6px!important}
.connected-list-v41{flex:1 1 auto!important;min-height:0!important;height:auto!important;max-height:none!important;margin:0!important;padding:7px!important;line-height:1.45!important;font-size:13px!important}
.connected-actions-v41{flex:0 0 auto!important;margin-top:7px!important}.connected-search-side-v41{background:#c6c6c6;border-left:2px groove #e5e5e5;padding:8px;overflow:auto!important;font-size:12px}.connected-search-side-v41 label{display:flex;flex-direction:column;gap:3px;margin:0 0 7px;font-weight:bold}.connected-search-side-v41 .classic-input,.connected-search-side-v41 .classic-select{width:100%;height:25px;font-size:12px}.search-title-v41{font-weight:bold;margin:0 0 8px;color:#333}.friend-filter-v41{flex-direction:row!important;align-items:center!important;font-weight:bold!important;gap:6px!important}.friend-filter-v41 input{width:13px;height:13px}.connected-count-line{background:#efefef;border:1px solid #aaa;padding:5px;margin:0 0 8px!important}.list-row{font-size:13px!important;line-height:1.4!important}.text-cyan{color:#008b8b}.text-magenta{color:#c000c0}.text-olive{color:#667000}.text-navy{color:#001a8a}
@media(max-width:900px){.chat-client-body .main-layout{grid-template-columns:minmax(0,1fr)!important}.chat-client-body .right-area{display:none!important}.connected-layout-v41{grid-template-columns:1fr!important}.connected-search-side-v41{border-left:0;border-top:2px groove #e5e5e5}}


/* v42 : signalement silencieux, salon par défaut supprimé, ignore staff inchangé, bleu homme plus clair */
.room-options-inline-v41{display:none!important}
.profile-card.band-male{background:#9fd2ff!important;color:#111!important}
.profile-card.band-male .profile-role{color:#111!important}

/* v43 : applet admin auto-connectée, connectés façon utilisateur, PV admin avec actions */
#adminLoginScreen .retro-modal-body p{margin:8px 0 14px;line-height:1.4}
#adminApp #tab-adminusers .connected-field{height:100%!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;padding:6px!important}
#adminApp .admin-connected-layout{flex:1 1 auto!important;min-height:0!important;display:grid!important;grid-template-columns:minmax(0,1fr) 245px!important;gap:8px!important;height:100%!important;overflow:hidden!important}
#adminApp #adminConnectedBigList{flex:1 1 auto!important;min-height:0!important;height:auto!important;max-height:none!important;margin:0!important;padding:7px!important;line-height:1.45!important;font-size:13px!important}
#adminApp .admin-connected-actions{display:grid!important;grid-template-columns:repeat(4, minmax(0,1fr))!important;gap:6px!important;margin-top:7px!important;flex-wrap:nowrap!important}
#adminApp .admin-connected-actions .classic-btn{width:100%!important;min-width:0!important;height:28px!important;padding:2px 4px!important;font-size:12px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#adminApp .admin-side-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:5px!important}
#adminApp #adminSuperIgnoreBtn,#adminApp #adminExpelBtn{height:28px!important;padding:1px 3px!important;font-size:11px!important;line-height:14px!important;white-space:normal!important}
#adminInfosCompose .info-smileys-grid,#adminInfoSmileysGrid{display:none!important}
.admin-private-compose{display:grid!important;grid-template-columns:minmax(0,1fr) 78px 74px 64px 68px!important;gap:6px!important;align-items:center!important;padding:6px 0 0!important}
.admin-private-compose .classic-btn{height:28px!important;padding:1px 5px!important;font-size:12px!important;min-width:0!important;white-space:nowrap!important}
@media(max-width:1100px){#adminApp .admin-connected-layout{grid-template-columns:1fr!important}.admin-private-compose{grid-template-columns:1fr 70px!important}.admin-private-compose .classic-btn{width:100%!important}}


/* v44 : onglet Smileys jaune quand non sélectionné + Expulser à côté de Super ignorer */
#adminApp .side-tab[data-side="admin-smileys"]:not(.active),
.chat-client-body .side-tab[data-side="smileys"]:not(.active),
.side-tab[data-side$="smileys"]:not(.active){
  background:#fff36b!important;
  color:#111!important;
  -webkit-text-fill-color:#111!important;
  border-color:#d7c600!important;
}
#adminApp .admin-side-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:5px!important;
}
#adminApp #adminSuperIgnoreBtn{
  grid-column:1!important;
  grid-row:2!important;
  width:100%!important;
  height:28px!important;
  padding:1px 3px!important;
  font-size:11px!important;
  line-height:14px!important;
  white-space:normal!important;
}
#adminApp #adminExpelBtn:not(.hidden){
  display:block!important;
  grid-column:2!important;
  grid-row:2!important;
  width:100%!important;
  height:28px!important;
  padding:1px 3px!important;
  font-size:11px!important;
  line-height:14px!important;
  white-space:normal!important;
  background:#f10b0b!important;
  border-color:#ff6b6b!important;
  color:#111!important;
  -webkit-text-fill-color:#111!important;
}

/* v45 : nouvel espace administrateur, plus fluide et plus agréable */
.admin-portal-body-v45{
  min-height:100vh!important;
  margin:0!important;
  background:
    radial-gradient(circle at 8% 5%, rgba(255,221,88,.32), transparent 28%),
    radial-gradient(circle at 88% 8%, rgba(64,148,255,.30), transparent 31%),
    linear-gradient(135deg,#061228 0%,#102a63 48%,#02040a 100%)!important;
  font-family:Verdana,Arial,sans-serif!important;
  color:#102033!important;
}
.admin-portal-shell-v45{min-height:100vh!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:28px!important}
.admin-login-card-v45{width:min(1040px,96vw)!important;display:grid!important;grid-template-columns:1.05fr 430px!important;border:1px solid rgba(255,255,255,.65)!important;border-radius:20px!important;overflow:hidden!important;background:rgba(239,246,255,.95)!important;box-shadow:0 26px 80px rgba(0,0,0,.48)!important}
.admin-portal-left-v45{padding:38px!important;background:linear-gradient(145deg,#ffffff 0%,#e7f0ff 45%,#cddcff 100%)!important;border-right:1px solid rgba(0,0,0,.12)!important}
.admin-portal-left-v45 h1{font-size:34px!important;letter-spacing:-.02em!important;margin:5px 0 8px!important;color:#073b98!important}
.admin-eyebrow{margin:8px 0 0!important;text-transform:uppercase!important;letter-spacing:.14em!important;font-size:11px!important;font-weight:bold!important;color:#805d00!important}
.admin-login-features{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-top:22px!important}
.admin-login-features span{background:#fff!important;border:1px solid #b8c8ea!important;border-radius:999px!important;padding:7px 10px!important;font-weight:bold!important;color:#173a72!important;box-shadow:0 2px 0 rgba(0,0,0,.08)!important}
.admin-portal-form-v45{padding:32px!important;background:#f2f4f8!important;display:flex!important;flex-direction:column!important;gap:14px!important}
.admin-portal-form-v45 .portal-titlebar{margin:-32px -32px 14px!important;background:linear-gradient(90deg,#073b98,#3a8cff)!important;color:white!important;border:0!important;padding:12px 16px!important;font-size:16px!important}
.admin-portal-form-v45 label{display:flex!important;flex-direction:column!important;gap:6px!important;font-weight:bold!important;color:#152744!important}
.admin-portal-form-v45 .portal-input{height:40px!important;border:1px solid #aeb8c8!important;border-radius:10px!important;background:white!important;box-shadow:inset 0 1px 3px rgba(0,0,0,.10)!important}
.admin-portal-form-v45 .portal-primary{height:42px!important;border:0!important;border-radius:12px!important;background:linear-gradient(#ffd95a,#efad12)!important;box-shadow:0 3px 0 #9c6900!important;color:#1f1600!important;font-size:15px!important}

.admin-dashboard-v45{width:min(1500px,98vw)!important;margin:14px auto 34px!important}
.admin-topbar-v45{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;background:rgba(245,248,255,.97)!important;border:1px solid #b7c7e6!important;border-radius:18px!important;box-shadow:0 14px 45px rgba(0,0,0,.25)!important;padding:14px 16px!important;position:sticky!important;top:10px!important;z-index:20!important}
.admin-brand-v45{display:flex!important;align-items:center!important;gap:15px!important;min-width:0!important}
.admin-brand-v45 img{width:168px!important;max-width:30vw!important}.admin-brand-v45 h1{margin:0!important;color:#073b98!important;font-size:24px!important}.admin-brand-v45 p{margin:3px 0 0!important;color:#31415b!important}
.admin-header-actions-v45{display:flex!important;gap:8px!important;align-items:center!important;justify-content:flex-end!important;flex-wrap:wrap!important}.admin-header-actions-v45 .classic-btn{border-radius:9px!important;padding:0 13px!important;height:34px!important}
.admin-kpi-grid-v45{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;margin:14px 0!important}
.admin-kpi-card-v45{background:linear-gradient(180deg,#fff,#edf4ff)!important;border:1px solid #b9c9e8!important;border-radius:16px!important;padding:14px 16px!important;box-shadow:0 8px 24px rgba(0,0,0,.16)!important;display:flex!important;flex-direction:column!important;gap:4px!important}.admin-kpi-card-v45 span{font-weight:bold!important;color:#31415b!important}.admin-kpi-card-v45 strong{font-size:30px!important;color:#073b98!important}.admin-kpi-card-v45 em{font-style:normal!important;color:#6b7588!important;font-size:12px!important}
.admin-workspace-v45{display:grid!important;grid-template-columns:215px minmax(0,1fr)!important;gap:14px!important;align-items:start!important}
.admin-sidebar-v45{position:sticky!important;top:106px!important;background:rgba(237,242,252,.97)!important;border:1px solid #b8c8e6!important;border-radius:16px!important;padding:10px!important;box-shadow:0 12px 34px rgba(0,0,0,.20)!important;display:flex!important;flex-direction:column!important;gap:7px!important}
.admin-nav-btn{height:38px!important;border:1px solid #aeb9ca!important;border-radius:10px!important;background:#fff!important;color:#152744!important;font-weight:bold!important;text-align:left!important;padding:0 12px!important;cursor:pointer!important}.admin-nav-btn:hover{background:#eaf2ff!important}.admin-nav-btn.active{background:linear-gradient(#ffdd64,#efb620)!important;color:#1e1600!important;border-color:#b98100!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)!important}
.admin-main-v45{min-width:0!important}.admin-section-v45{display:none!important}.admin-section-v45.active{display:block!important}
.admin-card-v45{background:#f5f7fb!important;border:1px solid #bdc7d7!important;border-radius:16px!important;box-shadow:0 12px 34px rgba(0,0,0,.18)!important;padding:16px!important;margin-bottom:14px!important}.admin-card-v45 h2{margin:0 0 12px!important;color:#073b98!important}.admin-card-v45 h3{margin:0 0 9px!important;color:#173a72!important}
.admin-profile-card-v45{display:grid!important;grid-template-columns:minmax(0,1fr) 360px!important;gap:14px!important}.admin-me-box-v45{background:white!important;border:1px solid #ccd5e3!important;border-radius:12px!important;padding:12px!important;line-height:1.7!important}.admin-help-card-v45{background:#fff8db!important;border:1px solid #e8cd71!important;border-radius:12px!important;padding:12px!important}.admin-help-card-v45 p{margin:6px 0!important;line-height:1.45!important}
.admin-overview-grid-v45{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:14px!important}.admin-summary-list-v45{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important}.admin-summary-list-v45 div{background:white!important;border:1px solid #d1d9e8!important;border-radius:12px!important;padding:11px!important}.admin-summary-list-v45 b{display:block!important;font-size:20px!important;color:#073b98!important}.admin-summary-list-v45 span{font-size:12px!important;color:#596578!important}
.admin-mini-list-v45{display:flex!important;flex-direction:column!important;gap:7px!important;max-height:260px!important;overflow:auto!important;padding-right:4px!important}.admin-mini-account-v45{border:1px solid #d1d9e8!important;background:white!important;border-radius:10px!important;padding:8px 10px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;text-align:left!important;cursor:pointer!important}.admin-mini-account-v45:hover{background:#edf4ff!important}.admin-mini-account-v45 em{font-style:normal!important;color:#617087!important;font-size:11px!important}.admin-mini-account-v45 small{color:#6d788a!important}
.accounts-admin-card-v45{padding:0!important;overflow:hidden!important}.admin-panel-title-row-v45{display:grid!important;grid-template-columns:1fr minmax(520px,1.35fr)!important;gap:14px!important;padding:16px!important;align-items:end!important;border-bottom:1px solid #d3d9e4!important;background:linear-gradient(180deg,#fff,#eef4ff)!important}.admin-panel-title-row-v45 h2{margin:0!important;color:#073b98!important}.admin-account-tools-v45{display:grid!important;grid-template-columns:minmax(210px,1fr) 150px 135px 125px 155px!important;gap:8px!important}.admin-account-tools-v45 .classic-input,.admin-account-tools-v45 .classic-select{height:32px!important;border-radius:8px!important;border:1px solid #aeb8c8!important;background:white!important}
.admin-accounts-table-v45{border:0!important;background:white!important;overflow:auto!important;max-height:calc(100vh - 340px)!important;min-height:430px!important}.admin-accounts-table-v45 table{width:100%!important;min-width:1360px!important;border-collapse:separate!important;border-spacing:0!important;font-size:12px!important}.admin-accounts-table-v45 th{position:sticky!important;top:0!important;background:#dfe8f7!important;color:#152744!important;z-index:2!important;border-bottom:1px solid #b7c2d3!important;padding:8px!important;text-align:left!important;white-space:nowrap!important}.admin-accounts-table-v45 td{border-bottom:1px solid #ecf0f6!important;padding:8px!important;white-space:nowrap!important;vertical-align:middle!important}.admin-accounts-table-v45 tbody tr:hover{background:#eef5ff!important}.admin-accounts-table-v45 tr.selected{background:#fff3c7!important;outline:2px solid #e0a900!important}.admin-accounts-table-v45 tr.banned-row{background:#fff0f0!important;opacity:1!important}.admin-accounts-table-v45.compact td{padding:4px 7px!important}.admin-accounts-table-v45.compact th{padding:6px 7px!important}.admin-empty-v45{text-align:center!important;color:#687385!important;padding:24px!important}
.admin-online-cell-v45{color:#6b7484!important}.online-dot-v45{display:inline-block!important;width:8px!important;height:8px!important;background:#17a34a!important;border-radius:50%!important;margin-right:6px!important;box-shadow:0 0 0 3px rgba(23,163,74,.16)!important}.row-actions-v45{display:flex!important;gap:5px!important}.mini-btn-v45{height:25px!important;border:1px solid #aeb8c8!important;border-radius:7px!important;background:#f7f9fc!important;font-weight:bold!important;font-size:11px!important;padding:0 7px!important;cursor:pointer!important}.mini-btn-v45:hover{background:#eaf2ff!important}.mini-btn-v45.danger{background:#ffe3e3!important;border-color:#e8a1a1!important;color:#8a0000!important}.role-pill,.status-pill{border-radius:999px!important;border:0!important;padding:3px 8px!important;font-weight:bold!important;font-size:11px!important}.role-admin{background:#df0000!important;color:#fff!important}.role-supermod{background:#0b8d36!important;color:#fff!important}.role-member{background:#e7edf5!important;color:#21324d!important}.status-active{background:#ddf9e6!important;color:#075c22!important}.status-banned{background:#ffd9d9!important;color:#8a0000!important}
.selected-account-card-v45{max-width:1000px!important}.selected-account-box-v45{background:white!important;border:1px solid #ccd5e3!important;border-radius:12px!important;min-height:92px!important;padding:12px!important;line-height:1.55!important}.selected-account-head-v45{display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important;margin-bottom:10px!important}.selected-account-head-v45>b{font-size:18px!important;color:#073b98!important}.selected-account-details-v45{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px 14px!important}.selected-actions-grid-v45{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:9px!important;margin-top:12px!important}.selected-actions-grid-v45 label{display:flex!important;flex-direction:column!important;gap:5px!important;font-weight:bold!important}.selected-actions-grid-v45 .classic-btn{height:32px!important;border-radius:8px!important}.status-result{min-height:18px!important;margin-top:9px!important;color:#073b98!important;font-weight:bold!important}
.admin-staff-form-v45{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}.admin-staff-form-v45 label{display:flex!important;flex-direction:column!important;gap:5px!important;font-weight:bold!important}.admin-staff-form-v45 button{grid-column:1 / -1!important;height:36px!important;border-radius:9px!important}
.admin-security-v45{max-width:900px!important}.admin-settings-grid-v45{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}.admin-toggle-row-v45{display:flex!important;align-items:center!important;gap:10px!important;background:white!important;border:1px solid #d1d9e8!important;border-radius:12px!important;padding:12px!important;font-weight:bold!important}.admin-toggle-row-v45 input{width:18px!important;height:18px!important}.admin-security-note-v45{margin-top:12px!important;background:#fff8db!important;border:1px solid #e7ca65!important;border-radius:12px!important;padding:12px!important;line-height:1.45!important}
.admin-toast-v45{position:fixed!important;right:22px!important;bottom:22px!important;z-index:9999!important;background:#153467!important;color:white!important;border-radius:12px!important;padding:12px 16px!important;box-shadow:0 12px 35px rgba(0,0,0,.32)!important;font-weight:bold!important}.admin-toast-v45.ok{background:#0e6f35!important}.admin-toast-v45.error{background:#a40000!important}.admin-toast-v45.hidden{display:none!important}
@media(max-width:1180px){.admin-workspace-v45{grid-template-columns:1fr!important}.admin-sidebar-v45{position:static!important;flex-direction:row!important;overflow:auto!important}.admin-nav-btn{white-space:nowrap!important;text-align:center!important}.admin-profile-card-v45,.admin-overview-grid-v45,.admin-panel-title-row-v45{grid-template-columns:1fr!important}.admin-account-tools-v45{grid-template-columns:1fr 1fr!important}.admin-kpi-grid-v45{grid-template-columns:1fr 1fr!important}.admin-topbar-v45{position:static!important;flex-direction:column!important;align-items:flex-start!important}.admin-header-actions-v45{justify-content:flex-start!important}.admin-staff-form-v45,.selected-account-details-v45,.selected-actions-grid-v45{grid-template-columns:1fr!important}}
@media(max-width:760px){.admin-login-card-v45{grid-template-columns:1fr!important}.admin-portal-left-v45{border-right:0!important;border-bottom:1px solid rgba(0,0,0,.12)!important}.admin-kpi-grid-v45{grid-template-columns:1fr!important}.admin-account-tools-v45{grid-template-columns:1fr!important}.admin-brand-v45{flex-direction:column!important;align-items:flex-start!important}.admin-brand-v45 img{width:190px!important;max-width:80vw!important}}


/* v46 : espace admin, vraie transition vers le tableau de bord + logo sans slogan */
body.admin-authenticated-v46 #adminLoginView{display:none!important;visibility:hidden!important;height:0!important;overflow:hidden!important;}
body.admin-authenticated-v46 #adminDashboard{display:block!important;min-height:100vh!important;}
.admin-brand-v45 img{width:170px!important;max-height:70px!important;object-fit:contain!important;}
.admin-portal-logo{max-width:430px!important;width:100%!important;object-fit:contain!important;}
.admin-portal-left-v45 .admin-eyebrow{letter-spacing:.12em;text-transform:uppercase;}


/* v47 : panel admin néon inspiré du mockup */
.admin-body-v47{background:#071120!important;color:#e9f2ff!important;font-family:Inter,Segoe UI,Arial,sans-serif!important;min-height:100vh!important;}
.admin-body-v47::before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 18% 12%,rgba(0,119,255,.20),transparent 30%),radial-gradient(circle at 72% 20%,rgba(116,66,255,.17),transparent 26%),linear-gradient(135deg,#050912,#081a2f 56%,#06111f);z-index:-1;}
.admin-portal-shell-v45{min-height:100vh!important;background:transparent!important;display:grid!important;place-items:center!important;padding:28px!important;}
.admin-login-card-v45{max-width:980px!important;background:rgba(9,22,40,.84)!important;color:#eaf3ff!important;border:1px solid rgba(55,148,255,.35)!important;border-radius:24px!important;box-shadow:0 30px 100px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.08)!important;overflow:hidden!important;}
.admin-portal-left-v45{background:linear-gradient(145deg,rgba(10,36,73,.95),rgba(7,13,27,.92))!important;border-right:1px solid rgba(63,142,255,.25)!important;}
.admin-portal-left-v45 h1,.admin-portal-form-v45 .portal-titlebar{color:#fff!important}.admin-portal-left-v45 p{color:#aec2df!important}.admin-login-features span{background:rgba(31,129,255,.16)!important;border:1px solid rgba(69,154,255,.35)!important;color:#d8ecff!important;border-radius:999px!important;}
.admin-portal-form-v45{background:rgba(8,18,35,.45)!important;color:#eaf3ff!important}.admin-portal-form-v45 label{color:#c7d8ee!important}.admin-portal-form-v45 .portal-input{background:#0b1b31!important;border:1px solid rgba(78,151,255,.32)!important;color:#fff!important;border-radius:12px!important}.portal-primary{background:linear-gradient(135deg,#0d7dff,#1458e8)!important;color:#fff!important;border:1px solid rgba(133,198,255,.45)!important;border-radius:12px!important;box-shadow:0 12px 32px rgba(13,125,255,.28)!important;}
.admin-dashboard-v47{width:100vw!important;min-height:100vh!important;margin:0!important;max-width:none!important;display:grid!important;grid-template-columns:284px minmax(0,1fr)!important;background:#071120!important;color:#e9f2ff!important;}
.admin-dashboard-v47.hidden{display:none!important}.admin-dashboard-v47[style*="block"]{display:grid!important;}
.admin-sidebar-v47{position:sticky!important;top:0!important;height:100vh!important;background:linear-gradient(180deg,rgba(7,17,33,.98),rgba(6,12,24,.98))!important;border-right:1px solid rgba(82,142,230,.22)!important;box-shadow:18px 0 70px rgba(0,0,0,.32)!important;padding:22px 14px!important;display:flex!important;flex-direction:column!important;gap:18px!important;overflow:auto!important;}
.admin-logo-block-v47{padding:4px 8px 12px!important}.admin-logo-block-v47 img{width:210px!important;height:auto!important;display:block!important;filter:drop-shadow(0 0 16px rgba(41,143,255,.34))!important;}
.admin-nav-v47{display:flex!important;flex-direction:column!important;gap:8px!important}.admin-nav-v47 .admin-nav-btn,.admin-nav-action-v47{height:46px!important;border-radius:10px!important;border:1px solid transparent!important;background:transparent!important;color:#d9e7fb!important;display:flex!important;align-items:center!important;gap:12px!important;padding:0 16px!important;font-weight:650!important;text-align:left!important;cursor:pointer!important;font-size:15px!important;}
.admin-nav-v47 .admin-nav-btn span,.admin-nav-action-v47 span{width:24px!important;text-align:center!important;opacity:.9!important}.admin-nav-v47 .admin-nav-btn:hover,.admin-nav-action-v47:hover{background:rgba(30,116,255,.13)!important;border-color:rgba(72,154,255,.25)!important;color:#fff!important;}
.admin-nav-v47 .admin-nav-btn.active{background:linear-gradient(135deg,#137dff,#124cdf)!important;border-color:rgba(114,187,255,.65)!important;color:#fff!important;box-shadow:0 10px 32px rgba(21,111,255,.35),inset 0 0 0 1px rgba(255,255,255,.10)!important;}
.admin-nav-action-v47{margin-top:6px!important;border-color:rgba(58,137,255,.28)!important;background:rgba(18,47,89,.35)!important;}
.admin-side-user-v47{margin-top:auto!important;background:rgba(16,34,61,.72)!important;border:1px solid rgba(101,153,232,.22)!important;border-radius:16px!important;padding:14px!important;display:grid!important;grid-template-columns:56px 1fr!important;gap:12px!important;align-items:center!important;}.admin-avatar-v47{width:52px!important;height:52px!important;border-radius:50%!important;background:linear-gradient(135deg,#324762,#16253b)!important;display:grid!important;place-items:center!important;font-size:24px!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)!important}.admin-online-v47{margin:6px 0 0!important;color:#25db77!important;font-size:13px!important}.admin-side-user-v47 strong{display:block!important;color:#fff!important}.admin-side-user-v47 .small-note{color:#9fb0ca!important;margin:5px 0 0!important;font-size:12px!important}
.admin-me-box-v47{display:none!important}.admin-logout-v47{height:52px!important;border-radius:10px!important;border:1px solid rgba(255,70,70,.30)!important;background:rgba(120,20,32,.20)!important;color:#ff6868!important;font-weight:800!important;font-size:15px!important;cursor:pointer!important;text-align:left!important;padding:0 18px!important}.admin-logout-v47:hover{background:rgba(180,28,42,.32)!important;color:#fff!important;}
.admin-content-v47{min-width:0!important;display:flex!important;flex-direction:column!important;}
.admin-topbar-v47{position:sticky!important;top:0!important;z-index:10!important;height:75px!important;background:rgba(5,14,29,.92)!important;backdrop-filter:blur(14px)!important;border-bottom:1px solid rgba(99,156,234,.18)!important;border-radius:0!important;box-shadow:none!important;padding:0 28px!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;}
.admin-page-title-v47{display:flex!important;align-items:center!important;gap:14px!important}.title-icon-v47{font-size:28px!important;color:#2c9bff!important;text-shadow:0 0 18px rgba(44,155,255,.8)!important}.admin-page-title-v47 h1{margin:0!important;font-size:24px!important;color:#fff!important}.admin-page-title-v47 p{margin:3px 0 0!important;color:#879bb9!important;font-size:13px!important}.admin-header-actions-v47{display:flex!important;align-items:center!important;gap:10px!important}.admin-clock-v47{color:#b7c4d7!important;font-size:14px!important;white-space:nowrap!important}.admin-bell-v47{position:relative!important;font-size:19px!important;color:#cfe0f8!important;margin:0 12px!important}.admin-bell-v47 b{position:absolute!important;right:-10px!important;top:-10px!important;background:#256dff!important;color:white!important;border-radius:999px!important;font-size:11px!important;padding:3px 7px!important;}
.admin-dashboard-v47 .classic-btn,.admin-dashboard-v47 .classic-input,.admin-dashboard-v47 .classic-select{border-radius:10px!important;border:1px solid rgba(99,156,234,.25)!important;background:rgba(9,24,45,.78)!important;color:#eaf3ff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;}.admin-dashboard-v47 .classic-btn{height:34px!important;padding:0 14px!important;cursor:pointer!important;font-weight:750!important}.admin-dashboard-v47 .classic-btn:hover{background:rgba(31,95,176,.55)!important}.admin-dashboard-v47 .classic-btn.primary{background:linear-gradient(135deg,#137dff,#1252e6)!important;color:white!important}.admin-dashboard-v47 .danger-red,.admin-dashboard-v47 .mini-btn-v45.danger{background:rgba(255,50,66,.18)!important;border-color:rgba(255,75,85,.42)!important;color:#ff8c96!important;}
.admin-kpi-grid-v47{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;padding:28px 28px 14px!important;margin:0!important;}
.admin-kpi-card-v47{position:relative!important;min-height:142px!important;background:linear-gradient(135deg,rgba(15,37,69,.92),rgba(11,24,45,.88))!important;border:1px solid rgba(111,167,244,.18)!important;border-radius:14px!important;box-shadow:0 18px 52px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.07)!important;padding:24px 18px 14px 105px!important;overflow:hidden!important;}
.admin-kpi-card-v47::before{content:"";position:absolute;inset:auto -30px -65px auto;width:160px;height:160px;border-radius:50%;opacity:.18;filter:blur(4px);background:var(--kpi-color,#2f91ff)}.kpi-blue{--kpi-color:#2f91ff}.kpi-green{--kpi-color:#20d878}.kpi-purple{--kpi-color:#8d59ff}.kpi-red{--kpi-color:#ff5757}.kpi-icon-v47{position:absolute!important;left:22px!important;top:24px!important;width:64px!important;height:64px!important;border-radius:50%!important;background:linear-gradient(135deg,var(--kpi-color),rgba(255,255,255,.10))!important;display:grid!important;place-items:center!important;font-size:28px!important;color:white!important;box-shadow:0 0 34px color-mix(in srgb,var(--kpi-color),transparent 60%)!important}.admin-kpi-card-v47 span{font-size:14px!important;color:#dce9fb!important}.admin-kpi-card-v47 strong{display:block!important;color:#fff!important;font-size:33px!important;line-height:1.1!important;margin-top:8px!important}.admin-kpi-card-v47 em{color:var(--kpi-color)!important;font-style:normal!important;font-size:13px!important}.admin-kpi-card-v47 svg{position:absolute!important;left:22px!important;right:22px!important;bottom:12px!important;width:calc(100% - 44px)!important;height:32px!important}.admin-kpi-card-v47 polyline{fill:none!important;stroke:var(--kpi-color)!important;stroke-width:3!important;stroke-linecap:round!important;stroke-linejoin:round!important;filter:drop-shadow(0 0 5px var(--kpi-color))!important;}
.admin-workspace-v47{display:block!important;padding:0 28px 32px!important;margin:0!important;}.admin-main-v47{min-width:0!important}.admin-section-v45{display:none!important}.admin-section-v45.active{display:block!important}.dashboard-grid-v47{display:grid!important;grid-template-columns:minmax(360px,.95fr) minmax(520px,1.35fr)!important;gap:14px!important;}.admin-card-v47{background:linear-gradient(135deg,rgba(14,31,55,.92),rgba(10,23,42,.86))!important;border:1px solid rgba(105,163,241,.18)!important;border-radius:14px!important;box-shadow:0 18px 50px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.06)!important;color:#edf6ff!important;padding:18px!important;margin:0!important}.admin-card-v47 h2{color:#fff!important;margin:0!important;font-size:20px!important}.card-head-v47{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin-bottom:14px!important}.green-dot-v47{display:inline-block;width:12px;height:12px;border-radius:50%;background:#21d978;margin-right:10px;box-shadow:0 0 18px rgba(33,217,120,.7)}.ghost-btn-v47{height:34px;border:1px solid rgba(102,157,226,.18);background:rgba(11,28,52,.78);color:#cad8ec;border-radius:9px;padding:0 14px;cursor:pointer}.ghost-btn-v47:hover{background:rgba(28,91,172,.38);color:#fff}.activity-card-v47{min-height:275px!important}.stats-card-v47{min-height:275px!important}.quick-card-v47{grid-column:1/2!important}.reports-card-v47{grid-column:1/2!important}.recent-card-v47{grid-column:2/3!important;grid-row:2/4!important;}
.activity-feed-v47{display:flex!important;flex-direction:column!important;gap:9px!important}.activity-feed-v47 div,.admin-summary-list-v45 div{background:rgba(11,28,52,.72)!important;border:1px solid rgba(93,148,218,.15)!important;border-radius:10px!important;padding:12px 14px!important;color:#cddbed!important}.activity-feed-v47 b{display:block!important;color:#fff!important;font-size:16px!important}.activity-feed-v47 span{color:#8fa5c1!important;font-size:12px!important}.activity-feed-v47 div:hover{background:rgba(20,54,96,.72)!important}.chart-legend-v47{display:flex;gap:24px;justify-content:center;color:#bdcce0;font-size:13px;margin:4px 0 8px}.chart-legend-v47 span::before{content:"";display:inline-block;width:16px;height:4px;border-radius:999px;margin-right:7px;vertical-align:middle;background:currentColor}.chart-legend-v47 .blue{color:#2f91ff}.chart-legend-v47 .green{color:#20d878}.chart-legend-v47 .purple{color:#8d59ff}.chart-legend-v47 .orange{color:#ff7a4d}.chart-v47{height:230px}.chart-v47 svg{width:100%;height:198px}.chart-v47 .grid line{stroke:rgba(151,178,214,.12);stroke-width:1}.chart-v47 .line{fill:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.chart-v47 .blue{stroke:#2f91ff}.chart-v47 .green{stroke:#20d878}.chart-v47 .purple{stroke:#8d59ff}.chart-v47 .orange{stroke:#ff7a4d}.chart-days-v47{display:flex;justify-content:space-between;color:#9badc6;font-size:12px}.quick-actions-v47{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.quick-action-v47{height:70px;border-radius:10px;background:rgba(9,24,45,.78);border:1px solid rgba(102,157,226,.18);color:#fff;text-align:left;padding:12px;cursor:pointer}.quick-action-v47 b{display:block;font-size:14px}.quick-action-v47 span{font-size:12px;color:#b9c9de}.quick-action-v47.green{border-color:rgba(32,216,120,.35);box-shadow:inset 4px 0 0 rgba(32,216,120,.8)}.quick-action-v47.purple{border-color:rgba(141,89,255,.35);box-shadow:inset 4px 0 0 rgba(141,89,255,.8)}.quick-action-v47.red{border-color:rgba(255,87,87,.35);box-shadow:inset 4px 0 0 rgba(255,87,87,.8)}.quick-action-v47.blue{border-color:rgba(47,145,255,.35);box-shadow:inset 4px 0 0 rgba(47,145,255,.8)}
.recent-list-v47,.report-list-v47{gap:0!important}.recent-list-v47 .admin-mini-account-v45,.report-list-v47 .admin-mini-account-v45{background:transparent!important;border:0!important;border-bottom:1px solid rgba(116,164,222,.15)!important;border-radius:0!important;color:#e8f2ff!important;padding:12px 8px!important}.recent-list-v47 .admin-mini-account-v45:hover,.report-list-v47 .admin-mini-account-v45:hover{background:rgba(29,84,150,.22)!important}.admin-mini-account-v45 b{color:#fff!important}.admin-mini-account-v45 em,.admin-mini-account-v45 small{color:#a9bad1!important}.accounts-admin-card-v47{overflow:hidden!important}.admin-panel-title-row-v47{background:rgba(8,20,37,.72)!important;border-bottom:1px solid rgba(106,161,229,.17)!important}.admin-panel-title-row-v47 h2{color:#fff!important}.admin-account-tools-v47{grid-template-columns:minmax(220px,1fr) repeat(4,minmax(130px,auto))!important}.admin-accounts-table-v47{background:rgba(6,16,31,.55)!important;border:0!important;min-height:560px!important;max-height:calc(100vh - 230px)!important}.admin-accounts-table-v47 table{min-width:1360px!important;color:#dbe8fb!important}.admin-accounts-table-v47 th{background:#0c1e36!important;color:#8fb9f5!important;border-bottom:1px solid rgba(109,162,232,.22)!important}.admin-accounts-table-v47 td{border-bottom:1px solid rgba(113,160,220,.11)!important}.admin-accounts-table-v47 tbody tr:hover{background:rgba(26,88,161,.22)!important}.admin-accounts-table-v47 tr.selected{background:rgba(43,124,255,.25)!important;outline:1px solid rgba(63,147,255,.55)!important}.admin-accounts-table-v47 tr.banned-row{background:rgba(255,51,70,.10)!important}.online-dot-v45{background:#20d878!important;box-shadow:0 0 0 3px rgba(32,216,120,.14),0 0 14px rgba(32,216,120,.8)!important}.role-admin{background:#ff404f!important;color:#fff!important}.role-supermod{background:#1ec971!important;color:#052815!important}.role-member{background:#223b5d!important;color:#cfe0fb!important}.status-active{background:#0d5130!important;color:#9bf5c2!important}.status-banned{background:#5d1620!important;color:#ffc1c8!important}.mini-btn-v45{background:rgba(18,43,75,.85)!important;color:#ddebff!important;border:1px solid rgba(109,162,232,.25)!important}.selected-account-box-v45{background:rgba(8,20,37,.68)!important;border:1px solid rgba(102,157,226,.18)!important;color:#e9f2ff!important}.selected-account-head-v45>b{color:#fff!important}.selected-account-details-v45{color:#cddbed!important}.admin-staff-form-v45 label,.selected-actions-grid-v45 label{color:#cbdbee!important}.admin-toggle-row-v45{background:rgba(9,24,45,.72)!important;border-color:rgba(102,157,226,.18)!important;color:#dce9fb!important}.admin-security-note-v45{background:rgba(255,194,60,.10)!important;border-color:rgba(255,194,60,.25)!important;color:#f2dfb1!important}.admin-toast-v45{background:#105dde!important;color:#fff!important;box-shadow:0 18px 52px rgba(0,0,0,.45)!important}.admin-toast-v45.ok{background:#0b8750!important}.admin-toast-v45.error{background:#b42035!important}.small-note{color:#9cafca!important}.status-result{color:#76c7ff!important}
@media(max-width:1250px){.admin-dashboard-v47{grid-template-columns:240px 1fr!important}.admin-kpi-grid-v47{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dashboard-grid-v47{grid-template-columns:1fr!important}.recent-card-v47,.reports-card-v47,.quick-card-v47{grid-column:auto!important;grid-row:auto!important}.quick-actions-v47{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-account-tools-v47{grid-template-columns:1fr 1fr!important}}
@media(max-width:850px){.admin-dashboard-v47{grid-template-columns:1fr!important}.admin-sidebar-v47{position:static!important;height:auto!important}.admin-content-v47{min-height:100vh}.admin-topbar-v47{position:static!important;height:auto!important;padding:16px!important;align-items:flex-start!important;flex-direction:column!important}.admin-kpi-grid-v47{grid-template-columns:1fr!important;padding:16px!important}.admin-workspace-v47{padding:0 16px 24px!important}.admin-nav-v47{display:grid!important;grid-template-columns:1fr 1fr!important}.quick-actions-v47{grid-template-columns:1fr}.chart-days-v47{font-size:10px}}

/* =========================================================
   ASV Chat v47-public — Landing design réseau social pastel
   ========================================================= */
.landing-body {
  margin: 0;
  min-height: 100vh;
  color: #10142f;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 15% 25%, rgba(128, 94, 255, .18), transparent 30%),
    radial-gradient(circle at 88% 8%, rgba(255, 164, 205, .26), transparent 28%),
    linear-gradient(135deg, #f9fbff 0%, #fff7fe 45%, #f6faff 100%);
}
.landing-header {
  height: 76px;
  padding: 0 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(255,255,255,.78);
  border-bottom: 1px solid rgba(50, 70, 130, .08);
  backdrop-filter: blur(16px);
  position: sticky;
  top: 0;
  z-index: 20;
}
.landing-brand img { width: 122px; display: block; }
.landing-nav { display: flex; gap: 34px; align-items: center; }
.landing-nav a {
  color: #172044;
  text-decoration: none;
  font-weight: 700;
  letter-spacing: -.01em;
  padding: 28px 0 22px;
  border-bottom: 3px solid transparent;
}
.landing-nav a.active,
.landing-nav a:hover { color: #3157ff; border-bottom-color: #3157ff; }
.landing-actions { display: flex; gap: 14px; align-items: center; }
.landing-icon {
  width: 42px; height: 42px;
  border-radius: 50%;
  border: 1px solid rgba(49, 87, 255, .16);
  background: rgba(255,255,255,.9);
  color: #172044;
  cursor: pointer;
  box-shadow: 0 10px 30px rgba(56, 72, 125, .08);
}
.landing-login {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 132px;
  height: 42px;
  border-radius: 12px;
  text-decoration: none;
  font-weight: 800;
  color: #3157ff;
  border: 1px solid rgba(49, 87, 255, .35);
  background: rgba(255,255,255,.85);
  box-shadow: 0 10px 30px rgba(49, 87, 255, .08);
}
.landing-main {
  width: min(1320px, calc(100% - 64px));
  margin: 28px auto 0;
}
.landing-hero {
  display: grid;
  grid-template-columns: minmax(320px, 430px) 1fr;
  gap: 40px;
  align-items: stretch;
}
.hero-card,
.hero-panel,
.feature-card,
.landing-stats,
.landing-quote,
.auth-card,
.register-hero-modern,
.register-modern-form,
.legal-card {
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(90, 105, 155, .12);
  border-radius: 24px;
  box-shadow: 0 22px 70px rgba(52, 65, 130, .12);
  backdrop-filter: blur(14px);
}
.hero-intro {
  position: relative;
  padding: 44px 42px 0;
  overflow: hidden;
  text-align: center;
}
.hero-logo { width: 188px; margin: 0 auto 24px; display: block; }
.hero-intro h1 {
  margin: 0;
  font-size: clamp(34px, 4vw, 51px);
  line-height: 1.04;
  letter-spacing: -.05em;
  color: #0e1534;
}
.hero-intro p {
  margin: 22px auto 28px;
  max-width: 330px;
  font-size: 17px;
  line-height: 1.6;
  color: #53607e;
}
.hero-cta { display: grid; gap: 14px; max-width: 312px; margin: 0 auto 34px; }
.btn-gradient,
.btn-soft {
  height: 56px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-weight: 900;
}
.btn-gradient {
  color: white;
  background: linear-gradient(135deg, #345dff, #8a46ff 55%, #b855ff);
  box-shadow: 0 18px 38px rgba(97, 73, 255, .28);
}
.btn-gradient span { margin-left: 10px; font-size: 18px; }
.btn-soft {
  color: #3a4196;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(49, 87, 255, .24);
}
.btn-soft strong { color: #3157ff; margin-left: 4px; }
.hero-illustration {
  position: relative;
  height: 180px;
  margin: 0 -42px;
  background:
    radial-gradient(circle at 48% 86%, rgba(49, 87, 255, .16), transparent 42%),
    linear-gradient(to top, rgba(231, 240, 255, .95), rgba(255,255,255,0));
}
.people-row {
  position: absolute;
  left: 50%; bottom: 0;
  transform: translateX(-50%);
  display: flex;
  align-items: flex-end;
  gap: 0;
}
.person {
  display: block;
  width: 76px;
  height: 126px;
  border-radius: 46px 46px 18px 18px;
  border: 5px solid rgba(255,255,255,.92);
  box-shadow: 0 16px 30px rgba(34, 48, 95, .12);
  margin-left: -8px;
}
.p1 { background: linear-gradient(#ffacc9 0 36%, #6646e9 36%); height: 112px; }
.p2 { background: linear-gradient(#ffd49d 0 35%, #3a7bff 35%); height: 150px; }
.p3 { background: linear-gradient(#ffe0a8 0 35%, #ffc23a 35%); height: 132px; }
.p4 { background: linear-gradient(#ffd7a6 0 35%, #36c487 35%); height: 112px; }
.bubble { position: absolute; display: grid; place-items: center; border-radius: 50%; box-shadow: 0 14px 26px rgba(80, 75, 150, .14); }
.bubble-heart { width: 48px; height: 48px; left: 72px; top: 34px; color: #ff3d8e; background: #ffe8f2; }
.bubble-chat { width: 52px; height: 42px; right: 82px; top: 22px; color: #fff; background: #5a85ff; border-radius: 18px; }
.hero-panel { padding: 30px 0 26px; overflow: hidden; }
.panel-section { padding: 0 30px 28px; }
.panel-section + .panel-section { border-top: 1px solid rgba(55, 73, 130, .09); padding-top: 24px; }
.panel-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 22px; }
.panel-head h2 { margin: 0; font-size: 22px; letter-spacing: -.03em; }
.panel-head a { color: #704cff; text-decoration: none; font-weight: 800; }
.rooms-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.room-tile {
  min-height: 154px;
  border-radius: 18px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(65, 84, 140, .11);
  box-shadow: 0 14px 34px rgba(52, 65, 130, .09);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: transform .18s ease, box-shadow .18s ease;
}
.room-tile:hover { transform: translateY(-4px); box-shadow: 0 20px 44px rgba(52, 65, 130, .14); }
.room-tile .dot { position: absolute; width: 10px; height: 10px; border-radius: 50%; background: #42d66b; top: 20px; right: 20px; }
.room-icon { width: 70px; height: 70px; display: grid; place-items: center; font-size: 38px; border-radius: 50%; background: #f4f7ff; margin-bottom: 12px; }
.room-tile strong { font-size: 18px; color: #172044; margin-bottom: 6px; }
.room-tile small { color: #61708f; font-weight: 700; }
.avatar-row { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.avatar { position: relative; width: 58px; height: 58px; border-radius: 50%; background: linear-gradient(135deg,#dce8ff,#fff); border: 3px solid #fff; box-shadow: 0 12px 28px rgba(52, 65, 130, .12); }
.avatar::before { content: ''; position: absolute; left: 15px; top: 10px; width: 22px; height: 22px; border-radius: 50%; background: var(--skin,#f3bc87); }
.avatar::after { content: ''; position: absolute; left: 9px; bottom: 8px; width: 34px; height: 22px; border-radius: 18px 18px 12px 12px; background: var(--shirt,#4d7cff); }
.avatar i { position: absolute; right: -2px; top: -2px; width: 13px; height: 13px; border-radius: 50%; background: #48d76d; border: 2px solid white; }
.a2 { --shirt:#ff78a5; --skin:#ffd1ad; }
.a3 { --shirt:#1c77db; --skin:#b87956; }
.a4 { --shirt:#ffba34; --skin:#ffd1ad; }
.a5 { --shirt:#2bc47b; --skin:#e1a879; }
.a6 { --shirt:#764dff; --skin:#ffd0a3; }
.a7 { --shirt:#ff7056; --skin:#ecba8d; }
.avatar-more { font-weight: 900; color: #607092; font-size: 18px; }
.feature-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  margin-top: 22px;
}
.feature-card { padding: 32px 28px; min-height: 176px; text-align: center; }
.feature-icon { width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; margin: 0 auto 18px; font-size: 30px; }
.feature-icon.purple { background: #f0e9ff; }
.feature-icon.green { background: #e9fff4; }
.feature-icon.yellow { background: #fff8dc; }
.feature-icon.blue { background: #eaf2ff; }
.feature-card h3 { margin: 0 0 10px; font-size: 18px; }
.feature-card p { margin: 0; color: #687494; line-height: 1.5; }
.landing-stats {
  margin-top: 34px;
  padding: 22px 26px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  text-align: center;
}
.landing-stats div + div { border-left: 1px solid rgba(65, 84, 140, .12); }
.landing-stats strong { display: block; font-size: 23px; color: #234aff; }
.landing-stats span { display: block; color: #687494; font-weight: 700; }
.landing-quote {
  margin: 22px 0 30px;
  padding: 20px 28px;
  display: flex;
  align-items: center;
  gap: 18px;
  color: #54607e;
}
.landing-quote p { flex: 1; margin: 0; font-style: italic; }
.landing-quote em { color: #6c6f96; }
.landing-footer {
  width: min(1320px, calc(100% - 64px));
  margin: 0 auto 34px;
  display: flex;
  justify-content: center;
  gap: 24px;
  color: #687494;
  font-size: 14px;
}
.landing-footer a { color: #3157ff; text-decoration: none; font-weight: 800; }
.auth-page { display: grid; min-height: 100vh; }
.auth-shell { width: min(470px, calc(100% - 36px)); margin: auto; }
.auth-card { padding: 36px; text-align: center; }
.auth-logo img { width: 150px; }
.auth-card h1 { font-size: 34px; margin: 20px 0 8px; letter-spacing: -.04em; }
.auth-card p { color: #63708f; margin: 0 0 24px; line-height: 1.5; }
.auth-form { display: grid; gap: 14px; text-align: left; }
.auth-form label,
.register-modern-form label { font-weight: 800; color: #1c2548; display: grid; gap: 7px; }
.auth-secondary { text-align: center; color: #3157ff; text-decoration: none; font-weight: 900; padding: 12px; }
.register-shell-modern {
  width: min(1120px, calc(100% - 42px));
  margin: 34px auto;
  display: grid;
  grid-template-columns: minmax(280px, 390px) 1fr;
  gap: 26px;
  align-items: start;
}
.register-hero-modern { padding: 34px; position: sticky; top: 102px; }
.register-hero-modern .auth-logo img { width: 160px; }
.register-hero-modern h1 { margin: 22px 0 10px; font-size: 38px; letter-spacing: -.05em; line-height: 1.08; }
.register-hero-modern p { color: #5d6a8b; line-height: 1.6; }
.register-benefits { display: grid; gap: 12px; margin-top: 26px; }
.register-benefits span { padding: 13px 14px; border-radius: 14px; background: rgba(255,255,255,.72); border: 1px solid rgba(65,84,140,.10); font-weight: 800; color: #263154; }
.register-modern-form { padding: 32px; display: grid; gap: 22px; }
.form-title-row { display: flex; justify-content: space-between; gap: 18px; align-items: center; }
.form-title-row h2 { margin: 0; font-size: 28px; letter-spacing: -.04em; }
.form-title-row a { color: #3157ff; text-decoration: none; font-weight: 900; }
.form-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.landing-body .portal-input {
  width: 100%;
  box-sizing: border-box;
  min-height: 48px;
  border: 1px solid rgba(54, 72, 130, .18);
  background: rgba(255,255,255,.92);
  border-radius: 12px;
  padding: 0 14px;
  color: #141a38;
  font: inherit;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}
.landing-body .portal-input:focus { outline: 3px solid rgba(49, 87, 255, .14); border-color: rgba(49, 87, 255, .55); }
.landing-body .portal-primary {
  min-height: 52px;
  border: 0;
  border-radius: 14px;
  background: linear-gradient(135deg, #345dff, #814eff);
  color: white;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 16px 34px rgba(52, 85, 255, .24);
}
.terms-box { background: rgba(246,248,255,.9); border: 1px solid rgba(65,84,140,.12); border-radius: 18px; padding: 18px; }
.terms-box h3 { margin: 0 0 10px; }
.terms-scroll { max-height: 210px; overflow-y: auto; padding: 14px; background: #fff; border-radius: 14px; border: 1px solid rgba(65,84,140,.10); color: #4d5878; line-height: 1.55; }
.terms-scroll p:first-child { margin-top: 0; }
.terms-scroll p:last-child { margin-bottom: 0; }
.terms-links { color: #5b6685; font-weight: 700; }
.terms-links a { color: #3157ff; text-decoration: none; }
.terms-check { display: flex !important; grid-template-columns: auto 1fr; gap: 12px !important; align-items: flex-start; margin-top: 12px; color: #172044 !important; font-weight: 800 !important; }
.terms-check input { width: 20px; height: 20px; accent-color: #3157ff; margin-top: 2px; flex: 0 0 auto; }
.form-note { margin: -4px 0 0; text-align: center; color: #6a7592; }
.legal-shell { width: min(920px, calc(100% - 42px)); margin: 36px auto; }
.legal-logo img { width: 150px; display: block; margin: 0 auto 20px; }
.legal-card { padding: 38px; }
.legal-card h1 { margin: 0 0 12px; font-size: 38px; letter-spacing: -.04em; }
.legal-card h2 { margin-top: 28px; color: #23305b; }
.legal-card p { color: #525e7c; line-height: 1.65; }
.legal-warning { background: #fff8dc; border: 1px solid #f2d770; border-radius: 14px; padding: 14px; color: #5c4a00 !important; font-weight: 800; }
.legal-back a { color: #3157ff; text-decoration: none; font-weight: 900; }

@media (max-width: 980px) {
  .landing-header { padding: 0 18px; height: auto; min-height: 72px; flex-wrap: wrap; gap: 12px; }
  .landing-nav { order: 3; width: 100%; justify-content: center; gap: 18px; overflow-x: auto; }
  .landing-main { width: min(100% - 28px, 760px); }
  .landing-hero, .register-shell-modern { grid-template-columns: 1fr; }
  .register-hero-modern { position: static; }
  .rooms-grid, .feature-grid, .landing-stats { grid-template-columns: repeat(2, 1fr); }
  .form-grid-2 { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .landing-nav { display: none; }
  .landing-actions { gap: 8px; }
  .landing-login { min-width: 110px; }
  .rooms-grid, .feature-grid, .landing-stats { grid-template-columns: 1fr; }
  .landing-stats div + div { border-left: 0; border-top: 1px solid rgba(65, 84, 140, .12); padding-top: 16px; margin-top: 16px; }
  .landing-quote { flex-direction: column; text-align: center; }
  .landing-footer { flex-wrap: wrap; gap: 12px; }
  .hero-intro { padding: 30px 24px 0; }
  .register-modern-form, .legal-card, .auth-card { padding: 24px; }
}

/* ============================================================
   ASV Chat — Accueil Design 3 fidèle (v51)
   ============================================================ */
body.landing-v51 {
  --ink:#11182f;
  --muted:#566381;
  --purple:#653cff;
  --blue:#3377ee;
  --line:rgba(57,78,128,.12);
  --card:rgba(255,255,255,.90);
  margin:0;
  min-height:100vh;
  color:var(--ink);
  font-family:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  background:
    radial-gradient(circle at 17% 27%, rgba(222,200,255,.48), transparent 31%),
    radial-gradient(circle at 84% 28%, rgba(255,214,222,.38), transparent 29%),
    radial-gradient(circle at 55% 88%, rgba(209,230,255,.55), transparent 35%),
    linear-gradient(180deg,#fff 0 94px,#fff8fb 94px,#f7faff 100%);
  overflow-x:hidden;
}
body.landing-v51 * { box-sizing:border-box; }
.home-header {
  height:96px;
  display:grid;
  grid-template-columns:260px 1fr 260px;
  align-items:center;
  width:min(1420px,calc(100% - 72px));
  margin:auto;
  position:relative;
  z-index:5;
}
.home-brand { width:132px; display:block; text-decoration:none; }
.home-brand img { width:100%; display:block; }
.home-nav { display:flex; justify-content:center; align-items:stretch; height:100%; gap:44px; }
.home-nav a { position:relative; display:grid; place-items:center; padding:0 2px; color:#121a36; text-decoration:none; font-size:15px; font-weight:650; }
.home-nav a.active { color:#5939f5; }
.home-nav a.active::after { content:""; position:absolute; left:0; right:0; bottom:22px; height:2px; border-radius:2px; background:#5e40ff; }
.home-tools { display:flex; justify-content:flex-end; gap:24px; align-items:center; }
.theme-toggle { width:42px; height:42px; border-radius:50%; border:1px solid rgba(54,73,122,.1); background:rgba(255,255,255,.7); color:#17203e; font-size:19px; cursor:pointer; box-shadow:0 7px 20px rgba(63,78,130,.06); }
.header-login { min-width:146px; height:44px; border:1.5px solid rgba(92,72,255,.44); border-radius:12px; display:grid; place-items:center; color:#5638f7; text-decoration:none; font-size:15px; font-weight:750; background:rgba(255,255,255,.68); }
.home-main { width:min(1420px,calc(100% - 72px)); margin:22px auto 0; }
.home-grid { display:grid; grid-template-columns:minmax(390px, 480px) minmax(0,1fr); gap:42px; align-items:stretch; }
.intro-card,.community-card,.home-feature,.home-stats,.home-quote {
  border:1px solid rgba(74,89,135,.10);
  background:var(--card);
  box-shadow:0 20px 58px rgba(68,75,130,.08);
}
.intro-card { border-radius:20px; padding:48px 54px 0; text-align:center; overflow:hidden; display:flex; flex-direction:column; min-height:710px; }
.intro-logo { width:198px; margin:0 auto 25px; display:block; }
.intro-card h1 { margin:0; font-size:clamp(38px,3.2vw,52px); line-height:1.11; letter-spacing:-.047em; font-weight:850; }
.intro-card>p { margin:21px auto 27px; color:#52607d; font-size:18px; line-height:1.58; font-weight:500; }
.intro-actions { width:min(100%,345px); margin:0 auto; display:grid; gap:15px; }
.create-account,.member-login { height:56px; border-radius:12px; text-decoration:none; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:16px; }
.create-account { color:#fff; background:linear-gradient(110deg,#4537f5 0%,#6b3cff 47%,#9f5bf7 100%); box-shadow:0 16px 34px rgba(98,61,247,.20); }
.create-account span { margin-left:13px; font-size:20px; font-weight:400; }
.member-login { color:#39435e; border:1.5px solid rgba(59,93,220,.24); background:#fff; }
.member-login strong { color:#4c35f4; margin-left:4px; }
.people-illustration { margin:auto -40px 0; height:255px; display:flex; align-items:flex-end; justify-content:center; }
.people-illustration img { width:100%; height:100%; object-fit:contain; object-position:center bottom; display:block; }
.right-column { min-width:0; display:grid; grid-template-rows:auto auto; gap:26px; }
.community-card { border-radius:20px; overflow:hidden; }
.home-section { padding:27px 28px 29px; }
.home-section + .home-section { border-top:1px solid rgba(64,79,126,.09); }
.section-title { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.section-title h2 { margin:0; font-size:19px; line-height:1; font-weight:850; letter-spacing:-.025em; }
.section-title a { color:#7250f4; text-decoration:none; font-size:14px; font-weight:700; }
.section-title a span { font-size:24px; vertical-align:-2px; margin-left:7px; }
.popular-rooms { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.popular-room { position:relative; min-height:190px; border-radius:17px; background:#fff; border:1px solid rgba(56,74,126,.10); box-shadow:0 9px 22px rgba(56,67,114,.055); display:flex; flex-direction:column; align-items:center; justify-content:center; transition:transform .16s ease,box-shadow .16s ease; }
.popular-room:hover { transform:translateY(-3px); box-shadow:0 14px 30px rgba(56,67,114,.11); }
.online-dot { position:absolute; width:10px; height:10px; border-radius:50%; background:#45cf69; top:17px; right:17px; box-shadow:0 0 0 3px #fff; }
.room-empty .online-dot { background:#cfd5e2; }
.big-room-icon { width:70px; height:70px; border-radius:50%; display:grid; place-items:center; font-size:38px; margin:0 auto 10px; background:#f6f8ff; }
.paris-icon { color:#415687; font-size:48px; background:#f3f5ff; }
.heart-icon { color:#f74389; font-size:47px; background:radial-gradient(circle,#ffd0e6 0 47%,#fff1f7 48%); }
.football-icon { background:#f4f5f8; }
.popular-room strong { font-size:17px; margin:2px 0 7px; }
.popular-room small { font-size:13px; color:#667391; font-weight:500; }
.popular-room small b { font-weight:500; }
.members-online { min-height:170px; }
.online-content { display:flex; align-items:center; gap:18px; }
.portrait-row { display:flex; align-items:center; gap:17px; flex:1; }
.mini-avatar { --skin:#e9a06f; --shirt:#5e7fee; --hair:#33251d; position:relative; width:61px; height:61px; border-radius:50%; overflow:visible; background:linear-gradient(180deg,#ecf3ff,#fff); border:3px solid #fff; box-shadow:0 0 0 1px rgba(56,74,126,.09),0 8px 20px rgba(58,70,118,.08); }
.mini-avatar::before { content:""; position:absolute; width:26px; height:30px; border-radius:48% 48% 46% 46%; background:var(--skin); left:14px; top:10px; box-shadow:0 -7px 0 -1px var(--hair); }
.mini-avatar::after { content:""; position:absolute; width:41px; height:25px; border-radius:22px 22px 11px 11px; background:var(--shirt); left:7px; bottom:4px; }
.mini-avatar i { position:absolute; width:12px; height:12px; border-radius:50%; right:-2px; top:-3px; background:#45cf69; border:2px solid #fff; z-index:3; }
.av2{--skin:#efb17e;--shirt:#f06d91;--hair:#6b3628}.av3{--skin:#9d684d;--shirt:#5974d9;--hair:#241b19}.av4{--skin:#f2bc8b;--shirt:#f2a933;--hair:#6a3c2a}.av5{--skin:#bf825f;--shirt:#2baf80;--hair:#2f231d}.av6{--skin:#e3a16e;--shirt:#ef7a38;--hair:#6b392c}.av7{--skin:#d39871;--shirt:#7153dd;--hair:#30221d}.av8{--skin:#f0b881;--shirt:#ec6282;--hair:#6e3e2d}
.online-plus { font-size:17px; color:#667392; font-weight:700; white-space:nowrap; }
.home-features { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.home-feature { border-radius:18px; min-height:222px; padding:27px 18px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.round-feature { width:66px; height:66px; border-radius:50%; display:grid; place-items:center; font-size:38px; line-height:1; margin-bottom:17px; font-weight:500; }
.round-feature.purple{color:#8045e9;background:#f5edff}.round-feature.green{color:#3db98b;background:#ecfbf6}.round-feature.yellow{color:#f0b52b;background:#fff9e9}.round-feature.blue{color:#3a70eb;background:#eef4ff}
.home-feature h3 { margin:0 0 10px; font-size:16px; line-height:1.35; }
.home-feature p { margin:0; color:#697592; font-size:13px; line-height:1.55; }
.home-stats { margin-top:34px; min-height:98px; border-radius:18px; display:grid; grid-template-columns:repeat(4,1fr); align-items:center; padding:0 22px; }
.stat-item { min-width:0; display:flex; justify-content:center; align-items:center; gap:18px; padding:12px 30px; }
.stat-item + .stat-item { border-left:1px solid rgba(58,74,125,.10); }
.stat-symbol { width:48px; text-align:center; font-size:37px; font-weight:600; line-height:1; }
.members-symbol{color:#5d8cf4}.chat-symbol{color:#7359ec}.smile-symbol{color:#eda72a}.shield-symbol{color:#6c6dea}
.stat-item strong { display:block; font-size:17px; line-height:1.15; color:#17213c; }
.stat-item small { display:block; margin-top:4px; color:#667491; font-size:13px; }
.home-quote { min-height:61px; margin:20px 0 18px; border-radius:12px; display:flex; align-items:center; gap:18px; padding:12px 27px; color:#52607e; }
.quote-heart { color:#f13f82; font-size:23px; }.home-quote p{margin:0;flex:1;font-size:14px;font-style:italic}.home-quote em{font-size:14px;color:#67728f}.quote-outline-heart{font-size:28px;color:#7658f4}
.home-footer { width:min(1420px,calc(100% - 72px)); margin:0 auto 30px; display:flex; justify-content:center; align-items:center; gap:26px; color:#74809a; font-size:13px; }
.home-footer a { color:#5c46e7; text-decoration:none; font-weight:700; }
body.landing-v51.soft-dark { --ink:#edf3ff; --muted:#a9b7d4; --card:rgba(18,27,50,.93); background:linear-gradient(180deg,#10182d 0 94px,#111a30 94px,#161d35 100%); color:var(--ink); }
body.landing-v51.soft-dark .home-nav a,body.landing-v51.soft-dark .theme-toggle,body.landing-v51.soft-dark .intro-card h1,body.landing-v51.soft-dark .popular-room strong,body.landing-v51.soft-dark .home-feature h3,body.landing-v51.soft-dark .stat-item strong{color:#edf3ff}
body.landing-v51.soft-dark .header-login,body.landing-v51.soft-dark .member-login,body.landing-v51.soft-dark .popular-room{background:#18223b;color:#e9efff;border-color:rgba(124,145,205,.18)}
body.landing-v51.soft-dark .intro-card>p,body.landing-v51.soft-dark .popular-room small,body.landing-v51.soft-dark .home-feature p,body.landing-v51.soft-dark .stat-item small,body.landing-v51.soft-dark .home-quote{color:#aab7d1}
body.landing-v51.soft-dark .home-brand img,body.landing-v51.soft-dark .intro-logo{filter:brightness(1.15)}
@media(max-width:1180px){.home-header{grid-template-columns:190px 1fr 190px}.home-nav{gap:25px}.home-grid{grid-template-columns:390px minmax(0,1fr);gap:26px}.intro-card{padding-left:34px;padding-right:34px}.popular-rooms{gap:12px}.portrait-row{gap:8px}.mini-avatar{width:52px;height:52px}.home-features{gap:12px}.stat-item{padding:12px 13px}}
@media(max-width:930px){.home-header{width:min(100% - 30px,760px);grid-template-columns:1fr auto;height:82px}.home-brand{width:108px}.home-nav{display:none}.home-tools{grid-column:2}.home-main{width:min(100% - 28px,760px);margin-top:10px}.home-grid{grid-template-columns:1fr}.intro-card{min-height:650px}.home-features{grid-template-columns:repeat(2,1fr)}.home-stats{grid-template-columns:repeat(2,1fr);padding:12px}.stat-item:nth-child(3){border-left:0}.stat-item:nth-child(n+3){border-top:1px solid rgba(58,74,125,.10)}.home-quote{flex-wrap:wrap}.home-quote em{width:100%;text-align:center}.home-footer{width:min(100% - 28px,760px);flex-wrap:wrap}}
@media(max-width:620px){.home-tools{gap:9px}.theme-toggle{width:38px;height:38px}.header-login{min-width:118px;height:40px}.home-main{width:min(100% - 18px,540px)}.intro-card{padding:32px 20px 0;min-height:610px}.intro-logo{width:165px}.intro-card h1{font-size:38px}.intro-card>p{font-size:16px}.people-illustration{height:220px;margin-left:-12px;margin-right:-12px}.home-section{padding:22px 16px}.popular-rooms{grid-template-columns:repeat(2,1fr)}.popular-room{min-height:160px}.portrait-row{display:grid;grid-template-columns:repeat(4,45px);gap:9px}.mini-avatar{width:45px;height:45px}.mini-avatar::before{width:21px;height:24px;left:10px}.mini-avatar::after{width:31px;height:18px;left:5px}.online-content{align-items:flex-end}.home-features{grid-template-columns:1fr 1fr}.home-feature{min-height:190px;padding:20px 10px}.home-stats{grid-template-columns:1fr}.stat-item+.stat-item{border-left:0;border-top:1px solid rgba(58,74,125,.10)}.stat-item{justify-content:flex-start}.home-footer{width:min(100% - 18px,540px);gap:10px}.home-quote{padding:15px 18px}.quote-outline-heart{margin-left:auto}}

/* ============================================================
   ASV Chat — Design 3 copie fidèle à la maquette (v52)
   Référence desktop : 1448 x 1086
   ============================================================ */
body.landing-v52{
  --v52-ink:#10162c;
  --v52-muted:#566281;
  --v52-purple:#6040ff;
  margin:0;
  min-height:100vh;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  color:var(--v52-ink);
  background:
    radial-gradient(circle at 15% 31%,rgba(226,207,255,.60),transparent 31%),
    radial-gradient(circle at 80% 29%,rgba(255,222,230,.58),transparent 29%),
    radial-gradient(circle at 50% 84%,rgba(216,231,255,.72),transparent 40%),
    linear-gradient(180deg,#fff 0 98px,#fff8fc 98px,#f4f8ff 100%);
  overflow-x:hidden;
}
body.landing-v52 *{box-sizing:border-box}
.v52-header{
  width:1340px; max-width:calc(100% - 54px); height:98px; margin:0 auto;
  display:grid; grid-template-columns:210px 1fr 225px; align-items:center;
}
.v52-brand{display:block;width:139px;height:77px;overflow:hidden;text-decoration:none}
.v52-brand img{display:block;width:139px;height:77px;object-fit:contain}
.v52-nav{height:100%;display:flex;align-items:center;justify-content:center;gap:50px}
.v52-nav a{position:relative;display:flex;height:100%;align-items:center;color:#151c35;text-decoration:none;font-size:16px;font-weight:600;letter-spacing:-.01em}
.v52-nav a.active{color:#4030ee}
.v52-nav a.active::after{content:"";position:absolute;left:0;right:0;bottom:24px;height:2px;background:#4c35f4;border-radius:2px}
.v52-tools{display:flex;align-items:center;justify-content:flex-end;gap:25px}
.v52-theme{width:42px;height:42px;border-radius:50%;border:1px solid rgba(44,58,104,.09);background:rgba(255,255,255,.80);font-size:20px;color:#16203a;cursor:pointer;box-shadow:0 6px 18px rgba(50,62,110,.04)}
.v52-login{width:146px;height:44px;border-radius:12px;border:1.5px solid rgba(79,66,242,.38);background:rgba(255,255,255,.74);display:flex;align-items:center;justify-content:center;text-decoration:none;color:#4a34ec;font-weight:700;font-size:15px}
.v52-main{width:1340px;max-width:calc(100% - 54px);margin:32px auto 0}
.v52-layout{display:grid;grid-template-columns:468px 1fr;gap:48px;align-items:start}
.v52-intro{
  height:710px;border-radius:20px;border:1px solid rgba(70,83,130,.08);background:rgba(255,255,255,.78);
  box-shadow:0 18px 58px rgba(73,79,132,.07);text-align:center;overflow:hidden;position:relative;padding:30px 42px 0;
}
.v52-hero-logo{display:block;width:227px;height:112px;object-fit:contain;margin:0 auto 12px}
.v52-intro h1{margin:0;font-size:46px;line-height:1.12;letter-spacing:-.045em;font-weight:840;color:#111528}
.v52-intro>p{margin:19px 0 26px;font-size:18px;line-height:1.55;color:#56617d;font-weight:500}
.v52-cta{width:342px;max-width:100%;margin:0 auto;display:grid;gap:16px;position:relative;z-index:2}
.v52-create,.v52-member{height:57px;border-radius:12px;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:16px;font-weight:800}
.v52-create{background:linear-gradient(100deg,#4932f7 0%,#6537ff 47%,#9a55f3 100%);color:#fff;box-shadow:0 12px 29px rgba(88,55,244,.18)}
.v52-create span{font-size:20px;margin-left:13px;font-weight:400}
.v52-member{border:1.5px solid rgba(56,82,216,.22);background:#fff;color:#3c4663}
.v52-member strong{margin-left:4px;color:#4b31ef}
.v52-people{position:absolute;left:0;bottom:0;width:467px;height:203px;display:block;object-fit:cover;object-position:center}
.v52-right{display:grid;grid-template-rows:456px 229px;gap:23px;min-width:0}
.v52-community{height:456px;border-radius:20px;overflow:hidden;background:rgba(255,255,255,.88);border:1px solid rgba(70,83,130,.08);box-shadow:0 18px 58px rgba(73,79,132,.07)}
.v52-rooms-area{height:287px;padding:25px 24px 28px}
.v52-online-area{height:169px;padding:24px;border-top:1px solid rgba(57,73,120,.08)}
.v52-title-row{height:31px;display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:17px}
.v52-title-row h2{font-size:18px;line-height:1.1;font-weight:830;letter-spacing:-.02em;margin:0}
.v52-title-row a{font-size:14px;line-height:1;color:#7149f2;text-decoration:none;font-weight:600;white-space:nowrap}
.v52-title-row a span{font-size:23px;margin-left:7px;vertical-align:-3px}
.v52-room-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.v52-room{height:190px;border-radius:17px;border:1px solid rgba(52,70,121,.10);background:#fff;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:14px;box-shadow:0 8px 23px rgba(55,66,114,.045)}
.v52-room>img{width:85px;height:80px;object-fit:contain;display:block;margin:0 auto 4px}
.v52-room:nth-child(4)>img{width:88px}
.v52-dot{position:absolute;right:12px;top:13px;width:10px;height:10px;border-radius:50%;background:#48cb68;border:2px solid #fff;box-sizing:content-box}
.v52-room.room-empty .v52-dot{background:#cbd2df}
.v52-room strong{font-size:16px;line-height:1.1;margin-top:3px;font-weight:760}
.v52-room small{margin-top:8px;color:#687490;font-size:13px;font-weight:500}
.v52-room small b{font-weight:500}
.v52-online-area .v52-title-row{margin-bottom:11px}
.v52-online-row{height:77px;display:flex;align-items:center;overflow:hidden}
.v52-online-row>img{display:block;width:692px;height:75px;object-fit:cover;object-position:left center;max-width:calc(100% - 68px)}
.v52-online-plus{margin-left:auto;color:#687491;font-size:16px;font-weight:650;white-space:nowrap}
.v52-features{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;height:229px}
.v52-feature{height:229px;border-radius:19px;border:1px solid rgba(60,76,126,.09);background:rgba(255,255,255,.88);box-shadow:0 16px 42px rgba(73,79,132,.06);display:flex;flex-direction:column;align-items:center;text-align:center;padding:12px 13px 18px;overflow:hidden}
.v52-feature>img{display:block;width:91px;height:83px;object-fit:contain;margin:0 auto 3px}
.v52-feature:first-child>img{width:90px}.v52-feature:last-child>img{width:93px}
.v52-feature h3{margin:0 0 11px;font-size:16px;line-height:1.34;font-weight:760;letter-spacing:-.015em}
.v52-feature p{margin:0;color:#687591;font-size:13px;line-height:1.55;font-weight:500}
.v52-stats{height:91px;margin-top:32px;border-radius:18px;border:1px solid rgba(67,81,128,.08);background:rgba(255,255,255,.82);box-shadow:0 16px 45px rgba(75,84,137,.06);display:grid;grid-template-columns:repeat(4,1fr);align-items:center;padding:0 15px}
.v52-stat{height:55px;display:flex;align-items:center;justify-content:center;gap:15px;padding:0 18px}
.v52-stat+.v52-stat{border-left:1px solid rgba(60,75,123,.10)}
.v52-stat img{display:block;width:62px;height:56px;object-fit:contain}.v52-stat:nth-child(1) img{width:72px}.v52-stat:nth-child(3) img{width:52px}.v52-stat:nth-child(4) img{width:58px}
.v52-stat strong{display:block;font-size:16px;line-height:1.1;font-weight:700;color:#13203e;white-space:nowrap}
.v52-stat small{display:block;margin-top:4px;color:#596785;font-size:13px;line-height:1.15;white-space:nowrap}
.v52-quote{height:60px;margin-top:20px;border-radius:12px;border:1px solid rgba(67,81,128,.07);background:rgba(255,255,255,.76);box-shadow:0 11px 35px rgba(75,84,137,.04);display:flex;align-items:center;padding:0 26px;gap:18px;color:#566281}
.v52-heart{color:#ef3f82;font-size:24px;line-height:1}.v52-quote p{flex:1;margin:0;font-size:14px;font-style:italic}.v52-quote em{font-size:14px;color:#5f6985;white-space:nowrap}.v52-heart-outline{font-size:28px;color:#6b4ef3;line-height:1}
.v52-footer{width:1340px;max-width:calc(100% - 54px);min-height:48px;margin:10px auto 30px;display:flex;align-items:center;justify-content:center;gap:25px;color:#7b849a;font-size:12px}
.v52-footer a{text-decoration:none;color:#5540e6;font-weight:700}

/* Le thème sombre reste volontairement discret, sans casser la maquette claire. */
body.landing-v52.soft-dark{background:linear-gradient(180deg,#0f172a 0 98px,#131b31 98px,#171f36 100%);color:#edf2ff}
body.landing-v52.soft-dark .v52-intro,body.landing-v52.soft-dark .v52-community,body.landing-v52.soft-dark .v52-feature,body.landing-v52.soft-dark .v52-stats,body.landing-v52.soft-dark .v52-quote{background:rgba(20,29,51,.95);border-color:rgba(144,163,220,.12)}
body.landing-v52.soft-dark .v52-room,body.landing-v52.soft-dark .v52-member,body.landing-v52.soft-dark .v52-login{background:#18233d;color:#eef3ff;border-color:rgba(144,163,220,.15)}
body.landing-v52.soft-dark .v52-nav a,body.landing-v52.soft-dark .v52-intro h1,body.landing-v52.soft-dark .v52-room strong,body.landing-v52.soft-dark .v52-feature h3,body.landing-v52.soft-dark .v52-stat strong{color:#eef3ff}

@media(max-width:1200px){
  .v52-header,.v52-main,.v52-footer{width:calc(100% - 34px);max-width:none}
  .v52-layout{grid-template-columns:400px minmax(0,1fr);gap:24px}
  .v52-intro{width:100%;padding-left:28px;padding-right:28px}.v52-people{width:100%;object-fit:cover}
  .v52-room-grid{gap:12px}.v52-features{gap:12px}.v52-online-row>img{width:calc(100% - 75px);object-fit:cover}
}
@media(max-width:930px){
  .v52-header{height:82px;grid-template-columns:1fr auto}.v52-brand{width:112px;height:64px}.v52-brand img{width:112px;height:64px}.v52-nav{display:none}
  .v52-tools{grid-column:2}.v52-main{margin-top:18px}.v52-layout{grid-template-columns:1fr}.v52-intro{height:710px}.v52-right{grid-template-rows:auto auto}.v52-community{height:auto}.v52-rooms-area,.v52-online-area{height:auto}.v52-room-grid{grid-template-columns:repeat(2,1fr)}.v52-features{height:auto;grid-template-columns:repeat(2,1fr)}.v52-feature{height:215px}.v52-stats{height:auto;grid-template-columns:repeat(2,1fr);padding:12px}.v52-stat:nth-child(3){border-left:0}.v52-stat:nth-child(n+3){border-top:1px solid rgba(60,75,123,.10)}
  .v52-quote{height:auto;min-height:70px;flex-wrap:wrap;padding:15px 20px}.v52-quote em{width:100%;text-align:center}.v52-footer{flex-wrap:wrap;padding:12px 0}
}
@media(max-width:560px){
  .v52-header,.v52-main,.v52-footer{width:calc(100% - 18px)}.v52-login{width:118px}.v52-theme{display:none}.v52-main{margin-top:9px}.v52-intro{height:660px;padding:28px 18px 0}.v52-hero-logo{width:190px;height:auto}.v52-intro h1{font-size:38px}.v52-intro>p{font-size:16px}.v52-people{height:auto}.v52-room-grid{grid-template-columns:1fr 1fr}.v52-room{height:175px}.v52-features{grid-template-columns:1fr 1fr}.v52-feature{height:205px}.v52-online-row>img{max-width:calc(100% - 62px)}.v52-stats{grid-template-columns:1fr}.v52-stat+.v52-stat{border-left:0;border-top:1px solid rgba(60,75,123,.10)}.v52-stat{justify-content:flex-start}.v52-quote em{white-space:normal}
}

/* ===== ASV Chat v53 — landing page homogène et anti-coupure ===== */
body.landing-v53{--ink:#11162b;--muted:#5e6985;--purple:#5b3ef5;margin:0;min-height:100vh;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:radial-gradient(circle at 14% 31%,rgba(228,209,255,.62),transparent 30%),radial-gradient(circle at 81% 30%,rgba(255,223,232,.58),transparent 29%),radial-gradient(circle at 50% 86%,rgba(218,233,255,.74),transparent 41%),linear-gradient(180deg,#fff 0 100px,#fff9fc 100px,#f4f8ff 100%);overflow-x:hidden}
body.landing-v53 *{box-sizing:border-box}.v53-header{width:min(1336px,calc(100% - 108px));height:100px;margin:0 auto;display:grid;grid-template-columns:190px 1fr 230px;align-items:center}.v53-brand{display:block;width:139px;height:77px}.v53-brand img{display:block;width:139px;height:77px;object-fit:contain}.v53-nav{height:100%;display:flex;align-items:center;justify-content:center;gap:50px}.v53-nav a{position:relative;height:100%;display:flex;align-items:center;text-decoration:none;color:#171d34;font-size:16px;font-weight:600}.v53-nav a.active{color:#4331ef}.v53-nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:24px;height:2px;border-radius:999px;background:#4a37ef}.v53-tools{display:flex;align-items:center;justify-content:flex-end;gap:24px}.v53-theme{width:42px;height:42px;border-radius:50%;border:1px solid rgba(50,63,108,.10);background:rgba(255,255,255,.82);font-size:20px;color:#18213a;cursor:pointer}.v53-login{width:146px;height:44px;border-radius:12px;border:1.5px solid rgba(80,65,242,.38);background:rgba(255,255,255,.8);display:flex;align-items:center;justify-content:center;color:#4a34ec;text-decoration:none;font-weight:700;font-size:15px}
.v53-main{width:min(1340px,calc(100% - 108px));margin:30px auto 0}.v53-layout{display:grid;grid-template-columns:482px minmax(0,1fr);gap:48px;align-items:stretch}.v53-intro{height:711px;border-radius:20px;border:1px solid rgba(70,83,130,.08);background:rgba(255,255,255,.80);box-shadow:0 18px 58px rgba(73,79,132,.07);text-align:center;overflow:hidden;position:relative;padding:31px 44px 0}.v53-hero-logo{display:block;width:227px;height:112px;object-fit:contain;margin:0 auto 12px}.v53-intro h1{margin:0;font-size:46px;line-height:1.12;letter-spacing:-.045em;font-weight:840;color:#111528}.v53-intro>p{margin:19px 0 26px;font-size:18px;line-height:1.55;color:#56617d;font-weight:500}.v53-cta{width:342px;max-width:100%;margin:0 auto;display:grid;gap:16px;position:relative;z-index:2}.v53-create,.v53-member{height:57px;border-radius:12px;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:16px;font-weight:800}.v53-create{background:linear-gradient(100deg,#4932f7 0%,#6537ff 47%,#9a55f3 100%);color:#fff;box-shadow:0 12px 29px rgba(88,55,244,.18)}.v53-create span{font-size:20px;margin-left:13px;font-weight:400}.v53-member{border:1.5px solid rgba(56,82,216,.22);background:#fff;color:#3c4663}.v53-member strong{margin-left:4px;color:#4b31ef}.v53-people{position:absolute;left:0;right:0;bottom:0;width:100%;height:207px;display:block;object-fit:cover;object-position:center bottom}
.v53-right{display:grid;grid-template-rows:456px 229px;gap:24px;min-width:0}.v53-community{height:456px;border-radius:20px;overflow:hidden;background:rgba(255,255,255,.89);border:1px solid rgba(70,83,130,.08);box-shadow:0 18px 58px rgba(73,79,132,.07)}.v53-rooms-area{height:288px;padding:25px 23px 28px}.v53-online-area{height:168px;padding:24px 23px;border-top:1px solid rgba(57,73,120,.08)}.v53-title-row{height:31px;display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:17px}.v53-title-row h2{font-size:18px;line-height:1.1;font-weight:830;letter-spacing:-.02em;margin:0}.v53-title-row a{font-size:14px;line-height:1;color:#7149f2;text-decoration:none;font-weight:600;white-space:nowrap}.v53-title-row a span{font-size:23px;margin-left:7px;vertical-align:-3px}.v53-room-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.v53-room{height:191px;min-width:0;border-radius:17px;border:1px solid rgba(52,70,121,.10);background:#fff;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:13px;box-shadow:0 8px 23px rgba(55,66,114,.045);overflow:hidden}.v53-dot{position:absolute;right:12px;top:13px;width:10px;height:10px;border-radius:50%;background:#48cb68;border:2px solid #fff;box-sizing:content-box}.v53-room.room-empty .v53-dot{background:#cbd2df}.v53-room-icon{width:86px;height:82px;border-radius:50%;display:grid;place-items:center;margin:0 auto 4px;background:linear-gradient(145deg,#f8f9ff,#f0f2fb);flex:0 0 auto}.v53-room-icon.flag-fr i{display:block;width:42px;height:32px;border-radius:2px;background:linear-gradient(90deg,#173a9c 0 33.33%,#fff 33.33% 66.66%,#ef3340 66.66%);box-shadow:0 2px 8px rgba(0,0,0,.08)}.v53-room-icon.eiffel svg{width:58px;height:58px}.v53-room-icon.heart-room{font-size:47px;color:#ed4f91;background:radial-gradient(circle at 35% 34%,#ff9ec8,transparent 28%),linear-gradient(145deg,#ffe6f1,#f8ddea)}.v53-room-icon.ball{font-size:52px;line-height:1}.v53-room strong{font-size:16px;line-height:1.1;margin-top:3px;font-weight:760}.v53-room small{margin-top:8px;color:#687490;font-size:13px;font-weight:500}.v53-room small b{font-weight:500}.v53-online-area .v53-title-row{margin-bottom:10px}.v53-online-row{height:78px;display:flex;align-items:center;min-width:0;overflow:hidden}.v53-online-row>img{display:block;width:min(710px,calc(100% - 84px));height:78px;object-fit:cover;object-position:left center;flex:0 1 auto}.v53-online-plus{margin-left:auto;padding-left:8px;color:#687491;font-size:16px;font-weight:650;white-space:nowrap}
.v53-features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;height:229px}.v53-feature{height:229px;min-width:0;border-radius:19px;border:1px solid rgba(60,76,126,.09);background:rgba(255,255,255,.89);box-shadow:0 16px 42px rgba(73,79,132,.06);display:flex;flex-direction:column;align-items:center;text-align:center;padding:20px 13px 18px;overflow:hidden}.v53-feature-icon{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin-bottom:13px}.v53-feature-icon svg{width:50px;height:50px}.v53-feature-icon.purple{color:#8045e9;background:#f5edff}.v53-feature-icon.green{color:#3db98b;background:#ecfbf6}.v53-feature-icon.yellow{color:#f0b52b;background:#fff9e9}.v53-feature-icon.blue{color:#3a70eb;background:#eef4ff}.v53-feature h3{margin:0 0 10px;font-size:16px;line-height:1.34;font-weight:760;letter-spacing:-.015em}.v53-feature p{margin:0;color:#687591;font-size:13px;line-height:1.55;font-weight:500}
.v53-stats{height:91px;margin-top:32px;border-radius:18px;border:1px solid rgba(67,81,128,.08);background:rgba(255,255,255,.83);box-shadow:0 16px 45px rgba(75,84,137,.06);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;padding:0 15px}.v53-stat{height:55px;min-width:0;display:flex;align-items:center;justify-content:center;gap:15px;padding:0 18px}.v53-stat+.v53-stat{border-left:1px solid rgba(60,75,123,.10)}.v53-stat-icon{width:58px;height:58px;display:grid;place-items:center;flex:0 0 auto}.v53-stat-icon svg{width:54px;height:54px}.v53-stat-icon.members{color:#5d8cf4}.v53-stat-icon.rooms{color:#7359ec}.v53-stat-icon.meet{font-size:40px}.v53-stat-icon.secure{color:#6c6dea}.v53-stat strong{display:block;font-size:16px;line-height:1.1;font-weight:700;color:#13203e;white-space:nowrap}.v53-stat small{display:block;margin-top:4px;color:#596785;font-size:13px;line-height:1.15;white-space:nowrap}.v53-quote{height:60px;margin-top:20px;border-radius:12px;border:1px solid rgba(67,81,128,.07);background:rgba(255,255,255,.77);box-shadow:0 11px 35px rgba(75,84,137,.04);display:flex;align-items:center;padding:0 26px;gap:18px;color:#566281}.v53-heart{color:#ef3f82;font-size:24px;line-height:1}.v53-quote p{flex:1;margin:0;font-size:14px;font-style:italic;min-width:0}.v53-quote em{font-size:14px;color:#5f6985;white-space:nowrap}.v53-heart-outline{font-size:28px;color:#6b4ef3;line-height:1}.v53-footer{width:min(1340px,calc(100% - 108px));min-height:48px;margin:10px auto 30px;display:flex;align-items:center;justify-content:center;gap:25px;color:#7b849a;font-size:12px;flex-wrap:wrap}.v53-footer a{text-decoration:none;color:#5540e6;font-weight:700}
body.landing-v53.soft-dark{background:linear-gradient(180deg,#0f172a 0 100px,#131b31 100px,#171f36 100%);color:#edf2ff}body.landing-v53.soft-dark .v53-intro,body.landing-v53.soft-dark .v53-community,body.landing-v53.soft-dark .v53-feature,body.landing-v53.soft-dark .v53-stats,body.landing-v53.soft-dark .v53-quote{background:rgba(20,29,51,.95);border-color:rgba(144,163,220,.12)}body.landing-v53.soft-dark .v53-room,body.landing-v53.soft-dark .v53-login,body.landing-v53.soft-dark .v53-member{background:#18233d;color:#eef3ff;border-color:rgba(144,163,220,.15)}body.landing-v53.soft-dark .v53-nav a,body.landing-v53.soft-dark .v53-intro h1,body.landing-v53.soft-dark .v53-room strong,body.landing-v53.soft-dark .v53-feature h3,body.landing-v53.soft-dark .v53-stat strong{color:#eef3ff}
@media(max-width:1350px){.v53-header,.v53-main,.v53-footer{width:calc(100% - 34px)}.v53-header{grid-template-columns:170px 1fr 200px}.v53-nav{gap:28px}.v53-layout{grid-template-columns:400px minmax(0,1fr);gap:24px}.v53-intro{padding-left:28px;padding-right:28px}.v53-room-grid,.v53-features{gap:12px}.v53-room{height:185px}.v53-online-row>img{width:calc(100% - 76px)}.v53-stat{padding:0 8px;gap:8px}.v53-stat-icon{width:44px;height:44px}.v53-stat-icon svg{width:42px;height:42px}}
@media(max-width:930px){.v53-header{height:82px;grid-template-columns:1fr auto}.v53-brand{width:112px;height:64px}.v53-brand img{width:112px;height:64px}.v53-nav{display:none}.v53-tools{grid-column:2}.v53-main{margin-top:18px}.v53-layout{grid-template-columns:1fr}.v53-intro{height:710px}.v53-right{grid-template-rows:auto auto}.v53-community{height:auto}.v53-rooms-area,.v53-online-area{height:auto}.v53-room-grid{grid-template-columns:repeat(2,1fr)}.v53-room{height:185px}.v53-features{height:auto;grid-template-columns:repeat(2,1fr)}.v53-feature{height:215px}.v53-stats{height:auto;grid-template-columns:repeat(2,1fr);padding:12px}.v53-stat:nth-child(3){border-left:0}.v53-stat:nth-child(n+3){border-top:1px solid rgba(60,75,123,.10)}.v53-quote{height:auto;min-height:70px;flex-wrap:wrap;padding:15px 20px}.v53-quote em{width:100%;text-align:center}.v53-footer{padding:12px 0}}
@media(max-width:560px){.v53-header,.v53-main,.v53-footer{width:calc(100% - 18px)}.v53-login{width:118px}.v53-theme{display:none}.v53-main{margin-top:9px}.v53-intro{height:660px;padding:28px 18px 0}.v53-hero-logo{width:190px;height:auto}.v53-intro h1{font-size:38px}.v53-intro>p{font-size:16px}.v53-people{height:auto;max-height:207px;object-fit:cover}.v53-room-grid{grid-template-columns:1fr 1fr}.v53-room{height:175px}.v53-room-icon{width:70px;height:68px}.v53-features{grid-template-columns:1fr 1fr}.v53-feature{height:205px;padding-top:16px}.v53-online-row>img{width:calc(100% - 62px)}.v53-online-plus{font-size:13px}.v53-stats{grid-template-columns:1fr}.v53-stat+.v53-stat{border-left:0;border-top:1px solid rgba(60,75,123,.10)}.v53-stat{justify-content:flex-start}.v53-quote em{white-space:normal}}


/* ============================================================
   ASV Chat v54 — finition accueil + profil pastel uniforme
   ============================================================ */
/* Logos d'accueil : SVG transparent, aucune plaque blanche autour. */
.landing-v53 .v53-brand,
.landing-v53 .v53-hero-logo{background:transparent!important}
.landing-v53 .v53-brand img,
.landing-v53 .v53-hero-logo{background:transparent!important;filter:none!important}
.landing-v53 .v53-brand img{width:132px!important;height:auto!important;max-height:78px!important;object-fit:contain!important}
.landing-v53 .v53-hero-logo{width:228px!important;height:auto!important;max-height:112px!important;object-fit:contain!important;margin:0 auto 12px!important}

/* Membres en ligne : afficher la bande complète sans rogner les visages. */
.landing-v53 .v53-online-row{height:78px!important;display:flex!important;align-items:center!important;gap:12px!important;overflow:visible!important;min-width:0!important}
.landing-v53 .v53-online-row>img{display:block!important;width:auto!important;max-width:calc(100% - 118px)!important;height:70px!important;max-height:70px!important;object-fit:contain!important;object-position:left center!important;flex:1 1 auto!important;min-width:0!important}
.landing-v53 .v53-online-plus{flex:0 0 auto!important;margin-left:auto!important;padding-left:0!important;white-space:nowrap!important}

/* Connexion harmonisée avec l'accueil. */
body.auth-v54{background:
  radial-gradient(circle at 15% 24%,rgba(218,196,255,.46),transparent 31%),
  radial-gradient(circle at 87% 18%,rgba(255,211,225,.40),transparent 30%),
  radial-gradient(circle at 55% 88%,rgba(205,229,255,.55),transparent 35%),
  linear-gradient(135deg,#fbfdff 0%,#fff8fc 48%,#f4f9ff 100%)!important}
.auth-v54 .auth-card{border-radius:24px!important;border:1px solid rgba(76,88,138,.10)!important;background:rgba(255,255,255,.90)!important;box-shadow:0 24px 70px rgba(71,78,132,.13)!important;backdrop-filter:blur(16px)!important}
.auth-v54 .auth-logo img{width:168px!important;height:auto!important;background:transparent!important}
.auth-v54 .auth-card h1{color:#11172e!important}
.auth-v54 .portal-primary{background:linear-gradient(100deg,#4932f7,#6537ff 48%,#9a55f3)!important}

/* Espace profil entièrement aligné sur la landing page. */
body.profile-v54{--p54-ink:#11172e;--p54-muted:#64708e;--p54-purple:#633cff;--p54-blue:#3478ef;--p54-line:rgba(68,82,132,.11);margin:0;min-height:100vh;color:var(--p54-ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:
  radial-gradient(circle at 12% 22%,rgba(218,196,255,.43),transparent 29%),
  radial-gradient(circle at 88% 15%,rgba(255,213,226,.38),transparent 27%),
  radial-gradient(circle at 55% 88%,rgba(207,231,255,.56),transparent 35%),
  linear-gradient(180deg,#fff 0 96px,#fff9fc 96px,#f5f9ff 100%);overflow-x:hidden}
body.profile-v54 *{box-sizing:border-box}
.profile54-header{width:min(1340px,calc(100% - 72px));height:96px;margin:0 auto;display:grid;grid-template-columns:180px 1fr auto;align-items:center;gap:24px}
.profile54-brand{display:flex;align-items:center;width:145px;text-decoration:none}.profile54-brand img{display:block;width:138px;height:auto;background:transparent}
.profile54-nav{display:flex;align-items:center;justify-content:center;gap:42px;height:100%}.profile54-nav a{position:relative;display:flex;align-items:center;height:100%;color:#28304c;text-decoration:none;font-weight:700}.profile54-nav a.active{color:#4c35ef}.profile54-nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:22px;height:2px;border-radius:999px;background:#4c35ef}
.profile54-accountbar{display:flex;align-items:center;gap:12px}.profile54-user{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:10px 14px;border-radius:12px;background:rgba(255,255,255,.76);border:1px solid var(--p54-line);color:#596582;font-size:13px;font-weight:700}.profile54-logout{height:42px;padding:0 17px;border:1px solid rgba(82,62,235,.25);border-radius:12px;background:#fff;color:#5238ed;font-weight:800;cursor:pointer}.profile54-logout:hover{background:#f6f3ff}
.profile54-main{width:min(1340px,calc(100% - 72px));margin:30px auto 0}
.profile54-hero{min-height:174px;display:grid;grid-template-columns:94px minmax(0,1fr) auto;align-items:center;gap:24px;padding:28px 34px;border-radius:24px;background:rgba(255,255,255,.88);border:1px solid var(--p54-line);box-shadow:0 18px 58px rgba(73,79,132,.08);backdrop-filter:blur(14px);position:relative;overflow:hidden}.profile54-hero:after{content:"";position:absolute;width:330px;height:330px;border-radius:50%;right:-150px;top:-190px;background:radial-gradient(circle,rgba(124,81,255,.13),transparent 68%);pointer-events:none}.profile54-avatar{width:82px;height:82px;border-radius:24px;display:grid;place-items:center;font-size:42px;background:linear-gradient(145deg,#eaf2ff,#f0e8ff);border:1px solid rgba(80,70,190,.10);box-shadow:0 14px 30px rgba(76,73,149,.12)}
.profile54-kicker,.profile54-eyebrow{display:block;color:#6746f0;font-size:11px;font-weight:900;letter-spacing:.12em}.profile54-hero-copy h1{margin:5px 0 6px;font-size:38px;letter-spacing:-.04em}.profile54-hero-copy p{margin:0;max-width:650px;color:var(--p54-muted);line-height:1.55}.profile54-launch{position:relative;z-index:1;height:54px;padding:0 24px;border:0;border-radius:14px;background:linear-gradient(100deg,#4932f7,#6738ff 48%,#9854f4);color:#fff;font-weight:900;font-size:15px;cursor:pointer;box-shadow:0 14px 32px rgba(88,55,244,.22)}.profile54-launch span{margin-right:7px}.profile54-launch:hover{transform:translateY(-1px)}
.profile54-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.75fr);gap:24px;margin-top:24px;align-items:start}.profile54-card{background:rgba(255,255,255,.90);border:1px solid var(--p54-line);border-radius:22px;box-shadow:0 18px 58px rgba(73,79,132,.075);padding:28px;backdrop-filter:blur(14px)}.profile54-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.profile54-card-head.compact{align-items:center}.profile54-card h2{margin:4px 0 0;font-size:25px;letter-spacing:-.035em}.profile54-badge{padding:8px 11px;border-radius:999px;background:#f0ebff;color:#6544ed;font-size:12px;font-weight:900}.profile54-card-intro{margin:12px 0 24px;color:var(--p54-muted);line-height:1.55}
.profile54-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.profile54-field{display:grid;gap:7px;color:#26304f;font-size:13px;font-weight:850}.profile54-full{grid-column:1/-1}.profile-v54 .portal-input{width:100%;min-height:49px;border:1px solid rgba(64,78,132,.16);border-radius:13px;background:#fff;padding:0 14px;color:#171d37;font:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.profile-v54 select.portal-input{appearance:auto}.profile-v54 .portal-input:focus{outline:3px solid rgba(73,55,239,.11);border-color:rgba(73,55,239,.42)}.profile-v54 .portal-input:disabled{background:#f5f7fc;color:#65708a}.profile54-save-row{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:4px;padding-top:18px;border-top:1px solid var(--p54-line)}.profile54-save-row>span{color:#77819b;font-size:12px}.profile54-save{min-height:48px;padding:0 20px;border:0;border-radius:13px;background:linear-gradient(100deg,#4a33f4,#7650f4);color:#fff;font-weight:900;cursor:pointer;box-shadow:0 12px 28px rgba(83,62,238,.18)}
.profile54-side{display:grid;gap:24px}.profile54-chat-card{display:grid;grid-template-columns:62px 1fr;gap:12px 16px;align-items:center;background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(247,246,255,.95))}.profile54-chat-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#eee9ff;font-size:29px}.profile54-chat-card h2{font-size:22px}.profile54-chat-card p{margin:8px 0 0;color:var(--p54-muted);font-size:13px;line-height:1.5}.profile54-launch-secondary{grid-column:1/-1;height:48px;border:0;border-radius:13px;background:#fff;border:1.5px solid rgba(82,63,235,.28);color:#5439ec;font-weight:900;cursor:pointer}.profile54-chat-card small{grid-column:1/-1;color:#858da4;line-height:1.45;text-align:center}
.profile54-friend-icon{font-size:31px;color:#ef5da7}.profile54-friend-section{margin-top:20px;padding-top:19px;border-top:1px solid var(--p54-line)}.profile54-friend-section:first-of-type{margin-top:16px}.profile54-friend-section h3{margin:0 0 10px;font-size:14px;color:#35405e}.profile-v54 .friend-list{display:grid;gap:8px}.profile-v54 .friend-row,.profile-v54 .friend-empty{border:1px solid rgba(67,82,130,.10);border-radius:12px;background:#f9fbff;padding:10px 11px;color:#56617e;font-size:12px}.profile-v54 .friend-row{display:flex;align-items:center;gap:8px;justify-content:space-between}.profile-v54 .friend-row span{font-weight:750;color:#34405e;min-width:0;overflow:hidden;text-overflow:ellipsis}.profile-v54 .friend-row em{font-style:normal;color:#856b00;font-weight:800}.profile-v54 .friend-row .classic-btn{height:30px!important;padding:0 9px!important;border:1px solid rgba(77,61,232,.20)!important;border-radius:9px!important;background:#fff!important;color:#563dec!important;font-weight:800!important}.profile-v54 .friend-row .classic-btn.primary{background:#5e43ef!important;color:#fff!important}
.profile54-footer{width:min(1340px,calc(100% - 72px));margin:30px auto 24px;display:flex;align-items:center;justify-content:center;gap:24px;color:#7b849d;font-size:12px}.profile54-footer a{color:#5b43ec;text-decoration:none;font-weight:800}
@media(max-width:980px){.profile54-header{width:calc(100% - 28px);grid-template-columns:150px 1fr}.profile54-nav{display:none}.profile54-accountbar{justify-content:flex-end}.profile54-main,.profile54-footer{width:calc(100% - 28px)}.profile54-hero{grid-template-columns:78px 1fr}.profile54-launch{grid-column:1/-1;width:100%}.profile54-grid{grid-template-columns:1fr}.profile54-form{grid-template-columns:1fr}.profile54-full,.profile54-save-row{grid-column:1}.profile54-save-row{align-items:stretch;flex-direction:column}.profile54-save{width:100%}}
@media(max-width:620px){.profile54-header{height:auto;min-height:88px;grid-template-columns:1fr auto;gap:8px}.profile54-brand img{width:116px}.profile54-user{display:none}.profile54-main{margin-top:14px}.profile54-hero{grid-template-columns:1fr;text-align:center;padding:24px 20px}.profile54-avatar{margin:0 auto}.profile54-hero-copy h1{font-size:32px}.profile54-card{padding:21px 17px}.profile54-card-head{flex-direction:column}.profile54-footer{flex-wrap:wrap;gap:10px 16px}.landing-v53 .v53-online-row>img{height:58px!important;max-height:58px!important;max-width:calc(100% - 88px)!important}.landing-v53 .v53-online-plus{font-size:12px!important}}


/* =========================================================
   ASV Chat v55 — finitions accueil / mot de passe / suppression
   ========================================================= */
/* Bandeau des membres : visages et cercles toujours entièrement visibles. */
.landing-v53 .v53-online-area{overflow:hidden!important}
.landing-v53 .v53-online-row{height:82px!important;overflow:visible!important;align-items:center!important}
.landing-v53 .v53-online-row>img{
  width:auto!important;
  height:76px!important;
  max-height:76px!important;
  max-width:calc(100% - 118px)!important;
  object-fit:contain!important;
  object-position:left center!important;
  flex:1 1 auto!important;
  min-width:0!important;
  clip-path:none!important;
  border-radius:0!important;
}

/* Champs mot de passe avec bouton afficher / masquer. */
.password-field-wrap{position:relative;display:block;width:100%}
.password-field-wrap>.portal-input{width:100%;padding-right:48px!important}
.password-eye{
  position:absolute;right:8px;top:50%;transform:translateY(-50%);
  width:34px;height:34px;border:0;border-radius:9px;background:transparent;
  display:grid;place-items:center;cursor:pointer;font-size:17px;line-height:1;
  opacity:.74;transition:background .15s ease,opacity .15s ease;
}
.password-eye:hover{background:#f0edff;opacity:1}
.password-eye:focus-visible{outline:2px solid #6847f0;outline-offset:1px}

/* Zone de suppression du compte, cohérente avec le profil pastel. */
.profile55-danger{
  margin-top:24px;padding:27px 30px;border-radius:22px;
  display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:28px;align-items:center;
  background:linear-gradient(145deg,rgba(255,250,251,.96),rgba(255,242,246,.95));
  border:1px solid rgba(208,51,83,.18);box-shadow:0 18px 50px rgba(145,64,88,.07)
}
.profile54-eyebrow.danger{color:#c42f52}
.profile55-danger h2{margin:5px 0 8px;font-size:24px;letter-spacing:-.03em;color:#6f1730}
.profile55-danger p{margin:0;color:#76505d;line-height:1.58;font-size:13px}
.profile55-delete-form{display:grid;gap:9px}
.profile55-delete-form>label{font-size:12px;font-weight:900;color:#79243a}
.profile55-delete-form .portal-input{min-height:48px;border:1px solid rgba(190,48,78,.22);border-radius:12px;background:#fff;color:#32131b;padding:0 14px}
.profile55-delete-form .portal-input:focus{outline:3px solid rgba(210,49,83,.10);border-color:rgba(190,48,78,.45)}
.profile55-delete-btn{min-height:48px;border:0;border-radius:12px;background:linear-gradient(100deg,#c9254b,#e23b5c);color:#fff;font-weight:900;cursor:pointer;box-shadow:0 10px 24px rgba(191,37,73,.18)}
.profile55-delete-btn:hover{filter:brightness(.97)}
.profile55-delete-btn:disabled{opacity:.6;cursor:wait}
.profile55-danger .password-eye:hover{background:#fff0f3}

@media(max-width:980px){
  .profile55-danger{grid-template-columns:1fr}
}
@media(max-width:620px){
  .landing-v53 .v53-online-row>img{height:64px!important;max-height:64px!important;max-width:calc(100% - 82px)!important}
  .profile55-danger{padding:22px 17px;gap:20px}
}

/* =========================================================
   v56 - Connexion administration séparée, thème panel néon
   ========================================================= */
.admin-login-page-v56{
  margin:0!important;min-height:100vh!important;overflow-x:hidden!important;
  font-family:Inter,"Segoe UI",Arial,sans-serif!important;color:#eaf3ff!important;
  background:#071120!important;
}
.admin-login-page-v56::before{content:"";position:fixed;inset:0;z-index:-2;background:
  radial-gradient(circle at 13% 16%,rgba(17,123,255,.26),transparent 31%),
  radial-gradient(circle at 78% 12%,rgba(129,69,255,.20),transparent 27%),
  radial-gradient(circle at 82% 78%,rgba(32,216,120,.10),transparent 25%),
  linear-gradient(135deg,#050912 0%,#081a2f 55%,#06111f 100%)!important}
.admin-login-page-v56::after{content:"";position:fixed;inset:0;z-index:-1;opacity:.18;pointer-events:none;background-image:linear-gradient(rgba(99,156,234,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(99,156,234,.10) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.85),transparent 86%)}
.admin-login-shell-v56{width:min(1120px,calc(100% - 42px));min-height:100vh;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,440px);align-items:center;gap:72px;padding:54px 0}
.admin-login-brand-v56{padding:34px 20px 34px 8px}.admin-login-logo-v56{width:210px;height:92px;display:flex;align-items:center;margin-bottom:36px}.admin-login-logo-v56 img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center;filter:drop-shadow(0 8px 25px rgba(30,133,255,.25))}
.admin-login-kicker-v56{display:inline-flex;align-items:center;height:30px;padding:0 12px;border:1px solid rgba(48,145,255,.28);border-radius:999px;background:rgba(23,91,173,.16);color:#67b5ff;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.admin-login-brand-v56 h1{margin:18px 0 14px;font-size:54px;line-height:1.04;letter-spacing:-.045em;color:#f4f8ff}.admin-login-brand-v56 h1 strong{font-weight:850;background:linear-gradient(90deg,#48a8ff,#7f62ff 65%,#c56cff);-webkit-background-clip:text;background-clip:text;color:transparent}
.admin-login-brand-v56>p{max-width:610px;margin:0;color:#9fb1c9;font-size:17px;line-height:1.65}
.admin-login-pills-v56{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.admin-login-pills-v56 span{height:34px;display:inline-flex;align-items:center;padding:0 12px;border-radius:9px;background:rgba(13,32,58,.82);border:1px solid rgba(95,153,230,.17);color:#c7d8ee;font-size:12px;font-weight:750;box-shadow:inset 0 1px rgba(255,255,255,.04)}
.admin-login-security-v56{display:flex;gap:13px;align-items:center;margin-top:38px;padding:15px 16px;max-width:480px;border-radius:13px;background:rgba(8,25,45,.72);border:1px solid rgba(32,216,120,.20);box-shadow:inset 4px 0 0 #20d878}.admin-login-security-v56>span{font-size:22px}.admin-login-security-v56 b,.admin-login-security-v56 small{display:block}.admin-login-security-v56 b{color:#edf7ff;font-size:13px}.admin-login-security-v56 small{color:#7f97b6;margin-top:3px}
.admin-login-card-v56{position:relative;padding:30px;border-radius:18px;background:linear-gradient(145deg,rgba(15,34,60,.96),rgba(7,20,38,.96));border:1px solid rgba(99,156,234,.23);box-shadow:0 30px 90px rgba(0,0,0,.42),0 0 60px rgba(28,120,255,.08),inset 0 1px rgba(255,255,255,.06);overflow:hidden}.admin-login-card-v56::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#198cff,#7355ff,#d256ff)}
.admin-login-card-head-v56{display:flex;gap:14px;align-items:center;padding-bottom:22px;margin-bottom:24px;border-bottom:1px solid rgba(109,162,232,.14)}.admin-login-icon-v56{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#147fff,#6e52ff);color:#fff;font-size:22px;box-shadow:0 9px 28px rgba(46,107,255,.35)}.admin-login-card-head-v56 span{color:#6eaef8;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.12em}.admin-login-card-head-v56 h2{margin:3px 0 0;color:#fff;font-size:23px;letter-spacing:-.02em}
.admin-login-form-v56{display:grid;gap:9px}.admin-login-form-v56>label{margin-top:6px;color:#c6d4e6;font-size:12px;font-weight:800}.admin-login-field-v56{height:48px;display:grid;grid-template-columns:42px 1fr auto;align-items:center;border:1px solid rgba(109,162,232,.24);border-radius:11px;background:rgba(5,18,35,.78);transition:.18s ease;overflow:hidden}.admin-login-field-v56:focus-within{border-color:#338fff;box-shadow:0 0 0 3px rgba(39,137,255,.12),0 0 28px rgba(26,122,255,.10)}.admin-login-field-v56>span{display:grid;place-items:center;color:#6c92c0}.admin-login-field-v56 input{min-width:0;height:100%;border:0;outline:0;background:transparent;color:#f0f6ff;font:600 14px Inter,"Segoe UI",Arial,sans-serif;padding:0 8px}.admin-login-field-v56 input::placeholder{color:#57708f}.admin-login-field-v56 button{width:42px;height:100%;border:0;background:transparent;color:#7da4d0;font-size:17px;cursor:pointer}.admin-login-field-v56 button:hover{color:#fff;background:rgba(52,133,237,.12)}
.admin-login-error-v56{min-height:22px;padding-top:6px;color:#64dca0;font-size:12px;font-weight:750}.admin-login-error-v56.is-error{color:#ff7e8c}.admin-login-submit-v56{height:48px;margin-top:5px;border:0;border-radius:11px;display:flex;align-items:center;justify-content:center;gap:12px;color:#fff;font:800 14px Inter,"Segoe UI",Arial,sans-serif;cursor:pointer;background:linear-gradient(135deg,#1689ff,#155be8 60%,#714fff);box-shadow:0 12px 30px rgba(22,100,238,.28);transition:transform .16s ease,filter .16s ease}.admin-login-submit-v56:hover{filter:brightness(1.09);transform:translateY(-1px)}.admin-login-submit-v56 b{font-size:20px;font-weight:400}.admin-login-footer-v56{margin-top:22px;padding-top:17px;border-top:1px solid rgba(109,162,232,.12);color:#7188a6;text-align:center;font-size:11px}
.admin-panel-page-v56{margin:0!important;min-height:100vh!important;background:#071120!important}.admin-panel-page-v56 #adminDashboard{margin:0!important}
@media(max-width:880px){.admin-login-shell-v56{grid-template-columns:1fr;gap:22px;padding:34px 0}.admin-login-brand-v56{text-align:center;padding:0}.admin-login-logo-v56{margin:0 auto 18px}.admin-login-brand-v56>p,.admin-login-security-v56{margin-left:auto;margin-right:auto}.admin-login-pills-v56{justify-content:center}.admin-login-brand-v56 h1{font-size:44px}.admin-login-card-v56{width:min(100%,520px);margin:0 auto}}
@media(max-width:520px){.admin-login-shell-v56{width:calc(100% - 24px)}.admin-login-card-v56{padding:22px}.admin-login-brand-v56 h1{font-size:36px}.admin-login-logo-v56{width:175px;height:74px}.admin-login-pills-v56{display:grid;grid-template-columns:1fr 1fr}.admin-login-pills-v56 span{justify-content:center}.admin-login-security-v56{text-align:left}}

/* ===== V57 - Espace membre fidèle à la maquette pastel ===== */
body.profile-v57{--p57-ink:#10172d;--p57-muted:#6f7895;--p57-purple:#6938f5;--p57-blue:#2877ff;--p57-green:#14bf73;--p57-line:#e9edf7;--p57-shadow:0 12px 34px rgba(63,73,132,.08);margin:0;min-height:100vh;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--p57-ink);background:radial-gradient(circle at 18% 24%,rgba(241,214,255,.45),transparent 26%),radial-gradient(circle at 78% 13%,rgba(255,229,235,.55),transparent 30%),linear-gradient(180deg,#fff 0,#fbfaff 10%,#f8fbff 100%)}
body.profile-v57 *{box-sizing:border-box}.profile-v57 button,.profile-v57 input,.profile-v57 select{font:inherit}.hidden{display:none!important}
.profile57-topbar{height:88px;width:100%;display:grid;grid-template-columns:190px 1fr auto;align-items:center;padding:0 42px;border-bottom:1px solid rgba(67,81,128,.05);background:rgba(255,255,255,.92);backdrop-filter:blur(15px);position:sticky;top:0;z-index:20}.profile57-brand{display:flex;align-items:center;width:122px}.profile57-brand img{display:block;width:120px;height:auto;background:transparent}.profile57-topnav{display:flex;justify-content:center;gap:48px}.profile57-topnav a,.profile57-topnav button{border:0;background:transparent;color:#17203b;text-decoration:none;font-weight:700;cursor:pointer;padding:10px 2px}.profile57-topnav a:hover,.profile57-topnav button:hover{color:#5f3cf3}.profile57-topactions{display:flex;align-items:center;gap:10px}.profile57-round-btn{width:42px;height:42px;border:1px solid #edf0f8;border-radius:50%;background:#fff;color:#29324d;cursor:pointer;position:relative}.profile57-notification-badge{position:absolute;right:-3px;top:-4px;min-width:18px;height:18px;border-radius:999px;padding:0 5px;background:#ff496e;color:#fff;font-size:10px;font-weight:900;display:grid;place-items:center;border:2px solid #fff}.profile57-mini-account{height:46px;border:0;background:transparent;display:flex;align-items:center;gap:9px;color:#151c32;cursor:pointer;padding:0 4px}.profile57-mini-account strong{font-size:14px}.profile57-avatar{display:grid;place-items:center;border-radius:50%;font-weight:900;color:#244061;background:linear-gradient(145deg,#eef4ff,#e4ecfb);box-shadow:inset 0 0 0 1px rgba(56,76,130,.06);overflow:hidden}.profile57-avatar-xs{width:34px;height:34px;font-size:13px}.profile57-avatar-lg{width:74px;height:74px;font-size:25px}.profile57-avatar-xl{width:98px;height:98px;font-size:34px;margin:12px auto}.profile57-avatar[data-sex="F"]{background:linear-gradient(145deg,#ffe8f3,#f4e7ff);color:#a43f75}.profile57-avatar[data-sex="H"]{background:linear-gradient(145deg,#e5f1ff,#dbe9ff);color:#1f61ad}.profile57-avatar[data-sex="A"]{background:linear-gradient(145deg,#fff2d8,#f2e9ff);color:#77549d}
.profile57-shell{width:min(1540px,calc(100% - 48px));margin:26px auto 26px;display:grid;grid-template-columns:250px minmax(0,1fr);gap:30px}.profile57-sidebar{background:rgba(255,255,255,.93);border:1px solid var(--p57-line);border-radius:20px;box-shadow:var(--p57-shadow);padding:20px;min-height:760px;display:flex;flex-direction:column}.profile57-id-card{padding:2px 2px 20px}.profile57-id-top{display:flex;align-items:center;gap:13px}.profile57-id-top h2{font-size:24px;margin:0 0 3px;letter-spacing:-.03em}.profile57-online{font-size:12px;color:#0bb665;font-weight:800}.profile57-meta{display:flex;align-items:center;gap:9px;margin-top:13px;color:#34405e;font-size:13px}.profile57-meta>span:first-child{width:18px;color:#334779}.profile57-launch{width:100%;height:48px;margin-top:20px;border:0;border-radius:11px;color:#fff;font-weight:850;background:linear-gradient(100deg,#5b2ff7,#984cfa);box-shadow:0 12px 24px rgba(104,55,245,.20);cursor:pointer}.profile57-menu{display:grid;gap:6px;border-top:1px solid #f0f2f8;padding-top:13px}.profile57-menu button{min-height:45px;border:0;border-radius:10px;background:transparent;color:#26304d;text-align:left;padding:0 13px;display:flex;align-items:center;gap:11px;font-weight:700;cursor:pointer}.profile57-menu button>span{width:18px;text-align:center;color:#314777}.profile57-menu button:hover,.profile57-menu button.active{background:#f1eeff;color:#5936ef}.profile57-menu button.active>span{color:#5936ef}.profile57-menu-badge{font-style:normal;margin-left:auto;background:#ffdce6;color:#ff3c69;border-radius:999px;min-width:21px;height:21px;padding:0 6px;display:grid;place-items:center;font-size:11px;font-weight:900}.profile57-logout{margin-top:auto;width:100%;height:44px;border:0;border-radius:10px;background:#fff0f3;color:#fb315e;font-weight:800;cursor:pointer}.profile57-content{min-width:0;padding:6px 6px 0}.profile57-section{display:none}.profile57-section.active{display:block}.profile57-pagehead{min-height:72px;display:flex;align-items:flex-start;justify-content:space-between;margin:0 0 18px}.profile57-pagehead h1{font-size:30px;line-height:1.15;margin:0 0 8px;letter-spacing:-.04em}.profile57-pagehead p{margin:0;color:var(--p57-muted);font-size:14px}
.profile57-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:20px}.profile57-stats article{min-height:142px;background:#fff;border:1px solid var(--p57-line);border-radius:17px;box-shadow:var(--p57-shadow);padding:20px 22px;display:flex;flex-direction:column;justify-content:center}.profile57-stat-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;margin-bottom:10px;font-size:22px;font-weight:900}.profile57-stat-icon.blue{background:#e9f2ff;color:#2378f7}.profile57-stat-icon.green{background:#e6fbf1;color:#10b66b}.profile57-stat-icon.pink{background:#ffe9f2;color:#ef397d}.profile57-stat-icon.orange{background:#fff3df;color:#f6a100}.profile57-stats strong{font-size:28px;line-height:1;margin-bottom:6px}.profile57-stats small{color:#24304e;font-size:13px}.profile57-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.8fr);gap:20px}.profile57-stack{display:grid;gap:20px}.profile57-card{background:#fff;border:1px solid var(--p57-line);border-radius:17px;box-shadow:var(--p57-shadow);padding:20px}.profile57-card-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.profile57-card-title h2{font-size:18px;margin:0}.profile57-card-title button{border:0;background:transparent;color:#5d3df2;font-weight:800;font-size:12px;cursor:pointer}.profile57-online-friends{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.profile57-friend-chip{text-align:center;min-width:0}.profile57-friend-avatar{width:62px;height:62px;margin:0 auto 8px;position:relative}.profile57-friend-avatar:after{content:"";position:absolute;right:2px;top:2px;width:11px;height:11px;border-radius:50%;background:#21c979;border:3px solid #fff}.profile57-friend-chip strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile57-friend-chip small{display:block;margin-top:3px;color:#727d99;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile57-empty{text-align:center;padding:24px 12px;color:#838ca4;font-size:13px}.profile57-room-list{display:grid}.profile57-room-row{display:grid;grid-template-columns:35px 1fr auto;align-items:center;gap:10px;min-height:52px;border-top:1px solid #f0f2f8}.profile57-room-row:first-child{border-top:0}.profile57-room-row .icon{font-size:22px}.profile57-room-row strong{display:block;font-size:13px}.profile57-room-row small{display:block;color:#6f7b99;font-size:11px;margin-top:2px}.profile57-room-row button{border:0;background:transparent;color:#613cf6;font-size:21px;cursor:pointer}.profile57-activity-card{min-height:100%}.profile57-activity-list{display:grid;gap:2px}.profile57-activity-item{display:grid;grid-template-columns:42px 1fr;gap:11px;padding:12px 2px;border-bottom:1px solid #f0f2f7}.profile57-activity-item:last-child{border-bottom:0}.profile57-activity-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#f1f4fb;font-size:18px}.profile57-activity-item p{margin:0;color:#26314f;font-size:12px;line-height:1.45}.profile57-activity-item time{display:block;margin-top:4px;color:#7e879f;font-size:10px}
.profile57-profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:20px;align-items:start}.profile57-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}.profile57-form label,.profile57-security-form label,.profile57-danger-card label{display:grid;gap:7px;color:#2c3654;font-size:12px;font-weight:800}.profile57-form .full{grid-column:1/-1}.profile57-input,.profile57-security-form input,.profile57-danger-card input{width:100%;height:44px;border:1px solid #e5e9f4;border-radius:9px;background:#fff;padding:0 12px;color:#18213b;outline:none}.profile57-input:focus,.profile57-security-form input:focus,.profile57-danger-card input:focus{border-color:#8a69f8;box-shadow:0 0 0 3px rgba(105,56,245,.08)}.profile57-input:disabled{background:#f6f7fb;color:#707a94}.profile57-form-actions{padding-top:4px}.profile57-primary{height:44px;padding:0 20px;border:0;border-radius:9px;background:linear-gradient(100deg,#5931f5,#9146f3);color:#fff;font-weight:850;cursor:pointer;box-shadow:0 9px 20px rgba(94,53,240,.18)}.profile57-photo-card{text-align:center}.profile57-photo-card h3{margin:0 0 8px;font-size:13px;text-align:left}.profile57-photo-card p{color:#7c859d;font-size:11px;margin:4px 0 0}.profile57-search{height:44px;border:1px solid #e5e9f4;border-radius:10px;display:flex;align-items:center;gap:8px;padding:0 12px;margin-bottom:12px}.profile57-search input{border:0;outline:0;flex:1;min-width:0}.profile57-friends-table,.profile57-request-list{display:grid}.profile57-friend-row,.profile57-request-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:60px;border-top:1px solid #f0f2f7}.profile57-friend-row:first-child,.profile57-request-row:first-child{border-top:0}.profile57-friend-row .profile57-avatar,.profile57-request-row .profile57-avatar{width:34px;height:34px;font-size:12px}.profile57-friend-main strong,.profile57-request-main strong{display:block;font-size:12px}.profile57-friend-main small,.profile57-request-main small{display:block;color:#7d869f;font-size:10px;margin-top:3px}.profile57-status{font-size:10px;color:#12b96c;font-weight:850}.profile57-status.offline{color:#4380e8}.profile57-small-btn{height:32px;padding:0 16px;border:1px solid #ddd8fd;border-radius:8px;background:#fff;color:#5d3af0;font-size:11px;font-weight:800;cursor:pointer}.profile57-small-btn.primary{background:#6841f3;color:#fff;border-color:#6841f3}.profile57-small-btn.danger{color:#ef476d;border-color:#ffd0da}.profile57-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.profile57-rooms-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.profile57-room-tile{min-height:90px;border:1px solid #edf0f7;border-radius:13px;padding:16px;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;background:#fbfcff}.profile57-room-tile .icon{width:46px;height:46px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:24px}.profile57-room-tile strong{display:block}.profile57-room-tile small{display:block;color:#73809c;margin-top:4px}.profile57-room-tile button{border:0;background:#6840f3;color:#fff;border-radius:8px;padding:8px 11px;font-size:11px;font-weight:800;cursor:pointer}
.profile57-security-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:20px}.profile57-password-card h2,.profile57-danger-card h2{font-size:17px;margin:0 0 18px}.profile57-security-form{display:grid;gap:15px}.profile57-password-wrap{display:flex;position:relative}.profile57-password-wrap input{padding-right:44px}.profile57-password-wrap button{position:absolute;right:4px;top:4px;width:36px;height:36px;border:0;background:transparent;cursor:pointer}.profile57-security-side{display:grid;gap:14px}.profile57-danger-card{border:1px solid #ffd9df;border-radius:17px;background:linear-gradient(145deg,#fff5f6,#fff0f3);padding:20px;box-shadow:var(--p57-shadow)}.profile57-danger-card p{font-size:12px;line-height:1.5;color:#6a5360;margin:0 0 15px}.profile57-danger-card p strong{color:#e8375d}.profile57-delete{height:40px;margin-top:13px;border:0;border-radius:9px;background:#ff4c70;color:#fff;font-weight:850;padding:0 15px;cursor:pointer}.profile57-help-card{border:1px solid var(--p57-line);border-radius:17px;background:#fff;padding:18px;box-shadow:var(--p57-shadow)}.profile57-help-card h3{margin:0 0 6px}.profile57-help-card p{margin:0 0 10px;color:#75809b;font-size:11px;line-height:1.45}.profile57-help-card div{display:flex;gap:8px;flex-wrap:wrap}.profile57-help-card a{padding:7px 10px;border:1px solid #ded8fb;border-radius:8px;text-decoration:none;color:#6541ef;font-size:10px;font-weight:800}.profile57-quote{min-height:64px;margin-top:20px;border:1px solid #eef0f7;border-radius:15px;background:rgba(255,255,255,.88);display:flex;align-items:center;gap:16px;padding:0 22px;color:#58637f;box-shadow:0 10px 28px rgba(63,73,132,.05)}.profile57-quote>span:first-child{color:#ef4886;font-size:22px}.profile57-quote p{flex:1;margin:0;font-size:12px;font-style:italic}.profile57-quote em{font-size:11px;white-space:nowrap}.profile57-quote>span:last-child{color:#6842ef;font-size:22px}
@media(max-width:1120px){.profile57-topbar{padding:0 22px;grid-template-columns:150px 1fr auto}.profile57-topnav{gap:24px}.profile57-shell{grid-template-columns:220px minmax(0,1fr)}.profile57-stats{grid-template-columns:repeat(2,1fr)}.profile57-dashboard-grid{grid-template-columns:1fr}.profile57-profile-layout,.profile57-security-grid{grid-template-columns:1fr}.profile57-photo-card{display:none}}
@media(max-width:820px){.profile57-topnav{display:none}.profile57-topbar{grid-template-columns:1fr auto}.profile57-shell{display:block;width:calc(100% - 24px)}.profile57-sidebar{min-height:0;margin-bottom:18px}.profile57-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.profile57-logout{margin-top:14px}.profile57-online-friends{grid-template-columns:repeat(2,1fr)}.profile57-two-col,.profile57-rooms-grid{grid-template-columns:1fr}}
@media(max-width:560px){.profile57-topbar{height:72px;padding:0 14px}.profile57-brand img{width:94px}.profile57-round-btn{display:none}.profile57-mini-account strong{display:none}.profile57-shell{margin-top:14px}.profile57-sidebar{padding:15px}.profile57-menu{grid-template-columns:1fr}.profile57-stats{grid-template-columns:1fr 1fr;gap:10px}.profile57-stats article{min-height:115px;padding:14px}.profile57-pagehead h1{font-size:26px}.profile57-form{grid-template-columns:1fr}.profile57-form .full{grid-column:1}.profile57-friend-row,.profile57-request-row{grid-template-columns:36px 1fr auto}.profile57-status{display:none}.profile57-quote em{display:none}}

/* ===== V58 — espace membre : thème, avatars, amis et footer ===== */
.v53-about{max-width:1310px;margin:18px auto 0;padding:22px 28px;border:1px solid #eef0f7;border-radius:18px;background:rgba(255,255,255,.88);box-shadow:0 10px 28px rgba(63,73,132,.05);text-align:center}.v53-about h2{margin:0 0 8px;font-size:18px;color:#1b2440}.v53-about p{max-width:850px;margin:0 auto;color:#707b98;font-size:13px;line-height:1.65}.v53-footer{gap:24px;flex-wrap:wrap}.v53-footer a{white-space:nowrap}
body.landing-v53.soft-dark .v53-about{background:rgba(20,29,51,.95);border-color:rgba(144,163,220,.12)}body.landing-v53.soft-dark .v53-about h2{color:#eef3ff}body.landing-v53.soft-dark .v53-about p{color:#aab7d1}body.landing-v53.soft-dark .v53-footer{color:#aab7d1}body.landing-v53.soft-dark .v53-footer a{color:#c5d0e8}

.profile57-avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}.profile57-avatar-grid{display:grid;grid-template-columns:repeat(5,44px);justify-content:center;gap:9px;margin-top:14px}.profile57-avatar-choice{width:44px;height:44px;padding:0;border:2px solid transparent;border-radius:50%;background:#f4f6fb;overflow:hidden;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.profile57-avatar-choice:hover{transform:translateY(-2px);box-shadow:0 7px 16px rgba(91,61,225,.16)}.profile57-avatar-choice.selected{border-color:#6740f4;box-shadow:0 0 0 3px rgba(103,64,244,.13)}.profile57-avatar-choice img{width:100%;height:100%;object-fit:cover;display:block}.profile57-avatar-help{line-height:1.45!important;margin-top:8px!important}.profile57-row-actions{display:flex;align-items:center;gap:8px}.profile57-friend-row{grid-template-columns:42px minmax(0,1fr) auto auto}.profile57-request-row{grid-template-columns:42px minmax(0,1fr) auto auto}.profile57-footer-links{min-height:56px;margin:12px 0 4px;padding:0 8px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#7a849f;font-size:11px}.profile57-footer-links nav{display:flex;align-items:center;gap:18px}.profile57-footer-links a{color:#5a6380;text-decoration:none}.profile57-footer-links a:hover{color:#6540f2}.profile57-logout{justify-content:center}.profile57-photo-card{min-width:0}.profile57-round-btn{font-size:18px;transition:background .2s ease,color .2s ease,border-color .2s ease}

body.profile-v57.soft-dark{--p57-ink:#edf2ff;--p57-muted:#a9b5cf;--p57-line:rgba(141,159,205,.14);--p57-shadow:0 14px 34px rgba(0,0,0,.24);background:radial-gradient(circle at 16% 20%,rgba(107,62,246,.12),transparent 28%),radial-gradient(circle at 80% 10%,rgba(227,83,152,.08),transparent 28%),linear-gradient(180deg,#0d1425 0,#11192c 46%,#151d31 100%);color:var(--p57-ink)}body.profile-v57.soft-dark .profile57-topbar{background:rgba(13,20,37,.92);border-color:rgba(139,155,205,.12)}body.profile-v57.soft-dark .profile57-topnav a,body.profile-v57.soft-dark .profile57-topnav button,body.profile-v57.soft-dark .profile57-mini-account{color:#edf2ff}body.profile-v57.soft-dark .profile57-round-btn{background:#18223a;border-color:rgba(142,159,208,.16);color:#f6f8ff}body.profile-v57.soft-dark .profile57-sidebar,body.profile-v57.soft-dark .profile57-card,body.profile-v57.soft-dark .profile57-help-card,body.profile-v57.soft-dark .profile57-quote{background:rgba(20,29,50,.94);border-color:rgba(142,159,208,.12);box-shadow:var(--p57-shadow)}body.profile-v57.soft-dark .profile57-stats article{background:rgba(20,29,50,.94);border-color:rgba(142,159,208,.12);box-shadow:var(--p57-shadow)}body.profile-v57.soft-dark .profile57-pagehead h1,body.profile-v57.soft-dark .profile57-card-title h2,body.profile-v57.soft-dark .profile57-password-card h2,body.profile-v57.soft-dark .profile57-help-card h3,body.profile-v57.soft-dark .profile57-id-card h2,body.profile-v57.soft-dark .profile57-stats strong,body.profile-v57.soft-dark .profile57-stats small,body.profile-v57.soft-dark .profile57-friend-main strong,body.profile-v57.soft-dark .profile57-request-main strong,body.profile-v57.soft-dark .profile57-room-row strong,body.profile-v57.soft-dark .profile57-room-tile strong{color:#f0f4ff}body.profile-v57.soft-dark .profile57-pagehead p,body.profile-v57.soft-dark .profile57-photo-card p,body.profile-v57.soft-dark .profile57-room-row small,body.profile-v57.soft-dark .profile57-room-tile small,body.profile-v57.soft-dark .profile57-friend-main small,body.profile-v57.soft-dark .profile57-request-main small,body.profile-v57.soft-dark .profile57-activity-item time,body.profile-v57.soft-dark .profile57-help-card p{color:#a9b5cf}body.profile-v57.soft-dark .profile57-activity-item p{color:#dce3f5}body.profile-v57.soft-dark .profile57-menu button{color:#c7d0e6}body.profile-v57.soft-dark .profile57-menu button:hover,body.profile-v57.soft-dark .profile57-menu button.active{background:rgba(105,56,245,.17);color:#a991ff}body.profile-v57.soft-dark .profile57-input,body.profile-v57.soft-dark .profile57-security-form input,body.profile-v57.soft-dark .profile57-danger-card input,body.profile-v57.soft-dark .profile57-search{background:#151f36;border-color:rgba(142,159,208,.18);color:#eef3ff}body.profile-v57.soft-dark .profile57-search input{background:transparent;color:#eef3ff}body.profile-v57.soft-dark .profile57-form label,body.profile-v57.soft-dark .profile57-security-form label,body.profile-v57.soft-dark .profile57-danger-card label{color:#cbd4e9}body.profile-v57.soft-dark .profile57-input:disabled{background:#111a2d;color:#8f9ab4}body.profile-v57.soft-dark .profile57-room-row,body.profile-v57.soft-dark .profile57-activity-item,body.profile-v57.soft-dark .profile57-friend-row,body.profile-v57.soft-dark .profile57-request-row{border-color:rgba(142,159,208,.10)}body.profile-v57.soft-dark .profile57-room-tile{background:#151f36;border-color:rgba(142,159,208,.12)}body.profile-v57.soft-dark .profile57-room-tile .icon{background:#1b2844}body.profile-v57.soft-dark .profile57-small-btn{background:#18233d;border-color:rgba(139,116,246,.32);color:#b6a5ff}body.profile-v57.soft-dark .profile57-small-btn.danger{color:#ff8aa3;border-color:rgba(255,105,136,.25)}body.profile-v57.soft-dark .profile57-danger-card{background:linear-gradient(145deg,rgba(83,29,46,.72),rgba(55,25,41,.84));border-color:rgba(255,104,137,.25)}body.profile-v57.soft-dark .profile57-footer-links{color:#8f9bb8}body.profile-v57.soft-dark .profile57-footer-links a{color:#aeb9d2}body.profile-v57.soft-dark .profile57-avatar-choice{background:#1a2540}body.profile-v57.soft-dark .profile57-avatar-choice.selected{border-color:#9d85ff;box-shadow:0 0 0 3px rgba(157,133,255,.14)}

@media(max-width:1120px){.profile57-photo-card{display:block!important}.profile57-avatar-grid{grid-template-columns:repeat(10,40px)}.profile57-avatar-choice{width:40px;height:40px}}
@media(max-width:720px){.profile57-avatar-grid{grid-template-columns:repeat(5,42px)}.profile57-row-actions{flex-wrap:wrap;justify-content:flex-end}.profile57-footer-links{align-items:flex-start;flex-direction:column;padding:12px 6px}.profile57-footer-links nav{gap:12px;flex-wrap:wrap}}
@media(max-width:560px){.profile57-friend-row,.profile57-request-row{grid-template-columns:36px 1fr}.profile57-row-actions,.profile57-request-row>.profile57-status,.profile57-request-row>.profile57-small-btn{grid-column:2;justify-self:start}.profile57-avatar-grid{grid-template-columns:repeat(4,44px)}}

/* v59 — galerie avatars étendue */
.profile57-avatar-filters{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin:13px 0 10px}.profile57-avatar-filters button{border:1px solid #ddd8fb;background:#fff;color:#625979;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:700;cursor:pointer;transition:.16s ease}.profile57-avatar-filters button:hover{border-color:#8f73f8;color:#6540f2;transform:translateY(-1px)}.profile57-avatar-filters button.active{background:linear-gradient(135deg,#6840f4,#a646f2);border-color:transparent;color:#fff;box-shadow:0 6px 16px rgba(103,64,244,.18)}
.profile57-avatar-grid{grid-template-columns:repeat(6,44px);max-height:225px;overflow-y:auto;padding:4px 5px 7px;scrollbar-width:thin;scrollbar-color:#c9bdf7 transparent}.profile57-avatar-choice img{object-fit:cover}.profile57-avatar-choice[data-avatar-key^="fun-"]{background:#fff;border-color:#ece8fa}.profile57-avatar-choice[data-avatar-key^="fun-"] img{transform:scale(1.04)}
body.profile-v57.soft-dark .profile57-avatar-filters button{background:#162039;border-color:rgba(150,158,204,.2);color:#c9d2e6}body.profile-v57.soft-dark .profile57-avatar-filters button.active{background:linear-gradient(135deg,#7350ff,#b04cf2);color:#fff;border-color:transparent}body.profile-v57.soft-dark .profile57-avatar-choice[data-avatar-key^="fun-"]{background:#10192d;border-color:rgba(150,158,204,.18)}
@media(max-width:1120px){.profile57-avatar-grid{grid-template-columns:repeat(6,40px)}}@media(max-width:720px){.profile57-avatar-grid{grid-template-columns:repeat(5,42px);max-height:250px}}@media(max-width:560px){.profile57-avatar-grid{grid-template-columns:repeat(4,44px)}}


/* V60: avatars vraiment centres, cellules carrees sans rognage. */
.profile57-avatar-choice{display:grid!important;place-items:center!important;aspect-ratio:1 / 1;overflow:visible!important;padding:2px!important;box-sizing:border-box!important;line-height:0!important;}
.profile57-avatar-choice img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center center!important;border-radius:50%!important;transform:none!important;margin:auto!important;}
.profile57-avatar-choice[data-avatar-key^="fun-"] img{transform:none!important;}
.profile57-avatar img{object-fit:contain!important;object-position:center center!important;}
.profile57-avatar-grid{justify-items:center!important;align-items:center!important;grid-auto-rows:44px!important;overflow-x:hidden!important;}
@media(max-width:1120px){.profile57-avatar-grid{grid-auto-rows:40px!important}}
@media(max-width:720px){.profile57-avatar-grid{grid-auto-rows:42px!important}}
@media(max-width:560px){.profile57-avatar-grid{grid-auto-rows:44px!important}}

/* V60: colonne de membres calee sur la hauteur du dialogue; defilement a l'interieur. */
#app.chat-tab-active .right-area, #adminApp.chat-tab-active .right-area{display:flex!important; flex-direction:column!important; min-height:0!important; min-width:0!important; overflow:hidden!important;}
#app.chat-tab-active #side-members.active, #adminApp.chat-tab-active #side-admin-members.active{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;min-height:0!important;overflow:hidden!important;}
#app.chat-tab-active #side-members>fieldset,#adminApp.chat-tab-active #side-admin-members>fieldset{height:var(--asv-side-fieldset-height,548px)!important;min-height:0!important;max-height:calc(100% - var(--asv-side-reserve,126px))!important;flex:0 1 auto!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;padding:8px!important;}
#app.chat-tab-active #membersList,#adminApp.chat-tab-active #adminMembersList{height:auto!important;min-height:0!important;max-height:none!important;flex:1 1 auto!important;overflow-y:auto!important;overflow-x:hidden!important;}
#app.chat-tab-active .members-info,#adminApp.chat-tab-active .members-info{flex:0 0 auto!important;padding:5px 4px!important;}
#app.chat-tab-active .sort-line,#adminApp.chat-tab-active .sort-line{flex:0 0 auto!important;padding:3px 4px 5px!important;}
#app.chat-tab-active .side-actions,#adminApp.chat-tab-active .side-actions{flex:0 0 auto!important;}
#app.chat-tab-active #side-smileys,#adminApp.chat-tab-active #side-admin-smileys{height:100%!important;min-height:0!important;overflow:hidden!important;}
#app.chat-tab-active #side-smileys>fieldset,#adminApp.chat-tab-active #side-admin-smileys>fieldset{height:100%!important;display:flex!important;min-height:0!important;flex-direction:column!important;overflow:hidden!important;}
#app.chat-tab-active .smileys-grid,#adminApp.chat-tab-active .smileys-grid{flex:1 1 auto!important;min-height:0!important;height:auto!important;overflow-y:auto!important;}
#adminApp.chat-tab-active #adminExpelBtn:not(.hidden){grid-column:2!important;display:block!important;}
#adminApp.chat-tab-active #adminSuperIgnoreBtn{grid-column:1!important;}
.smiley-group-heading{font-size:11px;font-weight:800;color:#113a86;margin:10px 0 5px;padding:0 0 4px;border-bottom:1px solid #dfe4f3;}
.smiley-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;}
.smiley-group-grid .smiley{width:auto!important;min-width:0!important;height:32px!important;margin:0!important;padding:2px!important;display:flex!important;justify-content:center!important;gap:3px!important;}
.smiley-group-grid .smiley span{font-size:18px;line-height:1;}
.smiley-group-grid .smiley code{font-size:9px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:37px;}

/* Une seule colonne secondaire visible a la fois ; pas de chevauchement smileys/membres. */
#app .right-area .side-page:not(.active), #adminApp .right-area .side-page:not(.active){display:none!important;}
#app .right-area .side-tabs,#adminApp .right-area .side-tabs{flex:0 0 30px!important;}
