:root{--ink:#182a3c;--gold:#92711e;--paper:#fbf9f6;--stroke:#ece6dd}*{box-sizing:border-box}html{font-family:'Segoe UI',Arial,sans-serif}body{margin:0;background:var(--paper);color:#202b35;font-size:15px}a{color:inherit}h1,h2,h3{font-family:Georgia,serif;font-weight:600}button,input,select,textarea{font:inherit}button,.btn{cursor:pointer;border:0;border-radius:13px;background:#93711d;color:white;padding:12px 18px;text-decoration:none;display:inline-block}button:hover,.btn:hover{filter:brightness(.96)}.secondary{background:#f0ece7;color:#1e2d3d}.danger{background:#a94545}.hero{height:165px;background:linear-gradient(90deg,#182c40 0%,#233849 55%,#8d7650 100%);display:flex;align-items:center;color:#fff;padding:20px 4%;position:relative;overflow:hidden}.hero:after{content:'✦';position:absolute;right:8%;font-size:170px;color:#ffffff14;top:-55px}.hero-brand{display:flex;align-items:center;gap:34px;position:relative;z-index:1}.brand-symbol{font-size:65px;border-right:1px solid #ffffffa0;padding-right:35px;line-height:1}.hero-brand strong{display:block;font:64px/1.05 Georgia,serif;letter-spacing:-1px}.hero-brand div>span{display:block;font:17px Georgia,serif;letter-spacing:1.5px;margin-top:9px}.app-shell{display:grid;grid-template-columns:290px minmax(0,1fr);min-height:calc(100vh - 165px)}.sidebar{border-right:1px solid #eae5de;padding:40px 19px;background:#fffdfa;display:flex;flex-direction:column;gap:28px}.side-nav{display:grid;gap:9px}.side-nav a{display:flex;align-items:center;gap:18px;padding:16px 19px;text-decoration:none;border-radius:16px;font:600 19px Georgia,serif}.side-nav a.active{background:#efe4d2;color:#4c3710}.side-nav a:hover{background:#f4eee5}.nav-icon{font:28px 'Segoe UI Symbol',sans-serif;width:30px;text-align:center}.side-actions{border-top:1px solid #ece6de;padding-top:29px;display:grid;gap:12px}.side-actions>.btn,.side-actions>.tool-panel{width:100%}.side-actions .toolbar{display:grid;gap:12px}.side-actions summary.btn{display:block;padding:17px 14px;text-align:center;font:600 17px Georgia,serif}.side-actions .tool-panel:first-child summary{background:#94721d;color:white}.side-actions .tool-panel:not(:first-child) summary{background:#f1ede8;color:#243341}.tool-panel{position:relative}.tool-panel[open]{z-index:5}.tool-panel form{position:relative;background:white;border:1px solid #eee2d0;border-radius:14px;padding:16px;margin-top:10px;box-shadow:0 12px 32px #2020201c}.logout{margin-top:auto;padding:12px 18px;color:#65717b;text-decoration:none}.workspace{padding:40px 28px 70px;min-width:0;max-width:1650px;width:100%;margin:0 auto}.auth-workspace{padding:30px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.page-heading h1{font-size:42px;margin:0;color:#141c24;letter-spacing:-1px}.page-heading h1:after{content:'';display:block;width:74px;height:4px;border-radius:5px;background:#94721d;margin-top:16px}.view-tools{display:flex;gap:8px}.view-toggle{background:#f0ece7;color:#555;padding:12px 17px;font-size:21px}.view-toggle.active{background:#e8dbc4;color:#866418}.breadcrumbs{display:flex;gap:10px;align-items:center;color:#7e796f;margin-bottom:24px;font-size:13px}.breadcrumbs a{text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.toolbar details{max-width:300px}.library{margin:0 0 24px}.library h2{font:600 22px Georgia,serif;color:#1c2731;margin:0 0 18px}.folder-grid,.explorer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:23px;align-items:start}.folder-card,.explorer-grid .file-row{background:#fff;border:1px solid #f1eeea;border-radius:23px;box-shadow:0 9px 23px #352d2410;min-width:0;position:relative;transition:transform .15s,box-shadow .15s}.folder-card:hover,.explorer-grid .file-row:hover{transform:translateY(-3px);box-shadow:0 13px 32px #352d241b}.folder-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;min-height:205px;padding:25px 15px 14px;text-decoration:none}.folder-icon{font-size:85px;line-height:1.15;filter:drop-shadow(0 4px 3px #7b602033)}.folder-title{font:600 23px Georgia,serif;color:#152239;text-align:center;overflow-wrap:anywhere}.folder-actions{display:flex;gap:12px;align-items:center;justify-content:center;border-top:1px solid #f4f0ea;padding:9px}.folder-actions details{margin:0}.folder-actions .action-link{font-size:12px;background:transparent;color:#786a58;padding:7px;text-decoration:none;cursor:pointer}.folder-actions form{margin:0}.folder-edit{position:absolute;top:95%;left:0;right:0;z-index:4;background:white;padding:15px;border:1px solid #eee;border-radius:12px;box-shadow:0 12px 30px #0002}.folder-edit input{width:100%}.explorer-grid .file-row{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 12px;min-height:210px;gap:12px;text-align:center}.explorer-grid .file-icon{font-size:69px}.explorer-grid .file-main{min-width:0;overflow-wrap:anywhere}.explorer-grid .file-main>a{font:600 16px Georgia,serif;text-decoration:none;color:#1d2b3e}.explorer-grid .file-main small{display:block;color:#7b7d80;margin-top:5px}.explorer-grid .file-buttons{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;font-size:12px}.explorer-grid .file-buttons a{color:#86671d}.list-mode .folder-grid,.list-mode .explorer-grid{grid-template-columns:1fr}.list-mode .folder-link{min-height:0;flex-direction:row;justify-content:flex-start}.list-mode .folder-icon{font-size:35px}.list-mode .file-row{min-height:0;flex-direction:row;justify-content:flex-start}.list-mode .file-icon{font-size:36px}.empty-state{color:#87827b;padding:22px}.category-dashboard{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:13px;margin:18px 0 28px}.category-tile{color:#14263d;background:#edf4fc;min-width:0;min-height:130px;border-radius:19px;padding:14px 5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;box-shadow:none;border:2px solid transparent}.category-tile .category-icon{font-size:30px;line-height:1.2}.category-tile strong{font:600 19px Georgia,serif}.category-tile>span:last-child{font-size:16px}.category-tile.selected{border-color:#87651e;box-shadow:0 0 0 3px #e8dbbc}.cat-collectif{background:#e4f0fc;color:#1c5696}.cat-icrsp{background:#fbe9e2;color:#873724}.cat-journaliste{background:#eee8fa;color:#4e3489}.cat-victime{background:#fde5ec;color:#94324f}.cat-temoin{background:#def3e9;color:#1b6846}.cat-enqueteur{background:#fff0d1;color:#805710}.cat-autre{background:#eff0f2;color:#4b5663}.contacts-tools{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:22px 0}.contact-search{display:flex;align-items:center;gap:12px;background:white;border:1px solid #e2ded8;border-radius:28px;padding:11px 18px;max-width:490px;width:100%;font-size:25px}.contact-search input{border:0;outline:0;background:transparent;width:100%;font-size:15px}.contacts-count{color:#7c7f82}.contact-table-wrap{background:white;border-radius:23px;padding:10px 19px;box-shadow:0 9px 25px #352d2410;overflow-x:auto}.contact-table{width:100%;border-collapse:collapse;white-space:nowrap}.contact-table th{font-weight:600;font-size:13px;color:#404449}.contact-table td,.contact-table th{padding:16px 11px;border-bottom:1px solid #eeeae5;text-align:left}.contact-table tr:last-child td{border:0}.contact-table tbody tr:hover{background:#faf8f4}.contact-table tbody tr[hidden]{display:none}.name-cell a{font:600 16px Georgia,serif;text-decoration:none;color:#192a40}.category-chips{display:flex;gap:5px}.cat-chip{font-size:12px;padding:5px 10px;border-radius:20px;font-weight:600}.cat-chip.cat-collectif{background:#dcecff}.cat-chip.cat-icrsp{background:#f9ded4}.cat-chip.cat-journaliste{background:#e9e2f7}.cat-chip.cat-victime{background:#f9dce6}.cat-chip.cat-temoin{background:#d5f0e3}.cat-chip.cat-enqueteur{background:#ffebc1}.cat-chip.cat-autre{background:#e8eaed}.contact-table td>a{text-decoration:none}.contact-table td>a:hover{text-decoration:underline}.card{background:white;border:1px solid #eee9e2;border-radius:19px;padding:24px;margin:16px 0;box-shadow:0 8px 25px #352d2410}.login{max-width:450px;margin:10vh auto}.row,.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}label{display:block;font-size:13px;font-weight:600;margin:11px 0 6px}input:not([type=checkbox]):not([type=radio]),select,textarea{border:1px solid #dedbd6;border-radius:11px;padding:11px;max-width:100%}form input:not([type=checkbox]):not([type=radio]),form select,form textarea{width:100%}textarea{min-height:100px}.category-checks{display:flex;gap:8px;flex-wrap:wrap}.cat-check{padding:9px;border-radius:12px}.cat-check input{width:auto}.alert,.error{padding:15px;border-radius:12px;margin:15px 0;background:#fff0d9}.error{background:#ffebea}.small,.muted{font-size:12px;color:#78818b}.item{padding:14px;border-bottom:1px solid #eee}.file-row{display:flex;gap:12px;align-items:center;padding:10px}.file-main{flex:1}.file-buttons{display:flex;gap:12px}.file-icon{font-size:28px}details summary{cursor:pointer}.action-link{background:none;color:#796448;border:0;padding:5px}.delete-link{color:#9b4949}.tool-panel summary{list-style:none}.tool-panel summary::-webkit-details-marker{display:none}@media(max-width:1250px){.category-dashboard{grid-template-columns:repeat(4,1fr)}.folder-grid,.explorer-grid{grid-template-columns:repeat(auto-fill,minmax(175px,1fr))}}@media(max-width:800px){.hero{height:115px}.hero-brand strong{font-size:38px}.hero-brand div>span{font-size:10px}.brand-symbol{font-size:36px;padding-right:16px}.app-shell{grid-template-columns:1fr}.sidebar{padding:12px;gap:12px}.side-nav{display:flex;flex-wrap:wrap}.side-nav a{font-size:14px;padding:10px}.side-actions .toolbar{display:flex;flex-wrap:wrap}.workspace{padding:25px 15px}.page-heading h1{font-size:31px}.category-dashboard{grid-template-columns:repeat(3,1fr)}.category-tile strong{font-size:15px}.folder-grid,.explorer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.folder-link{min-height:150px}.folder-icon{font-size:60px}.folder-title{font-size:17px}}@media(max-width:450px){.category-dashboard{grid-template-columns:repeat(2,1fr)}}

/* Ajustements validés : titres et catégories compacts, sept catégories sur une ligne */
.hero{height:122px;background:linear-gradient(90deg,#162a3c 0%,#162a3ce8 45%,#162a3c33 100%),url('bandeau-eglise.webp') center right/cover no-repeat}
.hero:after{content:none}
.hero-brand{gap:19px}
.brand-symbol{font-size:0;padding-right:20px;display:flex;align-items:center}
.brand-symbol img{display:block;width:64px;height:72px;object-fit:contain}
.hero-brand strong{font-size:40px;letter-spacing:-.7px}
.hero-brand div>span{font-size:12px;letter-spacing:1.2px;margin-top:6px}
.app-shell{min-height:calc(100vh - 122px);grid-template-columns:255px minmax(0,1fr)}
.sidebar{padding:25px 14px;gap:19px}
.side-nav a{font-size:16px;padding:12px 13px;gap:12px}
.side-actions summary.btn{font-size:14px;padding:12px}
.workspace{padding:28px 26px 55px}
.page-heading{margin-bottom:18px}
.page-heading h1{font-size:29px;letter-spacing:-.5px}
.page-heading h1:after{margin-top:10px;width:50px;height:3px}
.category-dashboard{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:12px 0 18px}
.category-tile{min-height:87px;padding:9px 3px;border-radius:12px;gap:3px;border-width:1px}
.category-tile .category-icon{font-size:0;line-height:1;display:block;height:25px}
.category-tile .category-icon img{width:25px;height:25px;object-fit:contain}
.category-tile strong{font:600 clamp(10px,1.1vw,13px) Georgia,serif;white-space:nowrap;letter-spacing:-.2px}
.category-tile>span:last-child{font-size:12px}
.category-tile.selected{box-shadow:0 0 0 2px #e8dbbc}
.contacts-tools{margin:14px 0}
.contact-table td,.contact-table th{padding:10px 8px}
@media(max-width:1050px){.category-dashboard{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.category-tile strong{font-size:10px}.workspace{padding:20px 13px}.app-shell{grid-template-columns:215px minmax(0,1fr)}}
@media(max-width:800px){.hero{height:95px}.hero-brand strong{font-size:29px}.hero-brand div>span{font-size:9px}.brand-symbol img{width:43px;height:49px}.app-shell{grid-template-columns:1fr}.category-dashboard{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.category-tile{min-height:74px;padding:6px 1px}.category-tile .category-icon{height:20px}.category-tile .category-icon img{width:20px;height:20px}.category-tile strong{font:600 9px Georgia,serif}.category-tile>span:last-child{font-size:10px}.page-heading h1{font-size:25px}}
@media(max-width:540px){.category-dashboard{grid-template-columns:repeat(4,minmax(0,1fr))}.category-tile strong{font-size:11px}}

/* Dossiers : modification unifiée et bibliothèque d'icônes */
.folder-icon img{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 5px 7px #856c3630)}
.folder-actions{position:relative;display:block;text-align:center}
.folder-actions>details{width:100%;position:static}
.folder-actions summary{cursor:pointer;list-style:none;padding:9px 12px;font-weight:600}
.folder-actions summary::-webkit-details-marker{display:none}
.folder-edit-panel{position:absolute;z-index:20;top:100%;left:50%;transform:translateX(-50%);width:min(410px,90vw);padding:18px;background:#fff;border:1px solid #e5e3de;border-radius:14px;box-shadow:0 18px 50px #1e283333;text-align:left}
.folder-edit-panel form{display:block}.folder-edit-panel input[name=name]{width:100%;max-width:100%}
.icon-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:10px 0 16px}
.icon-choice{display:flex!important;flex-direction:column;align-items:center;gap:5px;border:1px solid #e8e9e8;border-radius:10px;padding:10px 4px;cursor:pointer;text-align:center;font-size:11px;font-weight:500;background:#fff;position:relative}
.icon-choice img{width:33px;height:33px}.icon-choice input{position:absolute;opacity:0;width:1px;height:1px}.icon-choice:has(input:checked){border-color:#ad8a47;background:#fff7e8;box-shadow:0 0 0 1px #ad8a47}.icon-choice:hover{background:#f7f8f8}
.folder-edit-panel .delete-link{color:#b43b36;padding:10px 0;font-size:12px}.folder-edit-panel>form:last-child{border-top:1px solid #eee;padding-top:8px;margin-top:10px}
.library>.folder-grid{margin-top:0}.library:has(>.folder-grid){padding-top:20px}

/* Force the icon gallery to be a true grid even when legacy rules compete. */
.folder-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))!important;gap:20px!important}
.folder-card{background:transparent!important;border:0!important;box-shadow:none!important;min-height:0!important}
.folder-link{min-height:145px!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:6px!important;padding:10px!important}
.folder-icon{height:104px!important;width:112px!important;display:flex!important;align-items:center!important;justify-content:center!important}
.folder-icon img{width:106px!important;height:98px!important;display:block!important;object-fit:contain!important}
.folder-title{font-size:14px!important;line-height:1.3!important;text-align:center!important}
.folder-actions{border:0!important;background:transparent!important;padding:0!important}
.folder-actions summary{font-size:12px!important;padding:5px 8px!important;background:transparent!important}
.folder-actions details[open] .folder-edit-panel{position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;width:min(760px,calc(100vw - 30px))!important;max-height:90vh!important;overflow:auto!important;z-index:99999!important;box-shadow:0 0 0 100vmax #0b182799,0 30px 90px #1118!important}
.folder-edit-panel .icon-picker,.tool-panel .icon-picker{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:10px!important}
.icon-choice{min-width:0!important;min-height:105px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:8px 3px!important;border:2px solid #e8e5df!important;border-radius:12px!important;background:#fff!important;gap:7px!important}
.icon-choice img{width:64px!important;height:62px!important;object-fit:contain!important;display:block!important}
.icon-choice:has(input:checked){background:#fff1d2!important;border-color:#a98032!important}
.breadcrumbs{display:none!important}
@media(max-width:700px){.folder-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.folder-edit-panel .icon-picker,.tool-panel .icon-picker{grid-template-columns:repeat(3,minmax(0,1fr))!important}}

.archive-crumbs{display:flex;align-items:center;gap:9px;font:500 12px/1.4 "Segoe UI",sans-serif;color:#8c857b;margin:4px 0 18px;flex-wrap:wrap}
.archive-crumbs a{color:#6d706d;text-decoration:none;padding:5px 8px;border-radius:7px}
.archive-crumbs a:hover,.archive-crumbs a.drop-target{background:#f1e5c9;color:#765418}
.folder-card.drop-target{outline:3px dashed #bc9550!important;outline-offset:4px;background:#fff8e9!important}
.is-dragging{opacity:.42}
.file-thumbnail{width:100%;height:115px;object-fit:cover;border-radius:11px;display:block}
.file-symbol{width:72px;height:94px;object-fit:contain;display:block;margin:auto}
.explorer-grid .file-icon{width:100%;min-height:115px;display:flex;align-items:center;justify-content:center}
.file-row[draggable=true]{cursor:grab}
.file-row.is-dragging{cursor:grabbing}

/* Approved visual: illustrated gold folders with pictograms, compact picker and stable modal */
.folder-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(190px,1fr))!important;gap:22px!important}
.folder-card{position:static!important;transform:none!important;transition:box-shadow .18s!important;overflow:visible!important}
.folder-card:hover{transform:none!important}
.folder-link{min-height:170px!important;padding:20px 12px 12px!important;gap:5px!important}
.folder-icon{font-size:0!important;width:100%!important;height:112px!important;display:flex!important;align-items:center!important;justify-content:center!important;filter:none!important}
.folder-icon img{width:142px!important;height:112px!important;max-width:100%!important;object-fit:contain!important;filter:none!important}
.folder-title{font:600 17px/1.3 Georgia,serif!important;color:#1b2a3c!important}
.folder-actions{position:static!important;border:0!important;padding:0!important;display:block!important}
.folder-actions details{position:static!important}
.folder-actions summary{position:absolute!important;margin-top:-166px!important;margin-left:calc(100% - 46px)!important;width:32px!important;height:32px!important;display:flex!important;align-items:center!important;justify-content:center!important;list-style:none!important;border:1px solid #e9e2d7!important;border-radius:10px!important;background:#fff!important;color:#7d6948!important;font:700 22px/1 Arial,sans-serif!important;padding:0!important;z-index:3!important;cursor:pointer!important}
.folder-actions summary::-webkit-details-marker{display:none!important}
.folder-actions details[open] .folder-edit-panel{position:fixed!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;z-index:99999!important;width:min(680px,calc(100vw - 32px))!important;max-height:calc(100vh - 40px)!important;overflow:auto!important;padding:25px!important;background:#fff!important;border-radius:22px!important;box-shadow:0 0 0 200vmax #15233480,0 25px 75px #0004!important}
.folder-actions details[open] summary{z-index:100000!important}
.folder-edit-panel .icon-picker,.tool-panel .icon-picker{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:10px!important;margin:10px 0 20px!important}
.icon-choice{display:flex!important;align-items:center!important;justify-content:center!important;border:2px solid transparent!important;border-radius:12px!important;padding:6px!important;min-height:74px!important;background:#fff!important;cursor:pointer!important;margin:0!important}
.icon-choice img{width:80px!important;height:67px!important;max-width:100%!important;object-fit:contain!important;display:block!important}
.icon-choice input{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important}
.icon-choice:has(input:checked){border-color:#9c771d!important;background:#fff6e6!important;box-shadow:0 0 0 1px #9c771d!important}
.icon-choice:hover{background:#f8f2e8!important}
.folder-edit-panel .folder-edit>label{font-size:13px!important}
@media(max-width:650px){.folder-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.folder-edit-panel .icon-picker,.tool-panel .icon-picker{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important}.icon-choice{min-height:59px!important}.icon-choice img{height:50px!important;width:58px!important}.folder-icon img{width:115px!important}.folder-title{font-size:14px!important}}
