/* Sorti de idees.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. */

/* ── full-viewport lock ── */
html,body{height:100%;overflow:hidden;}
.app{height:100vh;overflow:hidden;}
.main{height:100vh;min-height:0;overflow:hidden;display:flex;flex-direction:column;}
.id-shell{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;}

/* ── page header ── */
.id-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);}
.id-page-kicker{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--psg-gold-dark,#b8860b);margin-bottom:2px;}
.id-page-title{font-size:1.5rem;font-weight:900;color:var(--psg-navy);margin:0;line-height:1.1;}
.id-page-sub{font-size:.8rem;color:var(--grey-400);font-weight:600;margin-top:3px;}

/* ── type strip — floating card like cmd-stats ── */
.id-cats{display:flex;gap:2px;padding:0 var(--space-5);border-bottom:2px solid var(--grey-100);background:#fff;flex-shrink:0;margin:var(--space-5) var(--space-8) 0;border-radius:10px;border:1px solid #d9d9d9;}
.id-cat{display:inline-flex;align-items:center;gap:6px;padding:12px 16px;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--grey-400);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s;white-space:nowrap;}
.id-cat:hover{color:var(--grey-700);}
.id-cat.active{color:var(--psg-navy);border-bottom-color:var(--psg-navy);}
.id-cat svg{width:14px;height:14px;flex-shrink:0;}
.id-cat-count{font-size:.65rem;font-weight:800;background:var(--grey-100);border-radius:999px;padding:1px 7px;color:var(--grey-500);}
.id-cat.active .id-cat-count{background:var(--psg-navy);color:#fff;}

/* ── scrollable content ── */
.id-content{flex:1;min-height:0;overflow-y:auto;padding:var(--space-5) var(--space-8);background:var(--grey-100);}

.idea-card{background:#fff;border:1px solid var(--grey-100);border-radius:12px;padding:var(--space-5);display:flex;gap:var(--space-4);align-items:flex-start;transition:box-shadow .15s;}
.idea-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.07);}
.idea-type{display:inline-flex;align-items:center;border-radius:999px;padding:3px 10px;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;flex-shrink:0;}
.idea-type-idea{background:#dbeafe;color:#1e40af;}
.idea-type-bug{background:#fee2e2;color:#dc2626;}
.idea-type-amelio{background:#dcfce7;color:#166534;}
.idea-votes{display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0;min-width:40px;}
.idea-vote-btn{background:none;border:1px solid var(--grey-200);border-radius:6px;padding:4px 8px;cursor:pointer;font-size:.75rem;font-weight:800;color:var(--grey-500);transition:background .15s,color .15s,border-color .15s;}
.idea-vote-btn:hover,.idea-vote-btn.voted{background:var(--psg-navy);color:#fff;border-color:var(--psg-navy);}
.idea-vote-count{font-size:.82rem;font-weight:800;color:var(--grey-700);}
.idea-body{flex:1;}
.idea-title{font-size:.95rem;font-weight:800;color:var(--grey-800);margin:0 0 4px;}
.idea-desc{font-size:.82rem;color:var(--grey-500);font-weight:600;margin:0 0 10px;}
.idea-meta{font-size:.72rem;color:var(--grey-400);font-weight:600;}
.idea-status{display:inline-flex;align-items:center;border-radius:999px;padding:2px 8px;font-size:.62rem;font-weight:800;text-transform:uppercase;margin-left:6px;}
.idea-status-open{background:#fef3c7;color:#92400e;}
.idea-status-planned{background:#dbeafe;color:#1e40af;}
.idea-status-done{background:#dcfce7;color:#166534;}
.idea-status-btn{border:1px solid var(--grey-200);background:#fff;border-radius:999px;padding:2px 10px;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--grey-400);cursor:pointer;transition:all .15s;}
.idea-status-btn:hover{border-color:var(--grey-400);color:var(--grey-700);}
.idea-status-btn.active[data-status="open"]{background:#fef3c7;color:#92400e;border-color:#fde68a;}
.idea-status-btn.active[data-status="planned"]{background:#dbeafe;color:#1e40af;border-color:#93c5fd;}
.idea-status-btn.active[data-status="done"]{background:#dcfce7;color:#166534;border-color:#86efac;}
.idea-edit-btn{margin-left:auto;background:none;border:none;cursor:pointer;color:var(--grey-400);display:flex;align-items:center;padding:4px;border-radius:6px;transition:background .15s,color .15s;}
.idea-edit-btn:hover{background:var(--grey-100);color:var(--grey-700);}
.idea-edit-btn svg{width:14px;height:14px;}
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:900;align-items:center;justify-content:center;}
.modal-overlay.open{display:flex;}
.modal-box{background:#fff;border-radius:14px;max-width:540px;width:92%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.2);}
.modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);background:#f1f5f999;padding:9px 15px;margin:20px 20px 0;border-radius:8px;}
.modal-title{font-size:.88rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--psg-navy);margin:0;}
.modal-close{background:none;border:none;cursor:pointer;color:var(--grey-400);display:flex;align-items:center;padding:4px;border-radius:6px;}
.modal-close:hover{background:var(--grey-200);}
.modal-close svg{width:16px;height:16px;}
.modal-body{padding:var(--space-5);}
.modal-footer{display:flex;gap:10px;justify-content:flex-end;padding:8px;}
