.mp-wrap{max-width:1440px;margin:24px 24px 0 4px}.mp-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:18px}.mp-header h1{font-size:30px;line-height:1.2;margin:0}.mp-header p{font-size:15px;color:#596579;margin:6px 0 0}.mp-version{background:#e8f0ff;color:#1558d6;border-radius:999px;padding:7px 12px;font-weight:600}.mp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.mp-card{position:relative;display:flex;min-height:155px;box-sizing:border-box;flex-direction:column;gap:12px;padding:24px;text-decoration:none;background:#fff;border:1px solid #dfe5ef;border-radius:14px;box-shadow:0 4px 18px rgba(22,34,58,.05);transition:.18s ease}.mp-card:hover{border-color:#2271b1;transform:translateY(-2px);box-shadow:0 8px 24px rgba(22,34,58,.1)}.mp-card .dashicons{font-size:32px;width:32px;height:32px;color:#1558d6}.mp-card strong{font-size:18px;color:#17233c}.mp-card small{font-size:14px;line-height:1.5;color:#647187}.mp-count{position:absolute;right:18px;top:18px;background:#eef4ff;color:#1558d6;border-radius:999px;padding:5px 10px;font-weight:700}.mp-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:20px;align-items:start}.mp-panel{background:#fff;border:1px solid #dfe5ef;border-radius:14px;padding:22px;box-shadow:0 4px 18px rgba(22,34,58,.04)}.mp-panel h2{margin:0 0 18px;color:#17233c}.mp-panel-wide{min-width:0}.mp-table-wrap{overflow:auto}.mp-table th{font-weight:700;color:#34425a}.mp-table td{vertical-align:middle}.mp-table small{color:#647187}.mp-actions{display:flex;flex-wrap:wrap;gap:6px}.mp-form{display:flex;flex-direction:column;gap:15px}.mp-form label{display:flex;flex-direction:column;gap:7px;font-weight:600;color:#34425a}.mp-form input,.mp-form textarea,.mp-form select{width:100%;max-width:none;box-sizing:border-box}.mp-form .required{color:#d63638}.mp-checks{border:1px solid #dfe5ef;border-radius:10px;padding:13px}.mp-checks legend{font-weight:700;padding:0 5px}.mp-check{display:block!important;font-weight:500!important;margin:6px 0}.mp-check input{width:auto}.mp-danger{color:#b32d2e!important;border-color:#dba6a7!important}.mp-badge{display:inline-block;background:#eef4ff;color:#1558d6;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700}.mp-badge-green{background:#e8f7ed;color:#16803a}.mp-inline-empty{padding:28px;border:1px dashed #bac4d3;border-radius:10px;text-align:center;color:#647187}.mp-empty{display:flex;min-height:340px;flex-direction:column;align-items:center;justify-content:center;background:#fff;border:1px dashed #bac4d3;border-radius:14px;color:#596579}.mp-empty .dashicons{font-size:52px;width:52px;height:52px;color:#1558d6}.mp-empty h2{color:#17233c}@media(max-width:1050px){.mp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mp-layout{grid-template-columns:1fr}}@media(max-width:650px){.mp-grid{grid-template-columns:1fr}.mp-header{align-items:flex-start;flex-direction:column}.mp-actions{min-width:220px}}
.mp-filter-bar{display:flex;align-items:end;gap:12px;margin:0 0 18px;background:#fff;border:1px solid #dfe5ef;border-radius:12px;padding:14px}.mp-filter-bar label{font-weight:700;display:flex;flex-direction:column;gap:6px;min-width:420px}.mp-assign-layout{display:grid;grid-template-columns:260px minmax(0,1fr) 340px;gap:18px;align-items:start}.mp-panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.mp-panel-title h2{margin:0}.mp-gallery-list{display:flex;flex-direction:column;gap:7px}.mp-gallery-row{display:flex;justify-content:space-between;gap:10px;padding:11px 12px;border:1px solid #dfe5ef;border-radius:9px;text-decoration:none;color:#17233c}.mp-gallery-row:hover,.mp-gallery-row.is-active{border-color:#2271b1;background:#eef4ff}.mp-gallery-row small{color:#647187}.mp-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px}.mp-photo-card{display:block!important;position:relative;border:2px solid transparent;border-radius:10px;overflow:hidden;background:#f6f8fb;cursor:pointer}.mp-photo-card:has(input:checked){border-color:#2271b1;background:#eef4ff}.mp-photo-card input{position:absolute;left:8px;top:8px;z-index:2;width:20px;height:20px}.mp-photo-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.mp-photo-card span{display:block;padding:7px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mp-primary-photo{margin-bottom:16px}.mp-primary-photo strong{display:block;margin-bottom:8px}.mp-primary-photo img{width:100%;max-height:220px;object-fit:cover;border-radius:10px}.mp-assigned-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.mp-assigned-photo{position:relative;border:1px solid #dfe5ef;border-radius:9px;overflow:hidden;background:#f8fafc}.mp-assigned-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.mp-assigned-photo small{display:block;padding:6px}.mp-remove{display:block;padding:0 6px 7px;color:#b32d2e;font-size:12px}@media(max-width:1250px){.mp-assign-layout{grid-template-columns:230px minmax(0,1fr)}.mp-assign-layout>section:last-child{grid-column:1/-1}.mp-assigned-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:900px){.mp-assign-layout{grid-template-columns:1fr}.mp-assign-layout>section:last-child{grid-column:auto}.mp-filter-bar label{min-width:0;width:100%}}

.mp-card-summary{margin:12px 0 18px;padding:10px 14px;background:#eef4ff;border-radius:9px;color:#1558d6}.mp-access-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.mp-access-card{position:relative;display:grid;grid-template-columns:38% 62%;aspect-ratio:3/2;background:#fff;border:1px solid #cfd8e6;border-radius:12px;overflow:hidden;box-shadow:0 5px 18px rgba(22,34,58,.08)}.mp-access-card.is-pending{opacity:.72}.mp-card-photo{background:#e8edf5;min-width:0}.mp-card-photo img{width:100%;height:100%;object-fit:cover;display:block}.mp-card-photo span{height:100%;display:flex;align-items:center;justify-content:center;padding:20px;text-align:center;color:#647187}.mp-card-content{padding:18px 20px;display:flex;min-width:0;flex-direction:column}.mp-card-school{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#1558d6}.mp-card-content h3{font-size:20px;margin:3px 0 8px}.mp-card-text{font-size:10px;line-height:1.4;margin:0 0 10px;color:#4b576b}.mp-card-access{display:grid;grid-template-columns:minmax(0,1fr) 94px;align-items:end;gap:12px;margin-top:auto}.mp-card-access small,.mp-card-access strong,.mp-card-access b{display:block}.mp-card-access small{font-size:9px;color:#6c7788;margin-top:3px}.mp-card-access strong{font-size:9px;word-break:break-all}.mp-card-access b{font-size:20px;letter-spacing:.08em;color:#17233c}.mp-qr{width:92px;height:92px;background:#fff}.mp-qr img,.mp-qr canvas{max-width:100%;height:auto!important}.mp-card-content footer{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #e0e5ed;margin-top:10px;padding-top:6px;font-size:8px;color:#68758a}.mp-card-admin-actions{position:absolute;left:8px;top:8px;display:flex;gap:6px;align-items:center}.mp-card-admin-actions .button{min-height:24px;line-height:22px;font-size:10px}.mp-card-settings{position:sticky;top:48px}@media(max-width:1200px){.mp-access-card-grid{grid-template-columns:1fr}}@media print{
#adminmenumain,#wpadminbar,#wpfooter,.mp-header,.mp-filter-bar,.mp-card-settings,.mp-panel-title,.notice,.mp-card-summary,.mp-card-admin-actions{display:none!important}
html,body,#wpwrap,#wpcontent,#wpbody,#wpbody-content{margin:0!important;padding:0!important;width:297mm!important;background:#fff!important}
.mp-wrap,.mp-layout,.mp-panel,.mp-panel-wide{margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;display:block!important;max-width:none!important;width:297mm!important}
/* Cette règle doit rester après la remise en page des panneaux : elle évite que le panneau d’édition du texte soit réaffiché par .mp-panel. */
.mp-cards-page .mp-card-settings,.mp-cards-page .mp-filter-bar,.mp-cards-page .mp-header,.mp-cards-page .mp-card-summary,.mp-cards-page .mp-panel-title,.mp-cards-page .mp-card-admin-actions{display:none!important}
.mp-access-card-grid{display:grid!important;grid-template-columns:repeat(2,148.5mm)!important;grid-auto-rows:105mm!important;gap:0!important;width:297mm!important}
.mp-access-card{width:148.5mm!important;height:105mm!important;box-sizing:border-box!important;aspect-ratio:auto!important;break-inside:avoid!important;page-break-inside:avoid!important;border:.25mm dashed #9aa4b2!important;border-radius:0!important;box-shadow:none!important;display:grid!important;grid-template-columns:48mm 1fr!important;overflow:hidden!important}
.mp-access-card:nth-child(4n){break-after:page!important;page-break-after:always!important}
.mp-access-card:last-child{break-after:auto!important;page-break-after:auto!important}
.mp-card-photo{width:40mm!important;height:60mm!important;margin:auto!important;align-self:center!important;background:#e8edf5!important;border:.3mm solid #c7cfdb!important;overflow:hidden!important}
.mp-card-photo img{width:40mm!important;height:60mm!important;object-fit:cover!important;object-position:center!important}
.mp-card-photo span{width:40mm!important;height:60mm!important;box-sizing:border-box!important;padding:4mm!important}
.mp-card-content{padding:7mm 7mm 6mm 3mm!important;box-sizing:border-box!important}
.mp-card-content h3{font-size:14pt!important;margin:1mm 0 2mm!important}
.mp-card-school{font-size:8pt!important}
.mp-card-text{font-size:7.5pt!important;line-height:1.28!important;margin:0 0 2mm!important}
.mp-card-access{grid-template-columns:minmax(0,1fr) 27mm!important;gap:3mm!important}
.mp-card-access small{font-size:6.5pt!important}
.mp-card-access strong{font-size:6.5pt!important}
.mp-card-access b{font-size:14pt!important}
.mp-qr{width:27mm!important;height:27mm!important}
.mp-card-content footer{font-size:6pt!important;margin-top:2mm!important;padding-top:1.5mm!important}
@page{size:A4 landscape;margin:0}
}

.mp-production-filters{flex-wrap:wrap}.mp-production-filters label{min-width:260px}
.mp-production-thumb{width:70px;height:55px;object-fit:cover;border-radius:6px;border:1px solid #dfe5ef}
.mp-production-table th,.mp-production-table td{vertical-align:middle}
@media print{
.mp-production-page .mp-header button,.mp-production-page .mp-production-filters,#adminmenumain,#wpadminbar,#wpfooter{display:none!important}
.mp-production-page{margin:0!important;max-width:none!important}
.mp-production-page .mp-panel{border:0!important;box-shadow:none!important;padding:0!important}
.mp-production-table{font-size:9pt!important}
.mp-production-thumb{width:45px!important;height:35px!important}
@page{size:A4 landscape;margin:8mm}
}

.mp-order-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}
.mp-order-summary-grid>div{display:grid;gap:5px;padding:14px;border:1px solid #dfe5ef;border-radius:10px;background:#f8fafc}
.mp-order-summary-grid small{color:#647187}.mp-order-summary-grid strong{color:#17233c}.mp-order-summary-grid span{color:#596579}
.mp-order-items{display:grid;gap:14px}.mp-order-item{padding:16px;border:1px solid #dfe5ef;border-radius:12px}.mp-order-item h3{margin:0 0 6px}
.mp-order-photo-list{display:flex;flex-wrap:wrap;gap:12px}.mp-order-photo-list figure{width:150px;margin:0;border:1px solid #dfe5ef;border-radius:9px;overflow:hidden;background:#fff}
.mp-order-photo-list img{width:100%;height:110px;object-fit:cover}.mp-order-photo-list figcaption{padding:8px;font-size:12px}
@media(max-width:900px){.mp-order-summary-grid{grid-template-columns:1fr}}

.mp-payment-settings{display:grid;gap:12px}.mp-payment-setting-row{display:grid;grid-template-columns:1fr 140px;gap:12px;align-items:end;padding-top:8px;border-top:1px solid #e5eaf1}
.mp-payment-setting-row:first-of-type{border-top:0}.mp-payment-setting-row .mp-check{margin:0}
.mp-toggle-all{margin-right:5px}
@media(max-width:700px){.mp-payment-setting-row{grid-template-columns:1fr}}

.mp-orders-filters{flex-wrap:wrap}.mp-orders-filters label{min-width:260px}

.mp-delivery-page{max-width:none}.mp-delivery-slip{box-sizing:border-box;width:210mm;min-height:297mm;margin:0 auto 24px;padding:14mm;background:#fff;border:1px solid #dfe5ef;break-after:page;page-break-after:always}
.mp-delivery-slip:last-child{break-after:auto;page-break-after:auto}.mp-delivery-heading{text-align:center;border-bottom:2px solid #17233c;padding-bottom:8mm;margin-bottom:7mm}
.mp-delivery-school{font-size:28pt;font-weight:900;line-height:1.05;text-transform:uppercase}.mp-delivery-project{font-size:20pt;font-weight:800;color:#1558d6;margin-top:3mm}
.mp-delivery-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:4mm;margin-bottom:7mm}.mp-delivery-meta>div{display:grid;gap:1mm;padding:3mm;border:1px solid #dfe5ef;border-radius:3mm}
.mp-delivery-meta span,.mp-delivery-footer span{font-size:8pt;text-transform:uppercase;color:#647187}.mp-delivery-meta strong{font-size:11pt}
.mp-delivery-table{width:100%;border-collapse:collapse;font-size:10pt}.mp-delivery-table th,.mp-delivery-table td{border:1px solid #cfd8e6;padding:2.5mm;text-align:left;vertical-align:middle}
.mp-delivery-table th{background:#eef4ff}.mp-delivery-thumb{width:20mm;height:30mm;object-fit:cover;display:block}
.mp-delivery-footer{display:flex;justify-content:space-between;align-items:end;margin-top:8mm;padding-top:5mm;border-top:2px solid #17233c}
.mp-delivery-footer>div{display:grid;gap:1mm}.mp-delivery-total{text-align:right}.mp-delivery-total strong{font-size:22pt}.mp-delivery-toolbar{max-width:1200px;margin-left:auto;margin-right:auto}
@media print{
.mp-delivery-toolbar,#adminmenumain,#wpadminbar,#wpfooter{display:none!important}
html,body,#wpwrap,#wpcontent,#wpbody,#wpbody-content{margin:0!important;padding:0!important;background:#fff!important}
.mp-delivery-page{margin:0!important;padding:0!important}
.mp-delivery-slip{width:210mm!important;min-height:297mm!important;margin:0!important;padding:12mm!important;border:0!important}
@page{size:A4 portrait;margin:0}
}

.mp-order-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.mp-order-kpis>div{display:grid;gap:5px;padding:16px;border:1px solid #dfe5ef;border-radius:12px;background:#fff}.mp-order-kpis small{color:#647187;text-transform:uppercase;font-weight:700}.mp-order-kpis strong{font-size:22px;color:#17233c}.mp-order-status-form{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end;margin:18px 0;padding:16px;border:1px solid #dfe5ef;border-radius:12px;background:#f8fafc}.mp-order-status-form label{display:grid;gap:6px;font-weight:700}.mp-order-status-form select{min-height:40px}@media(max-width:900px){.mp-order-kpis{grid-template-columns:repeat(2,1fr)}.mp-order-status-form{grid-template-columns:1fr}}

.mp-school-filters{flex-wrap:wrap}.mp-school-filters label{min-width:220px}
.mp-school-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}.mp-school-kpis>div{display:grid;gap:6px;padding:16px;border:1px solid #dfe5ef;border-radius:12px;background:#fff}.mp-school-kpis small{color:#647187}.mp-school-kpis strong{font-size:20px;color:#17233c}
.mp-method-summary{margin-bottom:18px}.mp-school-bulk-actions{display:flex;gap:10px;margin:0 0 12px}.mp-school-orders-table tr.is-paid td{background:#effaf2}.mp-school-orders-table th,.mp-school-orders-table td{vertical-align:middle}
@media(max-width:1100px){.mp-school-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.mp-school-kpis{grid-template-columns:1fr 1fr}}
@media print{.mp-school-orders-page #adminmenumain,.mp-school-orders-page #wpadminbar,.mp-school-orders-page #wpfooter,.mp-school-orders-page .mp-header button,.mp-school-orders-page .mp-filter-bar,.mp-school-orders-page .mp-school-bulk-actions,.mp-school-orders-page input[type=checkbox]{display:none!important}.mp-school-orders-page{margin:0!important;max-width:none!important}.mp-school-orders-page .mp-panel{border:0!important;box-shadow:none!important;padding:0!important}.mp-school-orders-table{font-size:8pt!important}@page{size:A4 landscape;margin:8mm}}

.mp-school-access-box{display:grid;gap:12px;padding:16px;border:1px solid #ccd7e8;border-radius:10px;background:#f7f9fd}
.mp-school-access-box legend{font-weight:800;padding:0 6px}.mp-access-current{display:flex;gap:10px;align-items:center;padding:12px;background:#ecf8ef;border-radius:8px}
.mp-access-current .dashicons{color:#16813d}

.mp-school-header-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.mp-school-filters input[type=date]{min-width:145px}
.mp-project-summary{margin-top:18px}
@media print{.mp-school-header-actions,.mp-school-filters{display:none!important}}

.mp-admin-accounts-page .mp-panel{margin-top:18px}
@media print{.mp-admin-accounts-page .mp-filter-bar,.mp-admin-accounts-page .mp-school-header-actions,#adminmenumain,#wpadminbar,#wpfooter{display:none!important}.mp-admin-accounts-page{margin:0!important}}

.mp-settings-page{max-width:1180px}
.mp-settings-status{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:18px 0;padding:18px 20px;border-radius:14px;border:1px solid #dce3ee;background:#fff}
.mp-settings-status>div{display:grid;gap:4px}.mp-settings-status span{color:#667085}.mp-settings-status.is-ready{border-color:#9fd8b7;background:#f2fbf6}.mp-settings-status.is-waiting{background:#fffaf0;border-color:#ead5a3}
.mp-settings-badge{display:inline-flex!important;padding:7px 11px;border-radius:999px;background:#eef3fb;color:#294b87!important;font-weight:800}
.mp-settings-form{display:grid;gap:18px}.mp-settings-section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.mp-settings-section-title h2{margin-bottom:4px}.mp-settings-section-title p{margin-top:0;color:#667085}
.mp-switch-row{display:flex;align-items:center;gap:8px;padding:10px 13px;border-radius:10px;background:#eef4ff;font-weight:800;white-space:nowrap}
.mp-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.mp-settings-grid label{display:grid;gap:7px;font-weight:700}.mp-settings-grid input[type=text],.mp-settings-grid input[type=url],.mp-settings-grid input[type=password],.mp-settings-grid input[type=number],.mp-settings-grid textarea{width:100%;min-height:44px;border:1px solid #cbd5e1;border-radius:9px;padding:9px 11px}.mp-settings-grid textarea{min-height:180px}.mp-settings-grid small{font-weight:400;color:#667085}.mp-field-wide{grid-column:1/-1}
.mp-settings-checks{display:grid;align-content:center;gap:12px;padding:12px 0}.mp-settings-checks label{display:flex;align-items:center;gap:8px}
.mp-settings-info{margin-top:18px;padding:14px 16px;border-left:4px solid #d49c2c;background:#fff8e6;color:#6d4b00}
.mp-settings-actions{display:flex;justify-content:flex-end;padding-bottom:30px}
@media(max-width:700px){.mp-settings-grid{grid-template-columns:1fr}.mp-field-wide{grid-column:auto}.mp-settings-section-title,.mp-settings-status{align-items:flex-start;flex-direction:column}}
.mp-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.mp-clear-danger{border-color:#b32d2e!important;color:#b32d2e!important;background:#fff5f5!important;font-weight:700}
.mp-clear-danger:hover{background:#b32d2e!important;color:#fff!important}


/* ===== Écoles : formulaire paysage en haut, liste en dessous ===== */
.mp-schools-page {
    width: 100%;
    max-width: none;
}

.mp-school-create-panel,
.mp-school-list-panel {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    margin-top: 18px;
}

.mp-school-form-heading,
.mp-school-list-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 18px;
}

.mp-school-form-heading h2,
.mp-school-list-heading h2 {
    margin: 0 0 4px;
}

.mp-school-form-heading p,
.mp-school-list-heading p {
    margin: 0;
    color: #667085;
}

.mp-school-landscape-form {
    display: grid;
    grid-template-columns: minmax(280px, .9fr) minmax(460px, 1.5fr) minmax(300px, .9fr);
    gap: 20px;
    align-items: start;
}

.mp-school-form-column {
    min-width: 0;
    height: 100%;
    box-sizing: border-box;
    padding: 18px;
    border: 1px solid #dce3ee;
    border-radius: 14px;
    background: #f9fbfe;
}

.mp-school-form-column h3,
.mp-school-form-column legend {
    margin: 0 0 14px;
    color: #14213d;
    font-size: 17px;
    font-weight: 800;
}

.mp-school-main-fields > label,
.mp-school-access-box > label,
.mp-payment-settings > label {
    display: grid;
    gap: 6px;
    margin-bottom: 12px;
}

.mp-school-inline-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.mp-school-inline-fields label {
    display: grid;
    gap: 6px;
}

.mp-school-landscape-form input[type="text"],
.mp-school-landscape-form input[type="email"],
.mp-school-landscape-form input[type="url"],
.mp-school-landscape-form input[type="number"],
.mp-school-landscape-form textarea {
    width: 100%;
    box-sizing: border-box;
}

.mp-school-landscape-form textarea {
    min-height: 82px;
}

.mp-payment-setting-row {
    margin-bottom: 8px;
}

.mp-school-payment-pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.mp-school-payment-pair textarea {
    min-height: 94px;
}

.mp-school-form-actions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding-top: 2px;
}

.mp-schools-table {
    min-width: 1080px;
}

.mp-schools-table th:nth-child(1) { width: 16%; }
.mp-schools-table th:nth-child(2) { width: 18%; }
.mp-schools-table th:nth-child(3) { width: 24%; }
.mp-schools-table th:nth-child(4) { width: 16%; }
.mp-schools-table th:nth-child(5) { width: 8%; }
.mp-schools-table th:nth-child(6) { width: 18%; }

@media (max-width: 1280px) {
    .mp-school-landscape-form {
        grid-template-columns: 1fr 1.4fr;
    }

    .mp-school-access-box {
        grid-column: 1 / -1;
    }
}

@media (max-width: 820px) {
    .mp-school-landscape-form {
        grid-template-columns: 1fr;
    }

    .mp-school-access-box,
    .mp-school-form-actions {
        grid-column: auto;
    }

    .mp-school-inline-fields,
    .mp-school-payment-pair {
        grid-template-columns: 1fr;
    }

    .mp-school-form-heading,
    .mp-school-list-heading {
        flex-direction: column;
    }
}


/* ===== Projets et Classes : formulaire paysage en haut ===== */
.mp-projects-page,
.mp-classes-page {
    width: 100%;
    max-width: none;
}

.mp-project-create-panel,
.mp-project-list-panel,
.mp-class-create-panel,
.mp-class-list-panel {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    margin-top: 18px;
}

.mp-landscape-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 18px;
}

.mp-landscape-heading h2 {
    margin: 0 0 4px;
}

.mp-landscape-heading p {
    margin: 0;
    color: #667085;
}

.mp-project-landscape-form {
    display: grid;
    grid-template-columns: minmax(280px,.9fr) minmax(480px,1.5fr) minmax(280px,.8fr);
    gap: 20px;
    align-items: stretch;
}

.mp-landscape-form-block {
    min-width: 0;
    box-sizing: border-box;
    padding: 18px;
    border: 1px solid #dce3ee;
    border-radius: 14px;
    background: #f9fbfe;
}

.mp-landscape-form-block h3 {
    margin: 0 0 14px;
    color: #14213d;
    font-size: 17px;
}

.mp-landscape-form-block > label,
.mp-project-date-grid > label {
    display: grid;
    gap: 6px;
    margin-bottom: 12px;
}

.mp-project-date-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 12px;
}

.mp-project-landscape-form input,
.mp-project-landscape-form select,
.mp-class-landscape-form input,
.mp-class-landscape-form select {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
}

.mp-landscape-form-actions {
    grid-column: 1/-1;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.mp-class-landscape-form {
    display: grid;
    grid-template-columns: minmax(420px,1.5fr) minmax(320px,1fr) auto;
    gap: 18px;
    align-items: end;
    padding: 18px;
    border: 1px solid #dce3ee;
    border-radius: 14px;
    background: #f9fbfe;
}

.mp-class-project-field label,
.mp-class-name-field label {
    display: grid;
    gap: 6px;
}

.mp-class-actions {
    grid-column: auto;
    white-space: nowrap;
    padding: 0;
}

.mp-projects-table {
    min-width: 1180px;
}

.mp-classes-table {
    min-width: 1080px;
}

@media(max-width:1280px) {
    .mp-project-landscape-form {
        grid-template-columns: 1fr 1.3fr;
    }

    .mp-project-landscape-form .mp-landscape-form-block:nth-child(3) {
        grid-column: 1/-1;
    }

    .mp-class-landscape-form {
        grid-template-columns: 1.4fr 1fr;
    }

    .mp-class-actions {
        grid-column: 1/-1;
        justify-content: flex-end;
    }
}

@media(max-width:820px) {
    .mp-project-landscape-form,
    .mp-class-landscape-form,
    .mp-project-date-grid {
        grid-template-columns: 1fr;
    }

    .mp-project-landscape-form .mp-landscape-form-block:nth-child(3),
    .mp-landscape-form-actions,
    .mp-class-actions {
        grid-column: auto;
    }

    .mp-landscape-heading {
        flex-direction: column;
    }
}


/* ===== Lisibilité renforcée : champs, textes et boutons plus grands ===== */
.mp-wrap,
.mp-portal-content,
.mp-panel,
.mp-form,
.mp-table {
    font-size: 16px;
}

.mp-wrap h1,
.mp-portal-content h1 {
    font-size: 32px;
    line-height: 1.2;
}

.mp-wrap h2,
.mp-portal-content h2 {
    font-size: 23px;
    line-height: 1.25;
}

.mp-wrap h3,
.mp-portal-content h3,
.mp-form legend {
    font-size: 18px;
    line-height: 1.3;
}

.mp-form label,
.mp-panel label,
.mp-filter-bar label,
.mp-school-filters label {
    font-size: 16px;
    line-height: 1.4;
    font-weight: 650;
}

.mp-form input[type="text"],
.mp-form input[type="email"],
.mp-form input[type="url"],
.mp-form input[type="tel"],
.mp-form input[type="number"],
.mp-form input[type="date"],
.mp-form input[type="datetime-local"],
.mp-form input[type="password"],
.mp-form input[type="search"],
.mp-form select,
.mp-form textarea,
.mp-panel input[type="text"],
.mp-panel input[type="email"],
.mp-panel input[type="url"],
.mp-panel input[type="tel"],
.mp-panel input[type="number"],
.mp-panel input[type="date"],
.mp-panel input[type="datetime-local"],
.mp-panel input[type="password"],
.mp-panel input[type="search"],
.mp-panel select,
.mp-panel textarea,
.mp-filter-bar input,
.mp-filter-bar select,
.mp-school-filters input,
.mp-school-filters select {
    min-height: 48px;
    padding: 10px 13px;
    font-size: 17px;
    line-height: 1.35;
    border-radius: 9px;
}

.mp-form textarea,
.mp-panel textarea {
    min-height: 110px;
    resize: vertical;
}

.mp-form select,
.mp-panel select,
.mp-filter-bar select,
.mp-school-filters select {
    padding-right: 34px;
}

.mp-form input[type="checkbox"],
.mp-form input[type="radio"],
.mp-panel input[type="checkbox"],
.mp-panel input[type="radio"] {
    width: 20px;
    height: 20px;
    min-width: 20px;
}

.mp-check,
.mp-checks label,
.mp-payment-setting-row label {
    font-size: 16px;
}

.mp-form small,
.mp-panel small,
.mp-form .description,
.mp-panel .description {
    font-size: 14px;
    line-height: 1.45;
}

.mp-wrap .button,
.mp-portal-content .button,
.mp-form button,
.mp-panel button {
    min-height: 42px;
    padding: 8px 15px;
    font-size: 15px;
    line-height: 1.3;
    border-radius: 8px;
}

.mp-wrap .button.button-large,
.mp-portal-content .button.button-large,
.mp-form .button-large {
    min-height: 48px;
    padding: 10px 20px;
    font-size: 17px;
}

.mp-table th {
    padding: 13px 12px;
    font-size: 15px;
    line-height: 1.3;
}

.mp-table td {
    padding: 14px 12px;
    font-size: 15px;
    line-height: 1.45;
    vertical-align: middle;
}

.mp-table td strong {
    font-size: 16px;
}

.mp-table td small {
    font-size: 14px;
    line-height: 1.4;
}

.mp-badge {
    padding: 6px 10px;
    font-size: 13px;
    line-height: 1.2;
}

.mp-actions {
    gap: 8px;
}

.mp-actions .button,
.mp-actions button {
    min-height: 38px;
    padding: 7px 12px;
    font-size: 14px;
}

@media (max-width: 900px) {
    .mp-wrap,
    .mp-portal-content,
    .mp-panel,
    .mp-form,
    .mp-table {
        font-size: 15px;
    }

    .mp-form input,
    .mp-form select,
    .mp-form textarea,
    .mp-panel input,
    .mp-panel select,
    .mp-panel textarea {
        font-size: 16px;
    }
}


/* ===== Réglage intermédiaire de lisibilité ===== */
.mp-wrap,
.mp-portal-content,
.mp-panel,
.mp-form,
.mp-table {
    font-size: 15px;
}

.mp-wrap h1,
.mp-portal-content h1 {
    font-size: 28px;
}

.mp-wrap h2,
.mp-portal-content h2 {
    font-size: 21px;
}

.mp-wrap h3,
.mp-portal-content h3,
.mp-form legend {
    font-size: 17px;
}

.mp-form label,
.mp-panel label,
.mp-filter-bar label,
.mp-school-filters label {
    font-size: 15px;
}

.mp-form input[type="text"],
.mp-form input[type="email"],
.mp-form input[type="url"],
.mp-form input[type="tel"],
.mp-form input[type="number"],
.mp-form input[type="date"],
.mp-form input[type="datetime-local"],
.mp-form input[type="password"],
.mp-form input[type="search"],
.mp-form select,
.mp-form textarea,
.mp-panel input[type="text"],
.mp-panel input[type="email"],
.mp-panel input[type="url"],
.mp-panel input[type="tel"],
.mp-panel input[type="number"],
.mp-panel input[type="date"],
.mp-panel input[type="datetime-local"],
.mp-panel input[type="password"],
.mp-panel input[type="search"],
.mp-panel select,
.mp-panel textarea,
.mp-filter-bar input,
.mp-filter-bar select,
.mp-school-filters input,
.mp-school-filters select {
    min-height: 43px;
    padding: 8px 11px;
    font-size: 15.5px;
    border-radius: 8px;
}

.mp-form textarea,
.mp-panel textarea {
    min-height: 94px;
}

.mp-form input[type="checkbox"],
.mp-form input[type="radio"],
.mp-panel input[type="checkbox"],
.mp-panel input[type="radio"] {
    width: 18px;
    height: 18px;
    min-width: 18px;
}

.mp-form small,
.mp-panel small,
.mp-form .description,
.mp-panel .description {
    font-size: 13px;
}

.mp-wrap .button,
.mp-portal-content .button,
.mp-form button,
.mp-panel button {
    min-height: 38px;
    padding: 7px 13px;
    font-size: 14px;
}

.mp-wrap .button.button-large,
.mp-portal-content .button.button-large,
.mp-form .button-large {
    min-height: 43px;
    padding: 8px 17px;
    font-size: 15px;
}

.mp-table th {
    padding: 11px 10px;
    font-size: 14px;
}

.mp-table td {
    padding: 12px 10px;
    font-size: 14px;
}

.mp-table td strong {
    font-size: 15px;
}

.mp-table td small {
    font-size: 13px;
}

.mp-badge {
    padding: 5px 9px;
    font-size: 12px;
}

.mp-actions .button,
.mp-actions button {
    min-height: 35px;
    padding: 6px 10px;
    font-size: 13px;
}


/* ===== Formats et tarifs : création en haut, bibliothèque en dessous ===== */
.mp-catalog-page {
    width: 100%;
    max-width: none;
}

.mp-catalog-stack {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    width: 100%;
    margin-top: 18px;
}

.mp-catalog-create-panel,
.mp-catalog-library-panel {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
}

.mp-catalog-create-panel > h2,
.mp-catalog-library-panel > h2 {
    margin-top: 0;
}

.mp-catalog-landscape-form {
    display: grid;
    gap: 16px 18px;
    align-items: end;
    width: 100%;
}

.mp-article-landscape-form {
    grid-template-columns:
        minmax(220px, 1.2fr)
        minmax(260px, 1.5fr)
        minmax(190px, .9fr)
        minmax(155px, .7fr)
        minmax(155px, .7fr);
}

.mp-pack-landscape-form {
    grid-template-columns:
        minmax(220px, 1.15fr)
        minmax(260px, 1.35fr)
        minmax(220px, 1fr)
        minmax(145px, .65fr)
        minmax(145px, .65fr)
        minmax(155px, .7fr)
        minmax(155px, .7fr);
}

.mp-catalog-landscape-form > label {
    display: grid;
    gap: 6px;
    min-width: 0;
    margin: 0;
}

.mp-catalog-landscape-form > label textarea {
    min-height: 82px;
}

.mp-catalog-landscape-form .mp-check {
    align-self: center;
    margin: 0;
}

.mp-catalog-landscape-form > button {
    justify-self: end;
    align-self: center;
}

.mp-article-landscape-form > button,
.mp-pack-landscape-form > button {
    grid-column: 1 / -1;
}

.mp-catalog-library-panel .mp-filter-bar {
    margin: 14px 0 18px;
}

.mp-catalog-library-panel .mp-table-wrap {
    width: 100%;
}

.mp-catalog-library-panel .mp-table {
    min-width: 950px;
}

@media (max-width: 1500px) {
    .mp-article-landscape-form {
        grid-template-columns: repeat(3,minmax(220px,1fr));
    }

    .mp-pack-landscape-form {
        grid-template-columns: repeat(4,minmax(190px,1fr));
    }
}

@media (max-width: 1100px) {
    .mp-article-landscape-form,
    .mp-pack-landscape-form {
        grid-template-columns: repeat(2,minmax(220px,1fr));
    }
}

@media (max-width: 700px) {
    .mp-article-landscape-form,
    .mp-pack-landscape-form {
        grid-template-columns: 1fr;
    }

    .mp-article-landscape-form > button,
    .mp-pack-landscape-form > button {
        grid-column: auto;
        justify-self: stretch;
    }
}

.mp-article-image-field input[type=file]{min-height:43px;padding:7px;background:#fff}
.mp-article-library-thumb{display:block;width:78px;height:58px;object-fit:cover;border-radius:8px;border:1px solid #dce3ee}
.mp-no-article-image{font-size:12px;color:#667085}
@media print{
body.mp-standalone-admin .mp-portal-sidebar,
body.mp-standalone-admin .mp-portal-topbar,
body.mp-standalone-admin .mp-portal-mobile-toggle,
body.mp-standalone-admin .mp-portal-user,
body.mp-standalone-admin footer{display:none!important}
body.mp-standalone-admin .mp-admin-portal,
body.mp-standalone-admin .mp-portal-main,
body.mp-standalone-admin .mp-portal-content,
body.mp-standalone-admin .mp-cards-page{display:block!important;width:297mm!important;min-width:297mm!important;margin:0!important;padding:0!important;background:#fff!important}
}


/* ===== Vignettes bibliothèque : image entière et format homogène ===== */
.mp-article-library-thumb {
    width: 78px;
    height: 58px;
    padding: 3px;
    box-sizing: border-box;
    object-fit: contain;
    object-position: center;
    background: #fff;
}


/* ===== Bibliothèque : vignette entière, jamais coupée ===== */
.mp-catalog-library-panel .mp-article-library-thumb {
    display: block !important;
    width: 74px !important;
    height: 54px !important;
    padding: 4px !important;
    box-sizing: border-box !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: #fff !important;
}
