/* Sorti de innerperf.php le 19/09/2026.
 *
 * Les feuilles etaient ecrites dans les pages, ce qui obligeait la
 * politique de securite a autoriser 'unsafe-inline' sur style-src : toute
 * injection de HTML devenait alors une injection de style. En fichier, le
 * navigateur peut les mettre en cache, et la politique peut se fermer.
 *
 * Deplace sans une modification : ce qui suit est le bloc d'origine. */

html,body{height:100%;overflow:hidden;}
.app{height:100vh;overflow:hidden;}
.main{height:100vh;min-height:0;overflow:hidden;display:flex;flex-direction:column;}
.ip-shell{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;}
.ip-page-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-8) 0;flex-shrink:0;gap:var(--space-3);flex-wrap:wrap;}
.ip-page-kicker{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--psg-gold-dark,#b8860b);margin-bottom:2px;}
.ip-page-title{font-size:1.5rem;font-weight:900;color:var(--psg-navy);margin:0;line-height:1.1;}
.ip-page-sub{font-size:.8rem;color:var(--grey-400);font-weight:600;margin-top:3px;}
.ip-content{flex:1;min-height:0;overflow-y:auto;padding:var(--space-5) var(--space-8);background:var(--grey-100);}
.ip-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.ip-preset{border:1px solid var(--grey-100);background:#fff;color:var(--grey-500);border-radius:8px;padding:7px 12px;font-size:.75rem;font-weight:800;cursor:pointer;white-space:nowrap;}
.ip-preset.active{background:var(--psg-navy);border-color:var(--psg-navy);color:#fff;}
.ip-controls input[type=date],.ip-controls select{height:34px;border:1px solid var(--grey-100);border-radius:8px;padding:0 8px;font-size:.78rem;font-weight:700;color:var(--grey-700);background:#fff;}
.ip-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);margin-bottom:var(--space-5);}
.ip-stat{background:#fff;border:1px solid #d9d9d9;border-radius:12px;padding:var(--space-4);position:relative;overflow:hidden;}
.ip-stat::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--sa,var(--psg-navy));opacity:.3;}
.ip-stat-label{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--grey-500);}
.ip-stat-value{font-size:1.5rem;font-weight:800;color:var(--psg-navy);margin-top:5px;}
.ip-table{width:100%;border-collapse:collapse;font-size:.875rem;}
.ip-table th{padding:10px 14px;font-weight:800;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--grey-500);border-bottom:2px solid var(--grey-100);text-align:left;white-space:nowrap;}
.ip-table td{padding:10px 14px;border-bottom:1px solid var(--grey-50);vertical-align:middle;color:var(--grey-700);font-weight:600;}
.ip-table tbody tr.ip-user-row{cursor:pointer;}
.ip-table tbody tr.ip-user-row:hover{background:var(--grey-50);}
.ip-score{display:inline-flex;align-items:center;background:var(--psg-navy);color:#fff;border-radius:999px;padding:3px 12px;font-size:.8rem;font-weight:800;}
.ip-chip{display:inline-flex;align-items:center;gap:4px;border-radius:6px;padding:2px 7px;font-size:.66rem;font-weight:800;margin:1px 2px 1px 0;white-space:nowrap;background:var(--grey-100);color:var(--grey-600);}
.ip-chip .dot{width:7px;height:7px;border-radius:50%;background:var(--c,#94a3b8);}
.ip-detail{background:var(--grey-50);}
.ip-detail-inner{padding:8px 14px 16px;}
.ip-days{width:100%;border-collapse:collapse;font-size:.8rem;background:#fff;border:1px solid var(--grey-100);border-radius:8px;overflow:hidden;}
.ip-days th{padding:7px 10px;font-size:.62rem;text-transform:uppercase;letter-spacing:.04em;color:var(--grey-400);font-weight:800;border-bottom:1px solid var(--grey-100);text-align:left;}
.ip-days td{padding:7px 10px;border-bottom:1px solid var(--grey-50);font-weight:600;color:var(--grey-700);}
.ip-days tbody tr.ip-day-row{cursor:pointer;}
.ip-days tbody tr.ip-day-row:hover{background:var(--grey-50);}
.ip-timeline{background:var(--grey-50);padding:10px 12px;}
.ip-session{background:#fff;border:1px solid var(--grey-100);border-radius:8px;margin-bottom:8px;overflow:hidden;}
.ip-session-head{display:flex;align-items:center;gap:10px;padding:7px 12px;background:var(--grey-50);font-size:.74rem;font-weight:800;color:var(--psg-navy);}
.ip-session-items{font-size:.72rem;}
.ip-session-items .it{display:flex;align-items:center;gap:8px;padding:3px 12px;border-top:1px solid var(--grey-50);}
.ip-session-items .t{font-family:monospace;color:var(--grey-400);flex-shrink:0;}
.ip-session-items .m{font-family:monospace;font-weight:800;flex-shrink:0;width:60px;}
.ip-session-items .m.w{color:#166534;}
.ip-session-items .m.r{color:var(--grey-400);}
.ip-session-items .p{font-family:monospace;color:var(--grey-600);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ip-legend{margin-top:var(--space-5);background:#fff;border:1px solid #d9d9d9;border-radius:12px;padding:var(--space-4);font-size:.75rem;color:var(--grey-500);font-weight:600;line-height:1.6;}
.ip-legend strong{color:var(--psg-navy);}
.ip-empty{padding:60px;text-align:center;color:var(--grey-400);font-weight:700;}
.btn-mini{border:1px solid var(--grey-100);background:#fff;color:var(--grey-600);border-radius:7px;padding:5px 10px;font-size:.7rem;font-weight:800;cursor:pointer;white-space:nowrap;}
.btn-mini:hover{color:var(--psg-navy);border-color:var(--psg-navy);}
