:root {
    --mcert-text:#463b3f; --mcert-muted:#8b7c81; --mcert-accent:#b96f82;
    --mcert-soft:#f3dfe3; --mcert-sage:#dde9df; --mcert-border:rgba(116,87,96,.14);
    --mcert-shadow:0 18px 50px rgba(95,67,78,.08);
}
.mcert-public,.mcert-manager{width:min(1180px,100%);margin:24px auto 64px;color:var(--mcert-text)}
.mcert-public *,.mcert-manager *{box-sizing:border-box}
.mcert-public__hero,.mcert-manager__top{margin-bottom:28px}
.mcert-manager__top{display:flex;align-items:end;justify-content:space-between;gap:24px}
.mcert-public h1,.mcert-manager h1{margin:6px 0 8px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.2rem,5vw,4.3rem);line-height:1;font-weight:500;letter-spacing:-.045em}
.mcert-public p,.mcert-manager p{color:var(--mcert-muted)}
.mcert-kicker{color:var(--mcert-accent);font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.mcert-filters{display:grid;grid-template-columns:minmax(250px,1fr) 220px 240px auto auto;gap:12px;align-items:end;padding:18px;border:1px solid var(--mcert-border);border-radius:22px;background:rgba(255,255,255,.82);box-shadow:var(--mcert-shadow)}
.mcert-field{display:grid;gap:7px}.mcert-field span,.mcert-upload__title{font-size:.82rem;font-weight:800}
.mcert-field input,.mcert-field select,.mcert-field textarea{width:100%;min-height:44px;border:1px solid var(--mcert-border);border-radius:14px;padding:10px 13px;background:#fff;color:var(--mcert-text);outline:none}
.mcert-field textarea{min-height:90px;resize:vertical}.mcert-field input:focus,.mcert-field select:focus,.mcert-field textarea:focus{border-color:rgba(185,111,130,.55);box-shadow:0 0 0 3px rgba(185,111,130,.08)}
.mcert-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:0;border-radius:999px;padding:10px 18px;background:var(--mcert-accent);color:#fff!important;text-decoration:none!important;font-weight:800;cursor:pointer;white-space:nowrap}
.mcert-button--soft{border:1px solid var(--mcert-border);background:#fff;color:var(--mcert-text)!important}
.mcert-count{margin:20px 4px 12px;color:var(--mcert-muted)}.mcert-list{display:grid;gap:12px}
.mcert-card{display:grid;grid-template-columns:62px 1fr;gap:18px;padding:20px;border:1px solid var(--mcert-border);border-radius:20px;background:rgba(255,255,255,.88);transition:transform .18s ease,box-shadow .18s ease}
.mcert-card:hover{transform:translateY(-2px);box-shadow:var(--mcert-shadow)}
.mcert-card__icon{width:54px;height:62px;display:grid;place-items:center;border-radius:14px;background:var(--mcert-soft);color:var(--mcert-accent);font-size:.74rem;font-weight:900}
.mcert-card__meta{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:6px}.mcert-card__meta span{padding:5px 9px;border-radius:999px;background:#f8edf0;color:var(--mcert-accent);font-size:.75rem;font-weight:800}
.mcert-card h2{margin:4px 0 12px;font-size:1.1rem;line-height:1.35}.mcert-details{display:flex;flex-wrap:wrap;gap:8px 22px;margin:0 0 10px}.mcert-details div{display:flex;gap:5px}.mcert-details dt{color:var(--mcert-muted)}.mcert-details dd{margin:0}.mcert-link{color:var(--mcert-accent);font-weight:800;text-decoration:none}
.mcert-empty{padding:28px;border:1px dashed var(--mcert-border);border-radius:20px;text-align:center;background:rgba(255,255,255,.55);color:var(--mcert-muted)}
.mcert-manager__grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.mcert-panel{padding:22px;border:1px solid var(--mcert-border);border-radius:22px;background:rgba(255,255,255,.9);box-shadow:var(--mcert-shadow)}
.mcert-panel h2{margin:0 0 16px;font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;font-weight:600}.mcert-form{display:grid;gap:16px}.mcert-form__row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mcert-upload{display:grid;gap:7px;padding:16px;border:1px dashed rgba(185,111,130,.35);border-radius:16px;background:#fffafb}.mcert-upload__hint{color:var(--mcert-muted);font-size:.82rem}.mcert-check{display:flex;gap:10px;align-items:center}.mcert-check input{width:18px;height:18px}.mcert-actions{display:flex;flex-wrap:wrap;gap:10px}
.mcert-users{display:grid;gap:8px;margin-bottom:18px}.mcert-user{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:#fffafb}.mcert-user strong,.mcert-user small{display:block}.mcert-user small{color:var(--mcert-muted)}
.mcert-mini-danger,.mcert-table__actions button{border:0;background:transparent;color:#aa5366;cursor:pointer}.mcert-access-form{display:grid;gap:10px;padding-top:16px;border-top:1px solid var(--mcert-border)}
.mcert-panel--list{margin-top:18px}.mcert-list-head{display:flex;justify-content:space-between;align-items:center}.mcert-list-head p{margin:0}.mcert-table-wrap{overflow-x:auto}.mcert-table{width:100%;border-collapse:collapse}.mcert-table th,.mcert-table td{padding:13px 10px;border-bottom:1px solid var(--mcert-border);text-align:left;vertical-align:middle}.mcert-table th{color:var(--mcert-muted);font-size:.78rem;text-transform:uppercase}.mcert-table td small{display:block;margin-top:3px;color:var(--mcert-muted)}
.mcert-table__actions{display:flex;gap:12px;justify-content:flex-end;white-space:nowrap}.mcert-table__actions a{color:var(--mcert-accent);text-decoration:none;font-weight:700}.mcert-table__actions form{margin:0}
.mcert-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.74rem;font-weight:800}.mcert-status.is-active{background:var(--mcert-sage);color:#5c705f}.mcert-status.is-hidden{background:#eee8ea;color:#87777c}
.mcert-notice{margin-bottom:16px;padding:13px 16px;border-radius:14px;font-weight:700}.mcert-notice.is-success{background:var(--mcert-sage);color:#536759}.mcert-notice.is-error{background:#f8e2e6;color:#9a4b5d}
@media(max-width:980px){.mcert-filters{grid-template-columns:1fr 1fr}.mcert-field--grow{grid-column:1/-1}.mcert-manager__grid{grid-template-columns:1fr}.mcert-panel--access{order:-1}}
@media(max-width:620px){.mcert-manager__top{align-items:stretch;flex-direction:column}.mcert-filters,.mcert-form__row{grid-template-columns:1fr}.mcert-field--grow{grid-column:auto}.mcert-card{grid-template-columns:1fr}.mcert-panel{padding:16px}}


/* =========================================================
   v0.2.0 — публичная страница без двойного H1
   ========================================================= */

.mcert-public-page .mb-entry-title {
    display: none;
}

.mcert-public-page .mb-content-shell {
    padding-top: 8px;
}

/* =========================================================
   Сертификаты качества в карточке товара
   ========================================================= */

.mcert-product-docs {
    width: min(1120px, calc(100% - 32px));
    margin: 34px auto 38px;
    padding-top: 10px;
}

.mcert-product-docs__title {
    margin: 0 0 22px;
    color: var(--mcert-text);
    font-family: inherit;
    font-size: clamp(1.35rem, 2.4vw, 1.75rem);
    font-weight: 700;
}

.mcert-product-docs__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px 34px;
}

.mcert-product-doc {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    min-width: 0;
}

.mcert-product-doc__preview {
    display: block;
    width: 88px;
    height: 116px;
    overflow: hidden;
    border: 1px solid var(--mcert-border);
    border-radius: 6px;
    background: #fff;
    text-decoration: none;
    box-shadow: 0 5px 15px rgba(95,67,78,.06);
}

.mcert-product-doc__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #fff;
}

.mcert-product-doc__placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    background:
        linear-gradient(145deg, #fff 0 70%, #f5e6e9 70% 100%);
    color: var(--mcert-accent);
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .06em;
}

.mcert-product-doc__copy {
    min-width: 0;
    padding-top: 3px;
}

.mcert-product-doc__copy h3 {
    margin: 0 0 7px;
    font-family: inherit;
    font-size: .9rem;
    font-weight: 600;
    line-height: 1.35;
}

.mcert-product-doc__copy h3 a {
    color: var(--mcert-text);
    text-decoration: none;
}

.mcert-product-doc__copy h3 a:hover {
    color: var(--mcert-accent);
}

.mcert-product-doc__more {
    color: var(--mcert-accent);
    text-decoration: none;
    font-size: .84rem;
}

.mcert-product-doc__more:hover {
    text-decoration: underline;
}

@media (max-width: 980px) {
    .mcert-product-docs__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .mcert-product-docs {
        width: calc(100% - 24px);
    }

    .mcert-product-docs__grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .mcert-product-doc {
        grid-template-columns: 72px minmax(0, 1fr);
    }

    .mcert-product-doc__preview {
        width: 72px;
        height: 96px;
    }
}


/* =========================================================
   v0.3.0 — popup документов + OCR
   ========================================================= */
.mcert-preview-dialog{
    width:min(1100px,calc(100vw - 28px));
    height:min(900px,calc(100vh - 28px));
    padding:0;
    border:0;
    border-radius:22px;
    overflow:hidden;
    background:#fffaf8;
    box-shadow:0 28px 100px rgba(54,38,44,.28)
}
.mcert-preview-dialog::backdrop{background:rgba(45,32,37,.46);backdrop-filter:blur(3px)}
.mcert-preview-dialog__head,.mcert-preview-dialog__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--mcert-border);background:#fff}
.mcert-preview-dialog__foot{border-top:1px solid var(--mcert-border);border-bottom:0;justify-content:flex-end}
.mcert-preview-dialog__head button{width:36px;height:36px;border:0;border-radius:50%;background:var(--mcert-soft);color:var(--mcert-text);font-size:1.25rem;cursor:pointer}
.mcert-preview-dialog__body{height:calc(100% - 108px);display:grid;place-items:center;background:#eee8ea;overflow:auto}
.mcert-preview-dialog__image{display:block;max-width:100%;max-height:100%;object-fit:contain}
.mcert-preview-dialog__frame{display:block;width:100%;height:100%;border:0;background:#fff}
.mcert-preview-dialog__foot a{color:var(--mcert-accent);font-weight:800;text-decoration:none}
.mcert-ocr-status{min-height:18px;margin-top:4px;font-size:.78rem;font-weight:700}
.mcert-ocr-status.is-working{color:var(--mcert-muted)}
.mcert-ocr-status.is-success{color:#5c705f}
.mcert-ocr-status.is-error{color:#9a4b5d}


/* v0.3.3 — бренды WordPress + добавление из формы */
.mcert-brand-field{display:grid;gap:7px}.mcert-brand-field>span{font-weight:800;font-size:.82rem}.mcert-brand-field__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.mcert-brand-field__row select{width:100%;min-width:0}.mcert-secondary-button,.mcert-primary-small,.mcert-link-button{min-height:42px;padding:8px 12px;border-radius:12px;font:inherit;font-weight:800;cursor:pointer}.mcert-secondary-button{border:1px solid var(--mcert-border);background:#fff;color:var(--mcert-text)}.mcert-primary-small{border:1px solid var(--mcert-accent);background:var(--mcert-accent);color:#fff}.mcert-link-button{border:0;background:transparent;color:var(--mcert-muted)}.mcert-brand-add{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:10px;border:1px dashed var(--mcert-border);border-radius:13px;background:rgba(243,223,227,.12)}.mcert-brand-add[hidden]{display:none}.mcert-brand-add input{width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--mcert-border);border-radius:11px;background:#fff}.mcert-brand-add small{grid-column:1/-1;color:var(--mcert-muted)}.mcert-brand-add small.is-error{color:#9a4b5d}@media(max-width:720px){.mcert-brand-field__row,.mcert-brand-add{grid-template-columns:1fr}.mcert-brand-add small{grid-column:1}}


/* v0.3.4 — действия администратора на публичной карточке */
.mcert-card__actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px 14px;
    margin-top:10px;
}
.mcert-card__actions .mcert-link,
.mcert-card__edit,
.mcert-card__delete button{
    font-size:.82rem;
    font-weight:800;
}
.mcert-card__edit{
    color:var(--mcert-text);
    text-decoration:none;
}
.mcert-card__edit:hover{
    color:var(--mcert-accent);
}
.mcert-card__delete{
    display:inline-flex;
    margin:0;
}
.mcert-card__delete button{
    padding:0;
    border:0;
    background:transparent;
    color:#a64e5d;
    cursor:pointer;
}
.mcert-card__delete button:hover{
    text-decoration:underline;
}
@media(max-width:560px){
    .mcert-card__actions{
        align-items:flex-start;
        flex-direction:column;
        gap:7px;
    }
}


/* =========================================================
   v0.3.5 — Excel preview
   ========================================================= */
.mcert-excel-preview{
    width:100%;
    height:100%;
    display:flex;
    flex-direction:column;
    min-width:0;
    background:#fff;
}
.mcert-excel-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    padding:10px 12px;
    border-bottom:1px solid var(--mcert-border);
    background:#fffaf8;
}
.mcert-excel-tabs button{
    padding:7px 10px;
    border:1px solid var(--mcert-border);
    border-radius:10px;
    background:#fff;
    color:var(--mcert-text);
    cursor:pointer;
    font:inherit;
    font-size:.78rem;
    font-weight:750;
}
.mcert-excel-tabs button.is-active{
    border-color:var(--mcert-accent);
    background:var(--mcert-soft);
    color:var(--mcert-accent);
}
.mcert-excel-table-wrap{
    flex:1 1 auto;
    min-width:0;
    overflow:auto;
    padding:12px;
}
.mcert-excel-table{
    border-collapse:collapse;
    min-width:max-content;
    max-width:none;
    background:#fff;
    font-size:.78rem;
}
.mcert-excel-table th,.mcert-excel-table td{
    max-width:320px;
    padding:7px 9px;
    border:1px solid #e7dfe1;
    text-align:left;
    vertical-align:top;
    white-space:pre-wrap;
    overflow-wrap:anywhere;
}
.mcert-excel-table th{
    position:sticky;
    top:0;
    z-index:1;
    background:#f9f2f4;
    font-weight:800;
}
.mcert-excel-loading{
    margin:auto;
    padding:20px;
    color:var(--mcert-muted);
    font-weight:750;
}
.mcert-excel-loading.is-error{color:#9a4b5d}
.mcert-excel-note{
    padding:10px 0 2px;
    color:var(--mcert-muted);
    font-size:.76rem;
}


/* v0.3.6 — XLSX, состоящие из вставленных сканов */
.mcert-excel-image-preview{
    display:grid;
    gap:16px;
    width:min(900px,100%);
    margin:0 auto;
    padding:14px;
}
.mcert-excel-image-preview img{
    display:block;
    width:100%;
    height:auto;
    border-radius:10px;
    background:#fff;
    box-shadow:0 6px 22px rgba(45,32,37,.08);
}


/* =========================================================
   v0.3.7 — действия и preview в менеджере
   ========================================================= */
.mcert-manager-preview,
.mcert-manager-download{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:7px 10px;
    border-radius:10px;
    text-decoration:none;
    font-size:.78rem;
    font-weight:800;
}
.mcert-manager-preview{
    border:1px solid rgba(185,111,130,.28);
    background:rgba(243,223,227,.35);
    color:var(--mcert-accent);
}
.mcert-manager-download{
    border:1px solid var(--mcert-border);
    background:#fff;
    color:var(--mcert-text);
}
.mcert-preview-loading{
    padding:24px;
    color:var(--mcert-muted);
    text-align:center;
}


/* v0.3.8 — preview именно в управлении сертификатами */
.mcert-table__actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:7px;
}
.mcert-table__actions a,
.mcert-table__actions button{
    font-size:.76rem;
    font-weight:800;
    white-space:nowrap;
}
.mcert-manager-preview{color:var(--mcert-accent)}
.mcert-manager-download,
.mcert-manager-edit{color:var(--mcert-text)}
.mcert-table__actions form{margin:0}
@media(max-width:760px){
    .mcert-table__actions{justify-content:flex-start}
}
