/* Console super-admin : tout en modules, comme le reste de la plateforme */
body.pf { margin: 0; background: #F5F4F8; font-family: -apple-system, "SF Pro Text", "Helvetica Neue", "Segoe UI", sans-serif; color: #17151C; }
.pf-wrap { display: flex; min-height: 100vh; }
.pf-side { width: 240px; flex-shrink: 0; background: #17151C; color: #fff; padding: 24px 14px; display: flex; flex-direction: column; gap: 6px; }
.pf-side b { font-size: 21px; padding: 4px 12px 2px; } .pf-side small { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #A9A4B6; padding: 0 12px 16px; }
.pf-side a { color: #CFCBD9; text-decoration: none; padding: 11px 12px; border-radius: 12px; font-weight: 600; } .pf-side a.on { background: #2E2B36; color: #fff; }
.pf-side .out { margin-top: auto; background: none; border: 0; color: #A9A4B6; font: inherit; text-align: left; padding: 11px 12px; cursor: pointer; }
.pf-main { flex: 1; min-width: 0; padding: 34px 40px 60px; display: flex; flex-direction: column; gap: 22px; }
.pf-main h1 { margin: 0; font-size: 34px; letter-spacing: -.035em; } .pf-sub { color: #5F5C69; font-size: 16px; margin-top: -14px; }
.pf-hello { display: flex; gap: 18px; align-items: center; padding: 22px 26px; border-radius: 26px; background: linear-gradient(120deg,#3D0377,#7B3FF2); color: #fff; flex-wrap: wrap; }
.pf-hello b { font-size: 24px; } .pf-hello span { opacity: .85; }
.pf-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 18px; }
.pf-tile { display: flex; flex-direction: column; gap: 12px; padding: 22px; border-radius: 24px; background: #fff; box-shadow: 0 10px 30px rgba(30,10,60,.08); border: 0; text-align: left; font: inherit; color: inherit; cursor: pointer; text-decoration: none; }
.pf-tile:hover { box-shadow: 0 16px 36px rgba(30,10,60,.13); }
.pf-ini { width: 56px; height: 56px; border-radius: 18px; color: #fff; font-size: 20px; font-weight: 800; display: flex; align-items: center; justify-content: center; }
.pf-tile b { font-size: 20px; } .pf-tile .m { font-size: 14px; color: #5F5C69; }
.pf-new { align-items: center; justify-content: center; min-height: 210px; border: 3px dashed #C9C4D4; background: transparent; box-shadow: none; color: #3D0377; font-weight: 800; font-size: 18px; }
.pf-plus { width: 56px; height: 56px; border-radius: 50%; background: #3D0377; color: #fff; font-size: 30px; display: flex; align-items: center; justify-content: center; }
.pf-card { padding: 24px; border-radius: 24px; background: #fff; box-shadow: 0 10px 30px rgba(30,10,60,.08); display: flex; flex-direction: column; gap: 16px; }
.pf-row { display: flex; gap: 14px; flex-wrap: wrap; } .pf-row label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; color: #5F5C69; flex: 1 1 220px; }
.pf-row input, .pf-row select { padding: 12px 13px; border-radius: 12px; border: 1px solid #DCD8E4; font: inherit; font-size: 15px; color: #17151C; background: #fff; }
.pf-btn { padding: 12px 18px; border-radius: 999px; border: 0; background: #3D0377; color: #fff; font: inherit; font-weight: 700; cursor: pointer; } .pf-btn.ghost { background: #EDE7F8; color: #3D0377; }
.pf-mods { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; }
.pf-mod { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 14px; background: #F5F4F8; font-weight: 600; cursor: pointer; }
.pf-mod input { width: 18px; height: 18px; accent-color: #3D0377; } .pf-mod small { color: #8C8996; font-weight: 500; margin-left: auto; }
.pf-ok { padding: 16px 18px; border-radius: 16px; background: #E3F2E8; color: #1B6B3A; word-break: break-all; }
.pf-err { color: #A11B1B; } .pf-chip { padding: 5px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; background: #E3F2E8; color: #1B6B3A; align-self: flex-start; } .pf-chip.off { background: #FDE7E7; color: #A11B1B; }
.pf-login { max-width: 420px; margin: 12vh auto; } .pf-login .pf-card { gap: 14px; }
.pf-big { font-size: 24px; } .pf-note { font-size: 13px; color: #8C8996; } .pf-wave { font-size: 40px; } .pf-hello-t { flex: 1 1 300px; display: flex; flex-direction: column; gap: 4px; }
.pf-start { align-self: flex-start; } .pf-pad { padding: 40px; } .m { color: #5F5C69; }
.pf-alert { display: flex; flex-direction: column; gap: 4px; align-items: flex-start; padding: 16px 20px; border-radius: 18px; border: 0; background: #FDE7E7; color: #8A1C1C; font: inherit; text-align: left; cursor: pointer; } .pf-alert b { font-size: 16px; }
.pf-chip.warn { background: #FFF1E0; color: #8A4B00; }
.pf-adm { display: flex; flex-direction: column; gap: 8px; }
.pf-admr { display: flex; align-items: center; gap: 12px; padding: 12px; border-radius: 14px; background: #F5F4F8; flex-wrap: wrap; } .pf-admr > div { flex: 1 1 220px; display: flex; flex-direction: column; gap: 2px; }
.pf-ini.sm { width: 40px; height: 40px; border-radius: 12px; font-size: 14px; }

.pf-big { font-size: 30px; font-weight: 800; letter-spacing: -.03em; }

.pf-reg { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; } .pf-reg > div:nth-child(2) { flex: 1 1 200px; display: flex; flex-direction: column; gap: 2px; } .pf-reg b { font-size: 20px; }
.pf-flag { font-size: 34px; } .pf-coh { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.pf-doms { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.pf-dom { display: flex; flex-direction: column; gap: 6px; padding: 12px 14px; border-radius: 14px; background: #F5F4F8; }
.pf-bar { display: inline-block; width: 140px; height: 8px; border-radius: 4px; background: #E6E3EC; overflow: hidden; vertical-align: middle; } .pf-bar i { display: block; height: 100%; background: #1E8E4E; border-radius: 4px; }
.pf-pct { font-size: 14px; margin-left: 8px; }

.pf-wm { display: inline-flex; align-items: center; gap: 10px; letter-spacing: -.03em; }
