*{box-sizing:border-box}body{margin:0;background:#0b1323;color:#e9f0fb;font:15px/1.55 system-ui,Segoe UI,Arial}header{display:flex;justify-content:space-between;align-items:center;padding:22px max(4vw,20px);background:#111f34;border-bottom:1px solid #243751}header b{letter-spacing:.08em;color:#61c8ff}header small{display:block;color:#8fa7c5}a{color:#6dccff;text-decoration:none}nav{display:flex;gap:24px}main{max-width:1440px;margin:auto;padding:32px 4vw}h1{font-size:29px;margin:0 0 8px}h2{font-size:19px;margin:0 0 16px}p{color:#a7b8d1}.hero{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.pill{background:#113b35;color:#68e1b1;padding:7px 13px;border-radius:30px}.panel{background:#14233a;border:1px solid #2a405d;border-radius:13px;padding:23px;margin-bottom:22px}.narrow{max-width:520px;margin:5vh auto}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stats small{display:block;color:#9db4d0}.stats strong{display:block;font-size:28px;margin-top:5px}form{display:flex;flex-wrap:wrap;align-items:end;gap:12px}form label:not(.check){display:flex;flex-direction:column;gap:6px;flex:1 1 100%}.narrow form{display:block}.narrow label{margin-bottom:14px}input,select{background:#0b182b;color:#fff;border:1px solid #3c5676;border-radius:7px;padding:10px;max-width:100%}input[type=file]{min-width:260px}button{background:#1687d9;color:white;border:0;border-radius:8px;padding:11px 19px;cursor:pointer;font-weight:700}button:hover{background:#299deb}.small{padding:7px 11px}.inline{display:inline-flex;margin-left:10px;gap:7px;align-items:center}.check{white-space:nowrap;color:#b8c9dd}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:13px 9px;border-bottom:1px solid #2a405d}th{color:#8ebce3;font-size:13px}td{overflow-wrap:anywhere}.exports{display:flex;flex-wrap:wrap;gap:10px}.export{border:1px solid #355679;padding:9px 13px;border-radius:7px}.notice{background:#143b43;border:1px solid #236a78;padding:15px;border-radius:8px;margin-bottom:20px}.error{color:#ff9b9b}footer{text-align:center;color:#7389a5;padding:25px}@media(max-width:760px){.stats{grid-template-columns:1fr}.hero{display:block}header{display:block}nav{margin-top:12px}}
/* V1.0.1: mise en page PC et lisibilité */
html{font-size:16px}body{min-width:900px;font-size:15px;line-height:1.55}header{padding:22px max(calc((100vw - 1320px)/2),32px)}main{max-width:1320px;padding:32px 28px}.hero{gap:20px}.panel{padding:24px}.stats .panel{min-height:120px}.tablewrap{width:100%}th,td{vertical-align:middle}td:first-child{min-width:240px;max-width:520px;word-break:break-word}button,input,select{font-size:14px}nav a{font-size:14px}footer{font-size:13px}
.export-entry{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.export-entry form{margin:0}.danger{background:#a72b3b!important;color:#fff!important;border-color:#c44658!important}.muted{opacity:.75;font-size:.85rem}

/* V1.0.2 — Bibliothèque professionnelle */
.library-filters{display:flex;align-items:end;gap:12px;margin:0 0 12px;flex-wrap:wrap}.library-filters label:not(.check){flex:0 1 370px;font-size:13px;color:#a7c7e7}.library-filters label:nth-child(2){flex:0 0 180px}.library-filters input,.library-filters select{width:100%;min-height:40px}.library-filters button{min-height:40px}.reset-filter{padding:9px 4px}.library-summary{font-size:13px;margin:10px 0 16px}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;padding:20px 0 0}.pagination a{border:1px solid #355679;padding:8px 14px;border-radius:7px}.pagination span{color:#b5c8df}.tablewrap tbody tr:hover{background:#1b304c}.tablewrap td:first-child{font-weight:500}.panel h2{letter-spacing:.01em}

/* V1.0.3 Catégories et import de dossiers */
.cat-form,.upload-actions{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:12px 0}.cat-form input{min-width:260px}.category-list{display:grid;gap:8px;margin-top:14px}.category-item{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px;border:1px solid #28445d;border-radius:7px}.category-item>span{min-width:180px;font-weight:600}.category-item input{max-width:230px}.upload-actions label{display:flex;flex-direction:column;gap:6px}.upload-actions input{max-width:320px}#upload-status{color:#9fc5ea}
/* V1.0.4 — Audio Manager PC */
main{max-width:1720px;padding:24px 30px}header{padding:16px max(calc((100vw - 1660px)/2),30px)}.hero{margin-bottom:14px}.stats{gap:12px}.stats .panel{min-height:84px;padding:13px 18px;margin-bottom:15px}.stats strong{font-size:22px}.workspace{display:grid;grid-template-columns:minmax(230px,290px) minmax(0,1fr);gap:16px;align-items:start}.workspace .panel{margin-bottom:15px}.folder-panel{position:sticky;top:12px;padding:16px;max-height:calc(100vh - 30px);overflow:auto}.panel-head{display:flex;justify-content:space-between;align-items:center}.panel-head h2{margin:0 0 10px}.folder-tree{display:flex;flex-direction:column;gap:2px}.folder-node{display:block;padding:7px 8px 7px calc(8px + var(--depth,0)*13px);font-size:13px;border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#c6d9ef}.folder-node:hover,.folder-node.active{background:#23466a;color:white}.folder-settings{border-top:1px solid #344c68;margin-top:14px;padding-top:14px}.folder-settings summary,.import-panel summary{cursor:pointer;color:#76ceff;font-weight:700}.folder-settings .category-item{padding:6px;margin-top:6px}.folder-settings .category-item input{width:100%;max-width:100%}.folder-settings .category-item form{margin:0;flex:1 1 100%}.folder-settings .category-item button{padding:5px 8px}.workspace-main{min-width:0}.workspace-main .panel{padding:18px}.workspace-main .library-filters{gap:8px}.workspace-main .library-filters label:not(.check){flex:1 1 190px}.workspace-main .library-filters label:nth-child(2){flex:0 1 140px}.workspace-main .library-filters label:nth-child(3){flex:0 1 220px}.workspace-main th,.workspace-main td{padding:8px 7px;font-size:13px}.workspace-main td:first-child{min-width:unset;max-width:unset}.workspace-main td:nth-child(2){min-width:170px;max-width:370px}.workspace-main .inline{margin-left:6px}.workspace-main button.small{padding:6px 9px}.bulk-toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:10px 0;padding:10px;background:#102c47;border:1px solid #2a537a;border-radius:8px}.bulk-toolbar strong{margin-right:auto;font-size:13px}.bulk-toolbar select{max-width:220px}.bulk-toolbar button:disabled{opacity:.5;cursor:not-allowed}.subtle{font-size:13px;color:#8fa7c5;font-weight:400}.import-panel{padding:15px!important}.import-panel[open] summary{margin-bottom:12px}@media(max-width:1100px){.workspace{grid-template-columns:220px minmax(0,1fr)}main{padding:18px}.workspace-main td:nth-child(2){min-width:150px}}

/* V1.0.4.1 category manager */
.category-manage-link,.back-link{display:inline-flex;align-items:center;justify-content:center;padding:11px 14px;border:1px solid #35618b;border-radius:9px;color:#b8ddff;text-decoration:none;margin-top:12px;font-weight:650}
.cat-manager{display:grid;grid-template-columns:minmax(280px,1fr) minmax(360px,1.15fr);gap:18px;align-items:start}
.cat-manager .panel{min-width:0}.cat-tree{max-height:68vh;overflow:auto;display:flex;flex-direction:column;gap:5px}
.cat-tree-row{display:flex;justify-content:space-between;align-items:center;gap:12px;text-decoration:none;color:#e0edff;padding:10px 12px 10px calc(12px + var(--depth)*16px);background:#0e2036;border-radius:8px;border:1px solid transparent;font-size:14px}
.cat-tree-row span{color:#8fb2d7;font-size:12px;text-align:right}.cat-tree-row.selected{background:#1c3d63;border-color:#479cf4}
.cat-editor{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin:12px 0 18px}.cat-editor label{display:flex;flex-direction:column;gap:7px}.cat-editor input{width:100%;box-sizing:border-box}.cat-editor button{align-self:flex-start}.cat-manager hr{border:0;border-top:1px solid #31506e;margin:24px 0}
@media(max-width:850px){.cat-manager{grid-template-columns:1fr}.cat-tree{max-height:380px}}

/* V1.0.5 : arborescence repliable pour bibliothèques volumineuses */
.category-search-label{display:block;font-size:12px;margin:8px 0;color:#a9c7e5}
.category-search-label input{display:block;width:100%;box-sizing:border-box;margin-top:5px;padding:8px;background:#09182a;color:#fff;border:1px solid #385573;border-radius:5px}
.folder-tree-row{display:flex;align-items:center;min-width:0;padding-left:calc(var(--depth) * 8px)}
.folder-tree-row[hidden]{display:none!important}
.folder-tree-row .folder-node{flex:1;min-width:0;display:flex;align-items:center;gap:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:4px}
.folder-tree-row .folder-node small{margin-left:auto;color:#9cb6ce;font-size:10px;flex-shrink:0}
.folder-toggle,.folder-toggle-spacer{width:18px;min-width:18px;height:24px;display:inline-flex;align-items:center;justify-content:center}
.folder-toggle{background:transparent;border:0;color:#bcd4ee;cursor:pointer;padding:0;font-size:16px}
.folder-toggle:focus-visible{outline:2px solid #60b9f7}

/* V1.0.7 — navigation compacte et défilement indépendant sur PC.
   CSS uniquement : aucune modification PHP, JS, SQL, importation ou audio. */
@media (min-width: 901px) {
  .workspace { align-items: start; }
  .folder-panel {
    position: sticky;
    top: 14px;
    max-height: none;
    overflow: visible;
    display: flex;
    flex-direction: column;
    min-height: 0;
  }
  .folder-panel .panel-head,
  .folder-panel .category-search-label,
  .folder-panel .category-manage-link { flex-shrink: 0; }
  .folder-panel .folder-tree {
    display: flex;
    flex-direction: column;
    min-height: 120px;
    max-height: min(58vh, 530px);
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: #466b94 #0e2036;
    padding-right: 5px;
    border-radius: 6px;
  }
  .folder-panel .folder-tree::-webkit-scrollbar { width: 8px; }
  .folder-panel .folder-tree::-webkit-scrollbar-thumb {
    background: #466b94;
    border-radius: 8px;
  }
  .folder-panel .folder-tree::-webkit-scrollbar-track { background: #0e2036; }
  .folder-panel .folder-node { min-height: 29px; }
  .folder-panel .category-manage-link {
    align-self: flex-start;
    margin-top: 12px;
  }
  .workspace-main { min-width: 0; }
}
@media (max-width: 900px) {
  .folder-panel { max-height: none; overflow: visible; }
  .folder-panel .folder-tree { max-height: 420px; overflow-y: auto; }
}

/* V1.0.8 — lecteur de pré-écoute */
.aps-preview{border:1px solid #32608c;border-radius:9px;background:#0b2037;padding:14px;margin-bottom:15px}
.aps-preview[hidden]{display:none!important}
.aps-preview-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}
.aps-preview-name{margin:10px 0;overflow-wrap:anywhere;color:#bcdcf5}
.aps-preview audio{width:100%;display:block;min-height:44px}
.aps-preview p{margin:7px 0 0;color:#d2e7f7}
.aps-listen{margin-right:7px;white-space:nowrap}

/* V1.0.9 — Suppression individuelle */
.aps-delete-form{display:inline-flex;vertical-align:middle;margin:0 4px}.aps-delete-button{background:#b83242!important;border-color:#e45c6c!important;color:#fff!important;white-space:nowrap}.aps-delete-button:hover{background:#8e2130!important}
