/* Scoped to the three catalogue screens on master-php8-design. */
.catalogue-design { --cat-green:#286346; --cat-ink:#20382c; --cat-muted:#66766d; --cat-line:#e2e9e3; --cat-bg:#f5f7f4; margin:0; background:var(--cat-bg); color:var(--cat-ink); font:14px/1.55 Inter,system-ui,-apple-system,"Segoe UI",sans-serif; }
.catalogue-design * { box-sizing:border-box; }
.catalogue-design a { color:var(--cat-green); text-decoration:none; }
.catalogue-design a:hover { text-decoration:underline; }
.catalogue-design button,.catalogue-design input,.catalogue-design select { font:inherit; }
.catalogue-design button,.catalogue-design a,.catalogue-design input,.catalogue-design select,.catalogue-design summary { -webkit-tap-highlight-color:transparent; }
.catalogue-design :focus-visible { outline:3px solid #799c23!important; outline-offset:3px; }
.catalogue-design [hidden] { display:none!important; }
.cat-topbar { height:76px; position:fixed; inset:0 0 auto; display:flex; align-items:center; background:white; border-bottom:1px solid var(--cat-line); z-index:50; padding:0 32px; gap:24px; }
.cat-logo { width:194px; display:flex; align-items:center; }
.cat-logo img { width:164px; height:auto; }
.cat-account { margin-left:auto; display:flex; align-items:center; gap:22px; font-size:12px; color:var(--cat-muted); }
.cat-env { padding:5px 10px; background:#f0f4e6; border:1px solid #dce7c2; color:#466129; border-radius:20px; font-size:11px; font-weight:600; }
.cat-mobile-nav { display:none; }
.catalogue-design .page-sidebar { position:fixed!important; left:0; top:76px!important; bottom:0; width:226px!important; background:white!important; border-right:1px solid var(--cat-line); overflow-y:auto; z-index:40; padding:25px 14px!important; }
.cat-nav-label { font-size:9px; letter-spacing:1.5px; color:#839087; padding:0 14px 13px; }
.catalogue-design .page-sidebar ul { padding:0!important; margin:0!important; list-style:none; }
.catalogue-design .page-sidebar li { float:none!important; width:auto!important; background:none!important; margin:3px 0!important; }
.catalogue-design .page-sidebar li:has(> hr) { margin:15px 10px!important; border-top:1px solid var(--cat-line); }
.catalogue-design .page-sidebar hr { display:none; }
.catalogue-design .page-sidebar li > a { display:flex!important; min-height:0!important; align-items:center; gap:12px; padding:11px 12px!important; color:#65736a!important; border:0!important; border-radius:8px!important; font-size:12px!important; font-weight:500; text-align:left!important; line-height:1.5!important; }
.catalogue-design .page-sidebar li > a:hover { background:#f5f7f2!important; color:var(--cat-green)!important; text-decoration:none; }
.catalogue-design .page-sidebar ul.page-sidebar-menu li.active > a { background:#eaf2e4!important; color:#285334!important; font-weight:700!important; }
.catalogue-design .page-sidebar li a i { margin:0!important; font-size:16px!important; width:20px!important; color:inherit!important; }
.catalogue-design .page-sidebar li a .title { display:inline!important; }
.catalogue-design .page-sidebar .selected { display:none!important; }
.catalogue-design .page-sidebar .sub-menu { display:none!important; padding-left:20px!important; position:static!important; width:auto!important; height:auto!important; float:none!important; opacity:1!important; visibility:visible!important; margin:0!important; background:transparent!important; box-shadow:none!important; }
.catalogue-design .page-sidebar ul.page-sidebar-menu li.cat-sub-open > ul.sub-menu { display:block!important; }
.cat-main,.catalogue-design .page-content { margin:76px 0 0 226px!important; padding:34px 38px 48px!important; min-height:calc(100vh - 76px)!important; background:var(--cat-bg)!important; }
.cat-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }
.cat-eyebrow { margin:0 0 9px; color:#73816f; letter-spacing:1.6px; font-size:10px; font-weight:650; }
.catalogue-design h1 { font-size:30px; letter-spacing:-.9px; line-height:1.2; font-weight:650; margin:0 0 10px; color:#20382c; }
.cat-intro { color:var(--cat-muted); font-size:13px; margin:0; max-width:760px; }
.cat-collection-icon { display:grid; place-items:center; width:54px; height:54px; border-radius:14px; color:#487047; background:#eaf0e2; font-size:24px; flex-shrink:0; }
.cat-tabs { display:flex; gap:25px; border-bottom:1px solid var(--cat-line); margin:0 0 25px; }
.cat-tabs a { display:block; padding:10px 0 14px; color:#718074; font-size:13px; border-bottom:2px solid transparent; }
.cat-tabs a[aria-current] { color:var(--cat-green); border-color:var(--cat-green); font-weight:650; }
.cat-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:26px; }
.cat-stats > div { background:white; border:1px solid var(--cat-line); border-radius:12px!important; padding:15px 18px; }
.cat-stats span { display:block; font-size:12px; color:var(--cat-muted); }
.cat-stats strong { display:block; font-size:29px; letter-spacing:-1px; font-weight:650; margin:7px 0 5px; line-height:1.2; }
.cat-stats small { font-size:10px; color:#748077; }
.cat-stats .cat-stat-accent { background:#edf3e8; border-color:#dce6d5; }
.cat-stats .cat-stat-warning { background:#fff9ef; border-color:#eee1cb; }
.cat-stats .cat-stat-time { font-size:26px; }
.cat-panel { background:white; border:1px solid var(--cat-line); border-radius:13px; box-shadow:0 3px 14px #20382c03; margin-bottom:22px; overflow:hidden; }
.cat-panel-head { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:23px 24px 18px; }
.catalogue-design h2 { font-size:17px; line-height:1.4; letter-spacing:-.25px; font-weight:650; margin:0 0 5px; }
.cat-panel-head p { font-size:12px; color:var(--cat-muted); margin:0; }
.cat-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid #dce4dc; border-radius:7px!important; background:white; color:#365840!important; padding:9px 13px; cursor:pointer; white-space:nowrap; font-weight:600!important; font-size:12px!important; line-height:1.4; min-height:36px; text-decoration:none!important; transition:background .15s,box-shadow .15s; }
.cat-btn:hover { background:#f0f5ed; box-shadow:0 2px 5px #263b2510; }
.cat-primary { background:#2c6749!important; border-color:#2c6749!important; color:white!important; }
.cat-primary:hover { background:#205438!important; }
.cat-btn:disabled { opacity:.45; cursor:not-allowed; box-shadow:none; }
.cat-quiet { border-color:transparent; background:transparent; color:var(--cat-muted)!important; }
.cat-toolbar { display:flex; align-items:flex-end; flex-wrap:wrap; gap:13px; padding:0 24px 22px; }
.cat-search { position:relative; flex:1 1 240px; margin:0; }
.cat-search i { position:absolute; left:13px; top:14px; color:#819184; }
.cat-search input { width:100%; height:42px; border:1px solid var(--cat-line); border-radius:7px!important; background:#fafbf9; padding:9px 12px 9px 36px; color:var(--cat-ink); box-shadow:none; }
.cat-filter { display:flex; flex-direction:column; gap:5px; margin:0; font-size:10px; color:var(--cat-muted); }
.cat-filter select,.cat-version-select { border:1px solid var(--cat-line); background:white; border-radius:7px!important; height:42px; padding:7px 28px 7px 11px; font-size:12px; color:#42564a; }
.cat-version-select { height:34px; max-width:180px; }
.cat-selection { display:flex; align-items:center; gap:18px; padding:12px 24px; background:#fbfcfa; border-top:1px solid #edf0e9; font-size:11px; color:var(--cat-muted); }
.cat-selection label { margin:0; display:flex; align-items:center; gap:8px; font-size:11px; }
.cat-selection .cat-btn { margin-left:auto; }
.catalogue-design input[type=checkbox] { width:16px; height:16px; accent-color:#326a47; vertical-align:middle; margin:0; cursor:pointer; }
.cat-table-wrap { position:relative; overflow:auto; max-width:100%; }
.cat-table { width:100%; border-collapse:collapse; border-spacing:0; margin:0; }
.cat-table th { text-align:left; font-size:10px; color:#79877c; text-transform:uppercase; letter-spacing:.6px; font-weight:600; background:#f8faf6; border-block:1px solid #e9eee6; padding:13px 16px; white-space:nowrap; }
.cat-table td { padding:18px 16px; font-size:12px; border-bottom:1px solid #edf1ea; vertical-align:middle; }
.cat-table th:first-child,.cat-table td:first-child { padding-left:24px; }
.cat-table th:last-child,.cat-table td:last-child { padding-right:24px; }
.cat-table tr:last-child td { border-bottom:0; }
.cat-table tr:hover td { background:#fcfdfb; }
.cat-table strong { display:block; font-size:13px; font-weight:650; color:#293e30; }
.cat-table small { display:block; color:#7a877d; font-size:10px; margin-top:5px; }
.cat-table td > span:not(.cat-badge):not(.cat-version) { display:block; }
.cat-table td:nth-child(2) { min-width:120px; }
.cat-table .cat-reason { max-width:230px; line-height:1.5; color:#836e47; }
.cat-badge { display:inline-flex; align-items:center; gap:6px; border-radius:20px; padding:4px 9px; font-size:10px; font-weight:600; white-space:nowrap; }
.cat-badge:before { content:''; width:5px; height:5px; border-radius:50%; background:currentColor; }
.cat-ok { color:#346b46; background:#ecf5e8; }
.cat-warn { color:#896728; background:#fff4de; }
.cat-neutral { color:#65746a; background:#f0f3ef; }
.cat-version { font-variant-numeric:tabular-nums; color:#6e7d71; font-size:12px; }
.cat-text-link { display:block; margin-top:7px; font-size:10px; text-align:center; }
.cat-panel-foot { padding:15px 24px; border-top:1px solid var(--cat-line); font-size:11px; color:#7b867b; line-height:1.7; }
.cat-empty { text-align:center; padding:45px 20px; color:var(--cat-muted); }
.cat-history { border:1px solid var(--cat-line); border-radius:10px; background:white; margin-top:25px; }
.cat-history > summary { padding:20px 24px; display:flex; align-items:center; gap:20px; cursor:pointer; font-size:13px; font-weight:600; }
.cat-history > summary:after { content:'+'; margin-left:auto; font-size:19px; font-weight:400; }
.cat-history[open] > summary:after { content:'−'; }
.cat-history summary small { color:var(--cat-muted); font-weight:400; font-size:11px; }
.cat-history summary i { margin-right:9px; }
.cat-history-body { padding:0 24px 20px; }
.cat-history-body details { border-top:1px solid var(--cat-line); padding:12px 0; }
.cat-history-body summary { cursor:pointer; font-size:12px; }
.cat-history-body summary span { margin-left:20px; color:var(--cat-muted); }
.cat-version-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:8px; padding-top:16px; font-size:10px; color:var(--cat-muted); }
.cat-version-grid b { color:var(--cat-ink); padding-left:8px; }
.cat-dialog { border:0; border-radius:15px; box-shadow:0 30px 100px #10291c40; width:min(740px,94vw); padding:0; color:var(--cat-ink); max-height:85vh; }
.cat-dialog::backdrop { background:#15302380; backdrop-filter:blur(3px); }
.cat-dialog-head { padding:28px 28px 12px; }
.cat-dialog-head p { font-size:12px; color:var(--cat-muted); }
.cat-dialog-body { max-height:45vh; overflow:auto; padding:0 28px; }
.cat-dialog-actions { display:flex; gap:12px; justify-content:flex-end; padding:20px 28px; background:#f7faf4; }
.cat-dialog-error { color:#a24732; padding:0 28px; font-size:12px; }
.cat-feedback { margin:0; padding:16px 24px; color:#345f40; background:#edf6e8; }
.cat-feedback.cat-error { color:#8e4b27; background:#fff3e5; }
.cat-sr { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.cat-muted { color:var(--cat-muted); }.cat-skip { position:fixed; top:-100px; z-index:500; padding:10px; background:white; }.cat-skip:focus { top:0; }
/* Legacy editor remains functional; its entry list now uses the shared catalogue layout. */
.catalogue-design .page-container { margin:0!important; padding:0!important; }
.catalogue-design .page-header.navbar { height:76px!important; min-height:76px!important; background:white!important; border-bottom:1px solid var(--cat-line); box-shadow:none!important; }
.catalogue-design .page-header.navbar .page-logo { width:226px!important; background:white!important; height:76px!important; }
.catalogue-design .page-header .page-actions { margin:15px 0!important; }
.catalogue-design .page-header .page-actions img { height:38px!important; }
.catalogue-design .page-header .top-menu .navbar-nav > li.dropdown-user > .dropdown-toggle { background:white!important; }
.catalogue-design .page-header .username { color:#6c7e70!important; font-size:11px!important; }
.catalogue-design .page-header .btnJaune { background:#eff4e8!important; color:#456436!important; border-radius:7px!important; font-size:12px; }
.catalogue-design .page-footer { display:none; }
.catalogue-design .portlet.light { border:1px solid var(--cat-line)!important; border-radius:12px!important; box-shadow:none!important; }
.catalogue-design .portlet .caption { color:var(--cat-ink)!important; font-size:16px!important; }
.catalogue-design .form-control { border-radius:6px!important; border-color:var(--cat-line)!important; }
.cat-material-editor { display:none; }
.cat-editing .cat-material-editor { display:block; }
.cat-editing .cat-material-list { display:none; }
.cat-editor-back { margin:0 0 20px; }
.cat-editor-status { margin:0 0 18px; padding:13px 18px; background:#edf3e8; border-radius:8px; font-size:12px; }
.catalogue-design #tableDetailFamille tr { background:white!important; }
.catalogue-design #tableDetailFamille tr[data-selectionne="1"] td { background:#eef5e6!important; color:var(--cat-ink)!important; }
.catalogue-design #tableDetailFamille .ligneMateriel { cursor:pointer; }
.catalogue-design #tableDetailFamille button.ligneMateriel { background:transparent!important; color:var(--cat-green)!important; }
.catalogue-design #tableDetailFamille td { background:transparent!important; color:var(--cat-ink)!important; }
.cat-lock { color:#95703b; font-size:10px; display:block; margin-top:6px; }
.catalogue-design .libereMaterielUrgence { display:inline-block; padding:5px 8px; font-size:10px; background:#fff3df!important; color:#886124!important; border-radius:5px!important; cursor:pointer; }
.cat-material-list .cat-panel { padding:0; }
.cat-material-list { width:100%!important; }
.cat-mobile-nav { border:1px solid var(--cat-line); border-radius:6px; color:var(--cat-green); background:white; width:36px; height:36px; }
.catalogue-design .cat-env,.catalogue-design .cat-badge { border-radius:20px!important; }
.catalogue-design .cat-collection-icon { border-radius:14px!important; }
@media(max-width:500px) { .cat-stats>div { padding:10px 13px; }.cat-stats small { display:none; }.cat-stats span { font-size:11px; }.cat-stats strong { margin:5px 0 0; }.cat-heading .cat-intro { font-size:12px; } }
@media(min-width:801px) and (max-height:850px) { .cat-main,.catalogue-design .page-content { padding-top:23px!important; }.cat-heading { margin-bottom:13px; }.cat-tabs { margin-bottom:18px; }.cat-stats { margin-bottom:19px; }.cat-stats>div { padding:12px 17px; }.cat-stats strong { font-size:25px; margin:4px 0; }.cat-panel-head { padding-top:18px; padding-bottom:15px; }.cat-toolbar { padding-bottom:16px; }.cat-selection { padding-top:9px; padding-bottom:9px; } }
@media(min-width:1500px) { .cat-main,.catalogue-design .page-content { padding-right:55px!important; padding-left:55px!important; } }
@media(max-width:1100px) { .cat-main,.catalogue-design .page-content { padding:26px 24px!important; }.cat-stats { gap:10px; }.cat-stats>div { padding:15px; }.cat-panel-head { align-items:flex-start; flex-direction:column; } }
@media(max-width:800px) { .cat-topbar { height:66px; padding:0 18px; }.cat-logo { width:auto; }.cat-logo img { width:135px; }.cat-account { gap:12px; }.cat-account>span:not(.cat-env) { display:none; }.cat-account>a { display:none; }.cat-mobile-nav { display:block; }.catalogue-design .page-sidebar { display:none!important; top:66px!important; width:240px!important; box-shadow:12px 10px 30px #19351b20; }.catalogue-design.cat-nav-open .page-sidebar { display:block!important; }.cat-main,.catalogue-design .page-content { margin:66px 0 0!important; padding:24px 16px!important; }.cat-stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.cat-stats strong { font-size:25px; }.cat-heading h1 { font-size:26px; }.cat-collection-icon { display:none; }.cat-heading { margin-bottom:16px; }.cat-tabs { gap:18px; }.cat-tabs a { font-size:12px; }.cat-toolbar { padding:0 16px 18px; gap:10px; }.cat-search { flex-basis:100%; }.cat-filter { flex:1 1 120px; }.cat-panel-head { padding:20px 16px; }.cat-selection { padding:12px 16px; flex-wrap:wrap; gap:10px; }.cat-selection .cat-btn { margin:0; }.cat-table td { padding:14px 12px; }.cat-history>summary { padding:16px; flex-wrap:wrap; gap:6px; }.cat-history summary small { display:none; }.cat-panel-foot { padding:14px 16px; }.catalogue-design .page-header.navbar { height:66px!important; min-height:66px!important; }.catalogue-design .page-header.navbar .page-logo { display:none!important; }.catalogue-design .page-header .page-actions { margin:14px 8px!important; }.catalogue-design .page-header .top-menu { display:none; }.catalogue-design .responsive-toggler { display:block!important; background:#eaf0e1!important; color:#345f40; width:32px; height:32px; margin:16px!important; text-align:center; }.catalogue-design .responsive-toggler:after { content:'☰'; }.catalogue-design .page-header .page-actions img { height:32px!important; } }
@media(prefers-reduced-motion:reduce) { .catalogue-design * { transition:none!important; scroll-behavior:auto!important; } }
